[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-includes/build/routes/font-list/ -> content.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 __require = /* @__PURE__ */ ((x2) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x2, {
   8    get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
   9  }) : x2)(function(x2) {
  10    if (typeof require !== "undefined") return require.apply(this, arguments);
  11    throw Error('Dynamic require of "' + x2 + '" is not supported');
  12  });
  13  var __commonJS = (cb, mod) => function __require4() {
  14    return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
  15  };
  16  var __export = (target, all) => {
  17    for (var name2 in all)
  18      __defProp(target, name2, { get: all[name2], enumerable: true });
  19  };
  20  var __copyProps = (to, from, except, desc) => {
  21    if (from && typeof from === "object" || typeof from === "function") {
  22      for (let key of __getOwnPropNames(from))
  23        if (!__hasOwnProp.call(to, key) && key !== except)
  24          __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  25    }
  26    return to;
  27  };
  28  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  29    // If the importer is in node compatibility mode or this is not an ESM
  30    // file that has been converted to a CommonJS file using a Babel-
  31    // compatible transform (i.e. "__esModule" has not been set), then set
  32    // "default" to the CommonJS "module.exports" for node compatibility.
  33    isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  34    mod
  35  ));
  36  
  37  // package-external:@wordpress/i18n
  38  var require_i18n = __commonJS({
  39    "package-external:@wordpress/i18n"(exports, module) {
  40      module.exports = window.wp.i18n;
  41    }
  42  });
  43  
  44  // vendor-external:react
  45  var require_react = __commonJS({
  46    "vendor-external:react"(exports, module) {
  47      module.exports = window.React;
  48    }
  49  });
  50  
  51  // vendor-external:react/jsx-runtime
  52  var require_jsx_runtime = __commonJS({
  53    "vendor-external:react/jsx-runtime"(exports, module) {
  54      module.exports = window.ReactJSXRuntime;
  55    }
  56  });
  57  
  58  // vendor-external:react-dom
  59  var require_react_dom = __commonJS({
  60    "vendor-external:react-dom"(exports, module) {
  61      module.exports = window.ReactDOM;
  62    }
  63  });
  64  
  65  // package-external:@wordpress/element
  66  var require_element = __commonJS({
  67    "package-external:@wordpress/element"(exports, module) {
  68      module.exports = window.wp.element;
  69    }
  70  });
  71  
  72  // package-external:@wordpress/primitives
  73  var require_primitives = __commonJS({
  74    "package-external:@wordpress/primitives"(exports, module) {
  75      module.exports = window.wp.primitives;
  76    }
  77  });
  78  
  79  // 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
  80  var require_use_sync_external_store_shim_development = __commonJS({
  81    "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) {
  82      "use strict";
  83      (function() {
  84        function is(x2, y2) {
  85          return x2 === y2 && (0 !== x2 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2;
  86        }
  87        function useSyncExternalStore$2(subscribe, getSnapshot) {
  88          didWarnOld18Alpha || void 0 === React169.startTransition || (didWarnOld18Alpha = true, console.error(
  89            "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."
  90          ));
  91          var value = getSnapshot();
  92          if (!didWarnUncachedGetSnapshot) {
  93            var cachedValue = getSnapshot();
  94            objectIs(value, cachedValue) || (console.error(
  95              "The result of getSnapshot should be cached to avoid an infinite loop"
  96            ), didWarnUncachedGetSnapshot = true);
  97          }
  98          cachedValue = useState50({
  99            inst: { value, getSnapshot }
 100          });
 101          var inst = cachedValue[0].inst, forceUpdate = cachedValue[1];
 102          useLayoutEffect5(
 103            function() {
 104              inst.value = value;
 105              inst.getSnapshot = getSnapshot;
 106              checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 107            },
 108            [subscribe, value, getSnapshot]
 109          );
 110          useEffect33(
 111            function() {
 112              checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 113              return subscribe(function() {
 114                checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 115              });
 116            },
 117            [subscribe]
 118          );
 119          useDebugValue2(value);
 120          return value;
 121        }
 122        function checkIfSnapshotChanged(inst) {
 123          var latestGetSnapshot = inst.getSnapshot;
 124          inst = inst.value;
 125          try {
 126            var nextValue = latestGetSnapshot();
 127            return !objectIs(inst, nextValue);
 128          } catch (error2) {
 129            return true;
 130          }
 131        }
 132        function useSyncExternalStore$1(subscribe, getSnapshot) {
 133          return getSnapshot();
 134        }
 135        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
 136        var React169 = require_react(), objectIs = "function" === typeof Object.is ? Object.is : is, useState50 = React169.useState, useEffect33 = React169.useEffect, useLayoutEffect5 = React169.useLayoutEffect, useDebugValue2 = React169.useDebugValue, didWarnOld18Alpha = false, didWarnUncachedGetSnapshot = false, shim = "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2;
 137        exports.useSyncExternalStore = void 0 !== React169.useSyncExternalStore ? React169.useSyncExternalStore : shim;
 138        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
 139      })();
 140    }
 141  });
 142  
 143  // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/index.js
 144  var require_shim = __commonJS({
 145    "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/index.js"(exports, module) {
 146      "use strict";
 147      if (false) {
 148        module.exports = null;
 149      } else {
 150        module.exports = require_use_sync_external_store_shim_development();
 151      }
 152    }
 153  });
 154  
 155  // 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
 156  var require_with_selector_development = __commonJS({
 157    "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) {
 158      "use strict";
 159      (function() {
 160        function is(x2, y2) {
 161          return x2 === y2 && (0 !== x2 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2;
 162        }
 163        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
 164        var React169 = require_react(), shim = require_shim(), objectIs = "function" === typeof Object.is ? Object.is : is, useSyncExternalStore3 = shim.useSyncExternalStore, useRef66 = React169.useRef, useEffect33 = React169.useEffect, useMemo62 = React169.useMemo, useDebugValue2 = React169.useDebugValue;
 165        exports.useSyncExternalStoreWithSelector = function(subscribe, getSnapshot, getServerSnapshot, selector, isEqual) {
 166          var instRef = useRef66(null);
 167          if (null === instRef.current) {
 168            var inst = { hasValue: false, value: null };
 169            instRef.current = inst;
 170          } else inst = instRef.current;
 171          instRef = useMemo62(
 172            function() {
 173              function memoizedSelector(nextSnapshot) {
 174                if (!hasMemo) {
 175                  hasMemo = true;
 176                  memoizedSnapshot = nextSnapshot;
 177                  nextSnapshot = selector(nextSnapshot);
 178                  if (void 0 !== isEqual && inst.hasValue) {
 179                    var currentSelection = inst.value;
 180                    if (isEqual(currentSelection, nextSnapshot))
 181                      return memoizedSelection = currentSelection;
 182                  }
 183                  return memoizedSelection = nextSnapshot;
 184                }
 185                currentSelection = memoizedSelection;
 186                if (objectIs(memoizedSnapshot, nextSnapshot))
 187                  return currentSelection;
 188                var nextSelection = selector(nextSnapshot);
 189                if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))
 190                  return memoizedSnapshot = nextSnapshot, currentSelection;
 191                memoizedSnapshot = nextSnapshot;
 192                return memoizedSelection = nextSelection;
 193              }
 194              var hasMemo = false, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot;
 195              return [
 196                function() {
 197                  return memoizedSelector(getSnapshot());
 198                },
 199                null === maybeGetServerSnapshot ? void 0 : function() {
 200                  return memoizedSelector(maybeGetServerSnapshot());
 201                }
 202              ];
 203            },
 204            [getSnapshot, getServerSnapshot, selector, isEqual]
 205          );
 206          var value = useSyncExternalStore3(subscribe, instRef[0], instRef[1]);
 207          useEffect33(
 208            function() {
 209              inst.hasValue = true;
 210              inst.value = value;
 211            },
 212            [value]
 213          );
 214          useDebugValue2(value);
 215          return value;
 216        };
 217        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
 218      })();
 219    }
 220  });
 221  
 222  // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/with-selector.js
 223  var require_with_selector = __commonJS({
 224    "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/with-selector.js"(exports, module) {
 225      "use strict";
 226      if (false) {
 227        module.exports = null;
 228      } else {
 229        module.exports = require_with_selector_development();
 230      }
 231    }
 232  });
 233  
 234  // package-external:@wordpress/compose
 235  var require_compose = __commonJS({
 236    "package-external:@wordpress/compose"(exports, module) {
 237      module.exports = window.wp.compose;
 238    }
 239  });
 240  
 241  // package-external:@wordpress/theme
 242  var require_theme = __commonJS({
 243    "package-external:@wordpress/theme"(exports, module) {
 244      module.exports = window.wp.theme;
 245    }
 246  });
 247  
 248  // package-external:@wordpress/private-apis
 249  var require_private_apis = __commonJS({
 250    "package-external:@wordpress/private-apis"(exports, module) {
 251      module.exports = window.wp.privateApis;
 252    }
 253  });
 254  
 255  // package-external:@wordpress/components
 256  var require_components = __commonJS({
 257    "package-external:@wordpress/components"(exports, module) {
 258      module.exports = window.wp.components;
 259    }
 260  });
 261  
 262  // package-external:@wordpress/editor
 263  var require_editor = __commonJS({
 264    "package-external:@wordpress/editor"(exports, module) {
 265      module.exports = window.wp.editor;
 266    }
 267  });
 268  
 269  // package-external:@wordpress/core-data
 270  var require_core_data = __commonJS({
 271    "package-external:@wordpress/core-data"(exports, module) {
 272      module.exports = window.wp.coreData;
 273    }
 274  });
 275  
 276  // package-external:@wordpress/data
 277  var require_data = __commonJS({
 278    "package-external:@wordpress/data"(exports, module) {
 279      module.exports = window.wp.data;
 280    }
 281  });
 282  
 283  // package-external:@wordpress/blocks
 284  var require_blocks = __commonJS({
 285    "package-external:@wordpress/blocks"(exports, module) {
 286      module.exports = window.wp.blocks;
 287    }
 288  });
 289  
 290  // package-external:@wordpress/block-editor
 291  var require_block_editor = __commonJS({
 292    "package-external:@wordpress/block-editor"(exports, module) {
 293      module.exports = window.wp.blockEditor;
 294    }
 295  });
 296  
 297  // package-external:@wordpress/style-engine
 298  var require_style_engine = __commonJS({
 299    "package-external:@wordpress/style-engine"(exports, module) {
 300      module.exports = window.wp.styleEngine;
 301    }
 302  });
 303  
 304  // node_modules/.store/fast-deep-equal@3.1.3-Dk0kpzcWCOUHE1bkOO2LLA/node_modules/fast-deep-equal/es6/index.js
 305  var require_es6 = __commonJS({
 306    "node_modules/.store/fast-deep-equal@3.1.3-Dk0kpzcWCOUHE1bkOO2LLA/node_modules/fast-deep-equal/es6/index.js"(exports, module) {
 307      "use strict";
 308      module.exports = function equal(a, b) {
 309        if (a === b) return true;
 310        if (a && b && typeof a == "object" && typeof b == "object") {
 311          if (a.constructor !== b.constructor) return false;
 312          var length, i, keys;
 313          if (Array.isArray(a)) {
 314            length = a.length;
 315            if (length != b.length) return false;
 316            for (i = length; i-- !== 0; )
 317              if (!equal(a[i], b[i])) return false;
 318            return true;
 319          }
 320          if (a instanceof Map && b instanceof Map) {
 321            if (a.size !== b.size) return false;
 322            for (i of a.entries())
 323              if (!b.has(i[0])) return false;
 324            for (i of a.entries())
 325              if (!equal(i[1], b.get(i[0]))) return false;
 326            return true;
 327          }
 328          if (a instanceof Set && b instanceof Set) {
 329            if (a.size !== b.size) return false;
 330            for (i of a.entries())
 331              if (!b.has(i[0])) return false;
 332            return true;
 333          }
 334          if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
 335            length = a.length;
 336            if (length != b.length) return false;
 337            for (i = length; i-- !== 0; )
 338              if (a[i] !== b[i]) return false;
 339            return true;
 340          }
 341          if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
 342          if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
 343          if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
 344          keys = Object.keys(a);
 345          length = keys.length;
 346          if (length !== Object.keys(b).length) return false;
 347          for (i = length; i-- !== 0; )
 348            if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
 349          for (i = length; i-- !== 0; ) {
 350            var key = keys[i];
 351            if (!equal(a[key], b[key])) return false;
 352          }
 353          return true;
 354        }
 355        return a !== a && b !== b;
 356      };
 357    }
 358  });
 359  
 360  // node_modules/.store/deepmerge@4.3.1-130J0Lhhc9LM1JWY-5q3ww/node_modules/deepmerge/dist/cjs.js
 361  var require_cjs = __commonJS({
 362    "node_modules/.store/deepmerge@4.3.1-130J0Lhhc9LM1JWY-5q3ww/node_modules/deepmerge/dist/cjs.js"(exports, module) {
 363      "use strict";
 364      var isMergeableObject = function isMergeableObject2(value) {
 365        return isNonNullObject(value) && !isSpecial(value);
 366      };
 367      function isNonNullObject(value) {
 368        return !!value && typeof value === "object";
 369      }
 370      function isSpecial(value) {
 371        var stringValue = Object.prototype.toString.call(value);
 372        return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value);
 373      }
 374      var canUseSymbol = typeof Symbol === "function" && Symbol.for;
 375      var REACT_ELEMENT_TYPE = canUseSymbol ? /* @__PURE__ */ Symbol.for("react.element") : 60103;
 376      function isReactElement(value) {
 377        return value.$$typeof === REACT_ELEMENT_TYPE;
 378      }
 379      function emptyTarget(val) {
 380        return Array.isArray(val) ? [] : {};
 381      }
 382      function cloneUnlessOtherwiseSpecified(value, options) {
 383        return options.clone !== false && options.isMergeableObject(value) ? deepmerge2(emptyTarget(value), value, options) : value;
 384      }
 385      function defaultArrayMerge(target, source, options) {
 386        return target.concat(source).map(function(element) {
 387          return cloneUnlessOtherwiseSpecified(element, options);
 388        });
 389      }
 390      function getMergeFunction(key, options) {
 391        if (!options.customMerge) {
 392          return deepmerge2;
 393        }
 394        var customMerge = options.customMerge(key);
 395        return typeof customMerge === "function" ? customMerge : deepmerge2;
 396      }
 397      function getEnumerableOwnPropertySymbols(target) {
 398        return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
 399          return Object.propertyIsEnumerable.call(target, symbol);
 400        }) : [];
 401      }
 402      function getKeys(target) {
 403        return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target));
 404      }
 405      function propertyIsOnObject(object, property) {
 406        try {
 407          return property in object;
 408        } catch (_) {
 409          return false;
 410        }
 411      }
 412      function propertyIsUnsafe(target, key) {
 413        return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key));
 414      }
 415      function mergeObject(target, source, options) {
 416        var destination = {};
 417        if (options.isMergeableObject(target)) {
 418          getKeys(target).forEach(function(key) {
 419            destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
 420          });
 421        }
 422        getKeys(source).forEach(function(key) {
 423          if (propertyIsUnsafe(target, key)) {
 424            return;
 425          }
 426          if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
 427            destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
 428          } else {
 429            destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
 430          }
 431        });
 432        return destination;
 433      }
 434      function deepmerge2(target, source, options) {
 435        options = options || {};
 436        options.arrayMerge = options.arrayMerge || defaultArrayMerge;
 437        options.isMergeableObject = options.isMergeableObject || isMergeableObject;
 438        options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
 439        var sourceIsArray = Array.isArray(source);
 440        var targetIsArray = Array.isArray(target);
 441        var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
 442        if (!sourceAndTargetTypesMatch) {
 443          return cloneUnlessOtherwiseSpecified(source, options);
 444        } else if (sourceIsArray) {
 445          return options.arrayMerge(target, source, options);
 446        } else {
 447          return mergeObject(target, source, options);
 448        }
 449      }
 450      deepmerge2.all = function deepmergeAll(array, options) {
 451        if (!Array.isArray(array)) {
 452          throw new Error("first argument should be an array");
 453        }
 454        return array.reduce(function(prev, next) {
 455          return deepmerge2(prev, next, options);
 456        }, {});
 457      };
 458      var deepmerge_1 = deepmerge2;
 459      module.exports = deepmerge_1;
 460    }
 461  });
 462  
 463  // package-external:@wordpress/keycodes
 464  var require_keycodes = __commonJS({
 465    "package-external:@wordpress/keycodes"(exports, module) {
 466      module.exports = window.wp.keycodes;
 467    }
 468  });
 469  
 470  // package-external:@wordpress/api-fetch
 471  var require_api_fetch = __commonJS({
 472    "package-external:@wordpress/api-fetch"(exports, module) {
 473      module.exports = window.wp.apiFetch;
 474    }
 475  });
 476  
 477  // package-external:@wordpress/date
 478  var require_date = __commonJS({
 479    "package-external:@wordpress/date"(exports, module) {
 480      module.exports = window.wp.date;
 481    }
 482  });
 483  
 484  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useRenderElement.mjs
 485  var React4 = __toESM(require_react(), 1);
 486  
 487  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useRefWithInit.mjs
 488  var React = __toESM(require_react(), 1);
 489  var UNINITIALIZED = {};
 490  function useRefWithInit(init, initArg) {
 491    const ref = React.useRef(UNINITIALIZED);
 492    if (ref.current === UNINITIALIZED) {
 493      ref.current = init(initArg);
 494    }
 495    return ref;
 496  }
 497  
 498  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useMergedRefs.mjs
 499  function useMergedRefs(a, b, c2, d) {
 500    const forkRef = useRefWithInit(createForkRef).current;
 501    if (didChange(forkRef, a, b, c2, d)) {
 502      update(forkRef, [a, b, c2, d]);
 503    }
 504    return forkRef.callback;
 505  }
 506  function useMergedRefsN(refs) {
 507    const forkRef = useRefWithInit(createForkRef).current;
 508    if (didChangeN(forkRef, refs)) {
 509      update(forkRef, refs);
 510    }
 511    return forkRef.callback;
 512  }
 513  function createForkRef() {
 514    return {
 515      callback: null,
 516      cleanup: null,
 517      refs: []
 518    };
 519  }
 520  function didChange(forkRef, a, b, c2, d) {
 521    return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c2 || forkRef.refs[3] !== d;
 522  }
 523  function didChangeN(forkRef, newRefs) {
 524    return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index2) => ref !== newRefs[index2]);
 525  }
 526  function update(forkRef, refs) {
 527    forkRef.refs = refs;
 528    if (refs.every((ref) => ref == null)) {
 529      forkRef.callback = null;
 530      return;
 531    }
 532    forkRef.callback = (instance) => {
 533      if (forkRef.cleanup) {
 534        forkRef.cleanup();
 535        forkRef.cleanup = null;
 536      }
 537      if (instance != null) {
 538        const cleanupCallbacks = Array(refs.length).fill(null);
 539        for (let i = 0; i < refs.length; i += 1) {
 540          const ref = refs[i];
 541          if (ref == null) {
 542            continue;
 543          }
 544          switch (typeof ref) {
 545            case "function": {
 546              const refCleanup = ref(instance);
 547              if (typeof refCleanup === "function") {
 548                cleanupCallbacks[i] = refCleanup;
 549              }
 550              break;
 551            }
 552            case "object": {
 553              ref.current = instance;
 554              break;
 555            }
 556            default:
 557          }
 558        }
 559        forkRef.cleanup = () => {
 560          for (let i = 0; i < refs.length; i += 1) {
 561            const ref = refs[i];
 562            if (ref == null) {
 563              continue;
 564            }
 565            switch (typeof ref) {
 566              case "function": {
 567                const cleanupCallback = cleanupCallbacks[i];
 568                if (typeof cleanupCallback === "function") {
 569                  cleanupCallback();
 570                } else {
 571                  void ref(null);
 572                }
 573                break;
 574              }
 575              case "object": {
 576                ref.current = null;
 577                break;
 578              }
 579              default:
 580            }
 581          }
 582        };
 583      }
 584    };
 585  }
 586  
 587  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/getReactElementRef.mjs
 588  var React3 = __toESM(require_react(), 1);
 589  
 590  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/reactVersion.mjs
 591  var React2 = __toESM(require_react(), 1);
 592  var majorVersion = parseInt(React2.version, 10);
 593  function isReactVersionAtLeast(reactVersionToCheck) {
 594    return majorVersion >= reactVersionToCheck;
 595  }
 596  
 597  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/getReactElementRef.mjs
 598  function getReactElementRef(element) {
 599    if (!/* @__PURE__ */ React3.isValidElement(element)) {
 600      return null;
 601    }
 602    const reactElement = element;
 603    const propsWithRef = reactElement.props;
 604    return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;
 605  }
 606  
 607  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/mergeObjects.mjs
 608  function mergeObjects(a, b) {
 609    if (a && !b) {
 610      return a;
 611    }
 612    if (!a && b) {
 613      return b;
 614    }
 615    if (a || b) {
 616      return {
 617        ...a,
 618        ...b
 619      };
 620    }
 621    return void 0;
 622  }
 623  
 624  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/createLogOnce.mjs
 625  var loggedMessages;
 626  if (true) {
 627    loggedMessages = /* @__PURE__ */ new Set();
 628  }
 629  function createLogOnce(severity, prefix) {
 630    return function logOnce(...messages) {
 631      if (true) {
 632        const message = messages.join(" ");
 633        const output = prefix ? `$prefix}: $message}` : message;
 634        const key = `$severity}:$output}`;
 635        if (!loggedMessages.has(key)) {
 636          loggedMessages.add(key);
 637          if (severity === "warn") {
 638            console.warn(output);
 639          } else {
 640            console.error(output);
 641          }
 642        }
 643      }
 644    };
 645  }
 646  
 647  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/warn.mjs
 648  var warn = createLogOnce("warn", "Base UI");
 649  
 650  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/empty.mjs
 651  function NOOP() {
 652  }
 653  var EMPTY_ARRAY = Object.freeze([]);
 654  var EMPTY_OBJECT = Object.freeze({});
 655  
 656  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/getStateAttributesProps.mjs
 657  function getStateAttributesProps(state, customMapping) {
 658    const props = {};
 659    for (const key in state) {
 660      const value = state[key];
 661      if (customMapping?.hasOwnProperty(key)) {
 662        const customProps = customMapping[key](value);
 663        if (customProps != null) {
 664          Object.assign(props, customProps);
 665        }
 666        continue;
 667      }
 668      if (value === true) {
 669        props[`data-$key.toLowerCase()}`] = "";
 670      } else if (value) {
 671        props[`data-$key.toLowerCase()}`] = value.toString();
 672      }
 673    }
 674    return props;
 675  }
 676  
 677  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveClassName.mjs
 678  function resolveClassName(className, state) {
 679    return typeof className === "function" ? className(state) : className;
 680  }
 681  
 682  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveStyle.mjs
 683  function resolveStyle(style, state) {
 684    return typeof style === "function" ? style(state) : style;
 685  }
 686  
 687  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/merge-props/mergeProps.mjs
 688  var EMPTY_PROPS = {};
 689  function mergeProps(a, b, c2, d, e) {
 690    if (!c2 && !d && !e && !a) {
 691      return createInitialMergedProps(b);
 692    }
 693    let merged = createInitialMergedProps(a);
 694    if (b) {
 695      merged = mergeInto(merged, b);
 696    }
 697    if (c2) {
 698      merged = mergeInto(merged, c2);
 699    }
 700    if (d) {
 701      merged = mergeInto(merged, d);
 702    }
 703    if (e) {
 704      merged = mergeInto(merged, e);
 705    }
 706    return merged;
 707  }
 708  function mergePropsN(props) {
 709    if (props.length === 0) {
 710      return EMPTY_PROPS;
 711    }
 712    if (props.length === 1) {
 713      return createInitialMergedProps(props[0]);
 714    }
 715    let merged = createInitialMergedProps(props[0]);
 716    for (let i = 1; i < props.length; i += 1) {
 717      merged = mergeInto(merged, props[i]);
 718    }
 719    return merged;
 720  }
 721  function createInitialMergedProps(inputProps) {
 722    if (isPropsGetter(inputProps)) {
 723      return {
 724        ...inputProps(EMPTY_PROPS)
 725      };
 726    }
 727    return copyInitialProps(inputProps);
 728  }
 729  function mergeInto(merged, inputProps) {
 730    if (isPropsGetter(inputProps)) {
 731      return inputProps(merged);
 732    }
 733    return mutablyMergeInto(merged, inputProps);
 734  }
 735  function copyInitialProps(inputProps) {
 736    const copiedProps = {
 737      ...inputProps
 738    };
 739    for (const propName in copiedProps) {
 740      const propValue = copiedProps[propName];
 741      if (isEventHandler(propName, propValue)) {
 742        copiedProps[propName] = wrapEventHandler(propValue);
 743      }
 744    }
 745    return copiedProps;
 746  }
 747  function mutablyMergeInto(mergedProps, externalProps) {
 748    if (!externalProps) {
 749      return mergedProps;
 750    }
 751    for (const propName in externalProps) {
 752      const externalPropValue = externalProps[propName];
 753      switch (propName) {
 754        case "style": {
 755          mergedProps[propName] = mergeObjects(mergedProps.style, externalPropValue);
 756          break;
 757        }
 758        case "className": {
 759          mergedProps[propName] = mergeClassNames(mergedProps.className, externalPropValue);
 760          break;
 761        }
 762        default: {
 763          if (isEventHandler(propName, externalPropValue)) {
 764            mergedProps[propName] = mergeEventHandlers(mergedProps[propName], externalPropValue);
 765          } else {
 766            mergedProps[propName] = externalPropValue;
 767          }
 768        }
 769      }
 770    }
 771    return mergedProps;
 772  }
 773  function isEventHandler(key, value) {
 774    const code0 = key.charCodeAt(0);
 775    const code1 = key.charCodeAt(1);
 776    const code2 = key.charCodeAt(2);
 777    return code0 === 111 && code1 === 110 && code2 >= 65 && code2 <= 90 && (typeof value === "function" || typeof value === "undefined");
 778  }
 779  function isPropsGetter(inputProps) {
 780    return typeof inputProps === "function";
 781  }
 782  function mergeEventHandlers(ourHandler, theirHandler) {
 783    if (!theirHandler) {
 784      return ourHandler;
 785    }
 786    if (!ourHandler) {
 787      return wrapEventHandler(theirHandler);
 788    }
 789    return (...args) => {
 790      const event = args[0];
 791      if (isSyntheticEvent(event)) {
 792        const baseUIEvent = event;
 793        makeEventPreventable(baseUIEvent);
 794        const result2 = theirHandler(...args);
 795        if (!baseUIEvent.baseUIHandlerPrevented) {
 796          ourHandler?.(...args);
 797        }
 798        return result2;
 799      }
 800      const result = theirHandler(...args);
 801      ourHandler?.(...args);
 802      return result;
 803    };
 804  }
 805  function wrapEventHandler(handler) {
 806    if (!handler) {
 807      return handler;
 808    }
 809    return (...args) => {
 810      const event = args[0];
 811      if (isSyntheticEvent(event)) {
 812        makeEventPreventable(event);
 813      }
 814      return handler(...args);
 815    };
 816  }
 817  function makeEventPreventable(event) {
 818    event.preventBaseUIHandler = () => {
 819      event.baseUIHandlerPrevented = true;
 820    };
 821    return event;
 822  }
 823  function mergeClassNames(ourClassName, theirClassName) {
 824    if (theirClassName) {
 825      if (ourClassName) {
 826        return theirClassName + " " + ourClassName;
 827      }
 828      return theirClassName;
 829    }
 830    return ourClassName;
 831  }
 832  function isSyntheticEvent(event) {
 833    return event != null && typeof event === "object" && "nativeEvent" in event;
 834  }
 835  
 836  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useRenderElement.mjs
 837  var import_react = __toESM(require_react(), 1);
 838  function useRenderElement(element, componentProps, params = {}) {
 839    let renderProp = componentProps.render;
 840    if (params.enabled !== false) {
 841      renderProp = unwrapLazyRenderProp(renderProp);
 842    }
 843    const outProps = useRenderElementProps(componentProps, params, renderProp);
 844    if (params.enabled === false) {
 845      return null;
 846    }
 847    const state = params.state ?? EMPTY_OBJECT;
 848    return evaluateRenderProp(element, renderProp, outProps, state);
 849  }
 850  function useRenderElementProps(componentProps, params, renderProp) {
 851    const {
 852      className: classNameProp,
 853      style: styleProp
 854    } = componentProps;
 855    const {
 856      state = EMPTY_OBJECT,
 857      ref,
 858      props,
 859      stateAttributesMapping: stateAttributesMapping5,
 860      enabled = true
 861    } = params;
 862    const className = enabled ? resolveClassName(classNameProp, state) : void 0;
 863    const style = enabled ? resolveStyle(styleProp, state) : void 0;
 864    const stateProps = enabled ? getStateAttributesProps(state, stateAttributesMapping5) : EMPTY_OBJECT;
 865    const resolvedProps = enabled && props ? resolveRenderFunctionProps(props) : void 0;
 866    const outProps = enabled ? mergeObjects(stateProps, resolvedProps) ?? {} : EMPTY_OBJECT;
 867    if (typeof document !== "undefined") {
 868      if (!enabled) {
 869        void useMergedRefs(null, null);
 870      } else if (Array.isArray(ref)) {
 871        outProps.ref = useMergedRefsN([outProps.ref, getReactElementRef(renderProp), ...ref]);
 872      } else {
 873        outProps.ref = useMergedRefs(outProps.ref, getReactElementRef(renderProp), ref);
 874      }
 875    }
 876    if (!enabled) {
 877      return EMPTY_OBJECT;
 878    }
 879    if (className !== void 0) {
 880      outProps.className = mergeClassNames(outProps.className, className);
 881    }
 882    if (style !== void 0) {
 883      outProps.style = mergeObjects(outProps.style, style);
 884    }
 885    return outProps;
 886  }
 887  function resolveRenderFunctionProps(props) {
 888    if (Array.isArray(props)) {
 889      return mergePropsN(props);
 890    }
 891    return mergeProps(void 0, props);
 892  }
 893  var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy");
 894  var COMPONENT_IDENTIFIER_PATTERN = /^[A-Z][A-Za-z0-9$]*$/;
 895  var LOWERCASE_CHARACTER_PATTERN = /[a-z]/;
 896  function unwrapLazyRenderProp(render) {
 897    if (render?.$$typeof !== REACT_LAZY_TYPE) {
 898      return render;
 899    }
 900    const unwrapped = React4.Children.toArray(render)[0];
 901    return /* @__PURE__ */ React4.isValidElement(unwrapped) ? unwrapped : render;
 902  }
 903  function evaluateRenderProp(element, render, props, state) {
 904    if (render) {
 905      if (typeof render === "function") {
 906        if (true) {
 907          warnIfRenderPropLooksLikeComponent(render);
 908        }
 909        return render(props, state);
 910      }
 911      const mergedProps = mergeProps(props, render.props);
 912      mergedProps.ref = props.ref;
 913      if (true) {
 914        if (!/* @__PURE__ */ React4.isValidElement(render)) {
 915          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"));
 916        }
 917      }
 918      return /* @__PURE__ */ React4.cloneElement(render, mergedProps);
 919    }
 920    return renderTag(element, props);
 921  }
 922  function warnIfRenderPropLooksLikeComponent(renderFn) {
 923    const functionName = renderFn.name;
 924    if (functionName.length === 0) {
 925      return;
 926    }
 927    if (!COMPONENT_IDENTIFIER_PATTERN.test(functionName)) {
 928      return;
 929    }
 930    if (!LOWERCASE_CHARACTER_PATTERN.test(functionName)) {
 931      return;
 932    }
 933    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");
 934  }
 935  function renderTag(Tag, props) {
 936    if (Tag === "button") {
 937      return /* @__PURE__ */ (0, import_react.createElement)("button", {
 938        type: "button",
 939        ...props,
 940        key: props.key
 941      });
 942    }
 943    if (Tag === "img") {
 944      return /* @__PURE__ */ (0, import_react.createElement)("img", {
 945        alt: "",
 946        ...props,
 947        key: props.key
 948      });
 949    }
 950    return /* @__PURE__ */ React4.createElement(Tag, props);
 951  }
 952  
 953  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/safeReact.mjs
 954  var React5 = __toESM(require_react(), 1);
 955  var SafeReact = {
 956    ...React5
 957  };
 958  
 959  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useStableCallback.mjs
 960  var useInsertionEffect = SafeReact.useInsertionEffect;
 961  var useSafeInsertionEffect = (
 962    // React 17 doesn't have useInsertionEffect.
 963    useInsertionEffect && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
 964    useInsertionEffect !== SafeReact.useLayoutEffect ? useInsertionEffect : (fn) => fn()
 965  );
 966  function useStableCallback(callback) {
 967    const stable = useRefWithInit(createStableCallback).current;
 968    stable.next = callback;
 969    useSafeInsertionEffect(stable.effect);
 970    return stable.trampoline;
 971  }
 972  function createStableCallback() {
 973    const stable = {
 974      next: void 0,
 975      callback: assertNotCalled,
 976      trampoline: (...args) => stable.callback?.(...args),
 977      effect: () => {
 978        stable.callback = stable.next;
 979      }
 980    };
 981    return stable;
 982  }
 983  function assertNotCalled() {
 984    if (true) {
 985      throw (
 986        /* minify-error-disabled */
 987        new Error("Base UI: Cannot call an event handler while rendering.")
 988      );
 989    }
 990  }
 991  
 992  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useIsoLayoutEffect.mjs
 993  var React6 = __toESM(require_react(), 1);
 994  var noop = () => {
 995  };
 996  var useIsoLayoutEffect = typeof document !== "undefined" ? React6.useLayoutEffect : noop;
 997  
 998  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
 999  var React8 = __toESM(require_react(), 1);
1000  
1001  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
1002  var ReactDOM = __toESM(require_react_dom(), 1);
1003  
1004  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useOnMount.mjs
1005  var React7 = __toESM(require_react(), 1);
1006  function useOnMount(fn) {
1007    React7.useEffect(fn, EMPTY_ARRAY);
1008  }
1009  
1010  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useAnimationFrame.mjs
1011  var EMPTY = null;
1012  var LAST_RAF = globalThis.requestAnimationFrame;
1013  var Scheduler = class {
1014    /* This implementation uses an array as a backing data-structure for frame callbacks.
1015     * It allows `O(1)` callback cancelling by inserting a `null` in the array, though it
1016     * never calls the native `cancelAnimationFrame` if there are no frames left. This can
1017     * be much more efficient if there is a call pattern that alterns as
1018     * "request-cancel-request-cancel-…".
1019     * But in the case of "request-request-…-cancel-cancel-…", it leaves the final animation
1020     * frame to run anyway. We turn that frame into a `O(1)` no-op via `callbacksCount`. */
1021    callbacks = [];
1022    callbacksCount = 0;
1023    nextId = 1;
1024    startId = 1;
1025    isScheduled = false;
1026    tick = (timestamp) => {
1027      this.isScheduled = false;
1028      const currentCallbacks = this.callbacks;
1029      const currentCallbacksCount = this.callbacksCount;
1030      this.callbacks = [];
1031      this.callbacksCount = 0;
1032      this.startId = this.nextId;
1033      if (currentCallbacksCount > 0) {
1034        for (let i = 0; i < currentCallbacks.length; i += 1) {
1035          currentCallbacks[i]?.(timestamp);
1036        }
1037      }
1038    };
1039    request(fn) {
1040      const id = this.nextId;
1041      this.nextId += 1;
1042      this.callbacks.push(fn);
1043      this.callbacksCount += 1;
1044      const didRAFChange = LAST_RAF !== requestAnimationFrame && (LAST_RAF = requestAnimationFrame, true);
1045      if (!this.isScheduled || didRAFChange) {
1046        requestAnimationFrame(this.tick);
1047        this.isScheduled = true;
1048      }
1049      return id;
1050    }
1051    cancel(id) {
1052      const index2 = id - this.startId;
1053      if (index2 < 0 || index2 >= this.callbacks.length) {
1054        return;
1055      }
1056      if (this.callbacks[index2] === null) {
1057        return;
1058      }
1059      this.callbacks[index2] = null;
1060      this.callbacksCount -= 1;
1061    }
1062  };
1063  var scheduler = new Scheduler();
1064  var AnimationFrame = class _AnimationFrame {
1065    static create() {
1066      return new _AnimationFrame();
1067    }
1068    static request(fn) {
1069      return scheduler.request(fn);
1070    }
1071    static cancel(id) {
1072      return scheduler.cancel(id);
1073    }
1074    currentId = EMPTY;
1075    /**
1076     * Executes `fn` after `delay`, clearing any previously scheduled call.
1077     */
1078    request(fn) {
1079      this.cancel();
1080      this.currentId = scheduler.request(() => {
1081        this.currentId = EMPTY;
1082        fn();
1083      });
1084    }
1085    cancel = () => {
1086      if (this.currentId !== EMPTY) {
1087        scheduler.cancel(this.currentId);
1088        this.currentId = EMPTY;
1089      }
1090    };
1091    disposeEffect = () => {
1092      return this.cancel;
1093    };
1094  };
1095  function useAnimationFrame() {
1096    const timeout = useRefWithInit(AnimationFrame.create).current;
1097    useOnMount(timeout.disposeEffect);
1098    return timeout;
1099  }
1100  
1101  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveRef.mjs
1102  function resolveRef(maybeRef) {
1103    if (maybeRef == null) {
1104      return maybeRef;
1105    }
1106    return "current" in maybeRef ? maybeRef.current : maybeRef;
1107  }
1108  
1109  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getFiniteAnimations.mjs
1110  function getFiniteAnimations(element, options) {
1111    return element.getAnimations(options).filter((animation) => {
1112      const timing = animation.effect?.getTiming();
1113      return timing?.duration !== Infinity && timing?.iterations !== Infinity;
1114    });
1115  }
1116  
1117  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/TransitionStatusDataAttributes.mjs
1118  var startingStyle = "data-starting-style";
1119  var endingStyle = "data-ending-style";
1120  
1121  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
1122  var pendingCallbacks = null;
1123  function flushBeforePaint(fn) {
1124    if (!pendingCallbacks) {
1125      const callbacks = [];
1126      pendingCallbacks = callbacks;
1127      queueMicrotask(() => {
1128        pendingCallbacks = null;
1129        ReactDOM.flushSync(() => {
1130          for (const callback of callbacks) {
1131            callback();
1132          }
1133        });
1134      });
1135    }
1136    pendingCallbacks.push(fn);
1137  }
1138  function useAnimationsFinished(elementOrRef, waitForStartingStyleRemoved = false, batch = false) {
1139    const frame = useAnimationFrame();
1140    return useStableCallback((fnToExecute, signal = null) => {
1141      frame.cancel();
1142      const element = resolveRef(elementOrRef);
1143      if (element == null) {
1144        return;
1145      }
1146      const resolvedElement = element;
1147      const done = () => {
1148        if (!batch) {
1149          ReactDOM.flushSync(fnToExecute);
1150          return;
1151        }
1152        flushBeforePaint(() => {
1153          if (!signal?.aborted) {
1154            fnToExecute();
1155          }
1156        });
1157      };
1158      if (typeof resolvedElement.getAnimations !== "function" || globalThis.BASE_UI_ANIMATIONS_DISABLED) {
1159        fnToExecute();
1160        return;
1161      }
1162      function exec() {
1163        Promise.all(getFiniteAnimations(resolvedElement).map((animation) => animation.finished.then(NOOP))).then(() => {
1164          if (!signal?.aborted) {
1165            done();
1166          }
1167        }, () => {
1168          if (signal?.aborted) {
1169            return;
1170          }
1171          const currentAnimations = getFiniteAnimations(resolvedElement);
1172          if (currentAnimations.some((animation) => animation.pending || animation.playState !== "finished")) {
1173            exec();
1174            return;
1175          }
1176          done();
1177        });
1178      }
1179      if (waitForStartingStyleRemoved) {
1180        const startingStyleAttribute = startingStyle;
1181        if (!resolvedElement.hasAttribute(startingStyleAttribute)) {
1182          frame.request(exec);
1183          return;
1184        }
1185        const attributeObserver = new MutationObserver(() => {
1186          if (!resolvedElement.hasAttribute(startingStyleAttribute)) {
1187            attributeObserver.disconnect();
1188            exec();
1189          }
1190        });
1191        attributeObserver.observe(resolvedElement, {
1192          attributes: true,
1193          attributeFilter: [startingStyleAttribute]
1194        });
1195        signal?.addEventListener("abort", () => attributeObserver.disconnect(), {
1196          once: true
1197        });
1198        return;
1199      }
1200      frame.request(exec);
1201    });
1202  }
1203  
1204  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
1205  function useOpenChangeComplete(parameters) {
1206    const {
1207      enabled = true,
1208      open: open2,
1209      ref,
1210      batch = false,
1211      onComplete: onCompleteParam
1212    } = parameters;
1213    const onComplete = useStableCallback(onCompleteParam);
1214    const runOnceAnimationsFinish = useAnimationsFinished(ref, open2, batch);
1215    React8.useEffect(() => {
1216      if (!enabled) {
1217        return void 0;
1218      }
1219      const abortController = new AbortController();
1220      runOnceAnimationsFinish(onComplete, abortController.signal);
1221      return () => {
1222        abortController.abort();
1223      };
1224    }, [enabled, open2, onComplete, runOnceAnimationsFinish]);
1225  }
1226  
1227  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/stateAttributesMapping.mjs
1228  var STARTING_HOOK = {
1229    [startingStyle]: ""
1230  };
1231  var ENDING_HOOK = {
1232    [endingStyle]: ""
1233  };
1234  var transitionStatusMapping = {
1235    transitionStatus(value) {
1236      if (value === "starting") {
1237        return STARTING_HOOK;
1238      }
1239      if (value === "ending") {
1240        return ENDING_HOOK;
1241      }
1242      return null;
1243    }
1244  };
1245  
1246  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useTransitionStatus.mjs
1247  var React9 = __toESM(require_react(), 1);
1248  function useTransitionStatus(open2, enableIdleState = false, deferEndingState = false, animateInitialOpen = false) {
1249    const [transitionStatus, setTransitionStatus] = React9.useState(open2 && enableIdleState ? "idle" : void 0);
1250    const [mounted, setMounted] = React9.useState(open2 && !animateInitialOpen);
1251    if (open2 && !mounted) {
1252      setMounted(true);
1253      setTransitionStatus("starting");
1254    }
1255    if (!open2 && mounted && transitionStatus !== "ending" && !deferEndingState) {
1256      setTransitionStatus("ending");
1257    }
1258    if (!open2 && !mounted && transitionStatus === "ending") {
1259      setTransitionStatus(void 0);
1260    }
1261    useIsoLayoutEffect(() => {
1262      if (!open2 && mounted && transitionStatus !== "ending" && deferEndingState) {
1263        const frame = AnimationFrame.request(() => {
1264          setTransitionStatus("ending");
1265        });
1266        return () => {
1267          AnimationFrame.cancel(frame);
1268        };
1269      }
1270      return void 0;
1271    }, [open2, mounted, transitionStatus, deferEndingState]);
1272    useIsoLayoutEffect(() => {
1273      if (!open2 || enableIdleState || transitionStatus === void 0) {
1274        return void 0;
1275      }
1276      const frame = AnimationFrame.request(() => {
1277        setTransitionStatus(void 0);
1278      });
1279      return () => {
1280        AnimationFrame.cancel(frame);
1281      };
1282    }, [enableIdleState, open2, transitionStatus]);
1283    useIsoLayoutEffect(() => {
1284      if (!open2 || !enableIdleState) {
1285        return void 0;
1286      }
1287      if (open2 && mounted && transitionStatus !== "idle") {
1288        setTransitionStatus("starting");
1289      }
1290      const frame = AnimationFrame.request(() => {
1291        setTransitionStatus("idle");
1292      });
1293      return () => {
1294        AnimationFrame.cancel(frame);
1295      };
1296    }, [enableIdleState, open2, mounted, transitionStatus]);
1297    return {
1298      mounted,
1299      setMounted,
1300      transitionStatus
1301    };
1302  }
1303  
1304  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useTimeout.mjs
1305  var EMPTY2 = 0;
1306  var Timeout = class _Timeout {
1307    static create() {
1308      return new _Timeout();
1309    }
1310    currentId = EMPTY2;
1311    /**
1312     * Executes `fn` after `delay`, clearing any previously scheduled call.
1313     */
1314    start(delay, fn) {
1315      this.clear();
1316      this.currentId = setTimeout(() => {
1317        this.currentId = EMPTY2;
1318        fn();
1319      }, delay);
1320    }
1321    isStarted() {
1322      return this.currentId !== EMPTY2;
1323    }
1324    clear = () => {
1325      if (this.currentId !== EMPTY2) {
1326        clearTimeout(this.currentId);
1327        this.currentId = EMPTY2;
1328      }
1329    };
1330    disposeEffect = () => {
1331      return this.clear;
1332    };
1333  };
1334  function useTimeout() {
1335    const timeout = useRefWithInit(Timeout.create).current;
1336    useOnMount(timeout.disposeEffect);
1337    return timeout;
1338  }
1339  
1340  // node_modules/.store/clsx@2.1.1-XOLP1vUL9vEGfpiXm37fAw/node_modules/clsx/dist/clsx.mjs
1341  function r(e) {
1342    var t, f, n = "";
1343    if ("string" == typeof e || "number" == typeof e) n += e;
1344    else if ("object" == typeof e) if (Array.isArray(e)) {
1345      var o = e.length;
1346      for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
1347    } else for (f in e) e[f] && (n && (n += " "), n += f);
1348    return n;
1349  }
1350  function clsx() {
1351    for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
1352    return n;
1353  }
1354  var clsx_default = clsx;
1355  
1356  // packages/ui/build-module/icon/icon.mjs
1357  var import_element = __toESM(require_element(), 1);
1358  var import_primitives = __toESM(require_primitives(), 1);
1359  var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
1360  var Icon = (0, import_element.forwardRef)(
1361    function UnforwardedIcon({ icon, size: size4 = 24, style, ...restProps }, ref) {
1362      const mergedStyle = icon.props.style || style ? { ...icon.props.style, ...style } : void 0;
1363      return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1364        import_primitives.SVG,
1365        {
1366          ref,
1367          ...icon.props,
1368          ...restProps,
1369          ...mergedStyle ? { style: mergedStyle } : {},
1370          width: size4,
1371          height: size4
1372        }
1373      );
1374    }
1375  );
1376  
1377  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useControlled.mjs
1378  var React10 = __toESM(require_react(), 1);
1379  
1380  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/error.mjs
1381  var error = createLogOnce("error", "Base UI");
1382  
1383  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useControlled.mjs
1384  function useControlled({
1385    controlled,
1386    default: defaultProp,
1387    name: name2,
1388    state = "value"
1389  }) {
1390    const {
1391      current: isControlled
1392    } = React10.useRef(controlled !== void 0);
1393    const [valueState, setValue] = React10.useState(() => defaultProp);
1394    const value = isControlled && controlled !== void 0 ? controlled : valueState;
1395    if (true) {
1396      React10.useEffect(() => {
1397        if (isControlled !== (controlled !== void 0)) {
1398          error([`A component is changing the $isControlled ? "" : "un"}controlled $state} state of $name2} to be $isControlled ? "un" : ""}controlled.`, "Elements should not switch from uncontrolled to controlled (or vice versa).", `Decide between using a controlled or uncontrolled $name2} 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"));
1399        }
1400      }, [state, name2, controlled]);
1401      const {
1402        current: defaultValue
1403      } = React10.useRef(defaultProp);
1404      React10.useEffect(() => {
1405        if (!isControlled && serializeToDevModeString(defaultValue) !== serializeToDevModeString(defaultProp)) {
1406          error([`A component is changing the default $state} state of an uncontrolled $name2} after being initialized. To suppress this warning opt to use a controlled $name2}.`].join("\n"));
1407        }
1408      }, [defaultProp]);
1409    }
1410    const setValueIfUncontrolled = React10.useCallback((newValue) => {
1411      if (!isControlled) {
1412        setValue(newValue);
1413      }
1414    }, []);
1415    return [value, setValueIfUncontrolled];
1416  }
1417  function serializeToDevModeString(input) {
1418    let nextId = 0;
1419    const seen = /* @__PURE__ */ new WeakMap();
1420    try {
1421      const result = JSON.stringify(input, function replacer(key, value) {
1422        if (key === "_owner" && this != null && typeof this === "object" && "$$typeof" in this) {
1423          return void 0;
1424        }
1425        if (typeof value === "bigint") {
1426          return `__bigint__:$value}`;
1427        }
1428        if (value !== null && typeof value === "object") {
1429          const id = seen.get(value);
1430          if (id !== void 0) {
1431            return `__object__:$id}`;
1432          }
1433          seen.set(value, nextId);
1434          nextId += 1;
1435        }
1436        return value;
1437      });
1438      return result ?? `__top__:$typeof input}`;
1439    } catch {
1440      return "__unserializable__";
1441    }
1442  }
1443  
1444  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeList.mjs
1445  var React12 = __toESM(require_react(), 1);
1446  
1447  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeListContext.mjs
1448  var React11 = __toESM(require_react(), 1);
1449  var CompositeListContext = /* @__PURE__ */ React11.createContext({
1450    register: () => {
1451    },
1452    unregister: () => {
1453    },
1454    subscribeMapChange: () => () => {
1455    },
1456    nextIndexRef: {
1457      current: 0
1458    }
1459  });
1460  if (true) CompositeListContext.displayName = "CompositeListContext";
1461  function useCompositeListContext() {
1462    return React11.useContext(CompositeListContext);
1463  }
1464  
1465  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeList.mjs
1466  var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
1467  function CompositeList(props) {
1468    const {
1469      children,
1470      elementsRef,
1471      labelsRef,
1472      onMapChange: onMapChangeProp
1473    } = props;
1474    const onMapChange = useStableCallback(onMapChangeProp);
1475    const [, setMapTick] = React12.useState(0);
1476    const listeners = useRefWithInit(createListeners).current;
1477    const map = useRefWithInit(createMap).current;
1478    const nextIndexRef = React12.useRef(0);
1479    const isDirtyRef = React12.useRef(true);
1480    const itemsRef = React12.useRef(null);
1481    const mutationObserverRef = React12.useRef(null);
1482    const scheduleMapUpdate = useStableCallback(() => {
1483      if (isDirtyRef.current) {
1484        return;
1485      }
1486      isDirtyRef.current = true;
1487      setMapTick((tick) => tick + 1);
1488    });
1489    const register2 = useStableCallback((node, registration) => {
1490      map.set(node, registration);
1491      scheduleMapUpdate();
1492    });
1493    const unregister = useStableCallback((node) => {
1494      map.delete(node);
1495      scheduleMapUpdate();
1496    });
1497    const syncRefs = useStableCallback((items) => {
1498      const nextMap = /* @__PURE__ */ new Map();
1499      elementsRef.current.length = 0;
1500      if (labelsRef) {
1501        labelsRef.current.length = 0;
1502      }
1503      items.forEach((item) => {
1504        nextMap.set(item.element, {
1505          ...item.registration.metadata ?? {},
1506          index: item.index
1507        });
1508        elementsRef.current[item.index] = item.element;
1509        if (labelsRef) {
1510          labelsRef.current[item.index] = item.registration.label !== void 0 ? item.registration.label : item.registration.textRef?.current?.textContent ?? item.element.textContent;
1511        }
1512      });
1513      nextIndexRef.current = elementsRef.current.length;
1514      return nextMap;
1515    });
1516    function observe(sortedNodes) {
1517      mutationObserverRef.current?.disconnect();
1518      mutationObserverRef.current = null;
1519      if (typeof MutationObserver !== "function" || sortedNodes.length < 2) {
1520        return;
1521      }
1522      const mutationObserver = new MutationObserver((entries) => {
1523        if (!hasMovedNode(entries)) {
1524          return;
1525        }
1526        let previousConnectedNode = null;
1527        for (const node of sortedNodes) {
1528          if (!node.isConnected) {
1529            continue;
1530          }
1531          if (previousConnectedNode && sortByDocumentPosition(previousConnectedNode, node) > 0) {
1532            mutationObserver.disconnect();
1533            scheduleMapUpdate();
1534            return;
1535          }
1536          previousConnectedNode = node;
1537        }
1538      });
1539      mutationObserverRef.current = mutationObserver;
1540      const roots = /* @__PURE__ */ new Set();
1541      for (let i = 1; i < sortedNodes.length; i += 1) {
1542        const root = getCommonAncestor(sortedNodes[i - 1], sortedNodes[i]);
1543        if (root) {
1544          roots.add(root);
1545        }
1546      }
1547      roots.forEach((root) => mutationObserver.observe(root, {
1548        childList: true
1549      }));
1550    }
1551    const flush = useStableCallback(() => {
1552      const [items, automaticNodes] = getCompositeListSnapshot(map);
1553      const nextMap = syncRefs(items);
1554      const previousItems = itemsRef.current;
1555      const changed = !previousItems || previousItems.length !== items.length || items.some((item, index2) => {
1556        const previousItem = previousItems[index2];
1557        return item.index !== previousItem.index || item.element !== previousItem.element || item.registration.index !== previousItem.registration.index || item.registration.metadata !== previousItem.registration.metadata;
1558      });
1559      observe(automaticNodes);
1560      itemsRef.current = items;
1561      isDirtyRef.current = false;
1562      if (!changed) {
1563        return;
1564      }
1565      listeners.forEach((listener) => listener(nextMap));
1566      onMapChange(nextMap);
1567    });
1568    useIsoLayoutEffect(() => {
1569      if (!isDirtyRef.current && itemsRef.current) {
1570        syncRefs(itemsRef.current);
1571      }
1572      return () => {
1573        elementsRef.current = [];
1574        if (labelsRef) {
1575          labelsRef.current = [];
1576        }
1577      };
1578    }, [elementsRef, labelsRef, syncRefs]);
1579    useIsoLayoutEffect(() => {
1580      if (isDirtyRef.current) {
1581        flush();
1582      }
1583    });
1584    useIsoLayoutEffect(() => {
1585      return () => {
1586        mutationObserverRef.current?.disconnect();
1587        isDirtyRef.current = true;
1588      };
1589    }, []);
1590    const subscribeMapChange = useStableCallback((fn) => {
1591      listeners.add(fn);
1592      return () => {
1593        listeners.delete(fn);
1594      };
1595    });
1596    const contextValue = React12.useMemo(() => ({
1597      register: register2,
1598      unregister,
1599      subscribeMapChange,
1600      nextIndexRef
1601    }), [register2, unregister, subscribeMapChange, nextIndexRef]);
1602    return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(CompositeListContext.Provider, {
1603      value: contextValue,
1604      children
1605    });
1606  }
1607  function createMap() {
1608    return /* @__PURE__ */ new Map();
1609  }
1610  function createListeners() {
1611    return /* @__PURE__ */ new Set();
1612  }
1613  function getCompositeListSnapshot(map) {
1614    const reservedIndices = /* @__PURE__ */ new Set();
1615    const items = [];
1616    const automaticItems = [];
1617    map.forEach((registration, node) => {
1618      if (!node.isConnected) {
1619        return;
1620      }
1621      const index2 = registration.index;
1622      const item = {
1623        index: index2 ?? -1,
1624        element: node,
1625        registration
1626      };
1627      if (index2 === null) {
1628        automaticItems.push(item);
1629      } else if (index2 >= 0) {
1630        reservedIndices.add(index2);
1631        items.push(item);
1632      }
1633    });
1634    let nextAutomaticIndex = 0;
1635    automaticItems.sort((a, b) => sortByDocumentPosition(a.element, b.element));
1636    automaticItems.forEach((item) => {
1637      while (reservedIndices.has(nextAutomaticIndex)) {
1638        nextAutomaticIndex += 1;
1639      }
1640      item.index = nextAutomaticIndex;
1641      items.push(item);
1642      nextAutomaticIndex += 1;
1643    });
1644    if (reservedIndices.size > 0) {
1645      items.sort((a, b) => a.index - b.index);
1646    }
1647    return [items, automaticItems.map((item) => item.element)];
1648  }
1649  function getCommonAncestor(firstNode, lastNode) {
1650    let ancestor = firstNode.parentElement;
1651    while (ancestor && !ancestor.contains(lastNode)) {
1652      ancestor = ancestor.parentElement;
1653    }
1654    return ancestor;
1655  }
1656  function hasMovedNode(entries) {
1657    for (const entry of entries) {
1658      for (let i = 0; i < entry.removedNodes.length; i += 1) {
1659        if (entry.removedNodes[i].isConnected) {
1660          return true;
1661        }
1662      }
1663    }
1664    return false;
1665  }
1666  function sortByDocumentPosition(a, b) {
1667    if (a.nextElementSibling === b) {
1668      return -1;
1669    }
1670    if (b.nextElementSibling === a) {
1671      return 1;
1672    }
1673    return a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;
1674  }
1675  
1676  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useId.mjs
1677  var React14 = __toESM(require_react(), 1);
1678  
1679  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useForcedRerendering.mjs
1680  var React13 = __toESM(require_react(), 1);
1681  function useForcedRerendering() {
1682    const [, setState] = React13.useState({});
1683    return React13.useCallback(() => {
1684      setState({});
1685    }, []);
1686  }
1687  
1688  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useId.mjs
1689  var globalId = 0;
1690  function useGlobalId(idOverride, prefix = "mui") {
1691    const defaultId = React14.useRef(void 0);
1692    const forceRerender = useForcedRerendering();
1693    const id = idOverride ?? defaultId.current;
1694    React14.useEffect(() => {
1695      if (defaultId.current == null) {
1696        globalId += 1;
1697        defaultId.current = `$prefix}-$globalId}`;
1698        if (idOverride == null) {
1699          forceRerender();
1700        }
1701      }
1702    }, [idOverride, prefix, forceRerender]);
1703    return id;
1704  }
1705  var maybeReactUseId = SafeReact.useId;
1706  function useId(idOverride, prefix) {
1707    if (maybeReactUseId !== void 0) {
1708      const reactId = maybeReactUseId();
1709      return idOverride ?? (prefix ? `$prefix}-$reactId}` : reactId);
1710    }
1711    return useGlobalId(idOverride, prefix);
1712  }
1713  
1714  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useBaseUiId.mjs
1715  function useBaseUiId(idOverride) {
1716    return useId(idOverride, "base-ui");
1717  }
1718  
1719  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/createBaseUIEventDetails.mjs
1720  function createChangeEventDetails(reason, event, trigger, customProperties) {
1721    let canceled = false;
1722    let allowPropagation = false;
1723    const custom = customProperties ?? EMPTY_OBJECT;
1724    const details = {
1725      reason,
1726      event: event ?? new Event("base-ui"),
1727      cancel() {
1728        canceled = true;
1729      },
1730      allowPropagation() {
1731        allowPropagation = true;
1732      },
1733      get isCanceled() {
1734        return canceled;
1735      },
1736      get isPropagationAllowed() {
1737        return allowPropagation;
1738      },
1739      trigger,
1740      ...custom
1741    };
1742    return details;
1743  }
1744  function createGenericEventDetails(reason, event, customProperties) {
1745    const custom = customProperties ?? EMPTY_OBJECT;
1746    const details = {
1747      reason,
1748      event: event ?? new Event("base-ui"),
1749      ...custom
1750    };
1751    return details;
1752  }
1753  
1754  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/reason-parts.mjs
1755  var reason_parts_exports = {};
1756  __export(reason_parts_exports, {
1757    cancelOpen: () => cancelOpen,
1758    chipRemovePress: () => chipRemovePress,
1759    clearPress: () => clearPress,
1760    closePress: () => closePress,
1761    closeWatcher: () => closeWatcher,
1762    decrementPress: () => decrementPress,
1763    disabled: () => disabled,
1764    drag: () => drag,
1765    escapeKey: () => escapeKey,
1766    focusOut: () => focusOut,
1767    imperativeAction: () => imperativeAction,
1768    incrementPress: () => incrementPress,
1769    initial: () => initial,
1770    inputBlur: () => inputBlur,
1771    inputChange: () => inputChange,
1772    inputClear: () => inputClear,
1773    inputPaste: () => inputPaste,
1774    inputPress: () => inputPress,
1775    itemPress: () => itemPress,
1776    keyboard: () => keyboard,
1777    linkPress: () => linkPress,
1778    listNavigation: () => listNavigation,
1779    missing: () => missing,
1780    none: () => none,
1781    outsidePress: () => outsidePress,
1782    pointer: () => pointer,
1783    popupClose: () => popupClose,
1784    scrub: () => scrub,
1785    siblingOpen: () => siblingOpen,
1786    swipe: () => swipe,
1787    trackPress: () => trackPress,
1788    triggerFocus: () => triggerFocus,
1789    triggerHover: () => triggerHover,
1790    triggerPress: () => triggerPress,
1791    wheel: () => wheel,
1792    windowResize: () => windowResize
1793  });
1794  var none = "none";
1795  var triggerPress = "trigger-press";
1796  var triggerHover = "trigger-hover";
1797  var triggerFocus = "trigger-focus";
1798  var outsidePress = "outside-press";
1799  var itemPress = "item-press";
1800  var closePress = "close-press";
1801  var linkPress = "link-press";
1802  var clearPress = "clear-press";
1803  var chipRemovePress = "chip-remove-press";
1804  var trackPress = "track-press";
1805  var incrementPress = "increment-press";
1806  var decrementPress = "decrement-press";
1807  var inputChange = "input-change";
1808  var inputClear = "input-clear";
1809  var inputBlur = "input-blur";
1810  var inputPaste = "input-paste";
1811  var inputPress = "input-press";
1812  var focusOut = "focus-out";
1813  var escapeKey = "escape-key";
1814  var closeWatcher = "close-watcher";
1815  var listNavigation = "list-navigation";
1816  var keyboard = "keyboard";
1817  var pointer = "pointer";
1818  var drag = "drag";
1819  var wheel = "wheel";
1820  var scrub = "scrub";
1821  var popupClose = "popup-close";
1822  var cancelOpen = "cancel-open";
1823  var siblingOpen = "sibling-open";
1824  var disabled = "disabled";
1825  var missing = "missing";
1826  var initial = "initial";
1827  var imperativeAction = "imperative-action";
1828  var swipe = "swipe";
1829  var windowResize = "window-resize";
1830  
1831  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/useCompositeListItem.mjs
1832  var React15 = __toESM(require_react(), 1);
1833  function useCompositeListItem(params = {}) {
1834    const {
1835      guess,
1836      label,
1837      metadata,
1838      textRef,
1839      index: externalIndex
1840    } = params;
1841    const {
1842      register: register2,
1843      unregister,
1844      subscribeMapChange,
1845      nextIndexRef
1846    } = useCompositeListContext();
1847    const indexRef = React15.useRef(-1);
1848    const [internalIndex, setInternalIndex] = React15.useState(externalIndex == null && guess ? () => {
1849      if (indexRef.current === -1) {
1850        const newIndex = nextIndexRef.current;
1851        nextIndexRef.current += 1;
1852        indexRef.current = newIndex;
1853      }
1854      return indexRef.current;
1855    } : -1);
1856    const index2 = externalIndex ?? internalIndex;
1857    const componentRef = React15.useRef(null);
1858    const ref = React15.useCallback((node) => {
1859      const previousNode = componentRef.current;
1860      if (previousNode) {
1861        unregister(previousNode);
1862      }
1863      componentRef.current = node;
1864      if (node) {
1865        register2(node, {
1866          metadata: metadata ?? null,
1867          index: externalIndex ?? null,
1868          label,
1869          textRef
1870        });
1871      }
1872    }, [externalIndex, register2, unregister, metadata, label, textRef]);
1873    useIsoLayoutEffect(() => {
1874      if (externalIndex != null) {
1875        return void 0;
1876      }
1877      return subscribeMapChange((map) => {
1878        const i = componentRef.current ? map.get(componentRef.current)?.index : null;
1879        if (i != null) {
1880          setInternalIndex(i);
1881        }
1882      });
1883    }, [externalIndex, subscribeMapChange]);
1884    return {
1885      ref,
1886      index: index2
1887    };
1888  }
1889  
1890  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/use-button/useButton.mjs
1891  var React18 = __toESM(require_react(), 1);
1892  
1893  // node_modules/.store/@floating-ui/utils@0.2.12-gOxTzMf36nCrbeHpEew-rw/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
1894  function hasWindow() {
1895    return typeof window !== "undefined";
1896  }
1897  function getNodeName(node) {
1898    if (isNode(node)) {
1899      return (node.nodeName || "").toLowerCase();
1900    }
1901    return "#document";
1902  }
1903  function getWindow(node) {
1904    var _node$ownerDocument;
1905    return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
1906  }
1907  function getDocumentElement(node) {
1908    var _ref;
1909    return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
1910  }
1911  function isNode(value) {
1912    if (!hasWindow()) {
1913      return false;
1914    }
1915    return value instanceof Node || value instanceof getWindow(value).Node;
1916  }
1917  function isElement(value) {
1918    if (!hasWindow()) {
1919      return false;
1920    }
1921    return value instanceof Element || value instanceof getWindow(value).Element;
1922  }
1923  function isHTMLElement(value) {
1924    if (!hasWindow()) {
1925      return false;
1926    }
1927    return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
1928  }
1929  function isShadowRoot(value) {
1930    if (!hasWindow() || typeof ShadowRoot === "undefined") {
1931      return false;
1932    }
1933    return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
1934  }
1935  function isOverflowElement(element) {
1936    const {
1937      overflow,
1938      overflowX,
1939      overflowY,
1940      display
1941    } = getComputedStyle2(element);
1942    return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
1943  }
1944  function isTableElement(element) {
1945    return /^(table|td|th)$/.test(getNodeName(element));
1946  }
1947  function isTopLayer(element) {
1948    try {
1949      if (element.matches(":popover-open")) {
1950        return true;
1951      }
1952    } catch (_e) {
1953    }
1954    try {
1955      return element.matches(":modal");
1956    } catch (_e) {
1957      return false;
1958    }
1959  }
1960  var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
1961  var containRe = /paint|layout|strict|content/;
1962  var isNotNone = (value) => !!value && value !== "none";
1963  var isWebKitValue;
1964  function isContainingBlock(elementOrCss) {
1965    const css = isElement(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss;
1966    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 || "");
1967  }
1968  function getContainingBlock(element) {
1969    let currentNode = getParentNode(element);
1970    while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
1971      if (isContainingBlock(currentNode)) {
1972        return currentNode;
1973      } else if (isTopLayer(currentNode)) {
1974        return null;
1975      }
1976      currentNode = getParentNode(currentNode);
1977    }
1978    return null;
1979  }
1980  function isWebKit() {
1981    if (isWebKitValue == null) {
1982      isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
1983    }
1984    return isWebKitValue;
1985  }
1986  function isLastTraversableNode(node) {
1987    return /^(html|body|#document)$/.test(getNodeName(node));
1988  }
1989  function getComputedStyle2(element) {
1990    return getWindow(element).getComputedStyle(element);
1991  }
1992  function getNodeScroll(element) {
1993    if (isElement(element)) {
1994      return {
1995        scrollLeft: element.scrollLeft,
1996        scrollTop: element.scrollTop
1997      };
1998    }
1999    return {
2000      scrollLeft: element.scrollX,
2001      scrollTop: element.scrollY
2002    };
2003  }
2004  function getParentNode(node) {
2005    if (getNodeName(node) === "html") {
2006      return node;
2007    }
2008    const result = (
2009      // Step into the shadow DOM of the parent of a slotted node.
2010      node.assignedSlot || // DOM Element detected.
2011      node.parentNode || // ShadowRoot detected.
2012      isShadowRoot(node) && node.host || // Fallback.
2013      getDocumentElement(node)
2014    );
2015    return isShadowRoot(result) ? result.host : result;
2016  }
2017  function getNearestOverflowAncestor(node) {
2018    const parentNode = getParentNode(node);
2019    if (isLastTraversableNode(parentNode)) {
2020      return (node.ownerDocument || node).body;
2021    }
2022    if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
2023      return parentNode;
2024    }
2025    return getNearestOverflowAncestor(parentNode);
2026  }
2027  function getOverflowAncestors(node, list, traverseIframes) {
2028    var _node$ownerDocument2;
2029    if (list === void 0) {
2030      list = [];
2031    }
2032    if (traverseIframes === void 0) {
2033      traverseIframes = true;
2034    }
2035    const scrollableAncestor = getNearestOverflowAncestor(node);
2036    const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
2037    const win = getWindow(scrollableAncestor);
2038    if (isBody) {
2039      const frameElement = getFrameElement(win);
2040      return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
2041    } else {
2042      return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
2043    }
2044  }
2045  function getFrameElement(win) {
2046    return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
2047  }
2048  
2049  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/root/CompositeRootContext.mjs
2050  var React16 = __toESM(require_react(), 1);
2051  var CompositeRootContext = /* @__PURE__ */ React16.createContext(void 0);
2052  if (true) CompositeRootContext.displayName = "CompositeRootContext";
2053  function useCompositeRootContext(optional = false) {
2054    const context = React16.useContext(CompositeRootContext);
2055    if (context === void 0 && !optional) {
2056      throw new Error(true ? "Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>." : formatErrorMessage_default(16));
2057    }
2058    return context;
2059  }
2060  
2061  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useFocusableWhenDisabled.mjs
2062  var React17 = __toESM(require_react(), 1);
2063  function useFocusableWhenDisabled(parameters) {
2064    const {
2065      focusableWhenDisabled,
2066      disabled: disabled2,
2067      composite = false,
2068      tabIndex: tabIndexProp = 0,
2069      isNativeButton
2070    } = parameters;
2071    const isFocusableComposite = composite && focusableWhenDisabled !== false;
2072    const isNonFocusableComposite = composite && focusableWhenDisabled === false;
2073    const props = React17.useMemo(() => {
2074      const additionalProps = {
2075        // allow Tabbing away from focusableWhenDisabled elements
2076        onKeyDown(event) {
2077          if (disabled2 && focusableWhenDisabled && event.key !== "Tab") {
2078            event.preventDefault();
2079          }
2080        }
2081      };
2082      if (!composite) {
2083        additionalProps.tabIndex = tabIndexProp;
2084        if (!isNativeButton && disabled2) {
2085          additionalProps.tabIndex = focusableWhenDisabled ? tabIndexProp : -1;
2086        }
2087      }
2088      if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled2) {
2089        additionalProps["aria-disabled"] = disabled2;
2090      }
2091      if (isNativeButton && (!focusableWhenDisabled || isNonFocusableComposite)) {
2092        additionalProps.disabled = disabled2;
2093      }
2094      return additionalProps;
2095    }, [composite, disabled2, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);
2096    return {
2097      props
2098    };
2099  }
2100  
2101  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/owner.mjs
2102  function ownerDocument(node) {
2103    return node?.ownerDocument || document;
2104  }
2105  
2106  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/dispatchClickWithModifiers.mjs
2107  function dispatchClickWithModifiers(target, sourceEvent, {
2108    detail = 0,
2109    pointerType = ""
2110  } = {}) {
2111    target.dispatchEvent(new (getWindow(target)).PointerEvent("click", {
2112      bubbles: true,
2113      cancelable: true,
2114      composed: true,
2115      detail,
2116      pointerType,
2117      shiftKey: sourceEvent.shiftKey,
2118      ctrlKey: sourceEvent.ctrlKey,
2119      altKey: sourceEvent.altKey,
2120      metaKey: sourceEvent.metaKey
2121    }));
2122  }
2123  
2124  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/use-button/useButton.mjs
2125  function useButton(parameters = {}) {
2126    const {
2127      disabled: disabled2 = false,
2128      focusableWhenDisabled,
2129      tabIndex = 0,
2130      native: isNativeButton = true,
2131      composite: compositeProp
2132    } = parameters;
2133    const elementRef = React18.useRef(null);
2134    const compositeRootContext = useCompositeRootContext(true);
2135    const isCompositeItem = compositeProp ?? compositeRootContext !== void 0;
2136    const {
2137      props: focusableWhenDisabledProps
2138    } = useFocusableWhenDisabled({
2139      focusableWhenDisabled,
2140      disabled: disabled2,
2141      composite: isCompositeItem,
2142      tabIndex,
2143      isNativeButton
2144    });
2145    if (true) {
2146      React18.useEffect(() => {
2147        if (!elementRef.current) {
2148          return;
2149        }
2150        const isButtonTag = isButtonElement(elementRef.current);
2151        if (isNativeButton) {
2152          if (!isButtonTag) {
2153            const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
2154            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`.";
2155            error(`$message}$ownerStackMessage}`);
2156          }
2157        } else if (isButtonTag) {
2158          const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
2159          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`.";
2160          error(`$message}$ownerStackMessage}`);
2161        }
2162      }, [isNativeButton]);
2163    }
2164    const updateDisabled = React18.useCallback(() => {
2165      const element = elementRef.current;
2166      if (!isButtonElement(element)) {
2167        return;
2168      }
2169      if (isCompositeItem && disabled2 && focusableWhenDisabledProps.disabled === void 0 && element.disabled) {
2170        element.disabled = false;
2171      }
2172    }, [disabled2, focusableWhenDisabledProps.disabled, isCompositeItem]);
2173    useIsoLayoutEffect(updateDisabled, [updateDisabled]);
2174    const getButtonProps = React18.useCallback((externalProps = {}) => {
2175      const {
2176        onClick: externalOnClick,
2177        onMouseDown: externalOnMouseDown,
2178        onKeyUp: externalOnKeyUp,
2179        onKeyDown: externalOnKeyDown,
2180        onPointerDown: externalOnPointerDown,
2181        ...otherExternalProps
2182      } = externalProps;
2183      return mergeProps({
2184        onClick(event) {
2185          if (disabled2) {
2186            event.preventDefault();
2187            return;
2188          }
2189          externalOnClick?.(event);
2190        },
2191        onMouseDown(event) {
2192          if (!disabled2) {
2193            externalOnMouseDown?.(event);
2194          }
2195        },
2196        onKeyDown(event) {
2197          if (disabled2) {
2198            return;
2199          }
2200          makeEventPreventable(event);
2201          externalOnKeyDown?.(event);
2202          if (event.baseUIHandlerPrevented) {
2203            return;
2204          }
2205          const isCurrentTarget = event.target === event.currentTarget;
2206          const currentTarget = event.currentTarget;
2207          const isButton = isButtonElement(currentTarget);
2208          const isLink = !isNativeButton && isValidLinkElement(currentTarget);
2209          const shouldClick = isCurrentTarget && (isNativeButton ? isButton : !isLink);
2210          const isEnterKey = event.key === "Enter";
2211          const isSpaceKey = event.key === " ";
2212          const role = currentTarget.getAttribute("role");
2213          const isTextNavigationRole = role?.startsWith("menuitem") || role === "option" || role === "gridcell";
2214          if (isCurrentTarget && isCompositeItem && isSpaceKey) {
2215            if (event.defaultPrevented && isTextNavigationRole) {
2216              return;
2217            }
2218            event.preventDefault();
2219            if (!isNativeButton || isButton) {
2220              event.preventBaseUIHandler();
2221              dispatchClickWithModifiers(currentTarget, event);
2222            }
2223            return;
2224          }
2225          if (!shouldClick || isNativeButton || !isSpaceKey && !isEnterKey) {
2226            if (isCurrentTarget && isLink && isSpaceKey) {
2227              event.preventDefault();
2228            }
2229            return;
2230          }
2231          if (event.defaultPrevented) {
2232            return;
2233          }
2234          event.preventDefault();
2235          if (isEnterKey) {
2236            event.preventBaseUIHandler();
2237            dispatchClickWithModifiers(currentTarget, event);
2238          }
2239        },
2240        onKeyUp(event) {
2241          if (disabled2) {
2242            return;
2243          }
2244          makeEventPreventable(event);
2245          externalOnKeyUp?.(event);
2246          if (event.target === event.currentTarget && isNativeButton && isCompositeItem && isButtonElement(event.currentTarget) && event.key === " ") {
2247            event.preventDefault();
2248            return;
2249          }
2250          if (event.baseUIHandlerPrevented) {
2251            return;
2252          }
2253          if (event.target === event.currentTarget && !isNativeButton && !isCompositeItem && !event.defaultPrevented && event.key === " ") {
2254            event.preventBaseUIHandler();
2255            dispatchClickWithModifiers(event.currentTarget, event);
2256          }
2257        },
2258        onPointerDown(event) {
2259          if (disabled2) {
2260            event.preventDefault();
2261            return;
2262          }
2263          externalOnPointerDown?.(event);
2264        }
2265      }, isNativeButton ? {
2266        type: "button"
2267      } : {
2268        role: "button"
2269      }, focusableWhenDisabledProps, otherExternalProps);
2270    }, [disabled2, focusableWhenDisabledProps, isCompositeItem, isNativeButton]);
2271    const buttonRef = useStableCallback((element) => {
2272      elementRef.current = element;
2273      updateDisabled();
2274    });
2275    return {
2276      getButtonProps,
2277      buttonRef
2278    };
2279  }
2280  function isButtonElement(elem) {
2281    return isHTMLElement(elem) && elem.tagName === "BUTTON";
2282  }
2283  function isValidLinkElement(elem) {
2284    return isHTMLElement(elem) && elem.tagName === "A" && Boolean(elem.href);
2285  }
2286  
2287  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/addEventListener.mjs
2288  function addEventListener(target, type, listener, options) {
2289    target.addEventListener(type, listener, options);
2290    return () => {
2291      target.removeEventListener(type, listener, options);
2292    };
2293  }
2294  
2295  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useValueAsRef.mjs
2296  function useValueAsRef(value) {
2297    const latest = useRefWithInit(createLatestRef, value).current;
2298    latest.next = value;
2299    useIsoLayoutEffect(latest.effect);
2300    return latest;
2301  }
2302  function createLatestRef(value) {
2303    const latest = {
2304      current: value,
2305      next: value,
2306      effect: () => {
2307        latest.current = latest.next;
2308      }
2309    };
2310    return latest;
2311  }
2312  
2313  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/parts.mjs
2314  var parts_exports = {};
2315  __export(parts_exports, {
2316    engine: () => engine_exports,
2317    env: () => env_exports,
2318    mediaQuery: () => media_query_exports,
2319    os: () => os_exports,
2320    screenReader: () => screen_reader_exports
2321  });
2322  
2323  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/os.mjs
2324  var os_exports = {};
2325  __export(os_exports, {
2326    android: () => android,
2327    apple: () => apple,
2328    ios: () => ios,
2329    linux: () => linux,
2330    mac: () => mac,
2331    windows: () => windows
2332  });
2333  
2334  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/shared.mjs
2335  function readRawData() {
2336    if (typeof navigator === "undefined") {
2337      return {
2338        userAgent: "",
2339        platform: "",
2340        maxTouchPoints: 0
2341      };
2342    }
2343    if (true) {
2344      const uaData = navigator.userAgentData;
2345      if (uaData && Array.isArray(uaData.brands)) {
2346        return {
2347          userAgent: uaData.brands.map(({
2348            brand,
2349            version: version2
2350          }) => `$brand}/$version2}`).join(" "),
2351          platform: uaData.platform ?? navigator.platform ?? "",
2352          maxTouchPoints: navigator.maxTouchPoints ?? 0
2353        };
2354      }
2355    }
2356    return {
2357      userAgent: navigator.userAgent,
2358      platform: navigator.platform ?? "",
2359      maxTouchPoints: navigator.maxTouchPoints ?? 0
2360    };
2361  }
2362  var {
2363    userAgent,
2364    platform,
2365    maxTouchPoints
2366  } = readRawData();
2367  var lowerUserAgent = userAgent.toLowerCase();
2368  var lowerPlatform = platform.toLowerCase();
2369  
2370  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/os.mjs
2371  var ios = /^i(os$|p)/.test(lowerPlatform) || lowerPlatform === "macintel" && maxTouchPoints > 1;
2372  var ANDROID_STRING = "android";
2373  var android = lowerPlatform === ANDROID_STRING || lowerUserAgent.includes(ANDROID_STRING);
2374  var mac = !ios && lowerPlatform.startsWith("mac");
2375  var windows = lowerPlatform.startsWith("win");
2376  var linux = !android && /^(linux|chrome os)/.test(lowerPlatform);
2377  var apple = mac || ios;
2378  
2379  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/engine.mjs
2380  var engine_exports = {};
2381  __export(engine_exports, {
2382    blink: () => blink,
2383    gecko: () => gecko,
2384    webkit: () => webkit
2385  });
2386  var webkit = typeof CSS !== "undefined" && !!CSS.supports?.("-webkit-backdrop-filter:none");
2387  var gecko = !webkit && lowerUserAgent.includes("firefox");
2388  var blink = !webkit && lowerUserAgent.includes("chrom");
2389  
2390  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/screen-reader.mjs
2391  var screen_reader_exports = {};
2392  __export(screen_reader_exports, {
2393    voiceOver: () => voiceOver
2394  });
2395  var voiceOver = apple;
2396  
2397  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/env.mjs
2398  var env_exports = {};
2399  __export(env_exports, {
2400    jsdom: () => jsdom
2401  });
2402  var jsdom = /jsdom|happydom/.test(lowerUserAgent);
2403  
2404  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/media-query.mjs
2405  var media_query_exports = {};
2406  __export(media_query_exports, {
2407    iOS: () => iOS
2408  });
2409  var iOS = "@supports (-webkit-touch-callout: none)";
2410  
2411  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useScrollLock.mjs
2412  var originalHtmlStyles = {};
2413  var originalBodyStyles = {};
2414  var originalHtmlScrollBehavior = "";
2415  function getViewportScroller(html, body) {
2416    return isOverflowElement(html) ? html : body;
2417  }
2418  function isPageScrollLocked(win, html, body) {
2419    return /hidden|clip/.test(win.getComputedStyle(getViewportScroller(html, body)).overflowY);
2420  }
2421  function hasInsetScrollbars(referenceElement) {
2422    if (typeof document === "undefined") {
2423      return false;
2424    }
2425    const doc = ownerDocument(referenceElement);
2426    const win = getWindow(doc);
2427    return win.innerWidth - doc.documentElement.clientWidth > 0;
2428  }
2429  function supportsStableScrollbarGutter(referenceElement) {
2430    const supported = typeof CSS !== "undefined" && CSS.supports && CSS.supports("scrollbar-gutter", "stable");
2431    if (!supported || typeof document === "undefined") {
2432      return false;
2433    }
2434    const doc = ownerDocument(referenceElement);
2435    const html = doc.documentElement;
2436    const body = doc.body;
2437    const scrollContainer = getViewportScroller(html, body);
2438    const originalScrollContainerOverflowY = scrollContainer.style.overflowY;
2439    const originalHtmlStyleGutter = html.style.scrollbarGutter;
2440    html.style.scrollbarGutter = "stable";
2441    scrollContainer.style.overflowY = "scroll";
2442    const before = scrollContainer.offsetWidth;
2443    scrollContainer.style.overflowY = "hidden";
2444    const after = scrollContainer.offsetWidth;
2445    scrollContainer.style.overflowY = originalScrollContainerOverflowY;
2446    html.style.scrollbarGutter = originalHtmlStyleGutter;
2447    return before === after;
2448  }
2449  function preventScrollOverlayScrollbars(referenceElement) {
2450    const doc = ownerDocument(referenceElement);
2451    const html = doc.documentElement;
2452    const body = doc.body;
2453    const elementToLock = getViewportScroller(html, body);
2454    const originalElementToLockStyles = {
2455      overflowY: elementToLock.style.overflowY,
2456      overflowX: elementToLock.style.overflowX
2457    };
2458    Object.assign(elementToLock.style, {
2459      overflowY: "hidden",
2460      overflowX: "hidden"
2461    });
2462    return () => {
2463      Object.assign(elementToLock.style, originalElementToLockStyles);
2464    };
2465  }
2466  function preventScrollInsetScrollbars(referenceElement) {
2467    const doc = ownerDocument(referenceElement);
2468    const html = doc.documentElement;
2469    const body = doc.body;
2470    const win = getWindow(html);
2471    let scrollTop = 0;
2472    let scrollLeft = 0;
2473    let updateGutterOnly = false;
2474    const resizeFrame = AnimationFrame.create();
2475    if (parts_exports.engine.webkit && (win.visualViewport?.scale ?? 1) !== 1) {
2476      return () => {
2477      };
2478    }
2479    function lockScroll() {
2480      const htmlStyles = win.getComputedStyle(html);
2481      const bodyStyles = win.getComputedStyle(body);
2482      const htmlScrollbarGutterValue = htmlStyles.scrollbarGutter || "";
2483      const hasBothEdges = htmlScrollbarGutterValue.includes("both-edges");
2484      const scrollbarGutterValue = hasBothEdges ? "stable both-edges" : "stable";
2485      scrollTop = html.scrollTop;
2486      scrollLeft = html.scrollLeft;
2487      originalHtmlStyles = {
2488        scrollbarGutter: html.style.scrollbarGutter,
2489        overflowY: html.style.overflowY,
2490        overflowX: html.style.overflowX
2491      };
2492      originalHtmlScrollBehavior = html.style.scrollBehavior;
2493      originalBodyStyles = {
2494        position: body.style.position,
2495        height: body.style.height,
2496        width: body.style.width,
2497        boxSizing: body.style.boxSizing,
2498        overflowY: body.style.overflowY,
2499        overflowX: body.style.overflowX,
2500        scrollBehavior: body.style.scrollBehavior
2501      };
2502      const isScrollableY = html.scrollHeight > html.clientHeight;
2503      const isScrollableX = html.scrollWidth > html.clientWidth;
2504      const hasConstantOverflowY = htmlStyles.overflowY === "scroll" || bodyStyles.overflowY === "scroll";
2505      const hasConstantOverflowX = htmlStyles.overflowX === "scroll" || bodyStyles.overflowX === "scroll";
2506      const scrollbarWidth = Math.max(0, win.innerWidth - body.clientWidth);
2507      const scrollbarHeight = Math.max(0, win.innerHeight - body.clientHeight);
2508      const marginY = parseFloat(bodyStyles.marginTop) + parseFloat(bodyStyles.marginBottom);
2509      const marginX = parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight);
2510      const elementToLock = getViewportScroller(html, body);
2511      updateGutterOnly = supportsStableScrollbarGutter(referenceElement);
2512      if (updateGutterOnly) {
2513        html.style.scrollbarGutter = scrollbarGutterValue;
2514        elementToLock.style.overflowY = "hidden";
2515        elementToLock.style.overflowX = "hidden";
2516        return;
2517      }
2518      Object.assign(html.style, {
2519        scrollbarGutter: scrollbarGutterValue,
2520        overflowY: "hidden",
2521        overflowX: "hidden"
2522      });
2523      if (isScrollableY || hasConstantOverflowY) {
2524        html.style.overflowY = "scroll";
2525      }
2526      if (isScrollableX || hasConstantOverflowX) {
2527        html.style.overflowX = "scroll";
2528      }
2529      Object.assign(body.style, {
2530        position: "relative",
2531        height: marginY || scrollbarHeight ? `calc(100dvh - $marginY + scrollbarHeight}px)` : "100dvh",
2532        width: marginX || scrollbarWidth ? `calc(100vw - $marginX + scrollbarWidth}px)` : "100vw",
2533        boxSizing: "border-box",
2534        // Assign the longhands that `cleanup` restores, so nothing is left behind.
2535        overflowY: "hidden",
2536        overflowX: "hidden",
2537        scrollBehavior: "unset"
2538      });
2539      body.scrollTop = scrollTop;
2540      body.scrollLeft = scrollLeft;
2541      html.setAttribute("data-base-ui-scroll-locked", "");
2542      html.style.scrollBehavior = "unset";
2543    }
2544    function cleanup() {
2545      Object.assign(html.style, originalHtmlStyles);
2546      Object.assign(body.style, originalBodyStyles);
2547      if (!updateGutterOnly) {
2548        html.scrollTop = scrollTop;
2549        html.scrollLeft = scrollLeft;
2550        html.removeAttribute("data-base-ui-scroll-locked");
2551        html.style.scrollBehavior = originalHtmlScrollBehavior;
2552      }
2553    }
2554    function handleResize() {
2555      cleanup();
2556      resizeFrame.request(lockScroll);
2557    }
2558    lockScroll();
2559    const unsubscribeResize = addEventListener(win, "resize", handleResize);
2560    return () => {
2561      resizeFrame.cancel();
2562      cleanup();
2563      if (typeof win.removeEventListener === "function") {
2564        unsubscribeResize();
2565      }
2566    };
2567  }
2568  var ScrollLocker = class {
2569    lockCount = 0;
2570    restore = null;
2571    timeoutLock = Timeout.create();
2572    timeoutUnlock = Timeout.create();
2573    acquire(referenceElement) {
2574      this.lockCount += 1;
2575      if (this.lockCount === 1 && this.restore === null) {
2576        this.timeoutLock.start(0, () => this.lock(referenceElement));
2577      }
2578      return this.release;
2579    }
2580    release = () => {
2581      this.lockCount -= 1;
2582      if (this.lockCount === 0 && this.restore) {
2583        this.timeoutUnlock.start(0, this.unlock);
2584      }
2585    };
2586    unlock = () => {
2587      if (this.lockCount === 0 && this.restore) {
2588        this.restore?.();
2589        this.restore = null;
2590      }
2591    };
2592    lock(referenceElement) {
2593      if (this.lockCount === 0 || this.restore !== null) {
2594        return;
2595      }
2596      const doc = ownerDocument(referenceElement);
2597      const html = doc.documentElement;
2598      const body = doc.body;
2599      const win = getWindow(html);
2600      if (isPageScrollLocked(win, html, body)) {
2601        const observer = new win.MutationObserver(() => {
2602          if (isPageScrollLocked(win, html, body)) {
2603            return;
2604          }
2605          observer.disconnect();
2606          this.restore = null;
2607          this.lock(referenceElement);
2608        });
2609        const options = {
2610          attributes: true
2611        };
2612        observer.observe(html, options);
2613        observer.observe(body, options);
2614        this.restore = () => observer.disconnect();
2615        return;
2616      }
2617      const hasOverlayScrollbars = parts_exports.os.ios || !hasInsetScrollbars(referenceElement);
2618      this.restore = hasOverlayScrollbars ? preventScrollOverlayScrollbars(referenceElement) : preventScrollInsetScrollbars(referenceElement);
2619    }
2620  };
2621  var SCROLL_LOCKER = new ScrollLocker();
2622  function useScrollLock(enabled = true, referenceElement = null) {
2623    useIsoLayoutEffect(() => {
2624      if (!enabled) {
2625        return void 0;
2626      }
2627      return SCROLL_LOCKER.acquire(referenceElement);
2628    }, [enabled, referenceElement]);
2629  }
2630  
2631  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingDelayGroup.mjs
2632  var React19 = __toESM(require_react(), 1);
2633  
2634  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/event.mjs
2635  function stopEvent(event) {
2636    event.preventDefault();
2637    event.stopPropagation();
2638  }
2639  function isReactEvent(event) {
2640    return "nativeEvent" in event;
2641  }
2642  function isVirtualClick(event) {
2643    if (event.pointerType === "" && event.isTrusted) {
2644      return true;
2645    }
2646    if (parts_exports.os.android && event.pointerType) {
2647      return event.type === "click" && event.buttons === 1;
2648    }
2649    return event.detail === 0 && !event.pointerType;
2650  }
2651  function isVirtualPointerEvent(event) {
2652    if (parts_exports.env.jsdom) {
2653      return false;
2654    }
2655    return !parts_exports.os.android && event.width === 0 && event.height === 0 || // Chrome synthesizes a screen reader press (TalkBack, VoiceOver, NVDA) as a 1x1 mouse
2656    // `pointerdown` with no pressure. TalkBack can report a pressed button, while desktop
2657    // mouse presses can report no pressure, so only require no pressed button off Android.
2658    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.
2659    event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "touch";
2660  }
2661  function isMouseLikePointerType(pointerType, strict) {
2662    const values = ["mouse", "pen"];
2663    if (!strict) {
2664      values.push("", void 0);
2665    }
2666    return values.includes(pointerType);
2667  }
2668  function isClickLikeEvent(event) {
2669    const type = event.type;
2670    return type === "click" || type === "mousedown" || type === "keydown" || type === "keyup";
2671  }
2672  
2673  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/shadowDom.mjs
2674  function activeElement(doc) {
2675    let element = doc.activeElement;
2676    while (element?.shadowRoot?.activeElement != null) {
2677      element = element.shadowRoot.activeElement;
2678    }
2679    return element;
2680  }
2681  function contains(parent, child) {
2682    if (!parent || !child) {
2683      return false;
2684    }
2685    const rootNode = child.getRootNode?.();
2686    if (parent.contains(child)) {
2687      return true;
2688    }
2689    if (rootNode && isShadowRoot(rootNode)) {
2690      let next = child;
2691      while (next) {
2692        if (parent === next) {
2693          return true;
2694        }
2695        next = next.parentNode || next.host;
2696      }
2697    }
2698    return false;
2699  }
2700  function closest(node, selector) {
2701    let current = node;
2702    while (current) {
2703      if (isElement(current) && current.matches(selector)) {
2704        return current;
2705      }
2706      current = current.assignedSlot ?? current.parentNode ?? (isShadowRoot(current) ? current.host : null);
2707    }
2708    return null;
2709  }
2710  function getTarget(event) {
2711    if ("composedPath" in event) {
2712      return event.composedPath()[0] ?? event.target;
2713    }
2714    return event.target;
2715  }
2716  
2717  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/constants.mjs
2718  var FOCUSABLE_ATTRIBUTE = "data-base-ui-focusable";
2719  var TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
2720  var ARROW_LEFT = "ArrowLeft";
2721  var ARROW_RIGHT = "ArrowRight";
2722  var ARROW_UP = "ArrowUp";
2723  var ARROW_DOWN = "ArrowDown";
2724  
2725  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPopupDataAttributes.mjs
2726  var open = "data-open";
2727  var closed = "data-closed";
2728  var anchorHidden = "data-anchor-hidden";
2729  
2730  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonTriggerDataAttributes.mjs
2731  var CommonTriggerDataAttributes_exports = {};
2732  __export(CommonTriggerDataAttributes_exports, {
2733    popupOpen: () => popupOpen,
2734    pressed: () => pressed
2735  });
2736  var popupOpen = "data-popup-open";
2737  var pressed = "data-pressed";
2738  
2739  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popupStateMapping.mjs
2740  var TRIGGER_HOOK = {
2741    [popupOpen]: ""
2742  };
2743  var PRESSABLE_TRIGGER_HOOK = {
2744    [popupOpen]: "",
2745    [pressed]: ""
2746  };
2747  var POPUP_OPEN_HOOK = {
2748    [open]: ""
2749  };
2750  var POPUP_CLOSED_HOOK = {
2751    [closed]: ""
2752  };
2753  var ANCHOR_HIDDEN_HOOK = {
2754    [anchorHidden]: ""
2755  };
2756  var triggerOpenStateMapping = {
2757    open(value) {
2758      if (value) {
2759        return TRIGGER_HOOK;
2760      }
2761      return null;
2762    }
2763  };
2764  var pressableTriggerOpenStateMapping = {
2765    open(value) {
2766      if (value) {
2767        return PRESSABLE_TRIGGER_HOOK;
2768      }
2769      return null;
2770    }
2771  };
2772  var popupStateMapping = {
2773    open(value) {
2774      if (value) {
2775        return POPUP_OPEN_HOOK;
2776      }
2777      return POPUP_CLOSED_HOOK;
2778    },
2779    anchorHidden(value) {
2780      if (value) {
2781        return ANCHOR_HIDDEN_HOOK;
2782      }
2783      return null;
2784    }
2785  };
2786  var popupTransitionStateMapping = {
2787    ...popupStateMapping,
2788    ...transitionStatusMapping
2789  };
2790  
2791  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/trigger/TooltipTriggerDataAttributes.mjs
2792  var popupOpen2 = CommonTriggerDataAttributes_exports.popupOpen;
2793  var triggerDisabled = "data-trigger-disabled";
2794  
2795  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/element.mjs
2796  function isTargetInsideEnabledTrigger(target, triggerElements) {
2797    if (!isElement(target)) {
2798      return false;
2799    }
2800    const targetElement = target;
2801    if (triggerElements.hasElement(targetElement)) {
2802      return !targetElement.hasAttribute(triggerDisabled);
2803    }
2804    for (const [, trigger] of triggerElements.entries()) {
2805      if (contains(trigger, targetElement)) {
2806        return !trigger.hasAttribute(triggerDisabled);
2807      }
2808    }
2809    return false;
2810  }
2811  function isEventTargetWithin(event, node) {
2812    if (node == null) {
2813      return false;
2814    }
2815    if ("composedPath" in event) {
2816      return event.composedPath().includes(node);
2817    }
2818    const eventAgain = event;
2819    return eventAgain.target != null && node.contains(eventAgain.target);
2820  }
2821  function isRootElement(element) {
2822    return element.matches("html,body");
2823  }
2824  function isTypeableElement(element) {
2825    return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
2826  }
2827  function isInteractiveElement(element) {
2828    return closest(element, `button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),$TYPEABLE_SELECTOR}`) != null;
2829  }
2830  function isTypeableCombobox(element) {
2831    if (!element) {
2832      return false;
2833    }
2834    return element.getAttribute("role") === "combobox" && isTypeableElement(element);
2835  }
2836  function matchesFocusVisible(element) {
2837    if (!element || parts_exports.env.jsdom) {
2838      return true;
2839    }
2840    try {
2841      return element.matches(":focus-visible");
2842    } catch (_e) {
2843      return true;
2844    }
2845  }
2846  function getFloatingFocusElement(floatingElement) {
2847    if (!floatingElement) {
2848      return null;
2849    }
2850    return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(`[$FOCUSABLE_ATTRIBUTE}]`) || floatingElement;
2851  }
2852  
2853  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverShared.mjs
2854  function resolveValue(value, pointerType) {
2855    if (pointerType != null && !isMouseLikePointerType(pointerType)) {
2856      return 0;
2857    }
2858    if (typeof value === "function") {
2859      return value();
2860    }
2861    return value;
2862  }
2863  function getDelay(value, prop, pointerType) {
2864    const result = resolveValue(value, pointerType);
2865    if (typeof result === "number") {
2866      return result;
2867    }
2868    return result?.[prop];
2869  }
2870  function getRestMs(value) {
2871    if (typeof value === "function") {
2872      return value();
2873    }
2874    return value;
2875  }
2876  function isClickLikeOpenEvent(openEventType, interactedInside) {
2877    return interactedInside || openEventType === "click" || openEventType === "mousedown";
2878  }
2879  function isHoverOpenEvent(openEventType) {
2880    return openEventType?.includes("mouse") && openEventType !== "mousedown";
2881  }
2882  
2883  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingDelayGroup.mjs
2884  var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
2885  var FloatingDelayGroupContext = /* @__PURE__ */ React19.createContext({
2886    hasProvider: false,
2887    timeoutMs: 0,
2888    delayRef: {
2889      current: 0
2890    },
2891    initialDelayRef: {
2892      current: 0
2893    },
2894    timeout: new Timeout(),
2895    currentIdRef: {
2896      current: null
2897    },
2898    currentContextRef: {
2899      current: null
2900    }
2901  });
2902  if (true) FloatingDelayGroupContext.displayName = "FloatingDelayGroupContext";
2903  function resetDelayRef(delayRef, initialDelayRef) {
2904    delayRef.current = initialDelayRef.current;
2905  }
2906  function FloatingDelayGroup(props) {
2907    const {
2908      children,
2909      delay,
2910      timeoutMs = 0
2911    } = props;
2912    const delayRef = React19.useRef(delay);
2913    const initialDelayRef = React19.useRef(delay);
2914    const currentIdRef = React19.useRef(null);
2915    const currentContextRef = React19.useRef(null);
2916    const timeout = useTimeout();
2917    useIsoLayoutEffect(() => {
2918      initialDelayRef.current = delay;
2919      if (!currentIdRef.current) {
2920        delayRef.current = delay;
2921        return;
2922      }
2923      delayRef.current = {
2924        open: getDelay(delayRef.current, "open"),
2925        close: getDelay(delay, "close")
2926      };
2927    }, [delay, currentIdRef, delayRef, initialDelayRef]);
2928    return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FloatingDelayGroupContext.Provider, {
2929      value: React19.useMemo(() => ({
2930        hasProvider: true,
2931        delayRef,
2932        initialDelayRef,
2933        currentIdRef,
2934        timeoutMs,
2935        currentContextRef,
2936        timeout
2937      }), [timeoutMs, timeout]),
2938      children
2939    });
2940  }
2941  function useDelayGroup(store, options = {
2942    open: false
2943  }) {
2944    const {
2945      open: open2
2946    } = options;
2947    const floatingId = store.useState("floatingId");
2948    const groupContext = React19.useContext(FloatingDelayGroupContext);
2949    const {
2950      currentIdRef,
2951      delayRef,
2952      timeoutMs,
2953      initialDelayRef,
2954      currentContextRef,
2955      hasProvider,
2956      timeout
2957    } = groupContext;
2958    const [isInstantPhase, setIsInstantPhase] = React19.useState(false);
2959    const openRef = React19.useRef(open2);
2960    useIsoLayoutEffect(() => {
2961      openRef.current = open2;
2962    }, [open2]);
2963    useIsoLayoutEffect(() => {
2964      function unset() {
2965        currentContextRef.current?.setIsInstantPhase(false);
2966        currentIdRef.current = null;
2967        currentContextRef.current = null;
2968        delayRef.current = initialDelayRef.current;
2969        timeout.clear();
2970      }
2971      if (!currentIdRef.current) {
2972        return void 0;
2973      }
2974      if (!open2 && currentIdRef.current === floatingId) {
2975        setIsInstantPhase(false);
2976        if (timeoutMs) {
2977          const closingId = floatingId;
2978          timeout.start(timeoutMs, () => {
2979            if (store.select("open") || currentIdRef.current && currentIdRef.current !== closingId) {
2980              return;
2981            }
2982            unset();
2983          });
2984          return () => {
2985            if (openRef.current || currentIdRef.current !== closingId) {
2986              timeout.clear();
2987            }
2988          };
2989        }
2990        unset();
2991      }
2992      return void 0;
2993    }, [open2, floatingId, currentIdRef, delayRef, timeoutMs, initialDelayRef, currentContextRef, timeout, store]);
2994    useIsoLayoutEffect(() => {
2995      if (!open2) {
2996        return;
2997      }
2998      const prevContext = currentContextRef.current;
2999      const prevId = currentIdRef.current;
3000      timeout.clear();
3001      currentContextRef.current = {
3002        onOpenChange: store.setOpen,
3003        setIsInstantPhase
3004      };
3005      currentIdRef.current = floatingId;
3006      delayRef.current = {
3007        open: 0,
3008        close: getDelay(initialDelayRef.current, "close")
3009      };
3010      if (prevId !== null && prevId !== floatingId) {
3011        setIsInstantPhase(true);
3012        prevContext?.setIsInstantPhase(true);
3013        prevContext?.onOpenChange(false, createChangeEventDetails(reason_parts_exports.none));
3014      } else {
3015        setIsInstantPhase(false);
3016        prevContext?.setIsInstantPhase(false);
3017      }
3018    }, [open2, floatingId, store, currentIdRef, delayRef, initialDelayRef, currentContextRef, timeout]);
3019    useIsoLayoutEffect(() => {
3020      return () => {
3021        if (currentIdRef.current === floatingId) {
3022          currentContextRef.current = null;
3023          if (!openRef.current) {
3024            return;
3025          }
3026          currentIdRef.current = null;
3027          resetDelayRef(delayRef, initialDelayRef);
3028          timeout.clear();
3029        }
3030      };
3031    }, [currentContextRef, currentIdRef, delayRef, floatingId, initialDelayRef, timeout]);
3032    return React19.useMemo(() => ({
3033      activeIdRef: currentIdRef,
3034      hasProvider,
3035      delayRef,
3036      isInstantPhase
3037    }), [currentIdRef, hasProvider, delayRef, isInstantPhase]);
3038  }
3039  
3040  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingFocusManager.mjs
3041  var React23 = __toESM(require_react(), 1);
3042  
3043  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/mergeCleanups.mjs
3044  function mergeCleanups(...cleanups) {
3045    return () => {
3046      for (let i = 0; i < cleanups.length; i += 1) {
3047        const cleanup = cleanups[i];
3048        if (cleanup) {
3049          cleanup();
3050        }
3051      }
3052    };
3053  }
3054  
3055  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FocusGuard.mjs
3056  var React20 = __toESM(require_react(), 1);
3057  
3058  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/visuallyHidden.mjs
3059  var visuallyHiddenBase = {
3060    clipPath: "inset(50%)",
3061    overflow: "hidden",
3062    whiteSpace: "nowrap",
3063    border: 0,
3064    padding: 0,
3065    width: 1,
3066    height: 1,
3067    margin: -1
3068  };
3069  var visuallyHidden = {
3070    ...visuallyHiddenBase,
3071    position: "fixed",
3072    margin: 0,
3073    top: 0,
3074    left: 0
3075  };
3076  var visuallyHiddenInput = {
3077    ...visuallyHiddenBase,
3078    position: "absolute"
3079  };
3080  
3081  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FocusGuard.mjs
3082  var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
3083  var FocusGuard = /* @__PURE__ */ React20.forwardRef(function FocusGuard2(props, ref) {
3084    const [role, setRole] = React20.useState();
3085    useIsoLayoutEffect(() => {
3086      if (parts_exports.screenReader.voiceOver && parts_exports.engine.webkit) {
3087        setRole("button");
3088      }
3089    }, []);
3090    const restProps = {
3091      tabIndex: 0,
3092      // Role is only for VoiceOver
3093      role
3094    };
3095    return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", {
3096      ...props,
3097      ref,
3098      style: visuallyHidden,
3099      "aria-hidden": role ? void 0 : true,
3100      ...restProps,
3101      "data-base-ui-focus-guard": ""
3102    });
3103  });
3104  if (true) FocusGuard.displayName = "FocusGuard";
3105  
3106  // node_modules/.store/@floating-ui/utils@0.2.12-gOxTzMf36nCrbeHpEew-rw/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
3107  var min = Math.min;
3108  var max = Math.max;
3109  var round = Math.round;
3110  var floor = Math.floor;
3111  var createCoords = (v2) => ({
3112    x: v2,
3113    y: v2
3114  });
3115  var oppositeSideMap = {
3116    left: "right",
3117    right: "left",
3118    bottom: "top",
3119    top: "bottom"
3120  };
3121  function clamp(start, value, end) {
3122    return max(start, min(value, end));
3123  }
3124  function evaluate(value, param) {
3125    return typeof value === "function" ? value(param) : value;
3126  }
3127  function getSide(placement) {
3128    return placement.split("-")[0];
3129  }
3130  function getAlignment(placement) {
3131    return placement.split("-")[1];
3132  }
3133  function getOppositeAxis(axis) {
3134    return axis === "x" ? "y" : "x";
3135  }
3136  function getAxisLength(axis) {
3137    return axis === "y" ? "height" : "width";
3138  }
3139  function getSideAxis(placement) {
3140    const firstChar = placement[0];
3141    return firstChar === "t" || firstChar === "b" ? "y" : "x";
3142  }
3143  function getAlignmentAxis(placement) {
3144    return getOppositeAxis(getSideAxis(placement));
3145  }
3146  function getAlignmentSides(placement, rects, rtl) {
3147    if (rtl === void 0) {
3148      rtl = false;
3149    }
3150    const alignment = getAlignment(placement);
3151    const alignmentAxis = getAlignmentAxis(placement);
3152    const length = getAxisLength(alignmentAxis);
3153    let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top";
3154    if (rects.reference[length] > rects.floating[length]) {
3155      mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
3156    }
3157    return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];
3158  }
3159  function getExpandedPlacements(placement) {
3160    const oppositePlacement = getOppositePlacement(placement);
3161    return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
3162  }
3163  function getOppositeAlignmentPlacement(placement) {
3164    return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start");
3165  }
3166  var lrPlacement = ["left", "right"];
3167  var rlPlacement = ["right", "left"];
3168  var tbPlacement = ["top", "bottom"];
3169  var btPlacement = ["bottom", "top"];
3170  function getSideList(side, isStart, rtl) {
3171    switch (side) {
3172      case "top":
3173      case "bottom":
3174        if (rtl) return isStart ? rlPlacement : lrPlacement;
3175        return isStart ? lrPlacement : rlPlacement;
3176      case "left":
3177      case "right":
3178        return isStart ? tbPlacement : btPlacement;
3179      default:
3180        return [];
3181    }
3182  }
3183  function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
3184    const alignment = getAlignment(placement);
3185    let list = getSideList(getSide(placement), direction === "start", rtl);
3186    if (alignment) {
3187      list = list.map((side) => side + "-" + alignment);
3188      if (flipAlignment) {
3189        list = list.concat(list.map(getOppositeAlignmentPlacement));
3190      }
3191    }
3192    return list;
3193  }
3194  function getOppositePlacement(placement) {
3195    const side = getSide(placement);
3196    return oppositeSideMap[side] + placement.slice(side.length);
3197  }
3198  function expandPaddingObject(padding) {
3199    var _padding$top, _padding$right, _padding$bottom, _padding$left;
3200    return {
3201      top: (_padding$top = padding.top) != null ? _padding$top : 0,
3202      right: (_padding$right = padding.right) != null ? _padding$right : 0,
3203      bottom: (_padding$bottom = padding.bottom) != null ? _padding$bottom : 0,
3204      left: (_padding$left = padding.left) != null ? _padding$left : 0
3205    };
3206  }
3207  function getPaddingObject(padding) {
3208    return typeof padding !== "number" ? expandPaddingObject(padding) : {
3209      top: padding,
3210      right: padding,
3211      bottom: padding,
3212      left: padding
3213    };
3214  }
3215  function rectToClientRect(rect) {
3216    const {
3217      x: x2,
3218      y: y2,
3219      width,
3220      height
3221    } = rect;
3222    return {
3223      width,
3224      height,
3225      top: y2,
3226      left: x2,
3227      right: x2 + width,
3228      bottom: y2 + height,
3229      x: x2,
3230      y: y2
3231    };
3232  }
3233  
3234  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/composite.mjs
3235  function isIndexOutOfListBounds(list, index2) {
3236    return index2 < 0 || index2 >= list.length;
3237  }
3238  function getMinListIndex(listRef, disabledIndices) {
3239    return findNonDisabledListIndex(listRef.current, {
3240      disabledIndices
3241    });
3242  }
3243  function getMaxListIndex(listRef, disabledIndices) {
3244    return findNonDisabledListIndex(listRef.current, {
3245      decrement: true,
3246      startingIndex: listRef.current.length,
3247      disabledIndices
3248    });
3249  }
3250  function getNextListIndex(list, currentIndex, options) {
3251    const {
3252      decrement,
3253      loopFocus,
3254      allowEscape,
3255      disabledIndices,
3256      minIndex,
3257      maxIndex
3258    } = options;
3259    const step = () => findNonDisabledListIndex(list, {
3260      startingIndex: currentIndex,
3261      decrement,
3262      disabledIndices
3263    });
3264    let index2;
3265    let wrapped = false;
3266    if (!loopFocus) {
3267      index2 = decrement ? Math.max(minIndex, step()) : Math.min(maxIndex, step());
3268    } else if (decrement ? currentIndex <= minIndex : currentIndex >= maxIndex) {
3269      const outside = decrement ? -1 : list.length;
3270      if (allowEscape && currentIndex !== outside) {
3271        index2 = -1;
3272      } else {
3273        index2 = decrement ? maxIndex : minIndex;
3274        wrapped = true;
3275      }
3276    } else {
3277      index2 = step();
3278    }
3279    return {
3280      index: isIndexOutOfListBounds(list, index2) ? -1 : index2,
3281      wrapped
3282    };
3283  }
3284  function findNonDisabledListIndex(list, {
3285    startingIndex = -1,
3286    decrement = false,
3287    disabledIndices,
3288    amount = 1
3289  } = {}) {
3290    let index2 = startingIndex;
3291    do {
3292      index2 += decrement ? -amount : amount;
3293    } while (index2 >= 0 && index2 <= list.length - 1 && isListIndexDisabled(list, index2, disabledIndices));
3294    return index2;
3295  }
3296  function isListIndexDisabled(list, index2, disabledIndices) {
3297    const isExplicitlyDisabled = typeof disabledIndices === "function" ? disabledIndices(index2) : disabledIndices?.includes(index2) ?? false;
3298    if (isExplicitlyDisabled) {
3299      return true;
3300    }
3301    const element = list[index2];
3302    if (!element) {
3303      return false;
3304    }
3305    if (!isElementVisible(element)) {
3306      return true;
3307    }
3308    if (element.matches(":disabled")) {
3309      return true;
3310    }
3311    return !disabledIndices && (element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true");
3312  }
3313  function isHiddenByStyles(styles) {
3314    return styles.visibility === "hidden" || styles.visibility === "collapse";
3315  }
3316  function isElementVisible(element, styles = element ? getComputedStyle2(element) : null) {
3317    if (!element || !element.isConnected || !styles || isHiddenByStyles(styles)) {
3318      return false;
3319    }
3320    if (typeof element.checkVisibility === "function") {
3321      return element.checkVisibility();
3322    }
3323    return styles.display !== "none" && styles.display !== "contents";
3324  }
3325  
3326  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/tabbable.mjs
3327  var CANDIDATE_SELECTOR = 'a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]';
3328  function getParentElement(element) {
3329    const assignedSlot = element.assignedSlot;
3330    if (assignedSlot) {
3331      return assignedSlot;
3332    }
3333    if (element.parentElement) {
3334      return element.parentElement;
3335    }
3336    const rootNode = element.getRootNode();
3337    return isShadowRoot(rootNode) ? rootNode.host : null;
3338  }
3339  function getDetailsSummary(details) {
3340    for (const child of Array.from(details.children)) {
3341      if (getNodeName(child) === "summary") {
3342        return child;
3343      }
3344    }
3345    return null;
3346  }
3347  function isWithinOpenDetailsSummary(element, details) {
3348    const summary = getDetailsSummary(details);
3349    return !!summary && (element === summary || contains(summary, element));
3350  }
3351  function isFocusableCandidate(element) {
3352    const nodeName = element ? getNodeName(element) : "";
3353    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");
3354  }
3355  function isFocusableElement(element) {
3356    if (!isFocusableCandidate(element) || !element.isConnected || element.matches(":disabled")) {
3357      return false;
3358    }
3359    for (let current = element; current; current = getParentElement(current)) {
3360      const isAncestor = current !== element;
3361      const isSlot = getNodeName(current) === "slot";
3362      if (current.hasAttribute("inert")) {
3363        return false;
3364      }
3365      if (isAncestor && getNodeName(current) === "details" && !current.open && !isWithinOpenDetailsSummary(element, current) || current.hasAttribute("hidden") || !isSlot && !isVisibleInTabbableTree(current, isAncestor)) {
3366        return false;
3367      }
3368    }
3369    return true;
3370  }
3371  function isVisibleInTabbableTree(element, isAncestor) {
3372    const styles = getComputedStyle2(element);
3373    if (!isAncestor) {
3374      return isElementVisible(element, styles);
3375    }
3376    return styles.display !== "none";
3377  }
3378  function getTabIndex(element) {
3379    const tabIndex = element.tabIndex;
3380    if (tabIndex < 0) {
3381      const nodeName = getNodeName(element);
3382      if (nodeName === "details" || nodeName === "audio" || nodeName === "video" || isHTMLElement(element) && element.isContentEditable) {
3383        return 0;
3384      }
3385    }
3386    return tabIndex;
3387  }
3388  function getNamedRadioInput(element) {
3389    if (getNodeName(element) !== "input") {
3390      return null;
3391    }
3392    const input = element;
3393    return input.type === "radio" && input.name !== "" ? input : null;
3394  }
3395  function isTabbableRadio(element, candidates) {
3396    const input = getNamedRadioInput(element);
3397    if (!input) {
3398      return true;
3399    }
3400    const checkedRadio = candidates.find((candidate) => {
3401      const radio = getNamedRadioInput(candidate);
3402      return radio?.name === input.name && radio.form === input.form && radio.checked;
3403    });
3404    if (checkedRadio) {
3405      return checkedRadio === input;
3406    }
3407    return candidates.find((candidate) => {
3408      const radio = getNamedRadioInput(candidate);
3409      return radio?.name === input.name && radio.form === input.form;
3410    }) === input;
3411  }
3412  function getComposedChildren(container) {
3413    if (isHTMLElement(container) && getNodeName(container) === "slot") {
3414      const assignedElements = container.assignedElements({
3415        flatten: true
3416      });
3417      if (assignedElements.length > 0) {
3418        return assignedElements;
3419      }
3420    }
3421    if (isHTMLElement(container) && container.shadowRoot) {
3422      return Array.from(container.shadowRoot.children);
3423    }
3424    return Array.from(container.children);
3425  }
3426  function appendCandidates(container, list) {
3427    getComposedChildren(container).forEach((child) => {
3428      if (isFocusableCandidate(child)) {
3429        list.push(child);
3430      }
3431      appendCandidates(child, list);
3432    });
3433  }
3434  function appendMatchingElements(container, selector, list) {
3435    getComposedChildren(container).forEach((child) => {
3436      if (isHTMLElement(child) && child.matches(selector)) {
3437        list.push(child);
3438      }
3439      appendMatchingElements(child, selector, list);
3440    });
3441  }
3442  function isTabbable(element) {
3443    return isFocusableElement(element) && getTabIndex(element) >= 0;
3444  }
3445  function focusable(container) {
3446    const candidates = [];
3447    appendCandidates(container, candidates);
3448    return candidates.filter(isFocusableElement);
3449  }
3450  function tabbable(container) {
3451    const candidates = focusable(container);
3452    return candidates.filter((element) => getTabIndex(element) >= 0 && isTabbableRadio(element, candidates));
3453  }
3454  function getTabbableIn(container, dir) {
3455    const list = tabbable(container);
3456    const len = list.length;
3457    if (len === 0) {
3458      return void 0;
3459    }
3460    const active = activeElement(ownerDocument(container));
3461    const index2 = list.indexOf(active);
3462    const nextIndex = index2 === -1 ? dir === 1 ? 0 : len - 1 : index2 + dir;
3463    return list[nextIndex];
3464  }
3465  function getNextTabbable(referenceElement) {
3466    return getTabbableIn(ownerDocument(referenceElement).body, 1) || referenceElement;
3467  }
3468  function getPreviousTabbable(referenceElement) {
3469    return getTabbableIn(ownerDocument(referenceElement).body, -1) || referenceElement;
3470  }
3471  function getTabbableNearElement(referenceElement, direction, exclude) {
3472    if (!referenceElement) {
3473      return null;
3474    }
3475    const list = [];
3476    appendCandidates(ownerDocument(referenceElement).body, list);
3477    const index2 = list.indexOf(referenceElement);
3478    if (index2 === -1) {
3479      return null;
3480    }
3481    const candidates = list.filter(isFocusableElement);
3482    for (let offset4 = 1; offset4 < list.length; offset4 += 1) {
3483      const element = list[(index2 + direction * offset4 + list.length) % list.length];
3484      if (!contains(exclude, element) && isTabbable(element) && isTabbableRadio(element, candidates)) {
3485        return element;
3486      }
3487    }
3488    return list[index2];
3489  }
3490  function isOutsideEvent(event, container) {
3491    const containerElement = container || event.currentTarget;
3492    const relatedTarget = event.relatedTarget;
3493    return !relatedTarget || !contains(containerElement, relatedTarget);
3494  }
3495  function disableFocusInside(container) {
3496    const tabbableElements = tabbable(container);
3497    tabbableElements.forEach((element) => {
3498      element.dataset.tabindex = element.getAttribute("tabindex") || "";
3499      element.setAttribute("tabindex", "-1");
3500    });
3501  }
3502  function enableFocusInside(container) {
3503    const elements = [];
3504    appendMatchingElements(container, "[data-tabindex]", elements);
3505    elements.forEach((element) => {
3506      const tabindex = element.dataset.tabindex;
3507      delete element.dataset.tabindex;
3508      if (tabindex) {
3509        element.setAttribute("tabindex", tabindex);
3510      } else {
3511        element.removeAttribute("tabindex");
3512      }
3513    });
3514  }
3515  
3516  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/nodes.mjs
3517  function getNodeChildren(nodes, id, onlyOpenChildren = true) {
3518    const directChildren = nodes.filter((node) => node.parentId === id);
3519    return directChildren.flatMap((child) => [...!onlyOpenChildren || child.context?.open ? [child] : [], ...getNodeChildren(nodes, child.id, onlyOpenChildren)]);
3520  }
3521  function getNodeAncestors(nodes, id) {
3522    let allAncestors = [];
3523    let currentParentId = nodes.find((node) => node.id === id)?.parentId;
3524    while (currentParentId) {
3525      const currentNode = nodes.find((node) => node.id === currentParentId);
3526      currentParentId = currentNode?.parentId;
3527      if (currentNode) {
3528        allAncestors = allAncestors.concat(currentNode);
3529      }
3530    }
3531    return allAncestors;
3532  }
3533  
3534  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/createAttribute.mjs
3535  function createAttribute(name2) {
3536    return `data-base-ui-$name2}`;
3537  }
3538  
3539  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/enqueueFocus.mjs
3540  var rafId = 0;
3541  function enqueueFocus(el, options = {}) {
3542    const {
3543      preventScroll = false,
3544      sync = false,
3545      shouldFocus
3546    } = options;
3547    cancelAnimationFrame(rafId);
3548    function exec() {
3549      if (shouldFocus && !shouldFocus()) {
3550        return;
3551      }
3552      el?.focus({
3553        preventScroll
3554      });
3555    }
3556    if (sync) {
3557      exec();
3558      return NOOP;
3559    }
3560    const currentRafId = requestAnimationFrame(exec);
3561    rafId = currentRafId;
3562    return () => {
3563      if (rafId === currentRafId) {
3564        cancelAnimationFrame(currentRafId);
3565        rafId = 0;
3566      }
3567    };
3568  }
3569  
3570  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/markOthers.mjs
3571  var markerName = "data-base-ui-inert";
3572  var ariaHiddenCounterMap = /* @__PURE__ */ new WeakMap();
3573  var uncontrolledElementsSet = /* @__PURE__ */ new WeakSet();
3574  var markerCounterMap = /* @__PURE__ */ new WeakMap();
3575  var lockCount = 0;
3576  function unwrapHost(node) {
3577    if (!node) {
3578      return null;
3579    }
3580    return isShadowRoot(node) ? node.host : unwrapHost(node.parentNode);
3581  }
3582  var correctElements = (parent, targets) => targets.map((target) => {
3583    if (parent.contains(target)) {
3584      return target;
3585    }
3586    const correctedTarget = unwrapHost(target);
3587    if (parent.contains(correctedTarget)) {
3588      return correctedTarget;
3589    }
3590    return null;
3591  }).filter((x2) => x2 != null);
3592  var buildKeepSet = (targets) => {
3593    const keep = /* @__PURE__ */ new Set();
3594    targets.forEach((target) => {
3595      let node = target;
3596      while (node && !keep.has(node)) {
3597        keep.add(node);
3598        node = node.parentNode;
3599      }
3600    });
3601    return keep;
3602  };
3603  var collectOutsideElements = (root, keepElements, stopElements) => {
3604    const outside = [];
3605    const walk = (parent) => {
3606      if (!parent || stopElements.has(parent)) {
3607        return;
3608      }
3609      Array.from(parent.children).forEach((node) => {
3610        if (getNodeName(node) === "script") {
3611          return;
3612        }
3613        if (keepElements.has(node)) {
3614          walk(node);
3615        } else {
3616          outside.push(node);
3617        }
3618      });
3619    };
3620    walk(root);
3621    return outside;
3622  };
3623  function applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, {
3624    mark = true
3625  }) {
3626    const avoidElements = correctElements(body, uncorrectedAvoidElements);
3627    const markerTargets = mark ? collectOutsideElements(body, buildKeepSet(avoidElements), new Set(avoidElements)) : [];
3628    const hiddenElements = [];
3629    const markedElements = [];
3630    if (ariaHidden) {
3631      const ariaLiveElements = correctElements(body, Array.from(body.querySelectorAll("[aria-live]")));
3632      const controlElements = avoidElements.concat(ariaLiveElements);
3633      const controlTargets = collectOutsideElements(body, buildKeepSet(controlElements), new Set(controlElements));
3634      controlTargets.forEach((node) => {
3635        const attr2 = node.getAttribute("aria-hidden");
3636        const alreadyHidden = attr2 !== null && attr2 !== "false";
3637        const counterValue = (ariaHiddenCounterMap.get(node) || 0) + 1;
3638        ariaHiddenCounterMap.set(node, counterValue);
3639        hiddenElements.push(node);
3640        if (counterValue === 1 && alreadyHidden) {
3641          uncontrolledElementsSet.add(node);
3642        }
3643        if (!alreadyHidden) {
3644          node.setAttribute("aria-hidden", "true");
3645        }
3646      });
3647    }
3648    if (mark) {
3649      markerTargets.forEach((node) => {
3650        const markerValue = (markerCounterMap.get(node) || 0) + 1;
3651        markerCounterMap.set(node, markerValue);
3652        markedElements.push(node);
3653        if (markerValue === 1) {
3654          node.setAttribute(markerName, "");
3655        }
3656      });
3657    }
3658    lockCount += 1;
3659    return () => {
3660      hiddenElements.forEach((element) => {
3661        const counterValue = (ariaHiddenCounterMap.get(element) || 0) - 1;
3662        ariaHiddenCounterMap.set(element, counterValue);
3663        if (!counterValue) {
3664          if (!uncontrolledElementsSet.has(element)) {
3665            element.removeAttribute("aria-hidden");
3666          }
3667          uncontrolledElementsSet.delete(element);
3668        }
3669      });
3670      if (mark) {
3671        markedElements.forEach((element) => {
3672          const markerValue = (markerCounterMap.get(element) || 0) - 1;
3673          markerCounterMap.set(element, markerValue);
3674          if (!markerValue) {
3675            element.removeAttribute(markerName);
3676          }
3677        });
3678      }
3679      lockCount -= 1;
3680      if (!lockCount) {
3681        ariaHiddenCounterMap = /* @__PURE__ */ new WeakMap();
3682        uncontrolledElementsSet = /* @__PURE__ */ new WeakSet();
3683        markerCounterMap = /* @__PURE__ */ new WeakMap();
3684      }
3685    };
3686  }
3687  function markOthers(avoidElements, options = {}) {
3688    const {
3689      ariaHidden = false,
3690      mark = true
3691    } = options;
3692    const body = ownerDocument(avoidElements[0]).body;
3693    return applyAttributeToOthers(avoidElements, body, ariaHidden, {
3694      mark
3695    });
3696  }
3697  
3698  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs
3699  var React21 = __toESM(require_react(), 1);
3700  var ReactDOM2 = __toESM(require_react_dom(), 1);
3701  
3702  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/constants.mjs
3703  var TYPEAHEAD_RESET_MS = 500;
3704  var PATIENT_CLICK_THRESHOLD = 500;
3705  var DISABLED_TRANSITIONS_STYLE = {
3706    style: {
3707      transition: "none"
3708    }
3709  };
3710  var CLICK_TRIGGER_IDENTIFIER = "data-base-ui-click-trigger";
3711  var BASE_UI_SWIPE_IGNORE_ATTRIBUTE = "data-base-ui-swipe-ignore";
3712  var LEGACY_SWIPE_IGNORE_ATTRIBUTE = "data-swipe-ignore";
3713  var BASE_UI_SWIPE_IGNORE_SELECTOR = `[$BASE_UI_SWIPE_IGNORE_ATTRIBUTE}]`;
3714  var LEGACY_SWIPE_IGNORE_SELECTOR = `[$LEGACY_SWIPE_IGNORE_ATTRIBUTE}]`;
3715  var DROPDOWN_COLLISION_AVOIDANCE = {
3716    fallbackAxisSide: "none"
3717  };
3718  var POPUP_COLLISION_AVOIDANCE = {
3719    fallbackAxisSide: "end"
3720  };
3721  var ownerVisuallyHidden = {
3722    clipPath: "inset(50%)",
3723    position: "fixed",
3724    top: 0,
3725    left: 0
3726  };
3727  
3728  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs
3729  var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
3730  var PortalContext = /* @__PURE__ */ React21.createContext(null);
3731  if (true) PortalContext.displayName = "PortalContext";
3732  var usePortalContext = () => React21.useContext(PortalContext);
3733  var attr = createAttribute("portal");
3734  function useFloatingPortalNode(props = {}) {
3735    const {
3736      ref,
3737      container: containerProp,
3738      componentProps = EMPTY_OBJECT,
3739      elementProps
3740    } = props;
3741    const uniqueId = useId();
3742    const portalContext = usePortalContext();
3743    const parentPortalNode = portalContext?.portalNode;
3744    const [containerElement, setContainerElement] = React21.useState(null);
3745    const [portalNode, setPortalNode] = React21.useState(null);
3746    const setPortalNodeRef = useStableCallback((node) => {
3747      if (node !== null) {
3748        setPortalNode(node);
3749      }
3750    });
3751    const containerRef = React21.useRef(null);
3752    useIsoLayoutEffect(() => {
3753      if (containerProp === null) {
3754        if (containerRef.current) {
3755          containerRef.current = null;
3756          setPortalNode(null);
3757          setContainerElement(null);
3758        }
3759        return;
3760      }
3761      const resolvedContainer = (containerProp && (isNode(containerProp) ? containerProp : containerProp.current)) ?? parentPortalNode ?? document.body;
3762      if (resolvedContainer == null) {
3763        if (containerRef.current) {
3764          containerRef.current = null;
3765          setPortalNode(null);
3766          setContainerElement(null);
3767        }
3768        return;
3769      }
3770      if (containerRef.current !== resolvedContainer) {
3771        containerRef.current = resolvedContainer;
3772        setPortalNode(null);
3773        setContainerElement(resolvedContainer);
3774      }
3775    }, [containerProp, parentPortalNode]);
3776    const portalElement = useRenderElement("div", componentProps, {
3777      ref: [ref, setPortalNodeRef],
3778      props: [{
3779        id: uniqueId,
3780        [attr]: ""
3781      }, elementProps]
3782    });
3783    const portalSubtree = containerElement && portalElement ? /* @__PURE__ */ ReactDOM2.createPortal(portalElement, containerElement) : null;
3784    return {
3785      node: portalNode,
3786      // `id` and `render` props can override or remove the generated ID. Use the exact
3787      // rendered value so `aria-owns` never points at an ID absent from the DOM.
3788      nodeId: /* @__PURE__ */ React21.isValidElement(portalElement) ? portalElement.props.id : void 0,
3789      subtree: portalSubtree
3790    };
3791  }
3792  var FloatingPortal = /* @__PURE__ */ React21.forwardRef(function FloatingPortal2(componentProps, forwardedRef) {
3793    const {
3794      render,
3795      className,
3796      style,
3797      children,
3798      container,
3799      portalOwnerRole,
3800      ...elementProps
3801    } = componentProps;
3802    const {
3803      node: portalNode,
3804      nodeId: portalNodeId,
3805      subtree: portalSubtree
3806    } = useFloatingPortalNode({
3807      container,
3808      ref: forwardedRef,
3809      componentProps,
3810      elementProps
3811    });
3812    const beforeOutsideRef = React21.useRef(null);
3813    const afterOutsideRef = React21.useRef(null);
3814    const beforeInsideRef = React21.useRef(null);
3815    const afterInsideRef = React21.useRef(null);
3816    const [focusManagerState, setFocusManagerState] = React21.useState(null);
3817    const focusInsideDisabledRef = React21.useRef(false);
3818    const modal = focusManagerState?.modal;
3819    const open2 = focusManagerState?.open;
3820    const shouldRenderGuards = !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode;
3821    React21.useEffect(() => {
3822      if (!portalNode || modal) {
3823        return void 0;
3824      }
3825      function onFocus(event) {
3826        if (portalNode && event.relatedTarget && isOutsideEvent(event)) {
3827          if (event.type === "focusin") {
3828            if (focusInsideDisabledRef.current) {
3829              enableFocusInside(portalNode);
3830              focusInsideDisabledRef.current = false;
3831            }
3832          } else {
3833            disableFocusInside(portalNode);
3834            focusInsideDisabledRef.current = true;
3835          }
3836        }
3837      }
3838      return mergeCleanups(addEventListener(portalNode, "focusin", onFocus, true), addEventListener(portalNode, "focusout", onFocus, true));
3839    }, [portalNode, modal]);
3840    useIsoLayoutEffect(() => {
3841      if (!portalNode || open2 !== true || !focusInsideDisabledRef.current) {
3842        return;
3843      }
3844      enableFocusInside(portalNode);
3845      focusInsideDisabledRef.current = false;
3846    }, [open2, portalNode]);
3847    const portalContextValue = React21.useMemo(() => ({
3848      beforeOutsideRef,
3849      afterOutsideRef,
3850      beforeInsideRef,
3851      afterInsideRef,
3852      portalNode,
3853      setFocusManagerState
3854    }), [portalNode]);
3855    return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(React21.Fragment, {
3856      children: [portalSubtree, /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(PortalContext.Provider, {
3857        value: portalContextValue,
3858        children: [shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(FocusGuard, {
3859          "data-type": "outside",
3860          ref: beforeOutsideRef,
3861          onFocus: (event) => {
3862            if (isOutsideEvent(event, portalNode)) {
3863              beforeInsideRef.current?.focus();
3864            } else {
3865              const domReference = focusManagerState ? focusManagerState.domReference : null;
3866              const prevTabbable = getPreviousTabbable(domReference);
3867              prevTabbable?.focus();
3868            }
3869          }
3870        }), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", {
3871          role: portalOwnerRole,
3872          "aria-owns": portalNodeId,
3873          style: ownerVisuallyHidden
3874        }), portalNode && /* @__PURE__ */ ReactDOM2.createPortal(children, portalNode), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(FocusGuard, {
3875          "data-type": "outside",
3876          ref: afterOutsideRef,
3877          onFocus: (event) => {
3878            if (isOutsideEvent(event, portalNode)) {
3879              afterInsideRef.current?.focus();
3880            } else {
3881              const domReference = focusManagerState ? focusManagerState.domReference : null;
3882              const nextTabbable = getNextTabbable(domReference);
3883              nextTabbable?.focus();
3884              if (focusManagerState?.closeOnFocusOut) {
3885                focusManagerState?.onOpenChange(false, createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent));
3886              }
3887            }
3888          }
3889        })]
3890      })]
3891    });
3892  });
3893  if (true) FloatingPortal.displayName = "FloatingPortal";
3894  
3895  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs
3896  var React22 = __toESM(require_react(), 1);
3897  
3898  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/createEventEmitter.mjs
3899  function createEventEmitter() {
3900    const map = /* @__PURE__ */ new Map();
3901    return {
3902      emit(event, data) {
3903        map.get(event)?.forEach((listener) => listener(data));
3904      },
3905      on(event, listener) {
3906        if (!map.has(event)) {
3907          map.set(event, /* @__PURE__ */ new Set());
3908        }
3909        map.get(event).add(listener);
3910      },
3911      off(event, listener) {
3912        map.get(event)?.delete(listener);
3913      }
3914    };
3915  }
3916  
3917  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingTreeStore.mjs
3918  var FloatingTreeStore = class {
3919    nodesRef = {
3920      current: []
3921    };
3922    events = createEventEmitter();
3923    addNode(node) {
3924      this.nodesRef.current.push(node);
3925    }
3926    removeNode(node) {
3927      const index2 = this.nodesRef.current.findIndex((n) => n === node);
3928      if (index2 !== -1) {
3929        this.nodesRef.current.splice(index2, 1);
3930      }
3931    }
3932  };
3933  
3934  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs
3935  var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);
3936  var FloatingNodeContext = /* @__PURE__ */ React22.createContext(null);
3937  if (true) FloatingNodeContext.displayName = "FloatingNodeContext";
3938  var FloatingTreeContext = /* @__PURE__ */ React22.createContext(null);
3939  if (true) FloatingTreeContext.displayName = "FloatingTreeContext";
3940  var useFloatingParentNodeId = () => React22.useContext(FloatingNodeContext)?.id || null;
3941  var useFloatingTree = (externalTree) => {
3942    const contextTree = React22.useContext(FloatingTreeContext);
3943    return externalTree ?? contextTree;
3944  };
3945  function useFloatingNodeId(externalTree) {
3946    const id = useId();
3947    const tree = useFloatingTree(externalTree);
3948    const parentId = useFloatingParentNodeId();
3949    useIsoLayoutEffect(() => {
3950      if (!id) {
3951        return void 0;
3952      }
3953      const node = {
3954        id,
3955        parentId
3956      };
3957      tree?.addNode(node);
3958      return () => {
3959        tree?.removeNode(node);
3960      };
3961    }, [tree, id, parentId]);
3962    return id;
3963  }
3964  function FloatingNode(props) {
3965    const {
3966      children,
3967      id
3968    } = props;
3969    const parentId = useFloatingParentNodeId();
3970    return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(FloatingNodeContext.Provider, {
3971      value: React22.useMemo(() => ({
3972        id,
3973        parentId
3974      }), [id, parentId]),
3975      children
3976    });
3977  }
3978  function FloatingTree(props) {
3979    const {
3980      children,
3981      externalTree
3982    } = props;
3983    const tree = useRefWithInit(() => externalTree ?? new FloatingTreeStore()).current;
3984    return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(FloatingTreeContext.Provider, {
3985      value: tree,
3986      children
3987    });
3988  }
3989  
3990  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingFocusManager.mjs
3991  var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1);
3992  function getEventType(event, lastInteractionType) {
3993    const win = getWindow(getTarget(event));
3994    if (event instanceof win.KeyboardEvent) {
3995      return "keyboard";
3996    }
3997    if (event instanceof win.FocusEvent) {
3998      return lastInteractionType || "keyboard";
3999    }
4000    if ("pointerType" in event) {
4001      return event.pointerType || (isVirtualClick(event) ? "keyboard" : lastInteractionType || "mouse");
4002    }
4003    if ("touches" in event) {
4004      return "touch";
4005    }
4006    if (event instanceof win.MouseEvent) {
4007      return lastInteractionType || (event.detail === 0 ? "keyboard" : "mouse");
4008    }
4009    return "";
4010  }
4011  var LIST_LIMIT = 20;
4012  var previouslyFocusedElements = [];
4013  function clearDisconnectedPreviouslyFocusedElements() {
4014    previouslyFocusedElements = previouslyFocusedElements.filter((entry) => {
4015      return entry.deref()?.isConnected;
4016    });
4017  }
4018  function addPreviouslyFocusedElement(element) {
4019    clearDisconnectedPreviouslyFocusedElements();
4020    if (element && getNodeName(element) !== "body") {
4021      previouslyFocusedElements.push(new WeakRef(element));
4022      if (previouslyFocusedElements.length > LIST_LIMIT) {
4023        previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);
4024      }
4025    }
4026  }
4027  function getPreviouslyFocusedElement() {
4028    clearDisconnectedPreviouslyFocusedElements();
4029    return previouslyFocusedElements[previouslyFocusedElements.length - 1]?.deref();
4030  }
4031  function getFirstTabbableElement(container) {
4032    if (!container) {
4033      return null;
4034    }
4035    if (isTabbable(container)) {
4036      return container;
4037    }
4038    return tabbable(container)[0] || container;
4039  }
4040  function handleTabIndex(floatingFocusElement) {
4041    if (floatingFocusElement.hasAttribute("tabindex") && !floatingFocusElement.hasAttribute("data-tabindex")) {
4042      return;
4043    }
4044    if (!floatingFocusElement.getAttribute("role")?.includes("dialog")) {
4045      return;
4046    }
4047    const focusableElements = focusable(floatingFocusElement);
4048    const tabbableContent = focusableElements.filter((element) => {
4049      const dataTabIndex = element.getAttribute("data-tabindex") || "";
4050      return isTabbable(element) || element.hasAttribute("data-tabindex") && !dataTabIndex.startsWith("-");
4051    });
4052    const tabIndex = floatingFocusElement.getAttribute("tabindex");
4053    if (tabbableContent.length === 0) {
4054      if (tabIndex !== "0") {
4055        floatingFocusElement.setAttribute("tabindex", "0");
4056        floatingFocusElement.setAttribute("data-tabindex", "0");
4057      }
4058    } else if (tabIndex !== "-1" || floatingFocusElement.hasAttribute("data-tabindex") && floatingFocusElement.getAttribute("data-tabindex") !== "-1") {
4059      floatingFocusElement.setAttribute("tabindex", "-1");
4060      floatingFocusElement.setAttribute("data-tabindex", "-1");
4061    }
4062  }
4063  function FloatingFocusManager(props) {
4064    const {
4065      context: store,
4066      children,
4067      disabled: disabled2 = false,
4068      initialFocus = true,
4069      returnFocus = true,
4070      explicitReturnFocus,
4071      restoreFocus = false,
4072      modal = true,
4073      closeOnFocusOut = true,
4074      openInteractionType = "",
4075      nextFocusableElement,
4076      previousFocusableElement,
4077      beforeContentFocusGuardRef,
4078      externalTree,
4079      getInsideElements
4080    } = props;
4081    const open2 = store.useState("open");
4082    const domReference = store.useState("domReferenceElement");
4083    const floating = store.useState("floatingElement");
4084    const {
4085      events,
4086      dataRef
4087    } = store.context;
4088    const getNodeId = useStableCallback(() => dataRef.current.floatingContext?.nodeId);
4089    const ignoreInitialFocus = initialFocus === false;
4090    const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;
4091    const initialFocusRef = useValueAsRef(initialFocus);
4092    const returnFocusRef = useValueAsRef(returnFocus);
4093    const explicitReturnFocusRef = useValueAsRef(explicitReturnFocus);
4094    const openInteractionTypeRef = useValueAsRef(openInteractionType);
4095    const openRef = useValueAsRef(open2);
4096    const tree = useFloatingTree(externalTree);
4097    const portalContext = usePortalContext();
4098    const preventReturnFocusRef = React23.useRef(false);
4099    const isPointerDownRef = React23.useRef(false);
4100    const pointerDownOutsideRef = React23.useRef(false);
4101    const lastFocusedTabbableRef = React23.useRef(null);
4102    const closeTypeRef = React23.useRef("");
4103    const lastInteractionTypeRef = React23.useRef("");
4104    const beforeGuardRef = React23.useRef(null);
4105    const afterGuardRef = React23.useRef(null);
4106    const mergedBeforeGuardRef = useMergedRefs(beforeGuardRef, beforeContentFocusGuardRef, portalContext?.beforeInsideRef);
4107    const mergedAfterGuardRef = useMergedRefs(afterGuardRef, portalContext?.afterInsideRef);
4108    const blurTimeout = useTimeout();
4109    const pointerDownTimeout = useTimeout();
4110    const restoreFocusFrame = useAnimationFrame();
4111    const isInsidePortal = portalContext != null;
4112    const floatingFocusElement = getFloatingFocusElement(floating);
4113    const getTabbableContent = useStableCallback((container = floatingFocusElement) => {
4114      return container ? tabbable(container) : [];
4115    });
4116    const getResolvedInsideElements = useStableCallback(() => getInsideElements?.().filter((element) => element != null) ?? []);
4117    React23.useEffect(() => {
4118      if (disabled2 || !modal) {
4119        return void 0;
4120      }
4121      function onKeyDown(event) {
4122        if (event.key === "Tab") {
4123          if (contains(floatingFocusElement, activeElement(ownerDocument(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {
4124            stopEvent(event);
4125          }
4126        }
4127      }
4128      const doc = ownerDocument(floatingFocusElement);
4129      return addEventListener(doc, "keydown", onKeyDown);
4130    }, [disabled2, floatingFocusElement, modal, isUntrappedTypeableCombobox, getTabbableContent]);
4131    React23.useEffect(() => {
4132      if (disabled2 || !open2) {
4133        return void 0;
4134      }
4135      const doc = ownerDocument(floatingFocusElement);
4136      function clearPointerDownOutside() {
4137        pointerDownOutsideRef.current = false;
4138      }
4139      function onPointerDown(event) {
4140        const target = getTarget(event);
4141        const insideElements = getResolvedInsideElements();
4142        const pointerTargetInside = contains(floating, target) || contains(domReference, target) || contains(portalContext?.portalNode, target) || insideElements.some((element) => element === target || contains(element, target));
4143        pointerDownOutsideRef.current = !pointerTargetInside;
4144        lastInteractionTypeRef.current = event.pointerType || "keyboard";
4145        if (closest(target, `[$CLICK_TRIGGER_IDENTIFIER}]`)) {
4146          isPointerDownRef.current = true;
4147          pointerDownTimeout.start(0, () => {
4148            isPointerDownRef.current = false;
4149          });
4150        }
4151      }
4152      function onKeyDown() {
4153        lastInteractionTypeRef.current = "keyboard";
4154      }
4155      return mergeCleanups(
4156        addEventListener(doc, "pointerdown", onPointerDown, true),
4157        addEventListener(doc, "pointerup", clearPointerDownOutside, true),
4158        addEventListener(doc, "pointercancel", clearPointerDownOutside, true),
4159        addEventListener(doc, "keydown", onKeyDown, true),
4160        // Avoid a stale `true` leaking into the next open (e.g. keep-mounted popups)
4161        // if the popup dismissed between pointerdown and pointerup.
4162        clearPointerDownOutside
4163      );
4164    }, [disabled2, floating, domReference, floatingFocusElement, open2, portalContext, pointerDownTimeout, getResolvedInsideElements]);
4165    React23.useEffect(() => {
4166      if (disabled2 || !closeOnFocusOut) {
4167        return void 0;
4168      }
4169      const doc = ownerDocument(floatingFocusElement);
4170      function handlePointerDown() {
4171        isPointerDownRef.current = true;
4172        pointerDownTimeout.start(0, () => {
4173          isPointerDownRef.current = false;
4174        });
4175      }
4176      function handleFocusIn(event) {
4177        const target = getTarget(event);
4178        if (isTabbable(target)) {
4179          lastFocusedTabbableRef.current = target;
4180        }
4181      }
4182      function handleFocusOutside(event) {
4183        const relatedTarget = event.relatedTarget;
4184        const currentTarget = event.currentTarget;
4185        const target = getTarget(event);
4186        if (modal && relatedTarget == null && target != null && contains(floating, target)) {
4187          addPreviouslyFocusedElement(target);
4188        }
4189        queueMicrotask(() => {
4190          const nodeId = getNodeId();
4191          const triggers = store.context.triggerElements;
4192          const insideElements = getResolvedInsideElements();
4193          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);
4194          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)));
4195          if (currentTarget === domReference && floatingFocusElement) {
4196            handleTabIndex(floatingFocusElement);
4197          }
4198          if (restoreFocus && currentTarget !== domReference && !isElementVisible(target) && activeElement(doc) === doc.body) {
4199            if (isHTMLElement(floatingFocusElement)) {
4200              floatingFocusElement.focus();
4201              if (restoreFocus === "popup") {
4202                restoreFocusFrame.request(() => {
4203                  floatingFocusElement.focus();
4204                });
4205                return;
4206              }
4207            }
4208            const tabbableContent = getTabbableContent();
4209            const prevTabbable = lastFocusedTabbableRef.current;
4210            const nodeToFocus = (prevTabbable && tabbableContent.includes(prevTabbable) ? prevTabbable : null) || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;
4211            if (isHTMLElement(nodeToFocus)) {
4212              nodeToFocus.focus();
4213            }
4214          }
4215          if (dataRef.current.insideReactTree) {
4216            dataRef.current.insideReactTree = false;
4217            return;
4218          }
4219          if ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current && // Fix React 18 Strict Mode returnFocus due to double rendering.
4220          // For an "untrapped" typeable combobox (input role=combobox with
4221          // initialFocus=false), re-opening the popup and tabbing out should still close it even
4222          // when the previously focused element (e.g. the next tabbable outside the popup) is
4223          // focused again. Otherwise, the popup remains open on the second Tab sequence:
4224          // click input -> Tab (closes) -> click input -> Tab.
4225          // Allow closing when `isUntrappedTypeableCombobox` regardless of the previously focused element.
4226          (isUntrappedTypeableCombobox || relatedTarget !== getPreviouslyFocusedElement())) {
4227            preventReturnFocusRef.current = true;
4228            store.setOpen(false, createChangeEventDetails(reason_parts_exports.focusOut, event));
4229          }
4230        });
4231      }
4232      function markInsideReactTree() {
4233        if (pointerDownOutsideRef.current) {
4234          return;
4235        }
4236        dataRef.current.insideReactTree = true;
4237        blurTimeout.start(0, () => {
4238          dataRef.current.insideReactTree = false;
4239        });
4240      }
4241      const domReferenceElement = isHTMLElement(domReference) ? domReference : null;
4242      if (!floating && !domReferenceElement) {
4243        return void 0;
4244      }
4245      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));
4246    }, [disabled2, domReference, floating, floatingFocusElement, modal, tree, portalContext, store, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox, getNodeId, dataRef, blurTimeout, pointerDownTimeout, restoreFocusFrame, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);
4247    React23.useEffect(() => {
4248      if (disabled2 || !floating || !open2) {
4249        return void 0;
4250      }
4251      const portalNodes = Array.from(portalContext?.portalNode?.querySelectorAll(`[$createAttribute("portal")}]`) || []);
4252      const ancestors = tree ? getNodeAncestors(tree.nodesRef.current, getNodeId()) : [];
4253      const rootAncestorComboboxDomReference = ancestors.find((node) => isTypeableCombobox(node.context?.elements.domReference || null))?.context?.elements.domReference;
4254      const controlInsideElements = [floating, ...portalNodes, beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, ...getResolvedInsideElements()];
4255      const insideElements = [...controlInsideElements, rootAncestorComboboxDomReference, resolveRef(previousFocusableElement), resolveRef(nextFocusableElement), isUntrappedTypeableCombobox ? domReference : null].filter((x2) => x2 != null);
4256      const ariaHiddenCleanup = markOthers(insideElements, {
4257        ariaHidden: modal || isUntrappedTypeableCombobox,
4258        mark: false
4259      });
4260      const markerInsideElements = [floating, ...portalNodes].filter((x2) => x2 != null);
4261      const markerCleanup = markOthers(markerInsideElements);
4262      return () => {
4263        markerCleanup();
4264        ariaHiddenCleanup();
4265      };
4266    }, [open2, disabled2, domReference, floating, modal, portalContext, isUntrappedTypeableCombobox, tree, getNodeId, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);
4267    useIsoLayoutEffect(() => {
4268      if (!open2 || disabled2 || !isHTMLElement(floatingFocusElement)) {
4269        return;
4270      }
4271      closeTypeRef.current = "";
4272      lastInteractionTypeRef.current = "";
4273      const doc = ownerDocument(floatingFocusElement);
4274      const previouslyFocusedElement = activeElement(doc);
4275      queueMicrotask(() => {
4276        const initialFocusValueOrFn = initialFocusRef.current;
4277        const resolvedInitialFocus = typeof initialFocusValueOrFn === "function" ? initialFocusValueOrFn(openInteractionTypeRef.current || "") : initialFocusValueOrFn;
4278        if (resolvedInitialFocus === void 0 || resolvedInitialFocus === false) {
4279          return;
4280        }
4281        const focusAlreadyInsideFloatingEl = contains(floatingFocusElement, previouslyFocusedElement);
4282        if (focusAlreadyInsideFloatingEl) {
4283          return;
4284        }
4285        let focusableElements = null;
4286        const getDefaultFocusElement = () => {
4287          if (focusableElements == null) {
4288            focusableElements = getTabbableContent(floatingFocusElement);
4289          }
4290          return focusableElements[0] || floatingFocusElement;
4291        };
4292        let elToFocus;
4293        if (resolvedInitialFocus === true || resolvedInitialFocus === null) {
4294          elToFocus = getDefaultFocusElement();
4295        } else {
4296          elToFocus = resolveRef(resolvedInitialFocus);
4297        }
4298        elToFocus = elToFocus || getDefaultFocusElement();
4299        const hadFocusInside = contains(floatingFocusElement, activeElement(doc));
4300        const openEvent = dataRef.current.openEvent;
4301        const openedByVirtualPress = openEvent?.type === "mousedown" && isVirtualClick(openEvent);
4302        void enqueueFocus(elToFocus, {
4303          sync: openedByVirtualPress,
4304          preventScroll: elToFocus === floatingFocusElement,
4305          shouldFocus() {
4306            if (!openRef.current) {
4307              return false;
4308            }
4309            if (hadFocusInside) {
4310              return true;
4311            }
4312            const currentActiveElement = activeElement(doc);
4313            const focusMovedInside = currentActiveElement !== elToFocus && contains(floatingFocusElement, currentActiveElement);
4314            return !focusMovedInside;
4315          }
4316        });
4317      });
4318    }, [disabled2, open2, floatingFocusElement, getTabbableContent, initialFocusRef, openInteractionTypeRef, openRef, dataRef]);
4319    const pendingReturnFocusRef = React23.useRef(null);
4320    useIsoLayoutEffect(() => {
4321      if (disabled2 || !floatingFocusElement) {
4322        pendingReturnFocusRef.current = null;
4323        return void 0;
4324      }
4325      if (pendingReturnFocusRef.current) {
4326        pendingReturnFocusRef.current.cancelled = true;
4327        pendingReturnFocusRef.current = null;
4328      }
4329      const doc = ownerDocument(floatingFocusElement);
4330      const elementFocusedBeforeOpen = activeElement(doc);
4331      const preferPreviousFocus = openInteractionTypeRef.current == null;
4332      addPreviouslyFocusedElement(elementFocusedBeforeOpen);
4333      function onOpenChangeLocal(details) {
4334        if (!details.open) {
4335          closeTypeRef.current = getEventType(details.nativeEvent, lastInteractionTypeRef.current);
4336        }
4337        if (details.reason === reason_parts_exports.focusOut && details.triggerElement?.hasAttribute(createAttribute("focus-guard")) || details.reason === reason_parts_exports.triggerHover && details.nativeEvent.type === "mouseleave") {
4338          preventReturnFocusRef.current = true;
4339        }
4340        if (details.reason !== reason_parts_exports.outsidePress) {
4341          return;
4342        }
4343        if (details.nested) {
4344          preventReturnFocusRef.current = false;
4345        } else if (isVirtualClick(details.nativeEvent) || isVirtualPointerEvent(details.nativeEvent)) {
4346          preventReturnFocusRef.current = false;
4347        } else {
4348          let isPreventScrollSupported = false;
4349          ownerDocument(floatingFocusElement).createElement("div").focus({
4350            get preventScroll() {
4351              isPreventScrollSupported = true;
4352              return false;
4353            }
4354          });
4355          if (isPreventScrollSupported) {
4356            preventReturnFocusRef.current = false;
4357          } else {
4358            preventReturnFocusRef.current = true;
4359          }
4360        }
4361      }
4362      events.on("openchange", onOpenChangeLocal);
4363      function getReturnElement(closeType) {
4364        const returnFocusValueOrFn = returnFocusRef.current;
4365        let resolvedReturnFocusValue = typeof returnFocusValueOrFn === "function" ? returnFocusValueOrFn(closeType) : returnFocusValueOrFn;
4366        if (resolvedReturnFocusValue === void 0 || resolvedReturnFocusValue === false) {
4367          return null;
4368        }
4369        if (resolvedReturnFocusValue === null) {
4370          resolvedReturnFocusValue = true;
4371        }
4372        const referenceReturnElement = domReference?.isConnected ? domReference : null;
4373        const previousReturnElement = elementFocusedBeforeOpen?.isConnected && getNodeName(elementFocusedBeforeOpen) !== "body" ? elementFocusedBeforeOpen : null;
4374        let defaultReturnElement = preferPreviousFocus ? previousReturnElement || referenceReturnElement : referenceReturnElement || previousReturnElement;
4375        if (!defaultReturnElement) {
4376          defaultReturnElement = getPreviouslyFocusedElement() || null;
4377        }
4378        if (typeof resolvedReturnFocusValue === "boolean") {
4379          return defaultReturnElement;
4380        }
4381        return resolveRef(resolvedReturnFocusValue) || defaultReturnElement || null;
4382      }
4383      return () => {
4384        events.off("openchange", onOpenChangeLocal);
4385        const activeEl = activeElement(doc);
4386        const insideElements = getResolvedInsideElements();
4387        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));
4388        const returnFocusValueOrFn = returnFocusRef.current;
4389        const closeType = closeTypeRef.current;
4390        const returnElement = getReturnElement(closeType);
4391        const job = {
4392          cancelled: false
4393        };
4394        pendingReturnFocusRef.current = job;
4395        queueMicrotask(() => {
4396          if (pendingReturnFocusRef.current === job) {
4397            pendingReturnFocusRef.current = null;
4398          }
4399          const tabbableReturnElement = getFirstTabbableElement(returnElement);
4400          const hasExplicitReturnFocus = (
4401            // eslint-disable-next-line react-hooks/exhaustive-deps
4402            explicitReturnFocusRef.current ?? typeof returnFocusValueOrFn !== "boolean"
4403          );
4404          if (!job.cancelled && returnFocusValueOrFn && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && // If the focus moved somewhere else after mount, avoid returning focus
4405          // since it likely entered a different element which should be
4406          // respected: https://github.com/floating-ui/floating-ui/issues/2607
4407          (!hasExplicitReturnFocus && tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {
4408            const focusOptions = {
4409              preventScroll: true
4410            };
4411            if (closeType === "keyboard") {
4412              focusOptions.focusVisible = true;
4413            }
4414            tabbableReturnElement.focus(focusOptions);
4415          }
4416          preventReturnFocusRef.current = false;
4417        });
4418      };
4419    }, [disabled2, floating, floatingFocusElement, returnFocusRef, explicitReturnFocusRef, openInteractionTypeRef, events, tree, domReference, getNodeId, getResolvedInsideElements]);
4420    useIsoLayoutEffect(() => {
4421      if (!parts_exports.engine.webkit || open2 || !floating) {
4422        return;
4423      }
4424      const activeEl = activeElement(ownerDocument(floating));
4425      if (!isHTMLElement(activeEl) || !isTypeableElement(activeEl)) {
4426        return;
4427      }
4428      if (contains(floating, activeEl)) {
4429        activeEl.blur();
4430      }
4431    }, [open2, floating]);
4432    useIsoLayoutEffect(() => {
4433      if (disabled2 || !portalContext) {
4434        return void 0;
4435      }
4436      portalContext.setFocusManagerState({
4437        modal,
4438        closeOnFocusOut,
4439        open: open2,
4440        onOpenChange: store.setOpen,
4441        domReference
4442      });
4443      return () => {
4444        portalContext.setFocusManagerState(null);
4445      };
4446    }, [disabled2, portalContext, modal, open2, store, closeOnFocusOut, domReference]);
4447    useIsoLayoutEffect(() => {
4448      if (disabled2 || !floatingFocusElement) {
4449        return void 0;
4450      }
4451      handleTabIndex(floatingFocusElement);
4452      return () => {
4453        queueMicrotask(clearDisconnectedPreviouslyFocusedElements);
4454      };
4455    }, [disabled2, floatingFocusElement]);
4456    const shouldRenderGuards = !disabled2 && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);
4457    return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(React23.Fragment, {
4458      children: [shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(FocusGuard, {
4459        "data-type": "inside",
4460        ref: mergedBeforeGuardRef,
4461        onFocus: (event) => {
4462          if (modal) {
4463            const els = getTabbableContent();
4464            void enqueueFocus(els[els.length - 1]);
4465          } else if (portalContext?.portalNode) {
4466            preventReturnFocusRef.current = false;
4467            if (isOutsideEvent(event, portalContext.portalNode)) {
4468              const nextTabbable = getNextTabbable(domReference);
4469              nextTabbable?.focus();
4470            } else {
4471              resolveRef(previousFocusableElement ?? portalContext.beforeOutsideRef)?.focus();
4472            }
4473          }
4474        }
4475      }), children, shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(FocusGuard, {
4476        "data-type": "inside",
4477        ref: mergedAfterGuardRef,
4478        onFocus: (event) => {
4479          if (modal) {
4480            void enqueueFocus(getTabbableContent()[0]);
4481          } else if (portalContext?.portalNode) {
4482            if (closeOnFocusOut) {
4483              preventReturnFocusRef.current = true;
4484            }
4485            if (isOutsideEvent(event, portalContext.portalNode)) {
4486              const prevTabbable = getPreviousTabbable(domReference);
4487              prevTabbable?.focus();
4488            } else {
4489              resolveRef(nextFocusableElement ?? portalContext.afterOutsideRef)?.focus();
4490            }
4491          }
4492        }
4493      })]
4494    });
4495  }
4496  
4497  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useClick.mjs
4498  var React24 = __toESM(require_react(), 1);
4499  function useClick(store, props = {}) {
4500    const {
4501      enabled = true,
4502      event: eventOption = "click",
4503      toggle = true,
4504      ignoreMouse = false,
4505      stickIfOpen = true,
4506      touchOpenDelay = 0,
4507      reason = reason_parts_exports.triggerPress
4508    } = props;
4509    const dataRef = store.context.dataRef;
4510    const pointerTypeRef = React24.useRef(void 0);
4511    const frame = useAnimationFrame();
4512    const touchOpenTimeout = useTimeout();
4513    const reference = React24.useMemo(() => {
4514      function setOpenWithTouchDelay(nextOpen, nativeEvent, target, pointerType) {
4515        const details = createChangeEventDetails(reason, nativeEvent, target);
4516        if (nextOpen && pointerType === "touch" && touchOpenDelay > 0) {
4517          touchOpenTimeout.start(touchOpenDelay, () => {
4518            store.setOpen(true, details);
4519          });
4520        } else {
4521          store.setOpen(nextOpen, details);
4522        }
4523      }
4524      function getNextOpen(open2, currentTarget, isClickLikeOpenEvent2) {
4525        const openEvent = dataRef.current.openEvent;
4526        const hasClickedOnInactiveTrigger = store.select("domReferenceElement") !== currentTarget;
4527        if (open2 && hasClickedOnInactiveTrigger) {
4528          return true;
4529        }
4530        if (!open2) {
4531          return true;
4532        }
4533        if (!toggle) {
4534          return true;
4535        }
4536        if (openEvent && (typeof stickIfOpen === "function" ? stickIfOpen() : stickIfOpen)) {
4537          return !isClickLikeOpenEvent2(openEvent.type);
4538        }
4539        return false;
4540      }
4541      return {
4542        onPointerDown(event) {
4543          pointerTypeRef.current = isMouseLikePointerType(event.pointerType, true) && isVirtualPointerEvent(event.nativeEvent) ? "virtual" : event.pointerType;
4544        },
4545        onMouseDown(event) {
4546          const pointerType = pointerTypeRef.current;
4547          const nativeEvent = event.nativeEvent;
4548          const open2 = store.select("open");
4549          if (event.button !== 0 || eventOption === "click" || isMouseLikePointerType(pointerType, true) && ignoreMouse) {
4550            return;
4551          }
4552          const nextOpen = getNextOpen(open2, event.currentTarget, (openEventType) => openEventType === "click" || openEventType === "mousedown");
4553          const target = getTarget(nativeEvent);
4554          const isTypeable = isTypeableElement(target);
4555          if (isTypeable || pointerType === "virtual") {
4556            setOpenWithTouchDelay(nextOpen, nativeEvent, isTypeable ? target : event.currentTarget, pointerType);
4557            return;
4558          }
4559          const eventCurrentTarget = event.currentTarget;
4560          frame.request(() => {
4561            setOpenWithTouchDelay(nextOpen, nativeEvent, eventCurrentTarget, pointerType);
4562          });
4563        },
4564        onClick(event) {
4565          if (eventOption === "mousedown-only") {
4566            return;
4567          }
4568          const pointerType = pointerTypeRef.current;
4569          if (eventOption === "mousedown" && pointerType) {
4570            pointerTypeRef.current = void 0;
4571            return;
4572          }
4573          if (isMouseLikePointerType(pointerType, true) && ignoreMouse) {
4574            return;
4575          }
4576          const open2 = store.select("open");
4577          const nextOpen = getNextOpen(open2, event.currentTarget, (openEventType) => openEventType === "click" || openEventType === "mousedown" || openEventType === "keydown" || openEventType === "keyup");
4578          setOpenWithTouchDelay(nextOpen, event.nativeEvent, event.currentTarget, pointerType);
4579        },
4580        onKeyDown() {
4581          pointerTypeRef.current = void 0;
4582        }
4583      };
4584    }, [dataRef, eventOption, ignoreMouse, reason, store, stickIfOpen, toggle, frame, touchOpenTimeout, touchOpenDelay]);
4585    return React24.useMemo(() => enabled ? {
4586      reference
4587    } : EMPTY_OBJECT, [enabled, reference]);
4588  }
4589  
4590  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useClientPoint.mjs
4591  var React25 = __toESM(require_react(), 1);
4592  function createVirtualElement(domElement, data) {
4593    let offsetX = null;
4594    let offsetY = null;
4595    let isAutoUpdateEvent = false;
4596    return {
4597      contextElement: domElement || void 0,
4598      getBoundingClientRect() {
4599        const domRect = domElement?.getBoundingClientRect() || {
4600          width: 0,
4601          height: 0,
4602          x: 0,
4603          y: 0
4604        };
4605        const isXAxis = data.axis === "x" || data.axis === "both";
4606        const isYAxis = data.axis === "y" || data.axis === "both";
4607        const canTrackCursorOnAutoUpdate = ["mouseenter", "mousemove"].includes(data.dataRef.current.openEvent?.type || "") && data.pointerType !== "touch";
4608        const width = data.axis === "y" ? domRect.width : 0;
4609        const height = data.axis === "x" ? domRect.height : 0;
4610        let x2 = domRect.x;
4611        let y2 = domRect.y;
4612        if (offsetX == null && data.x && isXAxis) {
4613          offsetX = domRect.x - data.x;
4614        }
4615        if (offsetY == null && data.y && isYAxis) {
4616          offsetY = domRect.y - data.y;
4617        }
4618        x2 -= offsetX || 0;
4619        y2 -= offsetY || 0;
4620        if (!isAutoUpdateEvent || canTrackCursorOnAutoUpdate) {
4621          x2 = isXAxis && data.x != null ? data.x : x2;
4622          y2 = isYAxis && data.y != null ? data.y : y2;
4623        }
4624        isAutoUpdateEvent = true;
4625        return {
4626          width,
4627          height,
4628          x: x2,
4629          y: y2,
4630          top: y2,
4631          right: x2 + width,
4632          bottom: y2 + height,
4633          left: x2
4634        };
4635      }
4636    };
4637  }
4638  function isMouseBasedEvent(event) {
4639    return event != null && event.clientX != null;
4640  }
4641  function useClientPoint(store, props = {}) {
4642    const {
4643      enabled = true,
4644      axis = "both"
4645    } = props;
4646    const open2 = store.useState("open");
4647    const floating = store.useState("floatingElement");
4648    const domReference = store.useState("domReferenceElement");
4649    const dataRef = store.context.dataRef;
4650    const initialRef = React25.useRef(false);
4651    const cleanupListenerRef = React25.useRef(null);
4652    const [pointerType, setPointerType] = React25.useState();
4653    const [reactive, setReactive] = React25.useState([]);
4654    const resetReference = useStableCallback((reference2) => {
4655      store.set("positionReference", reference2);
4656    });
4657    const setReference = useStableCallback((newX, newY, referenceElement) => {
4658      if (initialRef.current) {
4659        return;
4660      }
4661      if (dataRef.current.openEvent && !isMouseBasedEvent(dataRef.current.openEvent)) {
4662        return;
4663      }
4664      store.set("positionReference", createVirtualElement(referenceElement ?? domReference, {
4665        x: newX,
4666        y: newY,
4667        axis,
4668        dataRef,
4669        pointerType
4670      }));
4671    });
4672    const handleReferenceEnterOrMove = useStableCallback((event) => {
4673      if (!open2) {
4674        setReference(event.clientX, event.clientY, event.currentTarget);
4675      } else if (!cleanupListenerRef.current) {
4676        setReference(event.clientX, event.clientY, event.currentTarget);
4677        setReactive([]);
4678      }
4679    });
4680    const openCheck = isMouseLikePointerType(pointerType) ? floating : open2;
4681    React25.useEffect(() => {
4682      if (!enabled) {
4683        resetReference(domReference);
4684        return void 0;
4685      }
4686      if (!openCheck) {
4687        return void 0;
4688      }
4689      function cleanupListener() {
4690        cleanupListenerRef.current?.();
4691        cleanupListenerRef.current = null;
4692      }
4693      const win = getWindow(floating);
4694      function handleMouseMove(event) {
4695        const target = getTarget(event);
4696        if (!contains(floating, target)) {
4697          setReference(event.clientX, event.clientY);
4698        } else {
4699          cleanupListener();
4700        }
4701      }
4702      if (!dataRef.current.openEvent || isMouseBasedEvent(dataRef.current.openEvent)) {
4703        cleanupListenerRef.current = addEventListener(win, "mousemove", handleMouseMove);
4704      } else {
4705        resetReference(domReference);
4706      }
4707      return cleanupListener;
4708    }, [openCheck, enabled, floating, dataRef, domReference, store, setReference, resetReference, reactive]);
4709    React25.useEffect(() => () => {
4710      store.set("positionReference", null);
4711    }, [store]);
4712    React25.useEffect(() => {
4713      if (enabled && !floating) {
4714        initialRef.current = false;
4715      }
4716    }, [enabled, floating]);
4717    React25.useEffect(() => {
4718      if (!enabled && open2) {
4719        initialRef.current = true;
4720      }
4721    }, [enabled, open2]);
4722    const reference = React25.useMemo(() => {
4723      function setPointerTypeRef(event) {
4724        setPointerType(event.pointerType);
4725      }
4726      return {
4727        onPointerDown: setPointerTypeRef,
4728        onPointerEnter: setPointerTypeRef,
4729        onMouseMove: handleReferenceEnterOrMove,
4730        onMouseEnter: handleReferenceEnterOrMove
4731      };
4732    }, [handleReferenceEnterOrMove]);
4733    return React25.useMemo(() => enabled ? {
4734      reference,
4735      trigger: reference
4736    } : {}, [enabled, reference]);
4737  }
4738  
4739  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useDismiss.mjs
4740  var React26 = __toESM(require_react(), 1);
4741  function alwaysFalse() {
4742    return false;
4743  }
4744  function normalizeProp(normalizable) {
4745    return {
4746      escapeKey: typeof normalizable === "boolean" ? normalizable : normalizable?.escapeKey ?? false,
4747      outsidePress: typeof normalizable === "boolean" ? normalizable : normalizable?.outsidePress ?? true
4748    };
4749  }
4750  function useDismiss(store, props = {}) {
4751    const {
4752      enabled = true,
4753      escapeKey: escapeKey2 = true,
4754      outsidePress: outsidePressProp = true,
4755      outsidePressEvent = "sloppy",
4756      referencePress = alwaysFalse,
4757      bubbles,
4758      externalTree
4759    } = props;
4760    const open2 = store.useState("open");
4761    const floatingElement = store.useState("floatingElement");
4762    const {
4763      dataRef,
4764      events
4765    } = store.context;
4766    const tree = useFloatingTree(externalTree);
4767    const outsidePressFn = useStableCallback(typeof outsidePressProp === "function" ? outsidePressProp : () => false);
4768    const outsidePress2 = typeof outsidePressProp === "function" ? outsidePressFn : outsidePressProp;
4769    const outsidePressEnabled = outsidePress2 !== false;
4770    const getOutsidePressEventProp = useStableCallback(() => outsidePressEvent);
4771    const {
4772      escapeKey: escapeKeyBubbles,
4773      outsidePress: outsidePressBubbles
4774    } = normalizeProp(bubbles);
4775    const pressStartedInsideRef = React26.useRef(false);
4776    const pressStartPreventedRef = React26.useRef(false);
4777    const suppressNextOutsideClickRef = React26.useRef(false);
4778    const sawPressWhileOpenRef = React26.useRef(false);
4779    const isComposingRef = React26.useRef(false);
4780    const currentPointerTypeRef = React26.useRef("");
4781    const touchStateRef = React26.useRef(null);
4782    const cancelDismissOnEndTimeout = useTimeout();
4783    const clearInsideReactTreeTimeout = useTimeout();
4784    const compositionTimeout = useTimeout();
4785    const clearInsideReactTree = useStableCallback(() => {
4786      clearInsideReactTreeTimeout.clear();
4787      dataRef.current.insideReactTree = false;
4788    });
4789    const hasBlockingChild = useStableCallback((bubbleKey) => {
4790      const nodeId = dataRef.current.floatingContext?.nodeId;
4791      const children = tree ? getNodeChildren(tree.nodesRef.current, nodeId) : [];
4792      return children.some((child) => child.context?.open && !child.context.dataRef.current[bubbleKey]);
4793    });
4794    const isEventWithinOwnElements = useStableCallback((event) => {
4795      return isEventTargetWithin(event, store.select("floatingElement")) || isEventTargetWithin(event, store.select("domReferenceElement"));
4796    });
4797    const closeOnReferencePress = useStableCallback((event) => {
4798      if (!referencePress()) {
4799        return;
4800      }
4801      store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerPress, event.nativeEvent));
4802    });
4803    const closeOnEscapeKeyDown = useStableCallback((event) => {
4804      if (!open2 || !enabled || !escapeKey2 || event.key !== "Escape") {
4805        return;
4806      }
4807      const native = isReactEvent(event) ? event.nativeEvent : event;
4808      if (isComposingRef.current || native.isComposing) {
4809        return;
4810      }
4811      if (!escapeKeyBubbles && hasBlockingChild("__escapeKeyBubbles")) {
4812        return;
4813      }
4814      const eventDetails = createChangeEventDetails(reason_parts_exports.escapeKey, native);
4815      store.setOpen(false, eventDetails);
4816      if (!eventDetails.isCanceled) {
4817        event.preventDefault();
4818      }
4819      if (!escapeKeyBubbles && !eventDetails.isPropagationAllowed) {
4820        event.stopPropagation();
4821      }
4822    });
4823    const markInsideReactTree = useStableCallback(() => {
4824      dataRef.current.insideReactTree = true;
4825      clearInsideReactTreeTimeout.start(0, clearInsideReactTree);
4826    });
4827    const markPressStartedInsideReactTree = useStableCallback((event) => {
4828      if (!open2 || !enabled || event.button !== 0) {
4829        return;
4830      }
4831      const target = getTarget(event.nativeEvent);
4832      if (!contains(store.select("floatingElement"), target)) {
4833        return;
4834      }
4835      if (!pressStartedInsideRef.current) {
4836        pressStartedInsideRef.current = true;
4837        pressStartPreventedRef.current = false;
4838      }
4839    });
4840    const markInsidePressStartPrevented = useStableCallback((event) => {
4841      if (!open2 || !enabled) {
4842        return;
4843      }
4844      if (!(event.defaultPrevented || event.nativeEvent.defaultPrevented)) {
4845        return;
4846      }
4847      if (pressStartedInsideRef.current) {
4848        pressStartPreventedRef.current = true;
4849      }
4850    });
4851    React26.useEffect(() => {
4852      function handleOpenChange(details) {
4853        if (!details.open) {
4854          sawPressWhileOpenRef.current = false;
4855        }
4856      }
4857      events.on("openchange", handleOpenChange);
4858      return () => {
4859        events.off("openchange", handleOpenChange);
4860      };
4861    }, [events]);
4862    React26.useEffect(() => clearInsideReactTree, [clearInsideReactTree]);
4863    React26.useEffect(() => {
4864      if (!open2 || !enabled) {
4865        if (!open2) {
4866          sawPressWhileOpenRef.current = false;
4867          isComposingRef.current = false;
4868          currentPointerTypeRef.current = "";
4869          touchStateRef.current = null;
4870        }
4871        return clearInsideReactTree;
4872      }
4873      dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;
4874      dataRef.current.__outsidePressBubbles = outsidePressBubbles;
4875      const preventedPressSuppressionTimeout = new Timeout();
4876      const doc = ownerDocument(floatingElement);
4877      function handleCompositionStart() {
4878        compositionTimeout.clear();
4879        isComposingRef.current = true;
4880      }
4881      function handleCompositionEnd() {
4882        isComposingRef.current = true;
4883        compositionTimeout.start(
4884          // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.
4885          // Only apply to WebKit for the test to remain 0ms.
4886          parts_exports.engine.webkit ? 5 : 0,
4887          () => {
4888            isComposingRef.current = false;
4889          }
4890        );
4891      }
4892      function suppressImmediateOutsideClickAfterPreventedStart() {
4893        suppressNextOutsideClickRef.current = true;
4894        preventedPressSuppressionTimeout.start(0, () => {
4895          suppressNextOutsideClickRef.current = false;
4896        });
4897      }
4898      function resetPressStartState() {
4899        pressStartedInsideRef.current = false;
4900        pressStartPreventedRef.current = false;
4901      }
4902      function getOutsidePressEvent() {
4903        const type = currentPointerTypeRef.current;
4904        const computedType = type === "pen" || !type ? "mouse" : type;
4905        const outsidePressEventValue = getOutsidePressEventProp();
4906        const resolved = typeof outsidePressEventValue === "function" ? outsidePressEventValue() : outsidePressEventValue;
4907        if (typeof resolved === "string") {
4908          return resolved;
4909        }
4910        return resolved[computedType];
4911      }
4912      function shouldIgnoreEvent(event) {
4913        const computedOutsidePressEvent = getOutsidePressEvent();
4914        return computedOutsidePressEvent === "intentional" && event.type !== "click" || computedOutsidePressEvent === "sloppy" && event.type === "click";
4915      }
4916      function isEventWithinFloatingTree(event) {
4917        const nodeId = dataRef.current.floatingContext?.nodeId;
4918        const targetIsInsideChildren = tree && getNodeChildren(tree.nodesRef.current, nodeId).some((node) => isEventTargetWithin(event, node.context?.elements.floating));
4919        return isEventWithinOwnElements(event) || targetIsInsideChildren;
4920      }
4921      function closeOnPressOutside(event) {
4922        if (shouldIgnoreEvent(event)) {
4923          if (event.type !== "click" && !isEventWithinOwnElements(event)) {
4924            preventedPressSuppressionTimeout.clear();
4925            suppressNextOutsideClickRef.current = false;
4926          }
4927          clearInsideReactTree();
4928          return;
4929        }
4930        if (dataRef.current.insideReactTree) {
4931          clearInsideReactTree();
4932          return;
4933        }
4934        const target = getTarget(event);
4935        const inertSelector = `[$createAttribute("inert")}]`;
4936        const targetRoot = isElement(target) ? target.getRootNode() : null;
4937        const markers = Array.from((isShadowRoot(targetRoot) ? targetRoot : ownerDocument(store.select("floatingElement"))).querySelectorAll(inertSelector));
4938        const triggers = store.context.triggerElements;
4939        if (target && (triggers.hasElement(target) || triggers.hasMatchingElement((trigger) => contains(trigger, target)))) {
4940          return;
4941        }
4942        let targetRootAncestor = isElement(target) ? target : null;
4943        while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {
4944          const nextParent = getParentNode(targetRootAncestor);
4945          if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {
4946            break;
4947          }
4948          targetRootAncestor = nextParent;
4949        }
4950        if (markers.length && isElement(target) && !isRootElement(target) && // Clicked on a direct ancestor (e.g. FloatingOverlay).
4951        !contains(target, store.select("floatingElement")) && // If the target root element contains none of the markers, then the
4952        // element was injected after the floating element rendered.
4953        markers.every((marker) => !contains(targetRootAncestor, marker))) {
4954          return;
4955        }
4956        if (isHTMLElement(target) && !("touches" in event)) {
4957          const lastTraversableNode = isLastTraversableNode(target);
4958          const style = getComputedStyle2(target);
4959          const scrollRe = /auto|scroll/;
4960          const isScrollableX = lastTraversableNode || scrollRe.test(style.overflowX);
4961          const isScrollableY = lastTraversableNode || scrollRe.test(style.overflowY);
4962          const canScrollX = isScrollableX && target.clientWidth > 0 && target.scrollWidth > target.clientWidth;
4963          const canScrollY = isScrollableY && target.clientHeight > 0 && target.scrollHeight > target.clientHeight;
4964          const isRTL12 = style.direction === "rtl";
4965          const pressedVerticalScrollbar = canScrollY && (isRTL12 ? event.offsetX <= target.offsetWidth - target.clientWidth : event.offsetX > target.clientWidth);
4966          const pressedHorizontalScrollbar = canScrollX && event.offsetY > target.clientHeight;
4967          if (pressedVerticalScrollbar || pressedHorizontalScrollbar) {
4968            return;
4969          }
4970        }
4971        if (isEventWithinFloatingTree(event)) {
4972          return;
4973        }
4974        if (getOutsidePressEvent() === "intentional") {
4975          if (event.detail !== 0 && !isVirtualClick(event) && !sawPressWhileOpenRef.current) {
4976            return;
4977          }
4978          if (suppressNextOutsideClickRef.current) {
4979            preventedPressSuppressionTimeout.clear();
4980            suppressNextOutsideClickRef.current = false;
4981            return;
4982          }
4983        }
4984        if (typeof outsidePress2 === "function" && !outsidePress2(event)) {
4985          return;
4986        }
4987        if (hasBlockingChild("__outsidePressBubbles")) {
4988          return;
4989        }
4990        store.setOpen(false, createChangeEventDetails(reason_parts_exports.outsidePress, event));
4991        clearInsideReactTree();
4992      }
4993      function handlePointerDown(event) {
4994        if (getOutsidePressEvent() !== "sloppy" || event.pointerType === "touch" || !store.select("open") || !enabled || isEventWithinOwnElements(event)) {
4995          return;
4996        }
4997        closeOnPressOutside(event);
4998      }
4999      function handleTouchStart(event) {
5000        if (getOutsidePressEvent() !== "sloppy" || !store.select("open") || !enabled || isEventWithinOwnElements(event)) {
5001          return;
5002        }
5003        const touch = event.touches[0];
5004        if (touch) {
5005          touchStateRef.current = {
5006            startTime: Date.now(),
5007            startX: touch.clientX,
5008            startY: touch.clientY,
5009            dismissOnTouchEnd: false,
5010            dismissOnMouseDown: true
5011          };
5012          cancelDismissOnEndTimeout.start(1e3, () => {
5013            if (touchStateRef.current) {
5014              touchStateRef.current.dismissOnTouchEnd = false;
5015              touchStateRef.current.dismissOnMouseDown = false;
5016            }
5017          });
5018        }
5019      }
5020      function addTargetEventListenerOnce(event, listener) {
5021        const target = getTarget(event);
5022        if (!target) {
5023          return;
5024        }
5025        const unsubscribe2 = addEventListener(target, event.type, () => {
5026          listener(event);
5027          unsubscribe2();
5028        });
5029      }
5030      function handleTouchStartCapture(event) {
5031        currentPointerTypeRef.current = "touch";
5032        addTargetEventListenerOnce(event, handleTouchStart);
5033      }
5034      function closeOnPressOutsideCapture(event) {
5035        cancelDismissOnEndTimeout.clear();
5036        if (event.type === "pointerdown") {
5037          if (event.button === 0) {
5038            sawPressWhileOpenRef.current = true;
5039          }
5040          currentPointerTypeRef.current = event.pointerType;
5041        }
5042        if (event.type === "mousedown" && touchStateRef.current && !touchStateRef.current.dismissOnMouseDown) {
5043          return;
5044        }
5045        addTargetEventListenerOnce(event, (targetEvent) => {
5046          if (targetEvent.type === "pointerdown") {
5047            handlePointerDown(targetEvent);
5048          } else {
5049            closeOnPressOutside(targetEvent);
5050          }
5051        });
5052      }
5053      function handlePressEndCapture(event) {
5054        if (event.type === "pointercancel") {
5055          sawPressWhileOpenRef.current = false;
5056        }
5057        if (!pressStartedInsideRef.current) {
5058          return;
5059        }
5060        const pressStartedInsideDefaultPrevented = pressStartPreventedRef.current;
5061        resetPressStartState();
5062        if (getOutsidePressEvent() !== "intentional") {
5063          return;
5064        }
5065        if (event.type === "pointercancel") {
5066          if (pressStartedInsideDefaultPrevented) {
5067            suppressImmediateOutsideClickAfterPreventedStart();
5068          }
5069          return;
5070        }
5071        if (isEventWithinFloatingTree(event)) {
5072          return;
5073        }
5074        if (pressStartedInsideDefaultPrevented) {
5075          suppressImmediateOutsideClickAfterPreventedStart();
5076          return;
5077        }
5078        if (typeof outsidePress2 === "function" && !outsidePress2(event)) {
5079          return;
5080        }
5081        preventedPressSuppressionTimeout.clear();
5082        suppressNextOutsideClickRef.current = true;
5083        clearInsideReactTree();
5084      }
5085      function handleTouchMove(event) {
5086        if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) {
5087          return;
5088        }
5089        const touch = event.touches[0];
5090        if (!touch) {
5091          return;
5092        }
5093        const deltaX = Math.abs(touch.clientX - touchStateRef.current.startX);
5094        const deltaY = Math.abs(touch.clientY - touchStateRef.current.startY);
5095        const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
5096        if (distance > 5) {
5097          touchStateRef.current.dismissOnTouchEnd = true;
5098        }
5099        if (distance > 10) {
5100          closeOnPressOutside(event);
5101          cancelDismissOnEndTimeout.clear();
5102          touchStateRef.current = null;
5103        }
5104      }
5105      function handleTouchMoveCapture(event) {
5106        addTargetEventListenerOnce(event, handleTouchMove);
5107      }
5108      function handleTouchEnd(event) {
5109        if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) {
5110          return;
5111        }
5112        if (touchStateRef.current.dismissOnTouchEnd) {
5113          closeOnPressOutside(event);
5114        }
5115        cancelDismissOnEndTimeout.clear();
5116        touchStateRef.current = null;
5117      }
5118      function handleTouchEndCapture(event) {
5119        addTargetEventListenerOnce(event, handleTouchEnd);
5120      }
5121      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, {
5122        capture: true,
5123        passive: true
5124      }), addEventListener(doc, "touchmove", handleTouchMoveCapture, {
5125        capture: true,
5126        passive: true
5127      }), addEventListener(doc, "touchend", handleTouchEndCapture, {
5128        capture: true,
5129        passive: true
5130      })));
5131      return () => {
5132        unsubscribe();
5133        preventedPressSuppressionTimeout.clear();
5134        resetPressStartState();
5135        suppressNextOutsideClickRef.current = false;
5136      };
5137    }, [dataRef, floatingElement, escapeKey2, outsidePressEnabled, outsidePress2, open2, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, clearInsideReactTree, getOutsidePressEventProp, hasBlockingChild, isEventWithinOwnElements, tree, store, cancelDismissOnEndTimeout, compositionTimeout]);
5138    const reference = React26.useMemo(() => ({
5139      onKeyDown: closeOnEscapeKeyDown,
5140      onPointerDown: closeOnReferencePress,
5141      onClick: closeOnReferencePress
5142    }), [closeOnEscapeKeyDown, closeOnReferencePress]);
5143    const floating = React26.useMemo(() => ({
5144      onKeyDown: closeOnEscapeKeyDown,
5145      // `onMouseDown` may be blocked if `event.preventDefault()` is called in
5146      // `onPointerDown`, such as with <NumberField.ScrubArea>.
5147      // See https://github.com/mui/base-ui/pull/3379
5148      onPointerDown: markInsidePressStartPrevented,
5149      onMouseDown: markInsidePressStartPrevented,
5150      onClickCapture: markInsideReactTree,
5151      onMouseDownCapture(event) {
5152        markInsideReactTree();
5153        markPressStartedInsideReactTree(event);
5154      },
5155      onPointerDownCapture(event) {
5156        markInsideReactTree();
5157        markPressStartedInsideReactTree(event);
5158      },
5159      onMouseUpCapture: markInsideReactTree,
5160      onTouchEndCapture: markInsideReactTree,
5161      onTouchMoveCapture: markInsideReactTree
5162    }), [closeOnEscapeKeyDown, markInsideReactTree, markPressStartedInsideReactTree, markInsidePressStartPrevented]);
5163    return React26.useMemo(() => enabled ? {
5164      reference,
5165      floating,
5166      trigger: reference
5167    } : {}, [enabled, reference, floating]);
5168  }
5169  
5170  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupHandle.mjs
5171  var BasePopupHandle = class {
5172    /**
5173     * Stores of every root currently using this handle, in attach order. A handle is meant to be used
5174     * by a single mounted root, but roots can transiently overlap (e.g. during an animated route
5175     * transition), so this stack lets `attachStore`'s cleanup restore the previous root instead of
5176     * leaving a still-mounted root uncontrollable when a newer overlapping root detaches first.
5177     */
5178    attachedStores = [];
5179    /**
5180     * Store of the root that currently controls the handle: the most recently attached one still
5181     * mounted, or `null` when no root is attached. Imperative methods are no-ops while this is `null`.
5182     */
5183    attachedStoreValue = null;
5184    /**
5185     * Listeners notified when `attachedStore` changes, so detached triggers can follow the store pointer.
5186     */
5187    storeListeners = /* @__PURE__ */ new Set();
5188    /**
5189     * Creates a handle backed by the store used while no root is attached.
5190     *
5191     * @param fallbackStore Inert, closed store handed to detached triggers while no root is attached,
5192     * so they can render and register without a mounted root. Triggers register into whichever store
5193     * `store` currently resolves to, so while detached they live in this store's trigger map and
5194     * migrate themselves to the root's store (and back) as it attaches/detaches.
5195     * @param componentName Component name used to prefix dev warnings, e.g. `'Menu'` produces
5196     * `MenuHandle.open()` in warning text.
5197     * @param throwOnMissingTrigger Whether `open(triggerId)` throws when no trigger with that id is
5198     * registered. Anchored popups (Menu, Popover, Tooltip, PreviewCard) need a trigger to anchor to,
5199     * so they throw; Dialog is not anchored and instead opens unassociated with a dev warning.
5200     */
5201    constructor(fallbackStore, componentName, throwOnMissingTrigger = true) {
5202      this.fallbackStore = fallbackStore;
5203      this.componentName = componentName;
5204      this.throwOnMissingTrigger = throwOnMissingTrigger;
5205    }
5206    get attachedStore() {
5207      return this.attachedStoreValue;
5208    }
5209    /**
5210     * Store that detached triggers read from: the attached root's store, or an inert fallback store
5211     * used while no root is attached.
5212     * @internal
5213     */
5214    get store() {
5215      return this.attachedStoreValue ?? this.fallbackStore;
5216    }
5217    /**
5218     * Stable fallback store used for server rendering and hydration. Root stores cannot be recorded on
5219     * the handle during render because a handle can be shared by concurrent server-rendered requests.
5220     * @internal
5221     */
5222    get serverStore() {
5223      return this.fallbackStore;
5224    }
5225    /**
5226     * Subscribes to changes of the attached store pointer so detached triggers re-render and re-bind
5227     * when a root attaches or detaches. Returns a function that removes the listener.
5228     * @internal
5229     */
5230    subscribeStore(listener) {
5231      this.storeListeners.add(listener);
5232      return () => {
5233        this.storeListeners.delete(listener);
5234      };
5235    }
5236    /**
5237     * Points the handle at a root's store and notifies subscribers so detached triggers re-render and
5238     * re-register into it (their registration effect migrates them when the store pointer changes).
5239     * Returns a cleanup function that detaches the store again.
5240     * @internal
5241     */
5242    attachStore(newStore) {
5243      this.attachedStores.push(newStore);
5244      this.setActiveStore(newStore);
5245      if (true) {
5246        if (this.attachedStores.length > 1) {
5247          const dev = this;
5248          (dev.overlapWarningFrame ??= AnimationFrame.create()).request(() => {
5249            if (this.attachedStores.length > 1) {
5250              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.");
5251            }
5252          });
5253        }
5254      }
5255      return () => {
5256        const index2 = this.attachedStores.lastIndexOf(newStore);
5257        if (index2 !== -1) {
5258          this.attachedStores.splice(index2, 1);
5259        }
5260        this.setActiveStore(this.attachedStores[this.attachedStores.length - 1] ?? null);
5261      };
5262    }
5263    /**
5264     * Sets the store that currently controls the handle and notifies subscribers when it changes, so
5265     * detached triggers re-render and migrate their registration to the new store.
5266     */
5267    setActiveStore(store) {
5268      if (this.attachedStoreValue !== store) {
5269        this.attachedStoreValue = store;
5270        this.storeListeners.forEach((listener) => {
5271          listener();
5272        });
5273      }
5274    }
5275    /**
5276     * Opens the attached root's store and associates it with the trigger with the given id, or a
5277     * no-op (with a dev warning) while no root is attached. Shared by every concrete handle's public
5278     * `open()` method, which only narrows the parameter type.
5279     *
5280     * When a trigger id is given but no matching trigger is registered, anchored popups throw (see
5281     * `throwOnMissingTrigger`); Dialog opens unassociated with a dev warning instead.
5282     *
5283     * This method should only be called in an event handler or an effect (not during rendering).
5284     *
5285     * @param triggerId ID of the trigger to associate with the popup, or `null`/`undefined` to open
5286     * without associating any trigger.
5287     */
5288    openByTrigger(triggerId) {
5289      const attachedStore = this.attachedStore;
5290      if (attachedStore === null) {
5291        if (true) {
5292          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.`);
5293        }
5294        return;
5295      }
5296      let triggerElement;
5297      if (triggerId) {
5298        for (let i = this.attachedStores.length - 1; i >= 0 && !triggerElement; i -= 1) {
5299          triggerElement = this.attachedStores[i].context.triggerElements.getById(triggerId);
5300        }
5301        triggerElement ??= this.fallbackStore.context.triggerElements.getById(triggerId);
5302      }
5303      if (triggerId && !triggerElement) {
5304        if (this.throwOnMissingTrigger) {
5305          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));
5306        }
5307        if (true) {
5308          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.`);
5309        }
5310      }
5311      attachedStore.setOpen(true, createChangeEventDetails(reason_parts_exports.imperativeAction, void 0, triggerElement));
5312    }
5313    /**
5314     * Closes the popup by setting the attached root's store to closed, or a no-op (with a dev warning)
5315     * while no root is attached. Shared by every concrete handle's public `close()` method.
5316     *
5317     * This method should only be called in an event handler or an effect (not during rendering).
5318     */
5319    closePopup() {
5320      const attachedStore = this.attachedStore;
5321      if (attachedStore === null) {
5322        if (true) {
5323          console.warn(`Base UI: $this.componentName}Handle.close() was called while no root using this handle is mounted. The call was ignored.`);
5324        }
5325        return;
5326      }
5327      attachedStore.setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction));
5328    }
5329  };
5330  
5331  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs
5332  var React28 = __toESM(require_react(), 1);
5333  var ReactDOM3 = __toESM(require_react_dom(), 1);
5334  
5335  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useSyncedFloatingRootContext.mjs
5336  function useSyncedFloatingRootContext(options) {
5337    const {
5338      popupStore,
5339      treatPopupAsFloatingElement = false,
5340      floatingRootContext: store,
5341      floatingId,
5342      nested,
5343      onOpenChange
5344    } = options;
5345    const open2 = popupStore.useState("open");
5346    const referenceElement = popupStore.useState("activeTriggerElement");
5347    const floatingElement = popupStore.useState(treatPopupAsFloatingElement ? "popupElement" : "positionerElement");
5348    const handleOpenChange = onOpenChange;
5349    popupStore.useSyncedValue("floatingId", floatingId);
5350    useIsoLayoutEffect(() => {
5351      const valuesToSync = {
5352        open: open2,
5353        floatingId,
5354        referenceElement,
5355        floatingElement
5356      };
5357      if (isElement(referenceElement)) {
5358        valuesToSync.domReferenceElement = referenceElement;
5359      }
5360      if (store.state.positionReference === store.state.referenceElement) {
5361        valuesToSync.positionReference = referenceElement;
5362      }
5363      store.update(valuesToSync);
5364    }, [open2, floatingId, referenceElement, floatingElement, store]);
5365    store.context.onOpenChange = handleOpenChange;
5366    store.context.nested = nested;
5367    return store;
5368  }
5369  
5370  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useUnmountAfterClose.mjs
5371  var React27 = __toESM(require_react(), 1);
5372  function useUnmountAfterClose(parameters) {
5373    const {
5374      open: open2,
5375      ref,
5376      preventUnmountOnClose,
5377      setPreventUnmountOnClose: setPreventUnmountOnCloseParam,
5378      onUnmount,
5379      animateInitialOpen
5380    } = parameters;
5381    const setPreventUnmountOnClose = useStableCallback(setPreventUnmountOnCloseParam);
5382    const {
5383      mounted,
5384      setMounted,
5385      transitionStatus
5386    } = useTransitionStatus(open2, false, false, animateInitialOpen);
5387    const preventUnmountingOnClose = open2 ? false : preventUnmountOnClose;
5388    useIsoLayoutEffect(() => {
5389      if (open2) {
5390        setPreventUnmountOnClose(false);
5391      }
5392    }, [open2, setPreventUnmountOnClose]);
5393    const mountedRef = React27.useRef(mounted);
5394    const pendingUnmountRef = React27.useRef(false);
5395    const rerender = useForcedRerendering();
5396    const unmount = () => {
5397      mountedRef.current = false;
5398      setMounted(false);
5399      onUnmount();
5400    };
5401    useIsoLayoutEffect(() => {
5402      mountedRef.current = mounted;
5403      if (pendingUnmountRef.current) {
5404        pendingUnmountRef.current = false;
5405        if (!open2 && mounted) {
5406          unmount();
5407        }
5408      }
5409    });
5410    const forceUnmount = useStableCallback(() => {
5411      if (!mountedRef.current) {
5412        return;
5413      }
5414      if (open2) {
5415        pendingUnmountRef.current = true;
5416        rerender();
5417        return;
5418      }
5419      unmount();
5420    });
5421    useOpenChangeComplete({
5422      enabled: mounted && !open2 && !preventUnmountingOnClose,
5423      open: open2,
5424      ref,
5425      onComplete() {
5426        if (!open2) {
5427          forceUnmount();
5428        }
5429      }
5430    });
5431    return {
5432      mounted,
5433      transitionStatus,
5434      preventUnmountingOnClose,
5435      forceUnmount
5436    };
5437  }
5438  
5439  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs
5440  var FOCUSABLE_POPUP_PROPS = {
5441    tabIndex: -1,
5442    [FOCUSABLE_ATTRIBUTE]: ""
5443  };
5444  function usePopupRootStore(createStore, treatPopupAsFloatingElement = false) {
5445    const floatingId = useId();
5446    const nested = useFloatingParentNodeId() != null;
5447    const store = useRefWithInit(() => createStore(floatingId, nested)).current;
5448    useSyncedFloatingRootContext({
5449      popupStore: store,
5450      treatPopupAsFloatingElement,
5451      floatingRootContext: store.state.floatingRootContext,
5452      floatingId,
5453      nested,
5454      onOpenChange: store.setOpen
5455    });
5456    return store;
5457  }
5458  function PopupHandleAttachment({
5459    handle,
5460    store
5461  }) {
5462    useIsoLayoutEffect(() => {
5463      return handle.attachStore(store);
5464    }, [handle, store]);
5465    return null;
5466  }
5467  function syncTriggerCount(store) {
5468    const triggerCount = store.context.triggerElements.size;
5469    if (store.select("open") && store.state.triggerCount !== triggerCount) {
5470      store.set("triggerCount", triggerCount);
5471    }
5472  }
5473  function useTriggerRegistration(id, store) {
5474    const registrationRef = React28.useRef(null);
5475    return useStableCallback((element) => {
5476      const registration = registrationRef.current;
5477      if (registration !== null) {
5478        if (registration.element === element && registration.store === store && registration.id === id) {
5479          return;
5480        }
5481        registrationRef.current = null;
5482        const registeredStore = registration.store;
5483        if (registeredStore.context.triggerElements.getById(registration.id) === registration.element) {
5484          registeredStore.context.triggerElements.delete(registration.id);
5485          syncTriggerCount(registeredStore);
5486        }
5487      }
5488      if (element !== null && id !== void 0) {
5489        registrationRef.current = {
5490          store,
5491          id,
5492          element
5493        };
5494        store.context.triggerElements.add(id, element);
5495        syncTriggerCount(store);
5496      }
5497    });
5498  }
5499  function createPopupOpenState(state, open2, trigger, preventUnmountOnClose = false) {
5500    let preventUnmountingOnClose = state.preventUnmountingOnClose;
5501    if (open2) {
5502      preventUnmountingOnClose = false;
5503    } else if (preventUnmountOnClose) {
5504      preventUnmountingOnClose = true;
5505    }
5506    const triggerId = trigger?.id ?? null;
5507    let activeTriggerId = state.activeTriggerId;
5508    let activeTriggerElement = state.activeTriggerElement;
5509    if (triggerId || open2) {
5510      activeTriggerId = triggerId;
5511      activeTriggerElement = trigger ?? null;
5512    }
5513    return {
5514      open: open2,
5515      preventUnmountingOnClose,
5516      activeTriggerId,
5517      activeTriggerElement,
5518      // An open request without a trigger (a handle's `open(null)` or `openWithPayload()`) must not
5519      // be reassociated with a lone registered trigger later on. Controlled and default opens never
5520      // pass through here, so they keep claiming a lone trigger. A close request keeps the flag: a
5521      // controlled root may decline it and stay open, so the Root clears the flag only once the
5522      // popup is effectively closed.
5523      openedWithoutTrigger: open2 ? trigger == null : state.openedWithoutTrigger
5524    };
5525  }
5526  function attachPreventUnmountOnClose(eventDetails) {
5527    let preventUnmountOnClose = false;
5528    eventDetails.preventUnmountOnClose = () => {
5529      preventUnmountOnClose = true;
5530    };
5531    return () => preventUnmountOnClose;
5532  }
5533  function applyPopupOpenChange(store, nextOpen, eventDetails, options = {}) {
5534    const reason = eventDetails.reason;
5535    const isHover = reason === reason_parts_exports.triggerHover;
5536    const isFocusOpen = nextOpen && reason === reason_parts_exports.triggerFocus;
5537    const isDismissClose = !nextOpen && (reason === reason_parts_exports.triggerPress || reason === reason_parts_exports.escapeKey);
5538    const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(eventDetails);
5539    store.context.onOpenChange?.(nextOpen, eventDetails);
5540    if (eventDetails.isCanceled) {
5541      return;
5542    }
5543    options.onBeforeDispatch?.();
5544    store.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails);
5545    const changeState = () => {
5546      const popupOpenState = createPopupOpenState(store.state, nextOpen, eventDetails.trigger, shouldPreventUnmountOnClose());
5547      const updatedState = {
5548        ...options.extraState,
5549        ...popupOpenState
5550      };
5551      if (isFocusOpen) {
5552        updatedState.instantType = "focus";
5553      } else if (isDismissClose) {
5554        updatedState.instantType = "dismiss";
5555      } else if (isHover) {
5556        updatedState.instantType = void 0;
5557      }
5558      store.update(updatedState);
5559    };
5560    if (isHover) {
5561      ReactDOM3.flushSync(changeState);
5562    } else {
5563      changeState();
5564    }
5565  }
5566  function useTriggerDataForwarding(triggerId, triggerElementRef, store, stateUpdates) {
5567    const isMountedByThisTrigger = store.useState("isMountedByTrigger", triggerId);
5568    const baseRegisterTrigger = useTriggerRegistration(triggerId, store);
5569    const applyTriggerData = useStableCallback((element) => {
5570      const open2 = store.select("open");
5571      const activeTriggerId = store.select("activeTriggerId");
5572      if (activeTriggerId === triggerId) {
5573        const changes = {
5574          activeTriggerElement: element,
5575          ...open2 ? stateUpdates : null
5576        };
5577        store.update(changes);
5578        return;
5579      }
5580      if (activeTriggerId == null && open2 && !store.state.openedWithoutTrigger) {
5581        const changes = {
5582          activeTriggerId: triggerId ?? null,
5583          activeTriggerElement: element,
5584          ...stateUpdates
5585        };
5586        store.update(changes);
5587      }
5588    });
5589    const registerTrigger = useStableCallback((element) => {
5590      baseRegisterTrigger(element);
5591      if (element) {
5592        applyTriggerData(element);
5593      }
5594    });
5595    useIsoLayoutEffect(() => {
5596      registerTrigger(triggerElementRef.current);
5597      return () => registerTrigger(null);
5598    }, [registerTrigger, triggerElementRef, store, triggerId]);
5599    useIsoLayoutEffect(() => {
5600      if (isMountedByThisTrigger) {
5601        const changes = {
5602          activeTriggerElement: triggerElementRef.current,
5603          ...stateUpdates
5604        };
5605        store.update(changes);
5606      }
5607    }, [isMountedByThisTrigger, store, triggerElementRef, ...Object.values(stateUpdates)]);
5608    return {
5609      registerTrigger,
5610      isMountedByThisTrigger
5611    };
5612  }
5613  function useImplicitActiveTrigger(store, options = {}) {
5614    const {
5615      closeOnActiveTriggerUnmount = false
5616    } = options;
5617    const resolvedActiveTriggerIdRef = React28.useRef(null);
5618    const open2 = store.useState("open");
5619    const reactiveTriggerCount = store.useState("triggerCount");
5620    const activeTriggerId = store.useState("activeTriggerId");
5621    const reactiveActiveTriggerElement = store.useState("activeTriggerElement");
5622    useIsoLayoutEffect(() => {
5623      if (!open2) {
5624        resolvedActiveTriggerIdRef.current = null;
5625        if (store.state.triggerCount !== 0) {
5626          store.set("triggerCount", 0);
5627        }
5628        if (store.state.openedWithoutTrigger) {
5629          store.set("openedWithoutTrigger", false);
5630        }
5631        return;
5632      }
5633      const triggerCount = store.context.triggerElements.size;
5634      const stateUpdates = {};
5635      if (store.state.triggerCount !== triggerCount) {
5636        stateUpdates.triggerCount = triggerCount;
5637      }
5638      const currentActiveTriggerId = store.select("activeTriggerId");
5639      let lostActiveTriggerId = null;
5640      if (currentActiveTriggerId) {
5641        const activeTriggerElement = store.context.triggerElements.getById(currentActiveTriggerId);
5642        if (!activeTriggerElement) {
5643          for (const [triggerId, triggerElement] of store.context.triggerElements.entries()) {
5644            if (triggerElement === store.state.activeTriggerElement) {
5645              stateUpdates.activeTriggerId = triggerId;
5646              stateUpdates.activeTriggerElement = triggerElement;
5647              resolvedActiveTriggerIdRef.current = triggerId;
5648              break;
5649            }
5650          }
5651          if (stateUpdates.activeTriggerId === void 0) {
5652            if (resolvedActiveTriggerIdRef.current === currentActiveTriggerId) {
5653              lostActiveTriggerId = currentActiveTriggerId;
5654            } else {
5655              resolvedActiveTriggerIdRef.current = null;
5656            }
5657          }
5658        } else {
5659          resolvedActiveTriggerIdRef.current = currentActiveTriggerId;
5660          if (activeTriggerElement !== store.state.activeTriggerElement) {
5661            stateUpdates.activeTriggerElement = activeTriggerElement;
5662          }
5663        }
5664      } else {
5665        resolvedActiveTriggerIdRef.current = null;
5666      }
5667      if (!lostActiveTriggerId && !currentActiveTriggerId && !store.state.openedWithoutTrigger && triggerCount === 1) {
5668        const iteratorResult = store.context.triggerElements.entries().next();
5669        if (!iteratorResult.done) {
5670          const [implicitTriggerId, implicitTriggerElement] = iteratorResult.value;
5671          stateUpdates.activeTriggerId = implicitTriggerId;
5672          stateUpdates.activeTriggerElement = implicitTriggerElement;
5673          resolvedActiveTriggerIdRef.current = implicitTriggerId;
5674        }
5675      }
5676      if (stateUpdates.triggerCount !== void 0 || stateUpdates.activeTriggerId !== void 0 || stateUpdates.activeTriggerElement !== void 0) {
5677        store.update(stateUpdates);
5678      }
5679      if (lostActiveTriggerId) {
5680        if (closeOnActiveTriggerUnmount) {
5681          queueMicrotask(() => {
5682            if (store.select("open") && store.select("activeTriggerId") === lostActiveTriggerId && !store.context.triggerElements.getById(lostActiveTriggerId)) {
5683              const eventDetails = createChangeEventDetails(reason_parts_exports.none);
5684              store.setOpen(false, eventDetails);
5685              if (!eventDetails.isCanceled) {
5686                store.update({
5687                  activeTriggerId: null,
5688                  activeTriggerElement: null
5689                });
5690              }
5691            }
5692          });
5693        }
5694      }
5695    }, [open2, store, reactiveTriggerCount, activeTriggerId, reactiveActiveTriggerElement, closeOnActiveTriggerUnmount]);
5696  }
5697  function useOpenStateTransitions(open2, store, onUnmount, animateInitialOpen) {
5698    const {
5699      mounted,
5700      transitionStatus,
5701      forceUnmount
5702    } = useUnmountAfterClose({
5703      open: open2,
5704      ref: store.context.popupRef,
5705      preventUnmountOnClose: store.useState("preventUnmountingOnClose"),
5706      setPreventUnmountOnClose: (preventUnmountOnClose) => store.set("preventUnmountingOnClose", preventUnmountOnClose),
5707      animateInitialOpen,
5708      onUnmount() {
5709        store.update({
5710          activeTriggerId: null,
5711          activeTriggerElement: null,
5712          mounted: false,
5713          preventUnmountingOnClose: false
5714        });
5715        onUnmount?.();
5716        store.context.onOpenChangeComplete?.(false);
5717      }
5718    });
5719    useRefWithInit(() => {
5720      store.set("mounted", mounted);
5721      return null;
5722    });
5723    store.useSyncedValues({
5724      mounted,
5725      transitionStatus
5726    });
5727    return {
5728      forceUnmount,
5729      transitionStatus
5730    };
5731  }
5732  function usePopupInteractionProps(store, statePart) {
5733    store.useSyncedValues(statePart);
5734    useIsoLayoutEffect(() => () => {
5735      store.update({
5736        activeTriggerProps: EMPTY_OBJECT,
5737        inactiveTriggerProps: EMPTY_OBJECT,
5738        popupProps: EMPTY_OBJECT
5739      });
5740    }, [store]);
5741  }
5742  
5743  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupTriggerMap.mjs
5744  var devElementIdsByMap;
5745  function getDevElementIds(map) {
5746    devElementIdsByMap ??= /* @__PURE__ */ new WeakMap();
5747    let elementIds = devElementIdsByMap.get(map);
5748    if (!elementIds) {
5749      elementIds = /* @__PURE__ */ new WeakMap();
5750      devElementIdsByMap.set(map, elementIds);
5751    }
5752    return elementIds;
5753  }
5754  var PopupTriggerMap = class {
5755    idMap = /* @__PURE__ */ new Map();
5756    /**
5757     * Adds a trigger element with the given ID.
5758     *
5759     * Note: The provided element is assumed to not be registered under multiple IDs.
5760     */
5761    add(id, element) {
5762      if (true) {
5763        const elementIds = getDevElementIds(this);
5764        const existingId = elementIds.get(element);
5765        if (existingId !== void 0 && existingId !== id) {
5766          throw new Error("Base UI: A trigger element cannot be registered under multiple IDs in PopupTriggerMap.");
5767        }
5768        const previousElement = this.idMap.get(id);
5769        if (previousElement !== void 0 && previousElement !== element) {
5770          elementIds.delete(previousElement);
5771        }
5772        elementIds.set(element, id);
5773      }
5774      this.idMap.set(id, element);
5775    }
5776    /**
5777     * Removes the trigger element with the given ID.
5778     */
5779    delete(id) {
5780      if (true) {
5781        const element = this.idMap.get(id);
5782        if (element !== void 0) {
5783          devElementIdsByMap?.get(this)?.delete(element);
5784        }
5785      }
5786      this.idMap.delete(id);
5787    }
5788    /**
5789     * Whether the given element is registered as a trigger.
5790     */
5791    hasElement(element) {
5792      for (const registered of this.idMap.values()) {
5793        if (registered === element) {
5794          return true;
5795        }
5796      }
5797      return false;
5798    }
5799    /**
5800     * Whether there is a registered trigger element matching the given predicate.
5801     */
5802    hasMatchingElement(predicate) {
5803      for (const element of this.idMap.values()) {
5804        if (predicate(element)) {
5805          return true;
5806        }
5807      }
5808      return false;
5809    }
5810    /**
5811     * Returns the trigger element associated with the given ID, or undefined if no such element exists.
5812     */
5813    getById(id) {
5814      return this.idMap.get(id);
5815    }
5816    /**
5817     * Returns an iterable of all registered trigger entries, where each entry is a tuple of [id, element].
5818     */
5819    entries() {
5820      return this.idMap.entries();
5821    }
5822    /**
5823     * Returns an iterable of all registered trigger elements.
5824     */
5825    elements() {
5826      return this.idMap.values();
5827    }
5828    /**
5829     * Returns the number of registered trigger elements.
5830     */
5831    get size() {
5832      return this.idMap.size;
5833    }
5834  };
5835  
5836  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/useStore.mjs
5837  var React30 = __toESM(require_react(), 1);
5838  var import_shim = __toESM(require_shim(), 1);
5839  var import_with_selector = __toESM(require_with_selector(), 1);
5840  
5841  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/fastHooks.mjs
5842  var React29 = __toESM(require_react(), 1);
5843  var hooks = [];
5844  var currentInstance = void 0;
5845  function getInstance() {
5846    return currentInstance;
5847  }
5848  function register(hook) {
5849    hooks.push(hook);
5850  }
5851  function fastComponent(fn) {
5852    const FastComponent = (props, forwardedRef) => {
5853      const instance = useRefWithInit(createInstance).current;
5854      let result;
5855      try {
5856        currentInstance = instance;
5857        for (const hook of hooks) {
5858          hook.before(instance);
5859        }
5860        result = fn(props, forwardedRef);
5861        for (const hook of hooks) {
5862          hook.after(instance);
5863        }
5864        instance.didInitialize = true;
5865      } finally {
5866        currentInstance = void 0;
5867      }
5868      return result;
5869    };
5870    FastComponent.displayName = fn.displayName || fn.name;
5871    return FastComponent;
5872  }
5873  function fastComponentRef(fn) {
5874    return /* @__PURE__ */ React29.forwardRef(fastComponent(fn));
5875  }
5876  function createInstance() {
5877    return {
5878      didInitialize: false
5879    };
5880  }
5881  
5882  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/useStore.mjs
5883  var canUseRawUseSyncExternalStore = isReactVersionAtLeast(19);
5884  var useStoreImplementation = canUseRawUseSyncExternalStore ? useStoreFast : useStoreLegacy;
5885  function useStore(store, selector, a1, a2, a3) {
5886    return useStoreImplementation(store, selector, a1, a2, a3);
5887  }
5888  function useStoreR19(store, selector, a1, a2, a3) {
5889    const getSelection = React30.useCallback(() => selector(store.getSnapshot(), a1, a2, a3), [store, selector, a1, a2, a3]);
5890    return (0, import_shim.useSyncExternalStore)(store.subscribe, getSelection, getSelection);
5891  }
5892  register({
5893    before(instance) {
5894      instance.syncIndex = 0;
5895      if (!instance.didInitialize) {
5896        instance.syncTick = 1;
5897        instance.syncHooks = [];
5898        instance.didChangeStore = true;
5899        instance.getSnapshot = () => {
5900          let didChange2 = false;
5901          for (let i = 0; i < instance.syncHooks.length; i += 1) {
5902            const hook = instance.syncHooks[i];
5903            const value = hook.selector(hook.store.state, hook.a1, hook.a2, hook.a3);
5904            if (!Object.is(hook.value, value)) {
5905              didChange2 = true;
5906              hook.value = value;
5907            }
5908          }
5909          if (didChange2) {
5910            instance.syncTick += 1;
5911          }
5912          return instance.syncTick;
5913        };
5914      }
5915    },
5916    after(instance) {
5917      if (instance.syncHooks.length > 0) {
5918        if (instance.didChangeStore) {
5919          instance.didChangeStore = false;
5920          instance.subscribe = (onStoreChange) => {
5921            const stores = /* @__PURE__ */ new Set();
5922            for (const hook of instance.syncHooks) {
5923              stores.add(hook.store);
5924            }
5925            const unsubscribes = [];
5926            for (const store of stores) {
5927              unsubscribes.push(store.subscribe(onStoreChange));
5928            }
5929            return () => {
5930              for (const unsubscribe of unsubscribes) {
5931                unsubscribe();
5932              }
5933            };
5934          };
5935        }
5936        (0, import_shim.useSyncExternalStore)(instance.subscribe, instance.getSnapshot, instance.getSnapshot);
5937      }
5938    }
5939  });
5940  function useStoreFast(store, selector, a1, a2, a3) {
5941    const instance = getInstance();
5942    if (!instance) {
5943      return useStoreR19(store, selector, a1, a2, a3);
5944    }
5945    const index2 = instance.syncIndex;
5946    instance.syncIndex += 1;
5947    let hook;
5948    if (!instance.didInitialize) {
5949      hook = {
5950        store,
5951        selector,
5952        a1,
5953        a2,
5954        a3,
5955        value: selector(store.getSnapshot(), a1, a2, a3)
5956      };
5957      instance.syncHooks.push(hook);
5958    } else {
5959      hook = instance.syncHooks[index2];
5960      if (hook.store !== store || hook.selector !== selector || !Object.is(hook.a1, a1) || !Object.is(hook.a2, a2) || !Object.is(hook.a3, a3)) {
5961        if (hook.store !== store) {
5962          instance.didChangeStore = true;
5963        }
5964        hook.store = store;
5965        hook.selector = selector;
5966        hook.a1 = a1;
5967        hook.a2 = a2;
5968        hook.a3 = a3;
5969        hook.value = selector(store.getSnapshot(), a1, a2, a3);
5970      }
5971    }
5972    return hook.value;
5973  }
5974  function useStoreLegacy(store, selector, a1, a2, a3) {
5975    return (0, import_with_selector.useSyncExternalStoreWithSelector)(store.subscribe, store.getSnapshot, store.getSnapshot, (state) => selector(state, a1, a2, a3));
5976  }
5977  
5978  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/Store.mjs
5979  var Store = class {
5980    /**
5981     * Creates a store with the given initial state, constructing the class it is called on.
5982     * Calling it on a generic base class (e.g. `ReactStore.create(...)`) constructs that
5983     * class but degrades the inferred instance type to `Store`; use `new` there instead.
5984     */
5985    static create(state) {
5986      return new this(state);
5987    }
5988    /**
5989     * The current state of the store.
5990     * This property is updated immediately when the state changes as a result of calling {@link setState}, {@link update}, or {@link set}.
5991     * 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).
5992     * The values can be used directly (to avoid subscribing to the store) in effects or event handlers.
5993     *
5994     * Do not modify properties in state directly. Instead, use the provided methods to ensure proper state management and listener notification.
5995     */
5996    // Internal state to handle recursive `setState()` calls
5997    constructor(state) {
5998      this.state = state;
5999      this.listeners = /* @__PURE__ */ new Set();
6000      this.updateTick = 0;
6001    }
6002    /**
6003     * Registers a listener that will be called whenever the store's state changes.
6004     *
6005     * @param fn The listener function to be called on state changes.
6006     * @returns A function to unsubscribe the listener.
6007     */
6008    subscribe = (fn) => {
6009      this.listeners.add(fn);
6010      return () => {
6011        this.listeners.delete(fn);
6012      };
6013    };
6014    /**
6015     * Returns the current state of the store.
6016     */
6017    getSnapshot = () => {
6018      return this.state;
6019    };
6020    /**
6021     * Updates the entire store's state and notifies all registered listeners.
6022     *
6023     * @param newState The new state to set for the store.
6024     */
6025    setState(newState) {
6026      if (this.state === newState) {
6027        return;
6028      }
6029      this.state = newState;
6030      this.updateTick += 1;
6031      const currentTick = this.updateTick;
6032      for (const listener of this.listeners) {
6033        if (currentTick !== this.updateTick) {
6034          return;
6035        }
6036        listener(newState);
6037      }
6038    }
6039    /**
6040     * Merges the provided changes into the current state and notifies listeners if there are changes.
6041     * Each value must match its state key. Pass an exact known subset rather than a broad
6042     * `Partial<State>`, which may contain `undefined` for required state fields.
6043     *
6044     * @param changes An object containing the changes to apply to the current state.
6045     */
6046    update(changes) {
6047      for (const key in changes) {
6048        if (!Object.is(this.state[key], changes[key])) {
6049          this.setState({
6050            ...this.state,
6051            ...changes
6052          });
6053          return;
6054        }
6055      }
6056    }
6057    /**
6058     * Sets a specific key in the store's state to a new value and notifies listeners if the value has changed.
6059     *
6060     * @param key The key in the store's state to update.
6061     * @param value The new value to set for the specified key.
6062     */
6063    set(key, value) {
6064      if (!Object.is(this.state[key], value)) {
6065        this.setState({
6066          ...this.state,
6067          [key]: value
6068        });
6069      }
6070    }
6071    /**
6072     * Gives the state a new reference and updates all registered listeners.
6073     */
6074    notifyAll() {
6075      const newState = {
6076        ...this.state
6077      };
6078      this.setState(newState);
6079    }
6080    use(selector, a1, a2, a3) {
6081      return useStore(this, selector, a1, a2, a3);
6082    }
6083  };
6084  
6085  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/ReactStore.mjs
6086  var React31 = __toESM(require_react(), 1);
6087  var ReactStore = class extends Store {
6088    /**
6089     * Creates a new ReactStore instance.
6090     *
6091     * @param state Initial state of the store.
6092     * @param context Non-reactive context values.
6093     * @param selectors Optional selectors for use with `useState`.
6094     */
6095    constructor(state, context = {}, selectors6) {
6096      super(state);
6097      this.context = context;
6098      this.selectors = selectors6;
6099    }
6100    /**
6101     * Non-reactive values such as refs, callbacks, etc.
6102     */
6103    /**
6104     * Synchronizes a single external value into the store.
6105     *
6106     * Note that the while the value in `state` is updated immediately, the value returned
6107     * by `useState` is updated before the next render (similarly to React's `useState`).
6108     */
6109    useSyncedValue(key, value) {
6110      React31.useDebugValue(key);
6111      const store = this;
6112      useIsoLayoutEffect(() => {
6113        if (store.state[key] !== value) {
6114          store.set(key, value);
6115        }
6116      }, [store, key, value]);
6117    }
6118    /**
6119     * Synchronizes a single external value into the store and
6120     * cleans it up (sets to `undefined`) on unmount.
6121     *
6122     * Note that the while the value in `state` is updated immediately, the value returned
6123     * by `useState` is updated before the next render (similarly to React's `useState`).
6124     */
6125    useSyncedValueWithCleanup(key, value) {
6126      const store = this;
6127      useIsoLayoutEffect(() => {
6128        if (store.state[key] !== value) {
6129          store.set(key, value);
6130        }
6131        return () => {
6132          store.set(key, void 0);
6133        };
6134      }, [store, key, value]);
6135    }
6136    /**
6137     * Synchronizes multiple external values into the store.
6138     * Each value must match its state key. Pass an exact known subset rather than a broad
6139     * `Partial<State>`, which may contain `undefined` for required state fields.
6140     *
6141     * Note that the while the values in `state` are updated immediately, the values returned
6142     * by `useState` are updated before the next render (similarly to React's `useState`).
6143     *
6144     * @param statePart An exact subset of state fields to synchronize. Unknown keys are not accepted.
6145     */
6146    useSyncedValues(statePart) {
6147      const store = this;
6148      if (true) {
6149        React31.useDebugValue(statePart, (p3) => Object.keys(p3));
6150        const keys = React31.useRef(Object.keys(statePart)).current;
6151        const nextKeys = Object.keys(statePart);
6152        if (keys.length !== nextKeys.length || keys.some((key, index2) => key !== nextKeys[index2])) {
6153          console.error("ReactStore.useSyncedValues expects the same prop keys on every render. Keys should be stable.");
6154        }
6155      }
6156      const dependencies = Object.values(statePart);
6157      useIsoLayoutEffect(() => {
6158        store.update(statePart);
6159      }, [store, ...dependencies]);
6160    }
6161    /**
6162     * Registers a controllable prop pair (`controlled`, `defaultValue`) for a specific key. If `controlled`
6163     * is non-undefined, the store's state at `key` is updated to match `controlled`.
6164     */
6165    useControlledProp(key, controlled) {
6166      React31.useDebugValue(key);
6167      const store = this;
6168      const isControlled = controlled !== void 0;
6169      useIsoLayoutEffect(() => {
6170        if (isControlled && !Object.is(store.state[key], controlled)) {
6171          store.setState({
6172            ...store.state,
6173            [key]: controlled
6174          });
6175        }
6176      }, [store, key, controlled, isControlled]);
6177      if (true) {
6178        const cache2 = this.controlledValues ??= /* @__PURE__ */ new Map();
6179        if (!cache2.has(key)) {
6180          cache2.set(key, isControlled);
6181        }
6182        const previouslyControlled = cache2.get(key);
6183        if (previouslyControlled !== void 0 && previouslyControlled !== isControlled) {
6184          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).`);
6185        }
6186      }
6187    }
6188    /** Gets the current value from the store using a selector with the provided key.
6189     *
6190     * @param key Key of the selector to use.
6191     */
6192    select(key, a1, a2, a3) {
6193      const selector = this.selectors[key];
6194      return selector(this.state, a1, a2, a3);
6195    }
6196    /**
6197     * Returns a value from the store's state using a selector function.
6198     * Used to subscribe to specific parts of the state.
6199     * This methods causes a rerender whenever the selected state changes.
6200     *
6201     * @param key Key of the selector to use.
6202     */
6203    useState(key, a1, a2, a3) {
6204      React31.useDebugValue(key);
6205      return useStore(this, this.selectors[key], a1, a2, a3);
6206    }
6207    /**
6208     * Wraps a function with `useStableCallback` to ensure it has a stable reference
6209     * and assigns it to the context.
6210     *
6211     * @param key Key of the event callback. Must be a function in the context.
6212     * @param fn Function to assign.
6213     */
6214    useContextCallback(key, fn) {
6215      React31.useDebugValue(key);
6216      const stableFunction = useStableCallback(fn ?? NOOP);
6217      this.context[key] = stableFunction;
6218    }
6219    /**
6220     * Returns a stable setter function for a specific key in the store's state.
6221     * It's commonly used to pass as a ref callback to React elements.
6222     *
6223     * @param key Key of the state to set.
6224     */
6225    useStateSetter(key) {
6226      const ref = React31.useRef(void 0);
6227      if (ref.current === void 0) {
6228        ref.current = (value) => {
6229          this.set(key, value);
6230        };
6231      }
6232      return ref.current;
6233    }
6234    /**
6235     * Observes changes derived from the store's selectors and calls the listener when the selected value changes.
6236     *
6237     * @param key Key of the selector to observe.
6238     * @param listener Listener function called when the selector result changes.
6239     */
6240    observe(selector, listener) {
6241      let selectFn;
6242      if (typeof selector === "function") {
6243        selectFn = selector;
6244      } else {
6245        selectFn = this.selectors[selector];
6246      }
6247      let prevValue = selectFn(this.state);
6248      listener(prevValue, prevValue, this);
6249      return this.subscribe((nextState) => {
6250        const nextValue = selectFn(nextState);
6251        if (!Object.is(prevValue, nextValue)) {
6252          const oldValue = prevValue;
6253          prevValue = nextValue;
6254          listener(nextValue, oldValue, this);
6255        }
6256      });
6257    }
6258  };
6259  
6260  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingRootStore.mjs
6261  var selectors = {
6262    open: (state) => state.open,
6263    transitionStatus: (state) => state.transitionStatus,
6264    domReferenceElement: (state) => state.domReferenceElement,
6265    referenceElement: (state) => state.positionReference ?? state.referenceElement,
6266    floatingElement: (state) => state.floatingElement,
6267    floatingId: (state) => state.floatingId
6268  };
6269  var FloatingRootStore = class extends ReactStore {
6270    constructor(options) {
6271      const {
6272        syncOnly,
6273        nested,
6274        onOpenChange,
6275        triggerElements,
6276        ...initialState
6277      } = options;
6278      super({
6279        ...initialState,
6280        positionReference: initialState.referenceElement,
6281        domReferenceElement: initialState.referenceElement
6282      }, {
6283        onOpenChange,
6284        dataRef: {
6285          current: {}
6286        },
6287        events: createEventEmitter(),
6288        nested,
6289        triggerElements
6290      }, selectors);
6291      this.syncOnly = syncOnly;
6292    }
6293    /**
6294     * Syncs the event used by hover logic to distinguish hover-open from click-like interaction.
6295     */
6296    syncOpenEvent = (newOpen, event) => {
6297      if (!newOpen || !this.state.open || // Prevent a pending hover-open from overwriting a click-open event, while allowing
6298      // click events to upgrade a hover-open.
6299      event != null && isClickLikeEvent(event)) {
6300        this.context.dataRef.current.openEvent = newOpen ? event : void 0;
6301      }
6302    };
6303    /**
6304     * Runs the root-owned side effects for an open state change.
6305     */
6306    dispatchOpenChange = (newOpen, eventDetails) => {
6307      this.syncOpenEvent(newOpen, eventDetails.event);
6308      const details = {
6309        open: newOpen,
6310        reason: eventDetails.reason,
6311        nativeEvent: eventDetails.event,
6312        nested: this.context.nested,
6313        triggerElement: eventDetails.trigger
6314      };
6315      this.context.events.emit("openchange", details);
6316    };
6317    /**
6318     * Emits the `openchange` event through the internal event emitter and calls the `onOpenChange` handler with the provided arguments.
6319     *
6320     * @param newOpen The new open state.
6321     * @param eventDetails Details about the event that triggered the open state change.
6322     */
6323    setOpen = (newOpen, eventDetails) => {
6324      if (this.syncOnly) {
6325        this.context.onOpenChange?.(newOpen, eventDetails);
6326        return;
6327      }
6328      this.dispatchOpenChange(newOpen, eventDetails);
6329      this.context.onOpenChange?.(newOpen, eventDetails);
6330    };
6331  };
6332  
6333  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/store.mjs
6334  function createInitialPopupStoreState(triggerElements, floatingId, nested = false) {
6335    return {
6336      open: false,
6337      openProp: void 0,
6338      mounted: false,
6339      transitionStatus: void 0,
6340      floatingRootContext: new FloatingRootStore({
6341        open: false,
6342        transitionStatus: void 0,
6343        floatingElement: null,
6344        referenceElement: null,
6345        triggerElements,
6346        floatingId,
6347        syncOnly: true,
6348        nested,
6349        onOpenChange: void 0
6350      }),
6351      floatingId,
6352      triggerCount: 0,
6353      preventUnmountingOnClose: false,
6354      payload: void 0,
6355      activeTriggerId: null,
6356      activeTriggerElement: null,
6357      openedWithoutTrigger: false,
6358      triggerIdProp: void 0,
6359      popupElement: null,
6360      positionerElement: null,
6361      activeTriggerProps: EMPTY_OBJECT,
6362      inactiveTriggerProps: EMPTY_OBJECT,
6363      popupProps: EMPTY_OBJECT
6364    };
6365  }
6366  var activeTriggerIdSelector = (state) => state.triggerIdProp ?? state.activeTriggerId;
6367  var openSelector = (state) => state.openProp ?? state.open;
6368  var popupIdSelector = (state) => {
6369    const popupId = state.popupElement?.id ?? state.floatingId;
6370    return popupId || void 0;
6371  };
6372  function triggerOwnsOpenPopup(state, triggerId) {
6373    return triggerId !== void 0 && openSelector(state) && activeTriggerIdSelector(state) === triggerId;
6374  }
6375  function triggerOwnsOpenPopupOrIsOnlyTrigger(state, triggerId) {
6376    if (triggerOwnsOpenPopup(state, triggerId)) {
6377      return true;
6378    }
6379    return triggerId !== void 0 && openSelector(state) && activeTriggerIdSelector(state) == null && !state.openedWithoutTrigger && state.triggerCount === 1;
6380  }
6381  var popupStoreSelectors = {
6382    open: openSelector,
6383    mounted: (state) => state.mounted,
6384    // `open` is written synchronously on an open change; `mounted`/`transitionStatus` sync in a
6385    // layout effect. Match useTransitionStatus so a retained popup does not miss its starting phase.
6386    transitionStatus: (state) => openSelector(state) && !state.mounted ? "starting" : state.transitionStatus,
6387    floatingRootContext: (state) => state.floatingRootContext,
6388    triggerCount: (state) => state.triggerCount,
6389    preventUnmountingOnClose: (state) => state.preventUnmountingOnClose,
6390    payload: (state) => state.payload,
6391    activeTriggerId: activeTriggerIdSelector,
6392    activeTriggerElement: (state) => state.mounted ? state.activeTriggerElement : null,
6393    popupId: popupIdSelector,
6394    /**
6395     * Whether the trigger with the given ID was used to open the popup.
6396     */
6397    isTriggerActive: (state, triggerId) => triggerId !== void 0 && activeTriggerIdSelector(state) === triggerId,
6398    /**
6399     * Whether the popup is open and was activated by a trigger with the given ID.
6400     */
6401    isOpenedByTrigger: (state, triggerId) => triggerOwnsOpenPopup(state, triggerId),
6402    /**
6403     * Whether the popup is mounted and was activated by a trigger with the given ID.
6404     */
6405    isMountedByTrigger: (state, triggerId) => triggerId !== void 0 && activeTriggerIdSelector(state) === triggerId && state.mounted,
6406    triggerProps: (state, isActive) => isActive ? state.activeTriggerProps : state.inactiveTriggerProps,
6407    /**
6408     * Popup id for the trigger that currently owns the open popup.
6409     */
6410    triggerPopupId: (state, triggerId) => triggerOwnsOpenPopupOrIsOnlyTrigger(state, triggerId) ? popupIdSelector(state) : void 0,
6411    popupProps: (state) => state.popupProps,
6412    popupElement: (state) => state.popupElement,
6413    positionerElement: (state) => state.positionerElement
6414  };
6415  
6416  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/usePopupHandleStore.mjs
6417  var React32 = __toESM(require_react(), 1);
6418  var import_shim2 = __toESM(require_shim(), 1);
6419  function usePopupHandleStore(handle) {
6420    const subscribe = React32.useCallback((listener) => {
6421      if (handle === void 0) {
6422        return NOOP;
6423      }
6424      return handle.subscribeStore(listener);
6425    }, [handle]);
6426    const getSnapshot = React32.useCallback(() => {
6427      return handle === void 0 ? void 0 : handle.store;
6428    }, [handle]);
6429    return (0, import_shim2.useSyncExternalStore)(subscribe, getSnapshot, () => handle?.serverStore);
6430  }
6431  
6432  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useFloatingRootContext.mjs
6433  function useFloatingRootContext(options) {
6434    const {
6435      open: open2 = false,
6436      onOpenChange,
6437      elements = {}
6438    } = options;
6439    const floatingId = useId();
6440    const nested = useFloatingParentNodeId() != null;
6441    if (true) {
6442      const optionDomReference = elements.reference;
6443      if (optionDomReference && !isElement(optionDomReference)) {
6444        console.error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `context.setPositionReference()`", "instead.");
6445      }
6446    }
6447    const store = useRefWithInit(() => new FloatingRootStore({
6448      open: open2,
6449      transitionStatus: void 0,
6450      onOpenChange,
6451      referenceElement: elements.reference ?? null,
6452      floatingElement: elements.floating ?? null,
6453      triggerElements: new PopupTriggerMap(),
6454      floatingId,
6455      syncOnly: false,
6456      nested
6457    })).current;
6458    useIsoLayoutEffect(() => {
6459      const valuesToSync = {
6460        open: open2,
6461        floatingId
6462      };
6463      if (elements.reference !== void 0) {
6464        valuesToSync.referenceElement = elements.reference;
6465        valuesToSync.domReferenceElement = isElement(elements.reference) ? elements.reference : null;
6466      }
6467      if (elements.floating !== void 0) {
6468        valuesToSync.floatingElement = elements.floating;
6469      }
6470      store.update(valuesToSync);
6471    }, [open2, floatingId, elements.reference, elements.floating, store]);
6472    store.context.onOpenChange = onOpenChange;
6473    store.context.nested = nested;
6474    return store;
6475  }
6476  
6477  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useFocus.mjs
6478  var React33 = __toESM(require_react(), 1);
6479  var isMacSafari = parts_exports.os.mac && parts_exports.engine.webkit;
6480  function useFocus(store, props = {}) {
6481    const {
6482      enabled = true,
6483      delay
6484    } = props;
6485    const {
6486      events,
6487      dataRef
6488    } = store.context;
6489    const blockFocusRef = React33.useRef(false);
6490    const blockedReferenceRef = React33.useRef(null);
6491    const keyboardModalityRef = React33.useRef(true);
6492    const timeout = useTimeout();
6493    React33.useEffect(() => {
6494      const domReference = store.select("domReferenceElement");
6495      if (!enabled) {
6496        return void 0;
6497      }
6498      const win = getWindow(domReference);
6499      function onBlur() {
6500        const currentDomReference = store.select("domReferenceElement");
6501        if (!store.select("open") && isHTMLElement(currentDomReference) && currentDomReference === activeElement(ownerDocument(currentDomReference))) {
6502          blockFocusRef.current = true;
6503          blockedReferenceRef.current = currentDomReference;
6504        }
6505      }
6506      function onKeyDown() {
6507        keyboardModalityRef.current = true;
6508      }
6509      function onPointerDown() {
6510        keyboardModalityRef.current = false;
6511      }
6512      return mergeCleanups(addEventListener(win, "blur", onBlur), isMacSafari && addEventListener(win, "keydown", onKeyDown, true), isMacSafari && addEventListener(win, "pointerdown", onPointerDown, true));
6513    }, [store, enabled]);
6514    React33.useEffect(() => {
6515      if (!enabled) {
6516        return void 0;
6517      }
6518      function onOpenChangeLocal(details) {
6519        if (details.reason === reason_parts_exports.triggerPress || details.reason === reason_parts_exports.escapeKey) {
6520          const referenceElement = store.select("domReferenceElement");
6521          if (isElement(referenceElement)) {
6522            blockedReferenceRef.current = referenceElement;
6523            blockFocusRef.current = true;
6524          }
6525        }
6526      }
6527      events.on("openchange", onOpenChangeLocal);
6528      return () => {
6529        events.off("openchange", onOpenChangeLocal);
6530      };
6531    }, [events, enabled, store]);
6532    const reference = React33.useMemo(() => {
6533      function resetBlockedFocus() {
6534        blockFocusRef.current = false;
6535        blockedReferenceRef.current = null;
6536      }
6537      return {
6538        onMouseLeave() {
6539          resetBlockedFocus();
6540        },
6541        onFocus(event) {
6542          const focusTarget = event.currentTarget;
6543          if (blockFocusRef.current) {
6544            if (blockedReferenceRef.current === focusTarget) {
6545              return;
6546            }
6547            resetBlockedFocus();
6548          }
6549          const target = getTarget(event.nativeEvent);
6550          if (isElement(target)) {
6551            if (isMacSafari && !event.relatedTarget) {
6552              if (!keyboardModalityRef.current && !isTypeableElement(target)) {
6553                return;
6554              }
6555            } else if (!matchesFocusVisible(target)) {
6556              return;
6557            }
6558          }
6559          const movedFromOtherEnabledTrigger = isTargetInsideEnabledTrigger(event.relatedTarget, store.context.triggerElements);
6560          const {
6561            nativeEvent,
6562            currentTarget
6563          } = event;
6564          if (store.select("open") && movedFromOtherEnabledTrigger || !delay) {
6565            store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent, currentTarget));
6566            return;
6567          }
6568          timeout.start(delay, () => {
6569            if (blockFocusRef.current) {
6570              return;
6571            }
6572            store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent, currentTarget));
6573          });
6574        },
6575        onBlur(event) {
6576          resetBlockedFocus();
6577          const relatedTarget = event.relatedTarget;
6578          const nativeEvent = event.nativeEvent;
6579          const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute("focus-guard")) && relatedTarget.getAttribute("data-type") === "outside";
6580          timeout.start(0, () => {
6581            const domReference = store.select("domReferenceElement");
6582            const activeEl = activeElement(ownerDocument(domReference));
6583            if (!relatedTarget && activeEl === domReference) {
6584              return;
6585            }
6586            if (contains(dataRef.current.floatingContext?.refs.floating.current, activeEl) || contains(domReference, activeEl) || movedToFocusGuard) {
6587              return;
6588            }
6589            const nextFocusedElement = relatedTarget ?? activeEl;
6590            if (isTargetInsideEnabledTrigger(nextFocusedElement, store.context.triggerElements)) {
6591              return;
6592            }
6593            store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent));
6594          });
6595        }
6596      };
6597    }, [dataRef, delay, store, timeout]);
6598    return React33.useMemo(() => enabled ? {
6599      reference,
6600      trigger: reference
6601    } : {}, [enabled, reference]);
6602  }
6603  
6604  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverFloatingInteraction.mjs
6605  var React34 = __toESM(require_react(), 1);
6606  
6607  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverInteractionSharedState.mjs
6608  var HoverInteraction = class _HoverInteraction {
6609    pointerType = void 0;
6610    interactedInside = false;
6611    handler = void 0;
6612    blockMouseMove = true;
6613    performedPointerEventsMutation = false;
6614    pointerEventsScopeElement = null;
6615    pointerEventsReferenceElement = null;
6616    pointerEventsFloatingElement = null;
6617    restTimeoutPending = false;
6618    openChangeTimeout = new Timeout();
6619    restTimeout = new Timeout();
6620    handleCloseOptions = void 0;
6621    static create() {
6622      return new _HoverInteraction();
6623    }
6624    dispose = () => {
6625      this.openChangeTimeout.clear();
6626      this.restTimeout.clear();
6627    };
6628    disposeEffect = () => {
6629      return this.dispose;
6630    };
6631  };
6632  var pointerEventsMutationOwnerByScopeElement = /* @__PURE__ */ new WeakMap();
6633  function clearSafePolygonPointerEventsMutation(instance) {
6634    if (!instance.performedPointerEventsMutation) {
6635      return;
6636    }
6637    const scopeElement = instance.pointerEventsScopeElement;
6638    if (scopeElement && pointerEventsMutationOwnerByScopeElement.get(scopeElement) === instance) {
6639      instance.pointerEventsScopeElement?.style.removeProperty("pointer-events");
6640      instance.pointerEventsReferenceElement?.style.removeProperty("pointer-events");
6641      instance.pointerEventsFloatingElement?.style.removeProperty("pointer-events");
6642      pointerEventsMutationOwnerByScopeElement.delete(scopeElement);
6643    }
6644    instance.performedPointerEventsMutation = false;
6645    instance.pointerEventsScopeElement = null;
6646    instance.pointerEventsReferenceElement = null;
6647    instance.pointerEventsFloatingElement = null;
6648  }
6649  function applySafePolygonPointerEventsMutation(instance, options) {
6650    const {
6651      scopeElement,
6652      referenceElement,
6653      floatingElement
6654    } = options;
6655    const existingOwner = pointerEventsMutationOwnerByScopeElement.get(scopeElement);
6656    if (existingOwner && existingOwner !== instance) {
6657      clearSafePolygonPointerEventsMutation(existingOwner);
6658    }
6659    clearSafePolygonPointerEventsMutation(instance);
6660    instance.performedPointerEventsMutation = true;
6661    instance.pointerEventsScopeElement = scopeElement;
6662    instance.pointerEventsReferenceElement = referenceElement;
6663    instance.pointerEventsFloatingElement = floatingElement;
6664    pointerEventsMutationOwnerByScopeElement.set(scopeElement, instance);
6665    scopeElement.style.pointerEvents = "none";
6666    referenceElement.style.pointerEvents = "auto";
6667    floatingElement.style.pointerEvents = "auto";
6668  }
6669  function useHoverInteractionSharedState(store) {
6670    const data = store.context.dataRef.current;
6671    const instance = useRefWithInit(() => data.hoverInteractionState ?? HoverInteraction.create()).current;
6672    if (!data.hoverInteractionState) {
6673      data.hoverInteractionState = instance;
6674    }
6675    useOnMount(data.hoverInteractionState.disposeEffect);
6676    return data.hoverInteractionState;
6677  }
6678  
6679  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverFloatingInteraction.mjs
6680  function useHoverFloatingInteraction(store, parameters = {}) {
6681    const {
6682      enabled = true,
6683      closeDelay: closeDelayProp = 0,
6684      nodeId: nodeIdProp
6685    } = parameters;
6686    const open2 = store.useState("open");
6687    const floatingElement = store.useState("floatingElement");
6688    const domReferenceElement = store.useState("domReferenceElement");
6689    const {
6690      dataRef
6691    } = store.context;
6692    const tree = useFloatingTree();
6693    const parentId = useFloatingParentNodeId();
6694    const instance = useHoverInteractionSharedState(store);
6695    const childClosedTimeout = useTimeout();
6696    const isClickLikeOpenEvent2 = useStableCallback(() => {
6697      return isClickLikeOpenEvent(dataRef.current.openEvent?.type, instance.interactedInside);
6698    });
6699    const isHoverOpen = useStableCallback(() => {
6700      return isHoverOpenEvent(dataRef.current.openEvent?.type);
6701    });
6702    const clearPointerEvents = useStableCallback(() => {
6703      clearSafePolygonPointerEventsMutation(instance);
6704    });
6705    useIsoLayoutEffect(() => {
6706      if (!open2) {
6707        instance.pointerType = void 0;
6708        instance.restTimeoutPending = false;
6709        instance.interactedInside = false;
6710        clearPointerEvents();
6711      }
6712    }, [open2, instance, clearPointerEvents]);
6713    React34.useEffect(() => {
6714      return clearPointerEvents;
6715    }, [clearPointerEvents]);
6716    useIsoLayoutEffect(() => {
6717      if (!enabled) {
6718        return void 0;
6719      }
6720      if (open2 && instance.handleCloseOptions?.blockPointerEvents && isHoverOpen() && isElement(domReferenceElement) && floatingElement) {
6721        const ref = domReferenceElement;
6722        const floatingEl = floatingElement;
6723        const doc = ownerDocument(floatingElement);
6724        const parentFloating = tree?.nodesRef.current.find((node) => node.id === parentId)?.context?.elements.floating;
6725        if (parentFloating) {
6726          parentFloating.style.pointerEvents = "";
6727        }
6728        const cachedScopeElement = instance.pointerEventsScopeElement !== floatingEl ? instance.pointerEventsScopeElement : null;
6729        const parentScopeElement = parentFloating !== floatingEl ? parentFloating : null;
6730        const scopeElement = instance.handleCloseOptions?.getScope?.() ?? cachedScopeElement ?? parentScopeElement ?? closest(ref, "[data-rootownerid]") ?? doc.body;
6731        applySafePolygonPointerEventsMutation(instance, {
6732          scopeElement,
6733          referenceElement: ref,
6734          floatingElement: floatingEl
6735        });
6736        return () => {
6737          clearPointerEvents();
6738        };
6739      }
6740      return void 0;
6741    }, [enabled, open2, domReferenceElement, floatingElement, instance, isHoverOpen, tree, parentId, clearPointerEvents]);
6742    React34.useEffect(() => {
6743      if (!enabled) {
6744        return void 0;
6745      }
6746      function hasParentChildren() {
6747        return !!(tree && parentId && getNodeChildren(tree.nodesRef.current, parentId).length > 0);
6748      }
6749      function closeWithDelay(event) {
6750        const closeDelay = getDelay(closeDelayProp, "close", instance.pointerType);
6751        const close = () => {
6752          store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
6753          tree?.events.emit("floating.closed", event);
6754        };
6755        if (closeDelay) {
6756          instance.openChangeTimeout.start(closeDelay, close);
6757        } else {
6758          instance.openChangeTimeout.clear();
6759          close();
6760        }
6761      }
6762      function handleInteractInside(event) {
6763        const target = getTarget(event);
6764        if (!isInteractiveElement(target)) {
6765          instance.interactedInside = false;
6766          return;
6767        }
6768        instance.interactedInside = closest(target, "[aria-haspopup]") != null;
6769      }
6770      function onFloatingMouseEnter() {
6771        instance.openChangeTimeout.clear();
6772        childClosedTimeout.clear();
6773        tree?.events.off("floating.closed", onNodeClosed);
6774        clearPointerEvents();
6775      }
6776      function onFloatingMouseLeave(event) {
6777        if (hasParentChildren() && tree) {
6778          tree.events.on("floating.closed", onNodeClosed);
6779          return;
6780        }
6781        if (isTargetInsideEnabledTrigger(event.relatedTarget, store.context.triggerElements)) {
6782          return;
6783        }
6784        const currentNodeId = dataRef.current.floatingContext?.nodeId ?? nodeIdProp;
6785        const relatedTarget = event.relatedTarget;
6786        const isMovingIntoDescendantFloating = tree && currentNodeId && isElement(relatedTarget) && getNodeChildren(tree.nodesRef.current, currentNodeId, false).some((node) => contains(node.context?.elements.floating, relatedTarget));
6787        if (isMovingIntoDescendantFloating) {
6788          return;
6789        }
6790        if (instance.handler) {
6791          instance.handler(event);
6792          return;
6793        }
6794        clearPointerEvents();
6795        if (isHoverOpen() && !isClickLikeOpenEvent2()) {
6796          closeWithDelay(event);
6797        }
6798      }
6799      function onNodeClosed(event) {
6800        if (!tree || !parentId || hasParentChildren()) {
6801          return;
6802        }
6803        childClosedTimeout.start(0, () => {
6804          tree.events.off("floating.closed", onNodeClosed);
6805          store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
6806          tree.events.emit("floating.closed", event);
6807        });
6808      }
6809      const floating = floatingElement;
6810      return mergeCleanups(floating && addEventListener(floating, "mouseenter", onFloatingMouseEnter), floating && addEventListener(floating, "mouseleave", onFloatingMouseLeave), floating && addEventListener(floating, "pointerdown", handleInteractInside, true), () => {
6811        tree?.events.off("floating.closed", onNodeClosed);
6812      });
6813    }, [enabled, floatingElement, store, dataRef, closeDelayProp, nodeIdProp, isHoverOpen, isClickLikeOpenEvent2, clearPointerEvents, instance, tree, parentId, childClosedTimeout]);
6814  }
6815  
6816  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverReferenceInteraction.mjs
6817  var React35 = __toESM(require_react(), 1);
6818  var ReactDOM4 = __toESM(require_react_dom(), 1);
6819  var EMPTY_REF = {
6820    current: null
6821  };
6822  function useHoverReferenceInteraction(store, props = {}) {
6823    const {
6824      enabled = true,
6825      delay = 0,
6826      handleClose = null,
6827      mouseOnly = false,
6828      restMs = 0,
6829      move = true,
6830      triggerElementRef = EMPTY_REF,
6831      externalTree,
6832      isActiveTrigger = true,
6833      getHandleCloseContext,
6834      isClosing,
6835      shouldOpen: shouldOpenProp,
6836      guardStaleOpen = false
6837    } = props;
6838    const {
6839      dataRef,
6840      events
6841    } = store.context;
6842    const tree = useFloatingTree(externalTree);
6843    const instance = useHoverInteractionSharedState(store);
6844    const isHoverCloseActiveRef = React35.useRef(false);
6845    const handleCloseRef = useValueAsRef(handleClose);
6846    const delayRef = useValueAsRef(delay);
6847    const restMsRef = useValueAsRef(restMs);
6848    const enabledRef = useValueAsRef(enabled);
6849    const shouldOpenRef = useValueAsRef(shouldOpenProp);
6850    const isClosingRef = useValueAsRef(isClosing);
6851    const isClickLikeOpenEvent2 = useStableCallback(() => {
6852      return isClickLikeOpenEvent(dataRef.current.openEvent?.type, instance.interactedInside);
6853    });
6854    const checkShouldOpen = useStableCallback(() => {
6855      return shouldOpenRef.current?.() !== false;
6856    });
6857    const isOverInactiveTrigger = useStableCallback((currentDomReference, currentTarget, target) => {
6858      const allTriggers = store.context.triggerElements;
6859      if (allTriggers.hasElement(currentTarget)) {
6860        return !currentDomReference || !contains(currentDomReference, currentTarget);
6861      }
6862      if (!isElement(target)) {
6863        return false;
6864      }
6865      const targetElement = target;
6866      return allTriggers.hasMatchingElement((trigger) => contains(trigger, targetElement)) && (!currentDomReference || !contains(currentDomReference, targetElement));
6867    });
6868    const cleanupMouseMoveHandler = useStableCallback(() => {
6869      if (!instance.handler) {
6870        return;
6871      }
6872      const doc = ownerDocument(store.select("domReferenceElement"));
6873      doc.removeEventListener("mousemove", instance.handler);
6874      instance.handler = void 0;
6875    });
6876    const clearPointerEvents = useStableCallback(() => {
6877      clearSafePolygonPointerEventsMutation(instance);
6878    });
6879    if (isActiveTrigger) {
6880      instance.handleCloseOptions = handleClose?.__options;
6881    }
6882    React35.useEffect(() => cleanupMouseMoveHandler, [cleanupMouseMoveHandler]);
6883    React35.useEffect(() => {
6884      if (!enabled) {
6885        return void 0;
6886      }
6887      function onOpenChangeLocal(details) {
6888        if (!details.open) {
6889          isHoverCloseActiveRef.current = details.reason === reason_parts_exports.triggerHover;
6890          cleanupMouseMoveHandler();
6891          instance.openChangeTimeout.clear();
6892          instance.restTimeout.clear();
6893          instance.blockMouseMove = true;
6894          instance.restTimeoutPending = false;
6895        } else {
6896          isHoverCloseActiveRef.current = false;
6897        }
6898      }
6899      events.on("openchange", onOpenChangeLocal);
6900      return () => {
6901        events.off("openchange", onOpenChangeLocal);
6902      };
6903    }, [enabled, events, instance, cleanupMouseMoveHandler]);
6904    React35.useEffect(() => {
6905      if (!enabled) {
6906        return void 0;
6907      }
6908      function closeWithDelay(event, runElseBranch = true) {
6909        const closeDelay = getDelay(delayRef.current, "close", instance.pointerType);
6910        if (closeDelay) {
6911          instance.openChangeTimeout.start(closeDelay, () => {
6912            store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
6913            tree?.events.emit("floating.closed", event);
6914          });
6915        } else if (runElseBranch) {
6916          instance.openChangeTimeout.clear();
6917          store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
6918          tree?.events.emit("floating.closed", event);
6919        }
6920      }
6921      const trigger = triggerElementRef.current ?? (isActiveTrigger ? store.select("domReferenceElement") : null);
6922      if (!isElement(trigger)) {
6923        return void 0;
6924      }
6925      function onMouseEnter(event) {
6926        instance.openChangeTimeout.clear();
6927        instance.blockMouseMove = false;
6928        if (mouseOnly && !isMouseLikePointerType(instance.pointerType)) {
6929          return;
6930        }
6931        const restMsValue = getRestMs(restMsRef.current);
6932        const openDelay = getDelay(delayRef.current, "open", instance.pointerType);
6933        const eventTarget = getTarget(event);
6934        const currentTarget = event.currentTarget ?? null;
6935        const currentDomReference = store.select("domReferenceElement");
6936        let triggerNode = currentTarget;
6937        if (isElement(eventTarget) && !store.context.triggerElements.hasElement(eventTarget)) {
6938          for (const triggerElement of store.context.triggerElements.elements()) {
6939            if (contains(triggerElement, eventTarget)) {
6940              triggerNode = triggerElement;
6941              break;
6942            }
6943          }
6944        }
6945        if (isElement(currentTarget) && isElement(currentDomReference) && !store.context.triggerElements.hasElement(currentTarget) && contains(currentTarget, currentDomReference)) {
6946          triggerNode = currentDomReference;
6947        }
6948        const isOverInactive = triggerNode == null ? false : isOverInactiveTrigger(currentDomReference, triggerNode, eventTarget);
6949        const isOpen = store.select("open");
6950        const isInClosingTransition = isClosingRef.current?.() ?? store.select("transitionStatus") === "ending";
6951        const isHoverCloseTransition = !isOpen && isInClosingTransition && isHoverCloseActiveRef.current;
6952        const isReenteringSameTriggerDuringCloseTransition = !isOverInactive && isElement(triggerNode) && isElement(currentDomReference) && contains(currentDomReference, triggerNode) && isHoverCloseTransition;
6953        const isRestOnlyDelay = restMsValue > 0 && !openDelay;
6954        const shouldOpenImmediately = isOverInactive && (isOpen || isHoverCloseTransition) || isReenteringSameTriggerDuringCloseTransition;
6955        const shouldOpen = !isOpen || isOverInactive;
6956        if (shouldOpenImmediately) {
6957          if (checkShouldOpen()) {
6958            store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode));
6959          }
6960          return;
6961        }
6962        if (isRestOnlyDelay) {
6963          return;
6964        }
6965        if (openDelay) {
6966          instance.openChangeTimeout.start(openDelay, () => {
6967            if (shouldOpen && checkShouldOpen()) {
6968              store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode));
6969            }
6970          });
6971        } else if (shouldOpen) {
6972          if (checkShouldOpen()) {
6973            store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode));
6974          }
6975        }
6976      }
6977      function onMouseLeave(event) {
6978        if (isClickLikeOpenEvent2()) {
6979          clearPointerEvents();
6980          return;
6981        }
6982        cleanupMouseMoveHandler();
6983        const domReferenceElement = store.select("domReferenceElement");
6984        const doc = ownerDocument(domReferenceElement);
6985        instance.restTimeout.clear();
6986        instance.restTimeoutPending = false;
6987        const handleCloseContextBase = dataRef.current.floatingContext ?? getHandleCloseContext?.();
6988        if (isTargetInsideEnabledTrigger(event.relatedTarget, store.context.triggerElements)) {
6989          return;
6990        }
6991        if (handleCloseRef.current && handleCloseContextBase) {
6992          if (!store.select("open")) {
6993            instance.openChangeTimeout.clear();
6994          }
6995          const currentTrigger = triggerElementRef.current;
6996          instance.handler = handleCloseRef.current({
6997            ...handleCloseContextBase,
6998            tree,
6999            x: event.clientX,
7000            y: event.clientY,
7001            onClose() {
7002              clearPointerEvents();
7003              cleanupMouseMoveHandler();
7004              if (enabledRef.current && !isClickLikeOpenEvent2() && currentTrigger === store.select("domReferenceElement")) {
7005                closeWithDelay(event, true);
7006              }
7007            }
7008          });
7009          doc.addEventListener("mousemove", instance.handler);
7010          instance.handler(event);
7011          return;
7012        }
7013        const shouldClose = instance.pointerType === "touch" ? !contains(store.select("floatingElement"), event.relatedTarget) : true;
7014        if (shouldClose) {
7015          closeWithDelay(event);
7016        }
7017      }
7018      function onMouseOut(event) {
7019        if (contains(trigger, event.relatedTarget)) {
7020          return;
7021        }
7022        instance.openChangeTimeout.clear();
7023        instance.restTimeout.clear();
7024        instance.restTimeoutPending = false;
7025      }
7026      const staleOpenGuard = guardStaleOpen ? addEventListener(trigger, "mouseout", onMouseOut) : void 0;
7027      if (move) {
7028        return mergeCleanups(addEventListener(trigger, "mousemove", onMouseEnter, {
7029          once: true
7030        }), addEventListener(trigger, "mouseenter", onMouseEnter), addEventListener(trigger, "mouseleave", onMouseLeave), staleOpenGuard);
7031      }
7032      return mergeCleanups(addEventListener(trigger, "mouseenter", onMouseEnter), addEventListener(trigger, "mouseleave", onMouseLeave), staleOpenGuard);
7033    }, [cleanupMouseMoveHandler, clearPointerEvents, dataRef, delayRef, store, enabled, handleCloseRef, instance, isActiveTrigger, isOverInactiveTrigger, isClickLikeOpenEvent2, mouseOnly, move, restMsRef, triggerElementRef, tree, enabledRef, getHandleCloseContext, isClosingRef, checkShouldOpen, guardStaleOpen]);
7034    return React35.useMemo(() => {
7035      if (!enabled) {
7036        return void 0;
7037      }
7038      function setPointerRef(event) {
7039        instance.pointerType = event.pointerType;
7040      }
7041      return {
7042        onPointerDown: setPointerRef,
7043        onPointerEnter: setPointerRef,
7044        onMouseMove(event) {
7045          const {
7046            nativeEvent
7047          } = event;
7048          const trigger = event.currentTarget;
7049          const currentDomReference = store.select("domReferenceElement");
7050          const currentOpen = store.select("open");
7051          const isOverInactive = isOverInactiveTrigger(currentDomReference, trigger, event.target);
7052          if (mouseOnly && !isMouseLikePointerType(instance.pointerType)) {
7053            return;
7054          }
7055          if (currentOpen && isOverInactive && instance.handleCloseOptions?.blockPointerEvents) {
7056            const floatingElement = store.select("floatingElement");
7057            if (floatingElement) {
7058              const scopeElement = instance.handleCloseOptions?.getScope?.() ?? trigger.ownerDocument.body;
7059              applySafePolygonPointerEventsMutation(instance, {
7060                scopeElement,
7061                referenceElement: trigger,
7062                floatingElement
7063              });
7064            }
7065          }
7066          const restMsValue = getRestMs(restMsRef.current);
7067          if (currentOpen && !isOverInactive || restMsValue === 0) {
7068            return;
7069          }
7070          if (!isOverInactive && instance.restTimeoutPending && event.movementX ** 2 + event.movementY ** 2 < 2) {
7071            return;
7072          }
7073          instance.restTimeout.clear();
7074          function handleMouseMove() {
7075            instance.restTimeoutPending = false;
7076            if (isClickLikeOpenEvent2()) {
7077              return;
7078            }
7079            const latestOpen = store.select("open");
7080            if (!instance.blockMouseMove && (!latestOpen || isOverInactive) && checkShouldOpen()) {
7081              store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, nativeEvent, trigger));
7082            }
7083          }
7084          if (instance.pointerType === "touch") {
7085            ReactDOM4.flushSync(() => {
7086              handleMouseMove();
7087            });
7088          } else if (isOverInactive && currentOpen) {
7089            handleMouseMove();
7090          } else {
7091            instance.restTimeoutPending = true;
7092            instance.restTimeout.start(restMsValue, handleMouseMove);
7093          }
7094        }
7095      };
7096    }, [enabled, instance, isClickLikeOpenEvent2, isOverInactiveTrigger, mouseOnly, store, restMsRef, checkShouldOpen]);
7097  }
7098  
7099  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useListNavigation.mjs
7100  var React36 = __toESM(require_react(), 1);
7101  function isStationaryWebKitPointer(event) {
7102    return parts_exports.engine.webkit && event.movementX === 0 && event.movementY === 0;
7103  }
7104  function doSwitch(orientation, vertical, horizontal) {
7105    switch (orientation) {
7106      case "vertical":
7107        return vertical;
7108      case "horizontal":
7109        return horizontal;
7110      default:
7111        return vertical || horizontal;
7112    }
7113  }
7114  function isMainOrientationKey(key, orientation) {
7115    const vertical = key === ARROW_UP || key === ARROW_DOWN;
7116    const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;
7117    return doSwitch(orientation, vertical, horizontal);
7118  }
7119  function isMainOrientationToEndKey(key, orientation, rtl) {
7120    const vertical = key === ARROW_DOWN;
7121    const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;
7122    return doSwitch(orientation, vertical, horizontal) || key === "Enter" || key === " " || key === "";
7123  }
7124  function isCrossOrientationOpenKey(key, orientation, rtl) {
7125    const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;
7126    const horizontal = key === ARROW_DOWN;
7127    return doSwitch(orientation, vertical, horizontal);
7128  }
7129  function isCrossOrientationCloseKey(key, orientation, rtl, grid) {
7130    const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;
7131    const horizontal = key === ARROW_UP;
7132    if (orientation === "both" || orientation === "horizontal" && grid) {
7133      return key === "Escape";
7134    }
7135    return doSwitch(orientation, vertical, horizontal);
7136  }
7137  function useListNavigation(store, props) {
7138    const {
7139      listRef,
7140      activeIndex,
7141      onNavigate: onNavigateProp = () => {
7142      },
7143      enabled = true,
7144      selectedIndex = null,
7145      allowEscape = false,
7146      loopFocus = false,
7147      nested = false,
7148      rtl = false,
7149      virtual = false,
7150      focusItemOnOpen = "auto",
7151      focusItemOnHover = true,
7152      openOnArrowKeyDown = true,
7153      disabledIndices = void 0,
7154      orientation = "vertical",
7155      triggerOrientation = orientation,
7156      parentOrientation,
7157      id,
7158      resetOnPointerLeave = true,
7159      externalTree,
7160      nestedReturnFocusRef,
7161      grid: navigateGrid
7162    } = props;
7163    const isGrid = navigateGrid != null;
7164    if (true) {
7165      if (allowEscape) {
7166        if (!loopFocus) {
7167          console.warn("`useListNavigation` looping must be enabled to allow escaping.");
7168        }
7169        if (!virtual) {
7170          console.warn("`useListNavigation` must be virtual to allow escaping.");
7171        }
7172      }
7173      if (orientation === "vertical" && isGrid) {
7174        console.warn("In grid list navigation mode, the `orientation` should", 'be either "horizontal" or "both".');
7175      }
7176    }
7177    const open2 = store.useState("open");
7178    const floatingElement = store.useState("floatingElement");
7179    const domReferenceElement = store.useState("domReferenceElement");
7180    const dataRef = store.context.dataRef;
7181    const floatingFocusElement = getFloatingFocusElement(floatingElement);
7182    const typeableComboboxReference = isTypeableCombobox(domReferenceElement);
7183    const floatingFocusElementRef = useValueAsRef(floatingFocusElement);
7184    const parentId = useFloatingParentNodeId();
7185    const tree = useFloatingTree(externalTree);
7186    const focusItemOnOpenRef = React36.useRef(focusItemOnOpen);
7187    const indexRef = React36.useRef(selectedIndex ?? -1);
7188    const keyRef = React36.useRef(null);
7189    const isPointerModalityRef = React36.useRef(true);
7190    const onNavigate = useStableCallback((event) => {
7191      onNavigateProp(indexRef.current === -1 ? null : indexRef.current, event);
7192    });
7193    const previousMountedRef = React36.useRef(!!floatingElement);
7194    const previousOpenRef = React36.useRef(open2);
7195    const forceSyncFocusRef = React36.useRef(false);
7196    const forceScrollIntoViewRef = React36.useRef(false);
7197    const cancelQueuedFocusRef = React36.useRef(null);
7198    const disabledIndicesRef = useValueAsRef(disabledIndices);
7199    const latestOpenRef = useValueAsRef(open2);
7200    const selectedIndexRef = useValueAsRef(selectedIndex);
7201    const resetOnPointerLeaveRef = useValueAsRef(resetOnPointerLeave);
7202    const focusFrame = useAnimationFrame();
7203    const waitForListPopulatedFrame = useAnimationFrame();
7204    const focusItem = useStableCallback(() => {
7205      focusFrame.cancel();
7206      function runFocus(item2) {
7207        if (!virtual) {
7208          cancelQueuedFocusRef.current = enqueueFocus(item2, {
7209            sync: forceSyncFocusRef.current,
7210            preventScroll: true
7211          });
7212        }
7213      }
7214      const initialItem = listRef.current[indexRef.current];
7215      const forceScrollIntoView = forceScrollIntoViewRef.current;
7216      if (initialItem) {
7217        runFocus(initialItem);
7218      }
7219      const scheduler2 = forceSyncFocusRef.current ? (callback) => callback() : (callback) => focusFrame.request(callback);
7220      scheduler2(() => {
7221        const waitedItem = listRef.current[indexRef.current] || initialItem;
7222        if (!waitedItem) {
7223          return;
7224        }
7225        if (!initialItem) {
7226          runFocus(waitedItem);
7227        }
7228        const shouldScrollIntoView = (
7229          // eslint-disable-next-line @typescript-eslint/no-use-before-define
7230          item && (forceScrollIntoView || !isPointerModalityRef.current)
7231        );
7232        if (shouldScrollIntoView) {
7233          waitedItem.scrollIntoView?.({
7234            block: "nearest",
7235            inline: "nearest"
7236          });
7237        }
7238      });
7239    });
7240    useIsoLayoutEffect(() => {
7241      dataRef.current.orientation = orientation;
7242    }, [dataRef, orientation]);
7243    useIsoLayoutEffect(() => {
7244      if (!open2) {
7245        keyRef.current = null;
7246      }
7247      if (!open2 || focusItemOnOpen !== "auto") {
7248        focusItemOnOpenRef.current = focusItemOnOpen;
7249      }
7250    }, [open2, focusItemOnOpen]);
7251    useIsoLayoutEffect(() => {
7252      if (!enabled) {
7253        return;
7254      }
7255      if (open2 && floatingElement) {
7256        indexRef.current = selectedIndex ?? -1;
7257        if (focusItemOnOpenRef.current && selectedIndex != null) {
7258          forceScrollIntoViewRef.current = true;
7259          onNavigate();
7260        }
7261      } else if (previousMountedRef.current) {
7262        indexRef.current = -1;
7263        onNavigate();
7264      }
7265    }, [enabled, open2, floatingElement, selectedIndex, onNavigate]);
7266    useIsoLayoutEffect(() => {
7267      if (!enabled) {
7268        return;
7269      }
7270      if (!open2) {
7271        forceSyncFocusRef.current = false;
7272        return;
7273      }
7274      if (!floatingElement) {
7275        return;
7276      }
7277      if (activeIndex == null) {
7278        forceSyncFocusRef.current = false;
7279        if (selectedIndexRef.current != null) {
7280          return;
7281        }
7282        if (previousMountedRef.current) {
7283          indexRef.current = -1;
7284          focusItem();
7285        }
7286        if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {
7287          let runs = 0;
7288          const waitForListPopulated = () => {
7289            if (listRef.current[0] == null) {
7290              if (runs < 2) {
7291                const scheduler2 = runs ? (callback) => waitForListPopulatedFrame.request(callback) : queueMicrotask;
7292                scheduler2(waitForListPopulated);
7293              }
7294              runs += 1;
7295            } else {
7296              indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, triggerOrientation, rtl) || nested ? getMinListIndex(listRef) : getMaxListIndex(listRef);
7297              keyRef.current = null;
7298              onNavigate();
7299            }
7300          };
7301          waitForListPopulated();
7302        }
7303      } else if (!isIndexOutOfListBounds(listRef.current, activeIndex)) {
7304        indexRef.current = activeIndex;
7305        focusItem();
7306        forceScrollIntoViewRef.current = false;
7307      }
7308    }, [enabled, open2, floatingElement, activeIndex, selectedIndexRef, nested, listRef, triggerOrientation, rtl, onNavigate, focusItem, waitForListPopulatedFrame]);
7309    useIsoLayoutEffect(() => {
7310      if (!enabled || floatingElement || !tree || virtual || !previousMountedRef.current) {
7311        return;
7312      }
7313      const nodes = tree.nodesRef.current;
7314      const parent = nodes.find((node) => node.id === parentId)?.context?.elements.floating;
7315      const activeEl = activeElement(ownerDocument(domReferenceElement ?? parent ?? null));
7316      const treeContainsActiveEl = nodes.some((node) => node.context && contains(node.context.elements.floating, activeEl));
7317      if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {
7318        parent.focus({
7319          preventScroll: true
7320        });
7321      }
7322    }, [enabled, floatingElement, domReferenceElement, tree, parentId, virtual]);
7323    useIsoLayoutEffect(() => {
7324      previousOpenRef.current = open2;
7325      previousMountedRef.current = !!floatingElement;
7326    });
7327    const hasActiveIndex = activeIndex != null;
7328    const syncCurrentTarget = useStableCallback((event) => {
7329      if (!latestOpenRef.current) {
7330        return;
7331      }
7332      const index2 = listRef.current.indexOf(event.currentTarget);
7333      if (index2 !== -1 && (indexRef.current !== index2 || activeIndex !== index2)) {
7334        indexRef.current = index2;
7335        onNavigate(event);
7336      }
7337    });
7338    const getParentOrientation = useStableCallback(() => {
7339      return parentOrientation ?? tree?.nodesRef.current.find((node) => node.id === parentId)?.context?.dataRef?.current.orientation;
7340    });
7341    const getMinEnabledIndex = useStableCallback(() => {
7342      return getMinListIndex(listRef, disabledIndicesRef.current);
7343    });
7344    const commonOnKeyDown = useStableCallback((event) => {
7345      isPointerModalityRef.current = false;
7346      forceSyncFocusRef.current = true;
7347      if (event.which === 229) {
7348        return;
7349      }
7350      if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {
7351        return;
7352      }
7353      if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl, isGrid)) {
7354        if (!isMainOrientationKey(event.key, getParentOrientation())) {
7355          stopEvent(event);
7356        }
7357        store.setOpen(false, createChangeEventDetails(reason_parts_exports.listNavigation, event.nativeEvent));
7358        const returnElement = nestedReturnFocusRef?.current ?? domReferenceElement;
7359        if (isHTMLElement(returnElement)) {
7360          returnElement.focus();
7361        }
7362        return;
7363      }
7364      if (activeIndex != null && activeIndex !== indexRef.current && !isIndexOutOfListBounds(listRef.current, activeIndex)) {
7365        indexRef.current = activeIndex;
7366      }
7367      const currentIndex = indexRef.current;
7368      const minIndex = getMinListIndex(listRef, disabledIndices);
7369      const maxIndex = getMaxListIndex(listRef, disabledIndices);
7370      if (!typeableComboboxReference) {
7371        if (event.key === "Home") {
7372          stopEvent(event);
7373          indexRef.current = minIndex;
7374          onNavigate(event);
7375        }
7376        if (event.key === "End") {
7377          stopEvent(event);
7378          indexRef.current = maxIndex;
7379          onNavigate(event);
7380        }
7381      }
7382      if (navigateGrid != null) {
7383        const index2 = navigateGrid(event, indexRef.current, listRef, orientation, loopFocus, rtl, disabledIndices, minIndex, maxIndex);
7384        if (index2 != null && index2 !== indexRef.current) {
7385          indexRef.current = index2;
7386          onNavigate(event);
7387        }
7388        if (orientation === "both") {
7389          return;
7390        }
7391      }
7392      if (isMainOrientationKey(event.key, orientation)) {
7393        stopEvent(event);
7394        const focusedElement = activeElement(event.currentTarget.ownerDocument);
7395        if (open2 && !virtual && contains(event.currentTarget, focusedElement) && !listRef.current.some((item2) => item2 != null && contains(item2, focusedElement))) {
7396          indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;
7397          onNavigate(event);
7398          if (activeIndex === indexRef.current) {
7399            focusItem();
7400          }
7401          return;
7402        }
7403        const {
7404          index: index2,
7405          wrapped
7406        } = getNextListIndex(listRef.current, currentIndex, {
7407          decrement: !isMainOrientationToEndKey(event.key, orientation, rtl),
7408          loopFocus,
7409          allowEscape,
7410          disabledIndices,
7411          minIndex,
7412          maxIndex
7413        });
7414        if (wrapped) {
7415          forceSyncFocusRef.current = false;
7416        }
7417        indexRef.current = index2;
7418        onNavigate(event);
7419      }
7420    });
7421    const item = React36.useMemo(() => {
7422      const itemProps = {
7423        onFocus(event) {
7424          forceSyncFocusRef.current = true;
7425          syncCurrentTarget(event);
7426        },
7427        onClick({
7428          currentTarget
7429        }) {
7430          if (!virtual) {
7431            currentTarget.focus({
7432              preventScroll: true
7433            });
7434          }
7435        },
7436        onMouseMove(event) {
7437          if (isStationaryWebKitPointer(event)) {
7438            return;
7439          }
7440          forceSyncFocusRef.current = true;
7441          forceScrollIntoViewRef.current = false;
7442          if (focusItemOnHover) {
7443            syncCurrentTarget(event);
7444          }
7445        },
7446        onPointerLeave(event) {
7447          if (!latestOpenRef.current || !isPointerModalityRef.current || event.pointerType === "touch") {
7448            return;
7449          }
7450          forceSyncFocusRef.current = true;
7451          const relatedTarget = event.relatedTarget;
7452          if (!focusItemOnHover || listRef.current.includes(relatedTarget)) {
7453            return;
7454          }
7455          if (!resetOnPointerLeaveRef.current) {
7456            return;
7457          }
7458          cancelQueuedFocusRef.current?.();
7459          cancelQueuedFocusRef.current = null;
7460          indexRef.current = -1;
7461          onNavigate(event);
7462          if (!virtual) {
7463            const floatingFocusEl = floatingFocusElementRef.current;
7464            const activeEl = activeElement(ownerDocument(floatingFocusEl));
7465            if (floatingFocusEl && contains(floatingFocusEl, activeEl)) {
7466              floatingFocusEl.focus({
7467                preventScroll: true
7468              });
7469            }
7470          }
7471        }
7472      };
7473      return itemProps;
7474    }, [syncCurrentTarget, latestOpenRef, floatingFocusElementRef, focusItemOnHover, listRef, onNavigate, resetOnPointerLeaveRef, virtual]);
7475    const ariaActiveDescendantProp = React36.useMemo(() => {
7476      return virtual && open2 && hasActiveIndex && {
7477        "aria-activedescendant": `$id}-$activeIndex}`
7478      };
7479    }, [virtual, open2, hasActiveIndex, id, activeIndex]);
7480    const floating = React36.useMemo(() => {
7481      return {
7482        ...!typeableComboboxReference ? ariaActiveDescendantProp : {},
7483        onKeyDown(event) {
7484          if (event.key === "Tab" && event.shiftKey && open2 && !virtual) {
7485            const target = getTarget(event.nativeEvent);
7486            if (target && !contains(floatingFocusElementRef.current, target)) {
7487              return;
7488            }
7489            stopEvent(event);
7490            const details = createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent);
7491            store.setOpen(false, details);
7492            const returnElement = nestedReturnFocusRef?.current ?? domReferenceElement;
7493            if (!details.isCanceled && isHTMLElement(returnElement)) {
7494              returnElement.focus();
7495            }
7496            return;
7497          }
7498          commonOnKeyDown(event);
7499        },
7500        onPointerMove(event) {
7501          if (isStationaryWebKitPointer(event)) {
7502            return;
7503          }
7504          isPointerModalityRef.current = true;
7505        }
7506      };
7507    }, [ariaActiveDescendantProp, commonOnKeyDown, floatingFocusElementRef, typeableComboboxReference, store, open2, virtual, domReferenceElement, nestedReturnFocusRef]);
7508    const trigger = React36.useMemo(() => {
7509      function openOnNavigationKeyDown(event) {
7510        store.setOpen(true, createChangeEventDetails(reason_parts_exports.listNavigation, event.nativeEvent, event.currentTarget));
7511      }
7512      function checkVirtualMouse(event) {
7513        if (focusItemOnOpen === "auto" && isVirtualClick(event.nativeEvent)) {
7514          focusItemOnOpenRef.current = !virtual;
7515        }
7516      }
7517      function checkVirtualPointer(event) {
7518        focusItemOnOpenRef.current = focusItemOnOpen;
7519        if (focusItemOnOpen === "auto" && isVirtualPointerEvent(event.nativeEvent)) {
7520          focusItemOnOpenRef.current = true;
7521        }
7522      }
7523      return {
7524        onKeyDown(event) {
7525          const currentOpen = store.select("open");
7526          isPointerModalityRef.current = false;
7527          const isArrowKey = event.key.startsWith("Arrow");
7528          const isParentCrossOpenKey = isCrossOrientationOpenKey(event.key, getParentOrientation(), rtl);
7529          const isMainKey = isMainOrientationKey(event.key, currentOpen ? orientation : triggerOrientation);
7530          const isNavigationKey = (nested ? isParentCrossOpenKey : isMainKey) || event.key === "Enter" || event.key.trim() === "";
7531          if (virtual && currentOpen && (!nested || isTypeableElement(event.currentTarget))) {
7532            return commonOnKeyDown(event);
7533          }
7534          if (!currentOpen && !openOnArrowKeyDown && isArrowKey) {
7535            return void 0;
7536          }
7537          if (isNavigationKey) {
7538            const isParentMainKey = isMainOrientationKey(event.key, getParentOrientation());
7539            keyRef.current = nested && isParentMainKey ? null : event.key;
7540          }
7541          if (nested) {
7542            if (isParentCrossOpenKey) {
7543              stopEvent(event);
7544              if (currentOpen) {
7545                indexRef.current = getMinEnabledIndex();
7546                onNavigate(event);
7547                if (virtual) {
7548                  floatingFocusElementRef.current?.focus();
7549                }
7550              } else {
7551                openOnNavigationKeyDown(event);
7552              }
7553            }
7554            return void 0;
7555          }
7556          if (isMainKey) {
7557            if (selectedIndexRef.current != null) {
7558              indexRef.current = selectedIndexRef.current;
7559            }
7560            stopEvent(event);
7561            if (!currentOpen && openOnArrowKeyDown) {
7562              openOnNavigationKeyDown(event);
7563            } else {
7564              commonOnKeyDown(event);
7565            }
7566            if (currentOpen) {
7567              onNavigate(event);
7568            }
7569          }
7570          return void 0;
7571        },
7572        onFocus(event) {
7573          if (event.target !== event.currentTarget) {
7574            return;
7575          }
7576          if (store.select("open") && !virtual) {
7577            indexRef.current = -1;
7578            onNavigate(event);
7579          }
7580        },
7581        onPointerDown: checkVirtualPointer,
7582        onPointerEnter: checkVirtualPointer,
7583        onMouseDown: checkVirtualMouse,
7584        onClick: checkVirtualMouse
7585      };
7586    }, [commonOnKeyDown, focusItemOnOpen, getMinEnabledIndex, nested, onNavigate, store, openOnArrowKeyDown, orientation, triggerOrientation, getParentOrientation, rtl, selectedIndexRef, virtual, floatingFocusElementRef]);
7587    const reference = React36.useMemo(() => {
7588      return {
7589        ...ariaActiveDescendantProp,
7590        ...trigger
7591      };
7592    }, [ariaActiveDescendantProp, trigger]);
7593    return React36.useMemo(() => enabled ? {
7594      reference,
7595      floating,
7596      item,
7597      trigger
7598    } : {}, [enabled, reference, floating, trigger, item]);
7599  }
7600  
7601  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useTypeahead.mjs
7602  var React37 = __toESM(require_react(), 1);
7603  function useTypeahead(store, props) {
7604    const {
7605      listRef,
7606      elementsRef,
7607      activeIndex,
7608      onMatch: onMatchProp,
7609      disabledIndices,
7610      onTyping: onTypingProp,
7611      enabled = true,
7612      resetMs = 750,
7613      selectedIndex = null
7614    } = props;
7615    const onTyping = useStableCallback(onTypingProp);
7616    const open2 = store.useState("open");
7617    const timeout = useTimeout();
7618    const stringRef = React37.useRef("");
7619    const prevIndexRef = React37.useRef(selectedIndex ?? activeIndex ?? -1);
7620    const matchIndexRef = React37.useRef(null);
7621    const onKeyDown = useStableCallback((event) => {
7622      function getElement(index3) {
7623        return elementsRef?.current[index3];
7624      }
7625      function isItemAvailable(index3) {
7626        const element = getElement(index3);
7627        if (element && !isElementVisible(element) || element?.matches(":disabled")) {
7628          return false;
7629        }
7630        return disabledIndices == null || !isListIndexDisabled(EMPTY_ARRAY, index3, disabledIndices);
7631      }
7632      function getMatchingIndex(list, string, startIndex2 = 0) {
7633        if (list.length === 0) {
7634          return -1;
7635        }
7636        const normalizedStartIndex = (startIndex2 % list.length + list.length) % list.length;
7637        const lowerString = string.toLowerCase();
7638        for (let offset4 = 0; offset4 < list.length; offset4 += 1) {
7639          const index3 = (normalizedStartIndex + offset4) % list.length;
7640          const text = list[index3];
7641          if (!text?.toLowerCase().startsWith(lowerString) || !isItemAvailable(index3)) {
7642            continue;
7643          }
7644          return index3;
7645        }
7646        return -1;
7647      }
7648      const listContent = listRef.current;
7649      if (stringRef.current.length > 0 && event.key === " ") {
7650        stopEvent(event);
7651        onTyping?.(true);
7652      }
7653      if (stringRef.current.length > 0 && stringRef.current[0] !== " ") {
7654        if (getMatchingIndex(listContent, stringRef.current) === -1 && event.key !== " ") {
7655          onTyping?.(false);
7656        }
7657      }
7658      if (listContent == null || // Character key.
7659      event.key.length !== 1 || // Modifier key.
7660      event.ctrlKey || event.metaKey || event.altKey) {
7661        return;
7662      }
7663      if (open2 && event.key !== " ") {
7664        stopEvent(event);
7665        onTyping?.(true);
7666      }
7667      const isNewSession = stringRef.current === "";
7668      if (isNewSession) {
7669        prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;
7670      }
7671      const allowRapidSuccessionOfFirstLetter = listContent.every((text, index3) => text && isItemAvailable(index3) ? text[0]?.toLowerCase() !== text[1]?.toLowerCase() : true);
7672      if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {
7673        stringRef.current = "";
7674        prevIndexRef.current = matchIndexRef.current;
7675      }
7676      stringRef.current += event.key;
7677      timeout.start(resetMs, () => {
7678        stringRef.current = "";
7679        prevIndexRef.current = matchIndexRef.current;
7680        onTyping?.(false);
7681      });
7682      const prevIndex = isNewSession ? selectedIndex ?? activeIndex ?? -1 : prevIndexRef.current;
7683      const startIndex = (prevIndex ?? 0) + 1;
7684      const index2 = getMatchingIndex(listContent, stringRef.current, startIndex);
7685      if (index2 !== -1) {
7686        onMatchProp?.(index2, event);
7687        matchIndexRef.current = index2;
7688      } else if (event.key !== " ") {
7689        stringRef.current = "";
7690        onTyping?.(false);
7691      }
7692    });
7693    const onBlur = useStableCallback((event) => {
7694      const next = event.relatedTarget;
7695      const currentDomReferenceElement = store.select("domReferenceElement");
7696      const currentFloatingElement = store.select("floatingElement");
7697      const withinComposite = contains(currentDomReferenceElement, next) || contains(currentFloatingElement, next);
7698      if (withinComposite) {
7699        return;
7700      }
7701      timeout.clear();
7702      stringRef.current = "";
7703      prevIndexRef.current = matchIndexRef.current;
7704      onTyping?.(false);
7705    });
7706    useIsoLayoutEffect(() => {
7707      if (!open2 && selectedIndex !== null) {
7708        return;
7709      }
7710      timeout.clear();
7711      matchIndexRef.current = null;
7712      if (stringRef.current !== "") {
7713        stringRef.current = "";
7714        onTyping?.(false);
7715      }
7716    }, [open2, selectedIndex, timeout, onTyping]);
7717    const sharedProps = React37.useMemo(() => ({
7718      onKeyDown,
7719      onBlur
7720    }), [onKeyDown, onBlur]);
7721    return React37.useMemo(() => enabled ? {
7722      reference: sharedProps,
7723      floating: sharedProps
7724    } : {}, [enabled, sharedProps]);
7725  }
7726  
7727  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/safePolygon.mjs
7728  var CURSOR_SPEED_THRESHOLD = 0.1;
7729  var CURSOR_SPEED_THRESHOLD_SQUARED = CURSOR_SPEED_THRESHOLD * CURSOR_SPEED_THRESHOLD;
7730  var POLYGON_BUFFER = 0.5;
7731  function hasIntersectingEdge(pointX, pointY, xi, yi, xj, yj) {
7732    return yi >= pointY !== yj >= pointY && pointX <= (xj - xi) * (pointY - yi) / (yj - yi) + xi;
7733  }
7734  function isPointInQuadrilateral(pointX, pointY, x1, y1, x2, y2, x3, y3, x4, y4) {
7735    let isInsideValue = false;
7736    if (hasIntersectingEdge(pointX, pointY, x1, y1, x2, y2)) {
7737      isInsideValue = !isInsideValue;
7738    }
7739    if (hasIntersectingEdge(pointX, pointY, x2, y2, x3, y3)) {
7740      isInsideValue = !isInsideValue;
7741    }
7742    if (hasIntersectingEdge(pointX, pointY, x3, y3, x4, y4)) {
7743      isInsideValue = !isInsideValue;
7744    }
7745    if (hasIntersectingEdge(pointX, pointY, x4, y4, x1, y1)) {
7746      isInsideValue = !isInsideValue;
7747    }
7748    return isInsideValue;
7749  }
7750  function isInsideRect(pointX, pointY, rect) {
7751    return pointX >= rect.x && pointX <= rect.x + rect.width && pointY >= rect.y && pointY <= rect.y + rect.height;
7752  }
7753  function isInsideAxisAlignedRect(pointX, pointY, x1, y1, x2, y2) {
7754    const minX = Math.min(x1, x2);
7755    const maxX = Math.max(x1, x2);
7756    const minY = Math.min(y1, y2);
7757    const maxY = Math.max(y1, y2);
7758    return pointX >= minX && pointX <= maxX && pointY >= minY && pointY <= maxY;
7759  }
7760  function safePolygon(options = {}) {
7761    const {
7762      blockPointerEvents = false
7763    } = options;
7764    const timeout = new Timeout();
7765    const fn = ({
7766      x: x2,
7767      y: y2,
7768      placement,
7769      elements,
7770      onClose,
7771      nodeId,
7772      tree
7773    }) => {
7774      const side = placement?.split("-")[0];
7775      let hasLanded = false;
7776      let lastX = null;
7777      let lastY = null;
7778      let lastCursorTime = typeof performance !== "undefined" ? performance.now() : 0;
7779      function isCursorMovingSlowly(nextX, nextY) {
7780        const currentTime = performance.now();
7781        const elapsedTime = currentTime - lastCursorTime;
7782        if (lastX === null || lastY === null || elapsedTime === 0) {
7783          lastX = nextX;
7784          lastY = nextY;
7785          lastCursorTime = currentTime;
7786          return false;
7787        }
7788        const deltaX = nextX - lastX;
7789        const deltaY = nextY - lastY;
7790        const distanceSquared = deltaX * deltaX + deltaY * deltaY;
7791        const thresholdSquared = elapsedTime * elapsedTime * CURSOR_SPEED_THRESHOLD_SQUARED;
7792        lastX = nextX;
7793        lastY = nextY;
7794        lastCursorTime = currentTime;
7795        return distanceSquared < thresholdSquared;
7796      }
7797      function close() {
7798        timeout.clear();
7799        onClose();
7800      }
7801      return function onMouseMove(event) {
7802        timeout.clear();
7803        const domReference = elements.domReference;
7804        const floating = elements.floating;
7805        if (!domReference || !floating || side == null || x2 == null || y2 == null) {
7806          return void 0;
7807        }
7808        const {
7809          clientX,
7810          clientY
7811        } = event;
7812        const target = getTarget(event);
7813        const isLeave = event.type === "mouseleave";
7814        const isOverFloatingEl = contains(floating, target);
7815        const isOverReferenceEl = contains(domReference, target);
7816        if (isOverFloatingEl) {
7817          hasLanded = true;
7818          if (!isLeave) {
7819            return void 0;
7820          }
7821        }
7822        if (isOverReferenceEl) {
7823          hasLanded = false;
7824          if (!isLeave) {
7825            hasLanded = true;
7826            return void 0;
7827          }
7828        }
7829        if (isLeave && isElement(event.relatedTarget) && contains(floating, event.relatedTarget)) {
7830          return void 0;
7831        }
7832        function hasOpenChildNode() {
7833          return Boolean(tree && getNodeChildren(tree.nodesRef.current, nodeId).length > 0);
7834        }
7835        function closeIfNoOpenChild() {
7836          if (!hasOpenChildNode()) {
7837            close();
7838          }
7839        }
7840        if (hasOpenChildNode()) {
7841          return void 0;
7842        }
7843        const refRect = domReference.getBoundingClientRect();
7844        const rect = floating.getBoundingClientRect();
7845        const cursorLeaveFromRight = x2 > rect.right - rect.width / 2;
7846        const cursorLeaveFromBottom = y2 > rect.bottom - rect.height / 2;
7847        const isFloatingWider = rect.width > refRect.width;
7848        const isFloatingTaller = rect.height > refRect.height;
7849        const left = (isFloatingWider ? refRect : rect).left;
7850        const right = (isFloatingWider ? refRect : rect).right;
7851        const top = (isFloatingTaller ? refRect : rect).top;
7852        const bottom = (isFloatingTaller ? refRect : rect).bottom;
7853        if (side === "top" && y2 >= refRect.bottom - 1 || side === "bottom" && y2 <= refRect.top + 1 || side === "left" && x2 >= refRect.right - 1 || side === "right" && x2 <= refRect.left + 1) {
7854          closeIfNoOpenChild();
7855          return void 0;
7856        }
7857        let isInsideTroughRect = false;
7858        switch (side) {
7859          case "top":
7860            isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, left, refRect.top + 1, right, rect.bottom - 1);
7861            break;
7862          case "bottom":
7863            isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, left, rect.top + 1, right, refRect.bottom - 1);
7864            break;
7865          case "left":
7866            isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, rect.right - 1, bottom, refRect.left + 1, top);
7867            break;
7868          case "right":
7869            isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, refRect.right - 1, bottom, rect.left + 1, top);
7870            break;
7871          default:
7872        }
7873        if (isInsideTroughRect) {
7874          return void 0;
7875        }
7876        if (hasLanded && !isInsideRect(clientX, clientY, refRect)) {
7877          closeIfNoOpenChild();
7878          return void 0;
7879        }
7880        if (!isLeave && isCursorMovingSlowly(clientX, clientY)) {
7881          closeIfNoOpenChild();
7882          return void 0;
7883        }
7884        let isInsidePolygon = false;
7885        switch (side) {
7886          case "top": {
7887            const cursorXOffset = isFloatingWider ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
7888            const cursorPointOneX = isFloatingWider ? x2 + cursorXOffset : cursorLeaveFromRight ? x2 + cursorXOffset : x2 - cursorXOffset;
7889            const cursorPointTwoX = isFloatingWider ? x2 - cursorXOffset : cursorLeaveFromRight ? x2 + cursorXOffset : x2 - cursorXOffset;
7890            const cursorPointY = y2 + POLYGON_BUFFER + 1;
7891            const commonYLeft = cursorLeaveFromRight ? rect.bottom - POLYGON_BUFFER : isFloatingWider ? rect.bottom - POLYGON_BUFFER : rect.top;
7892            const commonYRight = cursorLeaveFromRight ? isFloatingWider ? rect.bottom - POLYGON_BUFFER : rect.top : rect.bottom - POLYGON_BUFFER;
7893            isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointOneX, cursorPointY, cursorPointTwoX, cursorPointY, rect.left, commonYLeft, rect.right, commonYRight);
7894            break;
7895          }
7896          case "bottom": {
7897            const cursorXOffset = isFloatingWider ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
7898            const cursorPointOneX = isFloatingWider ? x2 + cursorXOffset : cursorLeaveFromRight ? x2 + cursorXOffset : x2 - cursorXOffset;
7899            const cursorPointTwoX = isFloatingWider ? x2 - cursorXOffset : cursorLeaveFromRight ? x2 + cursorXOffset : x2 - cursorXOffset;
7900            const cursorPointY = y2 - POLYGON_BUFFER;
7901            const commonYLeft = cursorLeaveFromRight ? rect.top + POLYGON_BUFFER : isFloatingWider ? rect.top + POLYGON_BUFFER : rect.bottom;
7902            const commonYRight = cursorLeaveFromRight ? isFloatingWider ? rect.top + POLYGON_BUFFER : rect.bottom : rect.top + POLYGON_BUFFER;
7903            isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointOneX, cursorPointY, cursorPointTwoX, cursorPointY, rect.left, commonYLeft, rect.right, commonYRight);
7904            break;
7905          }
7906          case "left": {
7907            const cursorYOffset = isFloatingTaller ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
7908            const cursorPointOneY = isFloatingTaller ? y2 + cursorYOffset : cursorLeaveFromBottom ? y2 + cursorYOffset : y2 - cursorYOffset;
7909            const cursorPointTwoY = isFloatingTaller ? y2 - cursorYOffset : cursorLeaveFromBottom ? y2 + cursorYOffset : y2 - cursorYOffset;
7910            const cursorPointX = x2 + POLYGON_BUFFER + 1;
7911            const commonXTop = cursorLeaveFromBottom ? rect.right - POLYGON_BUFFER : isFloatingTaller ? rect.right - POLYGON_BUFFER : rect.left;
7912            const commonXBottom = cursorLeaveFromBottom ? isFloatingTaller ? rect.right - POLYGON_BUFFER : rect.left : rect.right - POLYGON_BUFFER;
7913            isInsidePolygon = isPointInQuadrilateral(clientX, clientY, commonXTop, rect.top, commonXBottom, rect.bottom, cursorPointX, cursorPointOneY, cursorPointX, cursorPointTwoY);
7914            break;
7915          }
7916          case "right": {
7917            const cursorYOffset = isFloatingTaller ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
7918            const cursorPointOneY = isFloatingTaller ? y2 + cursorYOffset : cursorLeaveFromBottom ? y2 + cursorYOffset : y2 - cursorYOffset;
7919            const cursorPointTwoY = isFloatingTaller ? y2 - cursorYOffset : cursorLeaveFromBottom ? y2 + cursorYOffset : y2 - cursorYOffset;
7920            const cursorPointX = x2 - POLYGON_BUFFER;
7921            const commonXTop = cursorLeaveFromBottom ? rect.left + POLYGON_BUFFER : isFloatingTaller ? rect.left + POLYGON_BUFFER : rect.right;
7922            const commonXBottom = cursorLeaveFromBottom ? isFloatingTaller ? rect.left + POLYGON_BUFFER : rect.right : rect.left + POLYGON_BUFFER;
7923            isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointX, cursorPointOneY, cursorPointX, cursorPointTwoY, commonXTop, rect.top, commonXBottom, rect.bottom);
7924            break;
7925          }
7926          default:
7927        }
7928        if (!isInsidePolygon) {
7929          closeIfNoOpenChild();
7930        } else if (!hasLanded) {
7931          timeout.start(40, closeIfNoOpenChild);
7932        }
7933        return void 0;
7934      };
7935    };
7936    fn.__options = {
7937      ...options,
7938      blockPointerEvents
7939    };
7940    return fn;
7941  }
7942  
7943  // node_modules/.store/@floating-ui/core@1.8.0-3V8aS7jJHHGcsCINjP9-5A/node_modules/@floating-ui/core/dist/floating-ui.core.mjs
7944  function computeCoordsFromPlacement(_ref, placement, rtl) {
7945    let {
7946      reference,
7947      floating
7948    } = _ref;
7949    const sideAxis = getSideAxis(placement);
7950    const alignmentAxis = getAlignmentAxis(placement);
7951    const alignLength = getAxisLength(alignmentAxis);
7952    const side = getSide(placement);
7953    const isVertical = sideAxis === "y";
7954    const commonX = reference.x + reference.width / 2 - floating.width / 2;
7955    const commonY = reference.y + reference.height / 2 - floating.height / 2;
7956    const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
7957    let coords;
7958    switch (side) {
7959      case "top":
7960        coords = {
7961          x: commonX,
7962          y: reference.y - floating.height
7963        };
7964        break;
7965      case "bottom":
7966        coords = {
7967          x: commonX,
7968          y: reference.y + reference.height
7969        };
7970        break;
7971      case "right":
7972        coords = {
7973          x: reference.x + reference.width,
7974          y: commonY
7975        };
7976        break;
7977      case "left":
7978        coords = {
7979          x: reference.x - floating.width,
7980          y: commonY
7981        };
7982        break;
7983      default:
7984        coords = {
7985          x: reference.x,
7986          y: reference.y
7987        };
7988    }
7989    const alignment = getAlignment(placement);
7990    if (alignment) {
7991      coords[alignmentAxis] += commonAlign * (alignment === "end" ? 1 : -1) * (rtl && isVertical ? -1 : 1);
7992    }
7993    return coords;
7994  }
7995  async function detectOverflow(state, options) {
7996    var _await$platform$isEle;
7997    if (options === void 0) {
7998      options = {};
7999    }
8000    const {
8001      x: x2,
8002      y: y2,
8003      platform: platform3,
8004      rects,
8005      elements,
8006      strategy
8007    } = state;
8008    const {
8009      boundary = "clippingAncestors",
8010      rootBoundary = "viewport",
8011      elementContext = "floating",
8012      altBoundary = false,
8013      padding = 0
8014    } = evaluate(options, state);
8015    const paddingObject = getPaddingObject(padding);
8016    const altContext = elementContext === "floating" ? "reference" : "floating";
8017    const element = elements[altBoundary ? altContext : elementContext];
8018    const clippingClientRect = rectToClientRect(await platform3.getClippingRect({
8019      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)),
8020      boundary,
8021      rootBoundary,
8022      strategy
8023    }));
8024    const rect = elementContext === "floating" ? {
8025      x: x2,
8026      y: y2,
8027      width: rects.floating.width,
8028      height: rects.floating.height
8029    } : rects.reference;
8030    const offsetParent = await (platform3.getOffsetParent == null ? void 0 : platform3.getOffsetParent(elements.floating));
8031    const offsetScale = await (platform3.isElement == null ? void 0 : platform3.isElement(offsetParent)) && await (platform3.getScale == null ? void 0 : platform3.getScale(offsetParent)) || {
8032      x: 1,
8033      y: 1
8034    };
8035    const elementClientRect = rectToClientRect(platform3.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform3.convertOffsetParentRelativeRectToViewportRelativeRect({
8036      elements,
8037      rect,
8038      offsetParent,
8039      strategy
8040    }) : rect);
8041    return {
8042      top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
8043      bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
8044      left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
8045      right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
8046    };
8047  }
8048  var MAX_RESET_COUNT = 50;
8049  var computePosition = async (reference, floating, config) => {
8050    const {
8051      placement = "bottom",
8052      strategy = "absolute",
8053      middleware = [],
8054      platform: platform3
8055    } = config;
8056    const platformWithDetectOverflow = platform3.detectOverflow ? platform3 : {
8057      ...platform3,
8058      detectOverflow
8059    };
8060    const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(floating));
8061    let rects = await platform3.getElementRects({
8062      reference,
8063      floating,
8064      strategy
8065    });
8066    let {
8067      x: x2,
8068      y: y2
8069    } = computeCoordsFromPlacement(rects, placement, rtl);
8070    let statefulPlacement = placement;
8071    let resetCount = 0;
8072    const middlewareData = {};
8073    for (let i = 0; i < middleware.length; i++) {
8074      const currentMiddleware = middleware[i];
8075      if (!currentMiddleware) {
8076        continue;
8077      }
8078      const {
8079        name: name2,
8080        fn
8081      } = currentMiddleware;
8082      const {
8083        x: nextX,
8084        y: nextY,
8085        data,
8086        reset
8087      } = await fn({
8088        x: x2,
8089        y: y2,
8090        initialPlacement: placement,
8091        placement: statefulPlacement,
8092        strategy,
8093        middlewareData,
8094        rects,
8095        platform: platformWithDetectOverflow,
8096        elements: {
8097          reference,
8098          floating
8099        }
8100      });
8101      x2 = nextX != null ? nextX : x2;
8102      y2 = nextY != null ? nextY : y2;
8103      middlewareData[name2] = {
8104        ...middlewareData[name2],
8105        ...data
8106      };
8107      if (reset && resetCount < MAX_RESET_COUNT) {
8108        resetCount++;
8109        if (typeof reset === "object") {
8110          if (reset.placement) {
8111            statefulPlacement = reset.placement;
8112          }
8113          if (reset.rects) {
8114            rects = reset.rects === true ? await platform3.getElementRects({
8115              reference,
8116              floating,
8117              strategy
8118            }) : reset.rects;
8119          }
8120          ({
8121            x: x2,
8122            y: y2
8123          } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
8124        }
8125        i = -1;
8126      }
8127    }
8128    return {
8129      x: x2,
8130      y: y2,
8131      placement: statefulPlacement,
8132      strategy,
8133      middlewareData
8134    };
8135  };
8136  var flip = function(options) {
8137    if (options === void 0) {
8138      options = {};
8139    }
8140    return {
8141      name: "flip",
8142      options,
8143      async fn(state) {
8144        var _middlewareData$arrow, _middlewareData$flip;
8145        const {
8146          placement,
8147          middlewareData,
8148          rects,
8149          initialPlacement,
8150          platform: platform3,
8151          elements
8152        } = state;
8153        const {
8154          mainAxis: checkMainAxis = true,
8155          crossAxis: checkCrossAxis = true,
8156          fallbackPlacements: specifiedFallbackPlacements,
8157          fallbackStrategy = "bestFit",
8158          fallbackAxisSideDirection = "none",
8159          flipAlignment = true,
8160          ...detectOverflowOptions
8161        } = evaluate(options, state);
8162        if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
8163          return {};
8164        }
8165        const side = getSide(placement);
8166        const initialSideAxis = getSideAxis(initialPlacement);
8167        const isBasePlacement = getSide(initialPlacement) === initialPlacement;
8168        const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating));
8169        const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
8170        const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none";
8171        if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
8172          fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
8173        }
8174        const placements2 = [initialPlacement, ...fallbackPlacements];
8175        const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
8176        const overflows = [];
8177        let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
8178        if (checkMainAxis) {
8179          overflows.push(overflow[side]);
8180        }
8181        if (checkCrossAxis) {
8182          const sides2 = getAlignmentSides(placement, rects, rtl);
8183          overflows.push(overflow[sides2[0]], overflow[sides2[1]]);
8184        }
8185        overflowsData = [...overflowsData, {
8186          placement,
8187          overflows
8188        }];
8189        if (!overflows.every((side2) => side2 <= 0)) {
8190          var _middlewareData$flip2, _overflowsData$filter;
8191          const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
8192          const nextPlacement = placements2[nextIndex];
8193          if (nextPlacement) {
8194            const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false;
8195            if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis
8196            // overflows the main axis.
8197            overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
8198              return {
8199                data: {
8200                  index: nextIndex,
8201                  overflows: overflowsData
8202                },
8203                reset: {
8204                  placement: nextPlacement
8205                }
8206              };
8207            }
8208          }
8209          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;
8210          if (!resetPlacement) {
8211            switch (fallbackStrategy) {
8212              case "bestFit": {
8213                var _overflowsData$filter2;
8214                const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {
8215                  if (hasFallbackAxisSideDirection) {
8216                    const currentSideAxis = getSideAxis(d.placement);
8217                    return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal
8218                    // reading directions favoring greater width.
8219                    currentSideAxis === "y";
8220                  }
8221                  return true;
8222                }).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];
8223                if (placement2) {
8224                  resetPlacement = placement2;
8225                }
8226                break;
8227              }
8228              case "initialPlacement":
8229                resetPlacement = initialPlacement;
8230                break;
8231            }
8232          }
8233          if (placement !== resetPlacement) {
8234            return {
8235              reset: {
8236                placement: resetPlacement
8237              }
8238            };
8239          }
8240        }
8241        return {};
8242      }
8243    };
8244  };
8245  var originSides = /* @__PURE__ */ new Set(["left", "top"]);
8246  async function convertValueToCoords(state, options) {
8247    const {
8248      placement,
8249      platform: platform3,
8250      elements
8251    } = state;
8252    const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating));
8253    const side = getSide(placement);
8254    const alignment = getAlignment(placement);
8255    const isVertical = getSideAxis(placement) === "y";
8256    const mainAxisMulti = originSides.has(side) ? -1 : 1;
8257    const crossAxisMulti = rtl && isVertical ? -1 : 1;
8258    const rawValue = evaluate(options, state);
8259    let {
8260      mainAxis,
8261      crossAxis,
8262      alignmentAxis
8263    } = typeof rawValue === "number" ? {
8264      mainAxis: rawValue,
8265      crossAxis: 0,
8266      alignmentAxis: null
8267    } : {
8268      mainAxis: rawValue.mainAxis || 0,
8269      crossAxis: rawValue.crossAxis || 0,
8270      alignmentAxis: rawValue.alignmentAxis
8271    };
8272    if (alignment && typeof alignmentAxis === "number") {
8273      crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis;
8274    }
8275    return isVertical ? {
8276      x: crossAxis * crossAxisMulti,
8277      y: mainAxis * mainAxisMulti
8278    } : {
8279      x: mainAxis * mainAxisMulti,
8280      y: crossAxis * crossAxisMulti
8281    };
8282  }
8283  var offset = function(options) {
8284    if (options === void 0) {
8285      options = 0;
8286    }
8287    return {
8288      name: "offset",
8289      options,
8290      async fn(state) {
8291        var _middlewareData$offse, _middlewareData$arrow;
8292        const {
8293          x: x2,
8294          y: y2,
8295          placement,
8296          middlewareData
8297        } = state;
8298        const diffCoords = await convertValueToCoords(state, options);
8299        if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
8300          return {};
8301        }
8302        return {
8303          x: x2 + diffCoords.x,
8304          y: y2 + diffCoords.y,
8305          data: {
8306            ...diffCoords,
8307            placement
8308          }
8309        };
8310      }
8311    };
8312  };
8313  var shift = function(options) {
8314    if (options === void 0) {
8315      options = {};
8316    }
8317    return {
8318      name: "shift",
8319      options,
8320      async fn(state) {
8321        const {
8322          x: x2,
8323          y: y2,
8324          placement,
8325          platform: platform3
8326        } = state;
8327        const {
8328          mainAxis: checkMainAxis = true,
8329          crossAxis: checkCrossAxis = false,
8330          limiter = {
8331            fn: (_ref) => {
8332              let {
8333                x: x3,
8334                y: y3
8335              } = _ref;
8336              return {
8337                x: x3,
8338                y: y3
8339              };
8340            }
8341          },
8342          ...detectOverflowOptions
8343        } = evaluate(options, state);
8344        const coords = {
8345          x: x2,
8346          y: y2
8347        };
8348        const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
8349        const crossAxis = getSideAxis(placement);
8350        const mainAxis = getOppositeAxis(crossAxis);
8351        let mainAxisCoord = coords[mainAxis];
8352        let crossAxisCoord = coords[crossAxis];
8353        const clampCoord = (axis, coord) => clamp(coord + overflow[axis === "y" ? "top" : "left"], coord, coord - overflow[axis === "y" ? "bottom" : "right"]);
8354        if (checkMainAxis) {
8355          mainAxisCoord = clampCoord(mainAxis, mainAxisCoord);
8356        }
8357        if (checkCrossAxis) {
8358          crossAxisCoord = clampCoord(crossAxis, crossAxisCoord);
8359        }
8360        const limitedCoords = limiter.fn({
8361          ...state,
8362          [mainAxis]: mainAxisCoord,
8363          [crossAxis]: crossAxisCoord
8364        });
8365        return {
8366          ...limitedCoords,
8367          data: {
8368            x: limitedCoords.x - x2,
8369            y: limitedCoords.y - y2,
8370            enabled: {
8371              [mainAxis]: checkMainAxis,
8372              [crossAxis]: checkCrossAxis
8373            }
8374          }
8375        };
8376      }
8377    };
8378  };
8379  var limitShift = function(options) {
8380    if (options === void 0) {
8381      options = {};
8382    }
8383    return {
8384      options,
8385      fn(state) {
8386        var _rawOffset$mainAxis, _rawOffset$crossAxis;
8387        const {
8388          x: x2,
8389          y: y2,
8390          placement,
8391          rects,
8392          middlewareData
8393        } = state;
8394        const {
8395          offset: offset4 = 0,
8396          mainAxis: checkMainAxis = true,
8397          crossAxis: checkCrossAxis = true
8398        } = evaluate(options, state);
8399        const coords = {
8400          x: x2,
8401          y: y2
8402        };
8403        const crossAxis = getSideAxis(placement);
8404        const mainAxis = getOppositeAxis(crossAxis);
8405        let mainAxisCoord = coords[mainAxis];
8406        let crossAxisCoord = coords[crossAxis];
8407        const rawOffset = evaluate(offset4, state);
8408        const computedOffset = typeof rawOffset === "number" ? {
8409          mainAxis: rawOffset,
8410          crossAxis: 0
8411        } : {
8412          mainAxis: (_rawOffset$mainAxis = rawOffset.mainAxis) != null ? _rawOffset$mainAxis : 0,
8413          crossAxis: (_rawOffset$crossAxis = rawOffset.crossAxis) != null ? _rawOffset$crossAxis : 0
8414        };
8415        if (checkMainAxis) {
8416          const len = mainAxis === "y" ? "height" : "width";
8417          const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;
8418          const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;
8419          if (mainAxisCoord < limitMin) {
8420            mainAxisCoord = limitMin;
8421          } else if (mainAxisCoord > limitMax) {
8422            mainAxisCoord = limitMax;
8423          }
8424        }
8425        if (checkCrossAxis) {
8426          var _middlewareData$offse, _middlewareData$offse2;
8427          const len = mainAxis === "y" ? "width" : "height";
8428          const isOriginSide = originSides.has(getSide(placement));
8429          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);
8430          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);
8431          if (crossAxisCoord < limitMin) {
8432            crossAxisCoord = limitMin;
8433          } else if (crossAxisCoord > limitMax) {
8434            crossAxisCoord = limitMax;
8435          }
8436        }
8437        return {
8438          [mainAxis]: mainAxisCoord,
8439          [crossAxis]: crossAxisCoord
8440        };
8441      }
8442    };
8443  };
8444  var size = function(options) {
8445    if (options === void 0) {
8446      options = {};
8447    }
8448    return {
8449      name: "size",
8450      options,
8451      async fn(state) {
8452        const {
8453          placement,
8454          rects,
8455          platform: platform3,
8456          elements
8457        } = state;
8458        const {
8459          apply = () => {
8460          },
8461          ...detectOverflowOptions
8462        } = evaluate(options, state);
8463        const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
8464        const side = getSide(placement);
8465        const alignment = getAlignment(placement);
8466        const isYAxis = getSideAxis(placement) === "y";
8467        const {
8468          width,
8469          height
8470        } = rects.floating;
8471        let heightSide;
8472        let widthSide;
8473        if (side === "top" || side === "bottom") {
8474          heightSide = side;
8475          widthSide = alignment === (await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating)) ? "start" : "end") ? "left" : "right";
8476        } else {
8477          widthSide = side;
8478          heightSide = alignment === "end" ? "top" : "bottom";
8479        }
8480        const maximumClippingHeight = height - overflow.top - overflow.bottom;
8481        const maximumClippingWidth = width - overflow.left - overflow.right;
8482        const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
8483        const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
8484        const shiftData = state.middlewareData.shift;
8485        const noShift = !shiftData;
8486        let availableHeight2 = overflowAvailableHeight;
8487        let availableWidth2 = overflowAvailableWidth;
8488        if (shiftData != null && shiftData.enabled.x) {
8489          availableWidth2 = maximumClippingWidth;
8490        }
8491        if (shiftData != null && shiftData.enabled.y) {
8492          availableHeight2 = maximumClippingHeight;
8493        }
8494        if (noShift && !alignment) {
8495          if (isYAxis) {
8496            availableWidth2 = width - 2 * max(overflow.left, overflow.right);
8497          } else {
8498            availableHeight2 = height - 2 * max(overflow.top, overflow.bottom);
8499          }
8500        }
8501        await apply({
8502          ...state,
8503          availableWidth: availableWidth2,
8504          availableHeight: availableHeight2
8505        });
8506        const nextDimensions = await platform3.getDimensions(elements.floating);
8507        if (width !== nextDimensions.width || height !== nextDimensions.height) {
8508          return {
8509            reset: {
8510              rects: true
8511            }
8512          };
8513        }
8514        return {};
8515      }
8516    };
8517  };
8518  
8519  // node_modules/.store/@floating-ui/dom@1.8.0-vHXcr4FgWneV0cgwFw-d7A/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
8520  function getCssDimensions(element) {
8521    const css = getComputedStyle2(element);
8522    let width = parseFloat(css.width) || 0;
8523    let height = parseFloat(css.height) || 0;
8524    const hasOffset = isHTMLElement(element);
8525    const offsetWidth = hasOffset ? element.offsetWidth : width;
8526    const offsetHeight = hasOffset ? element.offsetHeight : height;
8527    const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
8528    if (shouldFallback) {
8529      width = offsetWidth;
8530      height = offsetHeight;
8531    }
8532    return {
8533      width,
8534      height,
8535      $: shouldFallback
8536    };
8537  }
8538  function unwrapElement(element) {
8539    return !isElement(element) ? element.contextElement : element;
8540  }
8541  function getScale(element) {
8542    const domElement = unwrapElement(element);
8543    if (!isHTMLElement(domElement)) {
8544      return createCoords(1);
8545    }
8546    const rect = domElement.getBoundingClientRect();
8547    const {
8548      width,
8549      height,
8550      $: $2
8551    } = getCssDimensions(domElement);
8552    let x2 = ($2 ? round(rect.width) : rect.width) / width;
8553    let y2 = ($2 ? round(rect.height) : rect.height) / height;
8554    if (!x2 || !Number.isFinite(x2)) {
8555      x2 = 1;
8556    }
8557    if (!y2 || !Number.isFinite(y2)) {
8558      y2 = 1;
8559    }
8560    return {
8561      x: x2,
8562      y: y2
8563    };
8564  }
8565  var noOffsets = /* @__PURE__ */ createCoords(0);
8566  function getVisualOffsets(element) {
8567    const win = getWindow(element);
8568    if (!isWebKit() || !win.visualViewport) {
8569      return noOffsets;
8570    }
8571    return {
8572      x: win.visualViewport.offsetLeft,
8573      y: win.visualViewport.offsetTop
8574    };
8575  }
8576  function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
8577    if (isFixed === void 0) {
8578      isFixed = false;
8579    }
8580    return !!floatingOffsetParent && isFixed && floatingOffsetParent === getWindow(element);
8581  }
8582  function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
8583    if (includeScale === void 0) {
8584      includeScale = false;
8585    }
8586    if (isFixedStrategy === void 0) {
8587      isFixedStrategy = false;
8588    }
8589    const clientRect = element.getBoundingClientRect();
8590    const domElement = unwrapElement(element);
8591    let scale = createCoords(1);
8592    if (includeScale) {
8593      if (offsetParent) {
8594        if (isElement(offsetParent)) {
8595          scale = getScale(offsetParent);
8596        }
8597      } else {
8598        scale = getScale(element);
8599      }
8600    }
8601    const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
8602    let x2 = (clientRect.left + visualOffsets.x) / scale.x;
8603    let y2 = (clientRect.top + visualOffsets.y) / scale.y;
8604    let width = clientRect.width / scale.x;
8605    let height = clientRect.height / scale.y;
8606    if (domElement && offsetParent) {
8607      const win = getWindow(domElement);
8608      const offsetWin = isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
8609      let currentWin = win;
8610      let currentIFrame = getFrameElement(currentWin);
8611      while (currentIFrame && offsetWin !== currentWin) {
8612        const iframeScale = getScale(currentIFrame);
8613        const iframeRect = currentIFrame.getBoundingClientRect();
8614        const css = getComputedStyle2(currentIFrame);
8615        const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
8616        const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
8617        x2 *= iframeScale.x;
8618        y2 *= iframeScale.y;
8619        width *= iframeScale.x;
8620        height *= iframeScale.y;
8621        x2 += left;
8622        y2 += top;
8623        currentWin = getWindow(currentIFrame);
8624        currentIFrame = getFrameElement(currentWin);
8625      }
8626    }
8627    return rectToClientRect({
8628      width,
8629      height,
8630      x: x2,
8631      y: y2
8632    });
8633  }
8634  function getWindowScrollBarX(element, rect) {
8635    const leftScroll = getNodeScroll(element).scrollLeft;
8636    if (!rect) {
8637      return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
8638    }
8639    return rect.left + leftScroll;
8640  }
8641  function getHTMLOffset(documentElement, scroll) {
8642    const htmlRect = documentElement.getBoundingClientRect();
8643    const x2 = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
8644    const y2 = htmlRect.top + scroll.scrollTop;
8645    return {
8646      x: x2,
8647      y: y2
8648    };
8649  }
8650  function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
8651    let {
8652      elements,
8653      rect,
8654      offsetParent,
8655      strategy
8656    } = _ref;
8657    const isFixed = strategy === "fixed";
8658    const documentElement = getDocumentElement(offsetParent);
8659    const topLayer = elements ? isTopLayer(elements.floating) : false;
8660    if (offsetParent === documentElement || topLayer && isFixed) {
8661      return rect;
8662    }
8663    let scroll = {
8664      scrollLeft: 0,
8665      scrollTop: 0
8666    };
8667    let scale = createCoords(1);
8668    const offsets = createCoords(0);
8669    const isOffsetParentAnElement = isHTMLElement(offsetParent);
8670    if (isOffsetParentAnElement || !isFixed) {
8671      if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
8672        scroll = getNodeScroll(offsetParent);
8673      }
8674      if (isOffsetParentAnElement) {
8675        const offsetRect = getBoundingClientRect(offsetParent);
8676        scale = getScale(offsetParent);
8677        offsets.x = offsetRect.x + offsetParent.clientLeft;
8678        offsets.y = offsetRect.y + offsetParent.clientTop;
8679      }
8680    }
8681    const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
8682    return {
8683      width: rect.width * scale.x,
8684      height: rect.height * scale.y,
8685      x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
8686      y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
8687    };
8688  }
8689  function getClientRects(element) {
8690    return element.getClientRects ? Array.from(element.getClientRects()) : [];
8691  }
8692  function getDocumentRect(html) {
8693    const scroll = getNodeScroll(html);
8694    const body = html.ownerDocument.body;
8695    const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
8696    const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
8697    let x2 = -scroll.scrollLeft + getWindowScrollBarX(html);
8698    const y2 = -scroll.scrollTop;
8699    if (getComputedStyle2(body).direction === "rtl") {
8700      x2 += max(html.clientWidth, body.clientWidth) - width;
8701    }
8702    return {
8703      width,
8704      height,
8705      x: x2,
8706      y: y2
8707    };
8708  }
8709  var SCROLLBAR_MAX = 25;
8710  function getViewportRect(element, strategy, rootBoundary) {
8711    if (rootBoundary === void 0) {
8712      rootBoundary = "viewport";
8713    }
8714    const isLayoutViewport = rootBoundary === "layoutViewport";
8715    const win = getWindow(element);
8716    const html = getDocumentElement(element);
8717    const visualViewport = win.visualViewport;
8718    let width = html.clientWidth;
8719    let height = html.clientHeight;
8720    let x2 = 0;
8721    let y2 = 0;
8722    if (visualViewport) {
8723      const layoutRelativeClientCoords = !isWebKit() || strategy === "fixed";
8724      if (isLayoutViewport) {
8725        if (!layoutRelativeClientCoords) {
8726          x2 = -visualViewport.offsetLeft;
8727          y2 = -visualViewport.offsetTop;
8728        }
8729      } else {
8730        width = visualViewport.width;
8731        height = visualViewport.height;
8732        if (layoutRelativeClientCoords) {
8733          x2 = visualViewport.offsetLeft;
8734          y2 = visualViewport.offsetTop;
8735        }
8736      }
8737    }
8738    const windowScrollbarX = getWindowScrollBarX(html);
8739    if (windowScrollbarX <= 0) {
8740      const doc = html.ownerDocument;
8741      const body = doc.body;
8742      const bodyStyles = getComputedStyle(body);
8743      const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
8744      const reservedWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
8745      const gutter = getComputedStyle(html).scrollbarGutter === "stable both-edges" ? reservedWidth / 2 : reservedWidth;
8746      if (gutter <= SCROLLBAR_MAX) {
8747        width -= gutter;
8748      }
8749    }
8750    return {
8751      width,
8752      height,
8753      x: x2,
8754      y: y2
8755    };
8756  }
8757  function getInnerBoundingClientRect(element, strategy) {
8758    const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
8759    const top = clientRect.top + element.clientTop;
8760    const left = clientRect.left + element.clientLeft;
8761    const scale = getScale(element);
8762    const width = element.clientWidth * scale.x;
8763    const height = element.clientHeight * scale.y;
8764    const x2 = left * scale.x;
8765    const y2 = top * scale.y;
8766    return {
8767      width,
8768      height,
8769      x: x2,
8770      y: y2
8771    };
8772  }
8773  function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
8774    let rect;
8775    if (clippingAncestor === "viewport" || clippingAncestor === "layoutViewport") {
8776      rect = getViewportRect(element, strategy, clippingAncestor);
8777    } else if (clippingAncestor === "document") {
8778      rect = getDocumentRect(getDocumentElement(element));
8779    } else if (isElement(clippingAncestor)) {
8780      rect = getInnerBoundingClientRect(clippingAncestor, strategy);
8781    } else {
8782      const visualOffsets = getVisualOffsets(element);
8783      rect = {
8784        x: clippingAncestor.x - visualOffsets.x,
8785        y: clippingAncestor.y - visualOffsets.y,
8786        width: clippingAncestor.width,
8787        height: clippingAncestor.height
8788      };
8789    }
8790    return rectToClientRect(rect);
8791  }
8792  function getClippingElementAncestors(element, cache2) {
8793    const cachedResult = cache2.get(element);
8794    if (cachedResult) {
8795      return cachedResult;
8796    }
8797    let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== "body");
8798    let lastKeptComputedStyle = null;
8799    const elementIsFixed = getComputedStyle2(element).position === "fixed";
8800    let currentNode = elementIsFixed ? getParentNode(element) : element;
8801    while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
8802      const computedStyle = getComputedStyle2(currentNode);
8803      const currentNodeIsContaining = isContainingBlock(currentNode);
8804      const lastPosition = lastKeptComputedStyle ? lastKeptComputedStyle.position : elementIsFixed ? "fixed" : "";
8805      const shouldDropCurrentNode = !currentNodeIsContaining && (lastPosition === "fixed" || lastPosition === "absolute" && computedStyle.position === "static");
8806      if (shouldDropCurrentNode) {
8807        result = result.filter((ancestor) => ancestor !== currentNode);
8808      } else {
8809        lastKeptComputedStyle = computedStyle;
8810      }
8811      currentNode = getParentNode(currentNode);
8812    }
8813    cache2.set(element, result);
8814    return result;
8815  }
8816  function getClippingRect(_ref) {
8817    let {
8818      element,
8819      boundary,
8820      rootBoundary,
8821      strategy
8822    } = _ref;
8823    const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
8824    const clippingAncestors = [...elementClippingAncestors, rootBoundary];
8825    const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
8826    let top = firstRect.top;
8827    let right = firstRect.right;
8828    let bottom = firstRect.bottom;
8829    let left = firstRect.left;
8830    for (let i = 1; i < clippingAncestors.length; i++) {
8831      const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
8832      top = max(rect.top, top);
8833      right = min(rect.right, right);
8834      bottom = min(rect.bottom, bottom);
8835      left = max(rect.left, left);
8836    }
8837    return {
8838      width: right - left,
8839      height: bottom - top,
8840      x: left,
8841      y: top
8842    };
8843  }
8844  function getDimensions(element) {
8845    const {
8846      width,
8847      height
8848    } = getCssDimensions(element);
8849    return {
8850      width,
8851      height
8852    };
8853  }
8854  function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
8855    const isOffsetParentAnElement = isHTMLElement(offsetParent);
8856    const documentElement = getDocumentElement(offsetParent);
8857    const isFixed = strategy === "fixed";
8858    const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
8859    let scroll = {
8860      scrollLeft: 0,
8861      scrollTop: 0
8862    };
8863    const offsets = createCoords(0);
8864    if (isOffsetParentAnElement || !isFixed) {
8865      if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
8866        scroll = getNodeScroll(offsetParent);
8867      }
8868      if (isOffsetParentAnElement) {
8869        const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
8870        offsets.x = offsetRect.x + offsetParent.clientLeft;
8871        offsets.y = offsetRect.y + offsetParent.clientTop;
8872      }
8873    }
8874    if (!isOffsetParentAnElement && documentElement) {
8875      offsets.x = getWindowScrollBarX(documentElement);
8876    }
8877    const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
8878    const x2 = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
8879    const y2 = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
8880    return {
8881      x: x2,
8882      y: y2,
8883      width: rect.width,
8884      height: rect.height
8885    };
8886  }
8887  function isStaticPositioned(element) {
8888    return getComputedStyle2(element).position === "static";
8889  }
8890  function getTrueOffsetParent(element, polyfill) {
8891    if (!isHTMLElement(element) || getComputedStyle2(element).position === "fixed") {
8892      return null;
8893    }
8894    if (polyfill) {
8895      return polyfill(element);
8896    }
8897    let rawOffsetParent = element.offsetParent;
8898    if (getDocumentElement(element) === rawOffsetParent) {
8899      rawOffsetParent = rawOffsetParent.ownerDocument.body;
8900    }
8901    return rawOffsetParent;
8902  }
8903  function getOffsetParent(element, polyfill) {
8904    const win = getWindow(element);
8905    if (isTopLayer(element)) {
8906      return win;
8907    }
8908    if (!isHTMLElement(element)) {
8909      let svgOffsetParent = getParentNode(element);
8910      while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
8911        if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
8912          return svgOffsetParent;
8913        }
8914        svgOffsetParent = getParentNode(svgOffsetParent);
8915      }
8916      return win;
8917    }
8918    let offsetParent = getTrueOffsetParent(element, polyfill);
8919    while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
8920      offsetParent = getTrueOffsetParent(offsetParent, polyfill);
8921    }
8922    if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
8923      return win;
8924    }
8925    return offsetParent || getContainingBlock(element) || win;
8926  }
8927  var getElementRects = async function(data) {
8928    const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
8929    const getDimensionsFn = this.getDimensions;
8930    const floatingDimensions = await getDimensionsFn(data.floating);
8931    return {
8932      reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
8933      floating: {
8934        x: 0,
8935        y: 0,
8936        width: floatingDimensions.width,
8937        height: floatingDimensions.height
8938      }
8939    };
8940  };
8941  function isRTL(element) {
8942    return getComputedStyle2(element).direction === "rtl";
8943  }
8944  var platform2 = {
8945    convertOffsetParentRelativeRectToViewportRelativeRect,
8946    getDocumentElement,
8947    getClippingRect,
8948    getOffsetParent,
8949    getElementRects,
8950    getClientRects,
8951    getDimensions,
8952    getScale,
8953    isElement,
8954    isRTL
8955  };
8956  function rectsAreEqual(a, b) {
8957    return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
8958  }
8959  function observeMove(element, onMove, ancestorResize) {
8960    let io = null;
8961    let timeoutId;
8962    const root = getDocumentElement(element);
8963    function cleanup() {
8964      var _io;
8965      clearTimeout(timeoutId);
8966      (_io = io) == null || _io.disconnect();
8967      io = null;
8968    }
8969    function refresh(skip, threshold) {
8970      if (skip === void 0) {
8971        skip = false;
8972      }
8973      if (threshold === void 0) {
8974        threshold = 1;
8975      }
8976      cleanup();
8977      const elementRectForRootMargin = element.getBoundingClientRect();
8978      const {
8979        left,
8980        top,
8981        width,
8982        height
8983      } = elementRectForRootMargin;
8984      if (!skip) {
8985        onMove();
8986      }
8987      if (!width || !height) {
8988        return;
8989      }
8990      const insetTop = floor(top);
8991      const insetRight = floor(root.clientWidth - (left + width));
8992      const insetBottom = floor(root.clientHeight - (top + height));
8993      const insetLeft = floor(left);
8994      const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
8995      const options = {
8996        rootMargin,
8997        threshold: max(0, min(1, threshold)) || 1
8998      };
8999      let isFirstUpdate = true;
9000      function handleObserve(entries) {
9001        const ratio = entries[0].intersectionRatio;
9002        if (!rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
9003          return refresh();
9004        }
9005        if (ratio !== threshold) {
9006          if (!isFirstUpdate) {
9007            return refresh();
9008          }
9009          if (!ratio) {
9010            timeoutId = setTimeout(() => {
9011              refresh(false, 1e-7);
9012            }, 1e3);
9013          } else {
9014            refresh(false, ratio);
9015          }
9016        }
9017        isFirstUpdate = false;
9018      }
9019      try {
9020        io = new IntersectionObserver(handleObserve, {
9021          ...options,
9022          // Handle <iframe>s
9023          root: root.ownerDocument
9024        });
9025      } catch (_e) {
9026        io = new IntersectionObserver(handleObserve, options);
9027      }
9028      io.observe(element);
9029    }
9030    const win = getWindow(element);
9031    const handleResize = () => refresh(ancestorResize);
9032    win.addEventListener("resize", handleResize);
9033    refresh(true);
9034    return () => {
9035      win.removeEventListener("resize", handleResize);
9036      cleanup();
9037    };
9038  }
9039  function autoUpdate(reference, floating, update2, options) {
9040    if (options === void 0) {
9041      options = {};
9042    }
9043    const {
9044      ancestorScroll = true,
9045      ancestorResize = true,
9046      elementResize = typeof ResizeObserver === "function",
9047      layoutShift = typeof IntersectionObserver === "function",
9048      animationFrame = false
9049    } = options;
9050    const referenceEl = unwrapElement(reference);
9051    const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];
9052    ancestors.forEach((ancestor) => {
9053      ancestorScroll && ancestor.addEventListener("scroll", update2);
9054      ancestorResize && ancestor.addEventListener("resize", update2);
9055    });
9056    const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update2, ancestorResize) : null;
9057    let reobserveFrame = -1;
9058    let resizeObserver = null;
9059    if (elementResize) {
9060      resizeObserver = new ResizeObserver((_ref) => {
9061        let [firstEntry] = _ref;
9062        if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
9063          resizeObserver.unobserve(floating);
9064          cancelAnimationFrame(reobserveFrame);
9065          reobserveFrame = requestAnimationFrame(() => {
9066            var _resizeObserver;
9067            (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
9068          });
9069        }
9070        update2();
9071      });
9072      if (referenceEl && !animationFrame) {
9073        resizeObserver.observe(referenceEl);
9074      }
9075      if (floating) {
9076        resizeObserver.observe(floating);
9077      }
9078    }
9079    let frameId;
9080    let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
9081    if (animationFrame) {
9082      frameLoop();
9083    }
9084    function frameLoop() {
9085      const nextRefRect = getBoundingClientRect(reference);
9086      if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
9087        update2();
9088      }
9089      prevRefRect = nextRefRect;
9090      frameId = requestAnimationFrame(frameLoop);
9091    }
9092    update2();
9093    return () => {
9094      var _resizeObserver2;
9095      ancestors.forEach((ancestor) => {
9096        ancestorScroll && ancestor.removeEventListener("scroll", update2);
9097        ancestorResize && ancestor.removeEventListener("resize", update2);
9098      });
9099      cleanupIo == null || cleanupIo();
9100      (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
9101      resizeObserver = null;
9102      if (animationFrame) {
9103        cancelAnimationFrame(frameId);
9104      }
9105    };
9106  }
9107  var offset2 = offset;
9108  var shift2 = shift;
9109  var flip2 = flip;
9110  var size2 = size;
9111  var limitShift2 = limitShift;
9112  var computePosition2 = (reference, floating, options) => {
9113    const cache2 = /* @__PURE__ */ new Map();
9114    const mergedOptions = options != null ? options : {};
9115    const platformWithCache = {
9116      ...platform2,
9117      ...mergedOptions.platform,
9118      _c: cache2
9119    };
9120    return computePosition(reference, floating, {
9121      ...mergedOptions,
9122      platform: platformWithCache
9123    });
9124  };
9125  
9126  // node_modules/.store/@floating-ui/react-dom@2.1.9-AxWcAwqlMfOrAFOinFKSVg/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs
9127  var React38 = __toESM(require_react(), 1);
9128  var import_react2 = __toESM(require_react(), 1);
9129  var ReactDOM5 = __toESM(require_react_dom(), 1);
9130  var isClient = typeof document !== "undefined";
9131  var noop2 = function noop3() {
9132  };
9133  var index = isClient ? import_react2.useLayoutEffect : noop2;
9134  function deepEqual(a, b) {
9135    if (a === b) {
9136      return true;
9137    }
9138    if (typeof a !== typeof b) {
9139      return false;
9140    }
9141    if (typeof a === "function" && a.toString() === b.toString()) {
9142      return true;
9143    }
9144    let length;
9145    let i;
9146    let keys;
9147    if (a && b && typeof a === "object") {
9148      if (Array.isArray(a)) {
9149        length = a.length;
9150        if (length !== b.length) return false;
9151        for (i = length; i-- !== 0; ) {
9152          if (!deepEqual(a[i], b[i])) {
9153            return false;
9154          }
9155        }
9156        return true;
9157      }
9158      keys = Object.keys(a);
9159      length = keys.length;
9160      if (length !== Object.keys(b).length) {
9161        return false;
9162      }
9163      for (i = length; i-- !== 0; ) {
9164        if (!{}.hasOwnProperty.call(b, keys[i])) {
9165          return false;
9166        }
9167      }
9168      for (i = length; i-- !== 0; ) {
9169        const key = keys[i];
9170        if (key === "_owner" && a.$$typeof) {
9171          continue;
9172        }
9173        if (!deepEqual(a[key], b[key])) {
9174          return false;
9175        }
9176      }
9177      return true;
9178    }
9179    return a !== a && b !== b;
9180  }
9181  function getDPR(element) {
9182    if (typeof window === "undefined") {
9183      return 1;
9184    }
9185    const win = element.ownerDocument.defaultView || window;
9186    return win.devicePixelRatio || 1;
9187  }
9188  function roundByDPR(element, value) {
9189    const dpr = getDPR(element);
9190    return Math.round(value * dpr) / dpr;
9191  }
9192  function useLatestRef(value) {
9193    const ref = React38.useRef(value);
9194    index(() => {
9195      ref.current = value;
9196    });
9197    return ref;
9198  }
9199  function useFloating(options) {
9200    if (options === void 0) {
9201      options = {};
9202    }
9203    const {
9204      placement = "bottom",
9205      strategy = "absolute",
9206      middleware = [],
9207      platform: platform3,
9208      elements: {
9209        reference: externalReference,
9210        floating: externalFloating
9211      } = {},
9212      transform = true,
9213      whileElementsMounted,
9214      open: open2
9215    } = options;
9216    const [data, setData] = React38.useState({
9217      x: 0,
9218      y: 0,
9219      strategy,
9220      placement,
9221      middlewareData: {},
9222      isPositioned: false
9223    });
9224    const [latestMiddleware, setLatestMiddleware] = React38.useState(middleware);
9225    if (!deepEqual(latestMiddleware, middleware)) {
9226      setLatestMiddleware(middleware);
9227    }
9228    const [_reference, _setReference] = React38.useState(null);
9229    const [_floating, _setFloating] = React38.useState(null);
9230    const setReference = React38.useCallback((node) => {
9231      if (node !== referenceRef.current) {
9232        referenceRef.current = node;
9233        _setReference(node);
9234      }
9235    }, []);
9236    const setFloating = React38.useCallback((node) => {
9237      if (node !== floatingRef.current) {
9238        floatingRef.current = node;
9239        _setFloating(node);
9240      }
9241    }, []);
9242    const referenceEl = externalReference || _reference;
9243    const floatingEl = externalFloating || _floating;
9244    const referenceRef = React38.useRef(null);
9245    const floatingRef = React38.useRef(null);
9246    const dataRef = React38.useRef(data);
9247    const hasWhileElementsMounted = whileElementsMounted != null;
9248    const whileElementsMountedRef = useLatestRef(whileElementsMounted);
9249    const platformRef = useLatestRef(platform3);
9250    const openRef = useLatestRef(open2);
9251    const update2 = React38.useCallback(() => {
9252      if (!referenceRef.current || !floatingRef.current) {
9253        return;
9254      }
9255      const config = {
9256        placement,
9257        strategy,
9258        middleware: latestMiddleware
9259      };
9260      if (platformRef.current) {
9261        config.platform = platformRef.current;
9262      }
9263      computePosition2(referenceRef.current, floatingRef.current, config).then((data2) => {
9264        const fullData = {
9265          ...data2,
9266          // The floating element's position may be recomputed while it's closed
9267          // but still mounted (such as when transitioning out). To ensure
9268          // `isPositioned` will be `false` initially on the next open, avoid
9269          // setting it to `true` when `open === false` (must be specified).
9270          isPositioned: openRef.current !== false
9271        };
9272        if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {
9273          dataRef.current = fullData;
9274          ReactDOM5.flushSync(() => {
9275            setData(fullData);
9276          });
9277        }
9278      });
9279    }, [latestMiddleware, placement, strategy, platformRef, openRef]);
9280    index(() => {
9281      if (open2 === false && dataRef.current.isPositioned) {
9282        dataRef.current.isPositioned = false;
9283        setData((data2) => ({
9284          ...data2,
9285          isPositioned: false
9286        }));
9287      }
9288    }, [open2]);
9289    const isMountedRef = React38.useRef(false);
9290    index(() => {
9291      isMountedRef.current = true;
9292      return () => {
9293        isMountedRef.current = false;
9294      };
9295    }, []);
9296    index(() => {
9297      if (referenceEl) referenceRef.current = referenceEl;
9298      if (floatingEl) floatingRef.current = floatingEl;
9299      if (referenceEl && floatingEl) {
9300        if (whileElementsMountedRef.current) {
9301          return whileElementsMountedRef.current(referenceEl, floatingEl, update2);
9302        }
9303        update2();
9304      }
9305    }, [referenceEl, floatingEl, update2, whileElementsMountedRef, hasWhileElementsMounted]);
9306    const refs = React38.useMemo(() => ({
9307      reference: referenceRef,
9308      floating: floatingRef,
9309      setReference,
9310      setFloating
9311    }), [setReference, setFloating]);
9312    const elements = React38.useMemo(() => ({
9313      reference: referenceEl,
9314      floating: floatingEl
9315    }), [referenceEl, floatingEl]);
9316    const floatingStyles = React38.useMemo(() => {
9317      const initialStyles = {
9318        position: strategy,
9319        left: 0,
9320        top: 0
9321      };
9322      if (!elements.floating) {
9323        return initialStyles;
9324      }
9325      const x2 = roundByDPR(elements.floating, data.x);
9326      const y2 = roundByDPR(elements.floating, data.y);
9327      if (transform) {
9328        return {
9329          ...initialStyles,
9330          transform: "translate(" + x2 + "px, " + y2 + "px)",
9331          ...getDPR(elements.floating) >= 1.5 && {
9332            willChange: "transform"
9333          }
9334        };
9335      }
9336      return {
9337        position: strategy,
9338        left: x2,
9339        top: y2
9340      };
9341    }, [strategy, transform, elements.floating, data.x, data.y]);
9342    return React38.useMemo(() => ({
9343      ...data,
9344      update: update2,
9345      refs,
9346      elements,
9347      floatingStyles
9348    }), [data, update2, refs, elements, floatingStyles]);
9349  }
9350  var offset3 = (options, deps) => {
9351    const result = offset2(options);
9352    return {
9353      name: result.name,
9354      fn: result.fn,
9355      options: [options, deps]
9356    };
9357  };
9358  var shift3 = (options, deps) => {
9359    const result = shift2(options);
9360    return {
9361      name: result.name,
9362      fn: result.fn,
9363      options: [options, deps]
9364    };
9365  };
9366  var limitShift3 = (options, deps) => {
9367    const result = limitShift2(options);
9368    return {
9369      fn: result.fn,
9370      options: [options, deps]
9371    };
9372  };
9373  var flip3 = (options, deps) => {
9374    const result = flip2(options);
9375    return {
9376      name: result.name,
9377      fn: result.fn,
9378      options: [options, deps]
9379    };
9380  };
9381  var size3 = (options, deps) => {
9382    const result = size2(options);
9383    return {
9384      name: result.name,
9385      fn: result.fn,
9386      options: [options, deps]
9387    };
9388  };
9389  
9390  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/NullStore.mjs
9391  var NullStore = class extends ReactStore {
9392    // `update`/`set`/`notifyAll` funnel through `setState` in the base `Store`, so overriding
9393    // `setState` alone would neutralize them today. They are overridden explicitly so the store stays
9394    // inert even if a future base-class change stops routing a mutator through `setState`.
9395    setState(_newState) {
9396    }
9397    update(_changes) {
9398    }
9399    set(_key, _value) {
9400    }
9401    notifyAll() {
9402    }
9403  };
9404  
9405  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/composite.mjs
9406  var ARROW_UP2 = "ArrowUp";
9407  var ARROW_DOWN2 = "ArrowDown";
9408  var ARROW_LEFT2 = "ArrowLeft";
9409  var ARROW_RIGHT2 = "ArrowRight";
9410  var HOME = "Home";
9411  var END = "End";
9412  var COMPOSITE_KEYS = /* @__PURE__ */ new Set([ARROW_UP2, ARROW_DOWN2, ARROW_LEFT2, ARROW_RIGHT2, HOME, END]);
9413  
9414  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/inertValue.mjs
9415  function inertValue(value) {
9416    if (isReactVersionAtLeast(19)) {
9417      return value;
9418    }
9419    return value ? "true" : void 0;
9420  }
9421  
9422  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/InternalBackdrop.mjs
9423  var React39 = __toESM(require_react(), 1);
9424  var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1);
9425  var InternalBackdrop = /* @__PURE__ */ React39.forwardRef(function InternalBackdrop2(props, ref) {
9426    const {
9427      cutout,
9428      ...otherProps
9429    } = props;
9430    let clipPath;
9431    if (cutout) {
9432      const rect = cutout.getBoundingClientRect();
9433      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)`;
9434    }
9435    return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", {
9436      ref,
9437      role: "presentation",
9438      "data-base-ui-inert": "",
9439      ...otherProps,
9440      style: {
9441        position: "fixed",
9442        inset: 0,
9443        userSelect: "none",
9444        WebkitUserSelect: "none",
9445        clipPath
9446      }
9447    });
9448  });
9449  if (true) InternalBackdrop.displayName = "InternalBackdrop";
9450  
9451  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useOpenInteractionType.mjs
9452  var React42 = __toESM(require_react(), 1);
9453  
9454  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useEnhancedClickHandler.mjs
9455  var React40 = __toESM(require_react(), 1);
9456  function useEnhancedClickHandler(handler) {
9457    const lastClickInteractionTypeRef = React40.useRef("");
9458    const handlePointerDown = React40.useCallback((event) => {
9459      if (event.defaultPrevented) {
9460        return;
9461      }
9462      lastClickInteractionTypeRef.current = event.pointerType;
9463      handler(event, event.pointerType);
9464    }, [handler]);
9465    const handleClick = React40.useCallback((event) => {
9466      if (event.detail === 0) {
9467        handler(event, "keyboard");
9468        return;
9469      }
9470      if ("pointerType" in event) {
9471        handler(event, event.pointerType);
9472      } else {
9473        handler(event, lastClickInteractionTypeRef.current);
9474      }
9475      lastClickInteractionTypeRef.current = "";
9476    }, [handler]);
9477    return {
9478      onClick: handleClick,
9479      onPointerDown: handlePointerDown
9480    };
9481  }
9482  
9483  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useValueChanged.mjs
9484  var React41 = __toESM(require_react(), 1);
9485  function useValueChanged(value, onChange) {
9486    const valueRef = React41.useRef(value);
9487    const onChangeCallback = useStableCallback(onChange);
9488    useIsoLayoutEffect(() => {
9489      if (valueRef.current !== value) {
9490        onChangeCallback(valueRef.current);
9491      }
9492      valueRef.current = value;
9493    }, [value, onChangeCallback]);
9494  }
9495  
9496  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useOpenInteractionType.mjs
9497  function useOpenMethodTriggerProps(open2, setOpenMethod) {
9498    const handleTriggerClick = useStableCallback((_, interactionType) => {
9499      const isOpen = typeof open2 === "function" ? open2() : open2;
9500      if (!isOpen) {
9501        setOpenMethod(interactionType || // On iOS Safari, the hitslop around touch targets means tapping outside an element's
9502        // bounds does not fire `pointerdown` but does fire `mousedown`. The `interactionType`
9503        // will be "" in that case.
9504        (parts_exports.os.ios ? "touch" : ""));
9505      }
9506    });
9507    const {
9508      onClick,
9509      onPointerDown
9510    } = useEnhancedClickHandler(handleTriggerClick);
9511    return React42.useMemo(() => ({
9512      onClick,
9513      onPointerDown
9514    }), [onClick, onPointerDown]);
9515  }
9516  function useOpenInteractionType(open2) {
9517    const [openMethod, setOpenMethod] = React42.useState(null);
9518    const triggerProps = useOpenMethodTriggerProps(open2, setOpenMethod);
9519    useValueChanged(open2, (previousOpen) => {
9520      if (previousOpen && !open2) {
9521        setOpenMethod(null);
9522      }
9523    });
9524    return React42.useMemo(() => ({
9525      openMethod,
9526      triggerProps
9527    }), [openMethod, triggerProps]);
9528  }
9529  
9530  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useOnFirstRender.mjs
9531  var React43 = __toESM(require_react(), 1);
9532  function useOnFirstRender(fn) {
9533    const ref = React43.useRef(true);
9534    if (ref.current) {
9535      ref.current = false;
9536      fn();
9537    }
9538  }
9539  
9540  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getHighlightReason.mjs
9541  function getHighlightReason(event) {
9542    if (event == null) {
9543      return reason_parts_exports.none;
9544    }
9545    if (event.type.startsWith("key")) {
9546      return reason_parts_exports.keyboard;
9547    }
9548    if (event.type.startsWith("mouse") || event.type.startsWith("pointer")) {
9549      return reason_parts_exports.pointer;
9550    }
9551    return reason_parts_exports.none;
9552  }
9553  
9554  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/areArraysEqual.mjs
9555  function areArraysEqual(array1, array2, itemComparer = Object.is) {
9556    const {
9557      length
9558    } = array1;
9559    if (length !== array2.length) {
9560      return false;
9561    }
9562    for (let i = 0; i < length; i += 1) {
9563      if (!itemComparer(array1[i], array2[i])) {
9564        return false;
9565      }
9566    }
9567    return true;
9568  }
9569  
9570  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/itemEquality.mjs
9571  var defaultItemEquality = (itemValue, selectedValue) => Object.is(itemValue, selectedValue);
9572  function compareItemEquality(itemValue, selectedValue, comparer) {
9573    if (itemValue == null || selectedValue == null) {
9574      return Object.is(itemValue, selectedValue);
9575    }
9576    return comparer(itemValue, selectedValue);
9577  }
9578  function isSelectedValueDirty(currentValue, initialValue, comparer) {
9579    if (Array.isArray(currentValue) && Array.isArray(initialValue)) {
9580      return !areArraysEqual(currentValue, initialValue, (itemValue, initialItemValue) => compareItemEquality(itemValue, initialItemValue, comparer));
9581    }
9582    return currentValue !== initialValue;
9583  }
9584  function selectedValueIncludes(selectedValues, itemValue, comparer) {
9585    if (!selectedValues) {
9586      return false;
9587    }
9588    return selectedValues.some((selectedValue) => {
9589      if (selectedValue === void 0) {
9590        return false;
9591      }
9592      return compareItemEquality(itemValue, selectedValue, comparer);
9593    });
9594  }
9595  function findItemIndex(itemValues, selectedValue, comparer) {
9596    if (!itemValues) {
9597      return -1;
9598    }
9599    return itemValues.findIndex((itemValue) => {
9600      if (itemValue === void 0) {
9601        return false;
9602      }
9603      return compareItemEquality(itemValue, selectedValue, comparer);
9604    });
9605  }
9606  function createSelectionMatcher(selectedValues, comparer) {
9607    if (comparer !== defaultItemEquality) {
9608      return (itemValue) => selectedValueIncludes(selectedValues, itemValue, comparer);
9609    }
9610    const index2 = new Set(selectedValues);
9611    index2.delete(void 0);
9612    return (itemValue) => index2.has(itemValue) && (itemValue !== 0 || selectedValues.some((v2) => Object.is(itemValue, v2)));
9613  }
9614  function findSelectionIndex(itemValues, selectedValue, comparer, multiple) {
9615    const index2 = multiple && Array.isArray(selectedValue) ? (
9616      // Anchor to the first selected item in rendered order so the index does not depend
9617      // on the order in which the values were added to the array.
9618      itemValues.findIndex(createSelectionMatcher(selectedValue, comparer))
9619    ) : findItemIndex(itemValues, selectedValue, comparer);
9620    return index2 === -1 ? null : index2;
9621  }
9622  function resolveSelectedIndex(index2, itemValue, registry, selectedValues, comparer, currentIndex) {
9623    if (selectedValueIncludes(selectedValues, itemValue, comparer)) {
9624      return currentIndex != null && index2 > currentIndex && selectedValueIncludes(selectedValues, registry[currentIndex], comparer) ? currentIndex : index2;
9625    }
9626    return index2 === currentIndex ? findSelectionIndex(registry, selectedValues, comparer, true) : currentIndex;
9627  }
9628  function removeItem(selectedValues, itemValue, comparer) {
9629    return selectedValues.filter((selectedValue) => !compareItemEquality(itemValue, selectedValue, comparer));
9630  }
9631  
9632  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/resolveValueLabel.mjs
9633  var React44 = __toESM(require_react(), 1);
9634  
9635  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/serializeValue.mjs
9636  function serializeValue(value) {
9637    if (value == null) {
9638      return "";
9639    }
9640    if (typeof value === "string") {
9641      return value;
9642    }
9643    try {
9644      return JSON.stringify(value);
9645    } catch {
9646      return String(value);
9647    }
9648  }
9649  
9650  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/resolveValueLabel.mjs
9651  var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1);
9652  function isGroup(item) {
9653    return typeof item === "object" && item != null && Array.isArray(item.items);
9654  }
9655  function isGroupedItems(items) {
9656    return isGroup(items?.[0]);
9657  }
9658  function flattenLeafItems(items) {
9659    return isGroupedItems(items) ? items.flatMap((group) => group.items) : items;
9660  }
9661  function hasNullItemLabel(items) {
9662    if (!Array.isArray(items)) {
9663      return items != null && "null" in items;
9664    }
9665    const arrayItems = items;
9666    if (isGroupedItems(arrayItems)) {
9667      for (const group of arrayItems) {
9668        for (const item of group.items) {
9669          if (item && item.value == null && item.label != null) {
9670            return true;
9671          }
9672        }
9673      }
9674      return false;
9675    }
9676    for (const item of arrayItems) {
9677      if (item && item.value == null && item.label != null) {
9678        return true;
9679      }
9680    }
9681    return false;
9682  }
9683  function stringifyAsLabel(item, itemToStringLabel) {
9684    if (itemToStringLabel && item != null) {
9685      return itemToStringLabel(item) ?? "";
9686    }
9687    if (item && typeof item === "object") {
9688      if ("label" in item && item.label != null) {
9689        return String(item.label);
9690      }
9691      if ("value" in item) {
9692        return String(item.value);
9693      }
9694    }
9695    return serializeValue(item);
9696  }
9697  function stringifyAsValue(item, itemToStringValue) {
9698    if (itemToStringValue && item != null) {
9699      return itemToStringValue(item) ?? "";
9700    }
9701    if (item && typeof item === "object" && "value" in item && "label" in item) {
9702      return serializeValue(item.value);
9703    }
9704    return serializeValue(item);
9705  }
9706  function resolveSelectedLabel(value, items, itemToStringLabel) {
9707    function fallback() {
9708      return stringifyAsLabel(value, itemToStringLabel);
9709    }
9710    if (itemToStringLabel && value != null) {
9711      return itemToStringLabel(value);
9712    }
9713    if (value && typeof value === "object" && "label" in value && value.label != null) {
9714      return value.label;
9715    }
9716    if (items && !Array.isArray(items)) {
9717      const label = Object.hasOwn(items, value) ? items[value] : void 0;
9718      return label ?? fallback();
9719    }
9720    if (Array.isArray(items)) {
9721      const arrayItems = items;
9722      const flatItems = flattenLeafItems(arrayItems);
9723      if (value == null || typeof value !== "object") {
9724        const match2 = flatItems.find((item) => item.value === value);
9725        if (match2 && match2.label != null) {
9726          return match2.label;
9727        }
9728        return fallback();
9729      }
9730      if ("value" in value) {
9731        const match2 = flatItems.find((item) => item && item.value === value.value);
9732        if (match2 && match2.label != null) {
9733          return match2.label;
9734        }
9735      }
9736    }
9737    return fallback();
9738  }
9739  function resolveMultipleLabels(values, items, itemToStringLabel) {
9740    return values.reduce((acc, value, index2) => {
9741      if (index2 > 0) {
9742        acc.push(", ");
9743      }
9744      acc.push(/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(React44.Fragment, {
9745        children: resolveSelectedLabel(value, items, itemToStringLabel)
9746      }, index2));
9747      return acc;
9748    }, []);
9749  }
9750  
9751  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/FieldRootContext.mjs
9752  var React45 = __toESM(require_react(), 1);
9753  
9754  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/control/FieldControlDataAttributes.mjs
9755  var valid = "data-valid";
9756  var invalid = "data-invalid";
9757  
9758  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-constants/constants.mjs
9759  var DEFAULT_VALIDITY_STATE = {
9760    badInput: false,
9761    customError: false,
9762    patternMismatch: false,
9763    rangeOverflow: false,
9764    rangeUnderflow: false,
9765    stepMismatch: false,
9766    tooLong: false,
9767    tooShort: false,
9768    typeMismatch: false,
9769    valid: null,
9770    valueMissing: false
9771  };
9772  var DEFAULT_FIELD_STATE_ATTRIBUTES = {
9773    valid: null,
9774    touched: false,
9775    dirty: false,
9776    filled: false,
9777    focused: false
9778  };
9779  var DEFAULT_FIELD_ROOT_STATE = {
9780    disabled: false,
9781    ...DEFAULT_FIELD_STATE_ATTRIBUTES
9782  };
9783  var fieldValidityMapping = {
9784    valid(value) {
9785      if (value === null) {
9786        return null;
9787      }
9788      if (value) {
9789        return {
9790          [valid]: ""
9791        };
9792      }
9793      return {
9794        [invalid]: ""
9795      };
9796    }
9797  };
9798  
9799  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/FieldRootContext.mjs
9800  var DEFAULT_FIELD_ROOT_CONTEXT = {
9801    invalid: void 0,
9802    name: void 0,
9803    validityData: {
9804      state: DEFAULT_VALIDITY_STATE,
9805      errors: [],
9806      error: "",
9807      value: "",
9808      initialValue: null
9809    },
9810    setValidityData: NOOP,
9811    disabled: void 0,
9812    setTouched: NOOP,
9813    setDirty: NOOP,
9814    setFilled: NOOP,
9815    setFocused: NOOP,
9816    focusOwnerRef: {
9817      current: void 0
9818    },
9819    validationMode: "onSubmit",
9820    shouldValidateOnChange: () => false,
9821    state: DEFAULT_FIELD_ROOT_STATE,
9822    registerFieldControl: NOOP,
9823    validation: {
9824      getValidationProps: (_disabled, props = EMPTY_OBJECT) => props,
9825      inputRef: {
9826        current: null
9827      },
9828      registeredInputs: /* @__PURE__ */ new Map(),
9829      registerInput: NOOP,
9830      getInputControl: () => null,
9831      commit: async () => {
9832      },
9833      change: NOOP
9834    }
9835  };
9836  var FieldRootContext = /* @__PURE__ */ React45.createContext(DEFAULT_FIELD_ROOT_CONTEXT);
9837  if (true) FieldRootContext.displayName = "FieldRootContext";
9838  function useFieldRootContext(optional = true) {
9839    const context = React45.useContext(FieldRootContext);
9840    if (context.setValidityData === NOOP && !optional) {
9841      throw new Error(true ? "Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>." : formatErrorMessage_default(28));
9842    }
9843    return context;
9844  }
9845  
9846  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-register-control/useRegisterFieldControl.mjs
9847  function useRegisterFieldControl(controlRef, id, value, getFormValueOverride, enabled = true, name2) {
9848    const {
9849      registerFieldControl
9850    } = useFieldRootContext();
9851    const sourceRef = useRefWithInit(() => /* @__PURE__ */ Symbol());
9852    useIsoLayoutEffect(() => {
9853      const source = sourceRef.current;
9854      if (!enabled) {
9855        registerFieldControl(source, void 0);
9856        return;
9857      }
9858      const registration = {
9859        controlRef,
9860        getValue: getFormValueOverride,
9861        id,
9862        name: name2,
9863        value
9864      };
9865      registerFieldControl(source, registration);
9866    }, [controlRef, enabled, getFormValueOverride, id, name2, registerFieldControl, sourceRef, value]);
9867    useIsoLayoutEffect(() => {
9868      const source = sourceRef.current;
9869      return () => {
9870        registerFieldControl(source, void 0);
9871      };
9872    }, [registerFieldControl, sourceRef]);
9873  }
9874  
9875  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/form-context/FormContext.mjs
9876  var React46 = __toESM(require_react(), 1);
9877  var FormContext = /* @__PURE__ */ React46.createContext({
9878    elementRef: {
9879      current: null
9880    },
9881    formRef: {
9882      current: {
9883        fields: /* @__PURE__ */ new Map()
9884      }
9885    },
9886    errors: {},
9887    clearErrors: NOOP,
9888    validationMode: "onSubmit",
9889    submitCountRef: {
9890      current: 0
9891    }
9892  });
9893  if (true) FormContext.displayName = "FormContext";
9894  function useFormContext() {
9895    return React46.useContext(FormContext);
9896  }
9897  
9898  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabelableId.mjs
9899  var React48 = __toESM(require_react(), 1);
9900  
9901  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/LabelableContext.mjs
9902  var React47 = __toESM(require_react(), 1);
9903  var LabelableContext = /* @__PURE__ */ React47.createContext({
9904    controlId: void 0,
9905    registerControlId: NOOP,
9906    resetControlId: NOOP,
9907    labelId: void 0,
9908    setLabelId: NOOP,
9909    messageIds: [],
9910    setMessageIds: NOOP,
9911    getDescriptionProps: (externalProps) => externalProps
9912  });
9913  if (true) LabelableContext.displayName = "LabelableContext";
9914  function useLabelableContext() {
9915    return React47.useContext(LabelableContext);
9916  }
9917  
9918  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabelableId.mjs
9919  function useLabelableId(params = {}) {
9920    const {
9921      id,
9922      enabled = true
9923    } = params;
9924    const {
9925      controlId,
9926      registerControlId,
9927      resetControlId
9928    } = useLabelableContext();
9929    const defaultId = useBaseUiId();
9930    const controlSourceRef = useRefWithInit(() => /* @__PURE__ */ Symbol());
9931    const hasRegisteredRef = React48.useRef(false);
9932    const hadExplicitIdRef = React48.useRef(false);
9933    const unregisterControlId = useStableCallback(() => {
9934      if (!hasRegisteredRef.current || registerControlId === NOOP) {
9935        return;
9936      }
9937      hasRegisteredRef.current = false;
9938      registerControlId(controlSourceRef.current, void 0);
9939    });
9940    useIsoLayoutEffect(() => {
9941      if (!enabled || registerControlId === NOOP) {
9942        unregisterControlId();
9943        return void 0;
9944      }
9945      let nextId;
9946      if (id !== void 0) {
9947        hadExplicitIdRef.current = true;
9948        nextId = id;
9949      } else if (hadExplicitIdRef.current) {
9950        nextId = defaultId;
9951      } else {
9952        resetControlId();
9953        return void 0;
9954      }
9955      if (nextId === void 0) {
9956        unregisterControlId();
9957        return void 0;
9958      }
9959      hasRegisteredRef.current = true;
9960      registerControlId(controlSourceRef.current, nextId);
9961      return void 0;
9962    }, [id, enabled, registerControlId, resetControlId, defaultId, controlSourceRef, unregisterControlId]);
9963    useIsoLayoutEffect(() => {
9964      return unregisterControlId;
9965    }, [unregisterControlId]);
9966    return (enabled ? controlId : void 0) ?? id ?? defaultId;
9967  }
9968  
9969  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/stringifyLocale.mjs
9970  function stringifyLocale(locale) {
9971    if (Array.isArray(locale)) {
9972      return locale.map((value) => stringifyLocale(value)).join(",");
9973    }
9974    if (locale == null) {
9975      return "";
9976    }
9977    return String(locale);
9978  }
9979  
9980  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/filter.mjs
9981  var filterCache = /* @__PURE__ */ new Map();
9982  function getFilter(options = {}) {
9983    const {
9984      locale,
9985      ...restOptions
9986    } = options;
9987    const collatorOptions = {
9988      usage: "search",
9989      sensitivity: "base",
9990      ignorePunctuation: true,
9991      ...restOptions
9992    };
9993    const cacheKey = `$stringifyLocale(locale)}|$JSON.stringify(collatorOptions)}`;
9994    const cachedFilter = filterCache.get(cacheKey);
9995    if (cachedFilter) {
9996      return cachedFilter;
9997    }
9998    const collator = new Intl.Collator(locale, collatorOptions);
9999    const filter = {
10000      contains(item, query, itemToString) {
10001        if (!query) {
10002          return true;
10003        }
10004        const itemString = stringifyAsLabel(item, itemToString);
10005        for (let i = 0; i <= itemString.length - query.length; i += 1) {
10006          if (collator.compare(itemString.slice(i, i + query.length), query) === 0) {
10007            return true;
10008          }
10009        }
10010        return false;
10011      },
10012      startsWith(item, query, itemToString) {
10013        if (!query) {
10014          return true;
10015        }
10016        const itemString = stringifyAsLabel(item, itemToString);
10017        return collator.compare(itemString.slice(0, query.length), query) === 0;
10018      },
10019      endsWith(item, query, itemToString) {
10020        if (!query) {
10021          return true;
10022        }
10023        const itemString = stringifyAsLabel(item, itemToString);
10024        const queryLength = query.length;
10025        return itemString.length >= queryLength && collator.compare(itemString.slice(itemString.length - queryLength), query) === 0;
10026      }
10027    };
10028    filterCache.set(cacheKey, filter);
10029    return filter;
10030  }
10031  
10032  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/direction-context/DirectionContext.mjs
10033  var React49 = __toESM(require_react(), 1);
10034  var DirectionContext = /* @__PURE__ */ React49.createContext(void 0);
10035  if (true) DirectionContext.displayName = "DirectionContext";
10036  function useDirection() {
10037    const context = React49.useContext(DirectionContext);
10038    return context?.direction ?? "ltr";
10039  }
10040  
10041  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/useSetFieldFocused.mjs
10042  function useSetFieldFocused(disabled2, focusTargetRef, onFocusedChange) {
10043    const {
10044      setFocused,
10045      focusOwnerRef
10046    } = useFieldRootContext();
10047    const setFieldFocused = useStableCallback((focused) => {
10048      if (focused ? !disabled2 : focusOwnerRef.current === setFieldFocused) {
10049        focusOwnerRef.current = focused && setFieldFocused;
10050        onFocusedChange?.(focused);
10051        setFocused(focused);
10052      }
10053    });
10054    useIsoLayoutEffect(() => {
10055      const el = focusTargetRef.current;
10056      const root = el?.getRootNode();
10057      if (root?.activeElement === el) {
10058        setFieldFocused(true);
10059      }
10060      return () => setFieldFocused(false);
10061    }, [disabled2, focusTargetRef, setFieldFocused]);
10062    return setFieldFocused;
10063  }
10064  
10065  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getPseudoElementBounds.mjs
10066  var BOUNDARY_OFFSET = 5;
10067  function isMouseWithinBounds(event, element) {
10068    const bounds = getPseudoElementBounds(element);
10069    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;
10070  }
10071  function getPseudoElementBounds(element) {
10072    const elementRect = element.getBoundingClientRect();
10073    const win = getWindow(element);
10074    if (parts_exports.env.jsdom) {
10075      return elementRect;
10076    }
10077    const beforeStyles = win.getComputedStyle(element, "::before");
10078    const afterStyles = win.getComputedStyle(element, "::after");
10079    const hasPseudoElements = beforeStyles.content !== "none" || afterStyles.content !== "none";
10080    if (!hasPseudoElements) {
10081      return elementRect;
10082    }
10083    const beforeWidth = parseFloat(beforeStyles.width) || 0;
10084    const beforeHeight = parseFloat(beforeStyles.height) || 0;
10085    const afterWidth = parseFloat(afterStyles.width) || 0;
10086    const afterHeight = parseFloat(afterStyles.height) || 0;
10087    const totalWidth = Math.max(elementRect.width, beforeWidth, afterWidth);
10088    const totalHeight = Math.max(elementRect.height, beforeHeight, afterHeight);
10089    const widthDiff = totalWidth - elementRect.width;
10090    const heightDiff = totalHeight - elementRect.height;
10091    return {
10092      left: elementRect.left - widthDiff / 2,
10093      right: elementRect.right + widthDiff / 2,
10094      top: elementRect.top - heightDiff / 2,
10095      bottom: elementRect.bottom + heightDiff / 2
10096    };
10097  }
10098  
10099  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveAriaLabelledBy.mjs
10100  function getDefaultLabelId(id) {
10101    return id == null ? void 0 : `$id}-label`;
10102  }
10103  function resolveAriaLabelledBy(fieldLabelId, localLabelId) {
10104    return fieldLabelId ?? localLabelId;
10105  }
10106  
10107  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useInitialLiveRegionTextMutation.mjs
10108  var React50 = __toESM(require_react(), 1);
10109  var LIVE_REGION_MARKER = "\u2060";
10110  var INITIAL_LIVE_REGION_TEXT_MUTATION_RESET_DELAY = 200;
10111  function findLastTextNode(root) {
10112    const walker = root.ownerDocument.createTreeWalker(root, NodeFilter.SHOW_TEXT);
10113    let lastTextNode = null;
10114    while (walker.nextNode()) {
10115      const textNode = walker.currentNode;
10116      if (textNode.nodeValue !== "") {
10117        lastTextNode = textNode;
10118      }
10119    }
10120    return lastTextNode;
10121  }
10122  function useInitialLiveRegionTextMutation(present = true) {
10123    const timeout = useTimeout();
10124    const rootRef = React50.useRef(null);
10125    React50.useEffect(() => {
10126      if (!present || parts_exports.os.ios) {
10127        return void 0;
10128      }
10129      const root = rootRef.current;
10130      if (root == null) {
10131        return void 0;
10132      }
10133      const textNode = findLastTextNode(root);
10134      if (textNode == null) {
10135        return void 0;
10136      }
10137      const originalValue = textNode.data;
10138      const markedValue = `$originalValue}$LIVE_REGION_MARKER}`;
10139      textNode.nodeValue = markedValue;
10140      timeout.start(INITIAL_LIVE_REGION_TEXT_MUTATION_RESET_DELAY, () => {
10141        if (textNode.nodeValue === markedValue) {
10142          textNode.nodeValue = originalValue;
10143        }
10144      });
10145      return () => {
10146        timeout.clear();
10147        if (textNode.nodeValue === markedValue) {
10148          textNode.nodeValue = originalValue;
10149        }
10150      };
10151    }, [present, rootRef, timeout]);
10152    return rootRef;
10153  }
10154  
10155  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnchorPositioning.mjs
10156  var React52 = __toESM(require_react(), 1);
10157  
10158  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useFloating.mjs
10159  var React51 = __toESM(require_react(), 1);
10160  function useBaseUIFloating(options) {
10161    const {
10162      nodeId,
10163      externalTree,
10164      rootContext: store
10165    } = options;
10166    const referenceElement = store.useState("referenceElement");
10167    const floatingElement = store.useState("floatingElement");
10168    const domReferenceElement = store.useState("domReferenceElement");
10169    const open2 = store.useState("open");
10170    const floatingId = store.useState("floatingId");
10171    const [positionReference, setPositionReferenceRaw] = React51.useState(null);
10172    const domReferenceRef = React51.useRef(null);
10173    const tree = useFloatingTree(externalTree);
10174    const storeElements = React51.useMemo(() => ({
10175      reference: referenceElement,
10176      floating: floatingElement,
10177      domReference: domReferenceElement
10178    }), [referenceElement, floatingElement, domReferenceElement]);
10179    const position = useFloating({
10180      ...options,
10181      elements: {
10182        ...storeElements,
10183        ...positionReference && {
10184          reference: positionReference
10185        }
10186      }
10187    });
10188    const setPositionReference = React51.useCallback((node) => {
10189      const computedPositionReference = isElement(node) ? {
10190        getBoundingClientRect: () => node.getBoundingClientRect(),
10191        getClientRects: () => node.getClientRects(),
10192        contextElement: node
10193      } : node;
10194      setPositionReferenceRaw(computedPositionReference);
10195      position.refs.setReference(computedPositionReference);
10196    }, [position.refs]);
10197    const refs = React51.useMemo(() => ({
10198      ...position.refs,
10199      setPositionReference,
10200      domReference: domReferenceRef
10201    }), [position.refs, setPositionReference]);
10202    const elements = React51.useMemo(() => ({
10203      ...position.elements,
10204      domReference: domReferenceElement
10205    }), [position.elements, domReferenceElement]);
10206    const context = React51.useMemo(() => ({
10207      ...position,
10208      dataRef: store.context.dataRef,
10209      open: open2,
10210      onOpenChange: store.setOpen,
10211      events: store.context.events,
10212      floatingId,
10213      refs,
10214      elements,
10215      nodeId,
10216      rootStore: store
10217    }), [position, refs, elements, nodeId, store, open2, floatingId]);
10218    useIsoLayoutEffect(() => {
10219      if (domReferenceElement) {
10220        domReferenceRef.current = domReferenceElement;
10221      }
10222    }, [domReferenceElement]);
10223    useIsoLayoutEffect(() => {
10224      store.context.dataRef.current.floatingContext = context;
10225      const node = tree?.nodesRef.current.find((n) => n.id === nodeId);
10226      if (node) {
10227        node.context = context;
10228      }
10229    });
10230    return React51.useMemo(() => ({
10231      ...position,
10232      context,
10233      refs,
10234      elements,
10235      rootStore: store
10236    }), [position, refs, elements, context, store]);
10237  }
10238  
10239  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/middleware/arrow.mjs
10240  var baseArrow = (options) => ({
10241    name: "arrow",
10242    options,
10243    async fn(state) {
10244      const {
10245        x: x2,
10246        y: y2,
10247        placement,
10248        rects,
10249        platform: platform3,
10250        elements,
10251        middlewareData
10252      } = state;
10253      const {
10254        element,
10255        padding = 0
10256      } = evaluate(options, state) || {};
10257      if (element == null) {
10258        return {};
10259      }
10260      const paddingObject = getPaddingObject(padding);
10261      const coords = {
10262        x: x2,
10263        y: y2
10264      };
10265      const axis = getAlignmentAxis(placement);
10266      const length = getAxisLength(axis);
10267      const arrowDimensions = await platform3.getDimensions(element);
10268      const isYAxis = axis === "y";
10269      const minProp = isYAxis ? "top" : "left";
10270      const maxProp = isYAxis ? "bottom" : "right";
10271      const clientProp = isYAxis ? "clientHeight" : "clientWidth";
10272      const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];
10273      const startDiff = coords[axis] - rects.reference[axis];
10274      const clientSize = elements.floating[clientProp] || rects.floating[length];
10275      const centerToReference = endDiff / 2 - startDiff / 2;
10276      const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
10277      const minPadding = Math.min(paddingObject[minProp], largestPossiblePadding);
10278      const maxPadding = Math.min(paddingObject[maxProp], largestPossiblePadding);
10279      const min2 = minPadding;
10280      const max2 = clientSize - arrowDimensions[length] - maxPadding;
10281      const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
10282      const offset4 = clamp(min2, center, max2);
10283      const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset4 && rects.reference[length] / 2 - (center < min2 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
10284      const alignmentOffset = shouldAddOffset ? center < min2 ? center - min2 : center - max2 : 0;
10285      return {
10286        [axis]: coords[axis] + alignmentOffset,
10287        data: {
10288          [axis]: offset4,
10289          centerOffset: center - offset4 - alignmentOffset,
10290          ...shouldAddOffset && {
10291            alignmentOffset
10292          }
10293        },
10294        reset: shouldAddOffset
10295      };
10296    }
10297  });
10298  var arrow4 = (options, deps) => {
10299    const {
10300      name: name2,
10301      fn
10302    } = baseArrow(options);
10303    return {
10304      name: name2,
10305      fn,
10306      options: [options, deps]
10307    };
10308  };
10309  
10310  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/hideMiddleware.mjs
10311  var hide4 = {
10312    name: "hide",
10313    async fn(state) {
10314      const {
10315        width,
10316        height,
10317        x: x2,
10318        y: y2
10319      } = state.rects.reference;
10320      const anchorHidden2 = width === 0 && height === 0 && x2 === 0 && y2 === 0;
10321      const overflow = await state.platform.detectOverflow(state, {
10322        elementContext: "reference"
10323      });
10324      const referenceHidden = overflow.top - height >= 0 || overflow.right - width >= 0 || overflow.bottom - height >= 0 || overflow.left - width >= 0;
10325      return {
10326        data: {
10327          referenceHidden: referenceHidden || anchorHidden2
10328        }
10329      };
10330    }
10331  };
10332  
10333  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/adaptiveOriginConstants.mjs
10334  var DEFAULT_SIDES = {
10335    sideX: "left",
10336    sideY: "top"
10337  };
10338  
10339  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPositionerCssVars.mjs
10340  var availableWidth = "--available-width";
10341  var availableHeight = "--available-height";
10342  var anchorWidth = "--anchor-width";
10343  var anchorHeight = "--anchor-height";
10344  var transformOrigin = "--transform-origin";
10345  var positionerWidth = "--positioner-width";
10346  var positionerHeight = "--positioner-height";
10347  
10348  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnchorPositioning.mjs
10349  var AVAILABLE_WIDTH_VAR = availableWidth;
10350  var AVAILABLE_HEIGHT_VAR = availableHeight;
10351  function getLogicalSide(sideParam, renderedSide, isRtl) {
10352    const isLogicalSideParam = sideParam === "inline-start" || sideParam === "inline-end";
10353    const logicalRight = isRtl ? "inline-start" : "inline-end";
10354    const logicalLeft = isRtl ? "inline-end" : "inline-start";
10355    return {
10356      top: "top",
10357      right: isLogicalSideParam ? logicalRight : "right",
10358      bottom: "bottom",
10359      left: isLogicalSideParam ? logicalLeft : "left"
10360    }[renderedSide];
10361  }
10362  function getOffsetData(state, sideParam, isRtl) {
10363    const {
10364      rects,
10365      placement
10366    } = state;
10367    const data = {
10368      side: getLogicalSide(sideParam, getSide(placement), isRtl),
10369      align: getAlignment(placement) || "center",
10370      anchor: {
10371        width: rects.reference.width,
10372        height: rects.reference.height
10373      },
10374      positioner: {
10375        width: rects.floating.width,
10376        height: rects.floating.height
10377      }
10378    };
10379    return data;
10380  }
10381  function useAnchorPositioning(params) {
10382    return useAnchorPositioningWithHook(params, useBaseUIFloating);
10383  }
10384  function useAnchorPositioningWithHook(params, useFloatingHook) {
10385    const {
10386      // Public parameters
10387      anchor,
10388      positionMethod = "absolute",
10389      side: sideParam = "bottom",
10390      sideOffset = 0,
10391      align = "center",
10392      alignOffset = 0,
10393      collisionBoundary,
10394      collisionPadding: collisionPaddingParam = 5,
10395      sticky = false,
10396      arrowPadding = 5,
10397      disableAnchorTracking = false,
10398      inline: inlineMiddleware,
10399      // Private parameters
10400      keepMounted = false,
10401      floatingRootContext,
10402      mounted,
10403      collisionAvoidance,
10404      shift: shift4,
10405      nodeId,
10406      adaptiveOrigin: adaptiveOrigin2,
10407      lazyFlip = false,
10408      externalTree
10409    } = params;
10410    const collisionAvoidanceSide = collisionAvoidance.side || "flip";
10411    const collisionAvoidanceAlign = collisionAvoidance.align || "flip";
10412    const collisionAvoidanceFallbackAxisSide = collisionAvoidance.fallbackAxisSide || "end";
10413    const shiftCrossAxis = shift4?.crossAxis ?? false;
10414    const shiftRootBoundary = shift4?.rootBoundary;
10415    const anchorFn = typeof anchor === "function" ? anchor : void 0;
10416    const anchorFnCallback = useStableCallback(anchorFn);
10417    const anchorDep = anchorFn ? anchorFnCallback : anchor;
10418    const anchorValueRef = useValueAsRef(anchor);
10419    const mountedRef = useValueAsRef(mounted);
10420    const direction = useDirection();
10421    const isRtl = direction === "rtl";
10422    const [mountPlacement, setMountPlacement] = React52.useState(null);
10423    if (!mounted && mountPlacement !== null) {
10424      setMountPlacement(null);
10425    }
10426    const lockAlign = lazyFlip === "placement";
10427    const mountSide = mountPlacement ? getSide(mountPlacement) : null;
10428    const mountAlign = mountPlacement && lockAlign ? getAlignment(mountPlacement) || "center" : null;
10429    const side = mountSide || {
10430      top: "top",
10431      right: "right",
10432      bottom: "bottom",
10433      left: "left",
10434      "inline-end": isRtl ? "left" : "right",
10435      "inline-start": isRtl ? "right" : "left"
10436    }[sideParam];
10437    const placementAlign = mountAlign || align;
10438    const placement = placementAlign === "center" ? side : `$side}-$placementAlign}`;
10439    let collisionPadding = collisionPaddingParam;
10440    if (typeof collisionPadding === "number") {
10441      collisionPadding = {
10442        top: collisionPadding,
10443        right: collisionPadding,
10444        bottom: collisionPadding,
10445        left: collisionPadding
10446      };
10447    } else if (collisionPadding) {
10448      collisionPadding = {
10449        top: collisionPadding.top || 0,
10450        right: collisionPadding.right || 0,
10451        bottom: collisionPadding.bottom || 0,
10452        left: collisionPadding.left || 0
10453      };
10454    }
10455    const bias = 1;
10456    const biasTop = sideParam === "bottom" ? bias : 0;
10457    const biasBottom = sideParam === "top" ? bias : 0;
10458    const biasLeft = sideParam === "right" ? bias : 0;
10459    const biasRight = sideParam === "left" ? bias : 0;
10460    const commonCollisionProps = {
10461      boundary: collisionBoundary === "clipping-ancestors" ? "clippingAncestors" : collisionBoundary,
10462      padding: collisionPadding
10463    };
10464    const arrowRef = React52.useRef(null);
10465    const sideOffsetRef = useValueAsRef(sideOffset);
10466    const alignOffsetRef = useValueAsRef(alignOffset);
10467    const sideOffsetDep = typeof sideOffset !== "function" ? sideOffset : 0;
10468    const alignOffsetDep = typeof alignOffset !== "function" ? alignOffset : 0;
10469    const middleware = [];
10470    if (inlineMiddleware) {
10471      middleware.push(inlineMiddleware);
10472    }
10473    middleware.push(offset3((state) => {
10474      const data = getOffsetData(state, sideParam, isRtl);
10475      const sideAxis = typeof sideOffsetRef.current === "function" ? sideOffsetRef.current(data) : sideOffsetRef.current;
10476      const alignAxis = typeof alignOffsetRef.current === "function" ? alignOffsetRef.current(data) : alignOffsetRef.current;
10477      return {
10478        mainAxis: sideAxis,
10479        crossAxis: alignAxis,
10480        alignmentAxis: alignAxis
10481      };
10482    }, [sideOffsetDep, alignOffsetDep, isRtl, sideParam]));
10483    const shiftDisabled = collisionAvoidanceAlign === "none" && collisionAvoidanceSide !== "shift";
10484    const crossAxisShiftEnabled = !shiftDisabled && (sticky || shiftCrossAxis || collisionAvoidanceSide === "shift");
10485    const flipMiddleware = collisionAvoidanceSide === "none" ? null : flip3({
10486      ...commonCollisionProps,
10487      // Ensure the popup flips if it's been limited by its --available-height and it resizes.
10488      // Since the size() padding is smaller than the flip() padding, flip() will take precedence.
10489      padding: {
10490        top: collisionPadding.top + bias + biasTop,
10491        right: collisionPadding.right + bias + biasRight,
10492        bottom: collisionPadding.bottom + bias + biasBottom,
10493        left: collisionPadding.left + bias + biasLeft
10494      },
10495      mainAxis: !shiftCrossAxis && collisionAvoidanceSide === "flip",
10496      crossAxis: collisionAvoidanceAlign === "flip" ? "alignment" : false,
10497      fallbackAxisSideDirection: collisionAvoidanceFallbackAxisSide
10498    });
10499    const shiftMiddleware = shiftDisabled ? null : shift3({
10500      ...commonCollisionProps,
10501      // Use the Layout Viewport to avoid shifting around when pinch-zooming.
10502      rootBoundary: shiftRootBoundary,
10503      mainAxis: collisionAvoidanceAlign !== "none",
10504      crossAxis: crossAxisShiftEnabled,
10505      limiter: sticky || shiftCrossAxis ? void 0 : limitShift3((limitData) => {
10506        if (!arrowRef.current) {
10507          return {};
10508        }
10509        const {
10510          width,
10511          height
10512        } = arrowRef.current.getBoundingClientRect();
10513        const sideAxis = getSideAxis(getSide(limitData.placement));
10514        const arrowSize = sideAxis === "y" ? width : height;
10515        const offsetAmount = sideAxis === "y" ? collisionPadding.left + collisionPadding.right : collisionPadding.top + collisionPadding.bottom;
10516        return {
10517          offset: arrowSize / 2 + offsetAmount / 2
10518        };
10519      })
10520    }, [commonCollisionProps, sticky, shiftCrossAxis, shiftRootBoundary, collisionPadding, collisionAvoidanceAlign]);
10521    if (collisionAvoidanceSide === "shift" || collisionAvoidanceAlign === "shift" || placementAlign === "center") {
10522      middleware.push(shiftMiddleware, flipMiddleware);
10523    } else {
10524      middleware.push(flipMiddleware, shiftMiddleware);
10525    }
10526    middleware.push(size3({
10527      ...commonCollisionProps,
10528      apply({
10529        elements: {
10530          floating
10531        },
10532        availableWidth: availableWidth2,
10533        availableHeight: availableHeight2,
10534        rects
10535      }) {
10536        if (!mountedRef.current) {
10537          return;
10538        }
10539        const floatingStyle = floating.style;
10540        floatingStyle.setProperty(AVAILABLE_WIDTH_VAR, `$availableWidth2}px`);
10541        floatingStyle.setProperty(AVAILABLE_HEIGHT_VAR, `$availableHeight2}px`);
10542        const dpr = getWindow(floating).devicePixelRatio || 1;
10543        const {
10544          x: x3,
10545          y: y3,
10546          width,
10547          height
10548        } = rects.reference;
10549        const anchorWidth2 = (Math.round((x3 + width) * dpr) - Math.round(x3 * dpr)) / dpr;
10550        const anchorHeight2 = (Math.round((y3 + height) * dpr) - Math.round(y3 * dpr)) / dpr;
10551        floatingStyle.setProperty(anchorWidth, `$anchorWidth2}px`);
10552        floatingStyle.setProperty(anchorHeight, `$anchorHeight2}px`);
10553      }
10554    }), arrow4((state) => ({
10555      // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set,
10556      // we'll create a fake element.
10557      element: arrowRef.current || ownerDocument(state.elements.floating).createElement("div"),
10558      // No padding for the fake arrow: it would displace aligned popups on narrow anchors.
10559      padding: arrowRef.current ? arrowPadding : 0
10560    }), [arrowPadding]), {
10561      name: "transformOrigin",
10562      fn(state) {
10563        const {
10564          elements: {
10565            floating
10566          },
10567          middlewareData: middlewareData2,
10568          placement: renderedPlacement2,
10569          platform: platform3,
10570          rects,
10571          y: y3
10572        } = state;
10573        const renderedSide2 = getSide(renderedPlacement2);
10574        const renderedAlign2 = getAlignment(renderedPlacement2);
10575        const isVertical = getSideAxis(renderedSide2) === "y";
10576        const arrowEl = arrowRef.current;
10577        const sideOffsetValue = typeof sideOffset === "function" ? sideOffset(getOffsetData(state, sideParam, isRtl)) : sideOffset;
10578        let crossOrigin;
10579        if (!arrowEl && renderedAlign2 && Math.abs(isVertical ? middlewareData2.shift?.x || 0 : middlewareData2.shift?.y || 0) <= 1) {
10580          crossOrigin = renderedAlign2 === "start" === (isVertical && platform3.isRTL?.(floating) === true) ? "100%" : "0%";
10581        } else {
10582          const arrowOffset = isVertical ? middlewareData2.arrow?.x || 0 : middlewareData2.arrow?.y || 0;
10583          const arrowSize = isVertical ? arrowEl?.clientWidth || 0 : arrowEl?.clientHeight || 0;
10584          crossOrigin = `$arrowOffset + arrowSize / 2}px`;
10585        }
10586        let sideOrigin = renderedSide2 === "top" || renderedSide2 === "left" ? `calc(100% + $sideOffsetValue}px)` : `${-sideOffsetValue}px`;
10587        if (crossAxisShiftEnabled && isVertical && Math.abs(middlewareData2.shift?.y || 0) > sideOffsetValue) {
10588          sideOrigin = `$rects.reference.y + rects.reference.height / 2 - y3}px`;
10589        }
10590        floating.style.setProperty(transformOrigin, isVertical ? `$crossOrigin} $sideOrigin}` : `$sideOrigin} $crossOrigin}`);
10591        return {};
10592      }
10593    }, hide4, adaptiveOrigin2);
10594    useIsoLayoutEffect(() => {
10595      if (!mounted && floatingRootContext) {
10596        floatingRootContext.update({
10597          referenceElement: null,
10598          floatingElement: null,
10599          domReferenceElement: null,
10600          positionReference: null
10601        });
10602      }
10603    }, [mounted, floatingRootContext]);
10604    const autoUpdateOptions = React52.useMemo(() => ({
10605      ancestorScroll: !disableAnchorTracking,
10606      elementResize: !disableAnchorTracking && typeof ResizeObserver !== "undefined",
10607      layoutShift: !disableAnchorTracking && typeof IntersectionObserver !== "undefined"
10608    }), [disableAnchorTracking]);
10609    const {
10610      refs,
10611      elements,
10612      x: x2,
10613      y: y2,
10614      middlewareData,
10615      update: update2,
10616      placement: renderedPlacement,
10617      context,
10618      isPositioned,
10619      floatingStyles: originalFloatingStyles
10620    } = useFloatingHook({
10621      rootContext: floatingRootContext,
10622      open: keepMounted ? mounted : void 0,
10623      placement,
10624      middleware,
10625      strategy: positionMethod,
10626      whileElementsMounted: keepMounted ? void 0 : (...args) => autoUpdate(...args, autoUpdateOptions),
10627      nodeId,
10628      externalTree
10629    });
10630    const {
10631      sideX,
10632      sideY
10633    } = middlewareData.adaptiveOrigin || DEFAULT_SIDES;
10634    const resolvedPosition = isPositioned ? positionMethod : "fixed";
10635    const floatingStyles = React52.useMemo(() => {
10636      let base;
10637      if (!isPositioned) {
10638        base = {
10639          position: resolvedPosition,
10640          top: 0,
10641          left: 0
10642        };
10643      } else if (adaptiveOrigin2) {
10644        base = {
10645          position: resolvedPosition,
10646          [sideX]: x2,
10647          [sideY]: y2
10648        };
10649      } else {
10650        base = {
10651          ...originalFloatingStyles,
10652          position: resolvedPosition
10653        };
10654      }
10655      base[AVAILABLE_WIDTH_VAR] = "100vw";
10656      base[AVAILABLE_HEIGHT_VAR] = "100vh";
10657      if (!isPositioned) {
10658        base.opacity = 0;
10659      }
10660      return base;
10661    }, [adaptiveOrigin2, resolvedPosition, sideX, x2, sideY, y2, originalFloatingStyles, isPositioned]);
10662    const registeredPositionReferenceRef = React52.useRef(null);
10663    useIsoLayoutEffect(() => {
10664      if (!mounted) {
10665        return;
10666      }
10667      const anchorValue = anchorValueRef.current;
10668      const resolvedAnchor = typeof anchorValue === "function" ? anchorValue() : anchorValue;
10669      const unwrappedElement = (isRef(resolvedAnchor) ? resolvedAnchor.current : resolvedAnchor) || null;
10670      const finalAnchor = unwrappedElement || null;
10671      if (finalAnchor !== registeredPositionReferenceRef.current) {
10672        refs.setPositionReference(finalAnchor);
10673        registeredPositionReferenceRef.current = finalAnchor;
10674      }
10675    }, [mounted, refs, anchorDep, anchorValueRef]);
10676    React52.useEffect(() => {
10677      if (!mounted) {
10678        return;
10679      }
10680      const anchorValue = anchorValueRef.current;
10681      if (typeof anchorValue === "function") {
10682        return;
10683      }
10684      if (isRef(anchorValue) && anchorValue.current !== registeredPositionReferenceRef.current) {
10685        refs.setPositionReference(anchorValue.current);
10686        registeredPositionReferenceRef.current = anchorValue.current;
10687      }
10688    }, [mounted, refs, anchorDep, anchorValueRef]);
10689    React52.useEffect(() => {
10690      if (keepMounted && mounted && elements.reference && elements.floating) {
10691        return autoUpdate(elements.reference, elements.floating, update2, autoUpdateOptions);
10692      }
10693      return void 0;
10694    }, [keepMounted, mounted, elements, update2, autoUpdateOptions]);
10695    const renderedSide = getSide(renderedPlacement);
10696    const logicalRenderedSide = getLogicalSide(sideParam, renderedSide, isRtl);
10697    const renderedAlign = getAlignment(renderedPlacement) || "center";
10698    const anchorHidden2 = Boolean(middlewareData.hide?.referenceHidden);
10699    useIsoLayoutEffect(() => {
10700      if (lazyFlip && mounted && isPositioned && (renderedSide !== side || lockAlign && renderedAlign !== placementAlign)) {
10701        setMountPlacement(renderedPlacement);
10702      }
10703    }, [lazyFlip, lockAlign, mounted, isPositioned, renderedPlacement, renderedSide, renderedAlign, side, placementAlign]);
10704    const arrowStyles = React52.useMemo(() => ({
10705      position: "absolute",
10706      top: middlewareData.arrow?.y,
10707      left: middlewareData.arrow?.x
10708    }), [middlewareData.arrow]);
10709    const arrowUncentered = middlewareData.arrow?.centerOffset !== 0;
10710    return React52.useMemo(() => ({
10711      positionerStyles: floatingStyles,
10712      arrowStyles,
10713      arrowRef,
10714      arrowUncentered,
10715      side: logicalRenderedSide,
10716      align: renderedAlign,
10717      physicalSide: renderedSide,
10718      anchorHidden: anchorHidden2,
10719      refs,
10720      context,
10721      isPositioned,
10722      update: update2
10723    }), [floatingStyles, arrowStyles, arrowRef, arrowUncentered, logicalRenderedSide, renderedAlign, renderedSide, anchorHidden2, refs, context, isPositioned, update2]);
10724  }
10725  function isRef(param) {
10726    return param != null && "current" in param;
10727  }
10728  
10729  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/getDisabledMountTransitionStyles.mjs
10730  function getDisabledMountTransitionStyles(transitionStatus) {
10731    return transitionStatus === "starting" ? DISABLED_TRANSITIONS_STYLE : EMPTY_OBJECT;
10732  }
10733  
10734  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePositioner.mjs
10735  function usePositioner(componentProps, state, {
10736    styles,
10737    transitionStatus,
10738    props,
10739    refs,
10740    hidden,
10741    inert = false
10742  }) {
10743    const style = {
10744      ...styles
10745    };
10746    if (inert) {
10747      style.pointerEvents = "none";
10748    }
10749    return useRenderElement("div", componentProps, {
10750      state,
10751      ref: refs,
10752      props: [{
10753        role: "presentation",
10754        hidden,
10755        style
10756      }, getDisabledMountTransitionStyles(transitionStatus), props],
10757      stateAttributesMapping: popupStateMapping
10758    });
10759  }
10760  
10761  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useAnchoredPopupScrollLock.mjs
10762  var React53 = __toESM(require_react(), 1);
10763  var VIEWPORT_WIDTH_TOLERANCE_PX = 20;
10764  function useAnchoredPopupScrollLock(enabled, touchOpen, positionerElement, referenceElement) {
10765    const [touchOpenShouldLockScroll, setTouchOpenShouldLockScroll] = React53.useState(false);
10766    useIsoLayoutEffect(() => {
10767      if (!enabled || !touchOpen || positionerElement == null) {
10768        setTouchOpenShouldLockScroll(false);
10769        return;
10770      }
10771      const viewportWidth = ownerDocument(positionerElement).documentElement.clientWidth;
10772      const popupWidth2 = positionerElement.offsetWidth;
10773      setTouchOpenShouldLockScroll(viewportWidth > 0 && popupWidth2 > 0 && popupWidth2 >= viewportWidth - VIEWPORT_WIDTH_TOLERANCE_PX);
10774    }, [enabled, touchOpen, positionerElement]);
10775    useScrollLock(enabled && (!touchOpen || touchOpenShouldLockScroll), referenceElement);
10776  }
10777  
10778  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/listbox-separator/ListboxSeparator.mjs
10779  var React54 = __toESM(require_react(), 1);
10780  var ListboxSeparator = /* @__PURE__ */ React54.forwardRef(function ListboxSeparator2(componentProps, forwardedRef) {
10781    const {
10782      className,
10783      render,
10784      orientation = "horizontal",
10785      style,
10786      ...elementProps
10787    } = componentProps;
10788    const state = {
10789      orientation
10790    };
10791    return useRenderElement("div", componentProps, {
10792      state,
10793      ref: forwardedRef,
10794      props: [{
10795        role: "presentation"
10796      }, elementProps]
10797    });
10798  });
10799  if (true) ListboxSeparator.displayName = "ListboxSeparator";
10800  
10801  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useRegisteredLabelId.mjs
10802  function useRegisteredLabelId(idProp, setLabelId) {
10803    const id = useBaseUiId(idProp);
10804    useIsoLayoutEffect(() => {
10805      setLabelId(id);
10806      return () => {
10807        setLabelId((currentId) => currentId === id ? void 0 : currentId);
10808      };
10809    }, [id, setLabelId]);
10810    return id;
10811  }
10812  
10813  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabel.mjs
10814  function useLabel(params = {}) {
10815    const {
10816      id: idProp,
10817      fallbackControlId,
10818      native = false,
10819      setLabelId: setLabelIdProp,
10820      focusControl: focusControlProp
10821    } = params;
10822    const {
10823      controlId: contextControlId,
10824      setLabelId: setContextLabelId
10825    } = useLabelableContext();
10826    const syncLabelId = useStableCallback((nextLabelId) => {
10827      setContextLabelId(nextLabelId);
10828      setLabelIdProp?.(nextLabelId);
10829    });
10830    const id = useRegisteredLabelId(idProp, syncLabelId);
10831    const resolvedControlId = contextControlId ?? fallbackControlId;
10832    function focusControl(event) {
10833      if (focusControlProp) {
10834        focusControlProp(event, resolvedControlId);
10835        return;
10836      }
10837      if (!resolvedControlId) {
10838        return;
10839      }
10840      const controlElement = getControlById(event.currentTarget, resolvedControlId);
10841      if (isHTMLElement(controlElement)) {
10842        focusElementWithVisible(controlElement);
10843      }
10844    }
10845    function handleInteraction(event) {
10846      const target = getTarget(event.nativeEvent);
10847      if (closest(target, "button,input,select,textarea")) {
10848        return;
10849      }
10850      if (!event.defaultPrevented && event.detail > 1) {
10851        event.preventDefault();
10852      }
10853      if (native) {
10854        return;
10855      }
10856      focusControl(event);
10857    }
10858    return native ? {
10859      id,
10860      htmlFor: resolvedControlId,
10861      onMouseDown: handleInteraction
10862    } : {
10863      id,
10864      onClick: handleInteraction,
10865      onPointerDown(event) {
10866        event.preventDefault();
10867      }
10868    };
10869  }
10870  function getControlById(label, id) {
10871    let root = label.getRootNode();
10872    while (isShadowRoot(root)) {
10873      const element = root.getElementById(id);
10874      if (element) {
10875        return element;
10876      }
10877      root = root.host.getRootNode();
10878    }
10879    return ownerDocument(label).getElementById(id);
10880  }
10881  function focusElementWithVisible(element) {
10882    element.focus({
10883      // Available from Chrome 144+ (January 2026).
10884      // Safari and Firefox already support it.
10885      focusVisible: true
10886    });
10887  }
10888  
10889  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/ItemIndicator.mjs
10890  var React55 = __toESM(require_react(), 1);
10891  var ItemIndicator = /* @__PURE__ */ React55.memo(/* @__PURE__ */ React55.forwardRef(function ItemIndicator2(componentProps, forwardedRef) {
10892    const {
10893      render,
10894      className,
10895      style,
10896      keepMounted,
10897      selected,
10898      ...elementProps
10899    } = componentProps;
10900    const indicatorRef = React55.useRef(null);
10901    const {
10902      transitionStatus,
10903      setMounted
10904    } = useTransitionStatus(selected);
10905    const state = {
10906      selected,
10907      transitionStatus
10908    };
10909    const element = useRenderElement("span", componentProps, {
10910      ref: [forwardedRef, indicatorRef],
10911      state,
10912      props: [{
10913        "aria-hidden": true,
10914        children: "\u2714\uFE0F"
10915      }, elementProps],
10916      stateAttributesMapping: transitionStatusMapping
10917    });
10918    useOpenChangeComplete({
10919      batch: true,
10920      enabled: !selected,
10921      open: selected,
10922      ref: indicatorRef,
10923      onComplete() {
10924        if (!selected) {
10925          setMounted(false);
10926        }
10927      }
10928    });
10929    return element;
10930  }));
10931  if (true) ItemIndicator.displayName = "ItemIndicator";
10932  
10933  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/context-menu/root/ContextMenuRootContext.mjs
10934  var React56 = __toESM(require_react(), 1);
10935  var ContextMenuRootContext = /* @__PURE__ */ React56.createContext(void 0);
10936  if (true) ContextMenuRootContext.displayName = "ContextMenuRootContext";
10937  function useContextMenuRootContext(optional = true) {
10938    const context = React56.useContext(ContextMenuRootContext);
10939    if (context === void 0 && !optional) {
10940      throw new Error(true ? "Base UI: ContextMenuRootContext is missing. ContextMenu parts must be placed within <ContextMenu.Root>." : formatErrorMessage_default(25));
10941    }
10942    return context;
10943  }
10944  
10945  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/index.parts.mjs
10946  var index_parts_exports = {};
10947  __export(index_parts_exports, {
10948    Arrow: () => MenuArrow,
10949    Backdrop: () => MenuBackdrop,
10950    CheckboxItem: () => MenuCheckboxItem,
10951    CheckboxItemIndicator: () => MenuCheckboxItemIndicator,
10952    Clear: () => MenuClear,
10953    Empty: () => MenuEmpty,
10954    FilterProvider: () => MenuFilterProvider,
10955    Group: () => MenuGroup,
10956    GroupLabel: () => MenuGroupLabel,
10957    Handle: () => MenuHandle,
10958    Input: () => MenuInput,
10959    Item: () => MenuItem,
10960    LinkItem: () => MenuLinkItem,
10961    List: () => MenuList,
10962    Popup: () => MenuPopup,
10963    Portal: () => MenuPortal,
10964    Positioner: () => MenuPositioner,
10965    RadioGroup: () => MenuRadioGroup,
10966    RadioItem: () => MenuRadioItem,
10967    RadioItemIndicator: () => MenuRadioItemIndicator,
10968    Root: () => MenuRoot,
10969    Separator: () => Separator,
10970    SubmenuRoot: () => MenuSubmenuRoot,
10971    SubmenuTrigger: () => MenuSubmenuTrigger,
10972    Trigger: () => MenuTrigger,
10973    Viewport: () => MenuViewport,
10974    createHandle: () => createMenuHandle,
10975    useFilter: () => getFilter
10976  });
10977  
10978  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/arrow/MenuArrow.mjs
10979  var React59 = __toESM(require_react(), 1);
10980  
10981  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/positioner/MenuPositionerContext.mjs
10982  var React57 = __toESM(require_react(), 1);
10983  var MenuPositionerContext = /* @__PURE__ */ React57.createContext(void 0);
10984  if (true) MenuPositionerContext.displayName = "MenuPositionerContext";
10985  function useMenuPositionerContext(optional) {
10986    const context = React57.useContext(MenuPositionerContext);
10987    if (context === void 0 && !optional) {
10988      throw new Error(true ? "Base UI: MenuPositionerContext is missing. MenuPositioner parts must be placed within <Menu.Positioner>." : formatErrorMessage_default(33));
10989    }
10990    return context;
10991  }
10992  
10993  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/root/MenuRootContext.mjs
10994  var React58 = __toESM(require_react(), 1);
10995  var MenuRootContext = /* @__PURE__ */ React58.createContext(void 0);
10996  if (true) MenuRootContext.displayName = "MenuRootContext";
10997  function useMenuRootContext(optional) {
10998    const context = React58.useContext(MenuRootContext);
10999    if (context === void 0 && !optional) {
11000      throw new Error(true ? "Base UI: MenuRootContext is missing. Menu parts must be placed within <Menu.Root>." : formatErrorMessage_default(36));
11001    }
11002    return context;
11003  }
11004  
11005  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/arrow/MenuArrow.mjs
11006  var MenuArrow = /* @__PURE__ */ React59.forwardRef(function MenuArrow2(componentProps, forwardedRef) {
11007    const {
11008      render,
11009      className,
11010      style,
11011      ...elementProps
11012    } = componentProps;
11013    const {
11014      store
11015    } = useMenuRootContext();
11016    const {
11017      arrowRef,
11018      side,
11019      align,
11020      arrowUncentered,
11021      arrowStyles
11022    } = useMenuPositionerContext();
11023    const open2 = store.useState("open");
11024    const state = {
11025      open: open2,
11026      side,
11027      align,
11028      uncentered: arrowUncentered
11029    };
11030    return useRenderElement("div", componentProps, {
11031      ref: [arrowRef, forwardedRef],
11032      stateAttributesMapping: popupStateMapping,
11033      state,
11034      props: {
11035        style: arrowStyles,
11036        "aria-hidden": true,
11037        ...elementProps
11038      }
11039    });
11040  });
11041  if (true) MenuArrow.displayName = "MenuArrow";
11042  
11043  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/backdrop/MenuBackdrop.mjs
11044  var React60 = __toESM(require_react(), 1);
11045  var MenuBackdrop = /* @__PURE__ */ React60.forwardRef(function MenuBackdrop2(componentProps, forwardedRef) {
11046    const {
11047      render,
11048      className,
11049      style,
11050      ...elementProps
11051    } = componentProps;
11052    const {
11053      store
11054    } = useMenuRootContext();
11055    const open2 = store.useState("open");
11056    const mounted = store.useState("mounted");
11057    const transitionStatus = store.useState("transitionStatus");
11058    const lastOpenChangeReason = store.useState("lastOpenChangeReason");
11059    const contextMenuContext = useContextMenuRootContext();
11060    const state = {
11061      open: open2,
11062      transitionStatus
11063    };
11064    return useRenderElement("div", componentProps, {
11065      ref: contextMenuContext?.backdropRef ? [forwardedRef, contextMenuContext.backdropRef] : forwardedRef,
11066      state,
11067      stateAttributesMapping: popupTransitionStateMapping,
11068      props: [{
11069        role: "presentation",
11070        hidden: !mounted,
11071        style: {
11072          pointerEvents: lastOpenChangeReason === reason_parts_exports.triggerHover ? "none" : void 0,
11073          userSelect: "none",
11074          WebkitUserSelect: "none"
11075        }
11076      }, elementProps]
11077    });
11078  });
11079  if (true) MenuBackdrop.displayName = "MenuBackdrop";
11080  
11081  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/checkbox-item/MenuCheckboxItem.mjs
11082  var React65 = __toESM(require_react(), 1);
11083  
11084  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/MenuFilterContext.mjs
11085  var React61 = __toESM(require_react(), 1);
11086  var MenuFilterImplContext = /* @__PURE__ */ React61.createContext(null);
11087  if (true) MenuFilterImplContext.displayName = "MenuFilterImplContext";
11088  function useMenuFilterImpl(scope = "root") {
11089    const impl = React61.useContext(MenuFilterImplContext);
11090    const root = React61.useContext(MenuRootContext);
11091    if (impl === null || root === void 0) {
11092      return null;
11093    }
11094    const filterable = scope === "submenu-trigger" ? root.virtualFocus || root.parentVirtualFocus : root.virtualFocus;
11095    return filterable ? impl : null;
11096  }
11097  function useMenuFilterPart(part) {
11098    if (useMenuFilterImpl() === null) {
11099      throw new Error(true ? `Base UI: <Menu.$part}> must be placed in a menu wrapped in <Menu.FilterProvider>. It reads the filter query and the matching items from the provider, which a plain menu does not have. Wrap the <Menu.Root> or <Menu.SubmenuRoot> it belongs to in <Menu.FilterProvider>. See https://base-ui.com/react/components/menu#filtering` : formatErrorMessage_default(104, part));
11100    }
11101  }
11102  var UNFILTERED = {
11103    visible: true,
11104    ref: null
11105  };
11106  function useUnfilteredItem() {
11107    return UNFILTERED;
11108  }
11109  function useMenuFilterItem(props, forwardedRef, scope = "root") {
11110    const impl = useMenuFilterImpl(scope);
11111    const useItem = (scope === "submenu-trigger" ? impl?.useSubmenuTrigger : impl?.useItem) ?? useUnfilteredItem;
11112    const item = useItem({
11113      label: props.label,
11114      children: props.children,
11115      render: props.render
11116    });
11117    const ref = useMergedRefs(forwardedRef, item.ref);
11118    return {
11119      visible: item.visible,
11120      ref,
11121      props: item.props
11122    };
11123  }
11124  
11125  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/checkbox-item/MenuCheckboxItemContext.mjs
11126  var React62 = __toESM(require_react(), 1);
11127  var MenuCheckboxItemContext = /* @__PURE__ */ React62.createContext(void 0);
11128  if (true) MenuCheckboxItemContext.displayName = "MenuCheckboxItemContext";
11129  function useMenuCheckboxItemContext() {
11130    const context = React62.useContext(MenuCheckboxItemContext);
11131    if (context === void 0) {
11132      throw new Error(true ? "Base UI: MenuCheckboxItemContext is missing. MenuCheckboxItem parts must be placed within <Menu.CheckboxItem>." : formatErrorMessage_default(30));
11133    }
11134    return context;
11135  }
11136  
11137  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/item/useMenuItem.mjs
11138  var React64 = __toESM(require_react(), 1);
11139  
11140  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/item/useMenuItemCommonProps.mjs
11141  var React63 = __toESM(require_react(), 1);
11142  function preventMouseDownDefault(event) {
11143    event.preventDefault();
11144  }
11145  function useMenuItemCommonProps(params) {
11146    const {
11147      closeOnClick,
11148      highlighted,
11149      id,
11150      nodeId,
11151      store,
11152      typingRef,
11153      itemRef,
11154      itemMetadata
11155    } = params;
11156    const rootContext = useMenuRootContext();
11157    const contextMenuContext = useContextMenuRootContext(true);
11158    const isSubmenuTrigger = itemMetadata.type === "submenu-trigger";
11159    const virtualFocus = isSubmenuTrigger ? rootContext.parentVirtualFocus : rootContext.virtualFocus;
11160    const selectionStore = isSubmenuTrigger && rootContext.parent.type === "menu" ? rootContext.parent.store : rootContext.store;
11161    const ariaSelected = selectionStore.useState("webkitAriaSelected", highlighted);
11162    const {
11163      events: menuEvents
11164    } = store.useState("floatingTreeRoot");
11165    const open2 = store.useState("open");
11166    const isContextMenu = contextMenuContext !== void 0;
11167    const tabIndex = !virtualFocus && open2 && highlighted ? 0 : -1;
11168    return React63.useMemo(() => ({
11169      id,
11170      role: "menuitem",
11171      tabIndex,
11172      "aria-selected": ariaSelected,
11173      // Real focus stays on the input or list that owns virtual navigation.
11174      onMouseDown: virtualFocus ? preventMouseDownDefault : void 0,
11175      onKeyDown(event) {
11176        if (event.key === " " && typingRef?.current) {
11177          event.preventDefault();
11178        }
11179      },
11180      onMouseMove(event) {
11181        if (!nodeId) {
11182          return;
11183        }
11184        menuEvents.emit("itemhover", {
11185          nodeId,
11186          target: event.currentTarget
11187        });
11188      },
11189      onClick(event) {
11190        if (closeOnClick) {
11191          menuEvents.emit("close", {
11192            domEvent: event.nativeEvent,
11193            reason: reason_parts_exports.itemPress
11194          });
11195        }
11196      },
11197      onMouseUp(event) {
11198        if (contextMenuContext) {
11199          const initialCursorPoint = contextMenuContext.initialCursorPointRef.current;
11200          contextMenuContext.initialCursorPointRef.current = null;
11201          if (isContextMenu && initialCursorPoint && Math.abs(event.clientX - initialCursorPoint.x) <= 1 && Math.abs(event.clientY - initialCursorPoint.y) <= 1) {
11202            return;
11203          }
11204          if (isContextMenu && !parts_exports.os.mac && event.button === 2) {
11205            return;
11206          }
11207        }
11208        if (itemRef.current && store.context.allowMouseUpTriggerRef.current && (!isContextMenu || event.button === 2)) {
11209          if (itemMetadata.type === "regular-item") {
11210            dispatchClickWithModifiers(itemRef.current, event, {
11211              detail: 1,
11212              pointerType: "mouse"
11213            });
11214          }
11215        }
11216      }
11217    }), [closeOnClick, tabIndex, id, menuEvents, nodeId, store.context.allowMouseUpTriggerRef, typingRef, itemRef, contextMenuContext, isContextMenu, itemMetadata.type, ariaSelected, virtualFocus]);
11218  }
11219  
11220  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/item/useMenuItem.mjs
11221  var REGULAR_ITEM = {
11222    type: "regular-item"
11223  };
11224  function useMenuItem(params) {
11225    const {
11226      closeOnClick,
11227      disabled: disabled2,
11228      highlighted,
11229      id,
11230      store,
11231      typingRef = store.context.typingRef,
11232      nativeButton,
11233      itemMetadata,
11234      nodeId
11235    } = params;
11236    const itemRef = React64.useRef(null);
11237    const {
11238      getButtonProps,
11239      buttonRef
11240    } = useButton({
11241      disabled: disabled2,
11242      focusableWhenDisabled: true,
11243      native: nativeButton,
11244      composite: true
11245    });
11246    const commonProps = useMenuItemCommonProps({
11247      closeOnClick,
11248      highlighted,
11249      id,
11250      nodeId,
11251      store,
11252      typingRef,
11253      itemRef,
11254      itemMetadata
11255    });
11256    const getItemProps = React64.useCallback((externalProps) => {
11257      return mergeProps(commonProps, {
11258        onMouseEnter(event) {
11259          if (itemMetadata.type !== "submenu-trigger") {
11260            return;
11261          }
11262          itemMetadata.setActive(event.nativeEvent);
11263        }
11264      }, externalProps, getButtonProps);
11265    }, [commonProps, getButtonProps, itemMetadata]);
11266    const mergedRef = useMergedRefs(itemRef, buttonRef);
11267    return React64.useMemo(() => ({
11268      getItemProps,
11269      itemRef: mergedRef
11270    }), [getItemProps, mergedRef]);
11271  }
11272  
11273  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/checkbox-item/MenuCheckboxItemDataAttributes.mjs
11274  var checked = "data-checked";
11275  var unchecked = "data-unchecked";
11276  
11277  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/utils/stateAttributesMapping.mjs
11278  var itemMapping = {
11279    checked(value) {
11280      if (value) {
11281        return {
11282          [checked]: ""
11283        };
11284      }
11285      return {
11286        [unchecked]: ""
11287      };
11288    },
11289    ...transitionStatusMapping
11290  };
11291  
11292  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/checkbox-item/MenuCheckboxItem.mjs
11293  var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1);
11294  var MenuCheckboxItemPlain = /* @__PURE__ */ React65.forwardRef(function MenuCheckboxItemPlain2(componentProps, forwardedRef) {
11295    const {
11296      render,
11297      className,
11298      id: idProp,
11299      label,
11300      nativeButton = false,
11301      disabled: disabledProp = false,
11302      closeOnClick = false,
11303      checked: checked2 = false,
11304      onCheckedChange,
11305      style,
11306      ...elementProps
11307    } = componentProps;
11308    const {
11309      store
11310    } = useMenuRootContext();
11311    const listItem = useCompositeListItem({
11312      guess: true,
11313      label
11314    });
11315    const id = useBaseUiId(idProp);
11316    const rootDisabled = store.useState("disabled");
11317    const highlighted = store.useState("isActive", listItem.index);
11318    const nodeId = store.useState("floatingNodeId");
11319    const itemProps = store.useState("itemProps");
11320    const disabled2 = disabledProp || rootDisabled;
11321    const {
11322      getItemProps,
11323      itemRef
11324    } = useMenuItem({
11325      closeOnClick,
11326      disabled: disabled2,
11327      highlighted,
11328      id,
11329      store,
11330      nativeButton,
11331      nodeId,
11332      itemMetadata: REGULAR_ITEM
11333    });
11334    const state = React65.useMemo(() => ({
11335      disabled: disabled2,
11336      highlighted,
11337      checked: checked2
11338    }), [disabled2, highlighted, checked2]);
11339    function handleClick(event) {
11340      const details = createChangeEventDetails(reason_parts_exports.itemPress, event.nativeEvent, void 0, {
11341        preventUnmountOnClose: NOOP
11342      });
11343      onCheckedChange?.(!checked2, details);
11344    }
11345    const element = useRenderElement("div", componentProps, {
11346      state,
11347      stateAttributesMapping: itemMapping,
11348      props: [itemProps, {
11349        role: "menuitemcheckbox",
11350        "aria-checked": checked2,
11351        onClick: handleClick
11352      }, elementProps, getItemProps],
11353      ref: [itemRef, forwardedRef, listItem.ref]
11354    });
11355    return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(MenuCheckboxItemContext.Provider, {
11356      value: state,
11357      children: element
11358    });
11359  });
11360  if (true) MenuCheckboxItemPlain.displayName = "MenuCheckboxItemPlain";
11361  var MenuCheckboxItem = /* @__PURE__ */ React65.forwardRef(function MenuCheckboxItem2(props, forwardedRef) {
11362    const {
11363      checked: checkedProp,
11364      defaultChecked,
11365      onCheckedChange,
11366      ...plainProps
11367    } = props;
11368    const [checked2, setChecked] = useControlled({
11369      controlled: checkedProp,
11370      default: defaultChecked ?? false,
11371      name: "MenuCheckboxItem",
11372      state: "checked"
11373    });
11374    const filterItem = useMenuFilterItem(props, forwardedRef);
11375    function handleCheckedChange(nextChecked, eventDetails) {
11376      onCheckedChange?.(nextChecked, eventDetails);
11377      if (!eventDetails.isCanceled) {
11378        setChecked(nextChecked);
11379      }
11380    }
11381    if (!filterItem.visible) {
11382      return null;
11383    }
11384    return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(MenuCheckboxItemPlain, {
11385      ...plainProps,
11386      checked: checked2,
11387      onCheckedChange: handleCheckedChange,
11388      ref: filterItem.ref
11389    });
11390  });
11391  if (true) MenuCheckboxItem.displayName = "MenuCheckboxItem";
11392  
11393  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.mjs
11394  var React66 = __toESM(require_react(), 1);
11395  var MenuCheckboxItemIndicator = /* @__PURE__ */ React66.forwardRef(function MenuCheckboxItemIndicator2(componentProps, forwardedRef) {
11396    const {
11397      render,
11398      className,
11399      style,
11400      keepMounted = false,
11401      ...elementProps
11402    } = componentProps;
11403    const item = useMenuCheckboxItemContext();
11404    const indicatorRef = React66.useRef(null);
11405    const {
11406      transitionStatus,
11407      mounted,
11408      setMounted
11409    } = useTransitionStatus(item.checked);
11410    useOpenChangeComplete({
11411      batch: true,
11412      enabled: !item.checked,
11413      open: item.checked,
11414      ref: indicatorRef,
11415      onComplete() {
11416        if (!item.checked) {
11417          setMounted(false);
11418        }
11419      }
11420    });
11421    const state = {
11422      checked: item.checked,
11423      disabled: item.disabled,
11424      highlighted: item.highlighted,
11425      transitionStatus
11426    };
11427    const element = useRenderElement("span", componentProps, {
11428      state,
11429      ref: [forwardedRef, indicatorRef],
11430      stateAttributesMapping: itemMapping,
11431      props: {
11432        "aria-hidden": true,
11433        ...elementProps
11434      },
11435      enabled: keepMounted || mounted
11436    });
11437    return element;
11438  });
11439  if (true) MenuCheckboxItemIndicator.displayName = "MenuCheckboxItemIndicator";
11440  
11441  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/group/MenuGroup.mjs
11442  var React68 = __toESM(require_react(), 1);
11443  
11444  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/group/MenuGroupContext.mjs
11445  var React67 = __toESM(require_react(), 1);
11446  var MenuGroupContext = /* @__PURE__ */ React67.createContext(void 0);
11447  if (true) MenuGroupContext.displayName = "MenuGroupContext";
11448  function useMenuGroupRootContext() {
11449    const context = React67.useContext(MenuGroupContext);
11450    if (context === void 0) {
11451      throw new Error(true ? "Base UI: MenuGroupContext is missing. Menu group parts must be used within <Menu.Group> or <Menu.RadioGroup>." : formatErrorMessage_default(31));
11452    }
11453    return context;
11454  }
11455  
11456  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/group/MenuGroup.mjs
11457  var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1);
11458  var MenuGroupPlain = /* @__PURE__ */ React68.forwardRef(function MenuGroupPlain2(componentProps, forwardedRef) {
11459    const {
11460      render,
11461      className,
11462      style,
11463      ...elementProps
11464    } = componentProps;
11465    const [labelId, setLabelId] = React68.useState(void 0);
11466    const element = useRenderElement("div", componentProps, {
11467      ref: forwardedRef,
11468      props: {
11469        role: "group",
11470        "aria-labelledby": labelId,
11471        ...elementProps
11472      }
11473    });
11474    return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(MenuGroupContext.Provider, {
11475      value: setLabelId,
11476      children: element
11477    });
11478  });
11479  if (true) MenuGroupPlain.displayName = "MenuGroupPlain";
11480  var MenuGroup = /* @__PURE__ */ React68.forwardRef(function MenuGroup2(props, forwardedRef) {
11481    const Group3 = useMenuFilterImpl()?.Group ?? MenuGroupPlain;
11482    return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Group3, {
11483      ...props,
11484      ref: forwardedRef
11485    });
11486  });
11487  if (true) MenuGroup.displayName = "MenuGroup";
11488  
11489  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/group-label/MenuGroupLabel.mjs
11490  var React69 = __toESM(require_react(), 1);
11491  var MenuGroupLabel = /* @__PURE__ */ React69.forwardRef(function MenuGroupLabel2(componentProps, forwardedRef) {
11492    const {
11493      render,
11494      className,
11495      style,
11496      id: idProp,
11497      ...elementProps
11498    } = componentProps;
11499    const id = useBaseUiId(idProp);
11500    const setLabelId = useMenuGroupRootContext();
11501    useIsoLayoutEffect(() => {
11502      setLabelId(id);
11503      return () => {
11504        setLabelId((currentId) => currentId === id ? void 0 : currentId);
11505      };
11506    }, [setLabelId, id]);
11507    return useRenderElement("div", componentProps, {
11508      ref: forwardedRef,
11509      props: {
11510        id,
11511        "aria-hidden": true,
11512        ...elementProps
11513      }
11514    });
11515  });
11516  if (true) MenuGroupLabel.displayName = "MenuGroupLabel";
11517  
11518  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/item/MenuItem.mjs
11519  var React70 = __toESM(require_react(), 1);
11520  var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1);
11521  var MenuItemPlain = /* @__PURE__ */ React70.forwardRef(function MenuItemPlain2(componentProps, forwardedRef) {
11522    const {
11523      render,
11524      className,
11525      id: idProp,
11526      label,
11527      nativeButton = false,
11528      disabled: disabledProp = false,
11529      closeOnClick = true,
11530      style,
11531      ...elementProps
11532    } = componentProps;
11533    const {
11534      store
11535    } = useMenuRootContext();
11536    const listItem = useCompositeListItem({
11537      guess: true,
11538      label
11539    });
11540    const id = useBaseUiId(idProp);
11541    const rootDisabled = store.useState("disabled");
11542    const highlighted = store.useState("isActive", listItem.index);
11543    const nodeId = store.useState("floatingNodeId");
11544    const itemProps = store.useState("itemProps");
11545    const disabled2 = disabledProp || rootDisabled;
11546    const {
11547      getItemProps,
11548      itemRef
11549    } = useMenuItem({
11550      closeOnClick,
11551      disabled: disabled2,
11552      highlighted,
11553      id,
11554      store,
11555      nativeButton,
11556      nodeId,
11557      itemMetadata: REGULAR_ITEM
11558    });
11559    const state = {
11560      disabled: disabled2,
11561      highlighted
11562    };
11563    return useRenderElement("div", componentProps, {
11564      state,
11565      props: [itemProps, elementProps, getItemProps],
11566      ref: [itemRef, forwardedRef, listItem.ref]
11567    });
11568  });
11569  if (true) MenuItemPlain.displayName = "MenuItemPlain";
11570  var MenuItem = /* @__PURE__ */ React70.forwardRef(function MenuItem2(props, forwardedRef) {
11571    const filterItem = useMenuFilterItem(props, forwardedRef);
11572    if (!filterItem.visible) {
11573      return null;
11574    }
11575    return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(MenuItemPlain, {
11576      ...props,
11577      ref: filterItem.ref
11578    });
11579  });
11580  if (true) MenuItem.displayName = "MenuItem";
11581  
11582  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/link-item/MenuLinkItem.mjs
11583  var React71 = __toESM(require_react(), 1);
11584  var import_jsx_runtime13 = __toESM(require_jsx_runtime(), 1);
11585  var MenuLinkItemPlain = /* @__PURE__ */ React71.forwardRef(function MenuLinkItemPlain2(componentProps, forwardedRef) {
11586    const {
11587      render,
11588      className,
11589      id: idProp,
11590      label,
11591      closeOnClick = false,
11592      style,
11593      ...elementProps
11594    } = componentProps;
11595    const {
11596      store
11597    } = useMenuRootContext();
11598    const linkRef = React71.useRef(null);
11599    const listItem = useCompositeListItem({
11600      guess: true,
11601      label
11602    });
11603    const id = useBaseUiId(idProp);
11604    const highlighted = store.useState("isActive", listItem.index);
11605    const nodeId = store.useState("floatingNodeId");
11606    const itemProps = store.useState("itemProps");
11607    const typingRef = store.context.typingRef;
11608    const {
11609      getButtonProps,
11610      buttonRef
11611    } = useButton({
11612      native: false,
11613      composite: true
11614    });
11615    const commonProps = useMenuItemCommonProps({
11616      closeOnClick,
11617      highlighted,
11618      id,
11619      nodeId,
11620      store,
11621      typingRef,
11622      itemRef: linkRef,
11623      itemMetadata: REGULAR_ITEM
11624    });
11625    function getItemProps(externalProps) {
11626      return mergeProps(commonProps, externalProps, getButtonProps);
11627    }
11628    const state = {
11629      highlighted
11630    };
11631    return useRenderElement("a", componentProps, {
11632      state,
11633      props: [itemProps, elementProps, getItemProps],
11634      ref: [linkRef, buttonRef, forwardedRef, listItem.ref]
11635    });
11636  });
11637  if (true) MenuLinkItemPlain.displayName = "MenuLinkItemPlain";
11638  var MenuLinkItem = /* @__PURE__ */ React71.forwardRef(function MenuLinkItem2(props, forwardedRef) {
11639    const filterItem = useMenuFilterItem(props, forwardedRef);
11640    if (!filterItem.visible) {
11641      return null;
11642    }
11643    return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(MenuLinkItemPlain, {
11644      ...props,
11645      ref: filterItem.ref
11646    });
11647  });
11648  if (true) MenuLinkItem.displayName = "MenuLinkItem";
11649  
11650  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/popup/MenuPopup.mjs
11651  var React76 = __toESM(require_react(), 1);
11652  
11653  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/toolbar/root/ToolbarRootContext.mjs
11654  var React72 = __toESM(require_react(), 1);
11655  var ToolbarRootContext = /* @__PURE__ */ React72.createContext(void 0);
11656  if (true) ToolbarRootContext.displayName = "ToolbarRootContext";
11657  function useToolbarRootContext(optional) {
11658    const context = React72.useContext(ToolbarRootContext);
11659    if (context === void 0 && !optional) {
11660      throw new Error(true ? "Base UI: ToolbarRootContext is missing. Toolbar parts must be placed within <Toolbar.Root>." : formatErrorMessage_default(69));
11661    }
11662    return context;
11663  }
11664  
11665  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/submenu-root/MenuSubmenuRootContext.mjs
11666  var React73 = __toESM(require_react(), 1);
11667  var MenuSubmenuRootContext = /* @__PURE__ */ React73.createContext(void 0);
11668  if (true) MenuSubmenuRootContext.displayName = "MenuSubmenuRootContext";
11669  function useMenuSubmenuRootContext() {
11670    return React73.useContext(MenuSubmenuRootContext);
11671  }
11672  
11673  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/resolveRenderedId.mjs
11674  var React74 = __toESM(require_react(), 1);
11675  function resolveRenderedId(props, fallbackId) {
11676    const render = unwrapLazyRenderProp(props.render);
11677    if (/* @__PURE__ */ React74.isValidElement(render)) {
11678      const renderProps = render.props;
11679      if (Object.hasOwn(renderProps, "id")) {
11680        return renderProps.id ?? "";
11681      }
11682    }
11683    return props.id ?? fallbackId;
11684  }
11685  function useRenderedId(props, defaultId, setId) {
11686    const id = resolveRenderedId(props, defaultId);
11687    const registeredId = id === defaultId ? void 0 : id;
11688    const ref = React74.useCallback((element) => setId?.(element ? registeredId : void 0), [registeredId, setId]);
11689    return [id, ref];
11690  }
11691  
11692  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/resolvePopupLabel.mjs
11693  var React75 = __toESM(require_react(), 1);
11694  function resolvePopupLabel(props, activeTriggerElement, activeTriggerId) {
11695    const render = unwrapLazyRenderProp(props.render);
11696    const renderedElementProps = /* @__PURE__ */ React75.isValidElement(render) ? render.props : void 0;
11697    const ariaLabel = props["aria-label"] ?? renderedElementProps?.["aria-label"];
11698    let ariaLabelledBy = props["aria-labelledby"] ?? renderedElementProps?.["aria-labelledby"];
11699    if (ariaLabelledBy == null && !ariaLabel) {
11700      ariaLabelledBy = activeTriggerElement ? activeTriggerElement.id || void 0 : activeTriggerId || void 0;
11701    }
11702    return ariaLabelledBy;
11703  }
11704  
11705  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/popup/MenuPopup.mjs
11706  var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1);
11707  var MenuPopupPlain = /* @__PURE__ */ React76.forwardRef(function MenuPopupPlain2(componentProps, forwardedRef) {
11708    const {
11709      render,
11710      className,
11711      style,
11712      finalFocus,
11713      id: idProp,
11714      initialFocus: initialFocusProp,
11715      ...elementProps
11716    } = componentProps;
11717    const {
11718      store,
11719      defaultFloatingId,
11720      setRenderedFloatingId,
11721      virtualFocus,
11722      orientation
11723    } = useMenuRootContext();
11724    const inheritedSubmenuRootContext = useMenuSubmenuRootContext();
11725    const {
11726      side,
11727      align
11728    } = useMenuPositionerContext();
11729    const insideToolbar = useToolbarRootContext(true) != null;
11730    const open2 = store.useState("open");
11731    const transitionStatus = store.useState("transitionStatus");
11732    const popupProps = store.useState("popupProps");
11733    const mounted = store.useState("mounted");
11734    const instantType = store.useState("instantType");
11735    const activeTriggerElement = store.useState("activeTriggerElement");
11736    const parent = store.useState("parent");
11737    const lastOpenChangeReason = store.useState("lastOpenChangeReason");
11738    const rootId = store.useState("rootId");
11739    const floatingContext = store.useState("floatingRootContext");
11740    const floatingTreeRoot = store.useState("floatingTreeRoot");
11741    const closeDelay = store.useState("closeDelay");
11742    const hoverEnabled = store.useState("hoverEnabled");
11743    const disabled2 = store.useState("disabled");
11744    const openMethod = store.useState("openMethod");
11745    const activeTriggerId = store.useState("activeTriggerId");
11746    const listElement = store.useState("listElement");
11747    const [id, registerIdRef] = useRenderedId(componentProps, defaultFloatingId, setRenderedFloatingId);
11748    const ariaLabelledBy = resolvePopupLabel(componentProps, activeTriggerElement, activeTriggerId);
11749    const submenuRootContext = parent.type === "menu" ? inheritedSubmenuRootContext : void 0;
11750    const isContextMenu = parent.type === "context-menu";
11751    let initialFocus = initialFocusProp ?? parent.type !== "menu";
11752    if (initialFocusProp === void 0 && listElement && parent.type !== "menu") {
11753      initialFocus = () => {
11754        if (store.state.activeIndex !== null) {
11755          return false;
11756        }
11757        return listElement;
11758      };
11759    }
11760    useOpenChangeComplete({
11761      open: open2,
11762      ref: store.context.popupRef,
11763      onComplete() {
11764        if (open2) {
11765          store.context.onOpenChangeComplete?.(true);
11766        }
11767      }
11768    });
11769    React76.useEffect(() => {
11770      function handleClose(event) {
11771        store.setOpen(false, createChangeEventDetails(event.reason, event.domEvent));
11772      }
11773      floatingTreeRoot.events.on("close", handleClose);
11774      return () => {
11775        floatingTreeRoot.events.off("close", handleClose);
11776      };
11777    }, [floatingTreeRoot.events, store]);
11778    useHoverFloatingInteraction(floatingContext, {
11779      enabled: hoverEnabled && !disabled2 && !isContextMenu && parent.type !== "menubar",
11780      closeDelay
11781    });
11782    const setPopupElement = store.useStateSetter("popupElement");
11783    const useParentHandoff = React76.useContext(MenuFilterImplContext)?.useParentHandoff ?? useNoParentHandoff;
11784    const {
11785      parentVirtualFocusRef,
11786      handleFocus
11787    } = useParentHandoff(store, parent, open2, virtualFocus);
11788    const state = {
11789      transitionStatus,
11790      side,
11791      align,
11792      open: open2,
11793      nested: parent.type === "menu",
11794      instant: instantType
11795    };
11796    const element = useRenderElement("div", componentProps, {
11797      state,
11798      ref: [forwardedRef, store.context.popupRef, setPopupElement, registerIdRef],
11799      stateAttributesMapping: popupTransitionStateMapping,
11800      props: [popupProps, {
11801        id,
11802        // A rendered `Menu.List` carries the `menu` semantics instead.
11803        ...listElement ? {
11804          role: "presentation"
11805        } : {
11806          role: "menu",
11807          // `menu` is implicitly vertical, so only the non-default value needs to be
11808          // rendered.
11809          "aria-orientation": orientation === "horizontal" ? "horizontal" : void 0,
11810          "aria-labelledby": ariaLabelledBy
11811        },
11812        onKeyDown(event) {
11813          submenuRootContext?.onPopupKeyDown?.(event);
11814          if (insideToolbar && COMPOSITE_KEYS.has(event.key)) {
11815            event.stopPropagation();
11816          }
11817        },
11818        onFocus: handleFocus
11819      }, getDisabledMountTransitionStyles(transitionStatus), elementProps, {
11820        "data-rootownerid": rootId
11821      }]
11822    });
11823    let returnFocus = parent.type === void 0 || isContextMenu;
11824    if (activeTriggerElement || parent.type === "menubar" && lastOpenChangeReason !== reason_parts_exports.outsidePress) {
11825      returnFocus = true;
11826    }
11827    const dynamicReturnFocus = submenuRootContext?.getReturnElement ?? parentVirtualFocusRef;
11828    return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(FloatingFocusManager, {
11829      context: floatingContext,
11830      openInteractionType: openMethod,
11831      modal: isContextMenu,
11832      disabled: !mounted,
11833      returnFocus: finalFocus ?? dynamicReturnFocus ?? returnFocus,
11834      explicitReturnFocus: finalFocus === void 0 && dynamicReturnFocus ? false : void 0,
11835      initialFocus,
11836      restoreFocus: true,
11837      getInsideElements: parent.type === void 0 ? () => [store.context.beforeTriggerFocusGuardRef.current] : void 0,
11838      externalTree: parent.type !== "menubar" ? floatingTreeRoot : void 0,
11839      previousFocusableElement: activeTriggerElement,
11840      nextFocusableElement: parent.type === void 0 ? store.context.triggerFocusTargetRef : void 0,
11841      beforeContentFocusGuardRef: store.context.beforeContentFocusGuardRef,
11842      children: element
11843    });
11844  });
11845  if (true) MenuPopupPlain.displayName = "MenuPopupPlain";
11846  var NO_PARENT_HANDOFF = {
11847    parentVirtualFocusRef: void 0,
11848    handleFocus: void 0
11849  };
11850  function useNoParentHandoff() {
11851    return NO_PARENT_HANDOFF;
11852  }
11853  var MenuPopup = /* @__PURE__ */ React76.forwardRef(function MenuPopup2(props, forwardedRef) {
11854    const Popup4 = useMenuFilterImpl()?.Popup ?? MenuPopupPlain;
11855    return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Popup4, {
11856      ...props,
11857      ref: forwardedRef
11858    });
11859  });
11860  if (true) MenuPopup.displayName = "MenuPopup";
11861  
11862  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/portal/MenuPortal.mjs
11863  var React78 = __toESM(require_react(), 1);
11864  
11865  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/portal/MenuPortalContext.mjs
11866  var React77 = __toESM(require_react(), 1);
11867  var MenuPortalContext = /* @__PURE__ */ React77.createContext(void 0);
11868  if (true) MenuPortalContext.displayName = "MenuPortalContext";
11869  function useMenuPortalContext() {
11870    const value = React77.useContext(MenuPortalContext);
11871    if (value === void 0) {
11872      throw new Error(true ? "Base UI: <Menu.Portal> is missing." : formatErrorMessage_default(32));
11873    }
11874    return value;
11875  }
11876  
11877  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/portal/MenuPortal.mjs
11878  var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1);
11879  var MenuPortal = /* @__PURE__ */ React78.forwardRef(function MenuPortal2(props, forwardedRef) {
11880    const {
11881      keepMounted = false,
11882      ...portalProps
11883    } = props;
11884    const {
11885      store,
11886      parent
11887    } = useMenuRootContext();
11888    const mounted = store.useState("mounted");
11889    const shouldRender = mounted || keepMounted;
11890    if (!shouldRender) {
11891      return null;
11892    }
11893    const portalOwnerRole = parent.type === "menu" || parent.type === "menubar" ? "group" : void 0;
11894    return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(MenuPortalContext.Provider, {
11895      value: keepMounted,
11896      children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(FloatingPortal, {
11897        ref: forwardedRef,
11898        ...portalProps,
11899        portalOwnerRole
11900      })
11901    });
11902  });
11903  if (true) MenuPortal.displayName = "MenuPortal";
11904  
11905  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/positioner/MenuPositioner.mjs
11906  var React80 = __toESM(require_react(), 1);
11907  
11908  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useTriggerSwitchTransition.mjs
11909  var React79 = __toESM(require_react(), 1);
11910  function useTriggerSwitchTransition(parameters) {
11911    const {
11912      store,
11913      domReference,
11914      positionerElement,
11915      open: open2
11916    } = parameters;
11917    const previousTriggerRef = React79.useRef(null);
11918    const pendingSwitchRef = React79.useRef(null);
11919    const runOnceAnimationsFinish = useAnimationsFinished(positionerElement);
11920    useIsoLayoutEffect(() => {
11921      if (open2) {
11922        return;
11923      }
11924      pendingSwitchRef.current?.abort();
11925      pendingSwitchRef.current = null;
11926      if (store.state.instantType === "trigger-change") {
11927        store.set("instantType", void 0);
11928      }
11929    }, [open2, store]);
11930    useIsoLayoutEffect(() => {
11931      const currentTrigger = domReference;
11932      const previousTrigger = previousTriggerRef.current;
11933      if (currentTrigger) {
11934        previousTriggerRef.current = currentTrigger;
11935      }
11936      if (!previousTrigger || !currentTrigger || currentTrigger === previousTrigger) {
11937        return void 0;
11938      }
11939      if (!store.select("open")) {
11940        return void 0;
11941      }
11942      store.set("instantType", void 0);
11943      const abortController = new AbortController();
11944      pendingSwitchRef.current = abortController;
11945      runOnceAnimationsFinish(() => {
11946        if (store.select("open")) {
11947          store.set("instantType", "trigger-change");
11948        }
11949      }, abortController.signal);
11950      return () => {
11951        abortController.abort();
11952      };
11953    }, [domReference, runOnceAnimationsFinish, store]);
11954  }
11955  
11956  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/positioner/MenuPositioner.mjs
11957  var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);
11958  var MenuPositioner = /* @__PURE__ */ React80.forwardRef(function MenuPositioner2(componentProps, forwardedRef) {
11959    const {
11960      anchor: anchorProp,
11961      positionMethod: positionMethodProp = "absolute",
11962      className,
11963      render,
11964      side,
11965      align: alignProp,
11966      sideOffset: sideOffsetProp = 0,
11967      alignOffset: alignOffsetProp = 0,
11968      collisionBoundary = "clipping-ancestors",
11969      collisionPadding = 5,
11970      arrowPadding = 5,
11971      sticky = false,
11972      disableAnchorTracking = false,
11973      collisionAvoidance: collisionAvoidanceProp = DROPDOWN_COLLISION_AVOIDANCE,
11974      style,
11975      ...elementProps
11976    } = componentProps;
11977    const {
11978      store,
11979      virtualFocus,
11980      syncHighlightedItem
11981    } = useMenuRootContext();
11982    const keepMounted = useMenuPortalContext();
11983    const contextMenuContext = useContextMenuRootContext(true);
11984    const parent = store.useState("parent");
11985    const floatingRootContext = store.useState("floatingRootContext");
11986    const floatingTreeRoot = store.useState("floatingTreeRoot");
11987    const mounted = store.useState("mounted");
11988    const open2 = store.useState("open");
11989    const modal = store.useState("modal");
11990    const openMethod = store.useState("openMethod");
11991    const triggerElement = store.useState("activeTriggerElement");
11992    const transitionStatus = store.useState("transitionStatus");
11993    const positionerElement = store.useState("positionerElement");
11994    const instantType = store.useState("instantType");
11995    const adaptiveOrigin2 = store.useState("adaptiveOrigin");
11996    const lastOpenChangeReason = store.useState("lastOpenChangeReason");
11997    const floatingNodeId = store.useState("floatingNodeId");
11998    const floatingParentNodeId = store.useState("floatingParentNodeId");
11999    const domReference = floatingRootContext.useState("domReferenceElement");
12000    let anchor = anchorProp;
12001    let sideOffset = sideOffsetProp;
12002    let alignOffset = alignOffsetProp;
12003    let align = alignProp;
12004    let collisionAvoidance = collisionAvoidanceProp;
12005    if (parent.type === "context-menu") {
12006      anchor = anchorProp ?? parent.context?.anchor;
12007      align = align ?? "start";
12008      if (!side && align !== "center") {
12009        alignOffset = componentProps.alignOffset ?? 2;
12010        sideOffset = componentProps.sideOffset ?? -5;
12011      }
12012    }
12013    let computedSide = side;
12014    let computedAlign = align;
12015    if (parent.type === "menu") {
12016      computedSide = computedSide ?? "inline-end";
12017      computedAlign = computedAlign ?? "start";
12018      collisionAvoidance = componentProps.collisionAvoidance ?? POPUP_COLLISION_AVOIDANCE;
12019    } else if (parent.type === "menubar") {
12020      computedSide = computedSide ?? (parent.context.orientation === "vertical" ? "inline-end" : "bottom");
12021      computedAlign = computedAlign ?? "start";
12022    }
12023    const contextMenu = parent.type === "context-menu";
12024    const positioner = useAnchorPositioning({
12025      anchor,
12026      floatingRootContext,
12027      positionMethod: contextMenuContext ? "fixed" : positionMethodProp,
12028      mounted,
12029      side: computedSide,
12030      sideOffset,
12031      align: computedAlign,
12032      alignOffset,
12033      arrowPadding: contextMenu ? 0 : arrowPadding,
12034      collisionBoundary,
12035      collisionPadding,
12036      sticky,
12037      nodeId: floatingNodeId,
12038      keepMounted,
12039      disableAnchorTracking,
12040      collisionAvoidance,
12041      shift: contextMenu ? {
12042        crossAxis: !("side" in collisionAvoidance && collisionAvoidance.side === "flip"),
12043        rootBoundary: "layoutViewport"
12044      } : void 0,
12045      externalTree: floatingTreeRoot,
12046      adaptiveOrigin: adaptiveOrigin2,
12047      lazyFlip: virtualFocus ? "placement" : false
12048    });
12049    React80.useEffect(() => {
12050      function onMenuOpenChange(details) {
12051        if (details.open) {
12052          if (details.parentNodeId === floatingNodeId) {
12053            store.set("hoverEnabled", false);
12054          }
12055          if (details.nodeId !== floatingNodeId && details.parentNodeId === store.select("floatingParentNodeId")) {
12056            store.setOpen(false, createChangeEventDetails(reason_parts_exports.siblingOpen));
12057          }
12058        }
12059      }
12060      floatingTreeRoot.events.on("menuopenchange", onMenuOpenChange);
12061      return () => {
12062        floatingTreeRoot.events.off("menuopenchange", onMenuOpenChange);
12063      };
12064    }, [store, floatingTreeRoot.events, floatingNodeId]);
12065    React80.useEffect(() => {
12066      if (store.select("floatingParentNodeId") == null) {
12067        return void 0;
12068      }
12069      function onParentClose(details) {
12070        if (details.open || details.nodeId !== store.select("floatingParentNodeId")) {
12071          return;
12072        }
12073        const reason = details.reason ?? reason_parts_exports.siblingOpen;
12074        store.setOpen(false, createChangeEventDetails(reason));
12075      }
12076      floatingTreeRoot.events.on("menuopenchange", onParentClose);
12077      return () => {
12078        floatingTreeRoot.events.off("menuopenchange", onParentClose);
12079      };
12080    }, [floatingTreeRoot.events, store]);
12081    const closeTimeout = useTimeout();
12082    React80.useEffect(() => {
12083      if (!open2) {
12084        closeTimeout.clear();
12085      }
12086    }, [open2, closeTimeout]);
12087    React80.useEffect(() => {
12088      function onItemHover(event) {
12089        if (!open2 || event.nodeId !== store.select("floatingParentNodeId")) {
12090          return;
12091        }
12092        if (event.target && triggerElement && triggerElement !== event.target) {
12093          const delay = store.select("closeDelay");
12094          if (delay > 0) {
12095            if (!closeTimeout.isStarted()) {
12096              closeTimeout.start(delay, () => {
12097                store.setOpen(false, createChangeEventDetails(reason_parts_exports.siblingOpen));
12098              });
12099            }
12100          } else {
12101            store.setOpen(false, createChangeEventDetails(reason_parts_exports.siblingOpen));
12102          }
12103        } else {
12104          closeTimeout.clear();
12105        }
12106      }
12107      floatingTreeRoot.events.on("itemhover", onItemHover);
12108      return () => {
12109        floatingTreeRoot.events.off("itemhover", onItemHover);
12110      };
12111    }, [floatingTreeRoot.events, open2, triggerElement, store, closeTimeout]);
12112    React80.useEffect(() => {
12113      const eventDetails = {
12114        open: open2,
12115        nodeId: floatingNodeId,
12116        parentNodeId: floatingParentNodeId,
12117        reason: store.select("lastOpenChangeReason")
12118      };
12119      floatingTreeRoot.events.emit("menuopenchange", eventDetails);
12120    }, [floatingTreeRoot.events, open2, store, floatingNodeId, floatingParentNodeId]);
12121    useTriggerSwitchTransition({
12122      store,
12123      domReference,
12124      positionerElement,
12125      open: open2
12126    });
12127    const state = {
12128      open: open2,
12129      side: positioner.side,
12130      align: positioner.align,
12131      anchorHidden: positioner.anchorHidden,
12132      nested: parent.type === "menu",
12133      instant: instantType
12134    };
12135    const menubarModal = parent.type === "menubar" && parent.context.modal;
12136    const popupModal = modal && lastOpenChangeReason !== reason_parts_exports.triggerHover;
12137    useAnchoredPopupScrollLock(open2 && (menubarModal || popupModal), openMethod === "touch", positionerElement, triggerElement);
12138    const element = usePositioner(componentProps, state, {
12139      styles: positioner.positionerStyles,
12140      transitionStatus,
12141      props: elementProps,
12142      refs: [forwardedRef, store.useStateSetter("positionerElement")],
12143      hidden: !mounted,
12144      inert: !open2
12145    });
12146    const shouldRenderBackdrop = mounted && parent.type !== "menu" && (parent.type !== "menubar" && modal && lastOpenChangeReason !== reason_parts_exports.triggerHover || parent.type === "menubar" && parent.context.modal);
12147    let backdropCutout = null;
12148    if (parent.type === "menubar") {
12149      backdropCutout = parent.context.contentElement;
12150    } else if (parent.type === void 0) {
12151      backdropCutout = triggerElement;
12152    }
12153    return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(MenuPositionerContext.Provider, {
12154      value: positioner,
12155      children: [shouldRenderBackdrop && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(InternalBackdrop, {
12156        ref: parent.type === "context-menu" || parent.type === "nested-context-menu" ? parent.context.internalBackdropRef : null,
12157        inert: inertValue(!open2),
12158        cutout: backdropCutout
12159      }), /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(FloatingNode, {
12160        id: floatingNodeId,
12161        children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CompositeList, {
12162          elementsRef: store.context.itemDomElements,
12163          labelsRef: store.context.itemLabels,
12164          onMapChange: syncHighlightedItem,
12165          children: element
12166        })
12167      })]
12168    });
12169  });
12170  if (true) MenuPositioner.displayName = "MenuPositioner";
12171  
12172  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/radio-group/MenuRadioGroup.mjs
12173  var React82 = __toESM(require_react(), 1);
12174  
12175  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/radio-group/MenuRadioGroupContext.mjs
12176  var React81 = __toESM(require_react(), 1);
12177  var MenuRadioGroupContext = /* @__PURE__ */ React81.createContext(void 0);
12178  if (true) MenuRadioGroupContext.displayName = "MenuRadioGroupContext";
12179  function useMenuRadioGroupContext() {
12180    const context = React81.useContext(MenuRadioGroupContext);
12181    if (context === void 0) {
12182      throw new Error(true ? "Base UI: MenuRadioGroupContext is missing. MenuRadioGroup parts must be placed within <Menu.RadioGroup>." : formatErrorMessage_default(34));
12183    }
12184    return context;
12185  }
12186  
12187  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/radio-group/MenuRadioGroup.mjs
12188  var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);
12189  var MenuRadioGroupPlain = /* @__PURE__ */ React82.forwardRef(function MenuRadioGroupPlain2(componentProps, forwardedRef) {
12190    const {
12191      render,
12192      className,
12193      value: valueProp,
12194      defaultValue,
12195      onValueChange: onValueChangeProp,
12196      disabled: disabled2 = false,
12197      style,
12198      "aria-labelledby": ariaLabelledByProp,
12199      ...elementProps
12200    } = componentProps;
12201    const [labelId, setLabelId] = React82.useState(void 0);
12202    const [value, setValueUnwrapped] = useControlled({
12203      controlled: valueProp,
12204      default: defaultValue,
12205      name: "MenuRadioGroup"
12206    });
12207    const setValue = useStableCallback((newValue, eventDetails) => {
12208      onValueChangeProp?.(newValue, eventDetails);
12209      if (eventDetails.isCanceled) {
12210        return;
12211      }
12212      setValueUnwrapped(newValue);
12213    });
12214    const state = {
12215      disabled: disabled2
12216    };
12217    const element = useRenderElement("div", componentProps, {
12218      state,
12219      ref: forwardedRef,
12220      props: {
12221        role: "group",
12222        "aria-labelledby": ariaLabelledByProp ?? labelId,
12223        "aria-disabled": disabled2 || void 0,
12224        ...elementProps
12225      }
12226    });
12227    const context = React82.useMemo(() => ({
12228      value,
12229      setValue,
12230      disabled: disabled2
12231    }), [value, setValue, disabled2]);
12232    return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(MenuGroupContext.Provider, {
12233      value: setLabelId,
12234      children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(MenuRadioGroupContext.Provider, {
12235        value: context,
12236        children: element
12237      })
12238    });
12239  });
12240  if (true) MenuRadioGroupPlain.displayName = "MenuRadioGroupPlain";
12241  var MenuRadioGroup = /* @__PURE__ */ React82.memo(/* @__PURE__ */ React82.forwardRef(function MenuRadioGroup2(props, forwardedRef) {
12242    const RadioGroup2 = useMenuFilterImpl()?.RadioGroup ?? MenuRadioGroupPlain;
12243    return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(RadioGroup2, {
12244      ...props,
12245      ref: forwardedRef
12246    });
12247  }));
12248  if (true) MenuRadioGroup.displayName = "MenuRadioGroup";
12249  
12250  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/radio-item/MenuRadioItem.mjs
12251  var React84 = __toESM(require_react(), 1);
12252  
12253  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/radio-item/MenuRadioItemContext.mjs
12254  var React83 = __toESM(require_react(), 1);
12255  var MenuRadioItemContext = /* @__PURE__ */ React83.createContext(void 0);
12256  if (true) MenuRadioItemContext.displayName = "MenuRadioItemContext";
12257  function useMenuRadioItemContext() {
12258    const context = React83.useContext(MenuRadioItemContext);
12259    if (context === void 0) {
12260      throw new Error(true ? "Base UI: MenuRadioItemContext is missing. MenuRadioItem parts must be placed within <Menu.RadioItem>." : formatErrorMessage_default(35));
12261    }
12262    return context;
12263  }
12264  
12265  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/radio-item/MenuRadioItem.mjs
12266  var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1);
12267  var MenuRadioItemPlain = /* @__PURE__ */ React84.forwardRef(function MenuRadioItemPlain2(componentProps, forwardedRef) {
12268    const {
12269      render,
12270      className,
12271      id: idProp,
12272      label,
12273      nativeButton = false,
12274      disabled: disabledProp = false,
12275      closeOnClick = false,
12276      value,
12277      style,
12278      ...elementProps
12279    } = componentProps;
12280    const {
12281      store
12282    } = useMenuRootContext();
12283    const {
12284      value: selectedValue,
12285      setValue: setSelectedValue,
12286      disabled: groupDisabled
12287    } = useMenuRadioGroupContext();
12288    const listItem = useCompositeListItem({
12289      guess: true,
12290      label
12291    });
12292    const id = useBaseUiId(idProp);
12293    const highlighted = store.useState("isActive", listItem.index);
12294    const nodeId = store.useState("floatingNodeId");
12295    const itemProps = store.useState("itemProps");
12296    const rootDisabled = store.useState("disabled");
12297    const disabled2 = disabledProp || groupDisabled || rootDisabled;
12298    const checked2 = selectedValue === value;
12299    const {
12300      getItemProps,
12301      itemRef
12302    } = useMenuItem({
12303      closeOnClick,
12304      disabled: disabled2,
12305      highlighted,
12306      id,
12307      store,
12308      nativeButton,
12309      nodeId,
12310      itemMetadata: REGULAR_ITEM
12311    });
12312    const state = React84.useMemo(() => ({
12313      disabled: disabled2,
12314      highlighted,
12315      checked: checked2
12316    }), [disabled2, highlighted, checked2]);
12317    function handleClick(event) {
12318      const details = createChangeEventDetails(reason_parts_exports.itemPress, event.nativeEvent, void 0, {
12319        preventUnmountOnClose: NOOP
12320      });
12321      setSelectedValue(value, details);
12322    }
12323    const element = useRenderElement("div", componentProps, {
12324      state,
12325      stateAttributesMapping: itemMapping,
12326      props: [itemProps, {
12327        role: "menuitemradio",
12328        "aria-checked": checked2,
12329        onClick: handleClick
12330      }, elementProps, getItemProps],
12331      ref: [itemRef, forwardedRef, listItem.ref]
12332    });
12333    return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(MenuRadioItemContext.Provider, {
12334      value: state,
12335      children: element
12336    });
12337  });
12338  if (true) MenuRadioItemPlain.displayName = "MenuRadioItemPlain";
12339  var MenuRadioItem = /* @__PURE__ */ React84.forwardRef(function MenuRadioItem2(props, forwardedRef) {
12340    const filterItem = useMenuFilterItem(props, forwardedRef);
12341    if (!filterItem.visible) {
12342      return null;
12343    }
12344    return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(MenuRadioItemPlain, {
12345      ...props,
12346      ref: filterItem.ref
12347    });
12348  });
12349  if (true) MenuRadioItem.displayName = "MenuRadioItem";
12350  
12351  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/radio-item-indicator/MenuRadioItemIndicator.mjs
12352  var React85 = __toESM(require_react(), 1);
12353  var MenuRadioItemIndicator = /* @__PURE__ */ React85.forwardRef(function MenuRadioItemIndicator2(componentProps, forwardedRef) {
12354    const {
12355      render,
12356      className,
12357      style,
12358      keepMounted = false,
12359      ...elementProps
12360    } = componentProps;
12361    const item = useMenuRadioItemContext();
12362    const indicatorRef = React85.useRef(null);
12363    const {
12364      transitionStatus,
12365      mounted,
12366      setMounted
12367    } = useTransitionStatus(item.checked);
12368    useOpenChangeComplete({
12369      batch: true,
12370      enabled: !item.checked,
12371      open: item.checked,
12372      ref: indicatorRef,
12373      onComplete() {
12374        if (!item.checked) {
12375          setMounted(false);
12376        }
12377      }
12378    });
12379    const state = {
12380      checked: item.checked,
12381      disabled: item.disabled,
12382      highlighted: item.highlighted,
12383      transitionStatus
12384    };
12385    const element = useRenderElement("span", componentProps, {
12386      state,
12387      stateAttributesMapping: itemMapping,
12388      ref: [forwardedRef, indicatorRef],
12389      props: {
12390        "aria-hidden": true,
12391        ...elementProps
12392      },
12393      enabled: keepMounted || mounted
12394    });
12395    return element;
12396  });
12397  if (true) MenuRadioItemIndicator.displayName = "MenuRadioItemIndicator";
12398  
12399  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/root/MenuRoot.mjs
12400  var React89 = __toESM(require_react(), 1);
12401  
12402  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menubar/MenubarContext.mjs
12403  var React86 = __toESM(require_react(), 1);
12404  var MenubarContext = /* @__PURE__ */ React86.createContext(null);
12405  if (true) MenubarContext.displayName = "MenubarContext";
12406  function useMenubarContext(optional) {
12407    const context = React86.useContext(MenubarContext);
12408    if (context === null && !optional) {
12409      throw new Error(true ? "Base UI: MenubarContext is missing. Menubar parts must be placed within <Menubar>." : formatErrorMessage_default(5));
12410    }
12411    return context;
12412  }
12413  
12414  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/store/MenuStore.mjs
12415  var React87 = __toESM(require_react(), 1);
12416  var selectors2 = {
12417    ...popupStoreSelectors,
12418    disabled: (state) => state.parent.type === "menubar" ? state.parent.context.disabled || state.disabled : state.disabled,
12419    modal: (state) => (state.parent.type === void 0 || state.parent.type === "context-menu") && (state.modal ?? true),
12420    openMethod: (state) => state.openMethod,
12421    keyboardOpen: (state) => state.keyboardOpen,
12422    allowMouseEnter: (state) => state.allowMouseEnter,
12423    highlightItemOnHover: (state) => state.highlightItemOnHover,
12424    parent: (state) => state.parent,
12425    rootId: (state) => {
12426      if (state.parent.type === "menu") {
12427        return state.parent.store.select("rootId");
12428      }
12429      return state.parent.type !== void 0 ? state.parent.context.rootId : state.rootId;
12430    },
12431    activeIndex: (state) => state.activeIndex,
12432    listElement: (state) => state.listElement,
12433    /** The trigger's `aria-controls`: the list when one holds the `menu` role, else the popup. */
12434    triggerControlsId: (state, triggerId) => {
12435      const popupId = popupStoreSelectors.triggerPopupId(state, triggerId);
12436      return popupId ? state.listElement?.id || popupId : void 0;
12437    },
12438    filterTriggerProps: (state) => state.filterTriggerProps,
12439    inputProps: (state) => state.inputProps,
12440    // `aria-selected` is invalid on `menuitem`, but Safari VoiceOver needs it for arrow-key
12441    // navigation. Limit it to WebKit while the input has focus so normal VoiceOver navigation
12442    // does not encounter the invalid attribute.
12443    webkitAriaSelected: (state, highlighted) => parts_exports.engine.webkit && state.inputFocused && highlighted ? true : void 0,
12444    highlightedItemId: (state) => state.highlightedItem?.id || void 0,
12445    isActive: (state, itemIndex) => state.activeIndex === itemIndex,
12446    hoverEnabled: (state) => state.hoverEnabled,
12447    // `trigger-change` describes a popup moving between triggers, which only has
12448    // meaning while it is open. Dropping it once closed keeps a late or stale
12449    // restoration from marking a closing popup instant and skipping its exit
12450    // transition, including on close paths that never reach `setOpen` — a
12451    // controlled consumer committing `open={false}` goes straight through the prop.
12452    instantType: (state) => state.instantType === "trigger-change" && !popupStoreSelectors.open(state) ? void 0 : state.instantType,
12453    lastOpenChangeReason: (state) => state.openChangeReason,
12454    floatingTreeRoot: (state) => {
12455      if (state.parent.type === "menu") {
12456        return state.parent.store.select("floatingTreeRoot");
12457      }
12458      return state.floatingTreeRoot;
12459    },
12460    floatingNodeId: (state) => state.floatingNodeId,
12461    floatingParentNodeId: (state) => state.floatingParentNodeId,
12462    itemProps: (state) => state.itemProps,
12463    closeDelay: (state) => state.closeDelay,
12464    adaptiveOrigin: (state) => state.adaptiveOrigin,
12465    keyboardEventRelay: (state) => {
12466      if (state.keyboardEventRelay) {
12467        return state.keyboardEventRelay;
12468      }
12469      if (state.parent.type === "menu") {
12470        return state.parent.store.select("keyboardEventRelay");
12471      }
12472      return void 0;
12473    }
12474  };
12475  var MenuStore = class extends ReactStore {
12476    constructor(initialState, floatingId, nested = false) {
12477      const triggerElements = new PopupTriggerMap();
12478      const state = createInitialState(triggerElements, floatingId, nested, initialState);
12479      super(state, createInitialContext(triggerElements), selectors2);
12480      void this.observe("parent", (parent) => {
12481        if (parent.type === "menu") {
12482          this.context.allowMouseUpTriggerRef = parent.store.context.allowMouseUpTriggerRef;
12483        } else if (parent.type !== void 0) {
12484          this.context.allowMouseUpTriggerRef = parent.context.allowMouseUpTriggerRef;
12485        }
12486      });
12487    }
12488    /**
12489     * Propagates changes of the parent menu's shared tree state to this store's subscribers.
12490     * The owning `Menu.Root` calls it from an effect so the parent store subscription is released
12491     * when the submenu unmounts.
12492     * @returns A function that removes the parent store subscription.
12493     */
12494    subscribeToParentMenu() {
12495      const parent = this.state.parent;
12496      if (parent.type !== "menu") {
12497        return void 0;
12498      }
12499      let rootId = parent.store.select("rootId");
12500      let floatingTreeRoot = parent.store.select("floatingTreeRoot");
12501      let keyboardEventRelay = parent.store.select("keyboardEventRelay");
12502      return parent.store.subscribe(() => {
12503        const nextRootId = parent.store.select("rootId");
12504        const nextFloatingTreeRoot = parent.store.select("floatingTreeRoot");
12505        const nextKeyboardEventRelay = parent.store.select("keyboardEventRelay");
12506        if (rootId === nextRootId && floatingTreeRoot === nextFloatingTreeRoot && keyboardEventRelay === nextKeyboardEventRelay) {
12507          return;
12508        }
12509        rootId = nextRootId;
12510        floatingTreeRoot = nextFloatingTreeRoot;
12511        keyboardEventRelay = nextKeyboardEventRelay;
12512        this.notifyAll();
12513      });
12514    }
12515    setOpen(open2, eventDetails) {
12516      this.state.floatingRootContext.context.events.emit("setOpen", {
12517        open: open2,
12518        eventDetails
12519      });
12520    }
12521    setActiveIndex(activeIndex, reason, event) {
12522      if (this.state.activeIndex !== activeIndex) {
12523        const item = activeIndex === null ? void 0 : this.context.itemDomElements.current[activeIndex];
12524        const isWriteBack = item === this.context.reportedItem;
12525        this.context.highlightReason = isWriteBack ? "none" : reason;
12526        this.context.highlightEvent = isWriteBack ? void 0 : event;
12527      }
12528      this.set("activeIndex", activeIndex);
12529    }
12530    highlightItem(element, reason, event) {
12531      const index2 = this.context.itemDomElements.current.indexOf(element);
12532      if (index2 > -1) {
12533        this.setActiveIndex(index2, reason, event);
12534      }
12535    }
12536  };
12537  function createNullMenuStore() {
12538    const triggerElements = new PopupTriggerMap();
12539    const store = new NullStore(Object.freeze(createInitialState(triggerElements)), Object.freeze(createInitialContext(triggerElements)), selectors2);
12540    return Object.assign(store, {
12541      setOpen: NOOP
12542    });
12543  }
12544  function createInitialContext(triggerElements) {
12545    return {
12546      positionerRef: /* @__PURE__ */ React87.createRef(),
12547      popupRef: /* @__PURE__ */ React87.createRef(),
12548      typingRef: {
12549        current: false
12550      },
12551      itemDomElements: {
12552        current: []
12553      },
12554      itemLabels: {
12555        current: []
12556      },
12557      highlightReason: "none",
12558      highlightEvent: void 0,
12559      reportedItem: void 0,
12560      allowMouseUpTriggerRef: {
12561        current: false
12562      },
12563      virtualFocusRef: void 0,
12564      triggerFocusTargetRef: /* @__PURE__ */ React87.createRef(),
12565      beforeTriggerFocusGuardRef: /* @__PURE__ */ React87.createRef(),
12566      beforeContentFocusGuardRef: /* @__PURE__ */ React87.createRef(),
12567      onOpenChangeComplete: void 0,
12568      triggerElements
12569    };
12570  }
12571  function createInitialState(triggerElements, floatingId, nested = false, initialState) {
12572    return {
12573      ...createInitialPopupStoreState(triggerElements, floatingId, nested),
12574      disabled: false,
12575      modal: true,
12576      openMethod: null,
12577      keyboardOpen: false,
12578      allowMouseEnter: false,
12579      highlightItemOnHover: true,
12580      parent: {
12581        type: void 0
12582      },
12583      rootId: void 0,
12584      activeIndex: null,
12585      listElement: null,
12586      filterTriggerProps: EMPTY_OBJECT,
12587      inputProps: EMPTY_OBJECT,
12588      inputFocused: false,
12589      highlightedItem: void 0,
12590      hoverEnabled: true,
12591      instantType: void 0,
12592      openChangeReason: null,
12593      floatingTreeRoot: new FloatingTreeStore(),
12594      floatingNodeId: void 0,
12595      floatingParentNodeId: null,
12596      itemProps: EMPTY_OBJECT,
12597      keyboardEventRelay: void 0,
12598      closeDelay: 0,
12599      adaptiveOrigin: void 0,
12600      ...initialState
12601    };
12602  }
12603  
12604  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-provider/MenuFilterProviderContext.mjs
12605  var React88 = __toESM(require_react(), 1);
12606  var MenuFilterProviderContext = /* @__PURE__ */ React88.createContext(null);
12607  if (true) MenuFilterProviderContext.displayName = "MenuFilterProviderContext";
12608  
12609  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/utils/isKeyboardOpen.mjs
12610  function isKeyboardClick(reason, event) {
12611    return (reason === reason_parts_exports.triggerPress || reason === reason_parts_exports.itemPress) && event?.detail === 0;
12612  }
12613  function isKeyboardOpen(reason, event) {
12614    return reason === reason_parts_exports.listNavigation || isKeyboardClick(reason, event);
12615  }
12616  
12617  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/root/MenuRoot.mjs
12618  var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1);
12619  var MenuRootInternal = fastComponent(function MenuRootInternal2(props) {
12620    const {
12621      children,
12622      open: openProp,
12623      onOpenChange,
12624      onOpenChangeComplete,
12625      onItemHighlighted: onItemHighlightedProp,
12626      defaultOpen = false,
12627      disabled: disabledProp = false,
12628      modal: modalProp,
12629      loopFocus = true,
12630      orientation = "vertical",
12631      actionsRef,
12632      closeParentOnEsc = false,
12633      handle,
12634      triggerId: triggerIdProp,
12635      defaultTriggerId: defaultTriggerIdProp = null,
12636      highlightItemOnHover = true,
12637      isSubmenu = false,
12638      virtualFocus = false,
12639      virtualFocusRef,
12640      allowEscape = true,
12641      resetOnPointerLeave = true
12642    } = props;
12643    const contextMenuContext = useContextMenuRootContext(true);
12644    const parentMenuRootContext = useMenuRootContext(true);
12645    const menubarContext = useMenubarContext(true);
12646    const enclosingMenuStore = parentMenuRootContext?.store;
12647    const parentVirtualFocus = parentMenuRootContext?.virtualFocus ?? false;
12648    const parentFromContext = React89.useMemo(() => {
12649      if (isSubmenu && enclosingMenuStore) {
12650        return {
12651          type: "menu",
12652          store: enclosingMenuStore
12653        };
12654      }
12655      if (menubarContext) {
12656        return {
12657          type: "menubar",
12658          context: menubarContext
12659        };
12660      }
12661      if (contextMenuContext && !enclosingMenuStore) {
12662        return {
12663          type: "context-menu",
12664          context: contextMenuContext
12665        };
12666      }
12667      return {
12668        type: void 0
12669      };
12670    }, [contextMenuContext, enclosingMenuStore, menubarContext, isSubmenu]);
12671    const rootId = useBaseUiId();
12672    const defaultFloatingId = useBaseUiId();
12673    const [renderedFloatingId, setRenderedFloatingId] = React89.useState(void 0);
12674    const floatingId = (renderedFloatingId ?? defaultFloatingId) || void 0;
12675    const floatingParentNodeIdFromContext = useFloatingParentNodeId();
12676    const parentMenuStore = parentFromContext.type === "menu" ? parentFromContext.store : void 0;
12677    const animateInitialOpen = (openProp ?? defaultOpen) && parentMenuStore?.state.transitionStatus === "starting";
12678    const seededInstantType = useRefWithInit(() => animateInitialOpen ? parentMenuStore?.state.instantType : void 0).current;
12679    const store = useRefWithInit(() => {
12680      const menuStore = new MenuStore({
12681        open: defaultOpen,
12682        openProp,
12683        activeTriggerId: defaultTriggerIdProp,
12684        triggerIdProp,
12685        parent: parentFromContext,
12686        disabled: disabledProp,
12687        highlightItemOnHover,
12688        modal: parentFromContext.type === void 0 ? modalProp : void 0,
12689        rootId,
12690        instantType: seededInstantType
12691      }, floatingId, floatingParentNodeIdFromContext != null);
12692      menuStore.context.virtualFocusRef = virtualFocusRef;
12693      return menuStore;
12694    }).current;
12695    store.useControlledProp("openProp", openProp);
12696    store.useControlledProp("triggerIdProp", triggerIdProp);
12697    store.useContextCallback("onOpenChangeComplete", onOpenChangeComplete);
12698    const floatingTreeRoot = store.useState("floatingTreeRoot");
12699    const floatingNodeIdFromContext = useFloatingNodeId(floatingTreeRoot);
12700    const open2 = store.useState("open");
12701    const activeTriggerElement = store.useState("activeTriggerElement");
12702    const positionerElement = store.useState("positionerElement");
12703    const hoverEnabled = store.useState("hoverEnabled");
12704    const disabled2 = store.useState("disabled");
12705    const lastOpenChangeReason = store.useState("lastOpenChangeReason");
12706    const parent = store.useState("parent");
12707    const activeIndex = store.useState("activeIndex");
12708    const keyboardOpen = store.useState("keyboardOpen");
12709    const payload = store.useState("payload");
12710    const floatingParentNodeId = store.useState("floatingParentNodeId");
12711    const openEventRef = React89.useRef(null);
12712    const allowOutsidePressDismissalRef = React89.useRef(parent.type !== "context-menu");
12713    const allowOutsidePressDismissalTimeout = useTimeout();
12714    const allowTouchToCloseRef = React89.useRef(true);
12715    const allowTouchToCloseTimeout = useTimeout();
12716    const nested = floatingParentNodeId != null;
12717    if (true) {
12718      if (parent.type !== void 0 && modalProp !== void 0) {
12719        console.warn("Base UI: The `modal` prop is not supported on nested menus. It will be ignored.");
12720      }
12721    }
12722    const {
12723      openMethod,
12724      triggerProps: interactionTypeProps
12725    } = useOpenInteractionType(open2);
12726    store.useSyncedValues({
12727      disabled: disabledProp,
12728      highlightItemOnHover,
12729      modal: parent.type === void 0 ? modalProp : void 0,
12730      openMethod,
12731      rootId
12732    });
12733    useImplicitActiveTrigger(store);
12734    const {
12735      forceUnmount,
12736      transitionStatus
12737    } = useOpenStateTransitions(open2, store, () => {
12738      store.set("allowMouseEnter", false);
12739    }, animateInitialOpen);
12740    const runOnceAnimationsFinish = useAnimationsFinished(store.context.popupRef);
12741    React89.useEffect(() => {
12742      if (seededInstantType === void 0) {
12743        return void 0;
12744      }
12745      const clearSeededInstantType = () => {
12746        if (store.state.instantType === seededInstantType) {
12747          store.set("instantType", void 0);
12748        }
12749      };
12750      if (!open2) {
12751        clearSeededInstantType();
12752        return void 0;
12753      }
12754      if (transitionStatus !== void 0) {
12755        return void 0;
12756      }
12757      if (store.context.popupRef.current == null) {
12758        clearSeededInstantType();
12759        return void 0;
12760      }
12761      const abortController = new AbortController();
12762      runOnceAnimationsFinish(clearSeededInstantType, abortController.signal);
12763      return () => {
12764        abortController.abort();
12765      };
12766    }, [seededInstantType, open2, transitionStatus, runOnceAnimationsFinish, store]);
12767    useIsoLayoutEffect(() => {
12768      if (contextMenuContext && !parentMenuRootContext) {
12769        store.update({
12770          parent: {
12771            type: "context-menu",
12772            context: contextMenuContext
12773          },
12774          floatingNodeId: floatingNodeIdFromContext,
12775          floatingParentNodeId: floatingParentNodeIdFromContext
12776        });
12777      } else if (parentMenuRootContext || !store.select("activeTriggerElement")) {
12778        store.update({
12779          floatingNodeId: floatingNodeIdFromContext,
12780          floatingParentNodeId: floatingParentNodeIdFromContext
12781        });
12782      }
12783    }, [contextMenuContext, parentMenuRootContext, floatingNodeIdFromContext, floatingParentNodeIdFromContext, activeTriggerElement, store]);
12784    React89.useEffect(() => {
12785      if (!open2) {
12786        openEventRef.current = null;
12787      }
12788      if (parent.type !== "context-menu") {
12789        return;
12790      }
12791      if (!open2) {
12792        allowOutsidePressDismissalTimeout.clear();
12793        allowOutsidePressDismissalRef.current = false;
12794        return;
12795      }
12796      allowOutsidePressDismissalTimeout.start(500, () => {
12797        allowOutsidePressDismissalRef.current = true;
12798      });
12799    }, [allowOutsidePressDismissalTimeout, open2, parent.type]);
12800    useIsoLayoutEffect(() => {
12801      if (!open2 && !hoverEnabled) {
12802        store.set("hoverEnabled", true);
12803      }
12804    }, [open2, hoverEnabled, store]);
12805    const setOpen = useStableCallback((nextOpen, eventDetails) => {
12806      const reason = eventDetails.reason;
12807      if (!nextOpen && !store.select("open")) {
12808        return;
12809      }
12810      if (open2 === nextOpen && eventDetails.trigger === activeTriggerElement && lastOpenChangeReason === reason) {
12811        return;
12812      }
12813      const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(eventDetails);
12814      if (!nextOpen && eventDetails.trigger == null) {
12815        eventDetails.trigger = activeTriggerElement ?? void 0;
12816      }
12817      onOpenChange?.(nextOpen, eventDetails);
12818      if (eventDetails.isCanceled) {
12819        return;
12820      }
12821      store.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails);
12822      const nativeEvent = eventDetails.event;
12823      if (nextOpen === false && reason !== reason_parts_exports.itemPress && nativeEvent?.type === "click" && nativeEvent.pointerType === "touch" && !allowTouchToCloseRef.current) {
12824        return;
12825      }
12826      if (nextOpen && reason === reason_parts_exports.triggerFocus) {
12827        allowTouchToCloseRef.current = false;
12828        allowTouchToCloseTimeout.start(300, () => {
12829          allowTouchToCloseRef.current = true;
12830        });
12831      } else {
12832        allowTouchToCloseRef.current = true;
12833        allowTouchToCloseTimeout.clear();
12834      }
12835      const isDismissClose = !nextOpen && (reason === reason_parts_exports.escapeKey || reason == null);
12836      openEventRef.current = eventDetails.event;
12837      const popupOpenState = createPopupOpenState(store.state, nextOpen, eventDetails.trigger, shouldPreventUnmountOnClose());
12838      popupOpenState.openChangeReason = reason;
12839      popupOpenState.keyboardOpen = nextOpen && isKeyboardOpen(reason, nativeEvent);
12840      if (parent.type === "menubar" && (reason === reason_parts_exports.triggerFocus || reason === reason_parts_exports.focusOut || reason === reason_parts_exports.triggerHover || reason === reason_parts_exports.listNavigation || reason === reason_parts_exports.siblingOpen)) {
12841        popupOpenState.instantType = "group";
12842      } else if (isKeyboardClick(reason, nativeEvent)) {
12843        popupOpenState.instantType = "click";
12844      } else if (isDismissClose) {
12845        popupOpenState.instantType = "dismiss";
12846      } else {
12847        popupOpenState.instantType = void 0;
12848      }
12849      store.update(popupOpenState);
12850    });
12851    const floatingRootContext = useSyncedFloatingRootContext({
12852      popupStore: store,
12853      floatingRootContext: store.state.floatingRootContext,
12854      floatingId,
12855      nested: floatingParentNodeIdFromContext != null,
12856      onOpenChange: setOpen
12857    });
12858    const floatingEvents = floatingRootContext.context.events;
12859    useIsoLayoutEffect(() => {
12860      const handleSetOpenEvent = ({
12861        open: nextOpen,
12862        eventDetails
12863      }) => setOpen(nextOpen, eventDetails);
12864      floatingEvents.on("setOpen", handleSetOpenEvent);
12865      return () => {
12866        floatingEvents?.off("setOpen", handleSetOpenEvent);
12867      };
12868    }, [floatingEvents, setOpen]);
12869    useIsoLayoutEffect(() => store.subscribeToParentMenu(), [store]);
12870    const handleImperativeClose = React89.useCallback(() => {
12871      store.setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction));
12872    }, [store]);
12873    React89.useImperativeHandle(actionsRef, () => ({
12874      unmount: forceUnmount,
12875      close: handleImperativeClose
12876    }), [forceUnmount, handleImperativeClose]);
12877    let ctx;
12878    if (parent.type === "context-menu") {
12879      ctx = parent.context;
12880    }
12881    React89.useImperativeHandle(ctx?.positionerRef, () => positionerElement, [positionerElement]);
12882    React89.useImperativeHandle(ctx?.actionsRef, () => ({
12883      setOpen
12884    }), [setOpen]);
12885    const dismiss = useDismiss(floatingRootContext, {
12886      enabled: !disabled2,
12887      bubbles: {
12888        escapeKey: closeParentOnEsc && parent.type === "menu"
12889      },
12890      outsidePress() {
12891        if (parent.type !== "context-menu" || openEventRef.current?.type === "contextmenu") {
12892          return true;
12893        }
12894        return allowOutsidePressDismissalRef.current;
12895      },
12896      externalTree: nested ? floatingTreeRoot : void 0
12897    });
12898    const direction = useDirection();
12899    const listNavigation2 = useListNavigation(floatingRootContext, {
12900      enabled: !disabled2,
12901      listRef: store.context.itemDomElements,
12902      activeIndex,
12903      virtual: virtualFocus,
12904      nested: parent.type === "menubar" || !virtualFocus && parent.type !== void 0,
12905      parentOrientation: parent.type === "menubar" ? parent.context.orientation : void 0,
12906      loopFocus,
12907      // Filtered menus keep DOM focus on the input, while keyboard and virtual opens initially
12908      // highlight an item as ordinary menus do. The input stays in the arrow-key loop unless the
12909      // filter highlights automatically.
12910      focusItemOnOpen: virtualFocus ? keyboardOpen : void 0,
12911      allowEscape: virtualFocus && loopFocus && allowEscape,
12912      orientation,
12913      // A virtual-focus list can navigate on either axis, but its trigger always opens on the
12914      // vertical one.
12915      triggerOrientation: virtualFocus ? "vertical" : orientation,
12916      rtl: direction === "rtl",
12917      disabledIndices: EMPTY_ARRAY,
12918      onNavigate(nextActiveIndex, event) {
12919        store.setActiveIndex(nextActiveIndex, getHighlightReason(event), event?.nativeEvent);
12920      },
12921      // A virtual-focus submenu's keyboard opening is orchestrated by its navigation wrapper based
12922      // on both menus' orientations; the generic arrow-key opening would also react to the parent's
12923      // forwarded cross-axis keys while closed.
12924      openOnArrowKeyDown: parent.type !== "context-menu" && !(virtualFocus && isSubmenu),
12925      externalTree: !virtualFocus && nested ? floatingTreeRoot : void 0,
12926      nestedReturnFocusRef: parentMenuStore?.context.virtualFocusRef,
12927      focusItemOnHover: highlightItemOnHover,
12928      resetOnPointerLeave
12929    });
12930    const onTyping = React89.useCallback((nextTyping) => {
12931      store.context.typingRef.current = nextTyping;
12932    }, [store]);
12933    const typeahead = useTypeahead(floatingRootContext, {
12934      // Under virtual focus the input owns typing, so typeahead would race the filter query.
12935      enabled: !disabled2 && !virtualFocus,
12936      listRef: store.context.itemLabels,
12937      elementsRef: store.context.itemDomElements,
12938      activeIndex,
12939      resetMs: TYPEAHEAD_RESET_MS,
12940      onMatch: (index2, event) => {
12941        if (open2 && index2 !== activeIndex) {
12942          store.setActiveIndex(index2, reason_parts_exports.keyboard, event.nativeEvent);
12943        }
12944      },
12945      onTyping
12946    });
12947    const onItemHighlighted = useStableCallback(onItemHighlightedProp);
12948    const lastHighlightIndexRef = React89.useRef(-1);
12949    const syncHighlightedItem = useStableCallback(() => {
12950      const index2 = store.state.activeIndex;
12951      const item = index2 === null ? void 0 : store.context.itemDomElements.current[index2] ?? void 0;
12952      if (item?.isConnected === false) {
12953        return;
12954      }
12955      const itemIndex = item === void 0 ? -1 : index2;
12956      if (lastHighlightIndexRef.current === itemIndex && store.context.reportedItem === item) {
12957        return;
12958      }
12959      lastHighlightIndexRef.current = itemIndex;
12960      store.context.reportedItem = item;
12961      if (virtualFocus) {
12962        store.set("highlightedItem", item);
12963      }
12964      const {
12965        highlightReason,
12966        highlightEvent
12967      } = store.context;
12968      store.context.highlightReason = reason_parts_exports.none;
12969      store.context.highlightEvent = void 0;
12970      if (!onItemHighlightedProp) {
12971        return;
12972      }
12973      onItemHighlighted(item, createGenericEventDetails(highlightReason, highlightEvent, {
12974        label: item === void 0 ? void 0 : store.context.itemLabels.current[itemIndex] ?? void 0
12975      }));
12976    });
12977    useIsoLayoutEffect(() => {
12978      syncHighlightedItem();
12979    }, [activeIndex, syncHighlightedItem]);
12980    const openTriggerProps = React89.useMemo(() => {
12981      if (!virtualFocus) {
12982        return listNavigation2.reference;
12983      }
12984      if (!listNavigation2.trigger) {
12985        return EMPTY_OBJECT;
12986      }
12987      const {
12988        onFocus,
12989        ...rest
12990      } = listNavigation2.trigger;
12991      return rest;
12992    }, [virtualFocus, listNavigation2.reference, listNavigation2.trigger]);
12993    store.useSyncedValue("inputProps", virtualFocus ? listNavigation2.reference ?? EMPTY_OBJECT : EMPTY_OBJECT);
12994    const activeTriggerProps = React89.useMemo(() => {
12995      const mergedProps = mergeProps(typeahead.reference, openTriggerProps, dismiss.reference, {
12996        onMouseMove() {
12997          store.set("allowMouseEnter", true);
12998        }
12999      }, interactionTypeProps);
13000      mergedProps["aria-haspopup"] = "menu";
13001      mergedProps["aria-expanded"] = open2;
13002      return mergedProps;
13003    }, [store, typeahead.reference, openTriggerProps, dismiss.reference, interactionTypeProps, open2]);
13004    const inactiveTriggerProps = React89.useMemo(() => {
13005      const mergedProps = mergeProps(listNavigation2.trigger, dismiss.trigger, interactionTypeProps);
13006      mergedProps["aria-haspopup"] = "menu";
13007      mergedProps["aria-expanded"] = false;
13008      return mergedProps;
13009    }, [listNavigation2.trigger, dismiss.trigger, interactionTypeProps]);
13010    useRefWithInit(() => {
13011      store.update({
13012        inactiveTriggerProps
13013      });
13014      return null;
13015    });
13016    const popupProps = React89.useMemo(() => mergeProps(FOCUSABLE_POPUP_PROPS, {
13017      onMouseMove() {
13018        store.set("allowMouseEnter", true);
13019        if (parent.type === "menu") {
13020          store.set("hoverEnabled", false);
13021        }
13022      },
13023      onClick() {
13024        if (store.select("hoverEnabled")) {
13025          store.set("hoverEnabled", false);
13026        }
13027      },
13028      onKeyDown(event) {
13029        const relay = store.select("keyboardEventRelay");
13030        if (relay && !event.isPropagationStopped()) {
13031          relay(event);
13032        }
13033      }
13034    }, typeahead.floating, listNavigation2.floating, dismiss.floating), [parent.type, store, typeahead.floating, listNavigation2.floating, dismiss.floating]);
13035    const itemProps = listNavigation2.item ?? EMPTY_OBJECT;
13036    usePopupInteractionProps(store, {
13037      floatingRootContext,
13038      activeTriggerProps,
13039      inactiveTriggerProps,
13040      popupProps,
13041      itemProps
13042    });
13043    const context = React89.useMemo(() => ({
13044      store,
13045      parent: parentFromContext,
13046      orientation,
13047      loopFocus,
13048      allowEscape,
13049      defaultFloatingId,
13050      setRenderedFloatingId,
13051      virtualFocus,
13052      parentVirtualFocus,
13053      syncHighlightedItem
13054    }), [store, parentFromContext, orientation, loopFocus, allowEscape, defaultFloatingId, virtualFocus, parentVirtualFocus, syncHighlightedItem]);
13055    const renderedChildren = typeof children === "function" ? children({
13056      payload
13057    }) : children;
13058    let content = /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(MenuRootContext.Provider, {
13059      value: context,
13060      children: [handle && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(PopupHandleAttachment, {
13061        handle,
13062        store
13063      }), renderedChildren]
13064    });
13065    if (parent.type === void 0 || parent.type === "context-menu") {
13066      content = /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(FloatingTree, {
13067        externalTree: floatingTreeRoot,
13068        children: content
13069      });
13070    }
13071    return content;
13072  });
13073  if (true) MenuRootInternal.displayName = "MenuRootInternal";
13074  function MenuRoot(props) {
13075    const filterProvider = React89.useContext(MenuFilterProviderContext);
13076    if (filterProvider === null) {
13077      return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(MenuRootInternal, {
13078        ...props
13079      });
13080    }
13081    const FilterRoot = filterProvider.Root;
13082    return (
13083      // The root consumes its provider so a plain submenu inside doesn't inherit it.
13084      /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(MenuFilterProviderContext.Provider, {
13085        value: null,
13086        children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(FilterRoot, {
13087          ...filterProvider.options,
13088          ...props
13089        })
13090      })
13091    );
13092  }
13093  
13094  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/submenu-root/MenuSubmenuRoot.mjs
13095  var React90 = __toESM(require_react(), 1);
13096  var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1);
13097  var EMPTY_SUBMENU_ROOT_CONTEXT = {};
13098  function MenuSubmenuRoot(props) {
13099    useMenuRootContext();
13100    const filterProvider = React90.useContext(MenuFilterProviderContext);
13101    if (filterProvider !== null) {
13102      const FilterSubmenuRoot = filterProvider.SubmenuRoot;
13103      return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(MenuFilterProviderContext.Provider, {
13104        value: null,
13105        children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(FilterSubmenuRoot, {
13106          ...filterProvider.options,
13107          ...props
13108        })
13109      });
13110    }
13111    return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(MenuSubmenuRootContext.Provider, {
13112      value: EMPTY_SUBMENU_ROOT_CONTEXT,
13113      children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(MenuRootInternal, {
13114        ...props,
13115        isSubmenu: true
13116      })
13117    });
13118  }
13119  
13120  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/trigger/MenuTrigger.mjs
13121  var React93 = __toESM(require_react(), 1);
13122  
13123  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/item/useCompositeItem.mjs
13124  var React91 = __toESM(require_react(), 1);
13125  function useCompositeItem(params = {}) {
13126    const {
13127      highlightItemOnHover,
13128      highlightedIndex,
13129      onHighlightedIndexChange
13130    } = useCompositeRootContext();
13131    const {
13132      ref,
13133      index: index2
13134    } = useCompositeListItem(params);
13135    const isHighlighted = highlightedIndex === index2;
13136    const itemRef = React91.useRef(null);
13137    const mergedRef = useMergedRefs(ref, itemRef);
13138    const compositeProps = {
13139      tabIndex: isHighlighted ? 0 : -1,
13140      onFocus() {
13141        onHighlightedIndexChange(index2);
13142      },
13143      onMouseMove() {
13144        const item = itemRef.current;
13145        if (!highlightItemOnHover || !item) {
13146          return;
13147        }
13148        const disabled2 = item.hasAttribute("disabled") || item.ariaDisabled === "true";
13149        if (!isHighlighted && !disabled2) {
13150          item.focus();
13151        }
13152      }
13153    };
13154    return {
13155      compositeProps,
13156      compositeRef: mergedRef,
13157      index: index2
13158    };
13159  }
13160  
13161  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/item/CompositeItem.mjs
13162  function CompositeItem(componentProps) {
13163    const {
13164      render,
13165      className,
13166      style,
13167      state = EMPTY_OBJECT,
13168      props = EMPTY_ARRAY,
13169      refs = EMPTY_ARRAY,
13170      metadata,
13171      stateAttributesMapping: stateAttributesMapping5,
13172      tag = "div",
13173      ...elementProps
13174    } = componentProps;
13175    const {
13176      compositeProps,
13177      compositeRef
13178    } = useCompositeItem({
13179      metadata
13180    });
13181    return useRenderElement(tag, componentProps, {
13182      state,
13183      // The composite ref attaches first so an outer item wins when nested items share a DOM node.
13184      ref: [compositeRef, ...refs],
13185      props: [compositeProps, ...props, elementProps],
13186      stateAttributesMapping: stateAttributesMapping5
13187    });
13188  }
13189  
13190  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/utils/findRootOwnerId.mjs
13191  function findRootOwnerId(node) {
13192    if (isHTMLElement(node) && node.hasAttribute("data-rootownerid")) {
13193      return node.getAttribute("data-rootownerid");
13194    }
13195    if (isLastTraversableNode(node)) {
13196      return void 0;
13197    }
13198    return findRootOwnerId(getParentNode(node));
13199  }
13200  
13201  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/useTriggerFocusGuards.mjs
13202  var ReactDOM6 = __toESM(require_react_dom(), 1);
13203  function useTriggerFocusGuards(store, triggerElementRef) {
13204    function closeAndFocus(event, direction, positionerElement) {
13205      const guard = event.currentTarget;
13206      ReactDOM6.flushSync(() => {
13207        store.setOpen(false, createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent, guard));
13208      });
13209      getTabbableNearElement(guard.isConnected ? guard : triggerElementRef.current, direction, positionerElement)?.focus();
13210    }
13211    function handlePreFocusGuardFocus(event) {
13212      closeAndFocus(event, -1, store.select("positionerElement"));
13213    }
13214    function handleFocusTargetFocus(event) {
13215      const positionerElement = store.select("positionerElement");
13216      if (positionerElement && isOutsideEvent(event, positionerElement)) {
13217        store.context.beforeContentFocusGuardRef.current?.focus();
13218      } else {
13219        closeAndFocus(event, 1, positionerElement);
13220      }
13221    }
13222    return {
13223      handlePreFocusGuardFocus,
13224      handleFocusTargetFocus
13225    };
13226  }
13227  
13228  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useMixedToggleClickHandler.mjs
13229  var React92 = __toESM(require_react(), 1);
13230  function useMixedToggleClickHandler(params) {
13231    const {
13232      enabled = true,
13233      mouseDownAction,
13234      open: open2
13235    } = params;
13236    const ignoreClickRef = React92.useRef(false);
13237    return React92.useMemo(() => {
13238      if (!enabled) {
13239        return EMPTY_OBJECT;
13240      }
13241      return {
13242        onMouseDown: (event) => {
13243          if (mouseDownAction === "open" && !open2 || mouseDownAction === "close" && open2) {
13244            ignoreClickRef.current = true;
13245            ownerDocument(event.currentTarget).addEventListener("click", () => {
13246              ignoreClickRef.current = false;
13247            }, {
13248              once: true
13249            });
13250          }
13251        },
13252        onClick: (event) => {
13253          if (ignoreClickRef.current) {
13254            ignoreClickRef.current = false;
13255            event.preventBaseUIHandler();
13256          }
13257        }
13258      };
13259    }, [enabled, mouseDownAction, open2]);
13260  }
13261  
13262  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/trigger/MenuTrigger.mjs
13263  var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1);
13264  var MenuTrigger = fastComponentRef(function MenuTrigger2(componentProps, forwardedRef) {
13265    const {
13266      render,
13267      className,
13268      style,
13269      disabled: disabledProp = false,
13270      nativeButton = true,
13271      id: idProp,
13272      openOnHover: openOnHoverProp,
13273      delay = 100,
13274      closeDelay = 0,
13275      handle,
13276      payload,
13277      ...elementProps
13278    } = componentProps;
13279    const rootContext = useMenuRootContext(true);
13280    const handleStore = usePopupHandleStore(handle);
13281    const store = handleStore ?? rootContext?.store;
13282    if (!store) {
13283      throw new Error(true ? "Base UI: <Menu.Trigger> must be either used within a <Menu.Root> component or provided with a handle." : formatErrorMessage_default(85));
13284    }
13285    const thisTriggerId = useBaseUiId(idProp);
13286    const isTriggerActive = store.useState("isTriggerActive", thisTriggerId);
13287    const floatingRootContext = store.useState("floatingRootContext");
13288    const isOpenedByThisTrigger = store.useState("isOpenedByTrigger", thisTriggerId);
13289    const controlsId = store.useState("triggerControlsId", thisTriggerId);
13290    const triggerElementRef = React93.useRef(null);
13291    const parent = useMenuParent();
13292    const compositeRootContext = useCompositeRootContext(true);
13293    const floatingTreeRootFromContext = useFloatingTree();
13294    const floatingTreeRoot = React93.useMemo(() => {
13295      return floatingTreeRootFromContext ?? new FloatingTreeStore();
13296    }, [floatingTreeRootFromContext]);
13297    const floatingNodeId = useFloatingNodeId(floatingTreeRoot);
13298    const floatingParentNodeId = useFloatingParentNodeId();
13299    const {
13300      registerTrigger,
13301      isMountedByThisTrigger
13302    } = useTriggerDataForwarding(thisTriggerId, triggerElementRef, store, {
13303      payload,
13304      closeDelay,
13305      parent,
13306      floatingTreeRoot,
13307      floatingNodeId,
13308      floatingParentNodeId,
13309      keyboardEventRelay: compositeRootContext?.relayKeyboardEvent
13310    });
13311    const isInMenubar = parent.type === "menubar";
13312    const rootDisabled = store.useState("disabled");
13313    const disabled2 = disabledProp || rootDisabled || isInMenubar && parent.context.disabled;
13314    const {
13315      getButtonProps,
13316      buttonRef
13317    } = useButton({
13318      disabled: disabled2,
13319      native: nativeButton
13320    });
13321    React93.useEffect(() => {
13322      if (!isOpenedByThisTrigger && parent.type === void 0) {
13323        store.context.allowMouseUpTriggerRef.current = false;
13324      }
13325    }, [store, isOpenedByThisTrigger, parent.type]);
13326    const triggerRef = React93.useRef(null);
13327    const allowMouseUpTriggerTimeout = useTimeout();
13328    const handleDocumentMouseUp = useStableCallback((mouseEvent) => {
13329      if (!triggerRef.current) {
13330        return;
13331      }
13332      allowMouseUpTriggerTimeout.clear();
13333      store.context.allowMouseUpTriggerRef.current = false;
13334      const mouseUpTarget = mouseEvent.target;
13335      if (contains(triggerRef.current, mouseUpTarget) || contains(store.select("positionerElement"), mouseUpTarget) || mouseUpTarget === triggerRef.current) {
13336        return;
13337      }
13338      if (mouseUpTarget != null && findRootOwnerId(mouseUpTarget) === store.select("rootId")) {
13339        return;
13340      }
13341      if (isMouseWithinBounds(mouseEvent, triggerRef.current)) {
13342        return;
13343      }
13344      floatingTreeRoot.events.emit("close", {
13345        domEvent: mouseEvent,
13346        reason: reason_parts_exports.cancelOpen
13347      });
13348    });
13349    React93.useEffect(() => {
13350      const doc = ownerDocument(triggerRef.current);
13351      if (isOpenedByThisTrigger && store.select("lastOpenChangeReason") === reason_parts_exports.triggerHover) {
13352        doc.addEventListener("mouseup", handleDocumentMouseUp, {
13353          once: true
13354        });
13355        return () => {
13356          doc.removeEventListener("mouseup", handleDocumentMouseUp);
13357        };
13358      }
13359      return void 0;
13360    }, [isOpenedByThisTrigger, handleDocumentMouseUp, store]);
13361    const parentMenubarHasSubmenuOpen = isInMenubar && parent.context.hasSubmenuOpen;
13362    const openOnHover = openOnHoverProp ?? parentMenubarHasSubmenuOpen;
13363    const hoverProps = useHoverReferenceInteraction(floatingRootContext, {
13364      enabled: openOnHover && !disabled2 && (!isInMenubar || parentMenubarHasSubmenuOpen && !isMountedByThisTrigger),
13365      handleClose: safePolygon({
13366        blockPointerEvents: !isInMenubar
13367      }),
13368      mouseOnly: true,
13369      move: false,
13370      restMs: parent.type === void 0 ? delay : void 0,
13371      delay: {
13372        close: closeDelay
13373      },
13374      triggerElementRef,
13375      externalTree: floatingTreeRoot,
13376      isActiveTrigger: isTriggerActive,
13377      isClosing: () => store.select("transitionStatus") === "ending"
13378    });
13379    const stickIfOpen = useStickIfOpen(isOpenedByThisTrigger, store.select("lastOpenChangeReason"));
13380    const click = useClick(floatingRootContext, {
13381      enabled: !disabled2,
13382      event: isOpenedByThisTrigger && isInMenubar ? "click" : "mousedown",
13383      toggle: true,
13384      ignoreMouse: false,
13385      stickIfOpen: parent.type === void 0 ? stickIfOpen : false
13386    });
13387    const focus = useFocus(floatingRootContext, {
13388      enabled: !disabled2 && parentMenubarHasSubmenuOpen
13389    });
13390    const mixedToggleHandlers = useMixedToggleClickHandler({
13391      open: isOpenedByThisTrigger,
13392      enabled: isInMenubar,
13393      mouseDownAction: "open"
13394    });
13395    const localInteractionProps = React93.useMemo(() => mergeProps(focus.reference, click.reference), [focus.reference, click.reference]);
13396    const rootTriggerProps = store.useState("triggerProps", isMountedByThisTrigger);
13397    const filterTriggerProps = store.useState("filterTriggerProps");
13398    const {
13399      handlePreFocusGuardFocus,
13400      handleFocusTargetFocus
13401    } = useTriggerFocusGuards(store, triggerElementRef);
13402    const state = {
13403      disabled: disabled2,
13404      open: isOpenedByThisTrigger
13405    };
13406    const ref = [triggerRef, forwardedRef, buttonRef, registerTrigger, triggerElementRef];
13407    const props = [localInteractionProps, hoverProps ?? EMPTY_OBJECT, rootTriggerProps, {
13408      "aria-haspopup": "menu",
13409      "aria-controls": controlsId,
13410      id: thisTriggerId,
13411      onMouseDown: (event) => {
13412        if (store.select("open")) {
13413          return;
13414        }
13415        allowMouseUpTriggerTimeout.start(200, () => {
13416          store.context.allowMouseUpTriggerRef.current = true;
13417        });
13418        const doc = ownerDocument(event.currentTarget);
13419        doc.addEventListener("mouseup", handleDocumentMouseUp, {
13420          once: true
13421        });
13422      }
13423    }, filterTriggerProps, isInMenubar ? {
13424      role: "menuitem"
13425    } : {}, mixedToggleHandlers, elementProps, getButtonProps];
13426    const element = useRenderElement("button", componentProps, {
13427      enabled: !isInMenubar,
13428      stateAttributesMapping: pressableTriggerOpenStateMapping,
13429      state,
13430      ref,
13431      props
13432    });
13433    if (isInMenubar) {
13434      return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(CompositeItem, {
13435        tag: "button",
13436        render,
13437        className,
13438        style,
13439        state,
13440        refs: ref,
13441        props,
13442        stateAttributesMapping: pressableTriggerOpenStateMapping
13443      });
13444    }
13445    if (isOpenedByThisTrigger) {
13446      return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(React93.Fragment, {
13447        children: [/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(FocusGuard, {
13448          ref: store.context.beforeTriggerFocusGuardRef,
13449          onFocus: handlePreFocusGuardFocus
13450        }, `$thisTriggerId}-pre-focus-guard`), /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(React93.Fragment, {
13451          children: element
13452        }, thisTriggerId), /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(FocusGuard, {
13453          ref: store.context.triggerFocusTargetRef,
13454          onFocus: handleFocusTargetFocus
13455        }, `$thisTriggerId}-post-focus-guard`)]
13456      });
13457    }
13458    return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(React93.Fragment, {
13459      children: element
13460    }, thisTriggerId);
13461  });
13462  if (true) MenuTrigger.displayName = "MenuTrigger";
13463  function useStickIfOpen(open2, openReason) {
13464    const stickIfOpenTimeout = useTimeout();
13465    const [stickIfOpen, setStickIfOpen] = React93.useState(false);
13466    useIsoLayoutEffect(() => {
13467      if (open2 && openReason === reason_parts_exports.triggerHover) {
13468        setStickIfOpen(true);
13469        stickIfOpenTimeout.start(PATIENT_CLICK_THRESHOLD, () => {
13470          setStickIfOpen(false);
13471        });
13472      } else if (!open2) {
13473        stickIfOpenTimeout.clear();
13474        setStickIfOpen(false);
13475      }
13476    }, [open2, openReason, stickIfOpenTimeout]);
13477    return stickIfOpen;
13478  }
13479  function useMenuParent() {
13480    const menubarContext = useMenubarContext(true);
13481    const parent = React93.useMemo(() => {
13482      if (menubarContext) {
13483        return {
13484          type: "menubar",
13485          context: menubarContext
13486        };
13487      }
13488      return {
13489        type: void 0
13490      };
13491    }, [menubarContext]);
13492    return parent;
13493  }
13494  
13495  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/viewport/MenuViewport.mjs
13496  var React98 = __toESM(require_react(), 1);
13497  
13498  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePopupViewport.mjs
13499  var React97 = __toESM(require_react(), 1);
13500  var ReactDOM7 = __toESM(require_react_dom(), 1);
13501  
13502  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/usePreviousValue.mjs
13503  var React94 = __toESM(require_react(), 1);
13504  function usePreviousValue(value) {
13505    const [state, setState] = React94.useState({
13506      current: value,
13507      previous: null
13508    });
13509    if (!Object.is(value, state.current)) {
13510      setState({
13511        current: value,
13512        previous: state.current
13513      });
13514    }
13515    return state.previous;
13516  }
13517  
13518  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePopupAutoResize.mjs
13519  var React95 = __toESM(require_react(), 1);
13520  
13521  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getCssDimensions.mjs
13522  function getCssDimensions2(element) {
13523    const css = getComputedStyle2(element);
13524    let width = parseFloat(css.width) || 0;
13525    let height = parseFloat(css.height) || 0;
13526    const hasOffset = isHTMLElement(element);
13527    const offsetWidth = hasOffset ? element.offsetWidth : width;
13528    const offsetHeight = hasOffset ? element.offsetHeight : height;
13529    const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
13530    if (shouldFallback) {
13531      width = offsetWidth;
13532      height = offsetHeight;
13533    }
13534    return {
13535      width,
13536      height
13537    };
13538  }
13539  
13540  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPopupCssVars.mjs
13541  var popupWidth = "--popup-width";
13542  var popupHeight = "--popup-height";
13543  
13544  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePopupAutoResize.mjs
13545  function usePopupAutoResize(parameters) {
13546    const {
13547      popupElement,
13548      positionerElement,
13549      content,
13550      mounted,
13551      onMeasureLayout: onMeasureLayoutParam,
13552      onMeasureLayoutComplete: onMeasureLayoutCompleteParam,
13553      side,
13554      direction
13555    } = parameters;
13556    const runOnceAnimationsFinish = useAnimationsFinished(popupElement, true);
13557    const animationFrame = useAnimationFrame();
13558    const committedDimensionsRef = React95.useRef(null);
13559    const onMeasureLayout = useStableCallback(onMeasureLayoutParam);
13560    const onMeasureLayoutComplete = useStableCallback(onMeasureLayoutCompleteParam);
13561    const anchoringStyles = React95.useMemo(() => getPopupAnchoringStyles(side, direction), [side, direction]);
13562    useIsoLayoutEffect(() => {
13563      if (!mounted) {
13564        committedDimensionsRef.current = null;
13565        return void 0;
13566      }
13567      if (!popupElement || !positionerElement) {
13568        return void 0;
13569      }
13570      const restoreAnchoringStyles = applyElementStyles(popupElement, anchoringStyles);
13571      setPopupCssSize(popupElement, "auto");
13572      const restorePopupPosition = overrideElementStyle(popupElement, "position", "static");
13573      const restorePopupTransform = overrideElementStyle(popupElement, "transform", "none");
13574      const restorePopupScale = overrideElementStyle(popupElement, "scale", "1");
13575      const restorePositionerAvailableSize = applyElementStyles(positionerElement, {
13576        [availableWidth]: "max-content",
13577        [availableHeight]: "max-content"
13578      });
13579      function restoreMeasurementOverrides() {
13580        restorePopupPosition();
13581        restorePopupTransform();
13582        restorePositionerAvailableSize();
13583        restorePopupScale();
13584      }
13585      onMeasureLayout?.();
13586      if (committedDimensionsRef.current === null) {
13587        setPositionerCssSize(positionerElement, "max-content");
13588        const dimensions = getCssDimensions2(popupElement);
13589        committedDimensionsRef.current = dimensions;
13590        setPositionerCssSize(positionerElement, dimensions);
13591        restoreMeasurementOverrides();
13592        onMeasureLayoutComplete?.(null, dimensions);
13593        return restoreAnchoringStyles;
13594      }
13595      setPositionerCssSize(positionerElement, "max-content");
13596      const previousDimensions = committedDimensionsRef.current;
13597      const newDimensions = getCssDimensions2(popupElement);
13598      committedDimensionsRef.current = newDimensions;
13599      setPopupCssSize(popupElement, previousDimensions);
13600      restoreMeasurementOverrides();
13601      onMeasureLayoutComplete?.(previousDimensions, newDimensions);
13602      setPositionerCssSize(positionerElement, newDimensions);
13603      const abortController = new AbortController();
13604      animationFrame.request(() => {
13605        setPopupCssSize(popupElement, newDimensions);
13606        runOnceAnimationsFinish(() => {
13607          popupElement.style.setProperty(popupWidth, "auto");
13608          popupElement.style.setProperty(popupHeight, "auto");
13609        }, abortController.signal);
13610      });
13611      return () => {
13612        abortController.abort();
13613        animationFrame.cancel();
13614        restoreAnchoringStyles();
13615      };
13616    }, [content, popupElement, positionerElement, runOnceAnimationsFinish, animationFrame, mounted, onMeasureLayout, onMeasureLayoutComplete, anchoringStyles]);
13617  }
13618  function getPopupAnchoringStyles(side, direction) {
13619    const isPhysicalTop = side === "top";
13620    const isPhysicalLeft = side === "left" || side === (direction === "rtl" ? "inline-end" : "inline-start");
13621    if (!isPhysicalTop && !isPhysicalLeft) {
13622      return EMPTY_OBJECT;
13623    }
13624    return {
13625      position: "absolute",
13626      [isPhysicalTop ? "bottom" : "top"]: "0",
13627      [isPhysicalLeft ? "right" : "left"]: "0"
13628    };
13629  }
13630  function overrideElementStyle(element, property, value) {
13631    const originalValue = element.style.getPropertyValue(property);
13632    element.style.setProperty(property, value);
13633    return () => {
13634      element.style.setProperty(property, originalValue);
13635    };
13636  }
13637  function applyElementStyles(element, styles) {
13638    const restorers = [];
13639    for (const [key, value] of Object.entries(styles)) {
13640      restorers.push(overrideElementStyle(element, key, value));
13641    }
13642    return restorers.length ? () => {
13643      restorers.forEach((restore) => restore());
13644    } : NOOP;
13645  }
13646  function setPopupCssSize(popupElement, size4) {
13647    const width = size4 === "auto" ? "auto" : `$size4.width}px`;
13648    const height = size4 === "auto" ? "auto" : `$size4.height}px`;
13649    popupElement.style.setProperty(popupWidth, width);
13650    popupElement.style.setProperty(popupHeight, height);
13651  }
13652  function setPositionerCssSize(positionerElement, size4) {
13653    const width = size4 === "max-content" ? "max-content" : `$size4.width}px`;
13654    const height = size4 === "max-content" ? "max-content" : `$size4.height}px`;
13655    positionerElement.style.setProperty(positionerWidth, width);
13656    positionerElement.style.setProperty(positionerHeight, height);
13657  }
13658  
13659  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/direction-provider/DirectionProvider.mjs
13660  var React96 = __toESM(require_react(), 1);
13661  var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1);
13662  var DirectionProvider = function DirectionProvider2(props) {
13663    const {
13664      direction = "ltr"
13665    } = props;
13666    const contextValue = React96.useMemo(() => ({
13667      direction
13668    }), [direction]);
13669    return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DirectionContext.Provider, {
13670      value: contextValue,
13671      children: props.children
13672    });
13673  };
13674  if (true) DirectionProvider.displayName = "DirectionProvider";
13675  
13676  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/adaptiveOriginMiddleware.mjs
13677  var adaptiveOrigin = {
13678    name: "adaptiveOrigin",
13679    async fn(state) {
13680      const {
13681        x: rawX,
13682        y: rawY,
13683        rects: {
13684          floating: floatRect
13685        },
13686        elements: {
13687          floating
13688        },
13689        platform: platform3,
13690        strategy,
13691        placement
13692      } = state;
13693      const win = getWindow(floating);
13694      const styles = win.getComputedStyle(floating);
13695      const hasTransition = styles.transitionDuration !== "0s" && styles.transitionDuration !== "";
13696      if (!hasTransition) {
13697        return {
13698          x: rawX,
13699          y: rawY,
13700          data: DEFAULT_SIDES
13701        };
13702      }
13703      const offsetParent = await platform3.getOffsetParent?.(floating);
13704      let offsetDimensions = {
13705        width: 0,
13706        height: 0
13707      };
13708      if (strategy === "fixed" && win?.visualViewport) {
13709        offsetDimensions = {
13710          width: win.visualViewport.width,
13711          height: win.visualViewport.height
13712        };
13713      } else if (offsetParent === win) {
13714        const doc = ownerDocument(floating);
13715        offsetDimensions = {
13716          width: doc.documentElement.clientWidth,
13717          height: doc.documentElement.clientHeight
13718        };
13719      } else if (await platform3.isElement?.(offsetParent)) {
13720        offsetDimensions = await platform3.getDimensions(offsetParent);
13721      }
13722      const currentSide = getSide(placement);
13723      let x2 = rawX;
13724      let y2 = rawY;
13725      if (currentSide === "left") {
13726        x2 = offsetDimensions.width - (rawX + floatRect.width);
13727      }
13728      if (currentSide === "top") {
13729        y2 = offsetDimensions.height - (rawY + floatRect.height);
13730      }
13731      const sideX = currentSide === "left" ? "right" : DEFAULT_SIDES.sideX;
13732      const sideY = currentSide === "top" ? "bottom" : DEFAULT_SIDES.sideY;
13733      return {
13734        x: x2,
13735        y: y2,
13736        data: {
13737          sideX,
13738          sideY
13739        }
13740      };
13741    }
13742  };
13743  
13744  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonViewportDataAttributes.mjs
13745  var activationDirection = "data-activation-direction";
13746  
13747  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePopupViewport.mjs
13748  var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1);
13749  var popupViewportStateMapping = {
13750    activationDirection: (value) => value ? {
13751      [activationDirection]: value
13752    } : null
13753  };
13754  function usePopupViewport(parameters) {
13755    const {
13756      store,
13757      side,
13758      children
13759    } = parameters;
13760    const direction = useDirection();
13761    const activeTrigger = store.useState("activeTriggerElement");
13762    const activeTriggerId = store.useState("activeTriggerId");
13763    const open2 = store.useState("open");
13764    const payload = store.useState("payload");
13765    const mounted = store.useState("mounted");
13766    const popupElement = store.useState("popupElement");
13767    const positionerElement = store.useState("positionerElement");
13768    const previousActiveTrigger = usePreviousValue(open2 ? activeTrigger : null);
13769    const currentContentKey = usePopupContentKey(activeTriggerId, payload);
13770    const capturedNodeRef = React97.useRef(null);
13771    const [previousContentNode, setPreviousContentNode] = React97.useState(null);
13772    const [newTriggerOffset, setNewTriggerOffset] = React97.useState(null);
13773    const currentContainerRef = React97.useRef(null);
13774    const previousContainerRef = React97.useRef(null);
13775    const onAnimationsFinished = useAnimationsFinished(currentContainerRef, true);
13776    const cleanupFrame = useAnimationFrame();
13777    const cleanupControllerRef = React97.useRef(null);
13778    const [previousContentDimensions, setPreviousContentDimensions] = React97.useState(null);
13779    const [showStartingStyleAttribute, setShowStartingStyleAttribute] = React97.useState(false);
13780    useIsoLayoutEffect(() => {
13781      store.set("adaptiveOrigin", adaptiveOrigin);
13782      return () => {
13783        store.set("adaptiveOrigin", void 0);
13784      };
13785    }, [store]);
13786    const handleMeasureLayout = useStableCallback(() => {
13787      currentContainerRef.current?.style.setProperty("animation", "none");
13788      currentContainerRef.current?.style.setProperty("transition", "none");
13789      previousContainerRef.current?.style.setProperty("display", "none");
13790    });
13791    const handleMeasureLayoutComplete = useStableCallback((previousDimensions) => {
13792      currentContainerRef.current?.style.removeProperty("animation");
13793      currentContainerRef.current?.style.removeProperty("transition");
13794      previousContainerRef.current?.style.removeProperty("display");
13795      if (previousDimensions) {
13796        setPreviousContentDimensions(previousDimensions);
13797      }
13798    });
13799    const armViewportCleanup = useStableCallback(() => {
13800      cleanupControllerRef.current?.abort();
13801      const controller = new AbortController();
13802      cleanupControllerRef.current = controller;
13803      onAnimationsFinished(() => {
13804        setPreviousContentNode(null);
13805        setPreviousContentDimensions(null);
13806        capturedNodeRef.current = null;
13807      }, controller.signal);
13808    });
13809    const lastHandledTriggerRef = React97.useRef(null);
13810    useIsoLayoutEffect(() => {
13811      if (!open2 || !mounted) {
13812        lastHandledTriggerRef.current = null;
13813      }
13814    }, [open2, mounted]);
13815    useIsoLayoutEffect(() => {
13816      if (open2 && activeTrigger && previousActiveTrigger && activeTrigger !== previousActiveTrigger && lastHandledTriggerRef.current !== activeTrigger && capturedNodeRef.current) {
13817        setPreviousContentNode(capturedNodeRef.current);
13818        setShowStartingStyleAttribute(true);
13819        const offset4 = calculateRelativePosition(previousActiveTrigger, activeTrigger);
13820        setNewTriggerOffset(offset4);
13821        lastHandledTriggerRef.current = activeTrigger;
13822      }
13823    }, [open2, activeTrigger, previousActiveTrigger]);
13824    useIsoLayoutEffect(() => {
13825      if (previousContentNode == null) {
13826        return;
13827      }
13828      cleanupControllerRef.current?.abort();
13829      setShowStartingStyleAttribute(true);
13830      cleanupFrame.request(() => {
13831        ReactDOM7.flushSync(() => {
13832          setShowStartingStyleAttribute(false);
13833        });
13834        armViewportCleanup();
13835      });
13836    }, [currentContentKey, previousContentNode, armViewportCleanup, cleanupFrame]);
13837    useIsoLayoutEffect(() => {
13838      const source = currentContainerRef.current;
13839      if (!source) {
13840        return;
13841      }
13842      const wrapper = ownerDocument(source).createElement("div");
13843      for (const child of Array.from(source.childNodes)) {
13844        wrapper.appendChild(child.cloneNode(true));
13845      }
13846      capturedNodeRef.current = wrapper;
13847    });
13848    const isTransitioning = previousContentNode != null;
13849    let childrenToRender;
13850    if (!isTransitioning) {
13851      childrenToRender = /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", {
13852        "data-current": true,
13853        ref: currentContainerRef,
13854        children
13855      }, currentContentKey);
13856    } else {
13857      childrenToRender = /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(React97.Fragment, {
13858        children: [/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", {
13859          "data-previous": true,
13860          inert: inertValue(true),
13861          ref: previousContainerRef,
13862          style: {
13863            ...previousContentDimensions ? {
13864              [popupWidth]: `$previousContentDimensions.width}px`,
13865              [popupHeight]: `$previousContentDimensions.height}px`
13866            } : null,
13867            position: "absolute"
13868          },
13869          "data-ending-style": showStartingStyleAttribute ? void 0 : ""
13870        }, "previous"), /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", {
13871          "data-current": true,
13872          ref: currentContainerRef,
13873          "data-starting-style": showStartingStyleAttribute ? "" : void 0,
13874          children
13875        }, currentContentKey)]
13876      });
13877    }
13878    useIsoLayoutEffect(() => {
13879      const container = previousContainerRef.current;
13880      if (!container || !previousContentNode) {
13881        return;
13882      }
13883      container.replaceChildren(...Array.from(previousContentNode.childNodes));
13884    }, [previousContentNode]);
13885    usePopupAutoResize({
13886      popupElement,
13887      positionerElement,
13888      mounted,
13889      content: payload,
13890      onMeasureLayout: handleMeasureLayout,
13891      onMeasureLayoutComplete: handleMeasureLayoutComplete,
13892      side,
13893      direction
13894    });
13895    const state = {
13896      activationDirection: getActivationDirection(newTriggerOffset),
13897      transitioning: isTransitioning
13898    };
13899    return {
13900      children: childrenToRender,
13901      state
13902    };
13903  }
13904  function getActivationDirection(offset4) {
13905    if (!offset4) {
13906      return void 0;
13907    }
13908    return `$getValueWithTolerance(offset4.horizontal, 5, "right", "left")} $getValueWithTolerance(offset4.vertical, 5, "down", "up")}`;
13909  }
13910  function getValueWithTolerance(value, tolerance, positiveLabel, negativeLabel) {
13911    if (value > tolerance) {
13912      return positiveLabel;
13913    }
13914    if (value < -tolerance) {
13915      return negativeLabel;
13916    }
13917    return "";
13918  }
13919  function calculateRelativePosition(from, to) {
13920    const fromRect = from.getBoundingClientRect();
13921    const toRect = to.getBoundingClientRect();
13922    const fromCenter = {
13923      x: fromRect.left + fromRect.width / 2,
13924      y: fromRect.top + fromRect.height / 2
13925    };
13926    const toCenter = {
13927      x: toRect.left + toRect.width / 2,
13928      y: toRect.top + toRect.height / 2
13929    };
13930    return {
13931      horizontal: toCenter.x - fromCenter.x,
13932      vertical: toCenter.y - fromCenter.y
13933    };
13934  }
13935  function usePopupContentKey(activeTriggerId, payload) {
13936    const [contentKey, setContentKey] = React97.useState(0);
13937    const previousActiveTriggerIdRef = React97.useRef(activeTriggerId);
13938    const previousPayloadRef = React97.useRef(payload);
13939    const pendingPayloadUpdateRef = React97.useRef(false);
13940    useIsoLayoutEffect(() => {
13941      const previousActiveTriggerId = previousActiveTriggerIdRef.current;
13942      const previousPayload = previousPayloadRef.current;
13943      const triggerIdChanged = activeTriggerId !== previousActiveTriggerId;
13944      const payloadChanged = payload !== previousPayload;
13945      if (triggerIdChanged) {
13946        setContentKey((value) => value + 1);
13947        pendingPayloadUpdateRef.current = !payloadChanged;
13948      } else if (pendingPayloadUpdateRef.current && payloadChanged) {
13949        setContentKey((value) => value + 1);
13950        pendingPayloadUpdateRef.current = false;
13951      }
13952      previousActiveTriggerIdRef.current = activeTriggerId;
13953      previousPayloadRef.current = payload;
13954    }, [activeTriggerId, payload]);
13955    return `$activeTriggerId ?? "current"}-$contentKey}`;
13956  }
13957  
13958  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/viewport/MenuViewport.mjs
13959  var MenuViewport = /* @__PURE__ */ React98.forwardRef(function MenuViewport2(componentProps, forwardedRef) {
13960    const {
13961      render,
13962      className,
13963      style,
13964      children,
13965      ...elementProps
13966    } = componentProps;
13967    const {
13968      store
13969    } = useMenuRootContext();
13970    const {
13971      side
13972    } = useMenuPositionerContext();
13973    const instantType = store.useState("instantType");
13974    const {
13975      children: childrenToRender,
13976      state: viewportState
13977    } = usePopupViewport({
13978      store,
13979      side,
13980      children
13981    });
13982    const state = {
13983      activationDirection: viewportState.activationDirection,
13984      transitioning: viewportState.transitioning,
13985      instant: instantType
13986    };
13987    return useRenderElement("div", componentProps, {
13988      state,
13989      ref: forwardedRef,
13990      props: [elementProps, {
13991        children: childrenToRender
13992      }],
13993      stateAttributesMapping: popupViewportStateMapping
13994    });
13995  });
13996  if (true) MenuViewport.displayName = "MenuViewport";
13997  
13998  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/separator/Separator.mjs
13999  var React99 = __toESM(require_react(), 1);
14000  var Separator = /* @__PURE__ */ React99.forwardRef(function SeparatorComponent(componentProps, forwardedRef) {
14001    const {
14002      className,
14003      render,
14004      orientation = "horizontal",
14005      style,
14006      ...elementProps
14007    } = componentProps;
14008    const state = {
14009      orientation
14010    };
14011    const element = useRenderElement("div", componentProps, {
14012      state,
14013      ref: forwardedRef,
14014      props: [{
14015        role: "separator",
14016        "aria-orientation": orientation
14017      }, elementProps]
14018    });
14019    return element;
14020  });
14021  if (true) Separator.displayName = "Separator";
14022  
14023  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/submenu-trigger/MenuSubmenuTrigger.mjs
14024  var React100 = __toESM(require_react(), 1);
14025  
14026  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/isElementDisabled.mjs
14027  function isElementDisabled(element) {
14028    return element == null || element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true";
14029  }
14030  
14031  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/submenu-trigger/MenuSubmenuTrigger.mjs
14032  var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1);
14033  var VOICE_OVER_EXPANDED_PROPS = {
14034    "aria-expanded": void 0
14035  };
14036  var MenuSubmenuTriggerPlain = /* @__PURE__ */ React100.forwardRef(function MenuSubmenuTriggerPlain2(componentProps, forwardedRef) {
14037    const {
14038      render,
14039      className,
14040      style,
14041      label,
14042      id: idProp,
14043      nativeButton = false,
14044      openOnHover = true,
14045      delay = 100,
14046      closeDelay = 0,
14047      disabled: disabledProp = false,
14048      ...elementProps
14049    } = componentProps;
14050    const context = useMenuRootContext(true);
14051    if (context?.parent.type !== "menu") {
14052      throw new Error(true ? "Base UI: <Menu.SubmenuTrigger> must be placed in <Menu.SubmenuRoot>." : formatErrorMessage_default(37));
14053    }
14054    const menuPositionerContext = useMenuPositionerContext();
14055    const submenuRootContext = useMenuSubmenuRootContext();
14056    const {
14057      store,
14058      parentVirtualFocus
14059    } = context;
14060    const parentMenuStore = context.parent.store;
14061    const listItem = useCompositeListItem({
14062      guess: true,
14063      label
14064    });
14065    const thisTriggerId = useBaseUiId(idProp);
14066    const open2 = store.useState("open");
14067    const focusReturnedThroughGuardRef = React100.useRef(false);
14068    const positionerElement = store.useState("positionerElement");
14069    const floatingRootContext = store.useState("floatingRootContext");
14070    const floatingTreeRoot = store.useState("floatingTreeRoot");
14071    const popupId = store.useState("triggerPopupId", thisTriggerId);
14072    const baseRegisterTrigger = useTriggerRegistration(thisTriggerId, store);
14073    const registerTrigger = useStableCallback((element2) => {
14074      baseRegisterTrigger(element2);
14075      const activeTriggerElement = store.select("activeTriggerElement");
14076      if (element2 !== null && store.select("open") && (activeTriggerElement === element2 || store.select("activeTriggerId") == null)) {
14077        store.update({
14078          activeTriggerId: thisTriggerId ?? null,
14079          activeTriggerElement: element2,
14080          closeDelay
14081        });
14082      }
14083    });
14084    const triggerElementRef = React100.useRef(null);
14085    const handleTriggerElementRef = React100.useCallback((el) => {
14086      triggerElementRef.current = el;
14087      store.set("activeTriggerElement", el);
14088    }, [store]);
14089    useIsoLayoutEffect(() => {
14090      registerTrigger(triggerElementRef.current);
14091      return () => registerTrigger(null);
14092    }, [registerTrigger, thisTriggerId, store]);
14093    useIsoLayoutEffect(() => {
14094      if (!open2 || !positionerElement) {
14095        return void 0;
14096      }
14097      function handleGuardFocusOut(event) {
14098        if (getTarget(event) === store.context.beforeContentFocusGuardRef.current) {
14099          focusReturnedThroughGuardRef.current = event.relatedTarget === triggerElementRef.current;
14100        }
14101      }
14102      positionerElement.addEventListener("focusout", handleGuardFocusOut, true);
14103      return () => {
14104        focusReturnedThroughGuardRef.current = false;
14105        positionerElement.removeEventListener("focusout", handleGuardFocusOut, true);
14106      };
14107    }, [open2, positionerElement, store]);
14108    store.useSyncedValue("closeDelay", closeDelay);
14109    const rootDisabled = store.useState("disabled");
14110    const parentDisabled = parentMenuStore.useState("disabled");
14111    const disabled2 = disabledProp || rootDisabled || parentDisabled;
14112    if (true) {
14113      React100.useEffect(() => {
14114        const element2 = triggerElementRef.current;
14115        if (element2 && isElementDisabled(element2) && !disabled2) {
14116          const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
14117          warn(`A disabled element was detected on <Menu.SubmenuTrigger>. To properly disable the trigger, use the \`disabled\` prop on the component instead of setting it on the rendered element.$ownerStackMessage}`);
14118        }
14119      });
14120    }
14121    const itemProps = parentMenuStore.useState("itemProps");
14122    const highlighted = parentMenuStore.useState("isActive", listItem.index);
14123    const itemMetadata = React100.useMemo(() => ({
14124      type: "submenu-trigger",
14125      setActive(event) {
14126        if (parentMenuStore.select("highlightItemOnHover")) {
14127          parentMenuStore.setActiveIndex(listItem.index, reason_parts_exports.pointer, event);
14128        }
14129      }
14130    }), [parentMenuStore, listItem.index]);
14131    const {
14132      getItemProps,
14133      itemRef
14134    } = useMenuItem({
14135      closeOnClick: false,
14136      disabled: disabled2,
14137      highlighted,
14138      id: thisTriggerId,
14139      store,
14140      typingRef: parentMenuStore.context.typingRef,
14141      nativeButton,
14142      itemMetadata,
14143      nodeId: menuPositionerContext?.context.nodeId
14144    });
14145    const hoverEnabled = store.useState("hoverEnabled");
14146    const hoverProps = useHoverReferenceInteraction(floatingRootContext, {
14147      enabled: hoverEnabled && openOnHover && !disabled2,
14148      handleClose: safePolygon({
14149        blockPointerEvents: true
14150      }),
14151      mouseOnly: true,
14152      move: true,
14153      restMs: delay,
14154      delay: {
14155        open: delay,
14156        close: closeDelay
14157      },
14158      shouldOpen: delay > 0 ? () => parentMenuStore.select("allowMouseEnter") : void 0,
14159      triggerElementRef,
14160      externalTree: floatingTreeRoot,
14161      isClosing: () => store.select("transitionStatus") === "ending",
14162      // Chrome can drop the trigger's `mouseleave` during a fast pointer sweep,
14163      // leaving a stale submenu open (see #5152) — cancel from `mouseout` too.
14164      guardStaleOpen: true
14165    });
14166    const click = useClick(floatingRootContext, {
14167      enabled: !disabled2,
14168      event: "mousedown",
14169      // Without toggling, TalkBack users cannot close the submenu to reach the next parent menu
14170      // item: moving the virtual cursor outside does not close it, and moving forward again
14171      // re-enters the still-open submenu. Keep toggling enabled so activating its trigger closes it.
14172      // Toggling applies to touch and keyboard activation. In hover mode, mouse presses are
14173      // ignored and the first activation after hover-opening keeps the submenu open.
14174      toggle: true,
14175      ignoreMouse: openOnHover,
14176      stickIfOpen: openOnHover
14177    });
14178    const localInteractionProps = click.reference ?? EMPTY_OBJECT;
14179    const rootTriggerProps = store.useState("triggerProps", true);
14180    delete rootTriggerProps.id;
14181    const state = {
14182      disabled: disabled2,
14183      highlighted,
14184      open: open2
14185    };
14186    const openMethod = store.useState("openMethod");
14187    const lastOpenChangeReason = store.useState("lastOpenChangeReason");
14188    const openedByKeyboard = lastOpenChangeReason === reason_parts_exports.listNavigation || openMethod === "keyboard";
14189    const shouldOmitExpanded = open2 && openedByKeyboard && parts_exports.screenReader.voiceOver;
14190    const submenuKeyDownProps = submenuRootContext?.onTriggerKeyDown ? {
14191      onKeyDown: submenuRootContext.onTriggerKeyDown
14192    } : void 0;
14193    const element = useRenderElement("div", componentProps, {
14194      state,
14195      stateAttributesMapping: triggerOpenStateMapping,
14196      props: [
14197        localInteractionProps,
14198        hoverProps,
14199        rootTriggerProps,
14200        // MenuFilterSubmenuRoot overrides the generic trigger handler because entry and exit
14201        // depend on both the parent and child menu orientations.
14202        submenuKeyDownProps,
14203        itemProps,
14204        // Opening a submenu changes the trigger's expanded state while the trigger still holds
14205        // focus, and VoiceOver announces that state change instead of the submenu item that focus
14206        // moves to a moment later, so the first item is never announced. Dropping the state while
14207        // the submenu is open avoids the announcement without claiming the submenu is collapsed;
14208        // `aria-haspopup` still conveys that the item opens a submenu.
14209        shouldOmitExpanded ? VOICE_OVER_EXPANDED_PROPS : void 0,
14210        {
14211          "aria-controls": popupId,
14212          // A virtually focused parent keeps real focus on its input, so the trigger must stay out
14213          // of the tab order.
14214          tabIndex: parentVirtualFocus || !(open2 || highlighted) ? -1 : 0,
14215          onFocus(event) {
14216            if (store.select("open") && focusReturnedThroughGuardRef.current) {
14217              focusReturnedThroughGuardRef.current = false;
14218              store.setOpen(false, createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent));
14219            }
14220          },
14221          onBlur() {
14222            if (highlighted) {
14223              parentMenuStore.setActiveIndex(null, reason_parts_exports.none);
14224            }
14225          }
14226        },
14227        elementProps,
14228        // `getItemProps` stays last so `useButton` keeps gating consumer handlers while disabled.
14229        getItemProps
14230      ],
14231      ref: [forwardedRef, listItem.ref, itemRef, registerTrigger, handleTriggerElementRef]
14232    });
14233    return element;
14234  });
14235  if (true) MenuSubmenuTriggerPlain.displayName = "MenuSubmenuTriggerPlain";
14236  var MenuSubmenuTrigger = /* @__PURE__ */ React100.forwardRef(function MenuSubmenuTrigger2(props, forwardedRef) {
14237    const filterItem = useMenuFilterItem(props, forwardedRef, "submenu-trigger");
14238    if (!filterItem.visible) {
14239      return null;
14240    }
14241    const mergedProps = filterItem.props ? mergeProps(filterItem.props, props) : props;
14242    return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(MenuSubmenuTriggerPlain, {
14243      ...mergedProps,
14244      ref: filterItem.ref
14245    });
14246  });
14247  if (true) MenuSubmenuTrigger.displayName = "MenuSubmenuTrigger";
14248  
14249  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/store/MenuHandle.mjs
14250  var MenuHandle = class extends BasePopupHandle {
14251    constructor() {
14252      super(createNullMenuStore(), "Menu");
14253    }
14254    /**
14255     * Opens the menu and associates it with the trigger with the given id.
14256     *
14257     * This method should only be called in an event handler or an effect (not during rendering).
14258     *
14259     * @param triggerId ID of the trigger to associate with the menu. The trigger must be a matching
14260     * `Menu.Trigger` with this handle passed as a prop.
14261     */
14262    open(triggerId) {
14263      this.openByTrigger(triggerId);
14264    }
14265    /**
14266     * Closes the menu.
14267     *
14268     * This method should only be called in an event handler or an effect (not during rendering).
14269     */
14270    close() {
14271      this.closePopup();
14272    }
14273    /**
14274     * Whether the menu is currently open. Returns `false` while no root is attached to the handle.
14275     */
14276    get isOpen() {
14277      return this.attachedStore?.select("open") ?? false;
14278    }
14279  };
14280  function createMenuHandle() {
14281    return new MenuHandle();
14282  }
14283  
14284  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-provider/MenuFilterProvider.mjs
14285  var React117 = __toESM(require_react(), 1);
14286  
14287  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/MenuFilterRoot.mjs
14288  var React115 = __toESM(require_react(), 1);
14289  
14290  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/MenuFilterDropdown.mjs
14291  var React113 = __toESM(require_react(), 1);
14292  
14293  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/filter-dropdown/root/FilterDropdownRoot.mjs
14294  var React103 = __toESM(require_react(), 1);
14295  
14296  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useItemRegistry.mjs
14297  var React101 = __toESM(require_react(), 1);
14298  function useItemRegistry() {
14299    const itemRegistry = useRefWithInit(() => /* @__PURE__ */ new Map()).current;
14300    const [registryVersion, setRegistryVersion] = React101.useState(0);
14301    const isUpdateScheduledRef = React101.useRef(false);
14302    const scheduleRegistryUpdate = useStableCallback(() => {
14303      if (isUpdateScheduledRef.current) {
14304        return;
14305      }
14306      isUpdateScheduledRef.current = true;
14307      setRegistryVersion((version2) => version2 + 1);
14308    });
14309    const registerItem = useStableCallback((key, item) => {
14310      itemRegistry.set(key, item);
14311      scheduleRegistryUpdate();
14312      return () => {
14313        itemRegistry.delete(key);
14314        scheduleRegistryUpdate();
14315      };
14316    });
14317    const registeredItems = React101.useMemo(
14318      () => new Map(itemRegistry),
14319      // The mutable registry is stable. Its version explicitly controls when to publish a copy.
14320      // eslint-disable-next-line react-hooks/exhaustive-deps
14321      [registryVersion]
14322    );
14323    useIsoLayoutEffect(() => {
14324      isUpdateScheduledRef.current = false;
14325    }, [registryVersion]);
14326    return {
14327      items: registeredItems,
14328      registerItem,
14329      liveItems: itemRegistry
14330    };
14331  }
14332  
14333  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/filter-dropdown/root/FilterDropdownRootContext.mjs
14334  var React102 = __toESM(require_react(), 1);
14335  function throwMissingFilterRoot() {
14336    throw new Error(true ? "Base UI: Filter parts are missing their filter context and cannot access the query or items. Wrap the component root in its filter provider." : formatErrorMessage_default(103));
14337  }
14338  var FilterDropdownItemContext = /* @__PURE__ */ React102.createContext(null);
14339  if (true) FilterDropdownItemContext.displayName = "FilterDropdownItemContext";
14340  function useFilterDropdownItemContext(optional = false) {
14341    const context = React102.useContext(FilterDropdownItemContext);
14342    if (context === null && !optional) {
14343      throwMissingFilterRoot();
14344    }
14345    return context;
14346  }
14347  var FilterDropdownRootContext = /* @__PURE__ */ React102.createContext(null);
14348  if (true) FilterDropdownRootContext.displayName = "FilterDropdownRootContext";
14349  function useFilterDropdownRootContext(optional = false) {
14350    const context = React102.useContext(FilterDropdownRootContext);
14351    if (context === null && !optional) {
14352      throwMissingFilterRoot();
14353    }
14354    return context;
14355  }
14356  function useFilterContextForList(listRef) {
14357    let context = React102.useContext(FilterDropdownItemContext);
14358    if (listRef === null) {
14359      return null;
14360    }
14361    while (context !== null && context.listRef !== listRef) {
14362      context = context.parent;
14363    }
14364    return context;
14365  }
14366  var FilterDropdownValueContext = /* @__PURE__ */ React102.createContext("");
14367  if (true) FilterDropdownValueContext.displayName = "FilterDropdownValueContext";
14368  function useFilterDropdownValueContext() {
14369    return React102.useContext(FilterDropdownValueContext);
14370  }
14371  
14372  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/filter-dropdown/store.mjs
14373  var selectors3 = {
14374    // A null `visibleItemIds` means no query, so fall back to whether anything registered.
14375    isEmpty: (state) => state.visibleItemIds === null ? state.registeredItemCount === 0 : state.visibleItemIds.size === 0,
14376    isItemVisible: (state, id) => state.visibleItemIds === null || state.visibleItemIds.has(id)
14377  };
14378  var FilterDropdownStore = class extends ReactStore {
14379    constructor() {
14380      super({
14381        visibleItemIds: null,
14382        registeredItemCount: 0
14383      }, EMPTY_OBJECT, selectors3);
14384    }
14385  };
14386  var DETACHED_OWNER = {
14387    registerItem: () => NOOP,
14388    store: new FilterDropdownStore()
14389  };
14390  
14391  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/filter-dropdown/root/FilterDropdownRoot.mjs
14392  var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1);
14393  function FilterDropdownRoot(props) {
14394    const {
14395      children,
14396      open: open2,
14397      disabled: disabled2 = false,
14398      openedByKeyboard = false,
14399      locale,
14400      value,
14401      query,
14402      onValueChange,
14403      filter,
14404      autoHighlight = false,
14405      triggerId: triggerIdProp,
14406      listRef,
14407      getActiveIndex,
14408      setActiveIndex,
14409      focusOwnerRef: focusOwnerRefProp
14410    } = props;
14411    const parentItemContext = React103.useContext(FilterDropdownItemContext);
14412    const [renderedListId, setRenderedListId] = React103.useState(void 0);
14413    const [inputFocusVisible, setInputFocusVisible] = React103.useState(openedByKeyboard);
14414    const [keyboardModality, setKeyboardModality] = React103.useState(openedByKeyboard);
14415    const [previousOpenedByKeyboard, setPreviousOpenedByKeyboard] = React103.useState(openedByKeyboard);
14416    if (openedByKeyboard !== previousOpenedByKeyboard) {
14417      setPreviousOpenedByKeyboard(openedByKeyboard);
14418      setInputFocusVisible(openedByKeyboard);
14419      setKeyboardModality(openedByKeyboard);
14420    }
14421    const {
14422      items: registeredItems,
14423      registerItem: registerInRegistry,
14424      liveItems
14425    } = useItemRegistry();
14426    const defaultId = useBaseUiId();
14427    const store = useRefWithInit(() => new FilterDropdownStore()).current;
14428    const registerItem = useStableCallback((id, item) => {
14429      const unregister = registerInRegistry(id, item);
14430      store.set("registeredItemCount", liveItems.size);
14431      return () => {
14432        unregister();
14433        store.set("registeredItemCount", liveItems.size);
14434      };
14435    });
14436    const fallbackFocusOwnerRef = React103.useRef(null);
14437    const lastFilterQueryRef = React103.useRef(null);
14438    const defaultMatchItem = React103.useMemo(() => getFilter({
14439      locale
14440    }).contains, [locale]);
14441    const focusOwnerRef = focusOwnerRefProp ?? fallbackFocusOwnerRef;
14442    const filterQuery = (query ?? value).trim();
14443    const matchItem = filterQuery === "" || filter === null ? null : filter ?? defaultMatchItem;
14444    const autoHighlightEnabled = open2 && (autoHighlight === "always" || autoHighlight && filterQuery !== "");
14445    const defaultListId = defaultId ? `$defaultId}-list` : void 0;
14446    const listId = (renderedListId ?? defaultListId) || void 0;
14447    const triggerId = triggerIdProp || void 0;
14448    const handleValueChange = useStableCallback((nextValue, eventDetails) => {
14449      onValueChange?.(nextValue, eventDetails);
14450      if (!eventDetails.isCanceled && !autoHighlight) {
14451        setActiveIndex(null);
14452      }
14453    });
14454    const handleItemsChange = useStableCallback((previousItems) => {
14455      const items = listRef.current;
14456      const activeIndex = getActiveIndex();
14457      if (activeIndex != null && items[activeIndex] != null && items[activeIndex] === previousItems[activeIndex]) {
14458        return;
14459      }
14460      setActiveIndex(autoHighlightEnabled && items.length > 0 ? 0 : null);
14461    });
14462    useIsoLayoutEffect(() => {
14463      if (!open2 && query === void 0) {
14464        return;
14465      }
14466      const queryChanged = lastFilterQueryRef.current !== null && lastFilterQueryRef.current !== filterQuery;
14467      lastFilterQueryRef.current = filterQuery;
14468      if (matchItem === null) {
14469        store.set("visibleItemIds", null);
14470        if (autoHighlightEnabled && liveItems.size > 0) {
14471          if (queryChanged || getActiveIndex() == null) {
14472            setActiveIndex(0);
14473          }
14474        } else if (filterQuery === "" && queryChanged) {
14475          setActiveIndex(null);
14476        }
14477        return;
14478      }
14479      const currentIds = store.state.visibleItemIds;
14480      if (currentIds === null && liveItems.size === 0) {
14481        return;
14482      }
14483      const nextIds = /* @__PURE__ */ new Set();
14484      let hasNewMatch = currentIds === null;
14485      liveItems.forEach(({
14486        getText
14487      }, id) => {
14488        const text = getText();
14489        if (text != null && matchItem(text, filterQuery)) {
14490          nextIds.add(id);
14491          hasNewMatch ||= !currentIds?.has(id);
14492        }
14493      });
14494      if (hasNewMatch || currentIds?.size !== nextIds.size) {
14495        if (autoHighlightEnabled && nextIds.size > 0) {
14496          setActiveIndex(0);
14497        } else if (currentIds !== null || queryChanged) {
14498          setActiveIndex(null);
14499        }
14500        store.set("visibleItemIds", nextIds);
14501      } else if (autoHighlightEnabled && queryChanged && nextIds.size > 0) {
14502        setActiveIndex(0);
14503      }
14504    }, [open2, query, filterQuery, registeredItems, liveItems, matchItem, autoHighlightEnabled, store, setActiveIndex, getActiveIndex]);
14505    const contextValue = React103.useMemo(() => ({
14506      open: open2,
14507      disabled: disabled2,
14508      inputFocusVisible,
14509      setInputFocusVisible,
14510      keyboardModality,
14511      setKeyboardModality,
14512      autoHighlight,
14513      triggerId,
14514      defaultListId,
14515      listId,
14516      setRenderedListId,
14517      focusOwnerRef,
14518      setActiveIndex,
14519      onItemsChange: handleItemsChange,
14520      onValueChange: handleValueChange
14521    }), [open2, disabled2, inputFocusVisible, keyboardModality, autoHighlight, triggerId, defaultListId, listId, focusOwnerRef, setActiveIndex, handleItemsChange, handleValueChange]);
14522    const itemContextValue = React103.useMemo(() => ({
14523      parent: parentItemContext,
14524      store,
14525      registerItem,
14526      listRef
14527    }), [parentItemContext, store, registerItem, listRef]);
14528    return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(FilterDropdownItemContext.Provider, {
14529      value: itemContextValue,
14530      children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(FilterDropdownRootContext.Provider, {
14531        value: contextValue,
14532        children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(FilterDropdownValueContext.Provider, {
14533          value: query ?? value,
14534          children
14535        })
14536      })
14537    });
14538  }
14539  
14540  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/filter-dropdown/root/useFilterDropdownCloseQuery.mjs
14541  var React104 = __toESM(require_react(), 1);
14542  function useFilterDropdownCloseQuery(parameters) {
14543    const {
14544      open: open2,
14545      mounted,
14546      value,
14547      onValueChange
14548    } = parameters;
14549    const [closeQuery, setCloseQuery] = React104.useState(null);
14550    const previousOpenRef = React104.useRef(open2);
14551    useIsoLayoutEffect(() => {
14552      const wasOpen = previousOpenRef.current;
14553      previousOpenRef.current = open2;
14554      if (wasOpen && !open2 && value !== "") {
14555        setCloseQuery(value);
14556        onValueChange("", createChangeEventDetails(reason_parts_exports.popupClose));
14557      } else if ((open2 || !mounted) && closeQuery !== null) {
14558        setCloseQuery(null);
14559      }
14560    }, [open2, mounted, value, closeQuery, onValueChange]);
14561    return !open2 && closeQuery !== null ? closeQuery : value;
14562  }
14563  
14564  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/MenuFilterPopup.mjs
14565  var React106 = __toESM(require_react(), 1);
14566  
14567  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/useMenuFilterPopup.mjs
14568  var React105 = __toESM(require_react(), 1);
14569  
14570  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/filter-dropdown/utils/refocusOwner.mjs
14571  var refocusing = false;
14572  function refocusOwner(owner) {
14573    refocusing = true;
14574    try {
14575      owner.focus({
14576        preventScroll: true
14577      });
14578    } finally {
14579      refocusing = false;
14580    }
14581  }
14582  function isRefocusingOwner() {
14583    return refocusing;
14584  }
14585  
14586  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/useMenuFilterPopup.mjs
14587  function useMenuFilterPopup(orientation) {
14588    const context = useFilterDropdownRootContext();
14589    const direction = useDirection();
14590    const {
14591      focusOwnerRef
14592    } = context;
14593    const nestedFocusRef = React105.useRef(null);
14594    const pointerTypeRef = React105.useRef("mouse");
14595    function trackPointerType(event) {
14596      pointerTypeRef.current = event.pointerType || "mouse";
14597    }
14598    if (true) {
14599      React105.useEffect(() => {
14600        if (context.open && focusOwnerRef.current === null) {
14601          warn("A filterable menu opened without a <Menu.Input>. Render the input inside <Menu.Popup>, or drop <Menu.FilterProvider> for a menu that does not filter.");
14602        }
14603      }, [context.open, focusOwnerRef]);
14604    }
14605    function restoreInputFocus(event, enteredTrigger) {
14606      const focusOwner = focusOwnerRef.current;
14607      if (!context.open || !focusOwner) {
14608        return;
14609      }
14610      const activeEl = activeElement(ownerDocument(event.currentTarget));
14611      if (activeEl === focusOwner || contains(event.currentTarget, activeEl)) {
14612        return;
14613      }
14614      let submenuTrigger = null;
14615      const nearestPopup = event.nativeEvent.composedPath().find((node) => {
14616        if (!isHTMLElement(node)) {
14617          return false;
14618        }
14619        if (node.getAttribute("role") === "dialog" || node.hasAttribute("data-rootownerid")) {
14620          return true;
14621        }
14622        if (node.hasAttribute("aria-haspopup")) {
14623          submenuTrigger = node;
14624        }
14625        return false;
14626      });
14627      if (nearestPopup !== event.currentTarget) {
14628        return;
14629      }
14630      if (nestedFocusRef.current && !(enteredTrigger && submenuTrigger)) {
14631        return;
14632      }
14633      if (enteredTrigger && submenuTrigger && isElement(event.relatedTarget) && contains(submenuTrigger, event.relatedTarget)) {
14634        return;
14635      }
14636      refocusOwner(focusOwner);
14637    }
14638    return {
14639      // The input owns virtual focus.
14640      "aria-activedescendant": void 0,
14641      // Not valid on a dialog; the list's implicit orientation is already vertical.
14642      "aria-orientation": void 0,
14643      onMouseDown(event) {
14644        if (getTarget(event.nativeEvent) === event.currentTarget) {
14645          event.preventDefault();
14646        }
14647      },
14648      onPointerDown: trackPointerType,
14649      // `pointerover` precedes the compatibility `mouseover`, so a mouse entering right after a tap
14650      // is recognized before the handoff below.
14651      onPointerOver: trackPointerType,
14652      onPointerMove: trackPointerType,
14653      onMouseMove(event) {
14654        if (pointerTypeRef.current === "mouse") {
14655          restoreInputFocus(event, false);
14656        }
14657      },
14658      onMouseOver(event) {
14659        if (pointerTypeRef.current === "mouse" && nestedFocusRef.current) {
14660          restoreInputFocus(event, true);
14661        }
14662      },
14663      onFocus(event) {
14664        const target = getTarget(event.nativeEvent);
14665        if (target === focusOwnerRef.current) {
14666          nestedFocusRef.current = null;
14667        } else if (isHTMLElement(target) && !contains(event.currentTarget, target) && !isRefocusingOwner()) {
14668          nestedFocusRef.current = target;
14669        }
14670        if (context.open && target === event.currentTarget) {
14671          focusOwnerRef.current?.focus({
14672            preventScroll: true
14673          });
14674        }
14675      },
14676      onKeyDown(event) {
14677        const target = getTarget(event.nativeEvent);
14678        if (target === focusOwnerRef.current || isTypeableElement(target)) {
14679          return;
14680        }
14681        if (isCrossOrientationCloseKey(event.key, orientation, direction === "rtl", false)) {
14682          focusOwnerRef.current?.focus({
14683            preventScroll: true
14684          });
14685          event.stopPropagation();
14686        }
14687      }
14688    };
14689  }
14690  
14691  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/MenuFilterPopup.mjs
14692  var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);
14693  var MenuFilterPopup = /* @__PURE__ */ React106.forwardRef(function MenuFilterPopup2(props, forwardedRef) {
14694    const {
14695      store,
14696      orientation
14697    } = useMenuRootContext();
14698    const open2 = store.useState("open");
14699    const parent = store.useState("parent");
14700    const openMethod = store.useState("openMethod");
14701    const lastOpenChangeReason = store.useState("lastOpenChangeReason");
14702    const interactionProps = useMenuFilterPopup(orientation);
14703    const openedByHover = open2 && lastOpenChangeReason === reason_parts_exports.triggerHover;
14704    const mayFocusInput = parent.type !== "menu" || open2 && (openMethod === "keyboard" || lastOpenChangeReason === reason_parts_exports.listNavigation || lastOpenChangeReason === reason_parts_exports.triggerHover || lastOpenChangeReason === reason_parts_exports.triggerPress);
14705    let initialFocus = false;
14706    if (mayFocusInput) {
14707      initialFocus = () => {
14708        const touchOpen = (openMethod === "touch" || openMethod === "pen") && !store.context.virtualPress;
14709        if (openedByHover || touchOpen) {
14710          return false;
14711        }
14712        return store.context.virtualFocusRef?.current ?? false;
14713      };
14714    }
14715    const popupProps = mergeProps(interactionProps, props);
14716    return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(MenuPopupPlain, {
14717      ...popupProps,
14718      role: "dialog",
14719      initialFocus,
14720      ref: forwardedRef
14721    });
14722  });
14723  if (true) MenuFilterPopup.displayName = "MenuFilterPopup";
14724  
14725  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/MenuFilterList.mjs
14726  var React109 = __toESM(require_react(), 1);
14727  
14728  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/filter-dropdown/list/FilterDropdownList.mjs
14729  var React108 = __toESM(require_react(), 1);
14730  
14731  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/filter-dropdown/group/FilterDropdownGroupContext.mjs
14732  var React107 = __toESM(require_react(), 1);
14733  var FilterDropdownGroupContext = /* @__PURE__ */ React107.createContext(null);
14734  if (true) FilterDropdownGroupContext.displayName = "FilterDropdownGroupContext";
14735  function useFilterDropdownGroupContext() {
14736    return React107.useContext(FilterDropdownGroupContext);
14737  }
14738  
14739  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/filter-dropdown/list/FilterDropdownList.mjs
14740  var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);
14741  var FilterDropdownList = /* @__PURE__ */ React108.forwardRef(function FilterDropdownList2(componentProps, forwardedRef) {
14742    const {
14743      render,
14744      className,
14745      style,
14746      id: idProp,
14747      ...elementProps
14748    } = componentProps;
14749    const context = useFilterDropdownRootContext();
14750    const [id, registerIdRef] = useRenderedId(componentProps, context.defaultListId, context.setRenderedListId);
14751    const defaultProps = {
14752      // Chromium includes scrollable elements in sequential focus navigation by default.
14753      tabIndex: -1,
14754      id,
14755      onFocus(event) {
14756        const owner = context.focusOwnerRef.current;
14757        if (owner && event.relatedTarget === owner && getTarget(event.nativeEvent) === event.currentTarget) {
14758          refocusOwner(owner);
14759        }
14760      },
14761      onPointerMove() {
14762        context.setKeyboardModality(false);
14763      },
14764      onPointerDown() {
14765        context.setKeyboardModality(false);
14766      }
14767    };
14768    return useRenderElement("div", componentProps, {
14769      ref: [forwardedRef, registerIdRef],
14770      props: [defaultProps, elementProps, {
14771        // The list's groups and items belong to this root's query. A nested root's list renders
14772        // inside an enclosing group, which must not count them as its own members.
14773        children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(FilterDropdownGroupContext.Provider, {
14774          value: null,
14775          children: elementProps.children
14776        })
14777      }]
14778    });
14779  });
14780  if (true) FilterDropdownList.displayName = "FilterDropdownList";
14781  
14782  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/useMenuFilterKeyDown.mjs
14783  function getMenuFilterKeyAction(event, context) {
14784    const {
14785      orientation,
14786      rtl,
14787      hasActiveItem,
14788      activeItemOpensSubmenu,
14789      hasValue
14790    } = context;
14791    const {
14792      key
14793    } = event;
14794    if (event.which === 229) {
14795      return "ignore";
14796    }
14797    if (key === "Tab") {
14798      return event.shiftKey ? "close" : "ignore";
14799    }
14800    if (key === "Enter") {
14801      return hasActiveItem ? "activate" : "navigate";
14802    }
14803    const isArrow = key.startsWith("Arrow");
14804    const isBoundary = key === "Home" || key === "End";
14805    if (event.shiftKey || event.ctrlKey || event.altKey || event.metaKey) {
14806      return isArrow || isBoundary || key.length === 1 ? "edit" : "navigate";
14807    }
14808    if (key.length === 1) {
14809      return "edit";
14810    }
14811    if (isBoundary) {
14812      return hasActiveItem && !hasValue ? "navigate" : "edit";
14813    }
14814    if (!isArrow) {
14815      return "navigate";
14816    }
14817    if (isMainOrientationKey(key, orientation)) {
14818      return orientation === "horizontal" && !hasActiveItem && hasValue ? "edit" : "navigate";
14819    }
14820    if (activeItemOpensSubmenu && (isCrossOrientationOpenKey(key, orientation, rtl) || isCrossOrientationCloseKey(key, orientation, rtl, false))) {
14821      return "submenu";
14822    }
14823    if (orientation === "horizontal" && !hasActiveItem) {
14824      return "enter-list";
14825    }
14826    return hasValue ? "edit" : "navigate";
14827  }
14828  function useMenuFilterKeyDown(hasValue) {
14829    const {
14830      orientation,
14831      store
14832    } = useMenuRootContext();
14833    const submenuContext = useMenuSubmenuRootContext();
14834    const direction = useDirection();
14835    return useStableCallback((event) => {
14836      if (!store.select("open")) {
14837        return;
14838      }
14839      const activeItem = store.state.highlightedItem;
14840      const action = getMenuFilterKeyAction(event, {
14841        orientation,
14842        rtl: direction === "rtl",
14843        hasActiveItem: activeItem != null,
14844        activeItemOpensSubmenu: activeItem?.hasAttribute("aria-haspopup") ?? false,
14845        hasValue
14846      });
14847      switch (action) {
14848        case "edit":
14849          event.stopPropagation();
14850          if (event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
14851            store.state.inputProps.onKeyDown?.(event);
14852          }
14853          break;
14854        case "navigate": {
14855          if (isMainOrientationKey(event.key, orientation)) {
14856            event.stopPropagation();
14857          }
14858          store.state.inputProps.onKeyDown?.(event);
14859          break;
14860        }
14861        case "enter-list": {
14862          event.stopPropagation();
14863          const listRef = store.context.itemDomElements;
14864          const index2 = event.key === "ArrowDown" ? getMinListIndex(listRef, EMPTY_ARRAY) : getMaxListIndex(listRef, EMPTY_ARRAY);
14865          if (listRef.current[index2]) {
14866            event.preventDefault();
14867            store.setActiveIndex(index2, reason_parts_exports.keyboard, event.nativeEvent);
14868          }
14869          break;
14870        }
14871        case "submenu": {
14872          stopEvent(event);
14873          const KeyboardEventConstructor = getWindow(activeItem).KeyboardEvent;
14874          activeItem.dispatchEvent(new KeyboardEventConstructor(event.type, event.nativeEvent));
14875          break;
14876        }
14877        case "activate":
14878          event.preventDefault();
14879          dispatchClickWithModifiers(activeItem, event);
14880          break;
14881        case "close": {
14882          stopEvent(event);
14883          const returnElement = store.state.parent.type === "menu" && submenuContext?.getReturnElement?.() || store.state.activeTriggerElement;
14884          const details = createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent);
14885          store.setOpen(false, details);
14886          if (!details.isCanceled && isHTMLElement(returnElement)) {
14887            returnElement.focus();
14888          }
14889          break;
14890        }
14891        default:
14892          break;
14893      }
14894    });
14895  }
14896  
14897  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/moveHighlightFrom.mjs
14898  function moveHighlightFrom(store, item, event, options) {
14899    const {
14900      orientation,
14901      rtl,
14902      loopFocus,
14903      allowEscape
14904    } = options;
14905    const listRef = store.context.itemDomElements;
14906    const items = listRef.current;
14907    const {
14908      index: index2
14909    } = getNextListIndex(items, items.indexOf(item), {
14910      decrement: !isMainOrientationToEndKey(event.key, orientation, rtl),
14911      loopFocus,
14912      allowEscape,
14913      // Match the menu's list navigation: `aria-disabled` items stay reachable.
14914      disabledIndices: EMPTY_ARRAY,
14915      minIndex: getMinListIndex(listRef, EMPTY_ARRAY),
14916      maxIndex: getMaxListIndex(listRef, EMPTY_ARRAY)
14917    });
14918    const next = items[index2];
14919    if (next) {
14920      store.setActiveIndex(index2, reason_parts_exports.keyboard, event.nativeEvent);
14921      next.scrollIntoView?.({
14922        block: "nearest",
14923        inline: "nearest"
14924      });
14925    }
14926    return next ?? void 0;
14927  }
14928  
14929  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/MenuFilterList.mjs
14930  var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);
14931  var MenuFilterList = /* @__PURE__ */ React109.forwardRef(function MenuFilterList2(componentProps, forwardedRef) {
14932    const {
14933      store,
14934      orientation,
14935      loopFocus,
14936      allowEscape
14937    } = useMenuRootContext();
14938    const direction = useDirection();
14939    const {
14940      onItemsChange,
14941      focusOwnerRef,
14942      triggerId
14943    } = useFilterDropdownRootContext();
14944    const {
14945      listRef
14946    } = useFilterDropdownItemContext();
14947    const {
14948      subscribeMapChange
14949    } = useCompositeListContext();
14950    const value = useFilterDropdownValueContext();
14951    const handleInputKeyDown = useMenuFilterKeyDown(value !== "");
14952    const handleKeyDown = useStableCallback((event) => {
14953      const owner = focusOwnerRef.current;
14954      const target = getTarget(event.nativeEvent);
14955      const ownerFocused = owner != null && activeElement(ownerDocument(owner)) === owner;
14956      const fromNestedPopup = !contains(event.currentTarget, target);
14957      if (owner == null || ownerFocused || fromNestedPopup) {
14958        if (event.which !== 229 && !event.shiftKey && !event.ctrlKey && !event.metaKey && !event.altKey && isMainOrientationKey(event.key, orientation)) {
14959          event.stopPropagation();
14960          const trigger = fromNestedPopup && ownerFocused ? getNestedPopupTrigger(target) : void 0;
14961          if (trigger) {
14962            moveHighlightFrom(store, trigger, event, {
14963              orientation,
14964              rtl: direction === "rtl",
14965              loopFocus,
14966              allowEscape
14967            });
14968          }
14969        }
14970        return;
14971      }
14972      if (event.defaultPrevented) {
14973        return;
14974      }
14975      refocusOwner(owner);
14976      handleInputKeyDown(event);
14977    });
14978    function getNestedPopupTrigger(target) {
14979      const root = target.getRootNode();
14980      return listRef.current.find((item) => {
14981        const popupId = item?.getAttribute("aria-controls");
14982        return popupId != null && isHTMLElement(item) && contains(root.getElementById(popupId), target);
14983      });
14984    }
14985    const previousItemsRef = React109.useRef(null);
14986    const handleItemMapChange = useStableCallback(() => {
14987      const items = [...listRef.current];
14988      const previousItems = previousItemsRef.current;
14989      const changed = previousItems === null || previousItems.length !== items.length || items.some((item, index2) => item !== previousItems[index2]);
14990      if (changed && previousItems !== null) {
14991        onItemsChange(previousItems);
14992      }
14993      previousItemsRef.current = items;
14994    });
14995    useIsoLayoutEffect(() => {
14996      return subscribeMapChange(handleItemMapChange);
14997    }, [subscribeMapChange, handleItemMapChange]);
14998    const ariaLabelledBy = resolvePopupLabel(componentProps, null, triggerId ?? null);
14999    const listProps = mergeProps({
15000      role: "menu",
15001      "aria-labelledby": ariaLabelledBy,
15002      "aria-orientation": orientation === "horizontal" ? "horizontal" : void 0,
15003      onKeyDown: handleKeyDown
15004    }, componentProps);
15005    return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(FilterDropdownList, {
15006      ...listProps,
15007      ref: forwardedRef
15008    });
15009  });
15010  if (true) MenuFilterList.displayName = "MenuFilterList";
15011  
15012  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/MenuFilterGroup.mjs
15013  var React111 = __toESM(require_react(), 1);
15014  
15015  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/filter-dropdown/group/useFilterDropdownGroup.mjs
15016  var React110 = __toESM(require_react(), 1);
15017  function isGroupHidden(state, items) {
15018    if (state.visibleItemIds === null || items.size === 0) {
15019      return false;
15020    }
15021    for (const [id, retained] of items) {
15022      if (retained || state.visibleItemIds.has(id)) {
15023        return false;
15024      }
15025    }
15026    return true;
15027  }
15028  function useFilterDropdownGroup() {
15029    const {
15030      store
15031    } = useFilterDropdownItemContext();
15032    const parentContext = useFilterDropdownGroupContext();
15033    const {
15034      items,
15035      registerItem
15036    } = useItemRegistry();
15037    const hidden = useStore(store, isGroupHidden, items);
15038    const groupId = useRefWithInit(() => /* @__PURE__ */ Symbol("filter-dropdown-group")).current;
15039    const registerInParent = parentContext?.registerItem;
15040    useIsoLayoutEffect(() => registerInParent?.(groupId, !hidden), [registerInParent, groupId, hidden]);
15041    const context = React110.useMemo(() => ({
15042      registerItem
15043    }), [registerItem]);
15044    return {
15045      hidden,
15046      context
15047    };
15048  }
15049  
15050  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/MenuFilterGroup.mjs
15051  var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1);
15052  var MenuFilterGroup = /* @__PURE__ */ React111.forwardRef(function MenuFilterGroup2(props, forwardedRef) {
15053    const {
15054      hidden,
15055      context
15056    } = useFilterDropdownGroup();
15057    return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(FilterDropdownGroupContext.Provider, {
15058      value: context,
15059      children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(MenuGroupPlain, {
15060        ...props,
15061        hidden: hidden || props.hidden || void 0,
15062        ref: forwardedRef
15063      })
15064    });
15065  });
15066  if (true) MenuFilterGroup.displayName = "MenuFilterGroup";
15067  var MenuFilterRadioGroup = /* @__PURE__ */ React111.forwardRef(function MenuFilterRadioGroup2(props, forwardedRef) {
15068    const {
15069      hidden,
15070      context
15071    } = useFilterDropdownGroup();
15072    return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(FilterDropdownGroupContext.Provider, {
15073      value: context,
15074      children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(MenuRadioGroupPlain, {
15075        ...props,
15076        hidden: hidden || props.hidden || void 0,
15077        ref: forwardedRef
15078      })
15079    });
15080  });
15081  if (true) MenuFilterRadioGroup.displayName = "MenuFilterRadioGroup";
15082  
15083  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/filter-dropdown/item/useFilterDropdownItem.mjs
15084  var React112 = __toESM(require_react(), 1);
15085  function childrenText(children) {
15086    if (typeof children === "string" || typeof children === "number") {
15087      return String(children);
15088    }
15089    if (Array.isArray(children)) {
15090      return children.map(childrenText).join("");
15091    }
15092    if (/* @__PURE__ */ React112.isValidElement(children)) {
15093      return childrenText(children.props.children);
15094    }
15095    return "";
15096  }
15097  function useFilterDropdownItem(params) {
15098    const {
15099      label,
15100      retainGroup = false,
15101      children,
15102      render,
15103      context
15104    } = params;
15105    const nearestContext = useFilterDropdownItemContext(context !== void 0);
15106    const groupContext = useFilterDropdownGroupContext();
15107    const owner = context === void 0 ? nearestContext : context;
15108    const {
15109      registerItem,
15110      store
15111    } = owner ?? DETACHED_OWNER;
15112    const registerGroupItem = groupContext?.registerItem;
15113    const itemId = useRefWithInit(() => /* @__PURE__ */ Symbol("filter-dropdown-item")).current;
15114    const ref = React112.useRef(null);
15115    const registeredTextRef = React112.useRef(void 0);
15116    const matched = useStore(store, selectors3.isItemVisible, itemId);
15117    const [registered, setRegistered] = React112.useState(matched);
15118    const childrenRef = useValueAsRef(children);
15119    const renderRef = useValueAsRef(render);
15120    const childrenTextRef = React112.useRef(void 0);
15121    const resolveText = React112.useCallback(() => {
15122      if (label != null) {
15123        return label;
15124      }
15125      const fromChildren = childrenText(childrenRef.current ?? unwrapLazyRenderProp(renderRef.current));
15126      const previousChildrenText = childrenTextRef.current;
15127      childrenTextRef.current = fromChildren;
15128      if (ref.current !== null) {
15129        return ref.current.textContent ?? "";
15130      }
15131      if (registeredTextRef.current !== void 0 && fromChildren === previousChildrenText) {
15132        return registeredTextRef.current;
15133      }
15134      return fromChildren;
15135    }, [label, childrenRef, renderRef]);
15136    const register2 = React112.useCallback((resolvedText) => {
15137      const text = resolvedText ?? resolveText();
15138      if (text) {
15139        registeredTextRef.current = text;
15140      }
15141      return registerItem(itemId, {
15142        getText() {
15143          if (label == null && ref.current) {
15144            registeredTextRef.current = ref.current.textContent ?? "";
15145          }
15146          return registeredTextRef.current;
15147        }
15148      });
15149    }, [itemId, label, registerItem, resolveText]);
15150    useIsoLayoutEffect(() => {
15151      const unregister = register2();
15152      setRegistered(true);
15153      return unregister;
15154    }, [register2]);
15155    useIsoLayoutEffect(() => registerGroupItem?.(itemId, retainGroup), [registerGroupItem, itemId, retainGroup]);
15156    useIsoLayoutEffect(() => {
15157      const text = resolveText();
15158      if (text !== registeredTextRef.current) {
15159        registeredTextRef.current = text;
15160        void register2(text);
15161      }
15162    }, [register2, resolveText, children, render, label]);
15163    return {
15164      visible: !registered || matched,
15165      ref
15166    };
15167  }
15168  
15169  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/useMenuFilterSubmenuTrigger.mjs
15170  function useMenuFilterSubmenuTrigger(params) {
15171    const {
15172      store,
15173      virtualFocus
15174    } = useMenuRootContext();
15175    const open2 = store.useState("open");
15176    const mounted = store.useState("mounted");
15177    const parent = store.useState("parent");
15178    const parentListRef = parent.type === "menu" ? parent.store.context.itemDomElements : null;
15179    const parentContext = useFilterContextForList(parentListRef);
15180    const {
15181      visible,
15182      ref
15183    } = useFilterDropdownItem({
15184      ...params,
15185      context: parentContext,
15186      retainGroup: mounted
15187    });
15188    useIsoLayoutEffect(() => {
15189      if (visible || !open2) {
15190        return;
15191      }
15192      store.setOpen(false, createChangeEventDetails(reason_parts_exports.none));
15193    }, [visible, open2, store]);
15194    const clickProps = useEnhancedClickHandler((event, interactionType) => {
15195      if (event.type === "click" && store.select("open") && (interactionType === "keyboard" || interactionType === "mouse" && store.select("lastOpenChangeReason") === reason_parts_exports.triggerPress)) {
15196        store.context.virtualFocusRef?.current?.focus({
15197          preventScroll: true
15198        });
15199      }
15200    });
15201    const props = {
15202      // Omitted rather than `undefined`, which would clear the `'menu'` the root puts on every
15203      // trigger.
15204      ...virtualFocus ? {
15205        "aria-haspopup": "dialog"
15206      } : void 0,
15207      ...clickProps,
15208      onPointerDown(event) {
15209        clickProps.onPointerDown(event);
15210        store.context.virtualPress = isVirtualPointerEvent(event.nativeEvent);
15211      },
15212      onFocus(event) {
15213        const focusOwner = store.context.virtualFocusRef?.current;
15214        if (focusOwner && store.select("open") && event.relatedTarget === focusOwner) {
15215          event.preventBaseUIHandler();
15216          focusOwner.focus({
15217            preventScroll: true
15218          });
15219        }
15220      }
15221    };
15222    if (parentContext === null) {
15223      return {
15224        visible: true,
15225        ref: null,
15226        props
15227      };
15228    }
15229    return {
15230      visible: visible || mounted,
15231      ref,
15232      props
15233    };
15234  }
15235  
15236  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/useVirtualFocusParentHandoff.mjs
15237  function useVirtualFocusParentHandoff(store, parent, open2, virtualFocus) {
15238    const parentStore = parent.type === "menu" ? parent.store : null;
15239    const parentVirtualFocusRef = parentStore?.context.virtualFocusRef;
15240    const returnToParent = useStableCallback((trigger, reason) => {
15241      const focusOwner = parentVirtualFocusRef?.current;
15242      if (virtualFocus || store.select("open") || !parentStore?.select("open") || !focusOwner) {
15243        return;
15244      }
15245      if (contains(store.context.popupRef.current, activeElement(ownerDocument(focusOwner)))) {
15246        focusOwner.focus({
15247          preventScroll: true
15248        });
15249      }
15250      if ((reason === reason_parts_exports.listNavigation || reason === reason_parts_exports.escapeKey) && parentStore.state.activeIndex == null) {
15251        parentStore.highlightItem(trigger, reason_parts_exports.none);
15252      }
15253    });
15254    useIsoLayoutEffect(() => {
15255      if (!open2) {
15256        const trigger = store.state.activeTriggerElement;
15257        const reason = store.select("lastOpenChangeReason");
15258        queueMicrotask(() => returnToParent(trigger, reason));
15259      }
15260    }, [open2, store, returnToParent]);
15261    function handleFocus() {
15262      if (!virtualFocus && parentVirtualFocusRef && parentStore?.state.activeIndex != null) {
15263        parentStore.setActiveIndex(null, reason_parts_exports.none);
15264      }
15265    }
15266    return {
15267      parentVirtualFocusRef,
15268      handleFocus
15269    };
15270  }
15271  
15272  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/MenuFilterImpl.mjs
15273  var MENU_FILTER_IMPL = {
15274    Popup: MenuFilterPopup,
15275    List: MenuFilterList,
15276    Group: MenuFilterGroup,
15277    RadioGroup: MenuFilterRadioGroup,
15278    useItem: useFilterDropdownItem,
15279    useSubmenuTrigger: useMenuFilterSubmenuTrigger,
15280    useParentHandoff: useVirtualFocusParentHandoff
15281  };
15282  
15283  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/MenuFilterDropdown.mjs
15284  var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1);
15285  function MenuFilterDropdown(props) {
15286    const {
15287      value: valueProp,
15288      defaultValue = "",
15289      onValueChange,
15290      ...dropdownProps
15291    } = props;
15292    const {
15293      store
15294    } = useMenuRootContext();
15295    const open2 = store.useState("open");
15296    const mounted = store.useState("mounted");
15297    const keyboardOpen = store.useState("keyboardOpen");
15298    const activeTriggerId = store.useState("activeTriggerId");
15299    const activeTriggerElement = store.useState("activeTriggerElement");
15300    const disabled2 = store.useState("disabled");
15301    const [value, setValue] = useControlled({
15302      controlled: valueProp,
15303      default: defaultValue,
15304      name: "MenuFilterProvider",
15305      state: "value"
15306    });
15307    const handleValueChange = useStableCallback((nextValue, eventDetails) => {
15308      onValueChange?.(nextValue, eventDetails);
15309      if (!eventDetails.isCanceled) {
15310        setValue(nextValue);
15311      }
15312    });
15313    const getActiveIndex = useStableCallback(() => store.state.activeIndex);
15314    const setActiveIndex = useStableCallback((index2) => {
15315      store.setActiveIndex(index2, reason_parts_exports.none);
15316    });
15317    const query = useFilterDropdownCloseQuery({
15318      open: open2,
15319      mounted,
15320      value,
15321      onValueChange: handleValueChange
15322    });
15323    const filterTriggerProps = useFilterTriggerProps(value !== "");
15324    useRefWithInit(() => {
15325      store.set("filterTriggerProps", filterTriggerProps);
15326      return null;
15327    });
15328    store.useSyncedValue("filterTriggerProps", filterTriggerProps);
15329    useIsoLayoutEffect(() => {
15330      if (!open2) {
15331        store.set("keyboardOpen", false);
15332      }
15333    }, [open2, store]);
15334    const triggerId = activeTriggerElement ? activeTriggerElement.id || null : activeTriggerId;
15335    return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(MenuFilterImplContext.Provider, {
15336      value: MENU_FILTER_IMPL,
15337      children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(FilterDropdownRoot, {
15338        ...dropdownProps,
15339        open: open2,
15340        openedByKeyboard: keyboardOpen,
15341        disabled: disabled2,
15342        value,
15343        query,
15344        onValueChange: handleValueChange,
15345        triggerId,
15346        listRef: store.context.itemDomElements,
15347        getActiveIndex,
15348        setActiveIndex,
15349        focusOwnerRef: store.context.virtualFocusRef
15350      })
15351    });
15352  }
15353  function useFilterTriggerProps(hasValue) {
15354    const {
15355      store
15356    } = useMenuRootContext();
15357    const isInMenubar = useMenubarContext(true) != null;
15358    const handleInputKeyDown = useMenuFilterKeyDown(hasValue);
15359    return React113.useMemo(() => ({
15360      "aria-haspopup": "dialog",
15361      onPointerDown(event) {
15362        store.context.virtualPress = isVirtualPointerEvent(event.nativeEvent);
15363      },
15364      onKeyDown(event) {
15365        const focusOwner = store.context.virtualFocusRef?.current;
15366        if (!store.select("open") || !focusOwner || isInMenubar) {
15367          return;
15368        }
15369        if (event.key === "ArrowUp" || event.key === "ArrowDown") {
15370          focusOwner.focus({
15371            preventScroll: true
15372          });
15373          handleInputKeyDown(event);
15374          event.preventDefault();
15375          event.preventBaseUIHandler();
15376        } else if (event.key === "ArrowLeft" || event.key === "ArrowRight") {
15377          event.preventBaseUIHandler();
15378        } else if (isTypeaheadKey(event)) {
15379          focusOwner.focus({
15380            preventScroll: true
15381          });
15382        }
15383      }
15384    }), [store, isInMenubar, handleInputKeyDown]);
15385  }
15386  function isTypeaheadKey(event) {
15387    return event.key.length === 1 && event.key !== " " && !event.ctrlKey && !event.metaKey && !event.altKey;
15388  }
15389  
15390  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/useMenuFilterRoot.mjs
15391  var React114 = __toESM(require_react(), 1);
15392  function useMenuFilterRoot(props) {
15393    const {
15394      children,
15395      value,
15396      defaultValue,
15397      onValueChange,
15398      filter,
15399      autoHighlight = false,
15400      locale,
15401      ...otherProps
15402    } = props;
15403    const virtualFocusRef = React114.useRef(null);
15404    return {
15405      children,
15406      rootProps: {
15407        ...otherProps,
15408        virtualFocus: true,
15409        virtualFocusRef,
15410        allowEscape: !autoHighlight,
15411        resetOnPointerLeave: autoHighlight !== "always"
15412      },
15413      dropdownProps: {
15414        value,
15415        defaultValue,
15416        onValueChange,
15417        filter,
15418        autoHighlight,
15419        locale
15420      }
15421    };
15422  }
15423  
15424  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-root/MenuFilterRoot.mjs
15425  var import_jsx_runtime31 = __toESM(require_jsx_runtime(), 1);
15426  function MenuFilterRoot(props) {
15427    const {
15428      children,
15429      rootProps,
15430      dropdownProps
15431    } = useMenuFilterRoot(props);
15432    return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(MenuRootInternal, {
15433      ...rootProps,
15434      children: (payload) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(MenuFilterDropdown, {
15435        ...dropdownProps,
15436        children: typeof children === "function" ? children(payload) : children
15437      })
15438    });
15439  }
15440  
15441  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-submenu-root/MenuFilterSubmenuRoot.mjs
15442  var React116 = __toESM(require_react(), 1);
15443  var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1);
15444  function MenuFilterSubmenuRoot(props) {
15445    const parent = useMenuRootContext();
15446    const parentStore = parent.store;
15447    const parentDisabled = parentStore.useState("disabled");
15448    const {
15449      rootProps,
15450      dropdownProps
15451    } = useMenuFilterRoot(props);
15452    const parentReferenceRef = React116.useRef(null);
15453    function handleSubmenuEnter(trigger, event) {
15454      const focusedElement = parent.virtualFocus ? parentStore.context.virtualFocusRef?.current : activeElement(ownerDocument(trigger));
15455      if (isHTMLElement(focusedElement)) {
15456        parentReferenceRef.current = {
15457          reference: focusedElement,
15458          trigger
15459        };
15460        parentStore.setActiveIndex(null, event ? reason_parts_exports.keyboard : reason_parts_exports.none, event);
15461      }
15462    }
15463    function highlightTrigger(trigger, event) {
15464      parentStore.highlightItem(trigger, reason_parts_exports.keyboard, event);
15465    }
15466    function handleSubmenuExit(event) {
15467      const parentReference = parentReferenceRef.current;
15468      if (!parentReference) {
15469        return;
15470      }
15471      parentReference.reference.focus({
15472        preventScroll: true
15473      });
15474      highlightTrigger(parentReference.trigger, event);
15475    }
15476    function handleOpenChange(nextOpen, details) {
15477      rootProps.onOpenChange?.(nextOpen, details);
15478      if (details.isCanceled) {
15479        return;
15480      }
15481      if (!nextOpen) {
15482        if (details.reason === reason_parts_exports.escapeKey && isHTMLElement(details.trigger)) {
15483          highlightTrigger(details.trigger, details.event);
15484          parentReferenceRef.current = {
15485            reference: parent.virtualFocus ? parentStore.context.virtualFocusRef?.current ?? details.trigger : details.trigger,
15486            trigger: details.trigger
15487          };
15488        }
15489        return;
15490      }
15491      parentReferenceRef.current = null;
15492      if (isHTMLElement(details.trigger) && isKeyboardOpen(details.reason, details.event)) {
15493        handleSubmenuEnter(details.trigger, details.reason === reason_parts_exports.listNavigation ? details.event : void 0);
15494      }
15495    }
15496    return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(MenuRootInternal, {
15497      ...rootProps,
15498      isSubmenu: true,
15499      disabled: parentDisabled || props.disabled,
15500      onOpenChange: handleOpenChange,
15501      children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(MenuFilterSubmenuNavigation, {
15502        parentStore,
15503        parentVirtualFocus: parent.virtualFocus,
15504        parentAllowEscape: parent.virtualFocus && parent.allowEscape,
15505        parentOrientation: parent.orientation,
15506        parentLoopFocus: parent.loopFocus,
15507        getReturnElement: () => parentReferenceRef.current?.reference ?? (parent.virtualFocus ? parentStore.context.virtualFocusRef?.current : null) ?? null,
15508        onSubmenuEnter: handleSubmenuEnter,
15509        onSubmenuExit: handleSubmenuExit,
15510        children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(MenuFilterDropdown, {
15511          ...dropdownProps,
15512          children: props.children
15513        })
15514      })
15515    });
15516  }
15517  function MenuFilterSubmenuNavigation(props) {
15518    const {
15519      children,
15520      parentStore,
15521      parentVirtualFocus,
15522      parentAllowEscape,
15523      parentOrientation,
15524      parentLoopFocus,
15525      onSubmenuEnter,
15526      onSubmenuExit,
15527      getReturnElement
15528    } = props;
15529    const {
15530      store,
15531      orientation
15532    } = useMenuRootContext();
15533    const direction = useDirection();
15534    const mounted = store.useState("mounted");
15535    const wasMountedRef = React116.useRef(false);
15536    const handleReturnFocus = useStableCallback(() => {
15537      const [ownTrigger] = store.context.triggerElements.elements();
15538      return getReturnElement() ?? (isHTMLElement(ownTrigger) ? ownTrigger : null);
15539    });
15540    useIsoLayoutEffect(() => {
15541      const wasMounted = wasMountedRef.current;
15542      wasMountedRef.current = mounted;
15543      if (mounted || !wasMounted) {
15544        return;
15545      }
15546      const returnElement = handleReturnFocus();
15547      if (!returnElement || !parentStore.select("open")) {
15548        return;
15549      }
15550      const doc = ownerDocument(returnElement);
15551      const activeEl = activeElement(doc);
15552      if (activeEl === doc.body || contains(store.select("popupElement"), activeEl)) {
15553        returnElement.focus({
15554          preventScroll: true
15555        });
15556      }
15557    }, [mounted, store, parentStore, handleReturnFocus]);
15558    function moveInParent(from, event) {
15559      const item = moveHighlightFrom(parentStore, from, event, {
15560        orientation: parentOrientation,
15561        rtl: direction === "rtl",
15562        loopFocus: parentLoopFocus,
15563        allowEscape: parentAllowEscape
15564      });
15565      if (!parentVirtualFocus) {
15566        item?.focus({
15567          preventScroll: true
15568        });
15569      }
15570    }
15571    function close(event) {
15572      if (!store.select("open")) {
15573        return;
15574      }
15575      stopEvent(event);
15576      const trigger = store.select("activeTriggerElement");
15577      const eventDetails = createChangeEventDetails(reason_parts_exports.listNavigation, event.nativeEvent);
15578      store.setOpen(false, eventDetails);
15579      if (!eventDetails.isCanceled) {
15580        onSubmenuExit(event.nativeEvent);
15581      }
15582      const returnElement = getReturnElement() ?? store.select("activeTriggerElement");
15583      if (!store.select("open") && isHTMLElement(returnElement) && activeElement(ownerDocument(returnElement)) !== returnElement) {
15584        returnElement.focus();
15585      }
15586      if (!store.select("open") && isHTMLElement(trigger) && isMainOrientationKey(event.key, parentOrientation)) {
15587        moveInParent(trigger, event);
15588      }
15589    }
15590    const handleTriggerKeyDown = useStableCallback((event) => {
15591      if (isMainOrientationKey(event.key, parentOrientation)) {
15592        moveInParent(event.currentTarget, event);
15593        event.preventBaseUIHandler();
15594        stopEvent(event);
15595        return;
15596      }
15597      const open2 = store.select("open");
15598      const isRtl = direction === "rtl";
15599      const isCloseKey = isCrossOrientationCloseKey(event.key, orientation, isRtl, false);
15600      if (open2 && isCloseKey) {
15601        close(event);
15602        return;
15603      }
15604      const isOpenKey = isCrossOrientationOpenKey(event.key, parentOrientation, isRtl);
15605      if (!isOpenKey) {
15606        return;
15607      }
15608      stopEvent(event);
15609      if (open2) {
15610        onSubmenuEnter(event.currentTarget, event.nativeEvent);
15611        store.context.virtualFocusRef?.current?.focus({
15612          preventScroll: true
15613        });
15614        return;
15615      }
15616      store.setOpen(true, createChangeEventDetails(reason_parts_exports.listNavigation, event.nativeEvent, event.currentTarget));
15617    });
15618    const handlePopupKeyDown = useStableCallback((event) => {
15619      if (event.which === 229) {
15620        return;
15621      }
15622      const isCloseKey = isCrossOrientationCloseKey(event.key, orientation, direction === "rtl", false);
15623      if (isCloseKey) {
15624        close(event);
15625      }
15626    });
15627    const contextValue = React116.useMemo(() => ({
15628      getReturnElement: handleReturnFocus,
15629      onTriggerKeyDown: handleTriggerKeyDown,
15630      onPopupKeyDown: handlePopupKeyDown
15631    }), [handleReturnFocus, handleTriggerKeyDown, handlePopupKeyDown]);
15632    return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(MenuSubmenuRootContext.Provider, {
15633      value: contextValue,
15634      children
15635    });
15636  }
15637  
15638  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/filter-provider/MenuFilterProvider.mjs
15639  var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1);
15640  function MenuFilterProvider(props) {
15641    const {
15642      children,
15643      filter,
15644      value,
15645      defaultValue,
15646      onValueChange,
15647      autoHighlight,
15648      locale
15649    } = props;
15650    const contextValue = React117.useMemo(() => ({
15651      Root: MenuFilterRoot,
15652      SubmenuRoot: MenuFilterSubmenuRoot,
15653      options: {
15654        filter,
15655        value,
15656        defaultValue,
15657        onValueChange,
15658        autoHighlight,
15659        locale
15660      }
15661    }), [filter, value, defaultValue, onValueChange, autoHighlight, locale]);
15662    return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(MenuFilterProviderContext.Provider, {
15663      value: contextValue,
15664      children
15665    });
15666  }
15667  
15668  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/input/MenuInput.mjs
15669  var React119 = __toESM(require_react(), 1);
15670  
15671  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/filter-dropdown/input/FilterDropdownInput.mjs
15672  var React118 = __toESM(require_react(), 1);
15673  var FilterDropdownInput = /* @__PURE__ */ React118.forwardRef(function FilterDropdownInput2(componentProps, forwardedRef) {
15674    const {
15675      render,
15676      className,
15677      style,
15678      id: idProp,
15679      disabled: disabled2,
15680      activeItemId,
15681      navigationProps,
15682      ...elementProps
15683    } = componentProps;
15684    const id = useBaseUiId(idProp);
15685    const context = useFilterDropdownRootContext();
15686    const {
15687      listRef
15688    } = useFilterDropdownItemContext();
15689    const value = useFilterDropdownValueContext();
15690    const [composingValue, setComposingValue] = React118.useState(null);
15691    const isComposingRef = React118.useRef(false);
15692    function commitValue(nextValue, nativeEvent) {
15693      if (!context.open) {
15694        return;
15695      }
15696      const reason = nextValue === "" ? reason_parts_exports.inputClear : reason_parts_exports.inputChange;
15697      context.onValueChange(nextValue, createChangeEventDetails(reason, nativeEvent));
15698    }
15699    const state = {
15700      highlighted: context.inputFocusVisible && (!context.keyboardModality || activeItemId == null)
15701    };
15702    return useRenderElement("input", componentProps, {
15703      state,
15704      ref: [forwardedRef, context.focusOwnerRef],
15705      props: [navigationProps, {
15706        id,
15707        type: "text",
15708        disabled: context.disabled || disabled2,
15709        "aria-activedescendant": activeItemId,
15710        role: "searchbox",
15711        inputMode: "search",
15712        autoComplete: "off",
15713        spellCheck: "false",
15714        autoCorrect: "off",
15715        autoCapitalize: "none",
15716        // The aria-autocomplete 'list' value is only valid with `aria-haspopup` so we depend
15717        // on the searchbox role to communicate affordance, with an input label as fallback
15718        // https://w3c.github.io/aria/#aria-autocomplete
15719        "aria-autocomplete": void 0,
15720        "aria-controls": context.listId,
15721        value: composingValue ?? value,
15722        onCompositionStart(event) {
15723          if (parts_exports.os.android) {
15724            return;
15725          }
15726          isComposingRef.current = true;
15727          setComposingValue(event.currentTarget.value);
15728        },
15729        onCompositionEnd(event) {
15730          if (!isComposingRef.current) {
15731            return;
15732          }
15733          isComposingRef.current = false;
15734          setComposingValue(null);
15735          commitValue(event.currentTarget.value, event.nativeEvent);
15736        },
15737        onChange(event) {
15738          if (isComposingRef.current) {
15739            setComposingValue(event.currentTarget.value);
15740            return;
15741          }
15742          commitValue(event.currentTarget.value, event.nativeEvent);
15743        },
15744        onKeyDown() {
15745          context.setKeyboardModality(true);
15746        },
15747        onPointerDown() {
15748          context.setKeyboardModality(false);
15749        },
15750        onMouseEnter(event) {
15751          context.setKeyboardModality(false);
15752          if (context.open) {
15753            refocusOwner(event.currentTarget);
15754          }
15755        },
15756        onFocus(event) {
15757          context.setInputFocusVisible(true);
15758          if (context.autoHighlight === "always" || isRefocusingOwner()) {
15759            return;
15760          }
15761          const from = event.relatedTarget;
15762          if (from !== null && listRef.current.includes(from)) {
15763            context.setActiveIndex(null);
15764          }
15765        },
15766        onBlur() {
15767          context.setInputFocusVisible(false);
15768        }
15769      }, elementProps]
15770    });
15771  });
15772  if (true) FilterDropdownInput.displayName = "FilterDropdownInput";
15773  
15774  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/input/MenuInput.mjs
15775  var import_jsx_runtime34 = __toESM(require_jsx_runtime(), 1);
15776  var MenuInput = /* @__PURE__ */ React119.forwardRef(function MenuInput2(componentProps, forwardedRef) {
15777    useMenuFilterPart("Input");
15778    const {
15779      store
15780    } = useMenuRootContext();
15781    const value = useFilterDropdownValueContext();
15782    const {
15783      onKeyDown,
15784      ...navigationProps
15785    } = store.useState("inputProps");
15786    const activeItemId = store.useState("highlightedItemId");
15787    const handleKeyDown = useMenuFilterKeyDown(value !== "");
15788    const handleInputRef = React119.useCallback((input) => {
15789      store.set("inputFocused", input !== null && activeElement(ownerDocument(input)) === input);
15790    }, [store]);
15791    const mergedRefs = useMergedRefs(forwardedRef, handleInputRef);
15792    const inputProps = mergeProps({
15793      onKeyDown: handleKeyDown,
15794      onFocus() {
15795        store.set("inputFocused", true);
15796      },
15797      onBlur() {
15798        store.set("inputFocused", false);
15799      }
15800    }, componentProps);
15801    return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(FilterDropdownInput, {
15802      ...inputProps,
15803      activeItemId,
15804      navigationProps,
15805      ref: mergedRefs
15806    });
15807  });
15808  if (true) MenuInput.displayName = "MenuInput";
15809  
15810  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/list/MenuList.mjs
15811  var React120 = __toESM(require_react(), 1);
15812  var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1);
15813  var MenuListPlain = /* @__PURE__ */ React120.forwardRef(function MenuListPlain2(componentProps, forwardedRef) {
15814    const {
15815      render,
15816      className,
15817      style,
15818      id: idProp,
15819      ...elementProps
15820    } = componentProps;
15821    const {
15822      store,
15823      orientation
15824    } = useMenuRootContext();
15825    const activeTriggerId = store.useState("activeTriggerId");
15826    const activeTriggerElement = store.useState("activeTriggerElement");
15827    const setListElement = store.useStateSetter("listElement");
15828    const id = useBaseUiId(idProp);
15829    const renderedIdRef = React120.useRef(id);
15830    useIsoLayoutEffect(() => {
15831      if (renderedIdRef.current !== id) {
15832        renderedIdRef.current = id;
15833        store.notifyAll();
15834      }
15835    }, [id, store]);
15836    const ariaLabelledBy = resolvePopupLabel(componentProps, activeTriggerElement, activeTriggerId);
15837    return useRenderElement("div", componentProps, {
15838      ref: [forwardedRef, setListElement],
15839      props: [{
15840        id,
15841        role: "menu",
15842        // The popup focuses the list on a pointer open in place of itself.
15843        tabIndex: -1,
15844        // `menu` is implicitly vertical, so only the non-default value needs to be rendered.
15845        "aria-orientation": orientation === "horizontal" ? "horizontal" : void 0,
15846        "aria-labelledby": ariaLabelledBy
15847      }, elementProps]
15848    });
15849  });
15850  if (true) MenuListPlain.displayName = "MenuListPlain";
15851  var MenuList = /* @__PURE__ */ React120.forwardRef(function MenuList2(props, forwardedRef) {
15852    const List = useMenuFilterImpl()?.List ?? MenuListPlain;
15853    return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(List, {
15854      ...props,
15855      ref: forwardedRef
15856    });
15857  });
15858  if (true) MenuList.displayName = "MenuList";
15859  
15860  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/clear/MenuClear.mjs
15861  var React122 = __toESM(require_react(), 1);
15862  
15863  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/filter-dropdown/clear/FilterDropdownClear.mjs
15864  var React121 = __toESM(require_react(), 1);
15865  var FilterDropdownClear = /* @__PURE__ */ React121.forwardRef(function FilterDropdownClear2(componentProps, forwardedRef) {
15866    const {
15867      render,
15868      className,
15869      style,
15870      disabled: disabledProp = false,
15871      nativeButton = true,
15872      ...elementProps
15873    } = componentProps;
15874    const context = useFilterDropdownRootContext();
15875    const value = useFilterDropdownValueContext();
15876    const disabled2 = context.disabled || disabledProp;
15877    const visible = value !== "";
15878    const {
15879      buttonRef,
15880      getButtonProps
15881    } = useButton({
15882      disabled: disabled2,
15883      native: nativeButton
15884    });
15885    const state = {
15886      disabled: disabled2
15887    };
15888    return useRenderElement("button", componentProps, {
15889      enabled: visible,
15890      state,
15891      ref: [forwardedRef, buttonRef],
15892      props: [{
15893        tabIndex: -1,
15894        "aria-hidden": true,
15895        onMouseDown(event) {
15896          event.preventDefault();
15897        },
15898        onClick(event) {
15899          const eventDetails = createChangeEventDetails(reason_parts_exports.clearPress, event.nativeEvent);
15900          context.onValueChange("", eventDetails);
15901          context.focusOwnerRef.current?.focus({
15902            preventScroll: true
15903          });
15904        }
15905      }, elementProps, getButtonProps]
15906    });
15907  });
15908  if (true) FilterDropdownClear.displayName = "FilterDropdownClear";
15909  
15910  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/clear/MenuClear.mjs
15911  var import_jsx_runtime36 = __toESM(require_jsx_runtime(), 1);
15912  var MenuClear = /* @__PURE__ */ React122.forwardRef(function MenuClear2(props, forwardedRef) {
15913    useMenuFilterPart("Clear");
15914    return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(FilterDropdownClear, {
15915      ...props,
15916      ref: forwardedRef
15917    });
15918  });
15919  if (true) MenuClear.displayName = "MenuClear";
15920  
15921  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/empty/MenuEmpty.mjs
15922  var React124 = __toESM(require_react(), 1);
15923  
15924  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/filter-dropdown/empty/FilterDropdownEmpty.mjs
15925  var React123 = __toESM(require_react(), 1);
15926  var FilterDropdownEmpty = /* @__PURE__ */ React123.forwardRef(function FilterDropdownEmpty2(componentProps, forwardedRef) {
15927    const {
15928      render,
15929      className,
15930      style,
15931      ...elementProps
15932    } = componentProps;
15933    const {
15934      store
15935    } = useFilterDropdownItemContext();
15936    const isEmpty = useStore(store, selectors3.isEmpty);
15937    const [ready, setReady] = React123.useState(false);
15938    useIsoLayoutEffect(() => {
15939      setReady(true);
15940    }, []);
15941    const visible = ready && isEmpty;
15942    const emptyRef = useInitialLiveRegionTextMutation(visible);
15943    return useRenderElement("div", componentProps, {
15944      enabled: visible,
15945      ref: [forwardedRef, emptyRef],
15946      props: [{
15947        role: "status",
15948        "aria-live": "polite",
15949        "aria-atomic": true
15950      }, elementProps]
15951    });
15952  });
15953  if (true) FilterDropdownEmpty.displayName = "FilterDropdownEmpty";
15954  
15955  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/menu/empty/MenuEmpty.mjs
15956  var import_jsx_runtime37 = __toESM(require_jsx_runtime(), 1);
15957  var MenuEmpty = /* @__PURE__ */ React124.forwardRef(function MenuEmpty2(props, forwardedRef) {
15958    useMenuFilterPart("Empty");
15959    return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(FilterDropdownEmpty, {
15960      ...props,
15961      ref: forwardedRef
15962    });
15963  });
15964  if (true) MenuEmpty.displayName = "MenuEmpty";
15965  
15966  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/csp-context/CSPContext.mjs
15967  var React125 = __toESM(require_react(), 1);
15968  var CSPContext = /* @__PURE__ */ React125.createContext(void 0);
15969  if (true) CSPContext.displayName = "CSPContext";
15970  var DEFAULT_CSP_CONTEXT_VALUE = {
15971    disableStyleElements: false
15972  };
15973  function useCSPContext() {
15974    return React125.useContext(CSPContext) ?? DEFAULT_CSP_CONTEXT_VALUE;
15975  }
15976  
15977  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/clamp.mjs
15978  function clamp2(val, min2 = Number.MIN_SAFE_INTEGER, max2 = Number.MAX_SAFE_INTEGER) {
15979    return Math.max(min2, Math.min(val, max2));
15980  }
15981  
15982  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/formatNumber.mjs
15983  var cache = /* @__PURE__ */ new Map();
15984  function getFormatter(locale, options) {
15985    const optionsString = JSON.stringify({
15986      locale: stringifyLocale(locale),
15987      options
15988    });
15989    const cachedFormatter = cache.get(optionsString);
15990    if (cachedFormatter) {
15991      return cachedFormatter;
15992    }
15993    const formatter = new Intl.NumberFormat(locale, options);
15994    cache.set(optionsString, formatter);
15995    return formatter;
15996  }
15997  function formatNumber(value, locale, options) {
15998    if (value == null) {
15999      return "";
16000    }
16001    return getFormatter(locale, options).format(value);
16002  }
16003  
16004  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/valueToPercent.mjs
16005  function valueToPercent(value, min2, max2) {
16006    return (value - min2) * 100 / (max2 - min2);
16007  }
16008  
16009  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FloatingPortalLite.mjs
16010  var React126 = __toESM(require_react(), 1);
16011  var ReactDOM8 = __toESM(require_react_dom(), 1);
16012  var import_jsx_runtime38 = __toESM(require_jsx_runtime(), 1);
16013  var FloatingPortalLite = /* @__PURE__ */ React126.forwardRef(function FloatingPortalLite2(componentProps, forwardedRef) {
16014    const {
16015      children,
16016      container,
16017      className,
16018      render,
16019      style,
16020      ...elementProps
16021    } = componentProps;
16022    const {
16023      node: portalNode,
16024      subtree: portalSubtree
16025    } = useFloatingPortalNode({
16026      container,
16027      ref: forwardedRef,
16028      componentProps,
16029      elementProps
16030    });
16031    if (!portalSubtree && !portalNode) {
16032      return null;
16033    }
16034    return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(React126.Fragment, {
16035      children: [portalSubtree, portalNode && /* @__PURE__ */ ReactDOM8.createPortal(children, portalNode)]
16036    });
16037  });
16038  if (true) FloatingPortalLite.displayName = "FloatingPortalLite";
16039  
16040  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/progress/index.parts.mjs
16041  var index_parts_exports2 = {};
16042  __export(index_parts_exports2, {
16043    Indicator: () => ProgressIndicator,
16044    Label: () => ProgressLabel,
16045    Root: () => ProgressRoot,
16046    Track: () => ProgressTrack,
16047    Value: () => ProgressValue
16048  });
16049  
16050  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/progress/root/ProgressRoot.mjs
16051  var React128 = __toESM(require_react(), 1);
16052  
16053  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/progress/root/ProgressRootContext.mjs
16054  var React127 = __toESM(require_react(), 1);
16055  var ProgressRootContext = /* @__PURE__ */ React127.createContext(void 0);
16056  if (true) ProgressRootContext.displayName = "ProgressRootContext";
16057  function useProgressRootContext() {
16058    const context = React127.useContext(ProgressRootContext);
16059    if (context === void 0) {
16060      throw new Error(true ? "Base UI: ProgressRootContext is missing. Progress parts must be placed within <Progress.Root>." : formatErrorMessage_default(51));
16061    }
16062    return context;
16063  }
16064  
16065  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/progress/root/ProgressRootDataAttributes.mjs
16066  var complete = "data-complete";
16067  var indeterminate = "data-indeterminate";
16068  var progressing = "data-progressing";
16069  
16070  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/progress/root/stateAttributesMapping.mjs
16071  var progressStateAttributesMapping = {
16072    status(value) {
16073      if (value === "progressing") {
16074        return {
16075          [progressing]: ""
16076        };
16077      }
16078      if (value === "complete") {
16079        return {
16080          [complete]: ""
16081        };
16082      }
16083      if (value === "indeterminate") {
16084        return {
16085          [indeterminate]: ""
16086        };
16087      }
16088      return null;
16089    }
16090  };
16091  
16092  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/progress/root/ProgressRoot.mjs
16093  var import_jsx_runtime39 = __toESM(require_jsx_runtime(), 1);
16094  var ProgressRoot = /* @__PURE__ */ React128.forwardRef(function ProgressRoot2(componentProps, forwardedRef) {
16095    const {
16096      format,
16097      getAriaValueText,
16098      locale,
16099      max: max2 = 100,
16100      min: min2 = 0,
16101      value,
16102      render,
16103      className,
16104      children,
16105      style,
16106      ...elementProps
16107    } = componentProps;
16108    const [labelId, setLabelId] = React128.useState();
16109    let status = "indeterminate";
16110    let percentageValue = null;
16111    let clampedValue = null;
16112    let formattedValue = "";
16113    let defaultAriaValueText = "indeterminate progress";
16114    if (value != null && Number.isFinite(value)) {
16115      const rawPercentage = valueToPercent(value, min2, max2);
16116      percentageValue = clamp2(Number.isNaN(rawPercentage) ? 0 : rawPercentage, 0, 100);
16117      clampedValue = clamp2(value, min2, max2);
16118      status = clampedValue === max2 ? "complete" : "progressing";
16119      formattedValue = format ? formatNumber(clampedValue, locale, format) : formatNumber(percentageValue / 100, locale, {
16120        style: "percent"
16121      });
16122      defaultAriaValueText = formattedValue;
16123    }
16124    const state = React128.useMemo(() => ({
16125      status
16126    }), [status]);
16127    const defaultProps = {
16128      "aria-labelledby": labelId,
16129      "aria-valuemax": max2,
16130      "aria-valuemin": min2,
16131      "aria-valuenow": clampedValue ?? void 0,
16132      "aria-valuetext": getAriaValueText ? getAriaValueText(formattedValue, value) : defaultAriaValueText,
16133      role: "progressbar",
16134      children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(React128.Fragment, {
16135        children: [children, /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", {
16136          role: "presentation",
16137          style: visuallyHidden,
16138          children: "x"
16139        })]
16140      })
16141    };
16142    const contextValue = React128.useMemo(() => ({
16143      formattedValue,
16144      percentageValue,
16145      setLabelId,
16146      state,
16147      value
16148    }), [formattedValue, percentageValue, setLabelId, state, value]);
16149    const element = useRenderElement("div", componentProps, {
16150      state,
16151      ref: forwardedRef,
16152      props: [defaultProps, elementProps],
16153      stateAttributesMapping: progressStateAttributesMapping
16154    });
16155    return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(ProgressRootContext.Provider, {
16156      value: contextValue,
16157      children: element
16158    });
16159  });
16160  if (true) ProgressRoot.displayName = "ProgressRoot";
16161  
16162  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/progress/track/ProgressTrack.mjs
16163  var React129 = __toESM(require_react(), 1);
16164  var ProgressTrack = /* @__PURE__ */ React129.forwardRef(function ProgressTrack2(componentProps, forwardedRef) {
16165    const {
16166      render,
16167      className,
16168      style,
16169      ...elementProps
16170    } = componentProps;
16171    const {
16172      state
16173    } = useProgressRootContext();
16174    const element = useRenderElement("div", componentProps, {
16175      state,
16176      ref: forwardedRef,
16177      props: elementProps,
16178      stateAttributesMapping: progressStateAttributesMapping
16179    });
16180    return element;
16181  });
16182  if (true) ProgressTrack.displayName = "ProgressTrack";
16183  
16184  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/progress/indicator/ProgressIndicator.mjs
16185  var React130 = __toESM(require_react(), 1);
16186  var ProgressIndicator = /* @__PURE__ */ React130.forwardRef(function ProgressIndicator2(componentProps, forwardedRef) {
16187    const {
16188      render,
16189      className,
16190      style,
16191      ...elementProps
16192    } = componentProps;
16193    const {
16194      percentageValue,
16195      state
16196    } = useProgressRootContext();
16197    const indicatorStyle = percentageValue == null ? {} : {
16198      insetInlineStart: 0,
16199      height: "inherit",
16200      width: `$percentageValue}%`
16201    };
16202    const element = useRenderElement("div", componentProps, {
16203      state,
16204      ref: forwardedRef,
16205      props: [{
16206        style: indicatorStyle
16207      }, elementProps],
16208      stateAttributesMapping: progressStateAttributesMapping
16209    });
16210    return element;
16211  });
16212  if (true) ProgressIndicator.displayName = "ProgressIndicator";
16213  
16214  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/progress/value/ProgressValue.mjs
16215  var React131 = __toESM(require_react(), 1);
16216  var ProgressValue = /* @__PURE__ */ React131.forwardRef(function ProgressValue2(componentProps, forwardedRef) {
16217    const {
16218      className,
16219      render,
16220      children,
16221      style,
16222      ...elementProps
16223    } = componentProps;
16224    const {
16225      value,
16226      formattedValue,
16227      state
16228    } = useProgressRootContext();
16229    const indeterminate2 = state.status === "indeterminate";
16230    const formattedValueArg = indeterminate2 ? "indeterminate" : formattedValue;
16231    const formattedValueDisplay = indeterminate2 ? null : formattedValue;
16232    const element = useRenderElement("span", componentProps, {
16233      state,
16234      ref: forwardedRef,
16235      props: [{
16236        "aria-hidden": true,
16237        children: typeof children === "function" ? children(formattedValueArg, value) : formattedValueDisplay
16238      }, elementProps],
16239      stateAttributesMapping: progressStateAttributesMapping
16240    });
16241    return element;
16242  });
16243  if (true) ProgressValue.displayName = "ProgressValue";
16244  
16245  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/progress/label/ProgressLabel.mjs
16246  var React132 = __toESM(require_react(), 1);
16247  var ProgressLabel = /* @__PURE__ */ React132.forwardRef(function ProgressLabel2(componentProps, forwardedRef) {
16248    const {
16249      render,
16250      className,
16251      style,
16252      id: idProp,
16253      ...elementProps
16254    } = componentProps;
16255    const {
16256      setLabelId,
16257      state
16258    } = useProgressRootContext();
16259    const id = useRegisteredLabelId(idProp, setLabelId);
16260    const element = useRenderElement("span", componentProps, {
16261      state,
16262      ref: forwardedRef,
16263      props: [{
16264        id,
16265        role: "presentation"
16266      }, elementProps],
16267      stateAttributesMapping: progressStateAttributesMapping
16268    });
16269    return element;
16270  });
16271  if (true) ProgressLabel.displayName = "ProgressLabel";
16272  
16273  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/styles.mjs
16274  var import_jsx_runtime40 = __toESM(require_jsx_runtime(), 1);
16275  var DISABLE_SCROLLBAR_CLASS_NAME = "base-ui-disable-scrollbar";
16276  var styleDisableScrollbar = {
16277    className: DISABLE_SCROLLBAR_CLASS_NAME,
16278    getElement(nonce) {
16279      return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("style", {
16280        nonce,
16281        href: DISABLE_SCROLLBAR_CLASS_NAME,
16282        precedence: "base-ui:low",
16283        children: `.$DISABLE_SCROLLBAR_CLASS_NAME}{scrollbar-width:none}.$DISABLE_SCROLLBAR_CLASS_NAME}::-webkit-scrollbar{display:none}`
16284      });
16285    }
16286  };
16287  if (true) styleDisableScrollbar.getElement.displayName = "styleDisableScrollbar.getElement";
16288  
16289  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/scrollEdges.mjs
16290  var SCROLL_EDGE_TOLERANCE_PX = 1;
16291  function getMaxScrollOffset(scrollSize, clientSize) {
16292    return Math.max(0, scrollSize - clientSize);
16293  }
16294  function normalizeScrollOffset(value, max2) {
16295    if (max2 <= 0) {
16296      return 0;
16297    }
16298    const clamped = clamp2(value, 0, max2);
16299    const startDistance = clamped;
16300    const endDistance = max2 - clamped;
16301    const withinStartTolerance = startDistance <= SCROLL_EDGE_TOLERANCE_PX;
16302    const withinEndTolerance = endDistance <= SCROLL_EDGE_TOLERANCE_PX;
16303    if (withinStartTolerance && withinEndTolerance) {
16304      return startDistance <= endDistance ? 0 : max2;
16305    }
16306    if (withinStartTolerance) {
16307      return 0;
16308    }
16309    if (withinEndTolerance) {
16310      return max2;
16311    }
16312    return clamped;
16313  }
16314  
16315  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/index.parts.mjs
16316  var index_parts_exports3 = {};
16317  __export(index_parts_exports3, {
16318    Arrow: () => SelectArrow,
16319    Backdrop: () => SelectBackdrop,
16320    Group: () => SelectGroup,
16321    GroupLabel: () => SelectGroupLabel,
16322    Icon: () => SelectIcon,
16323    Item: () => SelectItem,
16324    ItemIndicator: () => SelectItemIndicator,
16325    ItemText: () => SelectItemText,
16326    Label: () => SelectLabel,
16327    List: () => SelectList,
16328    Popup: () => SelectPopup,
16329    Portal: () => SelectPortal,
16330    Positioner: () => SelectPositioner,
16331    Root: () => SelectRoot,
16332    ScrollDownArrow: () => SelectScrollDownArrow,
16333    ScrollUpArrow: () => SelectScrollUpArrow,
16334    Separator: () => SelectSeparator,
16335    Trigger: () => SelectTrigger,
16336    Value: () => SelectValue
16337  });
16338  
16339  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/root/SelectRoot.mjs
16340  var React134 = __toESM(require_react(), 1);
16341  
16342  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/root/SelectRootContext.mjs
16343  var React133 = __toESM(require_react(), 1);
16344  var SelectRootContext = /* @__PURE__ */ React133.createContext(void 0);
16345  if (true) SelectRootContext.displayName = "SelectRootContext";
16346  var SelectFloatingContext = /* @__PURE__ */ React133.createContext(void 0);
16347  if (true) SelectFloatingContext.displayName = "SelectFloatingContext";
16348  function useSelectRootContext() {
16349    const store = React133.useContext(SelectRootContext);
16350    if (store === void 0) {
16351      throw new Error(true ? "Base UI: SelectRootContext is missing. Select parts must be placed within <Select.Root>." : formatErrorMessage_default(60));
16352    }
16353    return store;
16354  }
16355  function useSelectFloatingContext() {
16356    const context = React133.useContext(SelectFloatingContext);
16357    if (context === void 0) {
16358      throw new Error(true ? "Base UI: SelectFloatingContext is missing. Select parts must be placed within <Select.Root>." : formatErrorMessage_default(61));
16359    }
16360    return context;
16361  }
16362  
16363  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/store.mjs
16364  var selectors4 = {
16365    id: (state) => state.id,
16366    labelId: (state) => state.labelId,
16367    modal: (state) => state.modal,
16368    multiple: (state) => state.multiple,
16369    disabled: (state) => state.disabled,
16370    readOnly: (state) => state.readOnly,
16371    required: (state) => state.required,
16372    highlightItemOnHover: (state) => state.highlightItemOnHover,
16373    items: (state) => state.items,
16374    itemToStringLabel: (state) => state.itemToStringLabel,
16375    isItemEqualToValue: (state) => state.isItemEqualToValue,
16376    value: (state) => state.value,
16377    hasSelectedValue: (state) => {
16378      const {
16379        value,
16380        multiple,
16381        itemToStringValue
16382      } = state;
16383      if (value == null) {
16384        return false;
16385      }
16386      if (multiple && Array.isArray(value)) {
16387        return value.length > 0;
16388      }
16389      return stringifyAsValue(value, itemToStringValue) !== "";
16390    },
16391    hasNullItemLabel: (state, enabled) => {
16392      return enabled ? hasNullItemLabel(state.items) : false;
16393    },
16394    open: (state) => state.open,
16395    mounted: (state) => state.mounted,
16396    forceMount: (state) => state.forceMount,
16397    transitionStatus: (state) => state.transitionStatus,
16398    openMethod: (state) => state.openMethod,
16399    activeIndex: (state) => state.activeIndex,
16400    selectedIndex: (state) => state.selectedIndex,
16401    isActive: (state, index2) => state.activeIndex === index2,
16402    isSelected: (state, itemValue) => {
16403      const comparer = state.isItemEqualToValue;
16404      const storeValue = state.value;
16405      if (state.multiple) {
16406        return Array.isArray(storeValue) && storeValue.some((selectedItem) => compareItemEquality(itemValue, selectedItem, comparer));
16407      }
16408      return compareItemEquality(itemValue, storeValue, comparer);
16409    },
16410    isSelectedByFocus: (state, index2) => {
16411      return state.selectedIndex === index2;
16412    },
16413    popupProps: (state) => state.popupProps,
16414    triggerProps: (state) => state.triggerProps,
16415    itemRoot: (state) => state.itemRoot,
16416    triggerElement: (state) => state.triggerElement,
16417    positionerElement: (state) => state.positionerElement,
16418    listElement: (state) => state.listElement,
16419    popupSide: (state) => state.popupSide,
16420    scrollUpArrowVisible: (state) => state.scrollUpArrowVisible,
16421    scrollDownArrowVisible: (state) => state.scrollDownArrowVisible,
16422    hasScrollArrows: (state) => state.hasScrollArrows
16423  };
16424  
16425  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/root/SelectRoot.mjs
16426  var import_jsx_runtime41 = __toESM(require_jsx_runtime(), 1);
16427  function SelectRoot(props) {
16428    const {
16429      id,
16430      value: valueProp,
16431      defaultValue = null,
16432      onValueChange,
16433      open: openProp,
16434      defaultOpen = false,
16435      onOpenChange,
16436      name: nameProp,
16437      form,
16438      autoComplete,
16439      disabled: disabledProp = false,
16440      readOnly = false,
16441      required = false,
16442      modal = true,
16443      actionsRef,
16444      inputRef,
16445      onOpenChangeComplete,
16446      items,
16447      multiple = false,
16448      itemToStringLabel,
16449      itemToStringValue,
16450      isItemEqualToValue = defaultItemEquality,
16451      highlightItemOnHover = true,
16452      children
16453    } = props;
16454    const {
16455      clearErrors
16456    } = useFormContext();
16457    const {
16458      setDirty,
16459      setTouched,
16460      setFocused,
16461      validityData,
16462      setFilled,
16463      name: fieldName,
16464      disabled: fieldDisabled,
16465      validation,
16466      validationMode
16467    } = useFieldRootContext();
16468    const generatedId = useLabelableId({
16469      id
16470    });
16471    const disabled2 = fieldDisabled || disabledProp;
16472    const name2 = fieldName ?? nameProp;
16473    const [value, setValueUnwrapped] = useControlled({
16474      controlled: valueProp,
16475      default: multiple ? defaultValue ?? EMPTY_ARRAY : defaultValue,
16476      name: "Select",
16477      state: "value"
16478    });
16479    const [open2, setOpenUnwrapped] = useControlled({
16480      controlled: openProp,
16481      default: defaultOpen,
16482      name: "Select",
16483      state: "open"
16484    });
16485    const listRef = React134.useRef([]);
16486    const labelsRef = React134.useRef([]);
16487    const popupRef = React134.useRef(null);
16488    const scrollHandlerRef = React134.useRef(null);
16489    const scrollArrowsMountedCountRef = React134.useRef(0);
16490    const valueRef = React134.useRef(null);
16491    const valuesRef = React134.useRef([]);
16492    const typingRef = React134.useRef(false);
16493    const firstItemTextRef = React134.useRef(null);
16494    const selectedItemTextRef = React134.useRef(null);
16495    const selectionRef = React134.useRef({
16496      allowSelectedMouseUp: false,
16497      allowUnselectedMouseUp: false,
16498      dragY: 0
16499    });
16500    const alignItemWithTriggerActiveRef = React134.useRef(false);
16501    const initialValueRef = React134.useRef(value);
16502    const {
16503      openMethod,
16504      triggerProps: interactionTypeProps
16505    } = useOpenInteractionType(open2);
16506    const store = useRefWithInit(() => new ReactStore({
16507      id: generatedId,
16508      labelId: void 0,
16509      modal,
16510      multiple,
16511      disabled: disabled2,
16512      readOnly,
16513      required,
16514      highlightItemOnHover,
16515      itemToStringLabel,
16516      itemToStringValue,
16517      isItemEqualToValue,
16518      value,
16519      open: open2,
16520      // Seeded with the initial values of `useUnmountAfterClose`, which is called after the
16521      // store because its unmount cleanup writes to it. `useSyncedValues` keeps them in sync.
16522      mounted: open2,
16523      transitionStatus: void 0,
16524      items,
16525      forceMount: false,
16526      openMethod: null,
16527      activeIndex: null,
16528      selectedIndex: null,
16529      popupProps: EMPTY_OBJECT,
16530      triggerProps: EMPTY_OBJECT,
16531      itemRoot: {
16532        props: EMPTY_OBJECT,
16533        multiple,
16534        disabled: disabled2,
16535        readOnly,
16536        isItemEqualToValue
16537      },
16538      triggerElement: null,
16539      positionerElement: null,
16540      listElement: null,
16541      popupSide: null,
16542      scrollUpArrowVisible: false,
16543      scrollDownArrowVisible: false,
16544      hasScrollArrows: false
16545    }, {
16546      setValue: NOOP,
16547      setOpen: NOOP,
16548      handleScrollArrowVisibility: NOOP,
16549      onOpenChangeComplete: NOOP,
16550      listRef,
16551      popupRef,
16552      scrollHandlerRef,
16553      scrollArrowsMountedCountRef,
16554      valueRef,
16555      valuesRef,
16556      labelsRef,
16557      typingRef,
16558      selectionRef,
16559      firstItemTextRef,
16560      selectedItemTextRef,
16561      alignItemWithTriggerActiveRef,
16562      initialValueRef
16563    }, selectors4)).current;
16564    const [preventUnmountOnClose, setPreventUnmountOnClose] = React134.useState(false);
16565    const {
16566      mounted,
16567      transitionStatus,
16568      forceUnmount: handleUnmount
16569    } = useUnmountAfterClose({
16570      open: open2,
16571      ref: popupRef,
16572      preventUnmountOnClose,
16573      setPreventUnmountOnClose,
16574      onUnmount() {
16575        store.update({
16576          activeIndex: null,
16577          openMethod: null,
16578          scrollUpArrowVisible: false,
16579          scrollDownArrowVisible: false
16580        });
16581        onOpenChangeComplete?.(false);
16582      }
16583    });
16584    const activeIndex = store.useState("activeIndex");
16585    const selectedIndex = store.useState("selectedIndex");
16586    const triggerElement = store.useState("triggerElement");
16587    const positionerElement = store.useState("positionerElement");
16588    const previousOpenMethod = usePreviousValue(openMethod);
16589    const renderedOpenMethod = openMethod ?? previousOpenMethod;
16590    const serializedValue = React134.useMemo(() => {
16591      if (multiple) {
16592        return "";
16593      }
16594      return stringifyAsValue(value, itemToStringValue);
16595    }, [multiple, value, itemToStringValue]);
16596    const fieldStringValue = React134.useMemo(() => {
16597      if (multiple && Array.isArray(value)) {
16598        return value.map((currentValue) => stringifyAsValue(currentValue, itemToStringValue));
16599      }
16600      return stringifyAsValue(value, itemToStringValue);
16601    }, [multiple, value, itemToStringValue]);
16602    const controlRef = useValueAsRef(triggerElement);
16603    const getStringifiedValueForForm = useStableCallback(() => fieldStringValue);
16604    useRegisterFieldControl(controlRef, generatedId, value, getStringifiedValueForForm, !disabled2, nameProp);
16605    const hasSelectedValue = multiple ? Array.isArray(value) && value.length > 0 : value != null && serializedValue !== "";
16606    useIsoLayoutEffect(() => {
16607      setFilled(hasSelectedValue);
16608    }, [hasSelectedValue, setFilled]);
16609    useIsoLayoutEffect(function syncSelectedIndex() {
16610      const nextIndex = findSelectionIndex(valuesRef.current, value, isItemEqualToValue, multiple);
16611      if (nextIndex === null) {
16612        selectedItemTextRef.current = null;
16613      }
16614      if (open2) {
16615        return;
16616      }
16617      store.set("selectedIndex", nextIndex);
16618    }, [multiple, open2, value, isItemEqualToValue, store]);
16619    useValueChanged(value, () => {
16620      clearErrors(name2);
16621      setDirty(isSelectedValueDirty(value, validityData.initialValue, isItemEqualToValue));
16622      validation.change(value);
16623    });
16624    const setOpen = useStableCallback((nextOpen, eventDetails) => {
16625      const openEventDetails = eventDetails;
16626      const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(openEventDetails);
16627      onOpenChange?.(nextOpen, openEventDetails);
16628      if (eventDetails.isCanceled) {
16629        return;
16630      }
16631      if (!nextOpen) {
16632        setPreventUnmountOnClose(shouldPreventUnmountOnClose());
16633      }
16634      setOpenUnwrapped(nextOpen);
16635      if (!nextOpen && (eventDetails.reason === reason_parts_exports.focusOut || eventDetails.reason === reason_parts_exports.outsidePress)) {
16636        setTouched(true);
16637        setFocused(false);
16638        if (validationMode === "onBlur") {
16639          validation.commit(value);
16640        }
16641      }
16642    });
16643    React134.useImperativeHandle(actionsRef, () => ({
16644      unmount: handleUnmount,
16645      close: () => {
16646        if (store.state.open) {
16647          setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction));
16648        }
16649      }
16650    }), [handleUnmount, setOpen, store]);
16651    const setValue = useStableCallback((nextValue, eventDetails) => {
16652      onValueChange?.(nextValue, eventDetails);
16653      if (eventDetails.isCanceled) {
16654        return;
16655      }
16656      setValueUnwrapped(nextValue);
16657    });
16658    const handleScrollArrowVisibility = useStableCallback((scroller) => {
16659      const maxScrollTop = getMaxScrollOffset(scroller.scrollHeight, scroller.clientHeight);
16660      const scrollTop = normalizeScrollOffset(scroller.scrollTop, maxScrollTop);
16661      const shouldShowUp = scrollTop > 0;
16662      const shouldShowDown = scrollTop < maxScrollTop;
16663      store.set("scrollUpArrowVisible", shouldShowUp);
16664      store.set("scrollDownArrowVisible", shouldShowDown);
16665    });
16666    const floatingContext = useFloatingRootContext({
16667      open: open2,
16668      onOpenChange: setOpen,
16669      elements: {
16670        reference: triggerElement,
16671        floating: positionerElement
16672      }
16673    });
16674    const click = useClick(floatingContext, {
16675      enabled: !disabled2,
16676      event: "mousedown"
16677    });
16678    const dismiss = useDismiss(floatingContext);
16679    const listNavigation2 = useListNavigation(floatingContext, {
16680      enabled: !disabled2,
16681      listRef,
16682      activeIndex,
16683      selectedIndex,
16684      disabledIndices: EMPTY_ARRAY,
16685      onNavigate(nextActiveIndex) {
16686        if (nextActiveIndex === null && !open2) {
16687          return;
16688        }
16689        store.set("activeIndex", nextActiveIndex);
16690      },
16691      focusItemOnHover: highlightItemOnHover
16692    });
16693    const typeahead = useTypeahead(floatingContext, {
16694      // Typeahead on an open popup only moves the highlight, so it remains available while
16695      // `readOnly`. The closed-trigger variant commits a value instead, so it doesn't.
16696      enabled: !disabled2 && (open2 || !readOnly && !multiple),
16697      listRef: labelsRef,
16698      activeIndex,
16699      selectedIndex,
16700      // Skip disabled items while matching so typeahead advances to the next selectable item
16701      // (a click can never select a disabled item and native `<select>` skips them too). Resolve
16702      // the disabled state from the element via the attribute-only `isElementDisabled` so the
16703      // hidden, force-mounted items used for closed-trigger typeahead aren't dropped by the
16704      // `elementsRef`/visibility filter that `disabledIndices` deliberately sidesteps.
16705      disabledIndices: (index2) => isElementDisabled(listRef.current[index2]),
16706      onMatch(index2) {
16707        if (open2) {
16708          store.set("activeIndex", index2);
16709        } else {
16710          setValue(valuesRef.current[index2], createChangeEventDetails(reason_parts_exports.none));
16711        }
16712      },
16713      onTyping(typing) {
16714        typingRef.current = typing;
16715      }
16716    });
16717    const mergedTriggerProps = React134.useMemo(() => mergeProps(typeahead.reference, listNavigation2.reference, dismiss.reference, click.reference, interactionTypeProps), [click.reference, typeahead.reference, listNavigation2.reference, dismiss.reference, interactionTypeProps]);
16718    const popupProps = React134.useMemo(() => mergeProps(FOCUSABLE_POPUP_PROPS, typeahead.floating, listNavigation2.floating, dismiss.floating), [typeahead.floating, listNavigation2.floating, dismiss.floating]);
16719    const itemProps = listNavigation2.item ?? EMPTY_OBJECT;
16720    const itemRoot = React134.useMemo(() => ({
16721      props: itemProps,
16722      multiple,
16723      disabled: disabled2,
16724      readOnly,
16725      isItemEqualToValue
16726    }), [itemProps, multiple, disabled2, readOnly, isItemEqualToValue]);
16727    store.useContextCallback("setValue", setValue);
16728    store.useContextCallback("setOpen", setOpen);
16729    store.useContextCallback("handleScrollArrowVisibility", handleScrollArrowVisibility);
16730    store.useContextCallback("onOpenChangeComplete", onOpenChangeComplete);
16731    useOnFirstRender(() => {
16732      store.update({
16733        popupProps,
16734        triggerProps: mergedTriggerProps,
16735        itemRoot
16736      });
16737    });
16738    store.useSyncedValues({
16739      id: generatedId,
16740      modal,
16741      multiple,
16742      disabled: disabled2,
16743      readOnly,
16744      required,
16745      highlightItemOnHover,
16746      value,
16747      open: open2,
16748      mounted,
16749      transitionStatus,
16750      popupProps,
16751      triggerProps: mergedTriggerProps,
16752      itemRoot,
16753      items,
16754      itemToStringLabel,
16755      itemToStringValue,
16756      isItemEqualToValue,
16757      openMethod: renderedOpenMethod
16758    });
16759    const ref = useMergedRefs(inputRef, validation.inputRef);
16760    const hiddenInputName = multiple ? void 0 : name2;
16761    const hiddenInputs = React134.useMemo(() => {
16762      if (!multiple || !Array.isArray(value) || !name2) {
16763        return null;
16764      }
16765      return value.map((v2) => {
16766        const currentSerializedValue = stringifyAsValue(v2, itemToStringValue);
16767        return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("input", {
16768          type: "hidden",
16769          form,
16770          name: name2,
16771          value: currentSerializedValue,
16772          disabled: disabled2
16773        }, currentSerializedValue);
16774      });
16775    }, [multiple, value, form, name2, itemToStringValue, disabled2]);
16776    return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(SelectRootContext.Provider, {
16777      value: store,
16778      children: [/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectFloatingContext.Provider, {
16779        value: floatingContext,
16780        children
16781      }), /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("input", {
16782        ...validation.getValidationProps(disabled2, {
16783          onFocus() {
16784            store.state.triggerElement?.focus({
16785              // Supported in Chrome from 144 (January 2026)
16786              focusVisible: true
16787            });
16788          },
16789          // Handle browser autofill.
16790          onChange(event) {
16791            if (event.nativeEvent.defaultPrevented || disabled2 || readOnly) {
16792              return;
16793            }
16794            const nextValue = event.currentTarget.value;
16795            const details = createChangeEventDetails(reason_parts_exports.none, event.nativeEvent);
16796            function handleChange() {
16797              if (multiple) {
16798                return;
16799              }
16800              const nextValueLower = nextValue.toLowerCase();
16801              let matchingIndex = valuesRef.current.findIndex((candidate) => stringifyAsValue(candidate, itemToStringValue).toLowerCase() === nextValueLower || stringifyAsLabel(candidate, itemToStringLabel).toLowerCase() === nextValueLower);
16802              if (matchingIndex === -1) {
16803                matchingIndex = valuesRef.current.findIndex((_, index2) => {
16804                  const renderedLabel = labelsRef.current[index2];
16805                  return renderedLabel != null && renderedLabel.toLowerCase() === nextValueLower;
16806                });
16807              }
16808              const matchingValue = valuesRef.current[matchingIndex];
16809              if (matchingValue != null) {
16810                setValue(matchingValue, details);
16811              }
16812            }
16813            store.set("forceMount", true);
16814            queueMicrotask(handleChange);
16815          }
16816        }),
16817        id: generatedId && hiddenInputName == null ? `$generatedId}-hidden-input` : void 0,
16818        form,
16819        name: hiddenInputName,
16820        autoComplete,
16821        value: serializedValue,
16822        disabled: disabled2,
16823        required: required && !(multiple && hasSelectedValue),
16824        readOnly,
16825        ref,
16826        style: name2 ? visuallyHiddenInput : visuallyHidden,
16827        tabIndex: -1,
16828        "aria-hidden": true,
16829        suppressHydrationWarning: true
16830      }), hiddenInputs]
16831    });
16832  }
16833  
16834  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/label/SelectLabel.mjs
16835  var React135 = __toESM(require_react(), 1);
16836  var SelectLabel = /* @__PURE__ */ React135.forwardRef(function SelectLabel2(componentProps, forwardedRef) {
16837    const {
16838      render,
16839      className,
16840      style,
16841      ...elementProps
16842    } = componentProps;
16843    const elementPropsWithoutId = elementProps;
16844    delete elementPropsWithoutId.id;
16845    const fieldRootContext = useFieldRootContext();
16846    const store = useSelectRootContext();
16847    const triggerElement = store.useState("triggerElement");
16848    const rootId = store.useState("id");
16849    const defaultLabelId = getDefaultLabelId(rootId);
16850    const labelProps = useLabel({
16851      id: defaultLabelId,
16852      fallbackControlId: triggerElement?.id ?? rootId,
16853      setLabelId(nextLabelId) {
16854        const resolvedLabelId = typeof nextLabelId === "function" ? nextLabelId(store.state.labelId) : nextLabelId;
16855        store.set("labelId", resolvedLabelId);
16856      }
16857    });
16858    return useRenderElement("div", componentProps, {
16859      ref: forwardedRef,
16860      state: fieldRootContext.state,
16861      props: [labelProps, elementProps],
16862      stateAttributesMapping: fieldValidityMapping
16863    });
16864  });
16865  if (true) SelectLabel.displayName = "SelectLabel";
16866  
16867  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/trigger/SelectTrigger.mjs
16868  var React136 = __toESM(require_react(), 1);
16869  
16870  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/trigger/SelectTriggerDataAttributes.mjs
16871  var popupOpen3 = CommonTriggerDataAttributes_exports.popupOpen;
16872  var pressed2 = CommonTriggerDataAttributes_exports.pressed;
16873  var popupSide = "data-popup-side";
16874  
16875  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/trigger/SelectTrigger.mjs
16876  var SELECTED_DELAY = 400;
16877  var stateAttributesMapping = {
16878    ...pressableTriggerOpenStateMapping,
16879    ...fieldValidityMapping,
16880    popupSide: (side) => side ? {
16881      [popupSide]: side
16882    } : null,
16883    value: () => null
16884  };
16885  var SelectTrigger = /* @__PURE__ */ React136.forwardRef(function SelectTrigger2(componentProps, forwardedRef) {
16886    const {
16887      render,
16888      className,
16889      id: idProp,
16890      disabled: disabledProp = false,
16891      nativeButton = true,
16892      style,
16893      ...elementProps
16894    } = componentProps;
16895    const {
16896      setTouched,
16897      validationMode,
16898      validation,
16899      state: fieldState,
16900      disabled: fieldDisabled
16901    } = useFieldRootContext();
16902    const {
16903      labelId: fieldLabelId
16904    } = useLabelableContext();
16905    const store = useSelectRootContext();
16906    const readOnly = store.useState("readOnly");
16907    const required = store.useState("required");
16908    const selectDisabled = store.useState("disabled");
16909    const disabled2 = fieldDisabled || selectDisabled || disabledProp;
16910    const open2 = store.useState("open");
16911    const mounted = store.useState("mounted");
16912    const value = store.useState("value");
16913    const triggerProps = store.useState("triggerProps");
16914    const positionerElement = store.useState("positionerElement");
16915    const listElement = store.useState("listElement");
16916    const popupSideValue = store.useState("popupSide");
16917    const rootId = store.useState("id");
16918    const selectLabelId = store.useState("labelId");
16919    const hasSelectedValue = store.useState("hasSelectedValue");
16920    const popupSide2 = mounted && positionerElement ? popupSideValue : null;
16921    const id = idProp ?? rootId;
16922    const ariaLabelledBy = resolveAriaLabelledBy(fieldLabelId, selectLabelId);
16923    useLabelableId({
16924      id: idProp
16925    });
16926    const positionerRef = useValueAsRef(positionerElement);
16927    const triggerRef = React136.useRef(null);
16928    const setFocused = useSetFieldFocused(disabled2, triggerRef);
16929    const {
16930      getButtonProps,
16931      buttonRef
16932    } = useButton({
16933      disabled: disabled2,
16934      native: nativeButton
16935    });
16936    const setTriggerElement = store.useStateSetter("triggerElement");
16937    const timeoutFocus = useTimeout();
16938    const timeoutMouseDown = useTimeout();
16939    const selectedDelayTimeout = useTimeout();
16940    React136.useEffect(() => {
16941      if (open2) {
16942        selectedDelayTimeout.start(SELECTED_DELAY, () => {
16943          store.context.selectionRef.current.allowUnselectedMouseUp = true;
16944          store.context.selectionRef.current.allowSelectedMouseUp = true;
16945        });
16946        return () => {
16947          selectedDelayTimeout.clear();
16948        };
16949      }
16950      store.context.selectionRef.current = {
16951        allowSelectedMouseUp: false,
16952        allowUnselectedMouseUp: false,
16953        dragY: 0
16954      };
16955      timeoutMouseDown.clear();
16956      return void 0;
16957    }, [open2, store, timeoutMouseDown, selectedDelayTimeout]);
16958    const mergedProps = mergeProps(triggerProps, {
16959      id,
16960      role: "combobox",
16961      "aria-expanded": open2,
16962      "aria-haspopup": "listbox",
16963      "aria-controls": open2 ? listElement?.id ?? getFloatingFocusElement(positionerElement)?.id : void 0,
16964      "aria-labelledby": ariaLabelledBy,
16965      "aria-readonly": readOnly || void 0,
16966      "aria-required": required || void 0,
16967      tabIndex: disabled2 ? -1 : 0,
16968      onFocus(event) {
16969        setFocused(true);
16970        if (open2 && store.context.alignItemWithTriggerActiveRef.current) {
16971          store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.none, event.nativeEvent));
16972        }
16973        timeoutFocus.start(0, () => {
16974          store.set("forceMount", true);
16975        });
16976      },
16977      onBlur(event) {
16978        if (contains(positionerElement, event.relatedTarget)) {
16979          return;
16980        }
16981        setTouched(true);
16982        setFocused(false);
16983        if (validationMode === "onBlur") {
16984          validation.commit(value);
16985        }
16986      },
16987      onMouseDown(event) {
16988        if (open2) {
16989          return;
16990        }
16991        const doc = ownerDocument(event.currentTarget);
16992        function handleMouseUp(mouseEvent) {
16993          if (!triggerRef.current) {
16994            return;
16995          }
16996          const mouseUpTarget = mouseEvent.target;
16997          if (contains(triggerRef.current, mouseUpTarget) || contains(positionerRef.current, mouseUpTarget)) {
16998            return;
16999          }
17000          if (isMouseWithinBounds(mouseEvent, triggerRef.current)) {
17001            return;
17002          }
17003          store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.cancelOpen, mouseEvent));
17004        }
17005        timeoutMouseDown.start(0, () => {
17006          doc.addEventListener("mouseup", handleMouseUp, {
17007            once: true
17008          });
17009        });
17010      }
17011    }, elementProps, getButtonProps);
17012    const props = validation.getValidationProps(disabled2, mergedProps);
17013    props.role = "combobox";
17014    const state = {
17015      ...fieldState,
17016      open: open2,
17017      disabled: disabled2,
17018      value,
17019      readOnly,
17020      popupSide: popupSide2,
17021      placeholder: !hasSelectedValue
17022    };
17023    return useRenderElement("button", componentProps, {
17024      ref: [forwardedRef, triggerRef, buttonRef, setTriggerElement],
17025      state,
17026      stateAttributesMapping,
17027      props
17028    });
17029  });
17030  if (true) SelectTrigger.displayName = "SelectTrigger";
17031  
17032  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/value/SelectValue.mjs
17033  var React137 = __toESM(require_react(), 1);
17034  var stateAttributesMapping2 = {
17035    value: () => null
17036  };
17037  var SelectValue = /* @__PURE__ */ React137.forwardRef(function SelectValue2(componentProps, forwardedRef) {
17038    const {
17039      className,
17040      render,
17041      children: childrenProp,
17042      placeholder,
17043      style,
17044      ...elementProps
17045    } = componentProps;
17046    const store = useSelectRootContext();
17047    const value = store.useState("value");
17048    const items = store.useState("items");
17049    const itemToStringLabel = store.useState("itemToStringLabel");
17050    const hasSelectedValue = store.useState("hasSelectedValue");
17051    const shouldCheckNullItemLabel = !hasSelectedValue && placeholder != null && childrenProp == null;
17052    const hasNullLabel = store.useState("hasNullItemLabel", shouldCheckNullItemLabel);
17053    const state = {
17054      value,
17055      placeholder: !hasSelectedValue
17056    };
17057    let children = null;
17058    if (typeof childrenProp === "function") {
17059      children = childrenProp(value);
17060    } else if (childrenProp != null) {
17061      children = childrenProp;
17062    } else if (shouldCheckNullItemLabel && !hasNullLabel) {
17063      children = placeholder;
17064    } else if (Array.isArray(value)) {
17065      children = resolveMultipleLabels(value, items, itemToStringLabel);
17066    } else {
17067      children = resolveSelectedLabel(value, items, itemToStringLabel);
17068    }
17069    const element = useRenderElement("span", componentProps, {
17070      state,
17071      ref: [forwardedRef, store.context.valueRef],
17072      props: [{
17073        children
17074      }, elementProps],
17075      stateAttributesMapping: stateAttributesMapping2
17076    });
17077    return element;
17078  });
17079  if (true) SelectValue.displayName = "SelectValue";
17080  
17081  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/icon/SelectIcon.mjs
17082  var React138 = __toESM(require_react(), 1);
17083  var SelectIcon = /* @__PURE__ */ React138.forwardRef(function SelectIcon2(componentProps, forwardedRef) {
17084    const {
17085      render,
17086      className,
17087      style,
17088      ...elementProps
17089    } = componentProps;
17090    const store = useSelectRootContext();
17091    const open2 = store.useState("open");
17092    const state = {
17093      open: open2
17094    };
17095    const element = useRenderElement("span", componentProps, {
17096      state,
17097      ref: forwardedRef,
17098      props: [{
17099        "aria-hidden": true,
17100        children: "\u25BC"
17101      }, elementProps],
17102      stateAttributesMapping: triggerOpenStateMapping
17103    });
17104    return element;
17105  });
17106  if (true) SelectIcon.displayName = "SelectIcon";
17107  
17108  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/portal/SelectPortal.mjs
17109  var React139 = __toESM(require_react(), 1);
17110  var import_jsx_runtime42 = __toESM(require_jsx_runtime(), 1);
17111  var SelectPortal = /* @__PURE__ */ React139.forwardRef(function SelectPortal2(portalProps, forwardedRef) {
17112    const store = useSelectRootContext();
17113    const mounted = store.useState("mounted");
17114    const forceMount = store.useState("forceMount");
17115    const shouldRender = mounted || forceMount;
17116    if (!shouldRender) {
17117      return null;
17118    }
17119    return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(FloatingPortal, {
17120      ref: forwardedRef,
17121      ...portalProps
17122    });
17123  });
17124  if (true) SelectPortal.displayName = "SelectPortal";
17125  
17126  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/backdrop/SelectBackdrop.mjs
17127  var React140 = __toESM(require_react(), 1);
17128  var stateAttributesMapping3 = {
17129    ...popupStateMapping,
17130    ...transitionStatusMapping
17131  };
17132  var SelectBackdrop = /* @__PURE__ */ React140.forwardRef(function SelectBackdrop2(componentProps, forwardedRef) {
17133    const {
17134      render,
17135      className,
17136      style,
17137      ...elementProps
17138    } = componentProps;
17139    const store = useSelectRootContext();
17140    const open2 = store.useState("open");
17141    const mounted = store.useState("mounted");
17142    const transitionStatus = store.useState("transitionStatus");
17143    const state = {
17144      open: open2,
17145      transitionStatus
17146    };
17147    const element = useRenderElement("div", componentProps, {
17148      state,
17149      ref: forwardedRef,
17150      props: [{
17151        role: "presentation",
17152        hidden: !mounted,
17153        style: {
17154          userSelect: "none",
17155          WebkitUserSelect: "none"
17156        }
17157      }, elementProps],
17158      stateAttributesMapping: stateAttributesMapping3
17159    });
17160    return element;
17161  });
17162  if (true) SelectBackdrop.displayName = "SelectBackdrop";
17163  
17164  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositioner.mjs
17165  var React142 = __toESM(require_react(), 1);
17166  
17167  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositionerContext.mjs
17168  var React141 = __toESM(require_react(), 1);
17169  var SelectPositionerContext = /* @__PURE__ */ React141.createContext(void 0);
17170  if (true) SelectPositionerContext.displayName = "SelectPositionerContext";
17171  function useSelectPositionerContext() {
17172    const context = React141.useContext(SelectPositionerContext);
17173    if (!context) {
17174      throw new Error(true ? "Base UI: SelectPositionerContext is missing. SelectPositioner parts must be placed within <Select.Positioner>." : formatErrorMessage_default(59));
17175    }
17176    return context;
17177  }
17178  
17179  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/popup/utils.mjs
17180  function clearStyles(element, originalStyles) {
17181    if (element) {
17182      Object.assign(element.style, originalStyles);
17183    }
17184  }
17185  var LIST_FUNCTIONAL_STYLES = {
17186    position: "relative",
17187    maxHeight: "100%",
17188    overflowX: "hidden",
17189    overflowY: "auto"
17190  };
17191  
17192  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositioner.mjs
17193  var import_jsx_runtime43 = __toESM(require_jsx_runtime(), 1);
17194  var FIXED = {
17195    position: "fixed"
17196  };
17197  var SelectPositioner = /* @__PURE__ */ React142.forwardRef(function SelectPositioner2(componentProps, forwardedRef) {
17198    const {
17199      anchor,
17200      className,
17201      render,
17202      // `useAnchorPositioning` applies the same defaults to the undefined values; the names
17203      // remain destructured to exclude the props from `elementProps`.
17204      positionMethod,
17205      side,
17206      align,
17207      sideOffset,
17208      alignOffset,
17209      collisionBoundary = "clipping-ancestors",
17210      collisionPadding,
17211      arrowPadding,
17212      sticky,
17213      disableAnchorTracking,
17214      alignItemWithTrigger = true,
17215      collisionAvoidance = DROPDOWN_COLLISION_AVOIDANCE,
17216      style,
17217      ...elementProps
17218    } = componentProps;
17219    const store = useSelectRootContext();
17220    const floatingRootContext = useSelectFloatingContext();
17221    const open2 = store.useState("open");
17222    const mounted = store.useState("mounted");
17223    const modal = store.useState("modal");
17224    const value = store.useState("value");
17225    const openMethod = store.useState("openMethod");
17226    const positionerElement = store.useState("positionerElement");
17227    const triggerElement = store.useState("triggerElement");
17228    const isItemEqualToValue = store.useState("isItemEqualToValue");
17229    const transitionStatus = store.useState("transitionStatus");
17230    const scrollUpArrowRef = React142.useRef(null);
17231    const scrollDownArrowRef = React142.useRef(null);
17232    const [controlledAlignItemWithTrigger, setControlledAlignItemWithTrigger] = React142.useState(alignItemWithTrigger);
17233    const alignItemWithTriggerActive = mounted && controlledAlignItemWithTrigger && openMethod !== "touch";
17234    if (!mounted && controlledAlignItemWithTrigger !== alignItemWithTrigger) {
17235      setControlledAlignItemWithTrigger(alignItemWithTrigger);
17236    }
17237    React142.useImperativeHandle(store.context.alignItemWithTriggerActiveRef, () => alignItemWithTriggerActive);
17238    useAnchoredPopupScrollLock((alignItemWithTriggerActive || modal) && open2, openMethod === "touch", positionerElement, triggerElement);
17239    const positioning = useAnchorPositioning({
17240      anchor,
17241      floatingRootContext,
17242      positionMethod,
17243      mounted,
17244      side,
17245      sideOffset,
17246      align,
17247      alignOffset,
17248      arrowPadding,
17249      collisionBoundary,
17250      collisionPadding,
17251      sticky,
17252      disableAnchorTracking: disableAnchorTracking ?? alignItemWithTriggerActive,
17253      collisionAvoidance,
17254      keepMounted: true
17255    });
17256    const renderedSide = alignItemWithTriggerActive ? "none" : positioning.side;
17257    const positionerStyles = alignItemWithTriggerActive ? FIXED : positioning.positionerStyles;
17258    const state = {
17259      open: open2,
17260      side: renderedSide,
17261      align: positioning.align,
17262      anchorHidden: positioning.anchorHidden
17263    };
17264    useIsoLayoutEffect(() => {
17265      store.set("popupSide", positioning.side);
17266    }, [store, positioning.side]);
17267    const setPositionerElement = store.useStateSetter("positionerElement");
17268    const element = usePositioner(componentProps, state, {
17269      styles: positionerStyles,
17270      transitionStatus,
17271      props: elementProps,
17272      refs: [forwardedRef, setPositionerElement],
17273      hidden: !mounted,
17274      inert: !open2
17275    });
17276    const prevMapSizeRef = React142.useRef(0);
17277    const onMapChange = useStableCallback((map) => {
17278      if (store.context.valuesRef.current.length === 0) {
17279        return;
17280      }
17281      const prevSize = prevMapSizeRef.current;
17282      prevMapSizeRef.current = map.size;
17283      const eventDetails = createChangeEventDetails(reason_parts_exports.none);
17284      if (prevSize !== 0 && !store.state.multiple && value !== null) {
17285        const selectedValueIndex = findItemIndex(store.context.valuesRef.current, value, isItemEqualToValue);
17286        if (selectedValueIndex === -1) {
17287          const initialSelectedValue = store.context.initialValueRef.current;
17288          const hasInitial = initialSelectedValue != null && findItemIndex(store.context.valuesRef.current, initialSelectedValue, isItemEqualToValue) !== -1;
17289          const nextValue = hasInitial ? initialSelectedValue : null;
17290          store.context.setValue(nextValue, eventDetails);
17291          if (nextValue === null) {
17292            store.set("selectedIndex", null);
17293            store.context.selectedItemTextRef.current = null;
17294          }
17295        }
17296      }
17297      if (prevSize !== 0 && store.state.multiple && Array.isArray(value)) {
17298        const nextValue = value.filter((selectedItemValue) => findItemIndex(store.context.valuesRef.current, selectedItemValue, isItemEqualToValue) !== -1);
17299        if (nextValue.length !== value.length) {
17300          store.context.setValue(nextValue, eventDetails);
17301          if (nextValue.length === 0) {
17302            store.set("selectedIndex", null);
17303            store.context.selectedItemTextRef.current = null;
17304          }
17305        }
17306      }
17307      if (open2 && alignItemWithTriggerActive) {
17308        store.update({
17309          scrollUpArrowVisible: false,
17310          scrollDownArrowVisible: false
17311        });
17312        const stylesToClear = {
17313          height: ""
17314        };
17315        clearStyles(positionerElement, stylesToClear);
17316        clearStyles(store.context.popupRef.current, stylesToClear);
17317      }
17318    });
17319    const contextValue = React142.useMemo(() => ({
17320      ...positioning,
17321      side: renderedSide,
17322      alignItemWithTriggerActive,
17323      setControlledAlignItemWithTrigger,
17324      scrollUpArrowRef,
17325      scrollDownArrowRef
17326    }), [positioning, renderedSide, alignItemWithTriggerActive, setControlledAlignItemWithTrigger]);
17327    return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(CompositeList, {
17328      elementsRef: store.context.listRef,
17329      labelsRef: store.context.labelsRef,
17330      onMapChange,
17331      children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(SelectPositionerContext.Provider, {
17332        value: contextValue,
17333        children: [mounted && modal && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(InternalBackdrop, {
17334          inert: inertValue(!open2),
17335          cutout: triggerElement
17336        }), element]
17337      })
17338    });
17339  });
17340  if (true) SelectPositioner.displayName = "SelectPositioner";
17341  
17342  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/popup/SelectPopup.mjs
17343  var React143 = __toESM(require_react(), 1);
17344  
17345  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositionerCssVars.mjs
17346  var transformOrigin2 = "--transform-origin";
17347  
17348  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/popup/SelectPopup.mjs
17349  var import_jsx_runtime44 = __toESM(require_jsx_runtime(), 1);
17350  var stateAttributesMapping4 = {
17351    ...popupStateMapping,
17352    ...transitionStatusMapping
17353  };
17354  var SelectPopup = /* @__PURE__ */ React143.forwardRef(function SelectPopup2(componentProps, forwardedRef) {
17355    const {
17356      render,
17357      className,
17358      style,
17359      finalFocus,
17360      ...elementProps
17361    } = componentProps;
17362    const store = useSelectRootContext();
17363    const multiple = store.useState("multiple");
17364    const readOnly = store.useState("readOnly");
17365    const highlightItemOnHover = store.useState("highlightItemOnHover");
17366    const floatingRootContext = useSelectFloatingContext();
17367    const {
17368      side,
17369      align,
17370      alignItemWithTriggerActive,
17371      isPositioned,
17372      setControlledAlignItemWithTrigger
17373    } = useSelectPositionerContext();
17374    const insideToolbar = useToolbarRootContext(true) != null;
17375    const direction = useDirection();
17376    const {
17377      nonce,
17378      disableStyleElements
17379    } = useCSPContext();
17380    const id = store.useState("id");
17381    const open2 = store.useState("open");
17382    const openMethod = store.useState("openMethod");
17383    const mounted = store.useState("mounted");
17384    const popupProps = store.useState("popupProps");
17385    const transitionStatus = store.useState("transitionStatus");
17386    const triggerElement = store.useState("triggerElement");
17387    const positionerElement = store.useState("positionerElement");
17388    const listElement = store.useState("listElement");
17389    const reachedMaxHeightRef = React143.useRef(false);
17390    const initialPlacedRef = React143.useRef(false);
17391    const originalPositionerStylesRef = React143.useRef({});
17392    const scrollArrowFrame = useAnimationFrame();
17393    const handleScroll = useStableCallback((scroller) => {
17394      if (!positionerElement || !store.context.popupRef.current || !initialPlacedRef.current) {
17395        return;
17396      }
17397      const isTopPositioned = positionerElement.style.top === "0px";
17398      const isBottomPositioned = positionerElement.style.bottom === "0px";
17399      if (reachedMaxHeightRef.current || !alignItemWithTriggerActive || !isTopPositioned && !isBottomPositioned) {
17400        store.context.handleScrollArrowVisibility(scroller);
17401        return;
17402      }
17403      const scale = getScale2(positionerElement);
17404      const currentHeight = normalizeSize(positionerElement.getBoundingClientRect().height, "y", scale);
17405      const doc = ownerDocument(positionerElement);
17406      const win = getWindow(positionerElement);
17407      const positionerStyles = win.getComputedStyle(positionerElement);
17408      const marginTop = parseFloat(positionerStyles.marginTop);
17409      const marginBottom = parseFloat(positionerStyles.marginBottom);
17410      const maxPopupHeight = getMaxPopupHeight(win.getComputedStyle(store.context.popupRef.current));
17411      const maxAvailableHeight = Math.min(doc.documentElement.clientHeight - marginTop - marginBottom, maxPopupHeight);
17412      const scrollTop = scroller.scrollTop;
17413      const maxScrollTop = getMaxScrollTop(scroller);
17414      let nextScrollTop = null;
17415      const setHeight = (height) => {
17416        positionerElement.style.height = `$height}px`;
17417      };
17418      const diff = isTopPositioned ? maxScrollTop - scrollTop : scrollTop;
17419      const nextHeight = Math.min(currentHeight + diff, maxAvailableHeight);
17420      if (diff <= SCROLL_EDGE_TOLERANCE_PX) {
17421        const heightDelta = clamp2(diff, 0, maxAvailableHeight - currentHeight);
17422        if (heightDelta > 0) {
17423          setHeight(currentHeight + heightDelta);
17424        }
17425        scroller.scrollTop = isTopPositioned ? maxScrollTop : 0;
17426        if (maxAvailableHeight - (currentHeight + heightDelta) <= SCROLL_EDGE_TOLERANCE_PX) {
17427          reachedMaxHeightRef.current = true;
17428        }
17429        store.context.handleScrollArrowVisibility(scroller);
17430        return;
17431      }
17432      if (maxAvailableHeight - nextHeight > SCROLL_EDGE_TOLERANCE_PX) {
17433        nextScrollTop = isTopPositioned ? Infinity : 0;
17434      } else if (isBottomPositioned && scrollTop < maxScrollTop) {
17435        const overshoot = currentHeight + diff - maxAvailableHeight;
17436        nextScrollTop = scrollTop - (diff - overshoot);
17437      }
17438      const nextPositionerHeight = Math.ceil(nextHeight);
17439      if (nextPositionerHeight !== 0) {
17440        setHeight(nextPositionerHeight);
17441      }
17442      if (nextScrollTop != null) {
17443        const target = clamp2(nextScrollTop, 0, getMaxScrollTop(scroller));
17444        if (Math.abs(scroller.scrollTop - target) > SCROLL_EDGE_TOLERANCE_PX) {
17445          scroller.scrollTop = target;
17446        }
17447      }
17448      if (nextPositionerHeight >= maxAvailableHeight - SCROLL_EDGE_TOLERANCE_PX) {
17449        reachedMaxHeightRef.current = true;
17450      }
17451      store.context.handleScrollArrowVisibility(scroller);
17452    });
17453    React143.useImperativeHandle(store.context.scrollHandlerRef, () => handleScroll, [handleScroll]);
17454    useOpenChangeComplete({
17455      open: open2,
17456      ref: store.context.popupRef,
17457      onComplete() {
17458        if (open2) {
17459          store.context.onOpenChangeComplete(true);
17460        }
17461      }
17462    });
17463    const state = {
17464      open: open2,
17465      transitionStatus,
17466      side,
17467      align
17468    };
17469    useIsoLayoutEffect(() => {
17470      if (!positionerElement || !store.context.popupRef.current || Object.keys(originalPositionerStylesRef.current).length) {
17471        return;
17472      }
17473      originalPositionerStylesRef.current = {
17474        top: positionerElement.style.top || "0",
17475        left: positionerElement.style.left || "0",
17476        right: positionerElement.style.right,
17477        height: positionerElement.style.height,
17478        bottom: positionerElement.style.bottom,
17479        minHeight: positionerElement.style.minHeight,
17480        maxHeight: positionerElement.style.maxHeight,
17481        marginTop: positionerElement.style.marginTop,
17482        marginBottom: positionerElement.style.marginBottom
17483      };
17484    }, [store, positionerElement]);
17485    useIsoLayoutEffect(() => {
17486      if (open2 || alignItemWithTriggerActive) {
17487        return;
17488      }
17489      initialPlacedRef.current = false;
17490      reachedMaxHeightRef.current = false;
17491      clearStyles(positionerElement, originalPositionerStylesRef.current);
17492    }, [open2, alignItemWithTriggerActive, positionerElement]);
17493    useIsoLayoutEffect(() => {
17494      const popupElement = store.context.popupRef.current;
17495      if (!open2 || !triggerElement || !positionerElement || !popupElement || alignItemWithTriggerActive && !isPositioned || store.state.transitionStatus === "ending") {
17496        return;
17497      }
17498      initialPlacedRef.current = true;
17499      popupElement.style.removeProperty(transformOrigin2);
17500      if (!alignItemWithTriggerActive) {
17501        scrollArrowFrame.request(() => store.context.handleScrollArrowVisibility(listElement || popupElement));
17502        return;
17503      }
17504      const restoreTransformStyles = unsetTransformStyles(popupElement);
17505      try {
17506        let textElement = store.context.selectedItemTextRef.current;
17507        if (!textElement?.isConnected) {
17508          const hasSelectedValue = store.select("hasSelectedValue");
17509          textElement = !hasSelectedValue && store.context.firstItemTextRef.current?.isConnected ? store.context.firstItemTextRef.current : null;
17510        }
17511        const valueElement = store.context.valueRef.current;
17512        const win = getWindow(positionerElement);
17513        const positionerStyles = win.getComputedStyle(positionerElement);
17514        const popupStyles = win.getComputedStyle(popupElement);
17515        const doc = ownerDocument(triggerElement);
17516        const scale = getScale2(triggerElement);
17517        const triggerRect = normalizeRect(triggerElement.getBoundingClientRect(), scale);
17518        const positionerRect = normalizeRect(positionerElement.getBoundingClientRect(), scale);
17519        const triggerHeight = triggerRect.height;
17520        const scroller = listElement || popupElement;
17521        const scrollHeight = scroller.scrollHeight;
17522        const borderBottom = parseFloat(popupStyles.borderBottomWidth);
17523        const marginTop = parseFloat(positionerStyles.marginTop) || 10;
17524        const marginBottom = parseFloat(positionerStyles.marginBottom) || 10;
17525        const minHeight = parseFloat(positionerStyles.minHeight) || 100;
17526        const maxPopupHeight = getMaxPopupHeight(popupStyles);
17527        const paddingLeft = 5;
17528        const paddingRight = 5;
17529        const triggerCollisionThreshold = 20;
17530        const viewportHeight = doc.documentElement.clientHeight - marginTop - marginBottom;
17531        const viewportWidth = doc.documentElement.clientWidth;
17532        const availableSpaceBeneathTrigger = viewportHeight - triggerRect.bottom + triggerHeight;
17533        let textRect;
17534        let alignedLeft = direction === "rtl" ? triggerRect.right - positionerRect.width : triggerRect.left;
17535        let offsetY = 0;
17536        if (textElement && valueElement) {
17537          const valueRect = normalizeRect(valueElement.getBoundingClientRect(), scale);
17538          textRect = normalizeRect(textElement.getBoundingClientRect(), scale);
17539          alignedLeft = positionerRect.left + (direction === "rtl" ? valueRect.right - textRect.right : valueRect.left - textRect.left);
17540          const valueCenterFromTriggerTop = valueRect.top - triggerRect.top + valueRect.height / 2;
17541          const textCenterFromPositionerTop = textRect.top - positionerRect.top + textRect.height / 2;
17542          offsetY = textCenterFromPositionerTop - valueCenterFromTriggerTop;
17543        }
17544        const idealHeight = availableSpaceBeneathTrigger + offsetY + marginBottom + borderBottom;
17545        let height = Math.min(viewportHeight, idealHeight);
17546        const maxHeight = viewportHeight - marginTop - marginBottom;
17547        const scrollTop = idealHeight - height;
17548        const maxRight = viewportWidth - paddingRight;
17549        positionerElement.style.left = `$clamp2(alignedLeft, paddingLeft, maxRight - positionerRect.width)}px`;
17550        positionerElement.style.height = `$height}px`;
17551        positionerElement.style.maxHeight = "none";
17552        positionerElement.style.marginTop = `$marginTop}px`;
17553        positionerElement.style.marginBottom = `$marginBottom}px`;
17554        popupElement.style.height = "100%";
17555        const maxScrollTop = getMaxScrollTop(scroller);
17556        const isTopPositioned = scrollTop >= maxScrollTop - SCROLL_EDGE_TOLERANCE_PX;
17557        if (isTopPositioned) {
17558          height = Math.min(viewportHeight, positionerRect.height) - (scrollTop - maxScrollTop);
17559        }
17560        const fallbackToAlignPopupToTrigger = triggerRect.top < triggerCollisionThreshold || triggerRect.bottom > viewportHeight - triggerCollisionThreshold || Math.ceil(height) + SCROLL_EDGE_TOLERANCE_PX < Math.min(scrollHeight, minHeight);
17561        const isPinchZoomed = (win.visualViewport?.scale ?? 1) !== 1 && parts_exports.engine.webkit;
17562        if (fallbackToAlignPopupToTrigger || isPinchZoomed) {
17563          clearStyles(positionerElement, originalPositionerStylesRef.current);
17564          setControlledAlignItemWithTrigger(false);
17565          return;
17566        }
17567        const initialHeight = Math.max(minHeight, height);
17568        if (isTopPositioned) {
17569          const topOffset = Math.max(0, viewportHeight - idealHeight);
17570          positionerElement.style.top = positionerRect.height >= maxHeight ? "0" : `$topOffset}px`;
17571          positionerElement.style.height = `$height}px`;
17572          scroller.scrollTop = getMaxScrollTop(scroller);
17573        } else {
17574          positionerElement.style.bottom = "0";
17575          scroller.scrollTop = scrollTop;
17576        }
17577        if (textRect) {
17578          const popupTop = positionerRect.top;
17579          const popupHeight2 = positionerRect.height;
17580          const textCenterY = textRect.top + textRect.height / 2;
17581          const clampedY = clamp2(popupHeight2 > 0 ? (textCenterY - popupTop) / popupHeight2 * 100 : 50, 0, 100);
17582          popupElement.style.setProperty(transformOrigin2, `50% $clampedY}%`);
17583        }
17584        if (initialHeight === viewportHeight || height >= maxPopupHeight) {
17585          reachedMaxHeightRef.current = true;
17586        }
17587        store.context.handleScrollArrowVisibility(scroller);
17588        if (highlightItemOnHover && store.state.selectedIndex === null && store.state.activeIndex === null && store.context.listRef.current[0] != null) {
17589          store.set("activeIndex", 0);
17590        }
17591      } finally {
17592        restoreTransformStyles();
17593      }
17594    }, [store, open2, positionerElement, triggerElement, alignItemWithTriggerActive, setControlledAlignItemWithTrigger, scrollArrowFrame, listElement, highlightItemOnHover, direction, isPositioned]);
17595    React143.useEffect(() => {
17596      if (!alignItemWithTriggerActive || !positionerElement || !open2) {
17597        return void 0;
17598      }
17599      const win = getWindow(positionerElement);
17600      function handleResize(event) {
17601        store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.windowResize, event));
17602      }
17603      return addEventListener(win, "resize", handleResize);
17604    }, [store, alignItemWithTriggerActive, positionerElement, open2]);
17605    const defaultProps = {
17606      ...listElement ? {
17607        role: "presentation"
17608      } : {
17609        role: "listbox",
17610        "aria-multiselectable": multiple || void 0,
17611        "aria-readonly": readOnly || void 0,
17612        id: `$id}-list`
17613      },
17614      onKeyDown(event) {
17615        if (insideToolbar && COMPOSITE_KEYS.has(event.key)) {
17616          event.stopPropagation();
17617        }
17618      },
17619      onScroll(event) {
17620        if (listElement) {
17621          return;
17622        }
17623        handleScroll(event.currentTarget);
17624      },
17625      ...alignItemWithTriggerActive && {
17626        style: listElement ? {
17627          height: "100%"
17628        } : LIST_FUNCTIONAL_STYLES
17629      },
17630      className: !listElement && alignItemWithTriggerActive ? styleDisableScrollbar.className : void 0
17631    };
17632    const element = useRenderElement("div", componentProps, {
17633      ref: [forwardedRef, store.context.popupRef],
17634      state,
17635      stateAttributesMapping: stateAttributesMapping4,
17636      props: [popupProps, defaultProps, getDisabledMountTransitionStyles(transitionStatus), elementProps]
17637    });
17638    return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(React143.Fragment, {
17639      children: [!disableStyleElements && styleDisableScrollbar.getElement(nonce), /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(FloatingFocusManager, {
17640        context: floatingRootContext,
17641        modal: false,
17642        disabled: !mounted,
17643        openInteractionType: openMethod,
17644        returnFocus: finalFocus,
17645        restoreFocus: true,
17646        children: element
17647      })]
17648    });
17649  });
17650  if (true) SelectPopup.displayName = "SelectPopup";
17651  function getMaxPopupHeight(popupStyles) {
17652    const maxHeightStyle = popupStyles.maxHeight;
17653    return maxHeightStyle.endsWith("px") ? parseFloat(maxHeightStyle) || Infinity : Infinity;
17654  }
17655  function getMaxScrollTop(scroller) {
17656    return getMaxScrollOffset(scroller.scrollHeight, scroller.clientHeight);
17657  }
17658  function getScale2(element) {
17659    return platform2.getScale(element);
17660  }
17661  function normalizeSize(size4, axis, scale) {
17662    return size4 / scale[axis];
17663  }
17664  function normalizeRect(rect, scale) {
17665    return rectToClientRect({
17666      x: normalizeSize(rect.x, "x", scale),
17667      y: normalizeSize(rect.y, "y", scale),
17668      width: normalizeSize(rect.width, "x", scale),
17669      height: normalizeSize(rect.height, "y", scale)
17670    });
17671  }
17672  var TRANSFORM_STYLE_RESETS = [["transform", "none"], ["scale", "1"], ["translate", "0 0"]];
17673  function unsetTransformStyles(popupElement) {
17674    const {
17675      style
17676    } = popupElement;
17677    const originalStyles = {};
17678    for (const [property, value] of TRANSFORM_STYLE_RESETS) {
17679      originalStyles[property] = style.getPropertyValue(property);
17680      style.setProperty(property, value, "important");
17681    }
17682    return () => {
17683      for (const [property] of TRANSFORM_STYLE_RESETS) {
17684        const originalValue = originalStyles[property];
17685        if (originalValue) {
17686          style.setProperty(property, originalValue);
17687        } else {
17688          style.removeProperty(property);
17689        }
17690      }
17691    };
17692  }
17693  
17694  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/list/SelectList.mjs
17695  var React144 = __toESM(require_react(), 1);
17696  var SelectList = /* @__PURE__ */ React144.forwardRef(function SelectList2(componentProps, forwardedRef) {
17697    const {
17698      render,
17699      className,
17700      style,
17701      ...elementProps
17702    } = componentProps;
17703    const store = useSelectRootContext();
17704    const multiple = store.useState("multiple");
17705    const readOnly = store.useState("readOnly");
17706    const {
17707      alignItemWithTriggerActive
17708    } = useSelectPositionerContext();
17709    const hasScrollArrows = store.useState("hasScrollArrows");
17710    const openMethod = store.useState("openMethod");
17711    const id = store.useState("id");
17712    const defaultProps = {
17713      id: `$id}-list`,
17714      role: "listbox",
17715      "aria-multiselectable": multiple || void 0,
17716      "aria-readonly": readOnly || void 0,
17717      onScroll(event) {
17718        store.context.scrollHandlerRef.current?.(event.currentTarget);
17719      },
17720      ...alignItemWithTriggerActive && {
17721        style: LIST_FUNCTIONAL_STYLES
17722      },
17723      className: hasScrollArrows && openMethod !== "touch" ? styleDisableScrollbar.className : void 0
17724    };
17725    const setListElement = store.useStateSetter("listElement");
17726    return useRenderElement("div", componentProps, {
17727      ref: [forwardedRef, setListElement],
17728      props: [defaultProps, elementProps]
17729    });
17730  });
17731  if (true) SelectList.displayName = "SelectList";
17732  
17733  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item/SelectItem.mjs
17734  var React146 = __toESM(require_react(), 1);
17735  
17736  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item/SelectItemContext.mjs
17737  var React145 = __toESM(require_react(), 1);
17738  var SelectItemContext = /* @__PURE__ */ React145.createContext(void 0);
17739  if (true) SelectItemContext.displayName = "SelectItemContext";
17740  function useSelectItemContext() {
17741    const context = React145.useContext(SelectItemContext);
17742    if (!context) {
17743      throw new Error(true ? "Base UI: SelectItemContext is missing. SelectItem parts must be placed within <Select.Item>." : formatErrorMessage_default(57));
17744    }
17745    return context;
17746  }
17747  
17748  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item/SelectItem.mjs
17749  var import_jsx_runtime45 = __toESM(require_jsx_runtime(), 1);
17750  var SelectItem = /* @__PURE__ */ React146.memo(/* @__PURE__ */ React146.forwardRef(function SelectItem2(componentProps, forwardedRef) {
17751    const {
17752      render,
17753      className,
17754      style,
17755      value: itemValue = null,
17756      label,
17757      disabled: disabledProp = false,
17758      nativeButton = false,
17759      ...elementProps
17760    } = componentProps;
17761    const textRef = React146.useRef(null);
17762    const listItem = useCompositeListItem({
17763      guess: true,
17764      label,
17765      textRef
17766    });
17767    const store = useSelectRootContext();
17768    const {
17769      props: itemProps,
17770      multiple,
17771      disabled: selectDisabled,
17772      readOnly,
17773      isItemEqualToValue
17774    } = store.useState("itemRoot");
17775    const disabled2 = selectDisabled || disabledProp;
17776    const highlighted = store.useState("isActive", listItem.index);
17777    const open2 = store.useState("open");
17778    const selected = store.useState("isSelected", itemValue);
17779    const selectedByFocus = store.useState("isSelectedByFocus", listItem.index);
17780    const index2 = listItem.index;
17781    const itemRef = React146.useRef(null);
17782    useIsoLayoutEffect(() => {
17783      const values = store.context.valuesRef.current;
17784      values[index2] = itemValue;
17785      return () => {
17786        delete values[index2];
17787      };
17788    }, [index2, itemValue, store]);
17789    useIsoLayoutEffect(() => {
17790      const selectedValue = store.state.value;
17791      const currentIndex = store.state.selectedIndex;
17792      let nextIndex = currentIndex;
17793      let claims;
17794      if (multiple && Array.isArray(selectedValue)) {
17795        nextIndex = resolveSelectedIndex(index2, itemValue, store.context.valuesRef.current, selectedValue, isItemEqualToValue, currentIndex);
17796        claims = nextIndex === index2;
17797        if (index2 === currentIndex && !claims) {
17798          store.context.selectedItemTextRef.current = null;
17799        }
17800      } else {
17801        claims = selectedValue !== void 0 && compareItemEquality(itemValue, selectedValue, isItemEqualToValue);
17802        if (claims) {
17803          nextIndex = index2;
17804        }
17805      }
17806      store.set("selectedIndex", nextIndex);
17807      if (claims && textRef.current) {
17808        store.context.selectedItemTextRef.current = textRef.current;
17809      }
17810    }, [index2, multiple, isItemEqualToValue, store, itemValue]);
17811    const pointerTypeRef = React146.useRef("mouse");
17812    const allowMouseSelectionRef = React146.useRef(false);
17813    const {
17814      getButtonProps,
17815      buttonRef
17816    } = useButton({
17817      disabled: disabled2,
17818      focusableWhenDisabled: true,
17819      native: nativeButton,
17820      composite: true
17821    });
17822    const state = {
17823      disabled: disabled2,
17824      selected,
17825      highlighted
17826    };
17827    function commitSelection(event) {
17828      if (selectDisabled || readOnly) {
17829        return;
17830      }
17831      const selectedValue = store.state.value;
17832      if (multiple) {
17833        const currentValue = Array.isArray(selectedValue) ? selectedValue : [];
17834        const nextValue = selected ? removeItem(currentValue, itemValue, isItemEqualToValue) : [...currentValue, itemValue];
17835        store.context.setValue(nextValue, createChangeEventDetails(reason_parts_exports.itemPress, event));
17836      } else {
17837        store.context.setValue(itemValue, createChangeEventDetails(reason_parts_exports.itemPress, event));
17838        store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.itemPress, event));
17839      }
17840    }
17841    function resetDragMovement() {
17842      store.context.selectionRef.current.dragY = 0;
17843    }
17844    const defaultProps = {
17845      role: "option",
17846      "aria-selected": selected,
17847      tabIndex: open2 && highlighted ? 0 : -1,
17848      onKeyDown(event) {
17849        store.set("activeIndex", index2);
17850        if (event.key === " " && store.context.typingRef.current) {
17851          event.preventDefault();
17852        }
17853      },
17854      onClick(event) {
17855        const isMouseClick = pointerTypeRef.current !== "touch";
17856        const clickPointerType = event.nativeEvent.pointerType;
17857        const isVirtualMouseClick = isMouseClick && isVirtualClick(event.nativeEvent) && // Generic no-pointer `detail === 0` clicks stay tied to highlight state. Virtual
17858        // clicks that carry browser pointer data, including an empty string from assistive
17859        // technology, can activate unhighlighted items.
17860        (clickPointerType !== void 0 || highlighted);
17861        const isInvalidMouseClick = isMouseClick && !isVirtualMouseClick && !allowMouseSelectionRef.current;
17862        allowMouseSelectionRef.current = false;
17863        if (disabled2 || isInvalidMouseClick) {
17864          return;
17865        }
17866        commitSelection(event.nativeEvent);
17867      },
17868      onPointerEnter(event) {
17869        pointerTypeRef.current = event.pointerType;
17870      },
17871      onPointerMove(event) {
17872        if (event.pointerType === "mouse" && event.buttons === 1) {
17873          const selection = store.context.selectionRef.current;
17874          selection.dragY += event.movementY;
17875          if (selection.dragY ** 2 >= 64) {
17876            selection.allowUnselectedMouseUp = true;
17877          }
17878        }
17879      },
17880      onPointerDown(event) {
17881        pointerTypeRef.current = event.pointerType;
17882        allowMouseSelectionRef.current = true;
17883        resetDragMovement();
17884      },
17885      onMouseUp() {
17886        resetDragMovement();
17887        if (disabled2 || pointerTypeRef.current === "touch") {
17888          return;
17889        }
17890        if (allowMouseSelectionRef.current) {
17891          return;
17892        }
17893        const disallowSelectedMouseUp = !store.context.selectionRef.current.allowSelectedMouseUp && selected;
17894        const disallowUnselectedMouseUp = !store.context.selectionRef.current.allowUnselectedMouseUp && !selected;
17895        if (disallowSelectedMouseUp || disallowUnselectedMouseUp) {
17896          return;
17897        }
17898        allowMouseSelectionRef.current = true;
17899        itemRef.current?.click();
17900        allowMouseSelectionRef.current = false;
17901      }
17902    };
17903    const element = useRenderElement("div", componentProps, {
17904      ref: [buttonRef, forwardedRef, listItem.ref, itemRef],
17905      state,
17906      props: [itemProps, defaultProps, elementProps, getButtonProps]
17907    });
17908    const contextValue = React146.useMemo(() => ({
17909      selected,
17910      index: index2,
17911      textRef,
17912      selectedByFocus
17913    }), [selected, index2, textRef, selectedByFocus]);
17914    return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SelectItemContext.Provider, {
17915      value: contextValue,
17916      children: element
17917    });
17918  }));
17919  if (true) SelectItem.displayName = "SelectItem";
17920  
17921  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item-indicator/SelectItemIndicator.mjs
17922  var React147 = __toESM(require_react(), 1);
17923  var import_jsx_runtime46 = __toESM(require_jsx_runtime(), 1);
17924  var SelectItemIndicator = /* @__PURE__ */ React147.forwardRef(function SelectItemIndicator2(componentProps, forwardedRef) {
17925    const {
17926      selected
17927    } = useSelectItemContext();
17928    const shouldRender = componentProps.keepMounted || selected;
17929    if (!shouldRender) {
17930      return null;
17931    }
17932    return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ItemIndicator, {
17933      ...componentProps,
17934      selected,
17935      ref: forwardedRef
17936    });
17937  });
17938  if (true) SelectItemIndicator.displayName = "SelectItemIndicator";
17939  
17940  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item-text/SelectItemText.mjs
17941  var React148 = __toESM(require_react(), 1);
17942  var SelectItemText = /* @__PURE__ */ React148.memo(/* @__PURE__ */ React148.forwardRef(function SelectItemText2(componentProps, forwardedRef) {
17943    const {
17944      index: index2,
17945      textRef,
17946      selectedByFocus
17947    } = useSelectItemContext();
17948    const store = useSelectRootContext();
17949    const {
17950      render,
17951      className,
17952      style,
17953      ...elementProps
17954    } = componentProps;
17955    const localRef = React148.useCallback((node) => {
17956      if (!node) {
17957        return;
17958      }
17959      if (index2 === 0) {
17960        store.context.firstItemTextRef.current = node;
17961      }
17962      if (selectedByFocus) {
17963        store.context.selectedItemTextRef.current = node;
17964      }
17965    }, [store, index2, selectedByFocus]);
17966    const element = useRenderElement("div", componentProps, {
17967      ref: [localRef, forwardedRef, textRef],
17968      props: elementProps
17969    });
17970    return element;
17971  }));
17972  if (true) SelectItemText.displayName = "SelectItemText";
17973  
17974  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/arrow/SelectArrow.mjs
17975  var React149 = __toESM(require_react(), 1);
17976  var SelectArrow = /* @__PURE__ */ React149.forwardRef(function SelectArrow2(componentProps, forwardedRef) {
17977    const {
17978      render,
17979      className,
17980      style,
17981      ...elementProps
17982    } = componentProps;
17983    const store = useSelectRootContext();
17984    const {
17985      side,
17986      align,
17987      arrowRef,
17988      arrowStyles,
17989      arrowUncentered,
17990      alignItemWithTriggerActive
17991    } = useSelectPositionerContext();
17992    const open2 = store.useState("open");
17993    const state = {
17994      open: open2,
17995      side,
17996      align,
17997      uncentered: arrowUncentered
17998    };
17999    const element = useRenderElement("div", componentProps, {
18000      state,
18001      ref: [arrowRef, forwardedRef],
18002      props: [{
18003        style: arrowStyles,
18004        "aria-hidden": true
18005      }, elementProps],
18006      stateAttributesMapping: popupTransitionStateMapping
18007    });
18008    if (alignItemWithTriggerActive) {
18009      return null;
18010    }
18011    return element;
18012  });
18013  if (true) SelectArrow.displayName = "SelectArrow";
18014  
18015  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-down-arrow/SelectScrollDownArrow.mjs
18016  var React151 = __toESM(require_react(), 1);
18017  
18018  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-arrow/SelectScrollArrow.mjs
18019  var React150 = __toESM(require_react(), 1);
18020  var SelectScrollArrow = /* @__PURE__ */ React150.forwardRef(function SelectScrollArrow2(componentProps, forwardedRef) {
18021    const {
18022      render,
18023      className,
18024      style,
18025      direction,
18026      keepMounted,
18027      ...elementProps
18028    } = componentProps;
18029    const isUp = direction === "up";
18030    const store = useSelectRootContext();
18031    const {
18032      side,
18033      scrollDownArrowRef,
18034      scrollUpArrowRef
18035    } = useSelectPositionerContext();
18036    const visibleSelector = isUp ? "scrollUpArrowVisible" : "scrollDownArrowVisible";
18037    const stateVisible = store.useState(visibleSelector);
18038    const openMethod = store.useState("openMethod");
18039    const visible = stateVisible && openMethod !== "touch";
18040    const timeout = useTimeout();
18041    const scrollArrowRef = isUp ? scrollUpArrowRef : scrollDownArrowRef;
18042    const {
18043      mounted,
18044      transitionStatus,
18045      setMounted
18046    } = useTransitionStatus(visible);
18047    useIsoLayoutEffect(() => {
18048      store.context.scrollArrowsMountedCountRef.current += 1;
18049      store.set("hasScrollArrows", true);
18050      return () => {
18051        store.context.scrollArrowsMountedCountRef.current = Math.max(0, store.context.scrollArrowsMountedCountRef.current - 1);
18052        if (store.context.scrollArrowsMountedCountRef.current === 0) {
18053          store.set("hasScrollArrows", false);
18054        }
18055      };
18056    }, [store]);
18057    useOpenChangeComplete({
18058      open: visible,
18059      ref: scrollArrowRef,
18060      onComplete() {
18061        if (!visible) {
18062          setMounted(false);
18063        }
18064      }
18065    });
18066    const state = {
18067      direction,
18068      visible,
18069      side,
18070      transitionStatus
18071    };
18072    const defaultProps = {
18073      "aria-hidden": true,
18074      children: isUp ? "\u25B2" : "\u25BC",
18075      style: {
18076        position: "absolute"
18077      },
18078      onMouseMove(event) {
18079        if (event.movementX === 0 && event.movementY === 0 || timeout.isStarted()) {
18080          return;
18081        }
18082        store.set("activeIndex", null);
18083        function scrollNextItem() {
18084          const scroller = store.state.listElement ?? store.context.popupRef.current;
18085          if (!scroller) {
18086            return;
18087          }
18088          store.set("activeIndex", null);
18089          store.context.handleScrollArrowVisibility(scroller);
18090          const maxScrollTop = getMaxScrollOffset(scroller.scrollHeight, scroller.clientHeight);
18091          const scrollTop = normalizeScrollOffset(scroller.scrollTop, maxScrollTop);
18092          const isScrolledToEdge = scrollTop === (isUp ? 0 : maxScrollTop);
18093          const items = store.context.listRef.current;
18094          if (scrollTop !== scroller.scrollTop) {
18095            scroller.scrollTop = scrollTop;
18096          }
18097          if (isScrolledToEdge) {
18098            timeout.clear();
18099            return;
18100          }
18101          if (items.length > 0) {
18102            const scrollArrowHeight = scrollArrowRef.current?.offsetHeight || 0;
18103            scroller.scrollTop = getTargetScrollTop(items, isUp, scrollTop, scroller.clientHeight, scrollArrowHeight, maxScrollTop);
18104          }
18105          timeout.start(40, scrollNextItem);
18106        }
18107        timeout.start(40, scrollNextItem);
18108      },
18109      onMouseLeave() {
18110        timeout.clear();
18111      }
18112    };
18113    const element = useRenderElement("div", componentProps, {
18114      ref: [forwardedRef, scrollArrowRef],
18115      state,
18116      props: [defaultProps, elementProps],
18117      stateAttributesMapping: transitionStatusMapping
18118    });
18119    const shouldRender = mounted || keepMounted;
18120    if (!shouldRender) {
18121      return null;
18122    }
18123    return element;
18124  });
18125  if (true) SelectScrollArrow.displayName = "SelectScrollArrow";
18126  function getTargetScrollTop(items, isUp, scrollTop, clientHeight, scrollArrowHeight, maxScrollTop) {
18127    if (isUp) {
18128      let firstVisibleIndex = 0;
18129      const visibleTop = scrollTop + scrollArrowHeight - SCROLL_EDGE_TOLERANCE_PX;
18130      for (let i = 0; i < items.length; i += 1) {
18131        const item = items[i];
18132        if (item && item.offsetTop >= visibleTop) {
18133          firstVisibleIndex = i;
18134          break;
18135        }
18136      }
18137      const targetIndex2 = Math.max(0, firstVisibleIndex - 1);
18138      const targetItem2 = items[targetIndex2];
18139      return targetIndex2 < firstVisibleIndex && targetItem2 ? normalizeScrollOffset(targetItem2.offsetTop - scrollArrowHeight, maxScrollTop) : 0;
18140    }
18141    let lastVisibleIndex = items.length - 1;
18142    const visibleBottom = scrollTop + clientHeight - scrollArrowHeight + SCROLL_EDGE_TOLERANCE_PX;
18143    for (let i = 0; i < items.length; i += 1) {
18144      const item = items[i];
18145      if (item && item.offsetTop + item.offsetHeight > visibleBottom) {
18146        lastVisibleIndex = Math.max(0, i - 1);
18147        break;
18148      }
18149    }
18150    const targetIndex = Math.min(items.length - 1, lastVisibleIndex + 1);
18151    const targetItem = items[targetIndex];
18152    return targetIndex > lastVisibleIndex && targetItem ? normalizeScrollOffset(targetItem.offsetTop + targetItem.offsetHeight - clientHeight + scrollArrowHeight, maxScrollTop) : maxScrollTop;
18153  }
18154  
18155  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-down-arrow/SelectScrollDownArrow.mjs
18156  var import_jsx_runtime47 = __toESM(require_jsx_runtime(), 1);
18157  var SelectScrollDownArrow = /* @__PURE__ */ React151.forwardRef(function SelectScrollDownArrow2(props, forwardedRef) {
18158    return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(SelectScrollArrow, {
18159      ...props,
18160      ref: forwardedRef,
18161      direction: "down"
18162    });
18163  });
18164  if (true) SelectScrollDownArrow.displayName = "SelectScrollDownArrow";
18165  
18166  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-up-arrow/SelectScrollUpArrow.mjs
18167  var React152 = __toESM(require_react(), 1);
18168  var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1);
18169  var SelectScrollUpArrow = /* @__PURE__ */ React152.forwardRef(function SelectScrollUpArrow2(props, forwardedRef) {
18170    return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SelectScrollArrow, {
18171      ...props,
18172      ref: forwardedRef,
18173      direction: "up"
18174    });
18175  });
18176  if (true) SelectScrollUpArrow.displayName = "SelectScrollUpArrow";
18177  
18178  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group/SelectGroup.mjs
18179  var React154 = __toESM(require_react(), 1);
18180  
18181  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group/SelectGroupContext.mjs
18182  var React153 = __toESM(require_react(), 1);
18183  var SelectGroupContext = /* @__PURE__ */ React153.createContext(void 0);
18184  if (true) SelectGroupContext.displayName = "SelectGroupContext";
18185  function useSelectGroupContext() {
18186    const context = React153.useContext(SelectGroupContext);
18187    if (context === void 0) {
18188      throw new Error(true ? "Base UI: SelectGroupContext is missing. SelectGroup parts must be placed within <Select.Group>." : formatErrorMessage_default(56));
18189    }
18190    return context;
18191  }
18192  
18193  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group/SelectGroup.mjs
18194  var import_jsx_runtime49 = __toESM(require_jsx_runtime(), 1);
18195  var SelectGroup = /* @__PURE__ */ React154.forwardRef(function SelectGroup2(componentProps, forwardedRef) {
18196    const {
18197      render,
18198      className,
18199      style,
18200      ...elementProps
18201    } = componentProps;
18202    const [labelId, setLabelId] = React154.useState();
18203    const contextValue = React154.useMemo(() => ({
18204      labelId,
18205      setLabelId
18206    }), [labelId, setLabelId]);
18207    const element = useRenderElement("div", componentProps, {
18208      ref: forwardedRef,
18209      props: [{
18210        role: "group",
18211        "aria-labelledby": labelId
18212      }, elementProps]
18213    });
18214    return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(SelectGroupContext.Provider, {
18215      value: contextValue,
18216      children: element
18217    });
18218  });
18219  if (true) SelectGroup.displayName = "SelectGroup";
18220  
18221  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group-label/SelectGroupLabel.mjs
18222  var React155 = __toESM(require_react(), 1);
18223  var SelectGroupLabel = /* @__PURE__ */ React155.forwardRef(function SelectGroupLabel2(componentProps, forwardedRef) {
18224    const {
18225      render,
18226      className,
18227      style,
18228      id: idProp,
18229      ...elementProps
18230    } = componentProps;
18231    const {
18232      setLabelId
18233    } = useSelectGroupContext();
18234    const id = useBaseUiId(idProp);
18235    useIsoLayoutEffect(() => {
18236      setLabelId(id);
18237      return () => {
18238        setLabelId((currentId) => currentId === id ? void 0 : currentId);
18239      };
18240    }, [id, setLabelId]);
18241    const element = useRenderElement("div", componentProps, {
18242      ref: forwardedRef,
18243      props: [{
18244        id,
18245        "aria-hidden": true
18246      }, elementProps]
18247    });
18248    return element;
18249  });
18250  if (true) SelectGroupLabel.displayName = "SelectGroupLabel";
18251  
18252  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/separator/SelectSeparator.mjs
18253  var SelectSeparator = ListboxSeparator;
18254  
18255  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/index.parts.mjs
18256  var index_parts_exports4 = {};
18257  __export(index_parts_exports4, {
18258    Arrow: () => TooltipArrow,
18259    Handle: () => TooltipHandle,
18260    Popup: () => TooltipPopup,
18261    Portal: () => TooltipPortal,
18262    Positioner: () => TooltipPositioner,
18263    Provider: () => TooltipProvider,
18264    Root: () => TooltipRoot,
18265    Trigger: () => TooltipTrigger,
18266    Viewport: () => TooltipViewport,
18267    createHandle: () => createTooltipHandle
18268  });
18269  
18270  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/root/TooltipRoot.mjs
18271  var React158 = __toESM(require_react(), 1);
18272  
18273  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/root/TooltipRootContext.mjs
18274  var React156 = __toESM(require_react(), 1);
18275  var TooltipRootContext = /* @__PURE__ */ React156.createContext(void 0);
18276  if (true) TooltipRootContext.displayName = "TooltipRootContext";
18277  function useTooltipRootContext(optional) {
18278    const context = React156.useContext(TooltipRootContext);
18279    if (context === void 0 && !optional) {
18280      throw new Error(true ? "Base UI: TooltipRootContext is missing. Tooltip parts must be placed within <Tooltip.Root>." : formatErrorMessage_default(72));
18281    }
18282    return context;
18283  }
18284  
18285  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/store/TooltipStore.mjs
18286  var React157 = __toESM(require_react(), 1);
18287  var selectors5 = {
18288    ...popupStoreSelectors,
18289    disabled: (state) => state.disabled,
18290    instantType: (state) => state.instantType,
18291    isInstantPhase: (state) => state.isInstantPhase,
18292    trackCursorAxis: (state) => state.trackCursorAxis,
18293    disableHoverablePopup: (state) => state.disableHoverablePopup,
18294    lastOpenChangeReason: (state) => state.openChangeReason,
18295    closeOnClick: (state) => state.closeOnClick,
18296    // Active and inactive trigger props are the same object, so a constant for triggers that discard
18297    // them keeps those triggers from re-rendering when the props change.
18298    appliedTriggerProps: (state, apply) => apply ? state.activeTriggerProps : void 0,
18299    closeDelay: (state) => state.closeDelay,
18300    adaptiveOrigin: (state) => state.adaptiveOrigin
18301  };
18302  var TooltipStore = class extends ReactStore {
18303    constructor(initialState, floatingId, nested) {
18304      const triggerElements = new PopupTriggerMap();
18305      super(createInitialState2(initialState, triggerElements, floatingId, nested), createInitialContext2(triggerElements), selectors5);
18306    }
18307    setOpen = (nextOpen, eventDetails) => {
18308      applyPopupOpenChange(this, nextOpen, eventDetails, {
18309        extraState: {
18310          openChangeReason: eventDetails.reason
18311        }
18312      });
18313    };
18314    // Used by trigger clicks to clear a delayed hover open without reporting a public open-state change.
18315    cancelPendingOpen(event) {
18316      this.state.floatingRootContext.dispatchOpenChange(false, createChangeEventDetails(reason_parts_exports.triggerPress, event));
18317    }
18318  };
18319  function createNullTooltipStore() {
18320    const triggerElements = new PopupTriggerMap();
18321    const store = new NullStore(Object.freeze(createInitialState2(void 0, triggerElements)), Object.freeze(createInitialContext2(triggerElements)), selectors5);
18322    return Object.assign(store, {
18323      setOpen: NOOP,
18324      cancelPendingOpen: NOOP
18325    });
18326  }
18327  function createInitialState2(initialState, triggerElements, floatingId, nested = false) {
18328    const state = {
18329      ...createInitialPopupStoreState(triggerElements, floatingId, nested),
18330      disabled: false,
18331      instantType: void 0,
18332      isInstantPhase: false,
18333      trackCursorAxis: "none",
18334      disableHoverablePopup: false,
18335      openChangeReason: null,
18336      closeOnClick: true,
18337      closeDelay: 0,
18338      adaptiveOrigin: void 0,
18339      ...initialState
18340    };
18341    return state;
18342  }
18343  function createInitialContext2(triggerElements) {
18344    return {
18345      popupRef: /* @__PURE__ */ React157.createRef(),
18346      onOpenChange: void 0,
18347      onOpenChangeComplete: void 0,
18348      triggerElements
18349    };
18350  }
18351  
18352  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/root/TooltipRoot.mjs
18353  var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1);
18354  var TooltipRoot = fastComponent(function TooltipRoot2(props) {
18355    const {
18356      disabled: disabled2 = false,
18357      defaultOpen = false,
18358      open: openProp,
18359      disableHoverablePopup = false,
18360      trackCursorAxis = "none",
18361      actionsRef,
18362      onOpenChange,
18363      onOpenChangeComplete,
18364      handle,
18365      triggerId: triggerIdProp,
18366      defaultTriggerId: defaultTriggerIdProp = null,
18367      children
18368    } = props;
18369    const store = usePopupRootStore((floatingId, nested) => new TooltipStore({
18370      open: defaultOpen,
18371      openProp,
18372      activeTriggerId: defaultTriggerIdProp,
18373      triggerIdProp
18374    }, floatingId, nested));
18375    store.useControlledProp("openProp", openProp);
18376    store.useControlledProp("triggerIdProp", triggerIdProp);
18377    store.useContextCallback("onOpenChange", onOpenChange);
18378    store.useContextCallback("onOpenChangeComplete", onOpenChangeComplete);
18379    const openState = store.useState("open");
18380    const open2 = !disabled2 && openState;
18381    const activeTriggerId = store.useState("activeTriggerId");
18382    const mounted = store.useState("mounted");
18383    const payload = store.useState("payload");
18384    store.useSyncedValues({
18385      trackCursorAxis,
18386      disableHoverablePopup,
18387      disabled: disabled2
18388    });
18389    useImplicitActiveTrigger(store, {
18390      closeOnActiveTriggerUnmount: true
18391    });
18392    const {
18393      forceUnmount,
18394      transitionStatus
18395    } = useOpenStateTransitions(open2, store);
18396    const isInstantPhase = store.useState("isInstantPhase");
18397    const instantType = store.useState("instantType");
18398    const lastOpenChangeReason = store.useState("lastOpenChangeReason");
18399    const previousInstantTypeRef = React158.useRef(null);
18400    useIsoLayoutEffect(() => {
18401      if (openState && disabled2) {
18402        store.setOpen(false, createChangeEventDetails(reason_parts_exports.disabled));
18403      }
18404    }, [openState, disabled2, store]);
18405    useIsoLayoutEffect(() => {
18406      if (transitionStatus === "ending" && lastOpenChangeReason === reason_parts_exports.none || transitionStatus !== "ending" && isInstantPhase) {
18407        if (instantType !== "delay") {
18408          previousInstantTypeRef.current = instantType;
18409        }
18410        store.set("instantType", "delay");
18411      } else if (previousInstantTypeRef.current !== null) {
18412        store.set("instantType", previousInstantTypeRef.current);
18413        previousInstantTypeRef.current = null;
18414      }
18415    }, [transitionStatus, isInstantPhase, lastOpenChangeReason, instantType, store]);
18416    useIsoLayoutEffect(() => {
18417      if (open2) {
18418        if (activeTriggerId == null) {
18419          store.set("payload", void 0);
18420        }
18421      }
18422    }, [store, activeTriggerId, open2]);
18423    React158.useImperativeHandle(actionsRef, () => ({
18424      unmount: forceUnmount,
18425      close: () => store.setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction))
18426    }), [forceUnmount, store]);
18427    const shouldRenderInteractions = open2 || mounted || !disabled2 && trackCursorAxis !== "none";
18428    return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(TooltipRootContext.Provider, {
18429      value: store,
18430      children: [handle && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(PopupHandleAttachment, {
18431        handle,
18432        store
18433      }), shouldRenderInteractions && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TooltipInteractions, {
18434        store,
18435        disabled: disabled2,
18436        trackCursorAxis
18437      }), typeof children === "function" ? children({
18438        payload
18439      }) : children]
18440    });
18441  });
18442  if (true) TooltipRoot.displayName = "TooltipRoot";
18443  function TooltipInteractions({
18444    store,
18445    disabled: disabled2,
18446    trackCursorAxis
18447  }) {
18448    const floatingRootContext = store.useState("floatingRootContext");
18449    const dismiss = useDismiss(floatingRootContext, {
18450      enabled: !disabled2,
18451      referencePress: () => store.select("closeOnClick")
18452    });
18453    const clientPoint = useClientPoint(floatingRootContext, {
18454      enabled: !disabled2 && trackCursorAxis !== "none",
18455      axis: trackCursorAxis === "none" ? void 0 : trackCursorAxis
18456    });
18457    const triggerProps = React158.useMemo(() => mergeProps(clientPoint.reference, dismiss.reference), [clientPoint.reference, dismiss.reference]);
18458    usePopupInteractionProps(store, {
18459      activeTriggerProps: triggerProps,
18460      inactiveTriggerProps: triggerProps,
18461      popupProps: dismiss.floating ?? EMPTY_OBJECT
18462    });
18463    return null;
18464  }
18465  
18466  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/trigger/TooltipTrigger.mjs
18467  var React160 = __toESM(require_react(), 1);
18468  
18469  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/provider/TooltipProviderContext.mjs
18470  var React159 = __toESM(require_react(), 1);
18471  var TooltipProviderContext = /* @__PURE__ */ React159.createContext(void 0);
18472  if (true) TooltipProviderContext.displayName = "TooltipProviderContext";
18473  function useTooltipProviderContext() {
18474    return React159.useContext(TooltipProviderContext);
18475  }
18476  
18477  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/utils/constants.mjs
18478  var OPEN_DELAY = 600;
18479  
18480  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/trigger/TooltipTrigger.mjs
18481  var TOOLTIP_TRIGGER_IDENTIFIER = "data-base-ui-tooltip-trigger";
18482  function getTargetElement(event) {
18483    const target = getTarget(event);
18484    return isElement(target) ? target : null;
18485  }
18486  var TooltipTrigger = fastComponentRef(function TooltipTrigger2(componentProps, forwardedRef) {
18487    const {
18488      render,
18489      className,
18490      style,
18491      handle,
18492      payload,
18493      disabled: disabledProp,
18494      delay,
18495      closeOnClick = true,
18496      closeDelay,
18497      id: idProp,
18498      ...elementProps
18499    } = componentProps;
18500    const rootContext = useTooltipRootContext(true);
18501    const handleStore = usePopupHandleStore(handle);
18502    const store = handleStore ?? rootContext;
18503    if (!store) {
18504      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));
18505    }
18506    const thisTriggerId = useBaseUiId(idProp);
18507    const isTriggerActive = store.useState("isTriggerActive", thisTriggerId);
18508    const isOpenedByThisTrigger = store.useState("isOpenedByTrigger", thisTriggerId);
18509    const floatingRootContext = store.useState("floatingRootContext");
18510    const triggerElementRef = React160.useRef(null);
18511    const closeDelayWithDefault = closeDelay ?? 0;
18512    const {
18513      registerTrigger,
18514      isMountedByThisTrigger
18515    } = useTriggerDataForwarding(thisTriggerId, triggerElementRef, store, {
18516      payload,
18517      closeOnClick,
18518      closeDelay: closeDelayWithDefault
18519    });
18520    const providerDelay = useTooltipProviderContext();
18521    const {
18522      activeIdRef,
18523      delayRef,
18524      isInstantPhase,
18525      hasProvider
18526    } = useDelayGroup(floatingRootContext, {
18527      open: isOpenedByThisTrigger
18528    });
18529    const hoverInteraction = useHoverInteractionSharedState(floatingRootContext);
18530    store.useSyncedValue("isInstantPhase", isInstantPhase);
18531    const rootDisabled = store.useState("disabled");
18532    const disabled2 = disabledProp ?? rootDisabled;
18533    const disabledRef = useValueAsRef(disabled2);
18534    const trackCursorAxis = store.useState("trackCursorAxis");
18535    const disableHoverablePopup = store.useState("disableHoverablePopup");
18536    const isNestedTriggerHoveredRef = React160.useRef(false);
18537    const nestedTriggerOpenTimeout = useTimeout();
18538    const pointerTypeRef = React160.useRef(void 0);
18539    function getOpenDelay() {
18540      if (hasProvider && activeIdRef.current != null) {
18541        return 0;
18542      }
18543      return delay ?? providerDelay ?? OPEN_DELAY;
18544    }
18545    function isEnabledNestedTriggerTarget(target) {
18546      const triggerEl = triggerElementRef.current;
18547      if (!triggerEl || !target) {
18548        return false;
18549      }
18550      const nearestTrigger = closest(target, `[$TOOLTIP_TRIGGER_IDENTIFIER}]`);
18551      return nearestTrigger !== null && nearestTrigger !== triggerEl && contains(triggerEl, nearestTrigger);
18552    }
18553    function detectNestedTriggerHover(target) {
18554      const nestedTriggerHovered = isEnabledNestedTriggerTarget(target);
18555      isNestedTriggerHoveredRef.current = nestedTriggerHovered;
18556      if (nestedTriggerHovered) {
18557        hoverInteraction.openChangeTimeout.clear();
18558        hoverInteraction.restTimeout.clear();
18559        hoverInteraction.restTimeoutPending = false;
18560        nestedTriggerOpenTimeout.clear();
18561      }
18562      return nestedTriggerHovered;
18563    }
18564    const hoverProps = useHoverReferenceInteraction(floatingRootContext, {
18565      enabled: !disabled2,
18566      mouseOnly: true,
18567      move: false,
18568      handleClose: !disableHoverablePopup && trackCursorAxis !== "both" ? safePolygon() : null,
18569      restMs: getOpenDelay,
18570      delay() {
18571        if (closeDelay == null && hasProvider) {
18572          return {
18573            close: getDelay(delayRef.current, "close")
18574          };
18575        }
18576        return {
18577          close: closeDelayWithDefault
18578        };
18579      },
18580      triggerElementRef,
18581      isActiveTrigger: isTriggerActive,
18582      isClosing: () => store.select("transitionStatus") === "ending",
18583      shouldOpen() {
18584        return !isNestedTriggerHoveredRef.current;
18585      }
18586    });
18587    const focusProps = useFocus(floatingRootContext, {
18588      enabled: !disabled2
18589    }).reference;
18590    const handleNestedTriggerHover = (event) => {
18591      const wasNestedTriggerHovered = isNestedTriggerHoveredRef.current;
18592      const target = getTargetElement(event);
18593      const nestedTriggerHovered = detectNestedTriggerHover(target);
18594      const triggerEl = triggerElementRef.current;
18595      const targetInsideTrigger = triggerEl && target && contains(triggerEl, target);
18596      if (nestedTriggerHovered && store.select("open") && store.select("lastOpenChangeReason") === reason_parts_exports.triggerHover) {
18597        store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
18598        return;
18599      }
18600      if (wasNestedTriggerHovered && !nestedTriggerHovered && targetInsideTrigger && !disabledRef.current && !store.select("open") && triggerEl && // Match the hover hook's non-strict mouse fallback for mouse-only event sequences.
18601      isMouseLikePointerType(pointerTypeRef.current)) {
18602        const open2 = () => {
18603          if (!isNestedTriggerHoveredRef.current && !disabledRef.current && !store.select("open")) {
18604            store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerEl));
18605          }
18606        };
18607        const openDelay = getOpenDelay();
18608        if (openDelay === 0) {
18609          nestedTriggerOpenTimeout.clear();
18610          open2();
18611        } else {
18612          nestedTriggerOpenTimeout.start(openDelay, open2);
18613        }
18614      }
18615    };
18616    const rootTriggerProps = store.useState("appliedTriggerProps", isMountedByThisTrigger || trackCursorAxis !== "none");
18617    const state = {
18618      open: isOpenedByThisTrigger
18619    };
18620    const element = useRenderElement("button", componentProps, {
18621      state,
18622      ref: [forwardedRef, registerTrigger, triggerElementRef],
18623      props: [hoverProps, focusProps, rootTriggerProps, {
18624        onMouseOver(event) {
18625          handleNestedTriggerHover(event.nativeEvent);
18626        },
18627        onFocus(event) {
18628          if (isEnabledNestedTriggerTarget(getTargetElement(event.nativeEvent))) {
18629            event.preventBaseUIHandler();
18630          }
18631        },
18632        onMouseLeave() {
18633          isNestedTriggerHoveredRef.current = false;
18634          nestedTriggerOpenTimeout.clear();
18635          pointerTypeRef.current = void 0;
18636        },
18637        onPointerEnter(event) {
18638          pointerTypeRef.current = event.pointerType;
18639        },
18640        onPointerDown(event) {
18641          pointerTypeRef.current = event.pointerType;
18642          store.set("closeOnClick", closeOnClick);
18643          if (closeOnClick && !store.select("open")) {
18644            store.cancelPendingOpen(event.nativeEvent);
18645          }
18646        },
18647        onClick(event) {
18648          if (closeOnClick && !store.select("open")) {
18649            store.cancelPendingOpen(event.nativeEvent);
18650          }
18651        },
18652        id: thisTriggerId,
18653        [triggerDisabled]: disabled2 ? "" : void 0,
18654        [TOOLTIP_TRIGGER_IDENTIFIER]: disabled2 ? void 0 : ""
18655      }, elementProps],
18656      stateAttributesMapping: triggerOpenStateMapping
18657    });
18658    return element;
18659  });
18660  if (true) TooltipTrigger.displayName = "TooltipTrigger";
18661  
18662  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/portal/TooltipPortal.mjs
18663  var React162 = __toESM(require_react(), 1);
18664  
18665  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/portal/TooltipPortalContext.mjs
18666  var React161 = __toESM(require_react(), 1);
18667  var TooltipPortalContext = /* @__PURE__ */ React161.createContext(void 0);
18668  if (true) TooltipPortalContext.displayName = "TooltipPortalContext";
18669  function useTooltipPortalContext() {
18670    const value = React161.useContext(TooltipPortalContext);
18671    if (value === void 0) {
18672      throw new Error(true ? "Base UI: <Tooltip.Portal> is missing." : formatErrorMessage_default(70));
18673    }
18674    return value;
18675  }
18676  
18677  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/portal/TooltipPortal.mjs
18678  var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
18679  var TooltipPortal = /* @__PURE__ */ React162.forwardRef(function TooltipPortal2(props, forwardedRef) {
18680    const {
18681      keepMounted = false,
18682      ...portalProps
18683    } = props;
18684    const store = useTooltipRootContext();
18685    const mounted = store.useState("mounted");
18686    const shouldRender = mounted || keepMounted;
18687    if (!shouldRender) {
18688      return null;
18689    }
18690    return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TooltipPortalContext.Provider, {
18691      value: keepMounted,
18692      children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(FloatingPortalLite, {
18693        ref: forwardedRef,
18694        ...portalProps
18695      })
18696    });
18697  });
18698  if (true) TooltipPortal.displayName = "TooltipPortal";
18699  
18700  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/positioner/TooltipPositioner.mjs
18701  var React164 = __toESM(require_react(), 1);
18702  
18703  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/positioner/TooltipPositionerContext.mjs
18704  var React163 = __toESM(require_react(), 1);
18705  var TooltipPositionerContext = /* @__PURE__ */ React163.createContext(void 0);
18706  if (true) TooltipPositionerContext.displayName = "TooltipPositionerContext";
18707  function useTooltipPositionerContext() {
18708    const context = React163.useContext(TooltipPositionerContext);
18709    if (context === void 0) {
18710      throw new Error(true ? "Base UI: TooltipPositionerContext is missing. TooltipPositioner parts must be placed within <Tooltip.Positioner>." : formatErrorMessage_default(71));
18711    }
18712    return context;
18713  }
18714  
18715  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/positioner/TooltipPositioner.mjs
18716  var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1);
18717  var TooltipPositioner = /* @__PURE__ */ React164.forwardRef(function TooltipPositioner2(componentProps, forwardedRef) {
18718    const {
18719      render,
18720      className,
18721      anchor,
18722      positionMethod = "absolute",
18723      side = "top",
18724      align = "center",
18725      sideOffset = 0,
18726      alignOffset = 0,
18727      collisionBoundary = "clipping-ancestors",
18728      collisionPadding = 5,
18729      arrowPadding = 5,
18730      sticky = false,
18731      disableAnchorTracking = false,
18732      collisionAvoidance = POPUP_COLLISION_AVOIDANCE,
18733      style,
18734      ...elementProps
18735    } = componentProps;
18736    const store = useTooltipRootContext();
18737    const keepMounted = useTooltipPortalContext();
18738    const open2 = store.useState("open");
18739    const mounted = store.useState("mounted");
18740    const trackCursorAxis = store.useState("trackCursorAxis");
18741    const disableHoverablePopup = store.useState("disableHoverablePopup");
18742    const floatingRootContext = store.useState("floatingRootContext");
18743    const instantType = store.useState("instantType");
18744    const transitionStatus = store.useState("transitionStatus");
18745    const adaptiveOrigin2 = store.useState("adaptiveOrigin");
18746    const positioning = useAnchorPositioning({
18747      anchor,
18748      positionMethod,
18749      floatingRootContext,
18750      mounted,
18751      side,
18752      sideOffset,
18753      align,
18754      alignOffset,
18755      collisionBoundary,
18756      collisionPadding,
18757      sticky,
18758      arrowPadding,
18759      disableAnchorTracking,
18760      keepMounted,
18761      collisionAvoidance,
18762      adaptiveOrigin: adaptiveOrigin2
18763    });
18764    const state = React164.useMemo(() => ({
18765      open: open2,
18766      side: positioning.side,
18767      align: positioning.align,
18768      anchorHidden: positioning.anchorHidden,
18769      instant: trackCursorAxis !== "none" ? "tracking-cursor" : instantType
18770    }), [open2, positioning.side, positioning.align, positioning.anchorHidden, trackCursorAxis, instantType]);
18771    const element = usePositioner(componentProps, state, {
18772      styles: positioning.positionerStyles,
18773      transitionStatus,
18774      props: elementProps,
18775      refs: [forwardedRef, store.useStateSetter("positionerElement")],
18776      hidden: !mounted,
18777      inert: !open2 || trackCursorAxis === "both" || disableHoverablePopup
18778    });
18779    return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(TooltipPositionerContext.Provider, {
18780      value: positioning,
18781      children: element
18782    });
18783  });
18784  if (true) TooltipPositioner.displayName = "TooltipPositioner";
18785  
18786  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/popup/TooltipPopup.mjs
18787  var React165 = __toESM(require_react(), 1);
18788  var TooltipPopup = /* @__PURE__ */ React165.forwardRef(function TooltipPopup2(componentProps, forwardedRef) {
18789    const {
18790      render,
18791      className,
18792      style,
18793      ...elementProps
18794    } = componentProps;
18795    const store = useTooltipRootContext();
18796    const {
18797      side,
18798      align
18799    } = useTooltipPositionerContext();
18800    const open2 = store.useState("open");
18801    const instantType = store.useState("instantType");
18802    const transitionStatus = store.useState("transitionStatus");
18803    const popupProps = store.useState("popupProps");
18804    const floatingContext = store.useState("floatingRootContext");
18805    const disabled2 = store.useState("disabled");
18806    const closeDelay = store.useState("closeDelay");
18807    useOpenChangeComplete({
18808      open: open2,
18809      ref: store.context.popupRef,
18810      onComplete() {
18811        if (open2) {
18812          store.context.onOpenChangeComplete?.(true);
18813        }
18814      }
18815    });
18816    useHoverFloatingInteraction(floatingContext, {
18817      enabled: !disabled2,
18818      closeDelay
18819    });
18820    const setPopupElement = store.useStateSetter("popupElement");
18821    const state = {
18822      open: open2,
18823      side,
18824      align,
18825      instant: instantType,
18826      transitionStatus
18827    };
18828    const element = useRenderElement("div", componentProps, {
18829      state,
18830      ref: [forwardedRef, store.context.popupRef, setPopupElement],
18831      props: [FOCUSABLE_POPUP_PROPS, popupProps, getDisabledMountTransitionStyles(transitionStatus), elementProps],
18832      stateAttributesMapping: popupTransitionStateMapping
18833    });
18834    return element;
18835  });
18836  if (true) TooltipPopup.displayName = "TooltipPopup";
18837  
18838  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/arrow/TooltipArrow.mjs
18839  var React166 = __toESM(require_react(), 1);
18840  var TooltipArrow = /* @__PURE__ */ React166.forwardRef(function TooltipArrow2(componentProps, forwardedRef) {
18841    const {
18842      render,
18843      className,
18844      style,
18845      ...elementProps
18846    } = componentProps;
18847    const store = useTooltipRootContext();
18848    const {
18849      arrowRef,
18850      side,
18851      align,
18852      arrowUncentered,
18853      arrowStyles
18854    } = useTooltipPositionerContext();
18855    const open2 = store.useState("open");
18856    const instantType = store.useState("instantType");
18857    const state = {
18858      open: open2,
18859      side,
18860      align,
18861      uncentered: arrowUncentered,
18862      instant: instantType
18863    };
18864    const element = useRenderElement("div", componentProps, {
18865      state,
18866      ref: [forwardedRef, arrowRef],
18867      props: [{
18868        style: arrowStyles,
18869        "aria-hidden": true
18870      }, elementProps],
18871      stateAttributesMapping: popupStateMapping
18872    });
18873    return element;
18874  });
18875  if (true) TooltipArrow.displayName = "TooltipArrow";
18876  
18877  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/provider/TooltipProvider.mjs
18878  var React167 = __toESM(require_react(), 1);
18879  var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1);
18880  var TooltipProvider = function TooltipProvider2(props) {
18881    const {
18882      delay,
18883      closeDelay,
18884      timeout = 400
18885    } = props;
18886    const delayValue = React167.useMemo(() => ({
18887      open: delay,
18888      close: closeDelay
18889    }), [delay, closeDelay]);
18890    return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TooltipProviderContext.Provider, {
18891      value: delay,
18892      children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(FloatingDelayGroup, {
18893        delay: delayValue,
18894        timeoutMs: timeout,
18895        children: props.children
18896      })
18897    });
18898  };
18899  if (true) TooltipProvider.displayName = "TooltipProvider";
18900  
18901  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/viewport/TooltipViewport.mjs
18902  var React168 = __toESM(require_react(), 1);
18903  var TooltipViewport = /* @__PURE__ */ React168.forwardRef(function TooltipViewport2(componentProps, forwardedRef) {
18904    const {
18905      render,
18906      className,
18907      style,
18908      children,
18909      ...elementProps
18910    } = componentProps;
18911    const store = useTooltipRootContext();
18912    const positioner = useTooltipPositionerContext();
18913    const instantType = store.useState("instantType");
18914    const {
18915      children: childrenToRender,
18916      state: viewportState
18917    } = usePopupViewport({
18918      store,
18919      side: positioner.side,
18920      children
18921    });
18922    const state = {
18923      activationDirection: viewportState.activationDirection,
18924      transitioning: viewportState.transitioning,
18925      instant: instantType
18926    };
18927    return useRenderElement("div", componentProps, {
18928      state,
18929      ref: forwardedRef,
18930      props: [elementProps, {
18931        children: childrenToRender
18932      }],
18933      stateAttributesMapping: popupViewportStateMapping
18934    });
18935  });
18936  if (true) TooltipViewport.displayName = "TooltipViewport";
18937  
18938  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/store/TooltipHandle.mjs
18939  var TooltipHandle = class extends BasePopupHandle {
18940    constructor() {
18941      super(createNullTooltipStore(), "Tooltip");
18942    }
18943    /**
18944     * Opens the tooltip and associates it with the trigger with the given id.
18945     *
18946     * This method should only be called in an event handler or an effect (not during rendering).
18947     *
18948     * @param triggerId ID of the trigger to associate with the tooltip. The trigger must be a matching
18949     * `Tooltip.Trigger` with this handle passed as a prop.
18950     */
18951    open(triggerId) {
18952      this.openByTrigger(triggerId);
18953    }
18954    /**
18955     * Closes the tooltip.
18956     *
18957     * This method should only be called in an event handler or an effect (not during rendering).
18958     */
18959    close() {
18960      this.closePopup();
18961    }
18962    /**
18963     * Whether the tooltip is currently open. Returns `false` while no root is attached to the handle.
18964     */
18965    get isOpen() {
18966      return this.attachedStore?.select("open") ?? false;
18967    }
18968  };
18969  function createTooltipHandle() {
18970    return new TooltipHandle();
18971  }
18972  
18973  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/use-render/useRender.mjs
18974  function useRender(params) {
18975    return useRenderElement(params.defaultTagName ?? "div", params, params);
18976  }
18977  
18978  // packages/ui/build-module/text/text.mjs
18979  var import_element15 = __toESM(require_element(), 1);
18980  var STYLE_HASH_ATTRIBUTE = "data-wp-hash";
18981  function getRuntime() {
18982    const globalScope = globalThis;
18983    if (globalScope.__wpStyleRuntime) {
18984      return globalScope.__wpStyleRuntime;
18985    }
18986    globalScope.__wpStyleRuntime = {
18987      documents: /* @__PURE__ */ new Map(),
18988      styles: /* @__PURE__ */ new Map(),
18989      injectedStyles: /* @__PURE__ */ new WeakMap()
18990    };
18991    if (typeof document !== "undefined") {
18992      registerDocument(document);
18993    }
18994    return globalScope.__wpStyleRuntime;
18995  }
18996  function documentContainsStyleHash(targetDocument, hash) {
18997    if (!targetDocument.head) {
18998      return false;
18999    }
19000    for (const style of targetDocument.head.querySelectorAll(
19001      `style[$STYLE_HASH_ATTRIBUTE}]`
19002    )) {
19003      if (style.getAttribute(STYLE_HASH_ATTRIBUTE) === hash) {
19004        return true;
19005      }
19006    }
19007    return false;
19008  }
19009  function injectStyle(targetDocument, hash, css) {
19010    if (!targetDocument.head) {
19011      return;
19012    }
19013    const runtime = getRuntime();
19014    let injectedStyles = runtime.injectedStyles.get(targetDocument);
19015    if (!injectedStyles) {
19016      injectedStyles = /* @__PURE__ */ new Set();
19017      runtime.injectedStyles.set(targetDocument, injectedStyles);
19018    }
19019    if (injectedStyles.has(hash)) {
19020      return;
19021    }
19022    if (documentContainsStyleHash(targetDocument, hash)) {
19023      injectedStyles.add(hash);
19024      return;
19025    }
19026    const style = targetDocument.createElement("style");
19027    style.setAttribute(STYLE_HASH_ATTRIBUTE, hash);
19028    style.appendChild(targetDocument.createTextNode(css));
19029    targetDocument.head.appendChild(style);
19030    injectedStyles.add(hash);
19031  }
19032  function registerDocument(targetDocument) {
19033    const runtime = getRuntime();
19034    runtime.documents.set(
19035      targetDocument,
19036      (runtime.documents.get(targetDocument) ?? 0) + 1
19037    );
19038    for (const [hash, css] of runtime.styles) {
19039      injectStyle(targetDocument, hash, css);
19040    }
19041    return () => {
19042      const count = runtime.documents.get(targetDocument);
19043      if (count === void 0) {
19044        return;
19045      }
19046      if (count <= 1) {
19047        runtime.documents.delete(targetDocument);
19048        return;
19049      }
19050      runtime.documents.set(targetDocument, count - 1);
19051    };
19052  }
19053  function registerStyle(hash, css) {
19054    const runtime = getRuntime();
19055    runtime.styles.set(hash, css);
19056    for (const targetDocument of runtime.documents.keys()) {
19057      injectStyle(targetDocument, hash, css);
19058    }
19059  }
19060  if (typeof process === "undefined" || true) {
19061    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)}}}');
19062  }
19063  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" };
19064  if (typeof process === "undefined" || true) {
19065    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)}");
19066  }
19067  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" };
19068  var Text = (0, import_element15.forwardRef)(
19069    function UnforwardedText({ variant = "body-md", render, className, ...props }, ref) {
19070      const element = useRender({
19071        render,
19072        defaultTagName: "span",
19073        ref,
19074        props: mergeProps(props, {
19075          className: clsx_default(
19076            style_default.text,
19077            global_css_defense_default.heading,
19078            global_css_defense_default.p,
19079            style_default[variant],
19080            className
19081          )
19082        })
19083      });
19084      return element;
19085    }
19086  );
19087  
19088  // packages/ui/build-module/menu/index.mjs
19089  var menu_exports = {};
19090  __export(menu_exports, {
19091    CheckboxItem: () => CheckboxItem,
19092    Group: () => Group,
19093    GroupLabel: () => GroupLabel,
19094    Item: () => Item,
19095    ItemDescription: () => ItemDescription,
19096    ItemLabel: () => ItemLabel,
19097    LinkItem: () => LinkItem,
19098    Popup: () => Popup,
19099    Portal: () => Portal,
19100    Positioner: () => Positioner,
19101    PrefixIcon: () => PrefixIcon,
19102    RadioGroup: () => RadioGroup,
19103    RadioItem: () => RadioItem,
19104    Root: () => Root,
19105    Separator: () => Separator2,
19106    SubmenuRoot: () => SubmenuRoot,
19107    SubmenuTrigger: () => SubmenuTrigger,
19108    Trigger: () => Trigger
19109  });
19110  
19111  // packages/ui/build-module/menu/checkbox-item.mjs
19112  var import_element24 = __toESM(require_element(), 1);
19113  
19114  // packages/icons/build-module/icon/index.mjs
19115  var import_element16 = __toESM(require_element(), 1);
19116  var icon_default = (0, import_element16.forwardRef)(
19117    ({ icon, size: size4 = 24, style, ...props }, ref) => {
19118      const intrinsicStyle = icon.props.style;
19119      const mergedStyle = intrinsicStyle || style ? { ...intrinsicStyle, ...style } : void 0;
19120      return (0, import_element16.cloneElement)(icon, {
19121        width: size4,
19122        height: size4,
19123        ...props,
19124        // Merge styles so the icon's intrinsic style (e.g. `fill: none` on
19125        // stroke-based icons) is preserved unless the consumer overrides
19126        // the same property explicitly.
19127        ...mergedStyle ? { style: mergedStyle } : {},
19128        ref
19129      });
19130    }
19131  );
19132  
19133  // packages/icons/build-module/library/button.mjs
19134  var import_primitives2 = __toESM(require_primitives(), 1);
19135  var import_jsx_runtime54 = __toESM(require_jsx_runtime(), 1);
19136  var button_default = /* @__PURE__ */ (0, import_jsx_runtime54.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_runtime54.jsx)(import_primitives2.Path, { d: "M8 11.75H16M5 16.25H19C19.6904 16.25 20.25 15.6904 20.25 15V8.5C20.25 7.80964 19.6904 7.25 19 7.25H5C4.30964 7.25 3.75 7.80964 3.75 8.5V15C3.75 15.6904 4.30964 16.25 5 16.25Z" }) });
19137  
19138  // packages/icons/build-module/library/caption.mjs
19139  var import_primitives3 = __toESM(require_primitives(), 1);
19140  var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1);
19141  var caption_default = /* @__PURE__ */ (0, import_jsx_runtime55.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_runtime55.jsx)(import_primitives3.Path, { d: "M8 15.25H10M11 15.25H13M14 15.25H16M6 19.25H18C18.6904 19.25 19.25 18.6904 19.25 18V6C19.25 5.30964 18.6904 4.75 18 4.75H6C5.30964 4.75 4.75 5.30964 4.75 6V18C4.75 18.6904 5.30964 19.25 6 19.25Z" }) });
19142  
19143  // packages/icons/build-module/library/check.mjs
19144  var import_primitives4 = __toESM(require_primitives(), 1);
19145  var import_jsx_runtime56 = __toESM(require_jsx_runtime(), 1);
19146  var check_default = /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_primitives4.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_primitives4.Path, { d: "M7 12L10 15L17 8" }) });
19147  
19148  // packages/icons/build-module/library/chevron-down.mjs
19149  var import_primitives5 = __toESM(require_primitives(), 1);
19150  var import_jsx_runtime57 = __toESM(require_jsx_runtime(), 1);
19151  var chevron_down_default = /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_primitives5.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_primitives5.Path, { d: "M7 11L12 15L17 11" }) });
19152  
19153  // packages/icons/build-module/library/chevron-left.mjs
19154  var import_primitives6 = __toESM(require_primitives(), 1);
19155  var import_jsx_runtime58 = __toESM(require_jsx_runtime(), 1);
19156  var chevron_left_default = /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_primitives6.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_primitives6.Path, { d: "M14 6.5L9 12L14 17.5" }) });
19157  
19158  // packages/icons/build-module/library/chevron-right-small.mjs
19159  var import_primitives7 = __toESM(require_primitives(), 1);
19160  var import_jsx_runtime59 = __toESM(require_jsx_runtime(), 1);
19161  var chevron_right_small_default = /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_primitives7.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_primitives7.Path, { d: "M10.5 8.5L13.5 12L10.5 15.5" }) });
19162  
19163  // packages/icons/build-module/library/chevron-right.mjs
19164  var import_primitives8 = __toESM(require_primitives(), 1);
19165  var import_jsx_runtime60 = __toESM(require_jsx_runtime(), 1);
19166  var chevron_right_default = /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_primitives8.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_runtime60.jsx)(import_primitives8.Path, { d: "M10 6.5L15 12L10 17.5" }) });
19167  
19168  // packages/icons/build-module/library/form-input.mjs
19169  var import_primitives9 = __toESM(require_primitives(), 1);
19170  var import_jsx_runtime61 = __toESM(require_jsx_runtime(), 1);
19171  var form_input_default = /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_primitives9.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
19172    /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_primitives9.Path, { d: "M3.75 8.5C3.75 7.80964 4.30964 7.25 5 7.25H19C19.6904 7.25 20.25 7.80964 20.25 8.5V15C20.25 15.6904 19.6904 16.25 19 16.25H5C4.30964 16.25 3.75 15.6904 3.75 15V8.5Z" }),
19173    /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_primitives9.Path, { d: "M6.75 14V9.5" })
19174  ] });
19175  
19176  // packages/icons/build-module/library/form-select.mjs
19177  var import_primitives10 = __toESM(require_primitives(), 1);
19178  var import_jsx_runtime62 = __toESM(require_jsx_runtime(), 1);
19179  var form_select_default = /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_primitives10.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
19180    /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_primitives10.Path, { d: "M3.75 8.5C3.75 7.80964 4.30964 7.25 5 7.25H19C19.6904 7.25 20.25 7.80964 20.25 8.5V15C20.25 15.6904 19.6904 16.25 19 16.25H5C4.30964 16.25 3.75 15.6904 3.75 15V8.5Z" }),
19181    /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_primitives10.Path, { d: "M15 11L12 13L9 11" })
19182  ] });
19183  
19184  // packages/icons/build-module/library/heading-level-1.mjs
19185  var import_primitives11 = __toESM(require_primitives(), 1);
19186  var import_jsx_runtime63 = __toESM(require_jsx_runtime(), 1);
19187  var heading_level_1_default = /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_primitives11.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
19188    /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_primitives11.Path, { d: "M18.75 18.75C18.75 17.9056 18.75 11.963 18.75 9.5L15.75 10.3056" }),
19189    /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_primitives11.Path, { d: "M3.75 12H11.75M3.75 12V6M3.75 12L3.75 18M11.75 12V6M11.75 12V18", strokeLinecap: "square" })
19190  ] });
19191  
19192  // packages/icons/build-module/library/heading-level-2.mjs
19193  var import_primitives12 = __toESM(require_primitives(), 1);
19194  var import_jsx_runtime64 = __toESM(require_jsx_runtime(), 1);
19195  var heading_level_2_default = /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_primitives12.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
19196    /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_primitives12.Path, { d: "M3.75 12H11.75M3.75 12V6M3.75 12L3.75 18M11.75 12V6M11.75 12V18", strokeLinecap: "square" }),
19197    /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_primitives12.Path, { d: "M20.3915 17.9989H16C16 13.4611 20.5 14.6523 20.5 11.2489C20.5 9.54722 18.1957 8.04722 16 9.7489", strokeLinecap: "square" })
19198  ] });
19199  
19200  // packages/icons/build-module/library/heading-level-3.mjs
19201  var import_primitives13 = __toESM(require_primitives(), 1);
19202  var import_jsx_runtime65 = __toESM(require_jsx_runtime(), 1);
19203  var heading_level_3_default = /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_primitives13.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
19204    /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_primitives13.Path, { d: "M3.75 12H11.75M3.75 12V6M3.75 12L3.75 18M11.75 12V6M11.75 12V18", strokeLinecap: "square" }),
19205    /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_primitives13.Path, { d: "M15.5 17.2434C18 18.9138 20.5 17.5775 20.5 15.573C20.5 14.9823 20.2366 14.4158 19.7678 13.9981C19.2989 13.5805 18.663 13.3458 18 13.3458M18 13.3458C18.663 13.3458 19.2989 13.1112 19.7678 12.6935C20.2366 12.2758 20.5 11.7093 20.5 11.1186C20.5 9.44825 18.125 8.33466 16 9.44825M18 13.3458H17.75", strokeLinecap: "square" })
19206  ] });
19207  
19208  // packages/icons/build-module/library/heading-level-4.mjs
19209  var import_primitives14 = __toESM(require_primitives(), 1);
19210  var import_jsx_runtime66 = __toESM(require_jsx_runtime(), 1);
19211  var heading_level_4_default = /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_primitives14.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
19212    /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_primitives14.Path, { d: "M3.75 12H11.75M3.75 12V6M3.75 12L3.75 18M11.75 12V6M11.75 12V18", strokeLinecap: "square" }),
19213    /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_primitives14.Path, { d: "M20 18.75V14.5M20 10.75V14.5M16.25 8.74999V9L15 14.5L20 14.5" })
19214  ] });
19215  
19216  // packages/icons/build-module/library/heading-level-5.mjs
19217  var import_primitives15 = __toESM(require_primitives(), 1);
19218  var import_jsx_runtime67 = __toESM(require_jsx_runtime(), 1);
19219  var heading_level_5_default = /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_primitives15.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
19220    /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_primitives15.Path, { d: "M3.75 12H11.75M3.75 12V6M3.75 12L3.75 18M11.75 12V6M11.75 12V18", strokeLinecap: "square" }),
19221    /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_primitives15.Path, { d: "M15 17.2434C17.5 18.9138 20 17.5775 20 15.573C20 14.9823 19.7366 14.4158 19.2678 13.9982C18.7989 13.5805 18.163 13.3458 17.5 13.3458H15.25L15.75 9.5H19", strokeLinecap: "square" })
19222  ] });
19223  
19224  // packages/icons/build-module/library/heading-level-6.mjs
19225  var import_primitives16 = __toESM(require_primitives(), 1);
19226  var import_jsx_runtime68 = __toESM(require_jsx_runtime(), 1);
19227  var heading_level_6_default = /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_primitives16.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
19228    /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_primitives16.Path, { d: "M3.75 12H11.75M3.75 12V6M3.75 12L3.75 18M11.75 12V6M11.75 12V18", strokeLinecap: "square" }),
19229    /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_primitives16.Path, { d: "M19.9209 9.40551C18.0547 8.41126 16.4435 9.38777 15.7499 10.7952C15.0563 12.2026 14.8576 13.7372 15.0969 15.4097C15.1739 15.948 15.3815 16.7573 15.8882 17.2424C16.3948 17.7275 17.082 18 17.7985 18C18.515 18 19.2021 17.7275 19.7087 17.2424C20.2154 16.7573 20.5 16.0994 20.5 15.4134C20.5 14.7273 20.2154 14.0729 19.7087 13.5878C19.2021 13.1027 18.5149 12.8302 17.7984 12.8302C17.0819 12.8302 16.3948 13.1027 15.8882 13.5878C15.3815 14.0729 15.0969 14.7273 15.0969 15.4133" })
19230  ] });
19231  
19232  // packages/icons/build-module/library/heading.mjs
19233  var import_primitives17 = __toESM(require_primitives(), 1);
19234  var import_jsx_runtime69 = __toESM(require_jsx_runtime(), 1);
19235  var heading_default = /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_primitives17.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_runtime69.jsx)(import_primitives17.Path, { d: "M6.75 5.25H17.25V16.375L12 12L6.75 16.375V5.25Z", fill: "currentColor" }) });
19236  
19237  // packages/icons/build-module/library/link.mjs
19238  var import_primitives18 = __toESM(require_primitives(), 1);
19239  var import_jsx_runtime70 = __toESM(require_jsx_runtime(), 1);
19240  var link_default = /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_primitives18.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_runtime70.jsx)(import_primitives18.Path, { d: "M9.5 12L14.5 12M10 7.75H8.25C5.90279 7.75 4 9.65279 4 12C4 14.3472 5.90279 16.25 8.25 16.25H10M14 16.25H15.75C18.0972 16.25 20 14.3472 20 12C20 9.65279 18.0972 7.75 15.75 7.75L14 7.75" }) });
19241  
19242  // packages/icons/build-module/library/more-vertical.mjs
19243  var import_primitives19 = __toESM(require_primitives(), 1);
19244  var import_jsx_runtime71 = __toESM(require_jsx_runtime(), 1);
19245  var more_vertical_default = /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_primitives19.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
19246    /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_primitives19.Path, { d: "M11.75 18.25L12.25 18.25L12.25 17.75L11.75 17.75L11.75 18.25Z", fill: "currentColor", stroke: "none" }),
19247    /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_primitives19.Path, { d: "M11.75 12.25L12.25 12.25L12.25 11.75L11.75 11.75L11.75 12.25Z", fill: "currentColor", stroke: "none" }),
19248    /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_primitives19.Path, { d: "M11.75 6.25L12.25 6.25L12.25 5.75L11.75 5.75L11.75 6.25Z", fill: "currentColor", stroke: "none" }),
19249    /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_primitives19.Path, { d: "M11.75 18.25L12.25 18.25L12.25 17.75L11.75 17.75L11.75 18.25Z" }),
19250    /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_primitives19.Path, { d: "M11.75 12.25L12.25 12.25L12.25 11.75L11.75 11.75L11.75 12.25Z" }),
19251    /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_primitives19.Path, { d: "M11.75 6.25L12.25 6.25L12.25 5.75L11.75 5.75L11.75 6.25Z" })
19252  ] });
19253  
19254  // packages/icons/build-module/library/next.mjs
19255  var import_primitives20 = __toESM(require_primitives(), 1);
19256  var import_jsx_runtime72 = __toESM(require_jsx_runtime(), 1);
19257  var next_default = /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_primitives20.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_runtime72.jsx)(import_primitives20.Path, { d: "M7 17.5L12 12L7 6.5M13 17.5L18 12L13 6.5" }) });
19258  
19259  // packages/icons/build-module/library/previous.mjs
19260  var import_primitives21 = __toESM(require_primitives(), 1);
19261  var import_jsx_runtime73 = __toESM(require_jsx_runtime(), 1);
19262  var previous_default = /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_primitives21.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_runtime73.jsx)(import_primitives21.Path, { d: "M17 6.5L12 12L17 17.5M11 6.5L6 12L11 17.5" }) });
19263  
19264  // packages/ui/build-module/menu/context.mjs
19265  var import_element17 = __toESM(require_element(), 1);
19266  var MenuContext = (0, import_element17.createContext)({
19267    isSubmenu: false
19268  });
19269  var useMenuContext = () => (0, import_element17.useContext)(MenuContext);
19270  var MenuGroupContext2 = (0, import_element17.createContext)(
19271    null
19272  );
19273  var useMenuGroupContext = () => (0, import_element17.useContext)(MenuGroupContext2);
19274  var MenuItemContentContext = (0, import_element17.createContext)(null);
19275  var useMenuItemContentContext = () => (0, import_element17.useContext)(MenuItemContentContext);
19276  
19277  // packages/ui/build-module/menu/item.mjs
19278  var import_element23 = __toESM(require_element(), 1);
19279  
19280  // packages/ui/build-module/utils/keyboard-shortcut.mjs
19281  var import_element19 = __toESM(require_element(), 1);
19282  var import_i18n = __toESM(require_i18n(), 1);
19283  
19284  // packages/ui/build-module/visually-hidden/visually-hidden.mjs
19285  var import_element18 = __toESM(require_element(), 1);
19286  var STYLE_HASH_ATTRIBUTE2 = "data-wp-hash";
19287  function getRuntime2() {
19288    const globalScope = globalThis;
19289    if (globalScope.__wpStyleRuntime) {
19290      return globalScope.__wpStyleRuntime;
19291    }
19292    globalScope.__wpStyleRuntime = {
19293      documents: /* @__PURE__ */ new Map(),
19294      styles: /* @__PURE__ */ new Map(),
19295      injectedStyles: /* @__PURE__ */ new WeakMap()
19296    };
19297    if (typeof document !== "undefined") {
19298      registerDocument2(document);
19299    }
19300    return globalScope.__wpStyleRuntime;
19301  }
19302  function documentContainsStyleHash2(targetDocument, hash) {
19303    if (!targetDocument.head) {
19304      return false;
19305    }
19306    for (const style of targetDocument.head.querySelectorAll(
19307      `style[$STYLE_HASH_ATTRIBUTE2}]`
19308    )) {
19309      if (style.getAttribute(STYLE_HASH_ATTRIBUTE2) === hash) {
19310        return true;
19311      }
19312    }
19313    return false;
19314  }
19315  function injectStyle2(targetDocument, hash, css) {
19316    if (!targetDocument.head) {
19317      return;
19318    }
19319    const runtime = getRuntime2();
19320    let injectedStyles = runtime.injectedStyles.get(targetDocument);
19321    if (!injectedStyles) {
19322      injectedStyles = /* @__PURE__ */ new Set();
19323      runtime.injectedStyles.set(targetDocument, injectedStyles);
19324    }
19325    if (injectedStyles.has(hash)) {
19326      return;
19327    }
19328    if (documentContainsStyleHash2(targetDocument, hash)) {
19329      injectedStyles.add(hash);
19330      return;
19331    }
19332    const style = targetDocument.createElement("style");
19333    style.setAttribute(STYLE_HASH_ATTRIBUTE2, hash);
19334    style.appendChild(targetDocument.createTextNode(css));
19335    targetDocument.head.appendChild(style);
19336    injectedStyles.add(hash);
19337  }
19338  function registerDocument2(targetDocument) {
19339    const runtime = getRuntime2();
19340    runtime.documents.set(
19341      targetDocument,
19342      (runtime.documents.get(targetDocument) ?? 0) + 1
19343    );
19344    for (const [hash, css] of runtime.styles) {
19345      injectStyle2(targetDocument, hash, css);
19346    }
19347    return () => {
19348      const count = runtime.documents.get(targetDocument);
19349      if (count === void 0) {
19350        return;
19351      }
19352      if (count <= 1) {
19353        runtime.documents.delete(targetDocument);
19354        return;
19355      }
19356      runtime.documents.set(targetDocument, count - 1);
19357    };
19358  }
19359  function registerStyle2(hash, css) {
19360    const runtime = getRuntime2();
19361    runtime.styles.set(hash, css);
19362    for (const targetDocument of runtime.documents.keys()) {
19363      injectStyle2(targetDocument, hash, css);
19364    }
19365  }
19366  if (typeof process === "undefined" || true) {
19367    registerStyle2("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}");
19368  }
19369  var style_default2 = { "visually-hidden": "f37b9e2e191ebd66__visually-hidden" };
19370  var VisuallyHidden = (0, import_element18.forwardRef)(
19371    function UnforwardedVisuallyHidden({ render, ...restProps }, ref) {
19372      const element = useRender({
19373        render,
19374        ref,
19375        props: mergeProps(
19376          { className: style_default2["visually-hidden"] },
19377          restProps,
19378          {
19379            // @ts-expect-error Arbitrary data-* attributes aren't indexable on the typed div props. Kept hardcoded so consumers can't change or remove it.
19380            "data-visually-hidden": ""
19381          }
19382        )
19383      });
19384      return element;
19385    }
19386  );
19387  
19388  // packages/ui/build-module/utils/keyboard-shortcut.mjs
19389  var import_jsx_runtime74 = __toESM(require_jsx_runtime(), 1);
19390  function useKeyboardShortcutProps({
19391    "aria-describedby": ariaDescribedBy,
19392    "aria-keyshortcuts": ariaKeyShortcuts,
19393    shortcut
19394  }) {
19395    const generatedDescriptionId = (0, import_element19.useId)();
19396    const descriptionId = shortcut ? generatedDescriptionId : void 0;
19397    const describedBy = [ariaDescribedBy, descriptionId].filter(Boolean).join(" ");
19398    return {
19399      descriptionId,
19400      targetProps: {
19401        "aria-describedby": describedBy || void 0,
19402        "aria-keyshortcuts": shortcut?.ariaKeyShortcut ?? ariaKeyShortcuts
19403      }
19404    };
19405  }
19406  var KeyboardShortcutDescription = (0, import_element19.forwardRef)(function UnforwardedKeyboardShortcutDescription({ descriptionId, shortcut }, ref) {
19407    return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
19408      VisuallyHidden,
19409      {
19410        id: descriptionId,
19411        "aria-hidden": "true",
19412        render: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { ref }),
19413        children: (0, import_i18n.sprintf)(
19414          /* translators: %s: keyboard shortcut. */
19415          (0, import_i18n.__)("Keyboard shortcut: %s"),
19416          shortcut.label ?? shortcut.ariaKeyShortcut
19417        )
19418      }
19419    );
19420  });
19421  var KeyboardShortcutDisplay = (0, import_element19.forwardRef)(function UnforwardedKeyboardShortcutDisplay({ className, shortcut }, ref) {
19422    return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("span", { ref, "aria-hidden": "true", className, dir: "ltr", children: shortcut.displayShortcut });
19423  });
19424  
19425  // packages/ui/build-module/utils/item-popup/item-content.mjs
19426  var import_element20 = __toESM(require_element(), 1);
19427  var VALIDATION_ENABLED = true;
19428  function parseItemContent(children, { Label: Label2, Description, validationMessage }) {
19429    const childArray = import_element20.Children.toArray(children);
19430    const [label, ...descriptions] = childArray;
19431    const hasLabel = (0, import_element20.isValidElement)(label) && label.type === Label2;
19432    const descriptionElements = descriptions.filter(
19433      (description) => (0, import_element20.isValidElement)(description) && description.type === Description
19434    );
19435    if (VALIDATION_ENABLED && (!hasLabel || descriptionElements.length !== descriptions.length)) {
19436      throw new Error(validationMessage);
19437    }
19438    return {
19439      descriptionIds: descriptionElements.map(
19440        (description) => description.props.id
19441      ),
19442      hasLabel,
19443      labelId: hasLabel ? label.props.id : void 0
19444    };
19445  }
19446  function useItemContent(children, components, {
19447    "aria-describedby": ariaDescribedBy,
19448    "aria-label": ariaLabel,
19449    "aria-labelledby": ariaLabelledBy
19450  } = {}) {
19451    const generatedLabelId = (0, import_element20.useId)();
19452    const generatedDescriptionId = (0, import_element20.useId)();
19453    const { descriptionIds, hasLabel, labelId } = parseItemContent(
19454      children,
19455      components
19456    );
19457    const resolvedLabelId = hasLabel ? labelId ?? generatedLabelId : void 0;
19458    const resolvedDescriptionIds = descriptionIds.map(
19459      (descriptionId, index2) => descriptionId ?? `$generatedDescriptionId}-$index2}`
19460    );
19461    const itemDescribedBy = Array.from(
19462      /* @__PURE__ */ new Set([
19463        ...ariaDescribedBy?.split(/\s+/).filter(Boolean) ?? [],
19464        ...resolvedDescriptionIds
19465      ])
19466    ).join(" ");
19467    let descriptionIndex = 0;
19468    const { Label: Label2, Description, descriptionValidationToken } = components;
19469    const contentChildren = import_element20.Children.map(children, (child) => {
19470      if (!(0, import_element20.isValidElement)(child)) {
19471        return child;
19472      }
19473      if (child.type === Label2) {
19474        return child.props.id === resolvedLabelId ? child : (0, import_element20.cloneElement)(child, { id: resolvedLabelId });
19475      }
19476      if (child.type !== Description) {
19477        return child;
19478      }
19479      const descriptionId = resolvedDescriptionIds[descriptionIndex++];
19480      if (!descriptionValidationToken && child.props.id === descriptionId) {
19481        return child;
19482      }
19483      return (0, import_element20.cloneElement)(child, {
19484        id: descriptionId,
19485        ...descriptionValidationToken && {
19486          validationToken: descriptionValidationToken
19487        }
19488      });
19489    });
19490    const labelledBy = ariaLabelledBy ?? (ariaLabel ? void 0 : resolvedLabelId);
19491    return {
19492      contentChildren,
19493      resolvedLabelId,
19494      itemAriaProps: {
19495        "aria-describedby": itemDescribedBy || void 0,
19496        "aria-label": ariaLabel,
19497        "aria-labelledby": labelledBy
19498      }
19499    };
19500  }
19501  
19502  // packages/ui/build-module/menu/item-description.mjs
19503  var import_element21 = __toESM(require_element(), 1);
19504  var import_jsx_runtime75 = __toESM(require_jsx_runtime(), 1);
19505  var STYLE_HASH_ATTRIBUTE3 = "data-wp-hash";
19506  function getRuntime3() {
19507    const globalScope = globalThis;
19508    if (globalScope.__wpStyleRuntime) {
19509      return globalScope.__wpStyleRuntime;
19510    }
19511    globalScope.__wpStyleRuntime = {
19512      documents: /* @__PURE__ */ new Map(),
19513      styles: /* @__PURE__ */ new Map(),
19514      injectedStyles: /* @__PURE__ */ new WeakMap()
19515    };
19516    if (typeof document !== "undefined") {
19517      registerDocument3(document);
19518    }
19519    return globalScope.__wpStyleRuntime;
19520  }
19521  function documentContainsStyleHash3(targetDocument, hash) {
19522    if (!targetDocument.head) {
19523      return false;
19524    }
19525    for (const style of targetDocument.head.querySelectorAll(
19526      `style[$STYLE_HASH_ATTRIBUTE3}]`
19527    )) {
19528      if (style.getAttribute(STYLE_HASH_ATTRIBUTE3) === hash) {
19529        return true;
19530      }
19531    }
19532    return false;
19533  }
19534  function injectStyle3(targetDocument, hash, css) {
19535    if (!targetDocument.head) {
19536      return;
19537    }
19538    const runtime = getRuntime3();
19539    let injectedStyles = runtime.injectedStyles.get(targetDocument);
19540    if (!injectedStyles) {
19541      injectedStyles = /* @__PURE__ */ new Set();
19542      runtime.injectedStyles.set(targetDocument, injectedStyles);
19543    }
19544    if (injectedStyles.has(hash)) {
19545      return;
19546    }
19547    if (documentContainsStyleHash3(targetDocument, hash)) {
19548      injectedStyles.add(hash);
19549      return;
19550    }
19551    const style = targetDocument.createElement("style");
19552    style.setAttribute(STYLE_HASH_ATTRIBUTE3, hash);
19553    style.appendChild(targetDocument.createTextNode(css));
19554    targetDocument.head.appendChild(style);
19555    injectedStyles.add(hash);
19556  }
19557  function registerDocument3(targetDocument) {
19558    const runtime = getRuntime3();
19559    runtime.documents.set(
19560      targetDocument,
19561      (runtime.documents.get(targetDocument) ?? 0) + 1
19562    );
19563    for (const [hash, css] of runtime.styles) {
19564      injectStyle3(targetDocument, hash, css);
19565    }
19566    return () => {
19567      const count = runtime.documents.get(targetDocument);
19568      if (count === void 0) {
19569        return;
19570      }
19571      if (count <= 1) {
19572        runtime.documents.delete(targetDocument);
19573        return;
19574      }
19575      runtime.documents.set(targetDocument, count - 1);
19576    };
19577  }
19578  function registerStyle3(hash, css) {
19579    const runtime = getRuntime3();
19580    runtime.styles.set(hash, css);
19581    for (const targetDocument of runtime.documents.keys()) {
19582      injectStyle3(targetDocument, hash, css);
19583    }
19584  }
19585  if (typeof process === "undefined" || true) {
19586    registerStyle3("35c74d3f9f", '@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 components{.d61e2d85c0ee0699__positioner{z-index:var(--wp-ui-menu-z-index,initial)}._34e81249f419a5a5__popup{--wp-ui-menu-popup-padding:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-min-width:160px;--wp-ui-menu-max-width:var(--wpds-dimension-surface-width-sm,320px);--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-item-padding-inline-end:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-group-head-padding-base:var(--wpds-dimension-padding-sm,8px);--wp-ui-menu-group-head-padding-inline:var(--_wp-ui-menu-group-head-padding-base);--wp-ui-menu-selection-indicator-track-size:0px;--wp-ui-menu-selection-indicator-size:var(--wpds-dimension-size-2xs,16px);--wp-ui-menu-selection-indicator-gap:0px;--_wp-ui-menu-elevation-md:0px 2px 3px 0px #0000000d,0px 4px 5px 0px #0000000a,0px 12px 12px 0px #00000008,0px 16px 16px 0px #00000005;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-menu-elevation-md);max-height:min(var(--available-height),480px,60dvh);max-width:min(var(--available-width),var(--wp-ui-menu-max-width));min-width:min(var(--available-width),var(--wp-ui-menu-min-width));outline:none;overflow-block:auto;overscroll-behavior:none;padding:var(--wp-ui-menu-popup-padding);scroll-padding:var(--wp-ui-menu-popup-padding);&:has(._42313b48c5459be3__item-selection-indicator){--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-selection-indicator-track-size:var(--wpds-dimension-size-2xs,16px)}}._33f07ab17005471d__list{--_wp-ui-menu-item-label-line-height:var(--wpds-typography-line-height-sm,20px);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);line-height:var(--_wp-ui-menu-item-label-line-height)}._33f07ab17005471d__list,.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{--wp-ui-menu-group-prefix-gap:0px;display:grid;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];min-width:0}.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{grid-column:1/-1}._33f07ab17005471d__list:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.e05914e1005d7c2e__radio-group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.f11085533c0056b0__group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix){--wp-ui-menu-group-prefix-gap:var(--wpds-dimension-gap-xs,4px)}._4a0fd085d76fd23c__group-label{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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);grid-column:prefix-start/content-end;line-height:var(--wpds-typography-line-height-xs,16px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));min-height:var(--wpds-dimension-size-sm,24px);min-width:0;padding-block:var(--wpds-dimension-padding-xs,4px);text-transform:uppercase}.bfc11368eadf3b39__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);grid-column:prefix-start/content-end;height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));@media (forced-colors:active){background-color:CanvasText}}._5c913bce0d8bb0d6__item{--wp-ui-menu-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-menu-item-padding-block:var(--wpds-dimension-padding-xs,4px);--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);align-content:center;align-items:start;border-radius:var(--wpds-border-radius-sm,2px);display:grid;gap:0;grid-column:1/-1;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];justify-content:stretch;min-height:var(--wp-ui-menu-item-height);min-width:0;padding-block:var(--wp-ui-menu-item-padding-block);scroll-margin:var(--wp-ui-menu-popup-padding);text-decoration:none;user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&[href]{cursor:pointer}@supports (grid-template-columns:subgrid){grid-template-columns:subgrid}&[data-popup-open]:not([data-highlighted],[data-disabled],[aria-disabled=true]){background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-xs,1px) solid GrayText}}&[data-highlighted]:not([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);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){--_gcd-a-color:HighlightText;background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&:is([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&[data-highlighted]{--_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)));--_gcd-a-outline:var(--_gcd-div-outline)}@media (forced-colors:active){--_gcd-a-color:GrayText;color:GrayText}}}._42313b48c5459be3__item-selection-indicator,._64924ecabf65a5d6__item-prefix,.af879698ede76757__item-content{grid-row:1}._42313b48c5459be3__item-selection-indicator{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;grid-column:selection-start/selection-end;height:var(--_wp-ui-menu-item-label-line-height);justify-content:center;justify-self:center;margin-inline-end:var(--wpds-dimension-gap-xs,4px);pointer-events:none;width:var(--wp-ui-menu-selection-indicator-size);&[data-unchecked]{opacity:0}}._99c5bd141cbf516f__checkbox-selection-icon{translate:0 1px}._59aa9b3b3a651148__radio-selection-icon{fill:currentColor;height:var(--wpds-dimension-size-2xs,16px);width:var(--wpds-dimension-size-2xs,16px)}._64924ecabf65a5d6__item-prefix{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:prefix-start/prefix-end;justify-content:center;min-width:0}.a836378335a4cbf1__prefix-icon{align-self:flex-start;flex-shrink:0;margin-block-start:calc((var(--_wp-ui-menu-item-label-line-height) - var(--_wp-ui-menu-prefix-icon-size))/2)}.af879698ede76757__item-content{align-items:center;align-self:stretch;box-sizing:border-box;display:grid;grid-column:prefix-start/content-end;grid-template-columns:[label-start] minmax(0,1fr) [label-end suffix-start] auto [suffix-end shortcut-start] auto [shortcut-end trailing-start] auto [trailing-end];min-width:0;pointer-events:none;&._5c211f9edfe0ed66__has-prefix{grid-column:content-start/content-end}}._76f3e69cf2228139__item-descriptions{display:flex;flex-direction:column;grid-column:prefix-start/content-end;grid-row:2;min-width:0;padding-block-end:var(--wpds-dimension-padding-xs,4px);pointer-events:none}._5ed41da4abcf8958__item-label{--_gcd-heading-color:currentColor;--_gcd-p-line-height:var(--_wp-ui-menu-item-label-line-height);color:inherit;grid-column:label-start/label-end;line-height:var(--_wp-ui-menu-item-label-line-height);min-width:0;overflow-wrap:anywhere}.fa88c9f1a96a4c5a__item-description{--_gcd-heading-color:var(--wpds-color-foreground-content-neutral-weak,#707070);color:var(--wpds-color-foreground-content-neutral-weak,#707070);overflow-wrap:anywhere}.af879698ede76757__item-content>._091406749ed93e6e__item-suffix{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:suffix-start/suffix-end;margin-inline-start:var(--wpds-dimension-gap-md,12px)}.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{grid-column:shortcut-start/shortcut-end}._06be17a91bf434a0__item-trailing,.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{color:var(--wpds-color-foreground-content-neutral-weak,#707070);margin-inline-start:var(--wpds-dimension-gap-md,12px)}._06be17a91bf434a0__item-trailing{align-items:center;display:flex;grid-column:trailing-start/trailing-end}._5ed41da4abcf8958__item-label+:is(._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){margin-inline-start:var(--wpds-dimension-gap-xl,24px)}._23630f40071a29ff__item-shortcut+._06be17a91bf434a0__item-trailing{margin-inline-start:var(--wpds-dimension-gap-xs,4px)}.b78aec79bf93eba0__submenu-chevron{margin-inline-end:calc(var(--wpds-dimension-gap-sm, 8px)*-1)}.b78aec79bf93eba0__submenu-chevron:dir(rtl){transform:rotate(180deg)}._60da3b6f9718cf76__external-link-indicator{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px);text-decoration:none}._60da3b6f9718cf76__external-link-indicator:after{content:"\\2197"}._60da3b6f9718cf76__external-link-indicator:dir(rtl):after{content:"\\2196"}._5c913bce0d8bb0d6__item:is([data-highlighted],[data-disabled],[aria-disabled=true]) ._42313b48c5459be3__item-selection-indicator,._5c913bce0d8bb0d6__item:is([data-highlighted],[data-popup-open],[data-disabled],[aria-disabled=true]) :is(.fa88c9f1a96a4c5a__item-description,._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){--_gcd-heading-color:currentColor;color:inherit}}}');
19587  }
19588  var style_default3 = { "positioner": "d61e2d85c0ee0699__positioner", "popup": "_34e81249f419a5a5__popup", "item-selection-indicator": "_42313b48c5459be3__item-selection-indicator", "is-root": "_087a537b24fee6a1__is-root _380b81b8f79fb10f__dropdown-motion", "is-submenu": "_6d3b567f6289bdc2__is-submenu _7f344b94e270e039__dropdown-motion--fade-only", "list": "_33f07ab17005471d__list", "group": "f11085533c0056b0__group", "radio-group": "e05914e1005d7c2e__radio-group", "item": "_5c913bce0d8bb0d6__item", "item-prefix": "_64924ecabf65a5d6__item-prefix", "group-label": "_4a0fd085d76fd23c__group-label", "separator": "bfc11368eadf3b39__separator", "item-content": "af879698ede76757__item-content", "checkbox-selection-icon": "_99c5bd141cbf516f__checkbox-selection-icon", "radio-selection-icon": "_59aa9b3b3a651148__radio-selection-icon", "prefix-icon": "a836378335a4cbf1__prefix-icon", "has-prefix": "_5c211f9edfe0ed66__has-prefix", "item-descriptions": "_76f3e69cf2228139__item-descriptions", "item-label": "_5ed41da4abcf8958__item-label", "item-description": "fa88c9f1a96a4c5a__item-description", "item-suffix": "_091406749ed93e6e__item-suffix", "item-shortcut": "_23630f40071a29ff__item-shortcut", "item-trailing": "_06be17a91bf434a0__item-trailing", "submenu-chevron": "b78aec79bf93eba0__submenu-chevron", "external-link-indicator": "_60da3b6f9718cf76__external-link-indicator" };
19589  var ITEM_DESCRIPTION_DIRECT_CHILD = /* @__PURE__ */ Symbol();
19590  var ItemDescription = (0, import_element21.forwardRef)(
19591    function MenuItemDescription(props, ref) {
19592      const { className, id, validationToken, ...restProps } = props;
19593      if (validationToken !== ITEM_DESCRIPTION_DIRECT_CHILD) {
19594        throw new Error(
19595          "Menu.ItemDescription: Missing direct menu item parent. Render <Menu.ItemDescription> as a direct child of a menu item."
19596        );
19597      }
19598      return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
19599        Text,
19600        {
19601          ref,
19602          variant: "body-sm",
19603          ...restProps,
19604          id,
19605          className: clsx_default(style_default3["item-description"], className)
19606        }
19607      );
19608    }
19609  );
19610  
19611  // packages/ui/build-module/menu/item-label.mjs
19612  var import_element22 = __toESM(require_element(), 1);
19613  var import_jsx_runtime76 = __toESM(require_jsx_runtime(), 1);
19614  var STYLE_HASH_ATTRIBUTE4 = "data-wp-hash";
19615  function getRuntime4() {
19616    const globalScope = globalThis;
19617    if (globalScope.__wpStyleRuntime) {
19618      return globalScope.__wpStyleRuntime;
19619    }
19620    globalScope.__wpStyleRuntime = {
19621      documents: /* @__PURE__ */ new Map(),
19622      styles: /* @__PURE__ */ new Map(),
19623      injectedStyles: /* @__PURE__ */ new WeakMap()
19624    };
19625    if (typeof document !== "undefined") {
19626      registerDocument4(document);
19627    }
19628    return globalScope.__wpStyleRuntime;
19629  }
19630  function documentContainsStyleHash4(targetDocument, hash) {
19631    if (!targetDocument.head) {
19632      return false;
19633    }
19634    for (const style of targetDocument.head.querySelectorAll(
19635      `style[$STYLE_HASH_ATTRIBUTE4}]`
19636    )) {
19637      if (style.getAttribute(STYLE_HASH_ATTRIBUTE4) === hash) {
19638        return true;
19639      }
19640    }
19641    return false;
19642  }
19643  function injectStyle4(targetDocument, hash, css) {
19644    if (!targetDocument.head) {
19645      return;
19646    }
19647    const runtime = getRuntime4();
19648    let injectedStyles = runtime.injectedStyles.get(targetDocument);
19649    if (!injectedStyles) {
19650      injectedStyles = /* @__PURE__ */ new Set();
19651      runtime.injectedStyles.set(targetDocument, injectedStyles);
19652    }
19653    if (injectedStyles.has(hash)) {
19654      return;
19655    }
19656    if (documentContainsStyleHash4(targetDocument, hash)) {
19657      injectedStyles.add(hash);
19658      return;
19659    }
19660    const style = targetDocument.createElement("style");
19661    style.setAttribute(STYLE_HASH_ATTRIBUTE4, hash);
19662    style.appendChild(targetDocument.createTextNode(css));
19663    targetDocument.head.appendChild(style);
19664    injectedStyles.add(hash);
19665  }
19666  function registerDocument4(targetDocument) {
19667    const runtime = getRuntime4();
19668    runtime.documents.set(
19669      targetDocument,
19670      (runtime.documents.get(targetDocument) ?? 0) + 1
19671    );
19672    for (const [hash, css] of runtime.styles) {
19673      injectStyle4(targetDocument, hash, css);
19674    }
19675    return () => {
19676      const count = runtime.documents.get(targetDocument);
19677      if (count === void 0) {
19678        return;
19679      }
19680      if (count <= 1) {
19681        runtime.documents.delete(targetDocument);
19682        return;
19683      }
19684      runtime.documents.set(targetDocument, count - 1);
19685    };
19686  }
19687  function registerStyle4(hash, css) {
19688    const runtime = getRuntime4();
19689    runtime.styles.set(hash, css);
19690    for (const targetDocument of runtime.documents.keys()) {
19691      injectStyle4(targetDocument, hash, css);
19692    }
19693  }
19694  if (typeof process === "undefined" || true) {
19695    registerStyle4("35c74d3f9f", '@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 components{.d61e2d85c0ee0699__positioner{z-index:var(--wp-ui-menu-z-index,initial)}._34e81249f419a5a5__popup{--wp-ui-menu-popup-padding:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-min-width:160px;--wp-ui-menu-max-width:var(--wpds-dimension-surface-width-sm,320px);--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-item-padding-inline-end:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-group-head-padding-base:var(--wpds-dimension-padding-sm,8px);--wp-ui-menu-group-head-padding-inline:var(--_wp-ui-menu-group-head-padding-base);--wp-ui-menu-selection-indicator-track-size:0px;--wp-ui-menu-selection-indicator-size:var(--wpds-dimension-size-2xs,16px);--wp-ui-menu-selection-indicator-gap:0px;--_wp-ui-menu-elevation-md:0px 2px 3px 0px #0000000d,0px 4px 5px 0px #0000000a,0px 12px 12px 0px #00000008,0px 16px 16px 0px #00000005;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-menu-elevation-md);max-height:min(var(--available-height),480px,60dvh);max-width:min(var(--available-width),var(--wp-ui-menu-max-width));min-width:min(var(--available-width),var(--wp-ui-menu-min-width));outline:none;overflow-block:auto;overscroll-behavior:none;padding:var(--wp-ui-menu-popup-padding);scroll-padding:var(--wp-ui-menu-popup-padding);&:has(._42313b48c5459be3__item-selection-indicator){--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-selection-indicator-track-size:var(--wpds-dimension-size-2xs,16px)}}._33f07ab17005471d__list{--_wp-ui-menu-item-label-line-height:var(--wpds-typography-line-height-sm,20px);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);line-height:var(--_wp-ui-menu-item-label-line-height)}._33f07ab17005471d__list,.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{--wp-ui-menu-group-prefix-gap:0px;display:grid;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];min-width:0}.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{grid-column:1/-1}._33f07ab17005471d__list:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.e05914e1005d7c2e__radio-group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.f11085533c0056b0__group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix){--wp-ui-menu-group-prefix-gap:var(--wpds-dimension-gap-xs,4px)}._4a0fd085d76fd23c__group-label{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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);grid-column:prefix-start/content-end;line-height:var(--wpds-typography-line-height-xs,16px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));min-height:var(--wpds-dimension-size-sm,24px);min-width:0;padding-block:var(--wpds-dimension-padding-xs,4px);text-transform:uppercase}.bfc11368eadf3b39__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);grid-column:prefix-start/content-end;height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));@media (forced-colors:active){background-color:CanvasText}}._5c913bce0d8bb0d6__item{--wp-ui-menu-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-menu-item-padding-block:var(--wpds-dimension-padding-xs,4px);--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);align-content:center;align-items:start;border-radius:var(--wpds-border-radius-sm,2px);display:grid;gap:0;grid-column:1/-1;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];justify-content:stretch;min-height:var(--wp-ui-menu-item-height);min-width:0;padding-block:var(--wp-ui-menu-item-padding-block);scroll-margin:var(--wp-ui-menu-popup-padding);text-decoration:none;user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&[href]{cursor:pointer}@supports (grid-template-columns:subgrid){grid-template-columns:subgrid}&[data-popup-open]:not([data-highlighted],[data-disabled],[aria-disabled=true]){background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-xs,1px) solid GrayText}}&[data-highlighted]:not([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);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){--_gcd-a-color:HighlightText;background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&:is([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&[data-highlighted]{--_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)));--_gcd-a-outline:var(--_gcd-div-outline)}@media (forced-colors:active){--_gcd-a-color:GrayText;color:GrayText}}}._42313b48c5459be3__item-selection-indicator,._64924ecabf65a5d6__item-prefix,.af879698ede76757__item-content{grid-row:1}._42313b48c5459be3__item-selection-indicator{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;grid-column:selection-start/selection-end;height:var(--_wp-ui-menu-item-label-line-height);justify-content:center;justify-self:center;margin-inline-end:var(--wpds-dimension-gap-xs,4px);pointer-events:none;width:var(--wp-ui-menu-selection-indicator-size);&[data-unchecked]{opacity:0}}._99c5bd141cbf516f__checkbox-selection-icon{translate:0 1px}._59aa9b3b3a651148__radio-selection-icon{fill:currentColor;height:var(--wpds-dimension-size-2xs,16px);width:var(--wpds-dimension-size-2xs,16px)}._64924ecabf65a5d6__item-prefix{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:prefix-start/prefix-end;justify-content:center;min-width:0}.a836378335a4cbf1__prefix-icon{align-self:flex-start;flex-shrink:0;margin-block-start:calc((var(--_wp-ui-menu-item-label-line-height) - var(--_wp-ui-menu-prefix-icon-size))/2)}.af879698ede76757__item-content{align-items:center;align-self:stretch;box-sizing:border-box;display:grid;grid-column:prefix-start/content-end;grid-template-columns:[label-start] minmax(0,1fr) [label-end suffix-start] auto [suffix-end shortcut-start] auto [shortcut-end trailing-start] auto [trailing-end];min-width:0;pointer-events:none;&._5c211f9edfe0ed66__has-prefix{grid-column:content-start/content-end}}._76f3e69cf2228139__item-descriptions{display:flex;flex-direction:column;grid-column:prefix-start/content-end;grid-row:2;min-width:0;padding-block-end:var(--wpds-dimension-padding-xs,4px);pointer-events:none}._5ed41da4abcf8958__item-label{--_gcd-heading-color:currentColor;--_gcd-p-line-height:var(--_wp-ui-menu-item-label-line-height);color:inherit;grid-column:label-start/label-end;line-height:var(--_wp-ui-menu-item-label-line-height);min-width:0;overflow-wrap:anywhere}.fa88c9f1a96a4c5a__item-description{--_gcd-heading-color:var(--wpds-color-foreground-content-neutral-weak,#707070);color:var(--wpds-color-foreground-content-neutral-weak,#707070);overflow-wrap:anywhere}.af879698ede76757__item-content>._091406749ed93e6e__item-suffix{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:suffix-start/suffix-end;margin-inline-start:var(--wpds-dimension-gap-md,12px)}.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{grid-column:shortcut-start/shortcut-end}._06be17a91bf434a0__item-trailing,.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{color:var(--wpds-color-foreground-content-neutral-weak,#707070);margin-inline-start:var(--wpds-dimension-gap-md,12px)}._06be17a91bf434a0__item-trailing{align-items:center;display:flex;grid-column:trailing-start/trailing-end}._5ed41da4abcf8958__item-label+:is(._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){margin-inline-start:var(--wpds-dimension-gap-xl,24px)}._23630f40071a29ff__item-shortcut+._06be17a91bf434a0__item-trailing{margin-inline-start:var(--wpds-dimension-gap-xs,4px)}.b78aec79bf93eba0__submenu-chevron{margin-inline-end:calc(var(--wpds-dimension-gap-sm, 8px)*-1)}.b78aec79bf93eba0__submenu-chevron:dir(rtl){transform:rotate(180deg)}._60da3b6f9718cf76__external-link-indicator{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px);text-decoration:none}._60da3b6f9718cf76__external-link-indicator:after{content:"\\2197"}._60da3b6f9718cf76__external-link-indicator:dir(rtl):after{content:"\\2196"}._5c913bce0d8bb0d6__item:is([data-highlighted],[data-disabled],[aria-disabled=true]) ._42313b48c5459be3__item-selection-indicator,._5c913bce0d8bb0d6__item:is([data-highlighted],[data-popup-open],[data-disabled],[aria-disabled=true]) :is(.fa88c9f1a96a4c5a__item-description,._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){--_gcd-heading-color:currentColor;color:inherit}}}');
19696  }
19697  var style_default4 = { "positioner": "d61e2d85c0ee0699__positioner", "popup": "_34e81249f419a5a5__popup", "item-selection-indicator": "_42313b48c5459be3__item-selection-indicator", "is-root": "_087a537b24fee6a1__is-root _380b81b8f79fb10f__dropdown-motion", "is-submenu": "_6d3b567f6289bdc2__is-submenu _7f344b94e270e039__dropdown-motion--fade-only", "list": "_33f07ab17005471d__list", "group": "f11085533c0056b0__group", "radio-group": "e05914e1005d7c2e__radio-group", "item": "_5c913bce0d8bb0d6__item", "item-prefix": "_64924ecabf65a5d6__item-prefix", "group-label": "_4a0fd085d76fd23c__group-label", "separator": "bfc11368eadf3b39__separator", "item-content": "af879698ede76757__item-content", "checkbox-selection-icon": "_99c5bd141cbf516f__checkbox-selection-icon", "radio-selection-icon": "_59aa9b3b3a651148__radio-selection-icon", "prefix-icon": "a836378335a4cbf1__prefix-icon", "has-prefix": "_5c211f9edfe0ed66__has-prefix", "item-descriptions": "_76f3e69cf2228139__item-descriptions", "item-label": "_5ed41da4abcf8958__item-label", "item-description": "fa88c9f1a96a4c5a__item-description", "item-suffix": "_091406749ed93e6e__item-suffix", "item-shortcut": "_23630f40071a29ff__item-shortcut", "item-trailing": "_06be17a91bf434a0__item-trailing", "submenu-chevron": "b78aec79bf93eba0__submenu-chevron", "external-link-indicator": "_60da3b6f9718cf76__external-link-indicator" };
19698  var ItemLabel = (0, import_element22.forwardRef)(
19699    function MenuItemLabel({ children, className, id, ...props }, ref) {
19700      const itemContentContext = useMenuItemContentContext();
19701      return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
19702        Text,
19703        {
19704          ref,
19705          variant: "body-md",
19706          ...props,
19707          id: id ?? itemContentContext?.labelId,
19708          className: clsx_default(style_default4["item-label"], className),
19709          children: [
19710            children,
19711            itemContentContext?.labelTrailing
19712          ]
19713        }
19714      );
19715    }
19716  );
19717  
19718  // packages/ui/build-module/menu/item.mjs
19719  var import_jsx_runtime77 = __toESM(require_jsx_runtime(), 1);
19720  var STYLE_HASH_ATTRIBUTE5 = "data-wp-hash";
19721  function getRuntime5() {
19722    const globalScope = globalThis;
19723    if (globalScope.__wpStyleRuntime) {
19724      return globalScope.__wpStyleRuntime;
19725    }
19726    globalScope.__wpStyleRuntime = {
19727      documents: /* @__PURE__ */ new Map(),
19728      styles: /* @__PURE__ */ new Map(),
19729      injectedStyles: /* @__PURE__ */ new WeakMap()
19730    };
19731    if (typeof document !== "undefined") {
19732      registerDocument5(document);
19733    }
19734    return globalScope.__wpStyleRuntime;
19735  }
19736  function documentContainsStyleHash5(targetDocument, hash) {
19737    if (!targetDocument.head) {
19738      return false;
19739    }
19740    for (const style of targetDocument.head.querySelectorAll(
19741      `style[$STYLE_HASH_ATTRIBUTE5}]`
19742    )) {
19743      if (style.getAttribute(STYLE_HASH_ATTRIBUTE5) === hash) {
19744        return true;
19745      }
19746    }
19747    return false;
19748  }
19749  function injectStyle5(targetDocument, hash, css) {
19750    if (!targetDocument.head) {
19751      return;
19752    }
19753    const runtime = getRuntime5();
19754    let injectedStyles = runtime.injectedStyles.get(targetDocument);
19755    if (!injectedStyles) {
19756      injectedStyles = /* @__PURE__ */ new Set();
19757      runtime.injectedStyles.set(targetDocument, injectedStyles);
19758    }
19759    if (injectedStyles.has(hash)) {
19760      return;
19761    }
19762    if (documentContainsStyleHash5(targetDocument, hash)) {
19763      injectedStyles.add(hash);
19764      return;
19765    }
19766    const style = targetDocument.createElement("style");
19767    style.setAttribute(STYLE_HASH_ATTRIBUTE5, hash);
19768    style.appendChild(targetDocument.createTextNode(css));
19769    targetDocument.head.appendChild(style);
19770    injectedStyles.add(hash);
19771  }
19772  function registerDocument5(targetDocument) {
19773    const runtime = getRuntime5();
19774    runtime.documents.set(
19775      targetDocument,
19776      (runtime.documents.get(targetDocument) ?? 0) + 1
19777    );
19778    for (const [hash, css] of runtime.styles) {
19779      injectStyle5(targetDocument, hash, css);
19780    }
19781    return () => {
19782      const count = runtime.documents.get(targetDocument);
19783      if (count === void 0) {
19784        return;
19785      }
19786      if (count <= 1) {
19787        runtime.documents.delete(targetDocument);
19788        return;
19789      }
19790      runtime.documents.set(targetDocument, count - 1);
19791    };
19792  }
19793  function registerStyle5(hash, css) {
19794    const runtime = getRuntime5();
19795    runtime.styles.set(hash, css);
19796    for (const targetDocument of runtime.documents.keys()) {
19797      injectStyle5(targetDocument, hash, css);
19798    }
19799  }
19800  if (typeof process === "undefined" || true) {
19801    registerStyle5("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)}");
19802  }
19803  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" };
19804  if (typeof process === "undefined" || true) {
19805    registerStyle5("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
19806  }
19807  var resets_default = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
19808  if (typeof process === "undefined" || true) {
19809    registerStyle5("35c74d3f9f", '@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 components{.d61e2d85c0ee0699__positioner{z-index:var(--wp-ui-menu-z-index,initial)}._34e81249f419a5a5__popup{--wp-ui-menu-popup-padding:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-min-width:160px;--wp-ui-menu-max-width:var(--wpds-dimension-surface-width-sm,320px);--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-item-padding-inline-end:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-group-head-padding-base:var(--wpds-dimension-padding-sm,8px);--wp-ui-menu-group-head-padding-inline:var(--_wp-ui-menu-group-head-padding-base);--wp-ui-menu-selection-indicator-track-size:0px;--wp-ui-menu-selection-indicator-size:var(--wpds-dimension-size-2xs,16px);--wp-ui-menu-selection-indicator-gap:0px;--_wp-ui-menu-elevation-md:0px 2px 3px 0px #0000000d,0px 4px 5px 0px #0000000a,0px 12px 12px 0px #00000008,0px 16px 16px 0px #00000005;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-menu-elevation-md);max-height:min(var(--available-height),480px,60dvh);max-width:min(var(--available-width),var(--wp-ui-menu-max-width));min-width:min(var(--available-width),var(--wp-ui-menu-min-width));outline:none;overflow-block:auto;overscroll-behavior:none;padding:var(--wp-ui-menu-popup-padding);scroll-padding:var(--wp-ui-menu-popup-padding);&:has(._42313b48c5459be3__item-selection-indicator){--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-selection-indicator-track-size:var(--wpds-dimension-size-2xs,16px)}}._33f07ab17005471d__list{--_wp-ui-menu-item-label-line-height:var(--wpds-typography-line-height-sm,20px);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);line-height:var(--_wp-ui-menu-item-label-line-height)}._33f07ab17005471d__list,.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{--wp-ui-menu-group-prefix-gap:0px;display:grid;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];min-width:0}.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{grid-column:1/-1}._33f07ab17005471d__list:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.e05914e1005d7c2e__radio-group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.f11085533c0056b0__group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix){--wp-ui-menu-group-prefix-gap:var(--wpds-dimension-gap-xs,4px)}._4a0fd085d76fd23c__group-label{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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);grid-column:prefix-start/content-end;line-height:var(--wpds-typography-line-height-xs,16px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));min-height:var(--wpds-dimension-size-sm,24px);min-width:0;padding-block:var(--wpds-dimension-padding-xs,4px);text-transform:uppercase}.bfc11368eadf3b39__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);grid-column:prefix-start/content-end;height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));@media (forced-colors:active){background-color:CanvasText}}._5c913bce0d8bb0d6__item{--wp-ui-menu-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-menu-item-padding-block:var(--wpds-dimension-padding-xs,4px);--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);align-content:center;align-items:start;border-radius:var(--wpds-border-radius-sm,2px);display:grid;gap:0;grid-column:1/-1;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];justify-content:stretch;min-height:var(--wp-ui-menu-item-height);min-width:0;padding-block:var(--wp-ui-menu-item-padding-block);scroll-margin:var(--wp-ui-menu-popup-padding);text-decoration:none;user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&[href]{cursor:pointer}@supports (grid-template-columns:subgrid){grid-template-columns:subgrid}&[data-popup-open]:not([data-highlighted],[data-disabled],[aria-disabled=true]){background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-xs,1px) solid GrayText}}&[data-highlighted]:not([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);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){--_gcd-a-color:HighlightText;background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&:is([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&[data-highlighted]{--_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)));--_gcd-a-outline:var(--_gcd-div-outline)}@media (forced-colors:active){--_gcd-a-color:GrayText;color:GrayText}}}._42313b48c5459be3__item-selection-indicator,._64924ecabf65a5d6__item-prefix,.af879698ede76757__item-content{grid-row:1}._42313b48c5459be3__item-selection-indicator{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;grid-column:selection-start/selection-end;height:var(--_wp-ui-menu-item-label-line-height);justify-content:center;justify-self:center;margin-inline-end:var(--wpds-dimension-gap-xs,4px);pointer-events:none;width:var(--wp-ui-menu-selection-indicator-size);&[data-unchecked]{opacity:0}}._99c5bd141cbf516f__checkbox-selection-icon{translate:0 1px}._59aa9b3b3a651148__radio-selection-icon{fill:currentColor;height:var(--wpds-dimension-size-2xs,16px);width:var(--wpds-dimension-size-2xs,16px)}._64924ecabf65a5d6__item-prefix{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:prefix-start/prefix-end;justify-content:center;min-width:0}.a836378335a4cbf1__prefix-icon{align-self:flex-start;flex-shrink:0;margin-block-start:calc((var(--_wp-ui-menu-item-label-line-height) - var(--_wp-ui-menu-prefix-icon-size))/2)}.af879698ede76757__item-content{align-items:center;align-self:stretch;box-sizing:border-box;display:grid;grid-column:prefix-start/content-end;grid-template-columns:[label-start] minmax(0,1fr) [label-end suffix-start] auto [suffix-end shortcut-start] auto [shortcut-end trailing-start] auto [trailing-end];min-width:0;pointer-events:none;&._5c211f9edfe0ed66__has-prefix{grid-column:content-start/content-end}}._76f3e69cf2228139__item-descriptions{display:flex;flex-direction:column;grid-column:prefix-start/content-end;grid-row:2;min-width:0;padding-block-end:var(--wpds-dimension-padding-xs,4px);pointer-events:none}._5ed41da4abcf8958__item-label{--_gcd-heading-color:currentColor;--_gcd-p-line-height:var(--_wp-ui-menu-item-label-line-height);color:inherit;grid-column:label-start/label-end;line-height:var(--_wp-ui-menu-item-label-line-height);min-width:0;overflow-wrap:anywhere}.fa88c9f1a96a4c5a__item-description{--_gcd-heading-color:var(--wpds-color-foreground-content-neutral-weak,#707070);color:var(--wpds-color-foreground-content-neutral-weak,#707070);overflow-wrap:anywhere}.af879698ede76757__item-content>._091406749ed93e6e__item-suffix{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:suffix-start/suffix-end;margin-inline-start:var(--wpds-dimension-gap-md,12px)}.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{grid-column:shortcut-start/shortcut-end}._06be17a91bf434a0__item-trailing,.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{color:var(--wpds-color-foreground-content-neutral-weak,#707070);margin-inline-start:var(--wpds-dimension-gap-md,12px)}._06be17a91bf434a0__item-trailing{align-items:center;display:flex;grid-column:trailing-start/trailing-end}._5ed41da4abcf8958__item-label+:is(._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){margin-inline-start:var(--wpds-dimension-gap-xl,24px)}._23630f40071a29ff__item-shortcut+._06be17a91bf434a0__item-trailing{margin-inline-start:var(--wpds-dimension-gap-xs,4px)}.b78aec79bf93eba0__submenu-chevron{margin-inline-end:calc(var(--wpds-dimension-gap-sm, 8px)*-1)}.b78aec79bf93eba0__submenu-chevron:dir(rtl){transform:rotate(180deg)}._60da3b6f9718cf76__external-link-indicator{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px);text-decoration:none}._60da3b6f9718cf76__external-link-indicator:after{content:"\\2197"}._60da3b6f9718cf76__external-link-indicator:dir(rtl):after{content:"\\2196"}._5c913bce0d8bb0d6__item:is([data-highlighted],[data-disabled],[aria-disabled=true]) ._42313b48c5459be3__item-selection-indicator,._5c913bce0d8bb0d6__item:is([data-highlighted],[data-popup-open],[data-disabled],[aria-disabled=true]) :is(.fa88c9f1a96a4c5a__item-description,._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){--_gcd-heading-color:currentColor;color:inherit}}}');
19810  }
19811  var style_default5 = { "positioner": "d61e2d85c0ee0699__positioner", "popup": "_34e81249f419a5a5__popup", "item-selection-indicator": "_42313b48c5459be3__item-selection-indicator", "is-root": "_087a537b24fee6a1__is-root _380b81b8f79fb10f__dropdown-motion", "is-submenu": "_6d3b567f6289bdc2__is-submenu _7f344b94e270e039__dropdown-motion--fade-only", "list": "_33f07ab17005471d__list", "group": "f11085533c0056b0__group", "radio-group": "e05914e1005d7c2e__radio-group", "item": "_5c913bce0d8bb0d6__item", "item-prefix": "_64924ecabf65a5d6__item-prefix", "group-label": "_4a0fd085d76fd23c__group-label", "separator": "bfc11368eadf3b39__separator", "item-content": "af879698ede76757__item-content", "checkbox-selection-icon": "_99c5bd141cbf516f__checkbox-selection-icon", "radio-selection-icon": "_59aa9b3b3a651148__radio-selection-icon", "prefix-icon": "a836378335a4cbf1__prefix-icon", "has-prefix": "_5c211f9edfe0ed66__has-prefix", "item-descriptions": "_76f3e69cf2228139__item-descriptions", "item-label": "_5ed41da4abcf8958__item-label", "item-description": "fa88c9f1a96a4c5a__item-description", "item-suffix": "_091406749ed93e6e__item-suffix", "item-shortcut": "_23630f40071a29ff__item-shortcut", "item-trailing": "_06be17a91bf434a0__item-trailing", "submenu-chevron": "b78aec79bf93eba0__submenu-chevron", "external-link-indicator": "_60da3b6f9718cf76__external-link-indicator" };
19812  var ITEM_CONTENT_COMPONENTS = {
19813    Label: ItemLabel,
19814    Description: ItemDescription,
19815    validationMessage: "Menu.ItemLabel must be the first direct child of every menu item, followed only by Menu.ItemDescription components.",
19816    descriptionValidationToken: ITEM_DESCRIPTION_DIRECT_CHILD
19817  };
19818  function useItemContent2(children, {
19819    "aria-describedby": ariaDescribedBy,
19820    "aria-keyshortcuts": ariaKeyShortcuts,
19821    "aria-label": ariaLabel,
19822    "aria-labelledby": ariaLabelledBy,
19823    labelTrailing,
19824    shortcut
19825  }) {
19826    const { contentChildren, resolvedLabelId, itemAriaProps } = useItemContent(children, ITEM_CONTENT_COMPONENTS, {
19827      "aria-describedby": ariaDescribedBy,
19828      "aria-label": ariaLabel,
19829      "aria-labelledby": ariaLabelledBy
19830    });
19831    const {
19832      descriptionId: shortcutDescriptionId,
19833      targetProps: shortcutAriaProps
19834    } = useKeyboardShortcutProps({
19835      "aria-describedby": itemAriaProps["aria-describedby"],
19836      "aria-keyshortcuts": ariaKeyShortcuts,
19837      shortcut
19838    });
19839    return {
19840      // React widens the tuple while mapping; validation preserves the item-child
19841      // contract and cloning changes only generated description IDs.
19842      contentChildren,
19843      contentContextValue: {
19844        labelId: resolvedLabelId,
19845        labelTrailing
19846      },
19847      itemAriaProps: {
19848        ...shortcutAriaProps,
19849        "aria-label": itemAriaProps["aria-label"],
19850        "aria-labelledby": itemAriaProps["aria-labelledby"]
19851      },
19852      shortcutDescriptionId
19853    };
19854  }
19855  function ItemContent({
19856    children,
19857    prefix,
19858    shortcut,
19859    shortcutDescriptionId,
19860    suffix,
19861    trailing
19862  }) {
19863    const hasPrefix = import_element23.Children.toArray(prefix).some(
19864      (child) => child !== ""
19865    );
19866    const hasSuffix = import_element23.Children.toArray(suffix).some(
19867      (child) => child !== ""
19868    );
19869    const hasTrailing = import_element23.Children.toArray(trailing).some(
19870      (child) => child !== ""
19871    );
19872    const [label, ...descriptions] = import_element23.Children.toArray(children);
19873    return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(import_jsx_runtime77.Fragment, { children: [
19874      /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
19875        "span",
19876        {
19877          className: clsx_default(
19878            style_default5["item-content"],
19879            hasPrefix && style_default5["has-prefix"]
19880          ),
19881          children: [
19882            label,
19883            hasSuffix && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
19884              Text,
19885              {
19886                variant: "body-sm",
19887                className: style_default5["item-suffix"],
19888                children: suffix
19889              }
19890            ),
19891            shortcut && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
19892              Text,
19893              {
19894                variant: "body-sm",
19895                className: style_default5["item-shortcut"],
19896                children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(KeyboardShortcutDisplay, { shortcut })
19897              }
19898            ),
19899            hasTrailing && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: style_default5["item-trailing"], children: trailing })
19900          ]
19901        }
19902      ),
19903      descriptions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { className: style_default5["item-descriptions"], children: descriptions }),
19904      hasPrefix && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)("span", { "aria-hidden": "true", className: style_default5["item-prefix"], children: prefix }),
19905      shortcut && shortcutDescriptionId && /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
19906        KeyboardShortcutDescription,
19907        {
19908          descriptionId: shortcutDescriptionId,
19909          shortcut
19910        }
19911      )
19912    ] });
19913  }
19914  var Item = (0, import_element23.forwardRef)(function MenuItem3({
19915    children,
19916    className,
19917    prefix,
19918    shortcut,
19919    suffix,
19920    "aria-describedby": ariaDescribedBy,
19921    "aria-keyshortcuts": ariaKeyShortcuts,
19922    "aria-label": ariaLabel,
19923    "aria-labelledby": ariaLabelledBy,
19924    ...props
19925  }, ref) {
19926    const {
19927      contentChildren,
19928      contentContextValue,
19929      itemAriaProps,
19930      shortcutDescriptionId
19931    } = useItemContent2(children, {
19932      "aria-describedby": ariaDescribedBy,
19933      "aria-keyshortcuts": ariaKeyShortcuts,
19934      "aria-label": ariaLabel,
19935      "aria-labelledby": ariaLabelledBy,
19936      shortcut
19937    });
19938    return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
19939      index_parts_exports.Item,
19940      {
19941        ref,
19942        ...itemAriaProps,
19943        className: clsx_default(
19944          global_css_defense_default2.div,
19945          resets_default["box-sizing"],
19946          style_default5.item,
19947          className
19948        ),
19949        ...props,
19950        children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(MenuItemContentContext.Provider, { value: contentContextValue, children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
19951          ItemContent,
19952          {
19953            prefix,
19954            shortcut,
19955            shortcutDescriptionId,
19956            suffix,
19957            children: contentChildren
19958          }
19959        ) })
19960      }
19961    );
19962  });
19963  
19964  // packages/ui/build-module/menu/checkbox-item.mjs
19965  var import_jsx_runtime78 = __toESM(require_jsx_runtime(), 1);
19966  var STYLE_HASH_ATTRIBUTE6 = "data-wp-hash";
19967  function getRuntime6() {
19968    const globalScope = globalThis;
19969    if (globalScope.__wpStyleRuntime) {
19970      return globalScope.__wpStyleRuntime;
19971    }
19972    globalScope.__wpStyleRuntime = {
19973      documents: /* @__PURE__ */ new Map(),
19974      styles: /* @__PURE__ */ new Map(),
19975      injectedStyles: /* @__PURE__ */ new WeakMap()
19976    };
19977    if (typeof document !== "undefined") {
19978      registerDocument6(document);
19979    }
19980    return globalScope.__wpStyleRuntime;
19981  }
19982  function documentContainsStyleHash6(targetDocument, hash) {
19983    if (!targetDocument.head) {
19984      return false;
19985    }
19986    for (const style of targetDocument.head.querySelectorAll(
19987      `style[$STYLE_HASH_ATTRIBUTE6}]`
19988    )) {
19989      if (style.getAttribute(STYLE_HASH_ATTRIBUTE6) === hash) {
19990        return true;
19991      }
19992    }
19993    return false;
19994  }
19995  function injectStyle6(targetDocument, hash, css) {
19996    if (!targetDocument.head) {
19997      return;
19998    }
19999    const runtime = getRuntime6();
20000    let injectedStyles = runtime.injectedStyles.get(targetDocument);
20001    if (!injectedStyles) {
20002      injectedStyles = /* @__PURE__ */ new Set();
20003      runtime.injectedStyles.set(targetDocument, injectedStyles);
20004    }
20005    if (injectedStyles.has(hash)) {
20006      return;
20007    }
20008    if (documentContainsStyleHash6(targetDocument, hash)) {
20009      injectedStyles.add(hash);
20010      return;
20011    }
20012    const style = targetDocument.createElement("style");
20013    style.setAttribute(STYLE_HASH_ATTRIBUTE6, hash);
20014    style.appendChild(targetDocument.createTextNode(css));
20015    targetDocument.head.appendChild(style);
20016    injectedStyles.add(hash);
20017  }
20018  function registerDocument6(targetDocument) {
20019    const runtime = getRuntime6();
20020    runtime.documents.set(
20021      targetDocument,
20022      (runtime.documents.get(targetDocument) ?? 0) + 1
20023    );
20024    for (const [hash, css] of runtime.styles) {
20025      injectStyle6(targetDocument, hash, css);
20026    }
20027    return () => {
20028      const count = runtime.documents.get(targetDocument);
20029      if (count === void 0) {
20030        return;
20031      }
20032      if (count <= 1) {
20033        runtime.documents.delete(targetDocument);
20034        return;
20035      }
20036      runtime.documents.set(targetDocument, count - 1);
20037    };
20038  }
20039  function registerStyle6(hash, css) {
20040    const runtime = getRuntime6();
20041    runtime.styles.set(hash, css);
20042    for (const targetDocument of runtime.documents.keys()) {
20043      injectStyle6(targetDocument, hash, css);
20044    }
20045  }
20046  if (typeof process === "undefined" || true) {
20047    registerStyle6("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)}");
20048  }
20049  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" };
20050  if (typeof process === "undefined" || true) {
20051    registerStyle6("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
20052  }
20053  var resets_default2 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
20054  if (typeof process === "undefined" || true) {
20055    registerStyle6("35c74d3f9f", '@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 components{.d61e2d85c0ee0699__positioner{z-index:var(--wp-ui-menu-z-index,initial)}._34e81249f419a5a5__popup{--wp-ui-menu-popup-padding:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-min-width:160px;--wp-ui-menu-max-width:var(--wpds-dimension-surface-width-sm,320px);--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-item-padding-inline-end:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-group-head-padding-base:var(--wpds-dimension-padding-sm,8px);--wp-ui-menu-group-head-padding-inline:var(--_wp-ui-menu-group-head-padding-base);--wp-ui-menu-selection-indicator-track-size:0px;--wp-ui-menu-selection-indicator-size:var(--wpds-dimension-size-2xs,16px);--wp-ui-menu-selection-indicator-gap:0px;--_wp-ui-menu-elevation-md:0px 2px 3px 0px #0000000d,0px 4px 5px 0px #0000000a,0px 12px 12px 0px #00000008,0px 16px 16px 0px #00000005;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-menu-elevation-md);max-height:min(var(--available-height),480px,60dvh);max-width:min(var(--available-width),var(--wp-ui-menu-max-width));min-width:min(var(--available-width),var(--wp-ui-menu-min-width));outline:none;overflow-block:auto;overscroll-behavior:none;padding:var(--wp-ui-menu-popup-padding);scroll-padding:var(--wp-ui-menu-popup-padding);&:has(._42313b48c5459be3__item-selection-indicator){--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-selection-indicator-track-size:var(--wpds-dimension-size-2xs,16px)}}._33f07ab17005471d__list{--_wp-ui-menu-item-label-line-height:var(--wpds-typography-line-height-sm,20px);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);line-height:var(--_wp-ui-menu-item-label-line-height)}._33f07ab17005471d__list,.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{--wp-ui-menu-group-prefix-gap:0px;display:grid;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];min-width:0}.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{grid-column:1/-1}._33f07ab17005471d__list:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.e05914e1005d7c2e__radio-group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.f11085533c0056b0__group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix){--wp-ui-menu-group-prefix-gap:var(--wpds-dimension-gap-xs,4px)}._4a0fd085d76fd23c__group-label{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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);grid-column:prefix-start/content-end;line-height:var(--wpds-typography-line-height-xs,16px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));min-height:var(--wpds-dimension-size-sm,24px);min-width:0;padding-block:var(--wpds-dimension-padding-xs,4px);text-transform:uppercase}.bfc11368eadf3b39__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);grid-column:prefix-start/content-end;height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));@media (forced-colors:active){background-color:CanvasText}}._5c913bce0d8bb0d6__item{--wp-ui-menu-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-menu-item-padding-block:var(--wpds-dimension-padding-xs,4px);--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);align-content:center;align-items:start;border-radius:var(--wpds-border-radius-sm,2px);display:grid;gap:0;grid-column:1/-1;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];justify-content:stretch;min-height:var(--wp-ui-menu-item-height);min-width:0;padding-block:var(--wp-ui-menu-item-padding-block);scroll-margin:var(--wp-ui-menu-popup-padding);text-decoration:none;user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&[href]{cursor:pointer}@supports (grid-template-columns:subgrid){grid-template-columns:subgrid}&[data-popup-open]:not([data-highlighted],[data-disabled],[aria-disabled=true]){background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-xs,1px) solid GrayText}}&[data-highlighted]:not([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);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){--_gcd-a-color:HighlightText;background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&:is([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&[data-highlighted]{--_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)));--_gcd-a-outline:var(--_gcd-div-outline)}@media (forced-colors:active){--_gcd-a-color:GrayText;color:GrayText}}}._42313b48c5459be3__item-selection-indicator,._64924ecabf65a5d6__item-prefix,.af879698ede76757__item-content{grid-row:1}._42313b48c5459be3__item-selection-indicator{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;grid-column:selection-start/selection-end;height:var(--_wp-ui-menu-item-label-line-height);justify-content:center;justify-self:center;margin-inline-end:var(--wpds-dimension-gap-xs,4px);pointer-events:none;width:var(--wp-ui-menu-selection-indicator-size);&[data-unchecked]{opacity:0}}._99c5bd141cbf516f__checkbox-selection-icon{translate:0 1px}._59aa9b3b3a651148__radio-selection-icon{fill:currentColor;height:var(--wpds-dimension-size-2xs,16px);width:var(--wpds-dimension-size-2xs,16px)}._64924ecabf65a5d6__item-prefix{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:prefix-start/prefix-end;justify-content:center;min-width:0}.a836378335a4cbf1__prefix-icon{align-self:flex-start;flex-shrink:0;margin-block-start:calc((var(--_wp-ui-menu-item-label-line-height) - var(--_wp-ui-menu-prefix-icon-size))/2)}.af879698ede76757__item-content{align-items:center;align-self:stretch;box-sizing:border-box;display:grid;grid-column:prefix-start/content-end;grid-template-columns:[label-start] minmax(0,1fr) [label-end suffix-start] auto [suffix-end shortcut-start] auto [shortcut-end trailing-start] auto [trailing-end];min-width:0;pointer-events:none;&._5c211f9edfe0ed66__has-prefix{grid-column:content-start/content-end}}._76f3e69cf2228139__item-descriptions{display:flex;flex-direction:column;grid-column:prefix-start/content-end;grid-row:2;min-width:0;padding-block-end:var(--wpds-dimension-padding-xs,4px);pointer-events:none}._5ed41da4abcf8958__item-label{--_gcd-heading-color:currentColor;--_gcd-p-line-height:var(--_wp-ui-menu-item-label-line-height);color:inherit;grid-column:label-start/label-end;line-height:var(--_wp-ui-menu-item-label-line-height);min-width:0;overflow-wrap:anywhere}.fa88c9f1a96a4c5a__item-description{--_gcd-heading-color:var(--wpds-color-foreground-content-neutral-weak,#707070);color:var(--wpds-color-foreground-content-neutral-weak,#707070);overflow-wrap:anywhere}.af879698ede76757__item-content>._091406749ed93e6e__item-suffix{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:suffix-start/suffix-end;margin-inline-start:var(--wpds-dimension-gap-md,12px)}.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{grid-column:shortcut-start/shortcut-end}._06be17a91bf434a0__item-trailing,.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{color:var(--wpds-color-foreground-content-neutral-weak,#707070);margin-inline-start:var(--wpds-dimension-gap-md,12px)}._06be17a91bf434a0__item-trailing{align-items:center;display:flex;grid-column:trailing-start/trailing-end}._5ed41da4abcf8958__item-label+:is(._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){margin-inline-start:var(--wpds-dimension-gap-xl,24px)}._23630f40071a29ff__item-shortcut+._06be17a91bf434a0__item-trailing{margin-inline-start:var(--wpds-dimension-gap-xs,4px)}.b78aec79bf93eba0__submenu-chevron{margin-inline-end:calc(var(--wpds-dimension-gap-sm, 8px)*-1)}.b78aec79bf93eba0__submenu-chevron:dir(rtl){transform:rotate(180deg)}._60da3b6f9718cf76__external-link-indicator{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px);text-decoration:none}._60da3b6f9718cf76__external-link-indicator:after{content:"\\2197"}._60da3b6f9718cf76__external-link-indicator:dir(rtl):after{content:"\\2196"}._5c913bce0d8bb0d6__item:is([data-highlighted],[data-disabled],[aria-disabled=true]) ._42313b48c5459be3__item-selection-indicator,._5c913bce0d8bb0d6__item:is([data-highlighted],[data-popup-open],[data-disabled],[aria-disabled=true]) :is(.fa88c9f1a96a4c5a__item-description,._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){--_gcd-heading-color:currentColor;color:inherit}}}');
20056  }
20057  var style_default6 = { "positioner": "d61e2d85c0ee0699__positioner", "popup": "_34e81249f419a5a5__popup", "item-selection-indicator": "_42313b48c5459be3__item-selection-indicator", "is-root": "_087a537b24fee6a1__is-root _380b81b8f79fb10f__dropdown-motion", "is-submenu": "_6d3b567f6289bdc2__is-submenu _7f344b94e270e039__dropdown-motion--fade-only", "list": "_33f07ab17005471d__list", "group": "f11085533c0056b0__group", "radio-group": "e05914e1005d7c2e__radio-group", "item": "_5c913bce0d8bb0d6__item", "item-prefix": "_64924ecabf65a5d6__item-prefix", "group-label": "_4a0fd085d76fd23c__group-label", "separator": "bfc11368eadf3b39__separator", "item-content": "af879698ede76757__item-content", "checkbox-selection-icon": "_99c5bd141cbf516f__checkbox-selection-icon", "radio-selection-icon": "_59aa9b3b3a651148__radio-selection-icon", "prefix-icon": "a836378335a4cbf1__prefix-icon", "has-prefix": "_5c211f9edfe0ed66__has-prefix", "item-descriptions": "_76f3e69cf2228139__item-descriptions", "item-label": "_5ed41da4abcf8958__item-label", "item-description": "fa88c9f1a96a4c5a__item-description", "item-suffix": "_091406749ed93e6e__item-suffix", "item-shortcut": "_23630f40071a29ff__item-shortcut", "item-trailing": "_06be17a91bf434a0__item-trailing", "submenu-chevron": "b78aec79bf93eba0__submenu-chevron", "external-link-indicator": "_60da3b6f9718cf76__external-link-indicator" };
20058  var CheckboxItem = (0, import_element24.forwardRef)(
20059    function MenuCheckboxItem3({
20060      children,
20061      className,
20062      prefix,
20063      shortcut,
20064      suffix,
20065      "aria-describedby": ariaDescribedBy,
20066      "aria-keyshortcuts": ariaKeyShortcuts,
20067      "aria-label": ariaLabel,
20068      "aria-labelledby": ariaLabelledBy,
20069      ...props
20070    }, ref) {
20071      const {
20072        contentChildren,
20073        contentContextValue,
20074        itemAriaProps,
20075        shortcutDescriptionId
20076      } = useItemContent2(children, {
20077        "aria-describedby": ariaDescribedBy,
20078        "aria-keyshortcuts": ariaKeyShortcuts,
20079        "aria-label": ariaLabel,
20080        "aria-labelledby": ariaLabelledBy,
20081        shortcut
20082      });
20083      return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(
20084        index_parts_exports.CheckboxItem,
20085        {
20086          ref,
20087          ...itemAriaProps,
20088          className: clsx_default(
20089            global_css_defense_default3.div,
20090            resets_default2["box-sizing"],
20091            style_default6.item,
20092            className
20093          ),
20094          ...props,
20095          children: [
20096            /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
20097              index_parts_exports.CheckboxItemIndicator,
20098              {
20099                keepMounted: true,
20100                className: style_default6["item-selection-indicator"],
20101                children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
20102                  Icon,
20103                  {
20104                    icon: check_default,
20105                    size: 16,
20106                    className: style_default6["checkbox-selection-icon"],
20107                    "aria-hidden": "true"
20108                  }
20109                )
20110              }
20111            ),
20112            /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(MenuItemContentContext.Provider, { value: contentContextValue, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
20113              ItemContent,
20114              {
20115                prefix,
20116                shortcut,
20117                shortcutDescriptionId,
20118                suffix,
20119                children: contentChildren
20120              }
20121            ) })
20122          ]
20123        }
20124      );
20125    }
20126  );
20127  
20128  // packages/ui/build-module/menu/group.mjs
20129  var import_element25 = __toESM(require_element(), 1);
20130  var import_jsx_runtime79 = __toESM(require_jsx_runtime(), 1);
20131  var STYLE_HASH_ATTRIBUTE7 = "data-wp-hash";
20132  function getRuntime7() {
20133    const globalScope = globalThis;
20134    if (globalScope.__wpStyleRuntime) {
20135      return globalScope.__wpStyleRuntime;
20136    }
20137    globalScope.__wpStyleRuntime = {
20138      documents: /* @__PURE__ */ new Map(),
20139      styles: /* @__PURE__ */ new Map(),
20140      injectedStyles: /* @__PURE__ */ new WeakMap()
20141    };
20142    if (typeof document !== "undefined") {
20143      registerDocument7(document);
20144    }
20145    return globalScope.__wpStyleRuntime;
20146  }
20147  function documentContainsStyleHash7(targetDocument, hash) {
20148    if (!targetDocument.head) {
20149      return false;
20150    }
20151    for (const style of targetDocument.head.querySelectorAll(
20152      `style[$STYLE_HASH_ATTRIBUTE7}]`
20153    )) {
20154      if (style.getAttribute(STYLE_HASH_ATTRIBUTE7) === hash) {
20155        return true;
20156      }
20157    }
20158    return false;
20159  }
20160  function injectStyle7(targetDocument, hash, css) {
20161    if (!targetDocument.head) {
20162      return;
20163    }
20164    const runtime = getRuntime7();
20165    let injectedStyles = runtime.injectedStyles.get(targetDocument);
20166    if (!injectedStyles) {
20167      injectedStyles = /* @__PURE__ */ new Set();
20168      runtime.injectedStyles.set(targetDocument, injectedStyles);
20169    }
20170    if (injectedStyles.has(hash)) {
20171      return;
20172    }
20173    if (documentContainsStyleHash7(targetDocument, hash)) {
20174      injectedStyles.add(hash);
20175      return;
20176    }
20177    const style = targetDocument.createElement("style");
20178    style.setAttribute(STYLE_HASH_ATTRIBUTE7, hash);
20179    style.appendChild(targetDocument.createTextNode(css));
20180    targetDocument.head.appendChild(style);
20181    injectedStyles.add(hash);
20182  }
20183  function registerDocument7(targetDocument) {
20184    const runtime = getRuntime7();
20185    runtime.documents.set(
20186      targetDocument,
20187      (runtime.documents.get(targetDocument) ?? 0) + 1
20188    );
20189    for (const [hash, css] of runtime.styles) {
20190      injectStyle7(targetDocument, hash, css);
20191    }
20192    return () => {
20193      const count = runtime.documents.get(targetDocument);
20194      if (count === void 0) {
20195        return;
20196      }
20197      if (count <= 1) {
20198        runtime.documents.delete(targetDocument);
20199        return;
20200      }
20201      runtime.documents.set(targetDocument, count - 1);
20202    };
20203  }
20204  function registerStyle7(hash, css) {
20205    const runtime = getRuntime7();
20206    runtime.styles.set(hash, css);
20207    for (const targetDocument of runtime.documents.keys()) {
20208      injectStyle7(targetDocument, hash, css);
20209    }
20210  }
20211  if (typeof process === "undefined" || true) {
20212    registerStyle7("35c74d3f9f", '@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 components{.d61e2d85c0ee0699__positioner{z-index:var(--wp-ui-menu-z-index,initial)}._34e81249f419a5a5__popup{--wp-ui-menu-popup-padding:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-min-width:160px;--wp-ui-menu-max-width:var(--wpds-dimension-surface-width-sm,320px);--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-item-padding-inline-end:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-group-head-padding-base:var(--wpds-dimension-padding-sm,8px);--wp-ui-menu-group-head-padding-inline:var(--_wp-ui-menu-group-head-padding-base);--wp-ui-menu-selection-indicator-track-size:0px;--wp-ui-menu-selection-indicator-size:var(--wpds-dimension-size-2xs,16px);--wp-ui-menu-selection-indicator-gap:0px;--_wp-ui-menu-elevation-md:0px 2px 3px 0px #0000000d,0px 4px 5px 0px #0000000a,0px 12px 12px 0px #00000008,0px 16px 16px 0px #00000005;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-menu-elevation-md);max-height:min(var(--available-height),480px,60dvh);max-width:min(var(--available-width),var(--wp-ui-menu-max-width));min-width:min(var(--available-width),var(--wp-ui-menu-min-width));outline:none;overflow-block:auto;overscroll-behavior:none;padding:var(--wp-ui-menu-popup-padding);scroll-padding:var(--wp-ui-menu-popup-padding);&:has(._42313b48c5459be3__item-selection-indicator){--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-selection-indicator-track-size:var(--wpds-dimension-size-2xs,16px)}}._33f07ab17005471d__list{--_wp-ui-menu-item-label-line-height:var(--wpds-typography-line-height-sm,20px);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);line-height:var(--_wp-ui-menu-item-label-line-height)}._33f07ab17005471d__list,.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{--wp-ui-menu-group-prefix-gap:0px;display:grid;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];min-width:0}.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{grid-column:1/-1}._33f07ab17005471d__list:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.e05914e1005d7c2e__radio-group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.f11085533c0056b0__group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix){--wp-ui-menu-group-prefix-gap:var(--wpds-dimension-gap-xs,4px)}._4a0fd085d76fd23c__group-label{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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);grid-column:prefix-start/content-end;line-height:var(--wpds-typography-line-height-xs,16px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));min-height:var(--wpds-dimension-size-sm,24px);min-width:0;padding-block:var(--wpds-dimension-padding-xs,4px);text-transform:uppercase}.bfc11368eadf3b39__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);grid-column:prefix-start/content-end;height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));@media (forced-colors:active){background-color:CanvasText}}._5c913bce0d8bb0d6__item{--wp-ui-menu-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-menu-item-padding-block:var(--wpds-dimension-padding-xs,4px);--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);align-content:center;align-items:start;border-radius:var(--wpds-border-radius-sm,2px);display:grid;gap:0;grid-column:1/-1;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];justify-content:stretch;min-height:var(--wp-ui-menu-item-height);min-width:0;padding-block:var(--wp-ui-menu-item-padding-block);scroll-margin:var(--wp-ui-menu-popup-padding);text-decoration:none;user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&[href]{cursor:pointer}@supports (grid-template-columns:subgrid){grid-template-columns:subgrid}&[data-popup-open]:not([data-highlighted],[data-disabled],[aria-disabled=true]){background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-xs,1px) solid GrayText}}&[data-highlighted]:not([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);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){--_gcd-a-color:HighlightText;background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&:is([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&[data-highlighted]{--_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)));--_gcd-a-outline:var(--_gcd-div-outline)}@media (forced-colors:active){--_gcd-a-color:GrayText;color:GrayText}}}._42313b48c5459be3__item-selection-indicator,._64924ecabf65a5d6__item-prefix,.af879698ede76757__item-content{grid-row:1}._42313b48c5459be3__item-selection-indicator{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;grid-column:selection-start/selection-end;height:var(--_wp-ui-menu-item-label-line-height);justify-content:center;justify-self:center;margin-inline-end:var(--wpds-dimension-gap-xs,4px);pointer-events:none;width:var(--wp-ui-menu-selection-indicator-size);&[data-unchecked]{opacity:0}}._99c5bd141cbf516f__checkbox-selection-icon{translate:0 1px}._59aa9b3b3a651148__radio-selection-icon{fill:currentColor;height:var(--wpds-dimension-size-2xs,16px);width:var(--wpds-dimension-size-2xs,16px)}._64924ecabf65a5d6__item-prefix{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:prefix-start/prefix-end;justify-content:center;min-width:0}.a836378335a4cbf1__prefix-icon{align-self:flex-start;flex-shrink:0;margin-block-start:calc((var(--_wp-ui-menu-item-label-line-height) - var(--_wp-ui-menu-prefix-icon-size))/2)}.af879698ede76757__item-content{align-items:center;align-self:stretch;box-sizing:border-box;display:grid;grid-column:prefix-start/content-end;grid-template-columns:[label-start] minmax(0,1fr) [label-end suffix-start] auto [suffix-end shortcut-start] auto [shortcut-end trailing-start] auto [trailing-end];min-width:0;pointer-events:none;&._5c211f9edfe0ed66__has-prefix{grid-column:content-start/content-end}}._76f3e69cf2228139__item-descriptions{display:flex;flex-direction:column;grid-column:prefix-start/content-end;grid-row:2;min-width:0;padding-block-end:var(--wpds-dimension-padding-xs,4px);pointer-events:none}._5ed41da4abcf8958__item-label{--_gcd-heading-color:currentColor;--_gcd-p-line-height:var(--_wp-ui-menu-item-label-line-height);color:inherit;grid-column:label-start/label-end;line-height:var(--_wp-ui-menu-item-label-line-height);min-width:0;overflow-wrap:anywhere}.fa88c9f1a96a4c5a__item-description{--_gcd-heading-color:var(--wpds-color-foreground-content-neutral-weak,#707070);color:var(--wpds-color-foreground-content-neutral-weak,#707070);overflow-wrap:anywhere}.af879698ede76757__item-content>._091406749ed93e6e__item-suffix{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:suffix-start/suffix-end;margin-inline-start:var(--wpds-dimension-gap-md,12px)}.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{grid-column:shortcut-start/shortcut-end}._06be17a91bf434a0__item-trailing,.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{color:var(--wpds-color-foreground-content-neutral-weak,#707070);margin-inline-start:var(--wpds-dimension-gap-md,12px)}._06be17a91bf434a0__item-trailing{align-items:center;display:flex;grid-column:trailing-start/trailing-end}._5ed41da4abcf8958__item-label+:is(._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){margin-inline-start:var(--wpds-dimension-gap-xl,24px)}._23630f40071a29ff__item-shortcut+._06be17a91bf434a0__item-trailing{margin-inline-start:var(--wpds-dimension-gap-xs,4px)}.b78aec79bf93eba0__submenu-chevron{margin-inline-end:calc(var(--wpds-dimension-gap-sm, 8px)*-1)}.b78aec79bf93eba0__submenu-chevron:dir(rtl){transform:rotate(180deg)}._60da3b6f9718cf76__external-link-indicator{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px);text-decoration:none}._60da3b6f9718cf76__external-link-indicator:after{content:"\\2197"}._60da3b6f9718cf76__external-link-indicator:dir(rtl):after{content:"\\2196"}._5c913bce0d8bb0d6__item:is([data-highlighted],[data-disabled],[aria-disabled=true]) ._42313b48c5459be3__item-selection-indicator,._5c913bce0d8bb0d6__item:is([data-highlighted],[data-popup-open],[data-disabled],[aria-disabled=true]) :is(.fa88c9f1a96a4c5a__item-description,._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){--_gcd-heading-color:currentColor;color:inherit}}}');
20213  }
20214  var style_default7 = { "positioner": "d61e2d85c0ee0699__positioner", "popup": "_34e81249f419a5a5__popup", "item-selection-indicator": "_42313b48c5459be3__item-selection-indicator", "is-root": "_087a537b24fee6a1__is-root _380b81b8f79fb10f__dropdown-motion", "is-submenu": "_6d3b567f6289bdc2__is-submenu _7f344b94e270e039__dropdown-motion--fade-only", "list": "_33f07ab17005471d__list", "group": "f11085533c0056b0__group", "radio-group": "e05914e1005d7c2e__radio-group", "item": "_5c913bce0d8bb0d6__item", "item-prefix": "_64924ecabf65a5d6__item-prefix", "group-label": "_4a0fd085d76fd23c__group-label", "separator": "bfc11368eadf3b39__separator", "item-content": "af879698ede76757__item-content", "checkbox-selection-icon": "_99c5bd141cbf516f__checkbox-selection-icon", "radio-selection-icon": "_59aa9b3b3a651148__radio-selection-icon", "prefix-icon": "a836378335a4cbf1__prefix-icon", "has-prefix": "_5c211f9edfe0ed66__has-prefix", "item-descriptions": "_76f3e69cf2228139__item-descriptions", "item-label": "_5ed41da4abcf8958__item-label", "item-description": "fa88c9f1a96a4c5a__item-description", "item-suffix": "_091406749ed93e6e__item-suffix", "item-shortcut": "_23630f40071a29ff__item-shortcut", "item-trailing": "_06be17a91bf434a0__item-trailing", "submenu-chevron": "b78aec79bf93eba0__submenu-chevron", "external-link-indicator": "_60da3b6f9718cf76__external-link-indicator" };
20215  var Group = (0, import_element25.forwardRef)(function MenuGroup3({ className, ...props }, ref) {
20216    const parentGroup = useMenuGroupContext();
20217    if (parentGroup === "radio-group") {
20218      throw new Error(
20219        "Menu.Group: Cannot be nested inside Menu.RadioGroup. Remove Menu.Group and put Menu.GroupLabel and Menu.RadioItem directly inside Menu.RadioGroup."
20220      );
20221    }
20222    return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(MenuGroupContext2.Provider, { value: "group", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
20223      index_parts_exports.Group,
20224      {
20225        ref,
20226        className: clsx_default(style_default7.group, className),
20227        ...props
20228      }
20229    ) });
20230  });
20231  
20232  // packages/ui/build-module/menu/group-label.mjs
20233  var import_element26 = __toESM(require_element(), 1);
20234  var import_jsx_runtime80 = __toESM(require_jsx_runtime(), 1);
20235  var STYLE_HASH_ATTRIBUTE8 = "data-wp-hash";
20236  function getRuntime8() {
20237    const globalScope = globalThis;
20238    if (globalScope.__wpStyleRuntime) {
20239      return globalScope.__wpStyleRuntime;
20240    }
20241    globalScope.__wpStyleRuntime = {
20242      documents: /* @__PURE__ */ new Map(),
20243      styles: /* @__PURE__ */ new Map(),
20244      injectedStyles: /* @__PURE__ */ new WeakMap()
20245    };
20246    if (typeof document !== "undefined") {
20247      registerDocument8(document);
20248    }
20249    return globalScope.__wpStyleRuntime;
20250  }
20251  function documentContainsStyleHash8(targetDocument, hash) {
20252    if (!targetDocument.head) {
20253      return false;
20254    }
20255    for (const style of targetDocument.head.querySelectorAll(
20256      `style[$STYLE_HASH_ATTRIBUTE8}]`
20257    )) {
20258      if (style.getAttribute(STYLE_HASH_ATTRIBUTE8) === hash) {
20259        return true;
20260      }
20261    }
20262    return false;
20263  }
20264  function injectStyle8(targetDocument, hash, css) {
20265    if (!targetDocument.head) {
20266      return;
20267    }
20268    const runtime = getRuntime8();
20269    let injectedStyles = runtime.injectedStyles.get(targetDocument);
20270    if (!injectedStyles) {
20271      injectedStyles = /* @__PURE__ */ new Set();
20272      runtime.injectedStyles.set(targetDocument, injectedStyles);
20273    }
20274    if (injectedStyles.has(hash)) {
20275      return;
20276    }
20277    if (documentContainsStyleHash8(targetDocument, hash)) {
20278      injectedStyles.add(hash);
20279      return;
20280    }
20281    const style = targetDocument.createElement("style");
20282    style.setAttribute(STYLE_HASH_ATTRIBUTE8, hash);
20283    style.appendChild(targetDocument.createTextNode(css));
20284    targetDocument.head.appendChild(style);
20285    injectedStyles.add(hash);
20286  }
20287  function registerDocument8(targetDocument) {
20288    const runtime = getRuntime8();
20289    runtime.documents.set(
20290      targetDocument,
20291      (runtime.documents.get(targetDocument) ?? 0) + 1
20292    );
20293    for (const [hash, css] of runtime.styles) {
20294      injectStyle8(targetDocument, hash, css);
20295    }
20296    return () => {
20297      const count = runtime.documents.get(targetDocument);
20298      if (count === void 0) {
20299        return;
20300      }
20301      if (count <= 1) {
20302        runtime.documents.delete(targetDocument);
20303        return;
20304      }
20305      runtime.documents.set(targetDocument, count - 1);
20306    };
20307  }
20308  function registerStyle8(hash, css) {
20309    const runtime = getRuntime8();
20310    runtime.styles.set(hash, css);
20311    for (const targetDocument of runtime.documents.keys()) {
20312      injectStyle8(targetDocument, hash, css);
20313    }
20314  }
20315  if (typeof process === "undefined" || true) {
20316    registerStyle8("35c74d3f9f", '@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 components{.d61e2d85c0ee0699__positioner{z-index:var(--wp-ui-menu-z-index,initial)}._34e81249f419a5a5__popup{--wp-ui-menu-popup-padding:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-min-width:160px;--wp-ui-menu-max-width:var(--wpds-dimension-surface-width-sm,320px);--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-item-padding-inline-end:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-group-head-padding-base:var(--wpds-dimension-padding-sm,8px);--wp-ui-menu-group-head-padding-inline:var(--_wp-ui-menu-group-head-padding-base);--wp-ui-menu-selection-indicator-track-size:0px;--wp-ui-menu-selection-indicator-size:var(--wpds-dimension-size-2xs,16px);--wp-ui-menu-selection-indicator-gap:0px;--_wp-ui-menu-elevation-md:0px 2px 3px 0px #0000000d,0px 4px 5px 0px #0000000a,0px 12px 12px 0px #00000008,0px 16px 16px 0px #00000005;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-menu-elevation-md);max-height:min(var(--available-height),480px,60dvh);max-width:min(var(--available-width),var(--wp-ui-menu-max-width));min-width:min(var(--available-width),var(--wp-ui-menu-min-width));outline:none;overflow-block:auto;overscroll-behavior:none;padding:var(--wp-ui-menu-popup-padding);scroll-padding:var(--wp-ui-menu-popup-padding);&:has(._42313b48c5459be3__item-selection-indicator){--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-selection-indicator-track-size:var(--wpds-dimension-size-2xs,16px)}}._33f07ab17005471d__list{--_wp-ui-menu-item-label-line-height:var(--wpds-typography-line-height-sm,20px);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);line-height:var(--_wp-ui-menu-item-label-line-height)}._33f07ab17005471d__list,.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{--wp-ui-menu-group-prefix-gap:0px;display:grid;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];min-width:0}.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{grid-column:1/-1}._33f07ab17005471d__list:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.e05914e1005d7c2e__radio-group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.f11085533c0056b0__group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix){--wp-ui-menu-group-prefix-gap:var(--wpds-dimension-gap-xs,4px)}._4a0fd085d76fd23c__group-label{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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);grid-column:prefix-start/content-end;line-height:var(--wpds-typography-line-height-xs,16px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));min-height:var(--wpds-dimension-size-sm,24px);min-width:0;padding-block:var(--wpds-dimension-padding-xs,4px);text-transform:uppercase}.bfc11368eadf3b39__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);grid-column:prefix-start/content-end;height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));@media (forced-colors:active){background-color:CanvasText}}._5c913bce0d8bb0d6__item{--wp-ui-menu-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-menu-item-padding-block:var(--wpds-dimension-padding-xs,4px);--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);align-content:center;align-items:start;border-radius:var(--wpds-border-radius-sm,2px);display:grid;gap:0;grid-column:1/-1;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];justify-content:stretch;min-height:var(--wp-ui-menu-item-height);min-width:0;padding-block:var(--wp-ui-menu-item-padding-block);scroll-margin:var(--wp-ui-menu-popup-padding);text-decoration:none;user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&[href]{cursor:pointer}@supports (grid-template-columns:subgrid){grid-template-columns:subgrid}&[data-popup-open]:not([data-highlighted],[data-disabled],[aria-disabled=true]){background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-xs,1px) solid GrayText}}&[data-highlighted]:not([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);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){--_gcd-a-color:HighlightText;background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&:is([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&[data-highlighted]{--_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)));--_gcd-a-outline:var(--_gcd-div-outline)}@media (forced-colors:active){--_gcd-a-color:GrayText;color:GrayText}}}._42313b48c5459be3__item-selection-indicator,._64924ecabf65a5d6__item-prefix,.af879698ede76757__item-content{grid-row:1}._42313b48c5459be3__item-selection-indicator{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;grid-column:selection-start/selection-end;height:var(--_wp-ui-menu-item-label-line-height);justify-content:center;justify-self:center;margin-inline-end:var(--wpds-dimension-gap-xs,4px);pointer-events:none;width:var(--wp-ui-menu-selection-indicator-size);&[data-unchecked]{opacity:0}}._99c5bd141cbf516f__checkbox-selection-icon{translate:0 1px}._59aa9b3b3a651148__radio-selection-icon{fill:currentColor;height:var(--wpds-dimension-size-2xs,16px);width:var(--wpds-dimension-size-2xs,16px)}._64924ecabf65a5d6__item-prefix{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:prefix-start/prefix-end;justify-content:center;min-width:0}.a836378335a4cbf1__prefix-icon{align-self:flex-start;flex-shrink:0;margin-block-start:calc((var(--_wp-ui-menu-item-label-line-height) - var(--_wp-ui-menu-prefix-icon-size))/2)}.af879698ede76757__item-content{align-items:center;align-self:stretch;box-sizing:border-box;display:grid;grid-column:prefix-start/content-end;grid-template-columns:[label-start] minmax(0,1fr) [label-end suffix-start] auto [suffix-end shortcut-start] auto [shortcut-end trailing-start] auto [trailing-end];min-width:0;pointer-events:none;&._5c211f9edfe0ed66__has-prefix{grid-column:content-start/content-end}}._76f3e69cf2228139__item-descriptions{display:flex;flex-direction:column;grid-column:prefix-start/content-end;grid-row:2;min-width:0;padding-block-end:var(--wpds-dimension-padding-xs,4px);pointer-events:none}._5ed41da4abcf8958__item-label{--_gcd-heading-color:currentColor;--_gcd-p-line-height:var(--_wp-ui-menu-item-label-line-height);color:inherit;grid-column:label-start/label-end;line-height:var(--_wp-ui-menu-item-label-line-height);min-width:0;overflow-wrap:anywhere}.fa88c9f1a96a4c5a__item-description{--_gcd-heading-color:var(--wpds-color-foreground-content-neutral-weak,#707070);color:var(--wpds-color-foreground-content-neutral-weak,#707070);overflow-wrap:anywhere}.af879698ede76757__item-content>._091406749ed93e6e__item-suffix{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:suffix-start/suffix-end;margin-inline-start:var(--wpds-dimension-gap-md,12px)}.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{grid-column:shortcut-start/shortcut-end}._06be17a91bf434a0__item-trailing,.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{color:var(--wpds-color-foreground-content-neutral-weak,#707070);margin-inline-start:var(--wpds-dimension-gap-md,12px)}._06be17a91bf434a0__item-trailing{align-items:center;display:flex;grid-column:trailing-start/trailing-end}._5ed41da4abcf8958__item-label+:is(._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){margin-inline-start:var(--wpds-dimension-gap-xl,24px)}._23630f40071a29ff__item-shortcut+._06be17a91bf434a0__item-trailing{margin-inline-start:var(--wpds-dimension-gap-xs,4px)}.b78aec79bf93eba0__submenu-chevron{margin-inline-end:calc(var(--wpds-dimension-gap-sm, 8px)*-1)}.b78aec79bf93eba0__submenu-chevron:dir(rtl){transform:rotate(180deg)}._60da3b6f9718cf76__external-link-indicator{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px);text-decoration:none}._60da3b6f9718cf76__external-link-indicator:after{content:"\\2197"}._60da3b6f9718cf76__external-link-indicator:dir(rtl):after{content:"\\2196"}._5c913bce0d8bb0d6__item:is([data-highlighted],[data-disabled],[aria-disabled=true]) ._42313b48c5459be3__item-selection-indicator,._5c913bce0d8bb0d6__item:is([data-highlighted],[data-popup-open],[data-disabled],[aria-disabled=true]) :is(.fa88c9f1a96a4c5a__item-description,._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){--_gcd-heading-color:currentColor;color:inherit}}}');
20317  }
20318  var style_default8 = { "positioner": "d61e2d85c0ee0699__positioner", "popup": "_34e81249f419a5a5__popup", "item-selection-indicator": "_42313b48c5459be3__item-selection-indicator", "is-root": "_087a537b24fee6a1__is-root _380b81b8f79fb10f__dropdown-motion", "is-submenu": "_6d3b567f6289bdc2__is-submenu _7f344b94e270e039__dropdown-motion--fade-only", "list": "_33f07ab17005471d__list", "group": "f11085533c0056b0__group", "radio-group": "e05914e1005d7c2e__radio-group", "item": "_5c913bce0d8bb0d6__item", "item-prefix": "_64924ecabf65a5d6__item-prefix", "group-label": "_4a0fd085d76fd23c__group-label", "separator": "bfc11368eadf3b39__separator", "item-content": "af879698ede76757__item-content", "checkbox-selection-icon": "_99c5bd141cbf516f__checkbox-selection-icon", "radio-selection-icon": "_59aa9b3b3a651148__radio-selection-icon", "prefix-icon": "a836378335a4cbf1__prefix-icon", "has-prefix": "_5c211f9edfe0ed66__has-prefix", "item-descriptions": "_76f3e69cf2228139__item-descriptions", "item-label": "_5ed41da4abcf8958__item-label", "item-description": "fa88c9f1a96a4c5a__item-description", "item-suffix": "_091406749ed93e6e__item-suffix", "item-shortcut": "_23630f40071a29ff__item-shortcut", "item-trailing": "_06be17a91bf434a0__item-trailing", "submenu-chevron": "b78aec79bf93eba0__submenu-chevron", "external-link-indicator": "_60da3b6f9718cf76__external-link-indicator" };
20319  var GroupLabel = (0, import_element26.forwardRef)(
20320    function MenuGroupLabel3({ className, ...props }, ref) {
20321      return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
20322        index_parts_exports.GroupLabel,
20323        {
20324          ref,
20325          className: clsx_default(style_default8["group-label"], className),
20326          ...props
20327        }
20328      );
20329    }
20330  );
20331  
20332  // packages/ui/build-module/menu/link-item.mjs
20333  var import_element27 = __toESM(require_element(), 1);
20334  var import_i18n2 = __toESM(require_i18n(), 1);
20335  var import_jsx_runtime81 = __toESM(require_jsx_runtime(), 1);
20336  var STYLE_HASH_ATTRIBUTE9 = "data-wp-hash";
20337  function getRuntime9() {
20338    const globalScope = globalThis;
20339    if (globalScope.__wpStyleRuntime) {
20340      return globalScope.__wpStyleRuntime;
20341    }
20342    globalScope.__wpStyleRuntime = {
20343      documents: /* @__PURE__ */ new Map(),
20344      styles: /* @__PURE__ */ new Map(),
20345      injectedStyles: /* @__PURE__ */ new WeakMap()
20346    };
20347    if (typeof document !== "undefined") {
20348      registerDocument9(document);
20349    }
20350    return globalScope.__wpStyleRuntime;
20351  }
20352  function documentContainsStyleHash9(targetDocument, hash) {
20353    if (!targetDocument.head) {
20354      return false;
20355    }
20356    for (const style of targetDocument.head.querySelectorAll(
20357      `style[$STYLE_HASH_ATTRIBUTE9}]`
20358    )) {
20359      if (style.getAttribute(STYLE_HASH_ATTRIBUTE9) === hash) {
20360        return true;
20361      }
20362    }
20363    return false;
20364  }
20365  function injectStyle9(targetDocument, hash, css) {
20366    if (!targetDocument.head) {
20367      return;
20368    }
20369    const runtime = getRuntime9();
20370    let injectedStyles = runtime.injectedStyles.get(targetDocument);
20371    if (!injectedStyles) {
20372      injectedStyles = /* @__PURE__ */ new Set();
20373      runtime.injectedStyles.set(targetDocument, injectedStyles);
20374    }
20375    if (injectedStyles.has(hash)) {
20376      return;
20377    }
20378    if (documentContainsStyleHash9(targetDocument, hash)) {
20379      injectedStyles.add(hash);
20380      return;
20381    }
20382    const style = targetDocument.createElement("style");
20383    style.setAttribute(STYLE_HASH_ATTRIBUTE9, hash);
20384    style.appendChild(targetDocument.createTextNode(css));
20385    targetDocument.head.appendChild(style);
20386    injectedStyles.add(hash);
20387  }
20388  function registerDocument9(targetDocument) {
20389    const runtime = getRuntime9();
20390    runtime.documents.set(
20391      targetDocument,
20392      (runtime.documents.get(targetDocument) ?? 0) + 1
20393    );
20394    for (const [hash, css] of runtime.styles) {
20395      injectStyle9(targetDocument, hash, css);
20396    }
20397    return () => {
20398      const count = runtime.documents.get(targetDocument);
20399      if (count === void 0) {
20400        return;
20401      }
20402      if (count <= 1) {
20403        runtime.documents.delete(targetDocument);
20404        return;
20405      }
20406      runtime.documents.set(targetDocument, count - 1);
20407    };
20408  }
20409  function registerStyle9(hash, css) {
20410    const runtime = getRuntime9();
20411    runtime.styles.set(hash, css);
20412    for (const targetDocument of runtime.documents.keys()) {
20413      injectStyle9(targetDocument, hash, css);
20414    }
20415  }
20416  if (typeof process === "undefined" || true) {
20417    registerStyle9("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
20418  }
20419  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" };
20420  if (typeof process === "undefined" || true) {
20421    registerStyle9("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
20422  }
20423  var resets_default3 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
20424  if (typeof process === "undefined" || true) {
20425    registerStyle9("35c74d3f9f", '@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 components{.d61e2d85c0ee0699__positioner{z-index:var(--wp-ui-menu-z-index,initial)}._34e81249f419a5a5__popup{--wp-ui-menu-popup-padding:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-min-width:160px;--wp-ui-menu-max-width:var(--wpds-dimension-surface-width-sm,320px);--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-item-padding-inline-end:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-group-head-padding-base:var(--wpds-dimension-padding-sm,8px);--wp-ui-menu-group-head-padding-inline:var(--_wp-ui-menu-group-head-padding-base);--wp-ui-menu-selection-indicator-track-size:0px;--wp-ui-menu-selection-indicator-size:var(--wpds-dimension-size-2xs,16px);--wp-ui-menu-selection-indicator-gap:0px;--_wp-ui-menu-elevation-md:0px 2px 3px 0px #0000000d,0px 4px 5px 0px #0000000a,0px 12px 12px 0px #00000008,0px 16px 16px 0px #00000005;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-menu-elevation-md);max-height:min(var(--available-height),480px,60dvh);max-width:min(var(--available-width),var(--wp-ui-menu-max-width));min-width:min(var(--available-width),var(--wp-ui-menu-min-width));outline:none;overflow-block:auto;overscroll-behavior:none;padding:var(--wp-ui-menu-popup-padding);scroll-padding:var(--wp-ui-menu-popup-padding);&:has(._42313b48c5459be3__item-selection-indicator){--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-selection-indicator-track-size:var(--wpds-dimension-size-2xs,16px)}}._33f07ab17005471d__list{--_wp-ui-menu-item-label-line-height:var(--wpds-typography-line-height-sm,20px);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);line-height:var(--_wp-ui-menu-item-label-line-height)}._33f07ab17005471d__list,.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{--wp-ui-menu-group-prefix-gap:0px;display:grid;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];min-width:0}.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{grid-column:1/-1}._33f07ab17005471d__list:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.e05914e1005d7c2e__radio-group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.f11085533c0056b0__group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix){--wp-ui-menu-group-prefix-gap:var(--wpds-dimension-gap-xs,4px)}._4a0fd085d76fd23c__group-label{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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);grid-column:prefix-start/content-end;line-height:var(--wpds-typography-line-height-xs,16px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));min-height:var(--wpds-dimension-size-sm,24px);min-width:0;padding-block:var(--wpds-dimension-padding-xs,4px);text-transform:uppercase}.bfc11368eadf3b39__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);grid-column:prefix-start/content-end;height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));@media (forced-colors:active){background-color:CanvasText}}._5c913bce0d8bb0d6__item{--wp-ui-menu-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-menu-item-padding-block:var(--wpds-dimension-padding-xs,4px);--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);align-content:center;align-items:start;border-radius:var(--wpds-border-radius-sm,2px);display:grid;gap:0;grid-column:1/-1;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];justify-content:stretch;min-height:var(--wp-ui-menu-item-height);min-width:0;padding-block:var(--wp-ui-menu-item-padding-block);scroll-margin:var(--wp-ui-menu-popup-padding);text-decoration:none;user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&[href]{cursor:pointer}@supports (grid-template-columns:subgrid){grid-template-columns:subgrid}&[data-popup-open]:not([data-highlighted],[data-disabled],[aria-disabled=true]){background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-xs,1px) solid GrayText}}&[data-highlighted]:not([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);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){--_gcd-a-color:HighlightText;background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&:is([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&[data-highlighted]{--_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)));--_gcd-a-outline:var(--_gcd-div-outline)}@media (forced-colors:active){--_gcd-a-color:GrayText;color:GrayText}}}._42313b48c5459be3__item-selection-indicator,._64924ecabf65a5d6__item-prefix,.af879698ede76757__item-content{grid-row:1}._42313b48c5459be3__item-selection-indicator{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;grid-column:selection-start/selection-end;height:var(--_wp-ui-menu-item-label-line-height);justify-content:center;justify-self:center;margin-inline-end:var(--wpds-dimension-gap-xs,4px);pointer-events:none;width:var(--wp-ui-menu-selection-indicator-size);&[data-unchecked]{opacity:0}}._99c5bd141cbf516f__checkbox-selection-icon{translate:0 1px}._59aa9b3b3a651148__radio-selection-icon{fill:currentColor;height:var(--wpds-dimension-size-2xs,16px);width:var(--wpds-dimension-size-2xs,16px)}._64924ecabf65a5d6__item-prefix{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:prefix-start/prefix-end;justify-content:center;min-width:0}.a836378335a4cbf1__prefix-icon{align-self:flex-start;flex-shrink:0;margin-block-start:calc((var(--_wp-ui-menu-item-label-line-height) - var(--_wp-ui-menu-prefix-icon-size))/2)}.af879698ede76757__item-content{align-items:center;align-self:stretch;box-sizing:border-box;display:grid;grid-column:prefix-start/content-end;grid-template-columns:[label-start] minmax(0,1fr) [label-end suffix-start] auto [suffix-end shortcut-start] auto [shortcut-end trailing-start] auto [trailing-end];min-width:0;pointer-events:none;&._5c211f9edfe0ed66__has-prefix{grid-column:content-start/content-end}}._76f3e69cf2228139__item-descriptions{display:flex;flex-direction:column;grid-column:prefix-start/content-end;grid-row:2;min-width:0;padding-block-end:var(--wpds-dimension-padding-xs,4px);pointer-events:none}._5ed41da4abcf8958__item-label{--_gcd-heading-color:currentColor;--_gcd-p-line-height:var(--_wp-ui-menu-item-label-line-height);color:inherit;grid-column:label-start/label-end;line-height:var(--_wp-ui-menu-item-label-line-height);min-width:0;overflow-wrap:anywhere}.fa88c9f1a96a4c5a__item-description{--_gcd-heading-color:var(--wpds-color-foreground-content-neutral-weak,#707070);color:var(--wpds-color-foreground-content-neutral-weak,#707070);overflow-wrap:anywhere}.af879698ede76757__item-content>._091406749ed93e6e__item-suffix{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:suffix-start/suffix-end;margin-inline-start:var(--wpds-dimension-gap-md,12px)}.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{grid-column:shortcut-start/shortcut-end}._06be17a91bf434a0__item-trailing,.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{color:var(--wpds-color-foreground-content-neutral-weak,#707070);margin-inline-start:var(--wpds-dimension-gap-md,12px)}._06be17a91bf434a0__item-trailing{align-items:center;display:flex;grid-column:trailing-start/trailing-end}._5ed41da4abcf8958__item-label+:is(._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){margin-inline-start:var(--wpds-dimension-gap-xl,24px)}._23630f40071a29ff__item-shortcut+._06be17a91bf434a0__item-trailing{margin-inline-start:var(--wpds-dimension-gap-xs,4px)}.b78aec79bf93eba0__submenu-chevron{margin-inline-end:calc(var(--wpds-dimension-gap-sm, 8px)*-1)}.b78aec79bf93eba0__submenu-chevron:dir(rtl){transform:rotate(180deg)}._60da3b6f9718cf76__external-link-indicator{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px);text-decoration:none}._60da3b6f9718cf76__external-link-indicator:after{content:"\\2197"}._60da3b6f9718cf76__external-link-indicator:dir(rtl):after{content:"\\2196"}._5c913bce0d8bb0d6__item:is([data-highlighted],[data-disabled],[aria-disabled=true]) ._42313b48c5459be3__item-selection-indicator,._5c913bce0d8bb0d6__item:is([data-highlighted],[data-popup-open],[data-disabled],[aria-disabled=true]) :is(.fa88c9f1a96a4c5a__item-description,._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){--_gcd-heading-color:currentColor;color:inherit}}}');
20426  }
20427  var style_default9 = { "positioner": "d61e2d85c0ee0699__positioner", "popup": "_34e81249f419a5a5__popup", "item-selection-indicator": "_42313b48c5459be3__item-selection-indicator", "is-root": "_087a537b24fee6a1__is-root _380b81b8f79fb10f__dropdown-motion", "is-submenu": "_6d3b567f6289bdc2__is-submenu _7f344b94e270e039__dropdown-motion--fade-only", "list": "_33f07ab17005471d__list", "group": "f11085533c0056b0__group", "radio-group": "e05914e1005d7c2e__radio-group", "item": "_5c913bce0d8bb0d6__item", "item-prefix": "_64924ecabf65a5d6__item-prefix", "group-label": "_4a0fd085d76fd23c__group-label", "separator": "bfc11368eadf3b39__separator", "item-content": "af879698ede76757__item-content", "checkbox-selection-icon": "_99c5bd141cbf516f__checkbox-selection-icon", "radio-selection-icon": "_59aa9b3b3a651148__radio-selection-icon", "prefix-icon": "a836378335a4cbf1__prefix-icon", "has-prefix": "_5c211f9edfe0ed66__has-prefix", "item-descriptions": "_76f3e69cf2228139__item-descriptions", "item-label": "_5ed41da4abcf8958__item-label", "item-description": "fa88c9f1a96a4c5a__item-description", "item-suffix": "_091406749ed93e6e__item-suffix", "item-shortcut": "_23630f40071a29ff__item-shortcut", "item-trailing": "_06be17a91bf434a0__item-trailing", "submenu-chevron": "b78aec79bf93eba0__submenu-chevron", "external-link-indicator": "_60da3b6f9718cf76__external-link-indicator" };
20428  var LinkItem = (0, import_element27.forwardRef)(function MenuLinkItem3({
20429    children,
20430    className,
20431    openInNewTab = false,
20432    target,
20433    prefix,
20434    shortcut,
20435    suffix,
20436    "aria-describedby": ariaDescribedBy,
20437    "aria-keyshortcuts": ariaKeyShortcuts,
20438    "aria-label": ariaLabel,
20439    "aria-labelledby": ariaLabelledBy,
20440    rel,
20441    ...props
20442  }, ref) {
20443    const shouldShowNewTabIndicator = openInNewTab || /^_blank$/i.test(target ?? "");
20444    const externalLinkIndicator = shouldShowNewTabIndicator ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
20445      "span",
20446      {
20447        className: style_default9["external-link-indicator"],
20448        role: "img",
20449        "aria-label": (
20450          /* translators: accessibility text appended to link text */
20451          (0, import_i18n2.__)("(opens in a new tab)")
20452        )
20453      }
20454    ) : null;
20455    const {
20456      contentChildren,
20457      contentContextValue,
20458      itemAriaProps,
20459      shortcutDescriptionId
20460    } = useItemContent2(children, {
20461      "aria-describedby": ariaDescribedBy,
20462      "aria-keyshortcuts": ariaKeyShortcuts,
20463      "aria-label": ariaLabel,
20464      "aria-labelledby": ariaLabelledBy,
20465      labelTrailing: externalLinkIndicator,
20466      shortcut
20467    });
20468    return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
20469      index_parts_exports.LinkItem,
20470      {
20471        ref,
20472        ...props,
20473        ...itemAriaProps,
20474        rel,
20475        target: target ?? (openInNewTab ? "_blank" : void 0),
20476        className: clsx_default(
20477          global_css_defense_default4.a,
20478          resets_default3["box-sizing"],
20479          style_default9.item,
20480          className
20481        ),
20482        children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(MenuItemContentContext.Provider, { value: contentContextValue, children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
20483          ItemContent,
20484          {
20485            prefix,
20486            shortcut,
20487            shortcutDescriptionId,
20488            suffix,
20489            children: contentChildren
20490          }
20491        ) })
20492      }
20493    );
20494  });
20495  
20496  // packages/ui/build-module/menu/popup.mjs
20497  var import_element31 = __toESM(require_element(), 1);
20498  
20499  // packages/ui/build-module/utils/render-slot-with-children.mjs
20500  var import_element28 = __toESM(require_element(), 1);
20501  function renderSlotWithChildren(slot, defaultSlot, children) {
20502    return (0, import_element28.cloneElement)(
20503      slot ?? defaultSlot,
20504      { children }
20505    );
20506  }
20507  
20508  // packages/ui/build-module/menu/portal.mjs
20509  var import_element29 = __toESM(require_element(), 1);
20510  
20511  // packages/ui/build-module/utils/wp-compat-overlay-slot.mjs
20512  var STYLE_HASH_ATTRIBUTE10 = "data-wp-hash";
20513  function getRuntime10() {
20514    const globalScope = globalThis;
20515    if (globalScope.__wpStyleRuntime) {
20516      return globalScope.__wpStyleRuntime;
20517    }
20518    globalScope.__wpStyleRuntime = {
20519      documents: /* @__PURE__ */ new Map(),
20520      styles: /* @__PURE__ */ new Map(),
20521      injectedStyles: /* @__PURE__ */ new WeakMap()
20522    };
20523    if (typeof document !== "undefined") {
20524      registerDocument10(document);
20525    }
20526    return globalScope.__wpStyleRuntime;
20527  }
20528  function documentContainsStyleHash10(targetDocument, hash) {
20529    if (!targetDocument.head) {
20530      return false;
20531    }
20532    for (const style of targetDocument.head.querySelectorAll(
20533      `style[$STYLE_HASH_ATTRIBUTE10}]`
20534    )) {
20535      if (style.getAttribute(STYLE_HASH_ATTRIBUTE10) === hash) {
20536        return true;
20537      }
20538    }
20539    return false;
20540  }
20541  function injectStyle10(targetDocument, hash, css) {
20542    if (!targetDocument.head) {
20543      return;
20544    }
20545    const runtime = getRuntime10();
20546    let injectedStyles = runtime.injectedStyles.get(targetDocument);
20547    if (!injectedStyles) {
20548      injectedStyles = /* @__PURE__ */ new Set();
20549      runtime.injectedStyles.set(targetDocument, injectedStyles);
20550    }
20551    if (injectedStyles.has(hash)) {
20552      return;
20553    }
20554    if (documentContainsStyleHash10(targetDocument, hash)) {
20555      injectedStyles.add(hash);
20556      return;
20557    }
20558    const style = targetDocument.createElement("style");
20559    style.setAttribute(STYLE_HASH_ATTRIBUTE10, hash);
20560    style.appendChild(targetDocument.createTextNode(css));
20561    targetDocument.head.appendChild(style);
20562    injectedStyles.add(hash);
20563  }
20564  function registerDocument10(targetDocument) {
20565    const runtime = getRuntime10();
20566    runtime.documents.set(
20567      targetDocument,
20568      (runtime.documents.get(targetDocument) ?? 0) + 1
20569    );
20570    for (const [hash, css] of runtime.styles) {
20571      injectStyle10(targetDocument, hash, css);
20572    }
20573    return () => {
20574      const count = runtime.documents.get(targetDocument);
20575      if (count === void 0) {
20576        return;
20577      }
20578      if (count <= 1) {
20579        runtime.documents.delete(targetDocument);
20580        return;
20581      }
20582      runtime.documents.set(targetDocument, count - 1);
20583    };
20584  }
20585  function registerStyle10(hash, css) {
20586    const runtime = getRuntime10();
20587    runtime.styles.set(hash, css);
20588    for (const targetDocument of runtime.documents.keys()) {
20589      injectStyle10(targetDocument, hash, css);
20590    }
20591  }
20592  if (typeof process === "undefined" || true) {
20593    registerStyle10("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}}}");
20594  }
20595  var wp_compat_overlay_slot_default = { "slot": "_11fc52b637ff8a7e__slot" };
20596  var WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE = "data-wp-compat-overlay-slot";
20597  function resolveOwnerDocument() {
20598    return typeof document === "undefined" ? null : document;
20599  }
20600  function isInWordPressEnvironment() {
20601    let topWp;
20602    try {
20603      topWp = window.top?.wp;
20604    } catch {
20605    }
20606    const wp = topWp ?? window.wp;
20607    return typeof wp?.components === "object" && wp.components !== null;
20608  }
20609  var cachedSlot = null;
20610  function ensureSlotIsAccessible(element) {
20611    element.setAttribute("aria-hidden", "false");
20612    return element;
20613  }
20614  function createSlot(ownerDocument2) {
20615    const element = ownerDocument2.createElement("div");
20616    element.setAttribute(WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE, "");
20617    if (wp_compat_overlay_slot_default.slot) {
20618      element.classList.add(wp_compat_overlay_slot_default.slot);
20619    }
20620    ownerDocument2.body.appendChild(element);
20621    return element;
20622  }
20623  function getWpCompatOverlaySlot() {
20624    if (typeof window === "undefined") {
20625      return void 0;
20626    }
20627    if (!isInWordPressEnvironment() && window.__wpUiCompatOverlaySlotEnabled !== true) {
20628      return void 0;
20629    }
20630    const ownerDocument2 = resolveOwnerDocument();
20631    if (!ownerDocument2 || !ownerDocument2.body) {
20632      return void 0;
20633    }
20634    if (cachedSlot && cachedSlot.ownerDocument === ownerDocument2 && cachedSlot.isConnected) {
20635      return ensureSlotIsAccessible(cachedSlot);
20636    }
20637    const existing = ownerDocument2.querySelector(
20638      `[$WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE}]`
20639    );
20640    if (existing instanceof HTMLDivElement) {
20641      cachedSlot = ensureSlotIsAccessible(existing);
20642      return cachedSlot;
20643    }
20644    if (cachedSlot?.isConnected) {
20645      cachedSlot.remove();
20646    }
20647    cachedSlot = ensureSlotIsAccessible(createSlot(ownerDocument2));
20648    return cachedSlot;
20649  }
20650  
20651  // packages/ui/build-module/menu/portal.mjs
20652  var import_jsx_runtime82 = __toESM(require_jsx_runtime(), 1);
20653  var Portal = (0, import_element29.forwardRef)(function MenuPortal3({ container, ...props }, ref) {
20654    return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
20655      index_parts_exports.Portal,
20656      {
20657        ref,
20658        container: container === void 0 ? getWpCompatOverlaySlot() : container,
20659        ...props
20660      }
20661    );
20662  });
20663  
20664  // packages/ui/build-module/menu/positioner.mjs
20665  var import_element30 = __toESM(require_element(), 1);
20666  var import_compose = __toESM(require_compose(), 1);
20667  
20668  // packages/ui/build-module/form/primitives/constants.mjs
20669  var ITEM_POPUP_POSITIONER_PROPS = {
20670    align: "start",
20671    sideOffset: 8,
20672    collisionPadding: 12
20673  };
20674  
20675  // packages/ui/build-module/menu/positioner.mjs
20676  var import_jsx_runtime83 = __toESM(require_jsx_runtime(), 1);
20677  var STYLE_HASH_ATTRIBUTE11 = "data-wp-hash";
20678  function getRuntime11() {
20679    const globalScope = globalThis;
20680    if (globalScope.__wpStyleRuntime) {
20681      return globalScope.__wpStyleRuntime;
20682    }
20683    globalScope.__wpStyleRuntime = {
20684      documents: /* @__PURE__ */ new Map(),
20685      styles: /* @__PURE__ */ new Map(),
20686      injectedStyles: /* @__PURE__ */ new WeakMap()
20687    };
20688    if (typeof document !== "undefined") {
20689      registerDocument11(document);
20690    }
20691    return globalScope.__wpStyleRuntime;
20692  }
20693  function documentContainsStyleHash11(targetDocument, hash) {
20694    if (!targetDocument.head) {
20695      return false;
20696    }
20697    for (const style of targetDocument.head.querySelectorAll(
20698      `style[$STYLE_HASH_ATTRIBUTE11}]`
20699    )) {
20700      if (style.getAttribute(STYLE_HASH_ATTRIBUTE11) === hash) {
20701        return true;
20702      }
20703    }
20704    return false;
20705  }
20706  function injectStyle11(targetDocument, hash, css) {
20707    if (!targetDocument.head) {
20708      return;
20709    }
20710    const runtime = getRuntime11();
20711    let injectedStyles = runtime.injectedStyles.get(targetDocument);
20712    if (!injectedStyles) {
20713      injectedStyles = /* @__PURE__ */ new Set();
20714      runtime.injectedStyles.set(targetDocument, injectedStyles);
20715    }
20716    if (injectedStyles.has(hash)) {
20717      return;
20718    }
20719    if (documentContainsStyleHash11(targetDocument, hash)) {
20720      injectedStyles.add(hash);
20721      return;
20722    }
20723    const style = targetDocument.createElement("style");
20724    style.setAttribute(STYLE_HASH_ATTRIBUTE11, hash);
20725    style.appendChild(targetDocument.createTextNode(css));
20726    targetDocument.head.appendChild(style);
20727    injectedStyles.add(hash);
20728  }
20729  function registerDocument11(targetDocument) {
20730    const runtime = getRuntime11();
20731    runtime.documents.set(
20732      targetDocument,
20733      (runtime.documents.get(targetDocument) ?? 0) + 1
20734    );
20735    for (const [hash, css] of runtime.styles) {
20736      injectStyle11(targetDocument, hash, css);
20737    }
20738    return () => {
20739      const count = runtime.documents.get(targetDocument);
20740      if (count === void 0) {
20741        return;
20742      }
20743      if (count <= 1) {
20744        runtime.documents.delete(targetDocument);
20745        return;
20746      }
20747      runtime.documents.set(targetDocument, count - 1);
20748    };
20749  }
20750  function registerStyle11(hash, css) {
20751    const runtime = getRuntime11();
20752    runtime.styles.set(hash, css);
20753    for (const targetDocument of runtime.documents.keys()) {
20754      injectStyle11(targetDocument, hash, css);
20755    }
20756  }
20757  if (typeof process === "undefined" || true) {
20758    registerStyle11("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
20759  }
20760  var resets_default4 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
20761  if (typeof process === "undefined" || true) {
20762    registerStyle11("35c74d3f9f", '@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 components{.d61e2d85c0ee0699__positioner{z-index:var(--wp-ui-menu-z-index,initial)}._34e81249f419a5a5__popup{--wp-ui-menu-popup-padding:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-min-width:160px;--wp-ui-menu-max-width:var(--wpds-dimension-surface-width-sm,320px);--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-item-padding-inline-end:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-group-head-padding-base:var(--wpds-dimension-padding-sm,8px);--wp-ui-menu-group-head-padding-inline:var(--_wp-ui-menu-group-head-padding-base);--wp-ui-menu-selection-indicator-track-size:0px;--wp-ui-menu-selection-indicator-size:var(--wpds-dimension-size-2xs,16px);--wp-ui-menu-selection-indicator-gap:0px;--_wp-ui-menu-elevation-md:0px 2px 3px 0px #0000000d,0px 4px 5px 0px #0000000a,0px 12px 12px 0px #00000008,0px 16px 16px 0px #00000005;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-menu-elevation-md);max-height:min(var(--available-height),480px,60dvh);max-width:min(var(--available-width),var(--wp-ui-menu-max-width));min-width:min(var(--available-width),var(--wp-ui-menu-min-width));outline:none;overflow-block:auto;overscroll-behavior:none;padding:var(--wp-ui-menu-popup-padding);scroll-padding:var(--wp-ui-menu-popup-padding);&:has(._42313b48c5459be3__item-selection-indicator){--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-selection-indicator-track-size:var(--wpds-dimension-size-2xs,16px)}}._33f07ab17005471d__list{--_wp-ui-menu-item-label-line-height:var(--wpds-typography-line-height-sm,20px);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);line-height:var(--_wp-ui-menu-item-label-line-height)}._33f07ab17005471d__list,.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{--wp-ui-menu-group-prefix-gap:0px;display:grid;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];min-width:0}.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{grid-column:1/-1}._33f07ab17005471d__list:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.e05914e1005d7c2e__radio-group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.f11085533c0056b0__group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix){--wp-ui-menu-group-prefix-gap:var(--wpds-dimension-gap-xs,4px)}._4a0fd085d76fd23c__group-label{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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);grid-column:prefix-start/content-end;line-height:var(--wpds-typography-line-height-xs,16px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));min-height:var(--wpds-dimension-size-sm,24px);min-width:0;padding-block:var(--wpds-dimension-padding-xs,4px);text-transform:uppercase}.bfc11368eadf3b39__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);grid-column:prefix-start/content-end;height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));@media (forced-colors:active){background-color:CanvasText}}._5c913bce0d8bb0d6__item{--wp-ui-menu-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-menu-item-padding-block:var(--wpds-dimension-padding-xs,4px);--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);align-content:center;align-items:start;border-radius:var(--wpds-border-radius-sm,2px);display:grid;gap:0;grid-column:1/-1;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];justify-content:stretch;min-height:var(--wp-ui-menu-item-height);min-width:0;padding-block:var(--wp-ui-menu-item-padding-block);scroll-margin:var(--wp-ui-menu-popup-padding);text-decoration:none;user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&[href]{cursor:pointer}@supports (grid-template-columns:subgrid){grid-template-columns:subgrid}&[data-popup-open]:not([data-highlighted],[data-disabled],[aria-disabled=true]){background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-xs,1px) solid GrayText}}&[data-highlighted]:not([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);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){--_gcd-a-color:HighlightText;background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&:is([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&[data-highlighted]{--_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)));--_gcd-a-outline:var(--_gcd-div-outline)}@media (forced-colors:active){--_gcd-a-color:GrayText;color:GrayText}}}._42313b48c5459be3__item-selection-indicator,._64924ecabf65a5d6__item-prefix,.af879698ede76757__item-content{grid-row:1}._42313b48c5459be3__item-selection-indicator{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;grid-column:selection-start/selection-end;height:var(--_wp-ui-menu-item-label-line-height);justify-content:center;justify-self:center;margin-inline-end:var(--wpds-dimension-gap-xs,4px);pointer-events:none;width:var(--wp-ui-menu-selection-indicator-size);&[data-unchecked]{opacity:0}}._99c5bd141cbf516f__checkbox-selection-icon{translate:0 1px}._59aa9b3b3a651148__radio-selection-icon{fill:currentColor;height:var(--wpds-dimension-size-2xs,16px);width:var(--wpds-dimension-size-2xs,16px)}._64924ecabf65a5d6__item-prefix{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:prefix-start/prefix-end;justify-content:center;min-width:0}.a836378335a4cbf1__prefix-icon{align-self:flex-start;flex-shrink:0;margin-block-start:calc((var(--_wp-ui-menu-item-label-line-height) - var(--_wp-ui-menu-prefix-icon-size))/2)}.af879698ede76757__item-content{align-items:center;align-self:stretch;box-sizing:border-box;display:grid;grid-column:prefix-start/content-end;grid-template-columns:[label-start] minmax(0,1fr) [label-end suffix-start] auto [suffix-end shortcut-start] auto [shortcut-end trailing-start] auto [trailing-end];min-width:0;pointer-events:none;&._5c211f9edfe0ed66__has-prefix{grid-column:content-start/content-end}}._76f3e69cf2228139__item-descriptions{display:flex;flex-direction:column;grid-column:prefix-start/content-end;grid-row:2;min-width:0;padding-block-end:var(--wpds-dimension-padding-xs,4px);pointer-events:none}._5ed41da4abcf8958__item-label{--_gcd-heading-color:currentColor;--_gcd-p-line-height:var(--_wp-ui-menu-item-label-line-height);color:inherit;grid-column:label-start/label-end;line-height:var(--_wp-ui-menu-item-label-line-height);min-width:0;overflow-wrap:anywhere}.fa88c9f1a96a4c5a__item-description{--_gcd-heading-color:var(--wpds-color-foreground-content-neutral-weak,#707070);color:var(--wpds-color-foreground-content-neutral-weak,#707070);overflow-wrap:anywhere}.af879698ede76757__item-content>._091406749ed93e6e__item-suffix{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:suffix-start/suffix-end;margin-inline-start:var(--wpds-dimension-gap-md,12px)}.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{grid-column:shortcut-start/shortcut-end}._06be17a91bf434a0__item-trailing,.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{color:var(--wpds-color-foreground-content-neutral-weak,#707070);margin-inline-start:var(--wpds-dimension-gap-md,12px)}._06be17a91bf434a0__item-trailing{align-items:center;display:flex;grid-column:trailing-start/trailing-end}._5ed41da4abcf8958__item-label+:is(._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){margin-inline-start:var(--wpds-dimension-gap-xl,24px)}._23630f40071a29ff__item-shortcut+._06be17a91bf434a0__item-trailing{margin-inline-start:var(--wpds-dimension-gap-xs,4px)}.b78aec79bf93eba0__submenu-chevron{margin-inline-end:calc(var(--wpds-dimension-gap-sm, 8px)*-1)}.b78aec79bf93eba0__submenu-chevron:dir(rtl){transform:rotate(180deg)}._60da3b6f9718cf76__external-link-indicator{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px);text-decoration:none}._60da3b6f9718cf76__external-link-indicator:after{content:"\\2197"}._60da3b6f9718cf76__external-link-indicator:dir(rtl):after{content:"\\2196"}._5c913bce0d8bb0d6__item:is([data-highlighted],[data-disabled],[aria-disabled=true]) ._42313b48c5459be3__item-selection-indicator,._5c913bce0d8bb0d6__item:is([data-highlighted],[data-popup-open],[data-disabled],[aria-disabled=true]) :is(.fa88c9f1a96a4c5a__item-description,._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){--_gcd-heading-color:currentColor;color:inherit}}}');
20763  }
20764  var style_default10 = { "positioner": "d61e2d85c0ee0699__positioner", "popup": "_34e81249f419a5a5__popup", "item-selection-indicator": "_42313b48c5459be3__item-selection-indicator", "is-root": "_087a537b24fee6a1__is-root _380b81b8f79fb10f__dropdown-motion", "is-submenu": "_6d3b567f6289bdc2__is-submenu _7f344b94e270e039__dropdown-motion--fade-only", "list": "_33f07ab17005471d__list", "group": "f11085533c0056b0__group", "radio-group": "e05914e1005d7c2e__radio-group", "item": "_5c913bce0d8bb0d6__item", "item-prefix": "_64924ecabf65a5d6__item-prefix", "group-label": "_4a0fd085d76fd23c__group-label", "separator": "bfc11368eadf3b39__separator", "item-content": "af879698ede76757__item-content", "checkbox-selection-icon": "_99c5bd141cbf516f__checkbox-selection-icon", "radio-selection-icon": "_59aa9b3b3a651148__radio-selection-icon", "prefix-icon": "a836378335a4cbf1__prefix-icon", "has-prefix": "_5c211f9edfe0ed66__has-prefix", "item-descriptions": "_76f3e69cf2228139__item-descriptions", "item-label": "_5ed41da4abcf8958__item-label", "item-description": "fa88c9f1a96a4c5a__item-description", "item-suffix": "_091406749ed93e6e__item-suffix", "item-shortcut": "_23630f40071a29ff__item-shortcut", "item-trailing": "_06be17a91bf434a0__item-trailing", "submenu-chevron": "b78aec79bf93eba0__submenu-chevron", "external-link-indicator": "_60da3b6f9718cf76__external-link-indicator" };
20765  var MENU_SUBMENU_POPUP_POSITIONER_PROPS = {
20766    side: "inline-end",
20767    align: "start",
20768    sideOffset: -4,
20769    collisionPadding: 12
20770  };
20771  function getSubmenuLabelOffset(positioner, trigger) {
20772    const popup = positioner?.querySelector(`.$style_default10.popup}`);
20773    if (!positioner || !popup) {
20774      return 0;
20775    }
20776    const parentLabel = trigger?.querySelector(
20777      `.$style_default10["item-label"]}`
20778    );
20779    const firstLabel = popup?.querySelector(`.$style_default10["item-label"]}`);
20780    if (!trigger || !parentLabel || !firstLabel) {
20781      const popupStyles = popup.ownerDocument.defaultView?.getComputedStyle(popup);
20782      if (!popupStyles) {
20783        return 0;
20784      }
20785      return -(parseFloat(popupStyles.paddingTop) + parseFloat(popupStyles.borderTopWidth));
20786    }
20787    const parentInset = parentLabel.getBoundingClientRect().top - trigger.getBoundingClientRect().top;
20788    const submenuInset = firstLabel.getBoundingClientRect().top - positioner.getBoundingClientRect().top;
20789    return parentInset - submenuInset;
20790  }
20791  var Positioner = (0, import_element30.forwardRef)(
20792    function MenuPositioner3({ className, ...props }, ref) {
20793      const { isSubmenu, submenuTriggerRef } = useMenuContext();
20794      const positionerRef = (0, import_element30.useRef)(null);
20795      const mergedRef = (0, import_compose.useMergeRefs)([ref, positionerRef]);
20796      const [measuredAnchor, setMeasuredAnchor] = (0, import_element30.useState)();
20797      const lastOffsetRef = (0, import_element30.useRef)(0);
20798      const defaultProps = isSubmenu ? MENU_SUBMENU_POPUP_POSITIONER_PROPS : ITEM_POPUP_POSITIONER_PROPS;
20799      const alignOffset = (0, import_element30.useCallback)(
20800        (dimensions) => {
20801          const { side, align } = dimensions;
20802          if (side === "top" || side === "bottom" || align !== "start") {
20803            return 0;
20804          }
20805          const positioner = positionerRef.current;
20806          if (!positioner) {
20807            return 0;
20808          }
20809          if (positioner.hidden || positioner.hasAttribute("data-closed")) {
20810            return lastOffsetRef.current;
20811          }
20812          const trigger = props.anchor ? void 0 : submenuTriggerRef?.current;
20813          const offset4 = getSubmenuLabelOffset(positioner, trigger);
20814          lastOffsetRef.current = offset4;
20815          return offset4;
20816        },
20817        [props.anchor, submenuTriggerRef]
20818      );
20819      (0, import_compose.useIsomorphicLayoutEffect)(() => {
20820        if (!isSubmenu || props.anchor || props.alignOffset !== void 0 || props.disableAnchorTracking) {
20821          return;
20822        }
20823        const positioner = positionerRef.current;
20824        const trigger = submenuTriggerRef?.current;
20825        const popup = positioner?.querySelector(`.$style_default10.popup}`);
20826        const firstLabel = popup?.querySelector(
20827          `.$style_default10["item-label"]}`
20828        );
20829        const ResizeObserverConstructor = positioner?.ownerDocument.defaultView?.ResizeObserver;
20830        if (!trigger || !firstLabel || !ResizeObserverConstructor) {
20831          return;
20832        }
20833        const observer = new ResizeObserverConstructor(() => {
20834          if (!positioner || positioner.hidden || positioner.hasAttribute("data-closed") || positioner.dataset.side === "top" || positioner.dataset.side === "bottom" || positioner.dataset.align !== "start") {
20835            return;
20836          }
20837          const nextOffset = getSubmenuLabelOffset(positioner, trigger);
20838          const previousOffset = lastOffsetRef.current;
20839          lastOffsetRef.current = nextOffset;
20840          if (previousOffset !== void 0 && Math.abs(nextOffset - previousOffset) < 0.01) {
20841            return;
20842          }
20843          setMeasuredAnchor({
20844            contextElement: trigger,
20845            getBoundingClientRect: () => trigger.getBoundingClientRect()
20846          });
20847        });
20848        const observedElements = [
20849          firstLabel,
20850          firstLabel.closest(`.$style_default10.item}`),
20851          popup?.querySelector(`.$style_default10.list}`),
20852          trigger.querySelector(`.$style_default10["item-label"]}`)
20853        ];
20854        observedElements.forEach((element) => {
20855          if (element) {
20856            observer.observe(element);
20857          }
20858        });
20859        return () => observer.disconnect();
20860      }, [
20861        isSubmenu,
20862        props.anchor,
20863        props.alignOffset,
20864        props.disableAnchorTracking,
20865        submenuTriggerRef
20866      ]);
20867      return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
20868        index_parts_exports.Positioner,
20869        {
20870          ...defaultProps,
20871          anchor: isSubmenu ? measuredAnchor : void 0,
20872          alignOffset: isSubmenu ? alignOffset : void 0,
20873          ...props,
20874          ref: mergedRef,
20875          className: clsx_default(
20876            resets_default4["box-sizing"],
20877            style_default10.positioner,
20878            className
20879          )
20880        }
20881      );
20882    }
20883  );
20884  
20885  // packages/ui/build-module/menu/popup.mjs
20886  var import_jsx_runtime84 = __toESM(require_jsx_runtime(), 1);
20887  var STYLE_HASH_ATTRIBUTE12 = "data-wp-hash";
20888  function getRuntime12() {
20889    const globalScope = globalThis;
20890    if (globalScope.__wpStyleRuntime) {
20891      return globalScope.__wpStyleRuntime;
20892    }
20893    globalScope.__wpStyleRuntime = {
20894      documents: /* @__PURE__ */ new Map(),
20895      styles: /* @__PURE__ */ new Map(),
20896      injectedStyles: /* @__PURE__ */ new WeakMap()
20897    };
20898    if (typeof document !== "undefined") {
20899      registerDocument12(document);
20900    }
20901    return globalScope.__wpStyleRuntime;
20902  }
20903  function documentContainsStyleHash12(targetDocument, hash) {
20904    if (!targetDocument.head) {
20905      return false;
20906    }
20907    for (const style of targetDocument.head.querySelectorAll(
20908      `style[$STYLE_HASH_ATTRIBUTE12}]`
20909    )) {
20910      if (style.getAttribute(STYLE_HASH_ATTRIBUTE12) === hash) {
20911        return true;
20912      }
20913    }
20914    return false;
20915  }
20916  function injectStyle12(targetDocument, hash, css) {
20917    if (!targetDocument.head) {
20918      return;
20919    }
20920    const runtime = getRuntime12();
20921    let injectedStyles = runtime.injectedStyles.get(targetDocument);
20922    if (!injectedStyles) {
20923      injectedStyles = /* @__PURE__ */ new Set();
20924      runtime.injectedStyles.set(targetDocument, injectedStyles);
20925    }
20926    if (injectedStyles.has(hash)) {
20927      return;
20928    }
20929    if (documentContainsStyleHash12(targetDocument, hash)) {
20930      injectedStyles.add(hash);
20931      return;
20932    }
20933    const style = targetDocument.createElement("style");
20934    style.setAttribute(STYLE_HASH_ATTRIBUTE12, hash);
20935    style.appendChild(targetDocument.createTextNode(css));
20936    targetDocument.head.appendChild(style);
20937    injectedStyles.add(hash);
20938  }
20939  function registerDocument12(targetDocument) {
20940    const runtime = getRuntime12();
20941    runtime.documents.set(
20942      targetDocument,
20943      (runtime.documents.get(targetDocument) ?? 0) + 1
20944    );
20945    for (const [hash, css] of runtime.styles) {
20946      injectStyle12(targetDocument, hash, css);
20947    }
20948    return () => {
20949      const count = runtime.documents.get(targetDocument);
20950      if (count === void 0) {
20951        return;
20952      }
20953      if (count <= 1) {
20954        runtime.documents.delete(targetDocument);
20955        return;
20956      }
20957      runtime.documents.set(targetDocument, count - 1);
20958    };
20959  }
20960  function registerStyle12(hash, css) {
20961    const runtime = getRuntime12();
20962    runtime.styles.set(hash, css);
20963    for (const targetDocument of runtime.documents.keys()) {
20964      injectStyle12(targetDocument, hash, css);
20965    }
20966  }
20967  if (typeof process === "undefined" || true) {
20968    registerStyle12("35c74d3f9f", '@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 components{.d61e2d85c0ee0699__positioner{z-index:var(--wp-ui-menu-z-index,initial)}._34e81249f419a5a5__popup{--wp-ui-menu-popup-padding:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-min-width:160px;--wp-ui-menu-max-width:var(--wpds-dimension-surface-width-sm,320px);--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-item-padding-inline-end:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-group-head-padding-base:var(--wpds-dimension-padding-sm,8px);--wp-ui-menu-group-head-padding-inline:var(--_wp-ui-menu-group-head-padding-base);--wp-ui-menu-selection-indicator-track-size:0px;--wp-ui-menu-selection-indicator-size:var(--wpds-dimension-size-2xs,16px);--wp-ui-menu-selection-indicator-gap:0px;--_wp-ui-menu-elevation-md:0px 2px 3px 0px #0000000d,0px 4px 5px 0px #0000000a,0px 12px 12px 0px #00000008,0px 16px 16px 0px #00000005;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-menu-elevation-md);max-height:min(var(--available-height),480px,60dvh);max-width:min(var(--available-width),var(--wp-ui-menu-max-width));min-width:min(var(--available-width),var(--wp-ui-menu-min-width));outline:none;overflow-block:auto;overscroll-behavior:none;padding:var(--wp-ui-menu-popup-padding);scroll-padding:var(--wp-ui-menu-popup-padding);&:has(._42313b48c5459be3__item-selection-indicator){--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-selection-indicator-track-size:var(--wpds-dimension-size-2xs,16px)}}._33f07ab17005471d__list{--_wp-ui-menu-item-label-line-height:var(--wpds-typography-line-height-sm,20px);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);line-height:var(--_wp-ui-menu-item-label-line-height)}._33f07ab17005471d__list,.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{--wp-ui-menu-group-prefix-gap:0px;display:grid;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];min-width:0}.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{grid-column:1/-1}._33f07ab17005471d__list:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.e05914e1005d7c2e__radio-group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.f11085533c0056b0__group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix){--wp-ui-menu-group-prefix-gap:var(--wpds-dimension-gap-xs,4px)}._4a0fd085d76fd23c__group-label{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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);grid-column:prefix-start/content-end;line-height:var(--wpds-typography-line-height-xs,16px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));min-height:var(--wpds-dimension-size-sm,24px);min-width:0;padding-block:var(--wpds-dimension-padding-xs,4px);text-transform:uppercase}.bfc11368eadf3b39__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);grid-column:prefix-start/content-end;height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));@media (forced-colors:active){background-color:CanvasText}}._5c913bce0d8bb0d6__item{--wp-ui-menu-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-menu-item-padding-block:var(--wpds-dimension-padding-xs,4px);--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);align-content:center;align-items:start;border-radius:var(--wpds-border-radius-sm,2px);display:grid;gap:0;grid-column:1/-1;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];justify-content:stretch;min-height:var(--wp-ui-menu-item-height);min-width:0;padding-block:var(--wp-ui-menu-item-padding-block);scroll-margin:var(--wp-ui-menu-popup-padding);text-decoration:none;user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&[href]{cursor:pointer}@supports (grid-template-columns:subgrid){grid-template-columns:subgrid}&[data-popup-open]:not([data-highlighted],[data-disabled],[aria-disabled=true]){background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-xs,1px) solid GrayText}}&[data-highlighted]:not([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);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){--_gcd-a-color:HighlightText;background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&:is([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&[data-highlighted]{--_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)));--_gcd-a-outline:var(--_gcd-div-outline)}@media (forced-colors:active){--_gcd-a-color:GrayText;color:GrayText}}}._42313b48c5459be3__item-selection-indicator,._64924ecabf65a5d6__item-prefix,.af879698ede76757__item-content{grid-row:1}._42313b48c5459be3__item-selection-indicator{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;grid-column:selection-start/selection-end;height:var(--_wp-ui-menu-item-label-line-height);justify-content:center;justify-self:center;margin-inline-end:var(--wpds-dimension-gap-xs,4px);pointer-events:none;width:var(--wp-ui-menu-selection-indicator-size);&[data-unchecked]{opacity:0}}._99c5bd141cbf516f__checkbox-selection-icon{translate:0 1px}._59aa9b3b3a651148__radio-selection-icon{fill:currentColor;height:var(--wpds-dimension-size-2xs,16px);width:var(--wpds-dimension-size-2xs,16px)}._64924ecabf65a5d6__item-prefix{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:prefix-start/prefix-end;justify-content:center;min-width:0}.a836378335a4cbf1__prefix-icon{align-self:flex-start;flex-shrink:0;margin-block-start:calc((var(--_wp-ui-menu-item-label-line-height) - var(--_wp-ui-menu-prefix-icon-size))/2)}.af879698ede76757__item-content{align-items:center;align-self:stretch;box-sizing:border-box;display:grid;grid-column:prefix-start/content-end;grid-template-columns:[label-start] minmax(0,1fr) [label-end suffix-start] auto [suffix-end shortcut-start] auto [shortcut-end trailing-start] auto [trailing-end];min-width:0;pointer-events:none;&._5c211f9edfe0ed66__has-prefix{grid-column:content-start/content-end}}._76f3e69cf2228139__item-descriptions{display:flex;flex-direction:column;grid-column:prefix-start/content-end;grid-row:2;min-width:0;padding-block-end:var(--wpds-dimension-padding-xs,4px);pointer-events:none}._5ed41da4abcf8958__item-label{--_gcd-heading-color:currentColor;--_gcd-p-line-height:var(--_wp-ui-menu-item-label-line-height);color:inherit;grid-column:label-start/label-end;line-height:var(--_wp-ui-menu-item-label-line-height);min-width:0;overflow-wrap:anywhere}.fa88c9f1a96a4c5a__item-description{--_gcd-heading-color:var(--wpds-color-foreground-content-neutral-weak,#707070);color:var(--wpds-color-foreground-content-neutral-weak,#707070);overflow-wrap:anywhere}.af879698ede76757__item-content>._091406749ed93e6e__item-suffix{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:suffix-start/suffix-end;margin-inline-start:var(--wpds-dimension-gap-md,12px)}.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{grid-column:shortcut-start/shortcut-end}._06be17a91bf434a0__item-trailing,.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{color:var(--wpds-color-foreground-content-neutral-weak,#707070);margin-inline-start:var(--wpds-dimension-gap-md,12px)}._06be17a91bf434a0__item-trailing{align-items:center;display:flex;grid-column:trailing-start/trailing-end}._5ed41da4abcf8958__item-label+:is(._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){margin-inline-start:var(--wpds-dimension-gap-xl,24px)}._23630f40071a29ff__item-shortcut+._06be17a91bf434a0__item-trailing{margin-inline-start:var(--wpds-dimension-gap-xs,4px)}.b78aec79bf93eba0__submenu-chevron{margin-inline-end:calc(var(--wpds-dimension-gap-sm, 8px)*-1)}.b78aec79bf93eba0__submenu-chevron:dir(rtl){transform:rotate(180deg)}._60da3b6f9718cf76__external-link-indicator{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px);text-decoration:none}._60da3b6f9718cf76__external-link-indicator:after{content:"\\2197"}._60da3b6f9718cf76__external-link-indicator:dir(rtl):after{content:"\\2196"}._5c913bce0d8bb0d6__item:is([data-highlighted],[data-disabled],[aria-disabled=true]) ._42313b48c5459be3__item-selection-indicator,._5c913bce0d8bb0d6__item:is([data-highlighted],[data-popup-open],[data-disabled],[aria-disabled=true]) :is(.fa88c9f1a96a4c5a__item-description,._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){--_gcd-heading-color:currentColor;color:inherit}}}');
20969  }
20970  var style_default11 = { "positioner": "d61e2d85c0ee0699__positioner", "popup": "_34e81249f419a5a5__popup", "item-selection-indicator": "_42313b48c5459be3__item-selection-indicator", "is-root": "_087a537b24fee6a1__is-root _380b81b8f79fb10f__dropdown-motion", "is-submenu": "_6d3b567f6289bdc2__is-submenu _7f344b94e270e039__dropdown-motion--fade-only", "list": "_33f07ab17005471d__list", "group": "f11085533c0056b0__group", "radio-group": "e05914e1005d7c2e__radio-group", "item": "_5c913bce0d8bb0d6__item", "item-prefix": "_64924ecabf65a5d6__item-prefix", "group-label": "_4a0fd085d76fd23c__group-label", "separator": "bfc11368eadf3b39__separator", "item-content": "af879698ede76757__item-content", "checkbox-selection-icon": "_99c5bd141cbf516f__checkbox-selection-icon", "radio-selection-icon": "_59aa9b3b3a651148__radio-selection-icon", "prefix-icon": "a836378335a4cbf1__prefix-icon", "has-prefix": "_5c211f9edfe0ed66__has-prefix", "item-descriptions": "_76f3e69cf2228139__item-descriptions", "item-label": "_5ed41da4abcf8958__item-label", "item-description": "fa88c9f1a96a4c5a__item-description", "item-suffix": "_091406749ed93e6e__item-suffix", "item-shortcut": "_23630f40071a29ff__item-shortcut", "item-trailing": "_06be17a91bf434a0__item-trailing", "submenu-chevron": "b78aec79bf93eba0__submenu-chevron", "external-link-indicator": "_60da3b6f9718cf76__external-link-indicator" };
20971  var Popup = (0, import_element31.forwardRef)(function MenuPopup3({ children, className, portal, positioner, ...props }, ref) {
20972    const { isSubmenu } = useMenuContext();
20973    const popupContent = /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
20974      index_parts_exports.Popup,
20975      {
20976        ref,
20977        className: clsx_default(
20978          style_default11.popup,
20979          isSubmenu ? style_default11["is-submenu"] : style_default11["is-root"],
20980          className
20981        ),
20982        ...props,
20983        children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
20984          "div",
20985          {
20986            className: style_default11.list,
20987            children
20988          }
20989        )
20990      }
20991    );
20992    const positionedPopup = renderSlotWithChildren(
20993      positioner,
20994      /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Positioner, {}),
20995      popupContent
20996    );
20997    return renderSlotWithChildren(portal, /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Portal, {}), positionedPopup);
20998  });
20999  
21000  // packages/ui/build-module/menu/prefix-icon.mjs
21001  var import_element32 = __toESM(require_element(), 1);
21002  var import_jsx_runtime85 = __toESM(require_jsx_runtime(), 1);
21003  var STYLE_HASH_ATTRIBUTE13 = "data-wp-hash";
21004  function getRuntime13() {
21005    const globalScope = globalThis;
21006    if (globalScope.__wpStyleRuntime) {
21007      return globalScope.__wpStyleRuntime;
21008    }
21009    globalScope.__wpStyleRuntime = {
21010      documents: /* @__PURE__ */ new Map(),
21011      styles: /* @__PURE__ */ new Map(),
21012      injectedStyles: /* @__PURE__ */ new WeakMap()
21013    };
21014    if (typeof document !== "undefined") {
21015      registerDocument13(document);
21016    }
21017    return globalScope.__wpStyleRuntime;
21018  }
21019  function documentContainsStyleHash13(targetDocument, hash) {
21020    if (!targetDocument.head) {
21021      return false;
21022    }
21023    for (const style of targetDocument.head.querySelectorAll(
21024      `style[$STYLE_HASH_ATTRIBUTE13}]`
21025    )) {
21026      if (style.getAttribute(STYLE_HASH_ATTRIBUTE13) === hash) {
21027        return true;
21028      }
21029    }
21030    return false;
21031  }
21032  function injectStyle13(targetDocument, hash, css) {
21033    if (!targetDocument.head) {
21034      return;
21035    }
21036    const runtime = getRuntime13();
21037    let injectedStyles = runtime.injectedStyles.get(targetDocument);
21038    if (!injectedStyles) {
21039      injectedStyles = /* @__PURE__ */ new Set();
21040      runtime.injectedStyles.set(targetDocument, injectedStyles);
21041    }
21042    if (injectedStyles.has(hash)) {
21043      return;
21044    }
21045    if (documentContainsStyleHash13(targetDocument, hash)) {
21046      injectedStyles.add(hash);
21047      return;
21048    }
21049    const style = targetDocument.createElement("style");
21050    style.setAttribute(STYLE_HASH_ATTRIBUTE13, hash);
21051    style.appendChild(targetDocument.createTextNode(css));
21052    targetDocument.head.appendChild(style);
21053    injectedStyles.add(hash);
21054  }
21055  function registerDocument13(targetDocument) {
21056    const runtime = getRuntime13();
21057    runtime.documents.set(
21058      targetDocument,
21059      (runtime.documents.get(targetDocument) ?? 0) + 1
21060    );
21061    for (const [hash, css] of runtime.styles) {
21062      injectStyle13(targetDocument, hash, css);
21063    }
21064    return () => {
21065      const count = runtime.documents.get(targetDocument);
21066      if (count === void 0) {
21067        return;
21068      }
21069      if (count <= 1) {
21070        runtime.documents.delete(targetDocument);
21071        return;
21072      }
21073      runtime.documents.set(targetDocument, count - 1);
21074    };
21075  }
21076  function registerStyle13(hash, css) {
21077    const runtime = getRuntime13();
21078    runtime.styles.set(hash, css);
21079    for (const targetDocument of runtime.documents.keys()) {
21080      injectStyle13(targetDocument, hash, css);
21081    }
21082  }
21083  if (typeof process === "undefined" || true) {
21084    registerStyle13("35c74d3f9f", '@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 components{.d61e2d85c0ee0699__positioner{z-index:var(--wp-ui-menu-z-index,initial)}._34e81249f419a5a5__popup{--wp-ui-menu-popup-padding:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-min-width:160px;--wp-ui-menu-max-width:var(--wpds-dimension-surface-width-sm,320px);--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-item-padding-inline-end:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-group-head-padding-base:var(--wpds-dimension-padding-sm,8px);--wp-ui-menu-group-head-padding-inline:var(--_wp-ui-menu-group-head-padding-base);--wp-ui-menu-selection-indicator-track-size:0px;--wp-ui-menu-selection-indicator-size:var(--wpds-dimension-size-2xs,16px);--wp-ui-menu-selection-indicator-gap:0px;--_wp-ui-menu-elevation-md:0px 2px 3px 0px #0000000d,0px 4px 5px 0px #0000000a,0px 12px 12px 0px #00000008,0px 16px 16px 0px #00000005;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-menu-elevation-md);max-height:min(var(--available-height),480px,60dvh);max-width:min(var(--available-width),var(--wp-ui-menu-max-width));min-width:min(var(--available-width),var(--wp-ui-menu-min-width));outline:none;overflow-block:auto;overscroll-behavior:none;padding:var(--wp-ui-menu-popup-padding);scroll-padding:var(--wp-ui-menu-popup-padding);&:has(._42313b48c5459be3__item-selection-indicator){--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-selection-indicator-track-size:var(--wpds-dimension-size-2xs,16px)}}._33f07ab17005471d__list{--_wp-ui-menu-item-label-line-height:var(--wpds-typography-line-height-sm,20px);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);line-height:var(--_wp-ui-menu-item-label-line-height)}._33f07ab17005471d__list,.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{--wp-ui-menu-group-prefix-gap:0px;display:grid;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];min-width:0}.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{grid-column:1/-1}._33f07ab17005471d__list:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.e05914e1005d7c2e__radio-group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.f11085533c0056b0__group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix){--wp-ui-menu-group-prefix-gap:var(--wpds-dimension-gap-xs,4px)}._4a0fd085d76fd23c__group-label{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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);grid-column:prefix-start/content-end;line-height:var(--wpds-typography-line-height-xs,16px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));min-height:var(--wpds-dimension-size-sm,24px);min-width:0;padding-block:var(--wpds-dimension-padding-xs,4px);text-transform:uppercase}.bfc11368eadf3b39__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);grid-column:prefix-start/content-end;height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));@media (forced-colors:active){background-color:CanvasText}}._5c913bce0d8bb0d6__item{--wp-ui-menu-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-menu-item-padding-block:var(--wpds-dimension-padding-xs,4px);--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);align-content:center;align-items:start;border-radius:var(--wpds-border-radius-sm,2px);display:grid;gap:0;grid-column:1/-1;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];justify-content:stretch;min-height:var(--wp-ui-menu-item-height);min-width:0;padding-block:var(--wp-ui-menu-item-padding-block);scroll-margin:var(--wp-ui-menu-popup-padding);text-decoration:none;user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&[href]{cursor:pointer}@supports (grid-template-columns:subgrid){grid-template-columns:subgrid}&[data-popup-open]:not([data-highlighted],[data-disabled],[aria-disabled=true]){background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-xs,1px) solid GrayText}}&[data-highlighted]:not([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);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){--_gcd-a-color:HighlightText;background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&:is([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&[data-highlighted]{--_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)));--_gcd-a-outline:var(--_gcd-div-outline)}@media (forced-colors:active){--_gcd-a-color:GrayText;color:GrayText}}}._42313b48c5459be3__item-selection-indicator,._64924ecabf65a5d6__item-prefix,.af879698ede76757__item-content{grid-row:1}._42313b48c5459be3__item-selection-indicator{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;grid-column:selection-start/selection-end;height:var(--_wp-ui-menu-item-label-line-height);justify-content:center;justify-self:center;margin-inline-end:var(--wpds-dimension-gap-xs,4px);pointer-events:none;width:var(--wp-ui-menu-selection-indicator-size);&[data-unchecked]{opacity:0}}._99c5bd141cbf516f__checkbox-selection-icon{translate:0 1px}._59aa9b3b3a651148__radio-selection-icon{fill:currentColor;height:var(--wpds-dimension-size-2xs,16px);width:var(--wpds-dimension-size-2xs,16px)}._64924ecabf65a5d6__item-prefix{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:prefix-start/prefix-end;justify-content:center;min-width:0}.a836378335a4cbf1__prefix-icon{align-self:flex-start;flex-shrink:0;margin-block-start:calc((var(--_wp-ui-menu-item-label-line-height) - var(--_wp-ui-menu-prefix-icon-size))/2)}.af879698ede76757__item-content{align-items:center;align-self:stretch;box-sizing:border-box;display:grid;grid-column:prefix-start/content-end;grid-template-columns:[label-start] minmax(0,1fr) [label-end suffix-start] auto [suffix-end shortcut-start] auto [shortcut-end trailing-start] auto [trailing-end];min-width:0;pointer-events:none;&._5c211f9edfe0ed66__has-prefix{grid-column:content-start/content-end}}._76f3e69cf2228139__item-descriptions{display:flex;flex-direction:column;grid-column:prefix-start/content-end;grid-row:2;min-width:0;padding-block-end:var(--wpds-dimension-padding-xs,4px);pointer-events:none}._5ed41da4abcf8958__item-label{--_gcd-heading-color:currentColor;--_gcd-p-line-height:var(--_wp-ui-menu-item-label-line-height);color:inherit;grid-column:label-start/label-end;line-height:var(--_wp-ui-menu-item-label-line-height);min-width:0;overflow-wrap:anywhere}.fa88c9f1a96a4c5a__item-description{--_gcd-heading-color:var(--wpds-color-foreground-content-neutral-weak,#707070);color:var(--wpds-color-foreground-content-neutral-weak,#707070);overflow-wrap:anywhere}.af879698ede76757__item-content>._091406749ed93e6e__item-suffix{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:suffix-start/suffix-end;margin-inline-start:var(--wpds-dimension-gap-md,12px)}.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{grid-column:shortcut-start/shortcut-end}._06be17a91bf434a0__item-trailing,.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{color:var(--wpds-color-foreground-content-neutral-weak,#707070);margin-inline-start:var(--wpds-dimension-gap-md,12px)}._06be17a91bf434a0__item-trailing{align-items:center;display:flex;grid-column:trailing-start/trailing-end}._5ed41da4abcf8958__item-label+:is(._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){margin-inline-start:var(--wpds-dimension-gap-xl,24px)}._23630f40071a29ff__item-shortcut+._06be17a91bf434a0__item-trailing{margin-inline-start:var(--wpds-dimension-gap-xs,4px)}.b78aec79bf93eba0__submenu-chevron{margin-inline-end:calc(var(--wpds-dimension-gap-sm, 8px)*-1)}.b78aec79bf93eba0__submenu-chevron:dir(rtl){transform:rotate(180deg)}._60da3b6f9718cf76__external-link-indicator{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px);text-decoration:none}._60da3b6f9718cf76__external-link-indicator:after{content:"\\2197"}._60da3b6f9718cf76__external-link-indicator:dir(rtl):after{content:"\\2196"}._5c913bce0d8bb0d6__item:is([data-highlighted],[data-disabled],[aria-disabled=true]) ._42313b48c5459be3__item-selection-indicator,._5c913bce0d8bb0d6__item:is([data-highlighted],[data-popup-open],[data-disabled],[aria-disabled=true]) :is(.fa88c9f1a96a4c5a__item-description,._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){--_gcd-heading-color:currentColor;color:inherit}}}');
21085  }
21086  var style_default12 = { "positioner": "d61e2d85c0ee0699__positioner", "popup": "_34e81249f419a5a5__popup", "item-selection-indicator": "_42313b48c5459be3__item-selection-indicator", "is-root": "_087a537b24fee6a1__is-root _380b81b8f79fb10f__dropdown-motion", "is-submenu": "_6d3b567f6289bdc2__is-submenu _7f344b94e270e039__dropdown-motion--fade-only", "list": "_33f07ab17005471d__list", "group": "f11085533c0056b0__group", "radio-group": "e05914e1005d7c2e__radio-group", "item": "_5c913bce0d8bb0d6__item", "item-prefix": "_64924ecabf65a5d6__item-prefix", "group-label": "_4a0fd085d76fd23c__group-label", "separator": "bfc11368eadf3b39__separator", "item-content": "af879698ede76757__item-content", "checkbox-selection-icon": "_99c5bd141cbf516f__checkbox-selection-icon", "radio-selection-icon": "_59aa9b3b3a651148__radio-selection-icon", "prefix-icon": "a836378335a4cbf1__prefix-icon", "has-prefix": "_5c211f9edfe0ed66__has-prefix", "item-descriptions": "_76f3e69cf2228139__item-descriptions", "item-label": "_5ed41da4abcf8958__item-label", "item-description": "fa88c9f1a96a4c5a__item-description", "item-suffix": "_091406749ed93e6e__item-suffix", "item-shortcut": "_23630f40071a29ff__item-shortcut", "item-trailing": "_06be17a91bf434a0__item-trailing", "submenu-chevron": "b78aec79bf93eba0__submenu-chevron", "external-link-indicator": "_60da3b6f9718cf76__external-link-indicator" };
21087  var PrefixIcon = (0, import_element32.forwardRef)(
21088    function MenuPrefixIcon({ className, size: size4 = 16, style, ...props }, ref) {
21089      return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
21090        Icon,
21091        {
21092          ...props,
21093          ref,
21094          size: size4,
21095          className: clsx_default(style_default12["prefix-icon"], className),
21096          style: {
21097            ...style,
21098            "--_wp-ui-menu-prefix-icon-size": `$size4}px`
21099          }
21100        }
21101      );
21102    }
21103  );
21104  PrefixIcon.displayName = "Menu.PrefixIcon";
21105  
21106  // packages/ui/build-module/menu/radio-group.mjs
21107  var import_element33 = __toESM(require_element(), 1);
21108  var import_jsx_runtime86 = __toESM(require_jsx_runtime(), 1);
21109  var STYLE_HASH_ATTRIBUTE14 = "data-wp-hash";
21110  function getRuntime14() {
21111    const globalScope = globalThis;
21112    if (globalScope.__wpStyleRuntime) {
21113      return globalScope.__wpStyleRuntime;
21114    }
21115    globalScope.__wpStyleRuntime = {
21116      documents: /* @__PURE__ */ new Map(),
21117      styles: /* @__PURE__ */ new Map(),
21118      injectedStyles: /* @__PURE__ */ new WeakMap()
21119    };
21120    if (typeof document !== "undefined") {
21121      registerDocument14(document);
21122    }
21123    return globalScope.__wpStyleRuntime;
21124  }
21125  function documentContainsStyleHash14(targetDocument, hash) {
21126    if (!targetDocument.head) {
21127      return false;
21128    }
21129    for (const style of targetDocument.head.querySelectorAll(
21130      `style[$STYLE_HASH_ATTRIBUTE14}]`
21131    )) {
21132      if (style.getAttribute(STYLE_HASH_ATTRIBUTE14) === hash) {
21133        return true;
21134      }
21135    }
21136    return false;
21137  }
21138  function injectStyle14(targetDocument, hash, css) {
21139    if (!targetDocument.head) {
21140      return;
21141    }
21142    const runtime = getRuntime14();
21143    let injectedStyles = runtime.injectedStyles.get(targetDocument);
21144    if (!injectedStyles) {
21145      injectedStyles = /* @__PURE__ */ new Set();
21146      runtime.injectedStyles.set(targetDocument, injectedStyles);
21147    }
21148    if (injectedStyles.has(hash)) {
21149      return;
21150    }
21151    if (documentContainsStyleHash14(targetDocument, hash)) {
21152      injectedStyles.add(hash);
21153      return;
21154    }
21155    const style = targetDocument.createElement("style");
21156    style.setAttribute(STYLE_HASH_ATTRIBUTE14, hash);
21157    style.appendChild(targetDocument.createTextNode(css));
21158    targetDocument.head.appendChild(style);
21159    injectedStyles.add(hash);
21160  }
21161  function registerDocument14(targetDocument) {
21162    const runtime = getRuntime14();
21163    runtime.documents.set(
21164      targetDocument,
21165      (runtime.documents.get(targetDocument) ?? 0) + 1
21166    );
21167    for (const [hash, css] of runtime.styles) {
21168      injectStyle14(targetDocument, hash, css);
21169    }
21170    return () => {
21171      const count = runtime.documents.get(targetDocument);
21172      if (count === void 0) {
21173        return;
21174      }
21175      if (count <= 1) {
21176        runtime.documents.delete(targetDocument);
21177        return;
21178      }
21179      runtime.documents.set(targetDocument, count - 1);
21180    };
21181  }
21182  function registerStyle14(hash, css) {
21183    const runtime = getRuntime14();
21184    runtime.styles.set(hash, css);
21185    for (const targetDocument of runtime.documents.keys()) {
21186      injectStyle14(targetDocument, hash, css);
21187    }
21188  }
21189  if (typeof process === "undefined" || true) {
21190    registerStyle14("35c74d3f9f", '@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 components{.d61e2d85c0ee0699__positioner{z-index:var(--wp-ui-menu-z-index,initial)}._34e81249f419a5a5__popup{--wp-ui-menu-popup-padding:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-min-width:160px;--wp-ui-menu-max-width:var(--wpds-dimension-surface-width-sm,320px);--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-item-padding-inline-end:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-group-head-padding-base:var(--wpds-dimension-padding-sm,8px);--wp-ui-menu-group-head-padding-inline:var(--_wp-ui-menu-group-head-padding-base);--wp-ui-menu-selection-indicator-track-size:0px;--wp-ui-menu-selection-indicator-size:var(--wpds-dimension-size-2xs,16px);--wp-ui-menu-selection-indicator-gap:0px;--_wp-ui-menu-elevation-md:0px 2px 3px 0px #0000000d,0px 4px 5px 0px #0000000a,0px 12px 12px 0px #00000008,0px 16px 16px 0px #00000005;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-menu-elevation-md);max-height:min(var(--available-height),480px,60dvh);max-width:min(var(--available-width),var(--wp-ui-menu-max-width));min-width:min(var(--available-width),var(--wp-ui-menu-min-width));outline:none;overflow-block:auto;overscroll-behavior:none;padding:var(--wp-ui-menu-popup-padding);scroll-padding:var(--wp-ui-menu-popup-padding);&:has(._42313b48c5459be3__item-selection-indicator){--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-selection-indicator-track-size:var(--wpds-dimension-size-2xs,16px)}}._33f07ab17005471d__list{--_wp-ui-menu-item-label-line-height:var(--wpds-typography-line-height-sm,20px);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);line-height:var(--_wp-ui-menu-item-label-line-height)}._33f07ab17005471d__list,.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{--wp-ui-menu-group-prefix-gap:0px;display:grid;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];min-width:0}.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{grid-column:1/-1}._33f07ab17005471d__list:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.e05914e1005d7c2e__radio-group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.f11085533c0056b0__group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix){--wp-ui-menu-group-prefix-gap:var(--wpds-dimension-gap-xs,4px)}._4a0fd085d76fd23c__group-label{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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);grid-column:prefix-start/content-end;line-height:var(--wpds-typography-line-height-xs,16px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));min-height:var(--wpds-dimension-size-sm,24px);min-width:0;padding-block:var(--wpds-dimension-padding-xs,4px);text-transform:uppercase}.bfc11368eadf3b39__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);grid-column:prefix-start/content-end;height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));@media (forced-colors:active){background-color:CanvasText}}._5c913bce0d8bb0d6__item{--wp-ui-menu-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-menu-item-padding-block:var(--wpds-dimension-padding-xs,4px);--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);align-content:center;align-items:start;border-radius:var(--wpds-border-radius-sm,2px);display:grid;gap:0;grid-column:1/-1;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];justify-content:stretch;min-height:var(--wp-ui-menu-item-height);min-width:0;padding-block:var(--wp-ui-menu-item-padding-block);scroll-margin:var(--wp-ui-menu-popup-padding);text-decoration:none;user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&[href]{cursor:pointer}@supports (grid-template-columns:subgrid){grid-template-columns:subgrid}&[data-popup-open]:not([data-highlighted],[data-disabled],[aria-disabled=true]){background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-xs,1px) solid GrayText}}&[data-highlighted]:not([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);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){--_gcd-a-color:HighlightText;background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&:is([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&[data-highlighted]{--_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)));--_gcd-a-outline:var(--_gcd-div-outline)}@media (forced-colors:active){--_gcd-a-color:GrayText;color:GrayText}}}._42313b48c5459be3__item-selection-indicator,._64924ecabf65a5d6__item-prefix,.af879698ede76757__item-content{grid-row:1}._42313b48c5459be3__item-selection-indicator{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;grid-column:selection-start/selection-end;height:var(--_wp-ui-menu-item-label-line-height);justify-content:center;justify-self:center;margin-inline-end:var(--wpds-dimension-gap-xs,4px);pointer-events:none;width:var(--wp-ui-menu-selection-indicator-size);&[data-unchecked]{opacity:0}}._99c5bd141cbf516f__checkbox-selection-icon{translate:0 1px}._59aa9b3b3a651148__radio-selection-icon{fill:currentColor;height:var(--wpds-dimension-size-2xs,16px);width:var(--wpds-dimension-size-2xs,16px)}._64924ecabf65a5d6__item-prefix{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:prefix-start/prefix-end;justify-content:center;min-width:0}.a836378335a4cbf1__prefix-icon{align-self:flex-start;flex-shrink:0;margin-block-start:calc((var(--_wp-ui-menu-item-label-line-height) - var(--_wp-ui-menu-prefix-icon-size))/2)}.af879698ede76757__item-content{align-items:center;align-self:stretch;box-sizing:border-box;display:grid;grid-column:prefix-start/content-end;grid-template-columns:[label-start] minmax(0,1fr) [label-end suffix-start] auto [suffix-end shortcut-start] auto [shortcut-end trailing-start] auto [trailing-end];min-width:0;pointer-events:none;&._5c211f9edfe0ed66__has-prefix{grid-column:content-start/content-end}}._76f3e69cf2228139__item-descriptions{display:flex;flex-direction:column;grid-column:prefix-start/content-end;grid-row:2;min-width:0;padding-block-end:var(--wpds-dimension-padding-xs,4px);pointer-events:none}._5ed41da4abcf8958__item-label{--_gcd-heading-color:currentColor;--_gcd-p-line-height:var(--_wp-ui-menu-item-label-line-height);color:inherit;grid-column:label-start/label-end;line-height:var(--_wp-ui-menu-item-label-line-height);min-width:0;overflow-wrap:anywhere}.fa88c9f1a96a4c5a__item-description{--_gcd-heading-color:var(--wpds-color-foreground-content-neutral-weak,#707070);color:var(--wpds-color-foreground-content-neutral-weak,#707070);overflow-wrap:anywhere}.af879698ede76757__item-content>._091406749ed93e6e__item-suffix{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:suffix-start/suffix-end;margin-inline-start:var(--wpds-dimension-gap-md,12px)}.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{grid-column:shortcut-start/shortcut-end}._06be17a91bf434a0__item-trailing,.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{color:var(--wpds-color-foreground-content-neutral-weak,#707070);margin-inline-start:var(--wpds-dimension-gap-md,12px)}._06be17a91bf434a0__item-trailing{align-items:center;display:flex;grid-column:trailing-start/trailing-end}._5ed41da4abcf8958__item-label+:is(._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){margin-inline-start:var(--wpds-dimension-gap-xl,24px)}._23630f40071a29ff__item-shortcut+._06be17a91bf434a0__item-trailing{margin-inline-start:var(--wpds-dimension-gap-xs,4px)}.b78aec79bf93eba0__submenu-chevron{margin-inline-end:calc(var(--wpds-dimension-gap-sm, 8px)*-1)}.b78aec79bf93eba0__submenu-chevron:dir(rtl){transform:rotate(180deg)}._60da3b6f9718cf76__external-link-indicator{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px);text-decoration:none}._60da3b6f9718cf76__external-link-indicator:after{content:"\\2197"}._60da3b6f9718cf76__external-link-indicator:dir(rtl):after{content:"\\2196"}._5c913bce0d8bb0d6__item:is([data-highlighted],[data-disabled],[aria-disabled=true]) ._42313b48c5459be3__item-selection-indicator,._5c913bce0d8bb0d6__item:is([data-highlighted],[data-popup-open],[data-disabled],[aria-disabled=true]) :is(.fa88c9f1a96a4c5a__item-description,._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){--_gcd-heading-color:currentColor;color:inherit}}}');
21191  }
21192  var style_default13 = { "positioner": "d61e2d85c0ee0699__positioner", "popup": "_34e81249f419a5a5__popup", "item-selection-indicator": "_42313b48c5459be3__item-selection-indicator", "is-root": "_087a537b24fee6a1__is-root _380b81b8f79fb10f__dropdown-motion", "is-submenu": "_6d3b567f6289bdc2__is-submenu _7f344b94e270e039__dropdown-motion--fade-only", "list": "_33f07ab17005471d__list", "group": "f11085533c0056b0__group", "radio-group": "e05914e1005d7c2e__radio-group", "item": "_5c913bce0d8bb0d6__item", "item-prefix": "_64924ecabf65a5d6__item-prefix", "group-label": "_4a0fd085d76fd23c__group-label", "separator": "bfc11368eadf3b39__separator", "item-content": "af879698ede76757__item-content", "checkbox-selection-icon": "_99c5bd141cbf516f__checkbox-selection-icon", "radio-selection-icon": "_59aa9b3b3a651148__radio-selection-icon", "prefix-icon": "a836378335a4cbf1__prefix-icon", "has-prefix": "_5c211f9edfe0ed66__has-prefix", "item-descriptions": "_76f3e69cf2228139__item-descriptions", "item-label": "_5ed41da4abcf8958__item-label", "item-description": "fa88c9f1a96a4c5a__item-description", "item-suffix": "_091406749ed93e6e__item-suffix", "item-shortcut": "_23630f40071a29ff__item-shortcut", "item-trailing": "_06be17a91bf434a0__item-trailing", "submenu-chevron": "b78aec79bf93eba0__submenu-chevron", "external-link-indicator": "_60da3b6f9718cf76__external-link-indicator" };
21193  var RadioGroup = (0, import_element33.forwardRef)(
21194    function MenuRadioGroup3({ className, ...props }, ref) {
21195      const parentGroup = useMenuGroupContext();
21196      if (parentGroup === "group") {
21197        throw new Error(
21198          "Menu.RadioGroup: Cannot be nested inside Menu.Group. Move Menu.RadioGroup outside Menu.Group and put its Menu.GroupLabel inside Menu.RadioGroup."
21199        );
21200      }
21201      return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(MenuGroupContext2.Provider, { value: "radio-group", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
21202        index_parts_exports.RadioGroup,
21203        {
21204          ref,
21205          className: clsx_default(style_default13["radio-group"], className),
21206          ...props
21207        }
21208      ) });
21209    }
21210  );
21211  
21212  // packages/ui/build-module/menu/radio-item.mjs
21213  var import_element34 = __toESM(require_element(), 1);
21214  var import_primitives22 = __toESM(require_primitives(), 1);
21215  var import_jsx_runtime87 = __toESM(require_jsx_runtime(), 1);
21216  var STYLE_HASH_ATTRIBUTE15 = "data-wp-hash";
21217  function getRuntime15() {
21218    const globalScope = globalThis;
21219    if (globalScope.__wpStyleRuntime) {
21220      return globalScope.__wpStyleRuntime;
21221    }
21222    globalScope.__wpStyleRuntime = {
21223      documents: /* @__PURE__ */ new Map(),
21224      styles: /* @__PURE__ */ new Map(),
21225      injectedStyles: /* @__PURE__ */ new WeakMap()
21226    };
21227    if (typeof document !== "undefined") {
21228      registerDocument15(document);
21229    }
21230    return globalScope.__wpStyleRuntime;
21231  }
21232  function documentContainsStyleHash15(targetDocument, hash) {
21233    if (!targetDocument.head) {
21234      return false;
21235    }
21236    for (const style of targetDocument.head.querySelectorAll(
21237      `style[$STYLE_HASH_ATTRIBUTE15}]`
21238    )) {
21239      if (style.getAttribute(STYLE_HASH_ATTRIBUTE15) === hash) {
21240        return true;
21241      }
21242    }
21243    return false;
21244  }
21245  function injectStyle15(targetDocument, hash, css) {
21246    if (!targetDocument.head) {
21247      return;
21248    }
21249    const runtime = getRuntime15();
21250    let injectedStyles = runtime.injectedStyles.get(targetDocument);
21251    if (!injectedStyles) {
21252      injectedStyles = /* @__PURE__ */ new Set();
21253      runtime.injectedStyles.set(targetDocument, injectedStyles);
21254    }
21255    if (injectedStyles.has(hash)) {
21256      return;
21257    }
21258    if (documentContainsStyleHash15(targetDocument, hash)) {
21259      injectedStyles.add(hash);
21260      return;
21261    }
21262    const style = targetDocument.createElement("style");
21263    style.setAttribute(STYLE_HASH_ATTRIBUTE15, hash);
21264    style.appendChild(targetDocument.createTextNode(css));
21265    targetDocument.head.appendChild(style);
21266    injectedStyles.add(hash);
21267  }
21268  function registerDocument15(targetDocument) {
21269    const runtime = getRuntime15();
21270    runtime.documents.set(
21271      targetDocument,
21272      (runtime.documents.get(targetDocument) ?? 0) + 1
21273    );
21274    for (const [hash, css] of runtime.styles) {
21275      injectStyle15(targetDocument, hash, css);
21276    }
21277    return () => {
21278      const count = runtime.documents.get(targetDocument);
21279      if (count === void 0) {
21280        return;
21281      }
21282      if (count <= 1) {
21283        runtime.documents.delete(targetDocument);
21284        return;
21285      }
21286      runtime.documents.set(targetDocument, count - 1);
21287    };
21288  }
21289  function registerStyle15(hash, css) {
21290    const runtime = getRuntime15();
21291    runtime.styles.set(hash, css);
21292    for (const targetDocument of runtime.documents.keys()) {
21293      injectStyle15(targetDocument, hash, css);
21294    }
21295  }
21296  if (typeof process === "undefined" || true) {
21297    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)}");
21298  }
21299  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" };
21300  if (typeof process === "undefined" || true) {
21301    registerStyle15("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
21302  }
21303  var resets_default5 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
21304  if (typeof process === "undefined" || true) {
21305    registerStyle15("35c74d3f9f", '@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 components{.d61e2d85c0ee0699__positioner{z-index:var(--wp-ui-menu-z-index,initial)}._34e81249f419a5a5__popup{--wp-ui-menu-popup-padding:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-min-width:160px;--wp-ui-menu-max-width:var(--wpds-dimension-surface-width-sm,320px);--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-item-padding-inline-end:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-group-head-padding-base:var(--wpds-dimension-padding-sm,8px);--wp-ui-menu-group-head-padding-inline:var(--_wp-ui-menu-group-head-padding-base);--wp-ui-menu-selection-indicator-track-size:0px;--wp-ui-menu-selection-indicator-size:var(--wpds-dimension-size-2xs,16px);--wp-ui-menu-selection-indicator-gap:0px;--_wp-ui-menu-elevation-md:0px 2px 3px 0px #0000000d,0px 4px 5px 0px #0000000a,0px 12px 12px 0px #00000008,0px 16px 16px 0px #00000005;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-menu-elevation-md);max-height:min(var(--available-height),480px,60dvh);max-width:min(var(--available-width),var(--wp-ui-menu-max-width));min-width:min(var(--available-width),var(--wp-ui-menu-min-width));outline:none;overflow-block:auto;overscroll-behavior:none;padding:var(--wp-ui-menu-popup-padding);scroll-padding:var(--wp-ui-menu-popup-padding);&:has(._42313b48c5459be3__item-selection-indicator){--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-selection-indicator-track-size:var(--wpds-dimension-size-2xs,16px)}}._33f07ab17005471d__list{--_wp-ui-menu-item-label-line-height:var(--wpds-typography-line-height-sm,20px);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);line-height:var(--_wp-ui-menu-item-label-line-height)}._33f07ab17005471d__list,.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{--wp-ui-menu-group-prefix-gap:0px;display:grid;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];min-width:0}.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{grid-column:1/-1}._33f07ab17005471d__list:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.e05914e1005d7c2e__radio-group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.f11085533c0056b0__group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix){--wp-ui-menu-group-prefix-gap:var(--wpds-dimension-gap-xs,4px)}._4a0fd085d76fd23c__group-label{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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);grid-column:prefix-start/content-end;line-height:var(--wpds-typography-line-height-xs,16px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));min-height:var(--wpds-dimension-size-sm,24px);min-width:0;padding-block:var(--wpds-dimension-padding-xs,4px);text-transform:uppercase}.bfc11368eadf3b39__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);grid-column:prefix-start/content-end;height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));@media (forced-colors:active){background-color:CanvasText}}._5c913bce0d8bb0d6__item{--wp-ui-menu-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-menu-item-padding-block:var(--wpds-dimension-padding-xs,4px);--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);align-content:center;align-items:start;border-radius:var(--wpds-border-radius-sm,2px);display:grid;gap:0;grid-column:1/-1;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];justify-content:stretch;min-height:var(--wp-ui-menu-item-height);min-width:0;padding-block:var(--wp-ui-menu-item-padding-block);scroll-margin:var(--wp-ui-menu-popup-padding);text-decoration:none;user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&[href]{cursor:pointer}@supports (grid-template-columns:subgrid){grid-template-columns:subgrid}&[data-popup-open]:not([data-highlighted],[data-disabled],[aria-disabled=true]){background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-xs,1px) solid GrayText}}&[data-highlighted]:not([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);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){--_gcd-a-color:HighlightText;background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&:is([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&[data-highlighted]{--_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)));--_gcd-a-outline:var(--_gcd-div-outline)}@media (forced-colors:active){--_gcd-a-color:GrayText;color:GrayText}}}._42313b48c5459be3__item-selection-indicator,._64924ecabf65a5d6__item-prefix,.af879698ede76757__item-content{grid-row:1}._42313b48c5459be3__item-selection-indicator{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;grid-column:selection-start/selection-end;height:var(--_wp-ui-menu-item-label-line-height);justify-content:center;justify-self:center;margin-inline-end:var(--wpds-dimension-gap-xs,4px);pointer-events:none;width:var(--wp-ui-menu-selection-indicator-size);&[data-unchecked]{opacity:0}}._99c5bd141cbf516f__checkbox-selection-icon{translate:0 1px}._59aa9b3b3a651148__radio-selection-icon{fill:currentColor;height:var(--wpds-dimension-size-2xs,16px);width:var(--wpds-dimension-size-2xs,16px)}._64924ecabf65a5d6__item-prefix{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:prefix-start/prefix-end;justify-content:center;min-width:0}.a836378335a4cbf1__prefix-icon{align-self:flex-start;flex-shrink:0;margin-block-start:calc((var(--_wp-ui-menu-item-label-line-height) - var(--_wp-ui-menu-prefix-icon-size))/2)}.af879698ede76757__item-content{align-items:center;align-self:stretch;box-sizing:border-box;display:grid;grid-column:prefix-start/content-end;grid-template-columns:[label-start] minmax(0,1fr) [label-end suffix-start] auto [suffix-end shortcut-start] auto [shortcut-end trailing-start] auto [trailing-end];min-width:0;pointer-events:none;&._5c211f9edfe0ed66__has-prefix{grid-column:content-start/content-end}}._76f3e69cf2228139__item-descriptions{display:flex;flex-direction:column;grid-column:prefix-start/content-end;grid-row:2;min-width:0;padding-block-end:var(--wpds-dimension-padding-xs,4px);pointer-events:none}._5ed41da4abcf8958__item-label{--_gcd-heading-color:currentColor;--_gcd-p-line-height:var(--_wp-ui-menu-item-label-line-height);color:inherit;grid-column:label-start/label-end;line-height:var(--_wp-ui-menu-item-label-line-height);min-width:0;overflow-wrap:anywhere}.fa88c9f1a96a4c5a__item-description{--_gcd-heading-color:var(--wpds-color-foreground-content-neutral-weak,#707070);color:var(--wpds-color-foreground-content-neutral-weak,#707070);overflow-wrap:anywhere}.af879698ede76757__item-content>._091406749ed93e6e__item-suffix{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:suffix-start/suffix-end;margin-inline-start:var(--wpds-dimension-gap-md,12px)}.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{grid-column:shortcut-start/shortcut-end}._06be17a91bf434a0__item-trailing,.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{color:var(--wpds-color-foreground-content-neutral-weak,#707070);margin-inline-start:var(--wpds-dimension-gap-md,12px)}._06be17a91bf434a0__item-trailing{align-items:center;display:flex;grid-column:trailing-start/trailing-end}._5ed41da4abcf8958__item-label+:is(._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){margin-inline-start:var(--wpds-dimension-gap-xl,24px)}._23630f40071a29ff__item-shortcut+._06be17a91bf434a0__item-trailing{margin-inline-start:var(--wpds-dimension-gap-xs,4px)}.b78aec79bf93eba0__submenu-chevron{margin-inline-end:calc(var(--wpds-dimension-gap-sm, 8px)*-1)}.b78aec79bf93eba0__submenu-chevron:dir(rtl){transform:rotate(180deg)}._60da3b6f9718cf76__external-link-indicator{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px);text-decoration:none}._60da3b6f9718cf76__external-link-indicator:after{content:"\\2197"}._60da3b6f9718cf76__external-link-indicator:dir(rtl):after{content:"\\2196"}._5c913bce0d8bb0d6__item:is([data-highlighted],[data-disabled],[aria-disabled=true]) ._42313b48c5459be3__item-selection-indicator,._5c913bce0d8bb0d6__item:is([data-highlighted],[data-popup-open],[data-disabled],[aria-disabled=true]) :is(.fa88c9f1a96a4c5a__item-description,._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){--_gcd-heading-color:currentColor;color:inherit}}}');
21306  }
21307  var style_default14 = { "positioner": "d61e2d85c0ee0699__positioner", "popup": "_34e81249f419a5a5__popup", "item-selection-indicator": "_42313b48c5459be3__item-selection-indicator", "is-root": "_087a537b24fee6a1__is-root _380b81b8f79fb10f__dropdown-motion", "is-submenu": "_6d3b567f6289bdc2__is-submenu _7f344b94e270e039__dropdown-motion--fade-only", "list": "_33f07ab17005471d__list", "group": "f11085533c0056b0__group", "radio-group": "e05914e1005d7c2e__radio-group", "item": "_5c913bce0d8bb0d6__item", "item-prefix": "_64924ecabf65a5d6__item-prefix", "group-label": "_4a0fd085d76fd23c__group-label", "separator": "bfc11368eadf3b39__separator", "item-content": "af879698ede76757__item-content", "checkbox-selection-icon": "_99c5bd141cbf516f__checkbox-selection-icon", "radio-selection-icon": "_59aa9b3b3a651148__radio-selection-icon", "prefix-icon": "a836378335a4cbf1__prefix-icon", "has-prefix": "_5c211f9edfe0ed66__has-prefix", "item-descriptions": "_76f3e69cf2228139__item-descriptions", "item-label": "_5ed41da4abcf8958__item-label", "item-description": "fa88c9f1a96a4c5a__item-description", "item-suffix": "_091406749ed93e6e__item-suffix", "item-shortcut": "_23630f40071a29ff__item-shortcut", "item-trailing": "_06be17a91bf434a0__item-trailing", "submenu-chevron": "b78aec79bf93eba0__submenu-chevron", "external-link-indicator": "_60da3b6f9718cf76__external-link-indicator" };
21308  var radioCheck = /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_primitives22.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_primitives22.Circle, { cx: 12, cy: 12, r: 3 }) });
21309  var RadioItem = (0, import_element34.forwardRef)(
21310    function MenuRadioItem3({
21311      children,
21312      className,
21313      prefix,
21314      shortcut,
21315      suffix,
21316      "aria-describedby": ariaDescribedBy,
21317      "aria-keyshortcuts": ariaKeyShortcuts,
21318      "aria-label": ariaLabel,
21319      "aria-labelledby": ariaLabelledBy,
21320      ...props
21321    }, ref) {
21322      const {
21323        contentChildren,
21324        contentContextValue,
21325        itemAriaProps,
21326        shortcutDescriptionId
21327      } = useItemContent2(children, {
21328        "aria-describedby": ariaDescribedBy,
21329        "aria-keyshortcuts": ariaKeyShortcuts,
21330        "aria-label": ariaLabel,
21331        "aria-labelledby": ariaLabelledBy,
21332        shortcut
21333      });
21334      return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
21335        index_parts_exports.RadioItem,
21336        {
21337          ref,
21338          ...itemAriaProps,
21339          className: clsx_default(
21340            global_css_defense_default5.div,
21341            resets_default5["box-sizing"],
21342            style_default14.item,
21343            className
21344          ),
21345          ...props,
21346          children: [
21347            /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
21348              index_parts_exports.RadioItemIndicator,
21349              {
21350                keepMounted: true,
21351                className: style_default14["item-selection-indicator"],
21352                children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
21353                  Icon,
21354                  {
21355                    icon: radioCheck,
21356                    className: style_default14["radio-selection-icon"],
21357                    "aria-hidden": "true"
21358                  }
21359                )
21360              }
21361            ),
21362            /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(MenuItemContentContext.Provider, { value: contentContextValue, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
21363              ItemContent,
21364              {
21365                prefix,
21366                shortcut,
21367                shortcutDescriptionId,
21368                suffix,
21369                children: contentChildren
21370              }
21371            ) })
21372          ]
21373        }
21374      );
21375    }
21376  );
21377  
21378  // packages/ui/build-module/utils/direction-provider.mjs
21379  var import_i18n3 = __toESM(require_i18n(), 1);
21380  var import_jsx_runtime88 = __toESM(require_jsx_runtime(), 1);
21381  function DirectionProvider3({ children }) {
21382    return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(DirectionProvider, { direction: (0, import_i18n3.isRTL)() ? "rtl" : "ltr", children });
21383  }
21384  
21385  // packages/ui/build-module/utils/use-iframe-dismissal-bridge.mjs
21386  var import_element35 = __toESM(require_element(), 1);
21387  function getIframeDocument(iframe) {
21388    try {
21389      return iframe.contentDocument;
21390    } catch {
21391      return null;
21392    }
21393  }
21394  function forEachIframe(node, callback) {
21395    if (node.nodeType !== Node.ELEMENT_NODE) {
21396      return;
21397    }
21398    const element = node;
21399    if (element.tagName === "IFRAME") {
21400      callback(element);
21401    }
21402    element.querySelectorAll("iframe").forEach(callback);
21403  }
21404  function getNodeDocument(node) {
21405    return node?.nodeType === Node.DOCUMENT_NODE ? node : node?.ownerDocument ?? null;
21406  }
21407  function isInsideCurrentPopup(event, trigger) {
21408    const popupId = trigger.getAttribute("aria-controls");
21409    if (!popupId) {
21410      return false;
21411    }
21412    let target = event.target;
21413    while (target) {
21414      const targetDocument = getNodeDocument(target);
21415      const targetElement = target.nodeType === Node.ELEMENT_NODE ? target : target.parentElement;
21416      const popup = targetDocument?.getElementById(popupId);
21417      if (popup && targetElement) {
21418        const rootOwnerId = popup.getAttribute("data-rootownerid");
21419        if (!rootOwnerId) {
21420          return popup.contains(targetElement);
21421        }
21422        return targetElement.closest("[data-rootownerid]")?.getAttribute("data-rootownerid") === rootOwnerId;
21423      }
21424      if (targetDocument === trigger.ownerDocument) {
21425        break;
21426      }
21427      target = targetDocument?.defaultView?.frameElement ?? null;
21428    }
21429    return false;
21430  }
21431  function useCloseOnIframePointerDown({
21432    enabled,
21433    onPointerDown,
21434    ownerDocument: ownerDocument2
21435  }) {
21436    (0, import_element35.useEffect)(() => {
21437      if (!enabled || !ownerDocument2) {
21438        return;
21439      }
21440      const observeDocument = (document2, listenForPointerDown) => {
21441        if (listenForPointerDown) {
21442          document2.addEventListener("pointerdown", onPointerDown, true);
21443        }
21444        const iframeCleanups = /* @__PURE__ */ new Map();
21445        const addIframe = (iframe) => {
21446          if (iframeCleanups.has(iframe)) {
21447            return;
21448          }
21449          let iframeDocument = null;
21450          let iframeDocumentCleanup;
21451          const updateIframeDocument = () => {
21452            const nextIframeDocument = getIframeDocument(iframe);
21453            if (nextIframeDocument === iframeDocument) {
21454              return;
21455            }
21456            iframeDocumentCleanup?.();
21457            iframeDocument = nextIframeDocument;
21458            iframeDocumentCleanup = iframeDocument ? observeDocument(iframeDocument, true) : void 0;
21459          };
21460          iframe.addEventListener("load", updateIframeDocument);
21461          updateIframeDocument();
21462          iframeCleanups.set(iframe, () => {
21463            iframe.removeEventListener("load", updateIframeDocument);
21464            iframeDocumentCleanup?.();
21465          });
21466        };
21467        const removeIframe = (iframe) => {
21468          iframeCleanups.get(iframe)?.();
21469          iframeCleanups.delete(iframe);
21470        };
21471        document2.querySelectorAll("iframe").forEach(addIframe);
21472        const MutationObserverConstructor = document2.defaultView?.MutationObserver;
21473        const observer = MutationObserverConstructor ? new MutationObserverConstructor((records) => {
21474          records.forEach((record) => {
21475            record.removedNodes.forEach(
21476              (node) => forEachIframe(node, removeIframe)
21477            );
21478            record.addedNodes.forEach(
21479              (node) => forEachIframe(node, addIframe)
21480            );
21481          });
21482        }) : null;
21483        observer?.observe(document2.documentElement, {
21484          childList: true,
21485          subtree: true
21486        });
21487        return () => {
21488          observer?.disconnect();
21489          iframeCleanups.forEach((cleanup) => cleanup());
21490          if (listenForPointerDown) {
21491            document2.removeEventListener(
21492              "pointerdown",
21493              onPointerDown,
21494              true
21495            );
21496          }
21497        };
21498      };
21499      return observeDocument(ownerDocument2, false);
21500    }, [enabled, onPointerDown, ownerDocument2]);
21501  }
21502  function useIframeDismissalBridge({
21503    actionsRef,
21504    defaultOpen,
21505    disabled: disabled2,
21506    modal,
21507    onOpenChange,
21508    open: openProp
21509  }) {
21510    const fallbackActionsRef = (0, import_element35.useRef)(null);
21511    const resolvedActionsRef = actionsRef ?? fallbackActionsRef;
21512    const [uncontrolledOpen, setUncontrolledOpen] = (0, import_element35.useState)(
21513      defaultOpen ?? false
21514    );
21515    const [trigger, setTrigger] = (0, import_element35.useState)(null);
21516    const open2 = openProp ?? uncontrolledOpen;
21517    const handleIframePointerDown = (0, import_element35.useCallback)(
21518      (event) => {
21519        if (trigger && !isInsideCurrentPopup(event, trigger)) {
21520          resolvedActionsRef.current?.close();
21521        }
21522      },
21523      [resolvedActionsRef, trigger]
21524    );
21525    useCloseOnIframePointerDown({
21526      enabled: open2 && modal === false && !disabled2 && trigger !== null,
21527      onPointerDown: handleIframePointerDown,
21528      ownerDocument: trigger?.ownerDocument ?? null
21529    });
21530    const handleOpenChange = (nextOpen, eventDetails) => {
21531      onOpenChange(nextOpen, eventDetails);
21532      if (eventDetails.isCanceled) {
21533        return;
21534      }
21535      setUncontrolledOpen(nextOpen);
21536      setTrigger(nextOpen ? eventDetails.trigger ?? null : null);
21537    };
21538    return {
21539      actionsRef: resolvedActionsRef,
21540      onOpenChange: handleOpenChange
21541    };
21542  }
21543  
21544  // packages/ui/build-module/menu/root.mjs
21545  var import_jsx_runtime89 = __toESM(require_jsx_runtime(), 1);
21546  function Root(props) {
21547    const { onOpenChange } = props;
21548    const handleOpenChange = (nextOpen, eventDetails) => {
21549      const trigger = eventDetails.trigger;
21550      const TriggerElement = trigger?.ownerDocument.defaultView?.HTMLElement;
21551      const EventTargetElement = trigger?.ownerDocument.defaultView?.Element;
21552      const activeElementBeforeOpenChange = trigger?.ownerDocument.activeElement;
21553      const eventTarget = eventDetails.event.target;
21554      const menuElement = EventTargetElement && eventTarget instanceof EventTargetElement ? eventTarget.closest('[role="menu"]') : null;
21555      onOpenChange?.(nextOpen, eventDetails);
21556      if (!nextOpen && eventDetails.reason === "item-press" && !eventDetails.isCanceled && TriggerElement && trigger instanceof TriggerElement && menuElement?.contains(activeElementBeforeOpenChange ?? null) && trigger.ownerDocument.activeElement === activeElementBeforeOpenChange) {
21557        trigger.focus();
21558      }
21559    };
21560    const iframeDismissalProps = useIframeDismissalBridge({
21561      actionsRef: props.actionsRef,
21562      defaultOpen: props.defaultOpen,
21563      modal: props.modal,
21564      onOpenChange: handleOpenChange,
21565      open: props.open
21566    });
21567    return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(DirectionProvider3, { children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(MenuContext.Provider, { value: { isSubmenu: false }, children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(MenuGroupContext2.Provider, { value: null, children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(index_parts_exports.Root, { ...props, ...iframeDismissalProps }) }) }) });
21568  }
21569  
21570  // packages/ui/build-module/menu/separator.mjs
21571  var import_element36 = __toESM(require_element(), 1);
21572  var import_jsx_runtime90 = __toESM(require_jsx_runtime(), 1);
21573  var STYLE_HASH_ATTRIBUTE16 = "data-wp-hash";
21574  function getRuntime16() {
21575    const globalScope = globalThis;
21576    if (globalScope.__wpStyleRuntime) {
21577      return globalScope.__wpStyleRuntime;
21578    }
21579    globalScope.__wpStyleRuntime = {
21580      documents: /* @__PURE__ */ new Map(),
21581      styles: /* @__PURE__ */ new Map(),
21582      injectedStyles: /* @__PURE__ */ new WeakMap()
21583    };
21584    if (typeof document !== "undefined") {
21585      registerDocument16(document);
21586    }
21587    return globalScope.__wpStyleRuntime;
21588  }
21589  function documentContainsStyleHash16(targetDocument, hash) {
21590    if (!targetDocument.head) {
21591      return false;
21592    }
21593    for (const style of targetDocument.head.querySelectorAll(
21594      `style[$STYLE_HASH_ATTRIBUTE16}]`
21595    )) {
21596      if (style.getAttribute(STYLE_HASH_ATTRIBUTE16) === hash) {
21597        return true;
21598      }
21599    }
21600    return false;
21601  }
21602  function injectStyle16(targetDocument, hash, css) {
21603    if (!targetDocument.head) {
21604      return;
21605    }
21606    const runtime = getRuntime16();
21607    let injectedStyles = runtime.injectedStyles.get(targetDocument);
21608    if (!injectedStyles) {
21609      injectedStyles = /* @__PURE__ */ new Set();
21610      runtime.injectedStyles.set(targetDocument, injectedStyles);
21611    }
21612    if (injectedStyles.has(hash)) {
21613      return;
21614    }
21615    if (documentContainsStyleHash16(targetDocument, hash)) {
21616      injectedStyles.add(hash);
21617      return;
21618    }
21619    const style = targetDocument.createElement("style");
21620    style.setAttribute(STYLE_HASH_ATTRIBUTE16, hash);
21621    style.appendChild(targetDocument.createTextNode(css));
21622    targetDocument.head.appendChild(style);
21623    injectedStyles.add(hash);
21624  }
21625  function registerDocument16(targetDocument) {
21626    const runtime = getRuntime16();
21627    runtime.documents.set(
21628      targetDocument,
21629      (runtime.documents.get(targetDocument) ?? 0) + 1
21630    );
21631    for (const [hash, css] of runtime.styles) {
21632      injectStyle16(targetDocument, hash, css);
21633    }
21634    return () => {
21635      const count = runtime.documents.get(targetDocument);
21636      if (count === void 0) {
21637        return;
21638      }
21639      if (count <= 1) {
21640        runtime.documents.delete(targetDocument);
21641        return;
21642      }
21643      runtime.documents.set(targetDocument, count - 1);
21644    };
21645  }
21646  function registerStyle16(hash, css) {
21647    const runtime = getRuntime16();
21648    runtime.styles.set(hash, css);
21649    for (const targetDocument of runtime.documents.keys()) {
21650      injectStyle16(targetDocument, hash, css);
21651    }
21652  }
21653  if (typeof process === "undefined" || true) {
21654    registerStyle16("35c74d3f9f", '@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 components{.d61e2d85c0ee0699__positioner{z-index:var(--wp-ui-menu-z-index,initial)}._34e81249f419a5a5__popup{--wp-ui-menu-popup-padding:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-min-width:160px;--wp-ui-menu-max-width:var(--wpds-dimension-surface-width-sm,320px);--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-item-padding-inline-end:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-group-head-padding-base:var(--wpds-dimension-padding-sm,8px);--wp-ui-menu-group-head-padding-inline:var(--_wp-ui-menu-group-head-padding-base);--wp-ui-menu-selection-indicator-track-size:0px;--wp-ui-menu-selection-indicator-size:var(--wpds-dimension-size-2xs,16px);--wp-ui-menu-selection-indicator-gap:0px;--_wp-ui-menu-elevation-md:0px 2px 3px 0px #0000000d,0px 4px 5px 0px #0000000a,0px 12px 12px 0px #00000008,0px 16px 16px 0px #00000005;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-menu-elevation-md);max-height:min(var(--available-height),480px,60dvh);max-width:min(var(--available-width),var(--wp-ui-menu-max-width));min-width:min(var(--available-width),var(--wp-ui-menu-min-width));outline:none;overflow-block:auto;overscroll-behavior:none;padding:var(--wp-ui-menu-popup-padding);scroll-padding:var(--wp-ui-menu-popup-padding);&:has(._42313b48c5459be3__item-selection-indicator){--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-selection-indicator-track-size:var(--wpds-dimension-size-2xs,16px)}}._33f07ab17005471d__list{--_wp-ui-menu-item-label-line-height:var(--wpds-typography-line-height-sm,20px);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);line-height:var(--_wp-ui-menu-item-label-line-height)}._33f07ab17005471d__list,.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{--wp-ui-menu-group-prefix-gap:0px;display:grid;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];min-width:0}.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{grid-column:1/-1}._33f07ab17005471d__list:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.e05914e1005d7c2e__radio-group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.f11085533c0056b0__group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix){--wp-ui-menu-group-prefix-gap:var(--wpds-dimension-gap-xs,4px)}._4a0fd085d76fd23c__group-label{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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);grid-column:prefix-start/content-end;line-height:var(--wpds-typography-line-height-xs,16px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));min-height:var(--wpds-dimension-size-sm,24px);min-width:0;padding-block:var(--wpds-dimension-padding-xs,4px);text-transform:uppercase}.bfc11368eadf3b39__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);grid-column:prefix-start/content-end;height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));@media (forced-colors:active){background-color:CanvasText}}._5c913bce0d8bb0d6__item{--wp-ui-menu-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-menu-item-padding-block:var(--wpds-dimension-padding-xs,4px);--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);align-content:center;align-items:start;border-radius:var(--wpds-border-radius-sm,2px);display:grid;gap:0;grid-column:1/-1;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];justify-content:stretch;min-height:var(--wp-ui-menu-item-height);min-width:0;padding-block:var(--wp-ui-menu-item-padding-block);scroll-margin:var(--wp-ui-menu-popup-padding);text-decoration:none;user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&[href]{cursor:pointer}@supports (grid-template-columns:subgrid){grid-template-columns:subgrid}&[data-popup-open]:not([data-highlighted],[data-disabled],[aria-disabled=true]){background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-xs,1px) solid GrayText}}&[data-highlighted]:not([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);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){--_gcd-a-color:HighlightText;background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&:is([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&[data-highlighted]{--_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)));--_gcd-a-outline:var(--_gcd-div-outline)}@media (forced-colors:active){--_gcd-a-color:GrayText;color:GrayText}}}._42313b48c5459be3__item-selection-indicator,._64924ecabf65a5d6__item-prefix,.af879698ede76757__item-content{grid-row:1}._42313b48c5459be3__item-selection-indicator{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;grid-column:selection-start/selection-end;height:var(--_wp-ui-menu-item-label-line-height);justify-content:center;justify-self:center;margin-inline-end:var(--wpds-dimension-gap-xs,4px);pointer-events:none;width:var(--wp-ui-menu-selection-indicator-size);&[data-unchecked]{opacity:0}}._99c5bd141cbf516f__checkbox-selection-icon{translate:0 1px}._59aa9b3b3a651148__radio-selection-icon{fill:currentColor;height:var(--wpds-dimension-size-2xs,16px);width:var(--wpds-dimension-size-2xs,16px)}._64924ecabf65a5d6__item-prefix{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:prefix-start/prefix-end;justify-content:center;min-width:0}.a836378335a4cbf1__prefix-icon{align-self:flex-start;flex-shrink:0;margin-block-start:calc((var(--_wp-ui-menu-item-label-line-height) - var(--_wp-ui-menu-prefix-icon-size))/2)}.af879698ede76757__item-content{align-items:center;align-self:stretch;box-sizing:border-box;display:grid;grid-column:prefix-start/content-end;grid-template-columns:[label-start] minmax(0,1fr) [label-end suffix-start] auto [suffix-end shortcut-start] auto [shortcut-end trailing-start] auto [trailing-end];min-width:0;pointer-events:none;&._5c211f9edfe0ed66__has-prefix{grid-column:content-start/content-end}}._76f3e69cf2228139__item-descriptions{display:flex;flex-direction:column;grid-column:prefix-start/content-end;grid-row:2;min-width:0;padding-block-end:var(--wpds-dimension-padding-xs,4px);pointer-events:none}._5ed41da4abcf8958__item-label{--_gcd-heading-color:currentColor;--_gcd-p-line-height:var(--_wp-ui-menu-item-label-line-height);color:inherit;grid-column:label-start/label-end;line-height:var(--_wp-ui-menu-item-label-line-height);min-width:0;overflow-wrap:anywhere}.fa88c9f1a96a4c5a__item-description{--_gcd-heading-color:var(--wpds-color-foreground-content-neutral-weak,#707070);color:var(--wpds-color-foreground-content-neutral-weak,#707070);overflow-wrap:anywhere}.af879698ede76757__item-content>._091406749ed93e6e__item-suffix{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:suffix-start/suffix-end;margin-inline-start:var(--wpds-dimension-gap-md,12px)}.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{grid-column:shortcut-start/shortcut-end}._06be17a91bf434a0__item-trailing,.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{color:var(--wpds-color-foreground-content-neutral-weak,#707070);margin-inline-start:var(--wpds-dimension-gap-md,12px)}._06be17a91bf434a0__item-trailing{align-items:center;display:flex;grid-column:trailing-start/trailing-end}._5ed41da4abcf8958__item-label+:is(._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){margin-inline-start:var(--wpds-dimension-gap-xl,24px)}._23630f40071a29ff__item-shortcut+._06be17a91bf434a0__item-trailing{margin-inline-start:var(--wpds-dimension-gap-xs,4px)}.b78aec79bf93eba0__submenu-chevron{margin-inline-end:calc(var(--wpds-dimension-gap-sm, 8px)*-1)}.b78aec79bf93eba0__submenu-chevron:dir(rtl){transform:rotate(180deg)}._60da3b6f9718cf76__external-link-indicator{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px);text-decoration:none}._60da3b6f9718cf76__external-link-indicator:after{content:"\\2197"}._60da3b6f9718cf76__external-link-indicator:dir(rtl):after{content:"\\2196"}._5c913bce0d8bb0d6__item:is([data-highlighted],[data-disabled],[aria-disabled=true]) ._42313b48c5459be3__item-selection-indicator,._5c913bce0d8bb0d6__item:is([data-highlighted],[data-popup-open],[data-disabled],[aria-disabled=true]) :is(.fa88c9f1a96a4c5a__item-description,._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){--_gcd-heading-color:currentColor;color:inherit}}}');
21655  }
21656  var style_default15 = { "positioner": "d61e2d85c0ee0699__positioner", "popup": "_34e81249f419a5a5__popup", "item-selection-indicator": "_42313b48c5459be3__item-selection-indicator", "is-root": "_087a537b24fee6a1__is-root _380b81b8f79fb10f__dropdown-motion", "is-submenu": "_6d3b567f6289bdc2__is-submenu _7f344b94e270e039__dropdown-motion--fade-only", "list": "_33f07ab17005471d__list", "group": "f11085533c0056b0__group", "radio-group": "e05914e1005d7c2e__radio-group", "item": "_5c913bce0d8bb0d6__item", "item-prefix": "_64924ecabf65a5d6__item-prefix", "group-label": "_4a0fd085d76fd23c__group-label", "separator": "bfc11368eadf3b39__separator", "item-content": "af879698ede76757__item-content", "checkbox-selection-icon": "_99c5bd141cbf516f__checkbox-selection-icon", "radio-selection-icon": "_59aa9b3b3a651148__radio-selection-icon", "prefix-icon": "a836378335a4cbf1__prefix-icon", "has-prefix": "_5c211f9edfe0ed66__has-prefix", "item-descriptions": "_76f3e69cf2228139__item-descriptions", "item-label": "_5ed41da4abcf8958__item-label", "item-description": "fa88c9f1a96a4c5a__item-description", "item-suffix": "_091406749ed93e6e__item-suffix", "item-shortcut": "_23630f40071a29ff__item-shortcut", "item-trailing": "_06be17a91bf434a0__item-trailing", "submenu-chevron": "b78aec79bf93eba0__submenu-chevron", "external-link-indicator": "_60da3b6f9718cf76__external-link-indicator" };
21657  var Separator2 = (0, import_element36.forwardRef)(
21658    function MenuSeparator({ className, ...props }, ref) {
21659      return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
21660        index_parts_exports.Separator,
21661        {
21662          ref,
21663          className: clsx_default(style_default15.separator, className),
21664          ...props
21665        }
21666      );
21667    }
21668  );
21669  
21670  // packages/ui/build-module/menu/submenu-root.mjs
21671  var import_element37 = __toESM(require_element(), 1);
21672  var import_jsx_runtime91 = __toESM(require_jsx_runtime(), 1);
21673  function SubmenuRoot(props) {
21674    const submenuTriggerRef = (0, import_element37.useRef)(null);
21675    return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(MenuContext.Provider, { value: { isSubmenu: true, submenuTriggerRef }, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(MenuGroupContext2.Provider, { value: null, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(index_parts_exports.SubmenuRoot, { ...props }) }) });
21676  }
21677  
21678  // packages/ui/build-module/menu/submenu-trigger.mjs
21679  var import_element38 = __toESM(require_element(), 1);
21680  var import_compose2 = __toESM(require_compose(), 1);
21681  var import_jsx_runtime92 = __toESM(require_jsx_runtime(), 1);
21682  var STYLE_HASH_ATTRIBUTE17 = "data-wp-hash";
21683  function getRuntime17() {
21684    const globalScope = globalThis;
21685    if (globalScope.__wpStyleRuntime) {
21686      return globalScope.__wpStyleRuntime;
21687    }
21688    globalScope.__wpStyleRuntime = {
21689      documents: /* @__PURE__ */ new Map(),
21690      styles: /* @__PURE__ */ new Map(),
21691      injectedStyles: /* @__PURE__ */ new WeakMap()
21692    };
21693    if (typeof document !== "undefined") {
21694      registerDocument17(document);
21695    }
21696    return globalScope.__wpStyleRuntime;
21697  }
21698  function documentContainsStyleHash17(targetDocument, hash) {
21699    if (!targetDocument.head) {
21700      return false;
21701    }
21702    for (const style of targetDocument.head.querySelectorAll(
21703      `style[$STYLE_HASH_ATTRIBUTE17}]`
21704    )) {
21705      if (style.getAttribute(STYLE_HASH_ATTRIBUTE17) === hash) {
21706        return true;
21707      }
21708    }
21709    return false;
21710  }
21711  function injectStyle17(targetDocument, hash, css) {
21712    if (!targetDocument.head) {
21713      return;
21714    }
21715    const runtime = getRuntime17();
21716    let injectedStyles = runtime.injectedStyles.get(targetDocument);
21717    if (!injectedStyles) {
21718      injectedStyles = /* @__PURE__ */ new Set();
21719      runtime.injectedStyles.set(targetDocument, injectedStyles);
21720    }
21721    if (injectedStyles.has(hash)) {
21722      return;
21723    }
21724    if (documentContainsStyleHash17(targetDocument, hash)) {
21725      injectedStyles.add(hash);
21726      return;
21727    }
21728    const style = targetDocument.createElement("style");
21729    style.setAttribute(STYLE_HASH_ATTRIBUTE17, hash);
21730    style.appendChild(targetDocument.createTextNode(css));
21731    targetDocument.head.appendChild(style);
21732    injectedStyles.add(hash);
21733  }
21734  function registerDocument17(targetDocument) {
21735    const runtime = getRuntime17();
21736    runtime.documents.set(
21737      targetDocument,
21738      (runtime.documents.get(targetDocument) ?? 0) + 1
21739    );
21740    for (const [hash, css] of runtime.styles) {
21741      injectStyle17(targetDocument, hash, css);
21742    }
21743    return () => {
21744      const count = runtime.documents.get(targetDocument);
21745      if (count === void 0) {
21746        return;
21747      }
21748      if (count <= 1) {
21749        runtime.documents.delete(targetDocument);
21750        return;
21751      }
21752      runtime.documents.set(targetDocument, count - 1);
21753    };
21754  }
21755  function registerStyle17(hash, css) {
21756    const runtime = getRuntime17();
21757    runtime.styles.set(hash, css);
21758    for (const targetDocument of runtime.documents.keys()) {
21759      injectStyle17(targetDocument, hash, css);
21760    }
21761  }
21762  if (typeof process === "undefined" || true) {
21763    registerStyle17("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)}");
21764  }
21765  var global_css_defense_default6 = { "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" };
21766  if (typeof process === "undefined" || true) {
21767    registerStyle17("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
21768  }
21769  var resets_default6 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
21770  if (typeof process === "undefined" || true) {
21771    registerStyle17("35c74d3f9f", '@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 components{.d61e2d85c0ee0699__positioner{z-index:var(--wp-ui-menu-z-index,initial)}._34e81249f419a5a5__popup{--wp-ui-menu-popup-padding:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-min-width:160px;--wp-ui-menu-max-width:var(--wpds-dimension-surface-width-sm,320px);--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-item-padding-inline-end:var(--wpds-dimension-padding-sm,8px);--_wp-ui-menu-group-head-padding-base:var(--wpds-dimension-padding-sm,8px);--wp-ui-menu-group-head-padding-inline:var(--_wp-ui-menu-group-head-padding-base);--wp-ui-menu-selection-indicator-track-size:0px;--wp-ui-menu-selection-indicator-size:var(--wpds-dimension-size-2xs,16px);--wp-ui-menu-selection-indicator-gap:0px;--_wp-ui-menu-elevation-md:0px 2px 3px 0px #0000000d,0px 4px 5px 0px #0000000a,0px 12px 12px 0px #00000008,0px 16px 16px 0px #00000005;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-menu-elevation-md);max-height:min(var(--available-height),480px,60dvh);max-width:min(var(--available-width),var(--wp-ui-menu-max-width));min-width:min(var(--available-width),var(--wp-ui-menu-min-width));outline:none;overflow-block:auto;overscroll-behavior:none;padding:var(--wp-ui-menu-popup-padding);scroll-padding:var(--wp-ui-menu-popup-padding);&:has(._42313b48c5459be3__item-selection-indicator){--_wp-ui-menu-item-padding-inline-start:var(--wpds-dimension-padding-xs,4px);--wp-ui-menu-selection-indicator-track-size:var(--wpds-dimension-size-2xs,16px)}}._33f07ab17005471d__list{--_wp-ui-menu-item-label-line-height:var(--wpds-typography-line-height-sm,20px);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);line-height:var(--_wp-ui-menu-item-label-line-height)}._33f07ab17005471d__list,.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{--wp-ui-menu-group-prefix-gap:0px;display:grid;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];min-width:0}.e05914e1005d7c2e__radio-group,.f11085533c0056b0__group{grid-column:1/-1}._33f07ab17005471d__list:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.e05914e1005d7c2e__radio-group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix),.f11085533c0056b0__group:has(>._5c913bce0d8bb0d6__item>._64924ecabf65a5d6__item-prefix){--wp-ui-menu-group-prefix-gap:var(--wpds-dimension-gap-xs,4px)}._4a0fd085d76fd23c__group-label{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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);grid-column:prefix-start/content-end;line-height:var(--wpds-typography-line-height-xs,16px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));min-height:var(--wpds-dimension-size-sm,24px);min-width:0;padding-block:var(--wpds-dimension-padding-xs,4px);text-transform:uppercase}.bfc11368eadf3b39__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);grid-column:prefix-start/content-end;height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline:calc(var(--wp-ui-menu-group-head-padding-inline) - var(--_wp-ui-menu-group-head-padding-base));@media (forced-colors:active){background-color:CanvasText}}._5c913bce0d8bb0d6__item{--wp-ui-menu-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-menu-item-padding-block:var(--wpds-dimension-padding-xs,4px);--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);align-content:center;align-items:start;border-radius:var(--wpds-border-radius-sm,2px);display:grid;gap:0;grid-column:1/-1;grid-template-columns:[item-padding-start] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-start)) [selection-start] var(--wp-ui-menu-selection-indicator-track-size) [selection-end] var(--wp-ui-menu-selection-indicator-gap) [prefix-start] max-content [prefix-end] var(--wp-ui-menu-group-prefix-gap) [content-start] minmax(0,1fr) [content-end] var(--wp-ui-menu-item-padding-inline,var(--_wp-ui-menu-item-padding-inline-end)) [item-padding-end];justify-content:stretch;min-height:var(--wp-ui-menu-item-height);min-width:0;padding-block:var(--wp-ui-menu-item-padding-block);scroll-margin:var(--wp-ui-menu-popup-padding);text-decoration:none;user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&[href]{cursor:pointer}@supports (grid-template-columns:subgrid){grid-template-columns:subgrid}&[data-popup-open]:not([data-highlighted],[data-disabled],[aria-disabled=true]){background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-xs,1px) solid GrayText}}&[data-highlighted]:not([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);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){--_gcd-a-color:HighlightText;background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&:is([data-disabled],[aria-disabled=true]){--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&[data-highlighted]{--_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)));--_gcd-a-outline:var(--_gcd-div-outline)}@media (forced-colors:active){--_gcd-a-color:GrayText;color:GrayText}}}._42313b48c5459be3__item-selection-indicator,._64924ecabf65a5d6__item-prefix,.af879698ede76757__item-content{grid-row:1}._42313b48c5459be3__item-selection-indicator{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;grid-column:selection-start/selection-end;height:var(--_wp-ui-menu-item-label-line-height);justify-content:center;justify-self:center;margin-inline-end:var(--wpds-dimension-gap-xs,4px);pointer-events:none;width:var(--wp-ui-menu-selection-indicator-size);&[data-unchecked]{opacity:0}}._99c5bd141cbf516f__checkbox-selection-icon{translate:0 1px}._59aa9b3b3a651148__radio-selection-icon{fill:currentColor;height:var(--wpds-dimension-size-2xs,16px);width:var(--wpds-dimension-size-2xs,16px)}._64924ecabf65a5d6__item-prefix{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:prefix-start/prefix-end;justify-content:center;min-width:0}.a836378335a4cbf1__prefix-icon{align-self:flex-start;flex-shrink:0;margin-block-start:calc((var(--_wp-ui-menu-item-label-line-height) - var(--_wp-ui-menu-prefix-icon-size))/2)}.af879698ede76757__item-content{align-items:center;align-self:stretch;box-sizing:border-box;display:grid;grid-column:prefix-start/content-end;grid-template-columns:[label-start] minmax(0,1fr) [label-end suffix-start] auto [suffix-end shortcut-start] auto [shortcut-end trailing-start] auto [trailing-end];min-width:0;pointer-events:none;&._5c211f9edfe0ed66__has-prefix{grid-column:content-start/content-end}}._76f3e69cf2228139__item-descriptions{display:flex;flex-direction:column;grid-column:prefix-start/content-end;grid-row:2;min-width:0;padding-block-end:var(--wpds-dimension-padding-xs,4px);pointer-events:none}._5ed41da4abcf8958__item-label{--_gcd-heading-color:currentColor;--_gcd-p-line-height:var(--_wp-ui-menu-item-label-line-height);color:inherit;grid-column:label-start/label-end;line-height:var(--_wp-ui-menu-item-label-line-height);min-width:0;overflow-wrap:anywhere}.fa88c9f1a96a4c5a__item-description{--_gcd-heading-color:var(--wpds-color-foreground-content-neutral-weak,#707070);color:var(--wpds-color-foreground-content-neutral-weak,#707070);overflow-wrap:anywhere}.af879698ede76757__item-content>._091406749ed93e6e__item-suffix{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;gap:var(--wpds-dimension-gap-xs,4px);grid-column:suffix-start/suffix-end;margin-inline-start:var(--wpds-dimension-gap-md,12px)}.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{grid-column:shortcut-start/shortcut-end}._06be17a91bf434a0__item-trailing,.af879698ede76757__item-content>._23630f40071a29ff__item-shortcut{color:var(--wpds-color-foreground-content-neutral-weak,#707070);margin-inline-start:var(--wpds-dimension-gap-md,12px)}._06be17a91bf434a0__item-trailing{align-items:center;display:flex;grid-column:trailing-start/trailing-end}._5ed41da4abcf8958__item-label+:is(._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){margin-inline-start:var(--wpds-dimension-gap-xl,24px)}._23630f40071a29ff__item-shortcut+._06be17a91bf434a0__item-trailing{margin-inline-start:var(--wpds-dimension-gap-xs,4px)}.b78aec79bf93eba0__submenu-chevron{margin-inline-end:calc(var(--wpds-dimension-gap-sm, 8px)*-1)}.b78aec79bf93eba0__submenu-chevron:dir(rtl){transform:rotate(180deg)}._60da3b6f9718cf76__external-link-indicator{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px);text-decoration:none}._60da3b6f9718cf76__external-link-indicator:after{content:"\\2197"}._60da3b6f9718cf76__external-link-indicator:dir(rtl):after{content:"\\2196"}._5c913bce0d8bb0d6__item:is([data-highlighted],[data-disabled],[aria-disabled=true]) ._42313b48c5459be3__item-selection-indicator,._5c913bce0d8bb0d6__item:is([data-highlighted],[data-popup-open],[data-disabled],[aria-disabled=true]) :is(.fa88c9f1a96a4c5a__item-description,._091406749ed93e6e__item-suffix,._23630f40071a29ff__item-shortcut,._06be17a91bf434a0__item-trailing){--_gcd-heading-color:currentColor;color:inherit}}}');
21772  }
21773  var style_default16 = { "positioner": "d61e2d85c0ee0699__positioner", "popup": "_34e81249f419a5a5__popup", "item-selection-indicator": "_42313b48c5459be3__item-selection-indicator", "is-root": "_087a537b24fee6a1__is-root _380b81b8f79fb10f__dropdown-motion", "is-submenu": "_6d3b567f6289bdc2__is-submenu _7f344b94e270e039__dropdown-motion--fade-only", "list": "_33f07ab17005471d__list", "group": "f11085533c0056b0__group", "radio-group": "e05914e1005d7c2e__radio-group", "item": "_5c913bce0d8bb0d6__item", "item-prefix": "_64924ecabf65a5d6__item-prefix", "group-label": "_4a0fd085d76fd23c__group-label", "separator": "bfc11368eadf3b39__separator", "item-content": "af879698ede76757__item-content", "checkbox-selection-icon": "_99c5bd141cbf516f__checkbox-selection-icon", "radio-selection-icon": "_59aa9b3b3a651148__radio-selection-icon", "prefix-icon": "a836378335a4cbf1__prefix-icon", "has-prefix": "_5c211f9edfe0ed66__has-prefix", "item-descriptions": "_76f3e69cf2228139__item-descriptions", "item-label": "_5ed41da4abcf8958__item-label", "item-description": "fa88c9f1a96a4c5a__item-description", "item-suffix": "_091406749ed93e6e__item-suffix", "item-shortcut": "_23630f40071a29ff__item-shortcut", "item-trailing": "_06be17a91bf434a0__item-trailing", "submenu-chevron": "b78aec79bf93eba0__submenu-chevron", "external-link-indicator": "_60da3b6f9718cf76__external-link-indicator" };
21774  var SubmenuTrigger = (0, import_element38.forwardRef)(
21775    function MenuSubmenuTrigger3({
21776      children,
21777      className,
21778      prefix,
21779      shortcut,
21780      suffix,
21781      "aria-describedby": ariaDescribedBy,
21782      "aria-keyshortcuts": ariaKeyShortcuts,
21783      "aria-label": ariaLabel,
21784      "aria-labelledby": ariaLabelledBy,
21785      ...props
21786    }, ref) {
21787      const { submenuTriggerRef } = useMenuContext();
21788      const mergedRef = (0, import_compose2.useMergeRefs)([ref, submenuTriggerRef ?? null]);
21789      const {
21790        contentChildren,
21791        contentContextValue,
21792        itemAriaProps,
21793        shortcutDescriptionId
21794      } = useItemContent2(children, {
21795        "aria-describedby": ariaDescribedBy,
21796        "aria-keyshortcuts": ariaKeyShortcuts,
21797        "aria-label": ariaLabel,
21798        "aria-labelledby": ariaLabelledBy,
21799        shortcut
21800      });
21801      return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
21802        index_parts_exports.SubmenuTrigger,
21803        {
21804          ref: mergedRef,
21805          ...itemAriaProps,
21806          className: clsx_default(
21807            global_css_defense_default6.div,
21808            resets_default6["box-sizing"],
21809            style_default16.item,
21810            className
21811          ),
21812          ...props,
21813          children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(MenuItemContentContext.Provider, { value: contentContextValue, children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
21814            ItemContent,
21815            {
21816              prefix,
21817              shortcut,
21818              shortcutDescriptionId,
21819              suffix,
21820              trailing: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
21821                Icon,
21822                {
21823                  className: style_default16["submenu-chevron"],
21824                  icon: chevron_right_small_default,
21825                  size: 24,
21826                  "aria-hidden": "true"
21827                }
21828              ),
21829              children: contentChildren
21830            }
21831          ) })
21832        }
21833      );
21834    }
21835  );
21836  
21837  // packages/ui/build-module/menu/trigger.mjs
21838  var import_element39 = __toESM(require_element(), 1);
21839  var import_jsx_runtime93 = __toESM(require_jsx_runtime(), 1);
21840  var Trigger = (0, import_element39.forwardRef)(
21841    function MenuTrigger3(props, ref) {
21842      return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(index_parts_exports.Trigger, { ref, ...props });
21843    }
21844  );
21845  
21846  // packages/ui/build-module/tooltip/index.mjs
21847  var tooltip_exports = {};
21848  __export(tooltip_exports, {
21849    Popup: () => Popup2,
21850    Portal: () => Portal2,
21851    Positioner: () => Positioner2,
21852    Provider: () => Provider,
21853    Root: () => Root2,
21854    Trigger: () => Trigger2
21855  });
21856  
21857  // packages/ui/build-module/tooltip/popup.mjs
21858  var import_element42 = __toESM(require_element(), 1);
21859  
21860  // packages/ui/build-module/tooltip/portal.mjs
21861  var import_element40 = __toESM(require_element(), 1);
21862  var import_jsx_runtime94 = __toESM(require_jsx_runtime(), 1);
21863  var Portal2 = (0, import_element40.forwardRef)(
21864    function TooltipPortal3({ container, ...restProps }, ref) {
21865      return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
21866        index_parts_exports4.Portal,
21867        {
21868          container: container === void 0 ? getWpCompatOverlaySlot() : container,
21869          ...restProps,
21870          ref
21871        }
21872      );
21873    }
21874  );
21875  
21876  // packages/ui/build-module/tooltip/positioner.mjs
21877  var import_element41 = __toESM(require_element(), 1);
21878  var import_jsx_runtime95 = __toESM(require_jsx_runtime(), 1);
21879  var STYLE_HASH_ATTRIBUTE18 = "data-wp-hash";
21880  function getRuntime18() {
21881    const globalScope = globalThis;
21882    if (globalScope.__wpStyleRuntime) {
21883      return globalScope.__wpStyleRuntime;
21884    }
21885    globalScope.__wpStyleRuntime = {
21886      documents: /* @__PURE__ */ new Map(),
21887      styles: /* @__PURE__ */ new Map(),
21888      injectedStyles: /* @__PURE__ */ new WeakMap()
21889    };
21890    if (typeof document !== "undefined") {
21891      registerDocument18(document);
21892    }
21893    return globalScope.__wpStyleRuntime;
21894  }
21895  function documentContainsStyleHash18(targetDocument, hash) {
21896    if (!targetDocument.head) {
21897      return false;
21898    }
21899    for (const style of targetDocument.head.querySelectorAll(
21900      `style[$STYLE_HASH_ATTRIBUTE18}]`
21901    )) {
21902      if (style.getAttribute(STYLE_HASH_ATTRIBUTE18) === hash) {
21903        return true;
21904      }
21905    }
21906    return false;
21907  }
21908  function injectStyle18(targetDocument, hash, css) {
21909    if (!targetDocument.head) {
21910      return;
21911    }
21912    const runtime = getRuntime18();
21913    let injectedStyles = runtime.injectedStyles.get(targetDocument);
21914    if (!injectedStyles) {
21915      injectedStyles = /* @__PURE__ */ new Set();
21916      runtime.injectedStyles.set(targetDocument, injectedStyles);
21917    }
21918    if (injectedStyles.has(hash)) {
21919      return;
21920    }
21921    if (documentContainsStyleHash18(targetDocument, hash)) {
21922      injectedStyles.add(hash);
21923      return;
21924    }
21925    const style = targetDocument.createElement("style");
21926    style.setAttribute(STYLE_HASH_ATTRIBUTE18, hash);
21927    style.appendChild(targetDocument.createTextNode(css));
21928    targetDocument.head.appendChild(style);
21929    injectedStyles.add(hash);
21930  }
21931  function registerDocument18(targetDocument) {
21932    const runtime = getRuntime18();
21933    runtime.documents.set(
21934      targetDocument,
21935      (runtime.documents.get(targetDocument) ?? 0) + 1
21936    );
21937    for (const [hash, css] of runtime.styles) {
21938      injectStyle18(targetDocument, hash, css);
21939    }
21940    return () => {
21941      const count = runtime.documents.get(targetDocument);
21942      if (count === void 0) {
21943        return;
21944      }
21945      if (count <= 1) {
21946        runtime.documents.delete(targetDocument);
21947        return;
21948      }
21949      runtime.documents.set(targetDocument, count - 1);
21950    };
21951  }
21952  function registerStyle18(hash, css) {
21953    const runtime = getRuntime18();
21954    runtime.styles.set(hash, css);
21955    for (const targetDocument of runtime.documents.keys()) {
21956      injectStyle18(targetDocument, hash, css);
21957    }
21958  }
21959  if (typeof process === "undefined" || true) {
21960    registerStyle18("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
21961  }
21962  var resets_default7 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
21963  if (typeof process === "undefined" || true) {
21964    registerStyle18("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}}}}');
21965  }
21966  var style_default17 = { "positioner": "_480b748dd3510e64__positioner", "popup": "_50096b232db7709d__popup" };
21967  var Positioner2 = (0, import_element41.forwardRef)(
21968    function TooltipPositioner3({ align = "center", className, side = "top", sideOffset = 4, ...props }, ref) {
21969      return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
21970        index_parts_exports4.Positioner,
21971        {
21972          ref,
21973          align,
21974          side,
21975          sideOffset,
21976          ...props,
21977          className: clsx_default(
21978            resets_default7["box-sizing"],
21979            style_default17.positioner,
21980            className
21981          )
21982        }
21983      );
21984    }
21985  );
21986  
21987  // packages/ui/build-module/utils/theme-provider.mjs
21988  var theme = __toESM(require_theme(), 1);
21989  
21990  // packages/ui/build-module/lock-unlock.mjs
21991  var import_private_apis = __toESM(require_private_apis(), 1);
21992  var { lock, unlock } = (0, import_private_apis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
21993    "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
21994    "@wordpress/ui"
21995  );
21996  
21997  // packages/ui/build-module/utils/theme-provider.mjs
21998  function getThemeProvider() {
21999    const themePackage = theme;
22000    if (themePackage.ThemeProvider) {
22001      return themePackage.ThemeProvider;
22002    }
22003    if (!themePackage.privateApis) {
22004      throw new Error(
22005        "@wordpress/ui: @wordpress/theme must expose `ThemeProvider` or `privateApis.ThemeProvider`."
22006      );
22007    }
22008    return unlock(
22009      themePackage.privateApis
22010    ).ThemeProvider;
22011  }
22012  var ThemeProvider = getThemeProvider();
22013  
22014  // packages/ui/build-module/tooltip/popup.mjs
22015  var import_jsx_runtime96 = __toESM(require_jsx_runtime(), 1);
22016  var STYLE_HASH_ATTRIBUTE19 = "data-wp-hash";
22017  function getRuntime19() {
22018    const globalScope = globalThis;
22019    if (globalScope.__wpStyleRuntime) {
22020      return globalScope.__wpStyleRuntime;
22021    }
22022    globalScope.__wpStyleRuntime = {
22023      documents: /* @__PURE__ */ new Map(),
22024      styles: /* @__PURE__ */ new Map(),
22025      injectedStyles: /* @__PURE__ */ new WeakMap()
22026    };
22027    if (typeof document !== "undefined") {
22028      registerDocument19(document);
22029    }
22030    return globalScope.__wpStyleRuntime;
22031  }
22032  function documentContainsStyleHash19(targetDocument, hash) {
22033    if (!targetDocument.head) {
22034      return false;
22035    }
22036    for (const style of targetDocument.head.querySelectorAll(
22037      `style[$STYLE_HASH_ATTRIBUTE19}]`
22038    )) {
22039      if (style.getAttribute(STYLE_HASH_ATTRIBUTE19) === hash) {
22040        return true;
22041      }
22042    }
22043    return false;
22044  }
22045  function injectStyle19(targetDocument, hash, css) {
22046    if (!targetDocument.head) {
22047      return;
22048    }
22049    const runtime = getRuntime19();
22050    let injectedStyles = runtime.injectedStyles.get(targetDocument);
22051    if (!injectedStyles) {
22052      injectedStyles = /* @__PURE__ */ new Set();
22053      runtime.injectedStyles.set(targetDocument, injectedStyles);
22054    }
22055    if (injectedStyles.has(hash)) {
22056      return;
22057    }
22058    if (documentContainsStyleHash19(targetDocument, hash)) {
22059      injectedStyles.add(hash);
22060      return;
22061    }
22062    const style = targetDocument.createElement("style");
22063    style.setAttribute(STYLE_HASH_ATTRIBUTE19, hash);
22064    style.appendChild(targetDocument.createTextNode(css));
22065    targetDocument.head.appendChild(style);
22066    injectedStyles.add(hash);
22067  }
22068  function registerDocument19(targetDocument) {
22069    const runtime = getRuntime19();
22070    runtime.documents.set(
22071      targetDocument,
22072      (runtime.documents.get(targetDocument) ?? 0) + 1
22073    );
22074    for (const [hash, css] of runtime.styles) {
22075      injectStyle19(targetDocument, hash, css);
22076    }
22077    return () => {
22078      const count = runtime.documents.get(targetDocument);
22079      if (count === void 0) {
22080        return;
22081      }
22082      if (count <= 1) {
22083        runtime.documents.delete(targetDocument);
22084        return;
22085      }
22086      runtime.documents.set(targetDocument, count - 1);
22087    };
22088  }
22089  function registerStyle19(hash, css) {
22090    const runtime = getRuntime19();
22091    runtime.styles.set(hash, css);
22092    for (const targetDocument of runtime.documents.keys()) {
22093      injectStyle19(targetDocument, hash, css);
22094    }
22095  }
22096  if (typeof process === "undefined" || true) {
22097    registerStyle19("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}}}}');
22098  }
22099  var style_default18 = { "positioner": "_480b748dd3510e64__positioner", "popup": "_50096b232db7709d__popup" };
22100  var POPUP_COLOR = { background: "#1e1e1e" };
22101  var Popup2 = (0, import_element42.forwardRef)(function TooltipPopup3({ portal, positioner, children, className, ...props }, ref) {
22102    const popupContent = /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(ThemeProvider, { color: POPUP_COLOR, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
22103      index_parts_exports4.Popup,
22104      {
22105        ref,
22106        className: clsx_default(style_default18.popup, className),
22107        ...props,
22108        children
22109      }
22110    ) });
22111    const positionedPopup = renderSlotWithChildren(
22112      positioner,
22113      /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Positioner2, {}),
22114      popupContent
22115    );
22116    return renderSlotWithChildren(portal, /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Portal2, {}), positionedPopup);
22117  });
22118  
22119  // packages/ui/build-module/tooltip/trigger.mjs
22120  var import_element43 = __toESM(require_element(), 1);
22121  var import_jsx_runtime97 = __toESM(require_jsx_runtime(), 1);
22122  var Trigger2 = (0, import_element43.forwardRef)(
22123    function TooltipTrigger3(props, ref) {
22124      return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(index_parts_exports4.Trigger, { ref, ...props });
22125    }
22126  );
22127  
22128  // packages/ui/build-module/tooltip/root.mjs
22129  var import_jsx_runtime98 = __toESM(require_jsx_runtime(), 1);
22130  function Root2(props) {
22131    return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(DirectionProvider3, { children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(index_parts_exports4.Root, { ...props }) });
22132  }
22133  
22134  // packages/ui/build-module/tooltip/provider.mjs
22135  var import_jsx_runtime99 = __toESM(require_jsx_runtime(), 1);
22136  function Provider({ ...props }) {
22137    return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(index_parts_exports4.Provider, { ...props });
22138  }
22139  
22140  // packages/ui/build-module/link/link.mjs
22141  var import_element44 = __toESM(require_element(), 1);
22142  var import_i18n4 = __toESM(require_i18n(), 1);
22143  var import_jsx_runtime100 = __toESM(require_jsx_runtime(), 1);
22144  var STYLE_HASH_ATTRIBUTE20 = "data-wp-hash";
22145  function getRuntime20() {
22146    const globalScope = globalThis;
22147    if (globalScope.__wpStyleRuntime) {
22148      return globalScope.__wpStyleRuntime;
22149    }
22150    globalScope.__wpStyleRuntime = {
22151      documents: /* @__PURE__ */ new Map(),
22152      styles: /* @__PURE__ */ new Map(),
22153      injectedStyles: /* @__PURE__ */ new WeakMap()
22154    };
22155    if (typeof document !== "undefined") {
22156      registerDocument20(document);
22157    }
22158    return globalScope.__wpStyleRuntime;
22159  }
22160  function documentContainsStyleHash20(targetDocument, hash) {
22161    if (!targetDocument.head) {
22162      return false;
22163    }
22164    for (const style of targetDocument.head.querySelectorAll(
22165      `style[$STYLE_HASH_ATTRIBUTE20}]`
22166    )) {
22167      if (style.getAttribute(STYLE_HASH_ATTRIBUTE20) === hash) {
22168        return true;
22169      }
22170    }
22171    return false;
22172  }
22173  function injectStyle20(targetDocument, hash, css) {
22174    if (!targetDocument.head) {
22175      return;
22176    }
22177    const runtime = getRuntime20();
22178    let injectedStyles = runtime.injectedStyles.get(targetDocument);
22179    if (!injectedStyles) {
22180      injectedStyles = /* @__PURE__ */ new Set();
22181      runtime.injectedStyles.set(targetDocument, injectedStyles);
22182    }
22183    if (injectedStyles.has(hash)) {
22184      return;
22185    }
22186    if (documentContainsStyleHash20(targetDocument, hash)) {
22187      injectedStyles.add(hash);
22188      return;
22189    }
22190    const style = targetDocument.createElement("style");
22191    style.setAttribute(STYLE_HASH_ATTRIBUTE20, hash);
22192    style.appendChild(targetDocument.createTextNode(css));
22193    targetDocument.head.appendChild(style);
22194    injectedStyles.add(hash);
22195  }
22196  function registerDocument20(targetDocument) {
22197    const runtime = getRuntime20();
22198    runtime.documents.set(
22199      targetDocument,
22200      (runtime.documents.get(targetDocument) ?? 0) + 1
22201    );
22202    for (const [hash, css] of runtime.styles) {
22203      injectStyle20(targetDocument, hash, css);
22204    }
22205    return () => {
22206      const count = runtime.documents.get(targetDocument);
22207      if (count === void 0) {
22208        return;
22209      }
22210      if (count <= 1) {
22211        runtime.documents.delete(targetDocument);
22212        return;
22213      }
22214      runtime.documents.set(targetDocument, count - 1);
22215    };
22216  }
22217  function registerStyle20(hash, css) {
22218    const runtime = getRuntime20();
22219    runtime.styles.set(hash, css);
22220    for (const targetDocument of runtime.documents.keys()) {
22221      injectStyle20(targetDocument, hash, css);
22222    }
22223  }
22224  if (typeof process === "undefined" || true) {
22225    registerStyle20("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
22226  }
22227  var resets_default8 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
22228  if (typeof process === "undefined" || true) {
22229    registerStyle20("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))}}}");
22230  }
22231  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" };
22232  if (typeof process === "undefined" || true) {
22233    registerStyle20("888e86d20a", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.d4250949359b05ce__link{--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);border-radius:var(--wpds-border-radius-sm,2px);text-decoration-thickness:from-font;text-underline-offset:.2em}.f037c632480d4e11__link-with-icon{text-decoration-line:none}._8dc7567f9ff415bf__link-contents{text-decoration:inherit;text-decoration-line:underline}.c6055659b8e2cd2c__is-brand,.c6055659b8e2cd2c__is-brand:visited{--_gcd-a-color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9));color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9))}.c6055659b8e2cd2c__is-brand:active,.c6055659b8e2cd2c__is-brand:hover{--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000));color:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000))}._92e0dfcaeee15b88__is-neutral,._92e0dfcaeee15b88__is-neutral:visited{--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);text-decoration-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d)}._92e0dfcaeee15b88__is-neutral:active,._92e0dfcaeee15b88__is-neutral:hover{--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e)}.cf122a9bf1035d42__is-unstyled{--_gcd-a-border-radius:0;--_gcd-a-color:inherit;color:inherit;text-decoration:none}._0cb411afac4c86c7__link-icon{font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-padding-xs,4px);text-decoration:none}._0cb411afac4c86c7__link-icon:after{content:"\\2060\\2197"}._0cb411afac4c86c7__link-icon:dir(rtl):after{content:"\\2060\\2196"}}}');
22234  }
22235  var style_default19 = { "link": "d4250949359b05ce__link", "link-with-icon": "f037c632480d4e11__link-with-icon", "link-contents": "_8dc7567f9ff415bf__link-contents", "is-brand": "c6055659b8e2cd2c__is-brand", "is-neutral": "_92e0dfcaeee15b88__is-neutral", "is-unstyled": "cf122a9bf1035d42__is-unstyled", "link-icon": "_0cb411afac4c86c7__link-icon" };
22236  if (typeof process === "undefined" || true) {
22237    registerStyle20("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)}");
22238  }
22239  var global_css_defense_default7 = { "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" };
22240  var Link = (0, import_element44.forwardRef)(
22241    function UnforwardedLink({
22242      children,
22243      variant = "default",
22244      tone = "brand",
22245      openInNewTab = false,
22246      target,
22247      render,
22248      className,
22249      ...props
22250    }, ref) {
22251      const shouldShowNewTabIndicator = openInNewTab || /^_blank$/i.test(target ?? "");
22252      const element = useRender({
22253        render,
22254        defaultTagName: "a",
22255        ref,
22256        props: mergeProps(props, {
22257          className: clsx_default(
22258            global_css_defense_default7.a,
22259            resets_default8["box-sizing"],
22260            focus_module_default["outset-ring--focus-except-active"],
22261            variant !== "unstyled" && style_default19.link,
22262            variant !== "unstyled" && shouldShowNewTabIndicator && style_default19["link-with-icon"],
22263            variant !== "unstyled" && style_default19[`is-$tone}`],
22264            variant === "unstyled" && style_default19["is-unstyled"],
22265            className
22266          ),
22267          target: target ?? (openInNewTab ? "_blank" : void 0),
22268          children: /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_jsx_runtime100.Fragment, { children: [
22269            shouldShowNewTabIndicator && variant !== "unstyled" ? /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("span", { className: style_default19["link-contents"], children }) : children,
22270            shouldShowNewTabIndicator && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
22271              "span",
22272              {
22273                className: style_default19["link-icon"],
22274                role: "img",
22275                "aria-label": (
22276                  /* translators: accessibility text appended to link text */
22277                  (0, import_i18n4.__)("(opens in a new tab)")
22278                )
22279              }
22280            )
22281          ] })
22282        })
22283      });
22284      return element;
22285    }
22286  );
22287  
22288  // packages/ui/build-module/stack/stack.mjs
22289  var import_element45 = __toESM(require_element(), 1);
22290  var STYLE_HASH_ATTRIBUTE21 = "data-wp-hash";
22291  function getRuntime21() {
22292    const globalScope = globalThis;
22293    if (globalScope.__wpStyleRuntime) {
22294      return globalScope.__wpStyleRuntime;
22295    }
22296    globalScope.__wpStyleRuntime = {
22297      documents: /* @__PURE__ */ new Map(),
22298      styles: /* @__PURE__ */ new Map(),
22299      injectedStyles: /* @__PURE__ */ new WeakMap()
22300    };
22301    if (typeof document !== "undefined") {
22302      registerDocument21(document);
22303    }
22304    return globalScope.__wpStyleRuntime;
22305  }
22306  function documentContainsStyleHash21(targetDocument, hash) {
22307    if (!targetDocument.head) {
22308      return false;
22309    }
22310    for (const style of targetDocument.head.querySelectorAll(
22311      `style[$STYLE_HASH_ATTRIBUTE21}]`
22312    )) {
22313      if (style.getAttribute(STYLE_HASH_ATTRIBUTE21) === hash) {
22314        return true;
22315      }
22316    }
22317    return false;
22318  }
22319  function injectStyle21(targetDocument, hash, css) {
22320    if (!targetDocument.head) {
22321      return;
22322    }
22323    const runtime = getRuntime21();
22324    let injectedStyles = runtime.injectedStyles.get(targetDocument);
22325    if (!injectedStyles) {
22326      injectedStyles = /* @__PURE__ */ new Set();
22327      runtime.injectedStyles.set(targetDocument, injectedStyles);
22328    }
22329    if (injectedStyles.has(hash)) {
22330      return;
22331    }
22332    if (documentContainsStyleHash21(targetDocument, hash)) {
22333      injectedStyles.add(hash);
22334      return;
22335    }
22336    const style = targetDocument.createElement("style");
22337    style.setAttribute(STYLE_HASH_ATTRIBUTE21, hash);
22338    style.appendChild(targetDocument.createTextNode(css));
22339    targetDocument.head.appendChild(style);
22340    injectedStyles.add(hash);
22341  }
22342  function registerDocument21(targetDocument) {
22343    const runtime = getRuntime21();
22344    runtime.documents.set(
22345      targetDocument,
22346      (runtime.documents.get(targetDocument) ?? 0) + 1
22347    );
22348    for (const [hash, css] of runtime.styles) {
22349      injectStyle21(targetDocument, hash, css);
22350    }
22351    return () => {
22352      const count = runtime.documents.get(targetDocument);
22353      if (count === void 0) {
22354        return;
22355      }
22356      if (count <= 1) {
22357        runtime.documents.delete(targetDocument);
22358        return;
22359      }
22360      runtime.documents.set(targetDocument, count - 1);
22361    };
22362  }
22363  function registerStyle21(hash, css) {
22364    const runtime = getRuntime21();
22365    runtime.styles.set(hash, css);
22366    for (const targetDocument of runtime.documents.keys()) {
22367      injectStyle21(targetDocument, hash, css);
22368    }
22369  }
22370  if (typeof process === "undefined" || true) {
22371    registerStyle21("32aba35fe1", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._19ce0419607e1896__stack{display:flex}}}");
22372  }
22373  var style_default20 = { "stack": "_19ce0419607e1896__stack" };
22374  var gapTokens = {
22375    xs: "var(--wpds-dimension-gap-xs, 4px)",
22376    sm: "var(--wpds-dimension-gap-sm, 8px)",
22377    md: "var(--wpds-dimension-gap-md, 12px)",
22378    lg: "var(--wpds-dimension-gap-lg, 16px)",
22379    xl: "var(--wpds-dimension-gap-xl, 24px)",
22380    "2xl": "var(--wpds-dimension-gap-2xl, 32px)",
22381    "3xl": "var(--wpds-dimension-gap-3xl, 40px)"
22382  };
22383  var Stack = (0, import_element45.forwardRef)(
22384    function UnforwardedStack({ direction, gap, align, justify, wrap, render, ...props }, ref) {
22385      const style = {
22386        gap: gap && gapTokens[gap],
22387        alignItems: align,
22388        justifyContent: justify,
22389        flexDirection: direction,
22390        flexWrap: wrap
22391      };
22392      const element = useRender({
22393        render,
22394        ref,
22395        props: mergeProps(props, {
22396          style,
22397          className: style_default20.stack
22398        })
22399      });
22400      return element;
22401    }
22402  );
22403  
22404  // packages/ui/build-module/form/primitives/input-layout/input-layout.mjs
22405  var import_element46 = __toESM(require_element(), 1);
22406  var import_jsx_runtime101 = __toESM(require_jsx_runtime(), 1);
22407  var STYLE_HASH_ATTRIBUTE22 = "data-wp-hash";
22408  function getRuntime22() {
22409    const globalScope = globalThis;
22410    if (globalScope.__wpStyleRuntime) {
22411      return globalScope.__wpStyleRuntime;
22412    }
22413    globalScope.__wpStyleRuntime = {
22414      documents: /* @__PURE__ */ new Map(),
22415      styles: /* @__PURE__ */ new Map(),
22416      injectedStyles: /* @__PURE__ */ new WeakMap()
22417    };
22418    if (typeof document !== "undefined") {
22419      registerDocument22(document);
22420    }
22421    return globalScope.__wpStyleRuntime;
22422  }
22423  function documentContainsStyleHash22(targetDocument, hash) {
22424    if (!targetDocument.head) {
22425      return false;
22426    }
22427    for (const style of targetDocument.head.querySelectorAll(
22428      `style[$STYLE_HASH_ATTRIBUTE22}]`
22429    )) {
22430      if (style.getAttribute(STYLE_HASH_ATTRIBUTE22) === hash) {
22431        return true;
22432      }
22433    }
22434    return false;
22435  }
22436  function injectStyle22(targetDocument, hash, css) {
22437    if (!targetDocument.head) {
22438      return;
22439    }
22440    const runtime = getRuntime22();
22441    let injectedStyles = runtime.injectedStyles.get(targetDocument);
22442    if (!injectedStyles) {
22443      injectedStyles = /* @__PURE__ */ new Set();
22444      runtime.injectedStyles.set(targetDocument, injectedStyles);
22445    }
22446    if (injectedStyles.has(hash)) {
22447      return;
22448    }
22449    if (documentContainsStyleHash22(targetDocument, hash)) {
22450      injectedStyles.add(hash);
22451      return;
22452    }
22453    const style = targetDocument.createElement("style");
22454    style.setAttribute(STYLE_HASH_ATTRIBUTE22, hash);
22455    style.appendChild(targetDocument.createTextNode(css));
22456    targetDocument.head.appendChild(style);
22457    injectedStyles.add(hash);
22458  }
22459  function registerDocument22(targetDocument) {
22460    const runtime = getRuntime22();
22461    runtime.documents.set(
22462      targetDocument,
22463      (runtime.documents.get(targetDocument) ?? 0) + 1
22464    );
22465    for (const [hash, css] of runtime.styles) {
22466      injectStyle22(targetDocument, hash, css);
22467    }
22468    return () => {
22469      const count = runtime.documents.get(targetDocument);
22470      if (count === void 0) {
22471        return;
22472      }
22473      if (count <= 1) {
22474        runtime.documents.delete(targetDocument);
22475        return;
22476      }
22477      runtime.documents.set(targetDocument, count - 1);
22478    };
22479  }
22480  function registerStyle22(hash, css) {
22481    const runtime = getRuntime22();
22482    runtime.styles.set(hash, css);
22483    for (const targetDocument of runtime.documents.keys()) {
22484      injectStyle22(targetDocument, hash, css);
22485    }
22486  }
22487  if (typeof process === "undefined" || true) {
22488    registerStyle22("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)}");
22489  }
22490  var global_css_defense_default8 = { "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" };
22491  if (typeof process === "undefined" || true) {
22492    registerStyle22("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
22493  }
22494  var resets_default9 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
22495  if (typeof process === "undefined" || true) {
22496    registerStyle22("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))}}}}');
22497  }
22498  var style_default21 = { "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" };
22499  var InputLayout = (0, import_element46.forwardRef)(
22500    function UnforwardedInputLayout({
22501      className,
22502      children,
22503      visuallyDisabled,
22504      size: size4 = "default",
22505      isBorderless,
22506      prefix,
22507      suffix,
22508      ...restProps
22509    }, ref) {
22510      return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
22511        "div",
22512        {
22513          ref,
22514          className: clsx_default(
22515            global_css_defense_default8.div,
22516            resets_default9["box-sizing"],
22517            style_default21["input-layout"],
22518            style_default21[`is-size-$size4}`],
22519            visuallyDisabled && style_default21["is-disabled"],
22520            isBorderless && style_default21["is-borderless"],
22521            className
22522          ),
22523          ...restProps,
22524          children: [
22525            import_element46.Children.count(prefix) > 0 && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
22526              "div",
22527              {
22528                className: style_default21["slot-wrapper"],
22529                "data-slot-type": "prefix",
22530                children: prefix
22531              }
22532            ),
22533            children,
22534            import_element46.Children.count(suffix) > 0 && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
22535              "div",
22536              {
22537                className: style_default21["slot-wrapper"],
22538                "data-slot-type": "suffix",
22539                children: suffix
22540              }
22541            )
22542          ]
22543        }
22544      );
22545    }
22546  );
22547  
22548  // packages/ui/build-module/form/primitives/input-layout/slot.mjs
22549  var import_element47 = __toESM(require_element(), 1);
22550  var import_jsx_runtime102 = __toESM(require_jsx_runtime(), 1);
22551  var STYLE_HASH_ATTRIBUTE23 = "data-wp-hash";
22552  function getRuntime23() {
22553    const globalScope = globalThis;
22554    if (globalScope.__wpStyleRuntime) {
22555      return globalScope.__wpStyleRuntime;
22556    }
22557    globalScope.__wpStyleRuntime = {
22558      documents: /* @__PURE__ */ new Map(),
22559      styles: /* @__PURE__ */ new Map(),
22560      injectedStyles: /* @__PURE__ */ new WeakMap()
22561    };
22562    if (typeof document !== "undefined") {
22563      registerDocument23(document);
22564    }
22565    return globalScope.__wpStyleRuntime;
22566  }
22567  function documentContainsStyleHash23(targetDocument, hash) {
22568    if (!targetDocument.head) {
22569      return false;
22570    }
22571    for (const style of targetDocument.head.querySelectorAll(
22572      `style[$STYLE_HASH_ATTRIBUTE23}]`
22573    )) {
22574      if (style.getAttribute(STYLE_HASH_ATTRIBUTE23) === hash) {
22575        return true;
22576      }
22577    }
22578    return false;
22579  }
22580  function injectStyle23(targetDocument, hash, css) {
22581    if (!targetDocument.head) {
22582      return;
22583    }
22584    const runtime = getRuntime23();
22585    let injectedStyles = runtime.injectedStyles.get(targetDocument);
22586    if (!injectedStyles) {
22587      injectedStyles = /* @__PURE__ */ new Set();
22588      runtime.injectedStyles.set(targetDocument, injectedStyles);
22589    }
22590    if (injectedStyles.has(hash)) {
22591      return;
22592    }
22593    if (documentContainsStyleHash23(targetDocument, hash)) {
22594      injectedStyles.add(hash);
22595      return;
22596    }
22597    const style = targetDocument.createElement("style");
22598    style.setAttribute(STYLE_HASH_ATTRIBUTE23, hash);
22599    style.appendChild(targetDocument.createTextNode(css));
22600    targetDocument.head.appendChild(style);
22601    injectedStyles.add(hash);
22602  }
22603  function registerDocument23(targetDocument) {
22604    const runtime = getRuntime23();
22605    runtime.documents.set(
22606      targetDocument,
22607      (runtime.documents.get(targetDocument) ?? 0) + 1
22608    );
22609    for (const [hash, css] of runtime.styles) {
22610      injectStyle23(targetDocument, hash, css);
22611    }
22612    return () => {
22613      const count = runtime.documents.get(targetDocument);
22614      if (count === void 0) {
22615        return;
22616      }
22617      if (count <= 1) {
22618        runtime.documents.delete(targetDocument);
22619        return;
22620      }
22621      runtime.documents.set(targetDocument, count - 1);
22622    };
22623  }
22624  function registerStyle23(hash, css) {
22625    const runtime = getRuntime23();
22626    runtime.styles.set(hash, css);
22627    for (const targetDocument of runtime.documents.keys()) {
22628      injectStyle23(targetDocument, hash, css);
22629    }
22630  }
22631  if (typeof process === "undefined" || true) {
22632    registerStyle23("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))}}}}');
22633  }
22634  var style_default22 = { "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" };
22635  var InputLayoutSlot = (0, import_element47.forwardRef)(function UnforwardedInputLayoutSlot({ padding = "default", className, ...restProps }, ref) {
22636    return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
22637      "div",
22638      {
22639        ref,
22640        className: clsx_default(
22641          style_default22["input-layout-slot"],
22642          style_default22[`is-padding-$padding}`],
22643          className
22644        ),
22645        ...restProps
22646      }
22647    );
22648  });
22649  InputLayoutSlot.displayName = "InputLayout.Slot";
22650  
22651  // packages/ui/build-module/form/primitives/input-layout/index.mjs
22652  var InputLayout2 = Object.assign(InputLayout, {
22653    Slot: InputLayoutSlot
22654  });
22655  
22656  // packages/ui/build-module/utils/css/item-popup.mjs
22657  var STYLE_HASH_ATTRIBUTE24 = "data-wp-hash";
22658  function getRuntime24() {
22659    const globalScope = globalThis;
22660    if (globalScope.__wpStyleRuntime) {
22661      return globalScope.__wpStyleRuntime;
22662    }
22663    globalScope.__wpStyleRuntime = {
22664      documents: /* @__PURE__ */ new Map(),
22665      styles: /* @__PURE__ */ new Map(),
22666      injectedStyles: /* @__PURE__ */ new WeakMap()
22667    };
22668    if (typeof document !== "undefined") {
22669      registerDocument24(document);
22670    }
22671    return globalScope.__wpStyleRuntime;
22672  }
22673  function documentContainsStyleHash24(targetDocument, hash) {
22674    if (!targetDocument.head) {
22675      return false;
22676    }
22677    for (const style of targetDocument.head.querySelectorAll(
22678      `style[$STYLE_HASH_ATTRIBUTE24}]`
22679    )) {
22680      if (style.getAttribute(STYLE_HASH_ATTRIBUTE24) === hash) {
22681        return true;
22682      }
22683    }
22684    return false;
22685  }
22686  function injectStyle24(targetDocument, hash, css) {
22687    if (!targetDocument.head) {
22688      return;
22689    }
22690    const runtime = getRuntime24();
22691    let injectedStyles = runtime.injectedStyles.get(targetDocument);
22692    if (!injectedStyles) {
22693      injectedStyles = /* @__PURE__ */ new Set();
22694      runtime.injectedStyles.set(targetDocument, injectedStyles);
22695    }
22696    if (injectedStyles.has(hash)) {
22697      return;
22698    }
22699    if (documentContainsStyleHash24(targetDocument, hash)) {
22700      injectedStyles.add(hash);
22701      return;
22702    }
22703    const style = targetDocument.createElement("style");
22704    style.setAttribute(STYLE_HASH_ATTRIBUTE24, hash);
22705    style.appendChild(targetDocument.createTextNode(css));
22706    targetDocument.head.appendChild(style);
22707    injectedStyles.add(hash);
22708  }
22709  function registerDocument24(targetDocument) {
22710    const runtime = getRuntime24();
22711    runtime.documents.set(
22712      targetDocument,
22713      (runtime.documents.get(targetDocument) ?? 0) + 1
22714    );
22715    for (const [hash, css] of runtime.styles) {
22716      injectStyle24(targetDocument, hash, css);
22717    }
22718    return () => {
22719      const count = runtime.documents.get(targetDocument);
22720      if (count === void 0) {
22721        return;
22722      }
22723      if (count <= 1) {
22724        runtime.documents.delete(targetDocument);
22725        return;
22726      }
22727      runtime.documents.set(targetDocument, count - 1);
22728    };
22729  }
22730  function registerStyle24(hash, css) {
22731    const runtime = getRuntime24();
22732    runtime.styles.set(hash, css);
22733    for (const targetDocument of runtime.documents.keys()) {
22734      injectStyle24(targetDocument, hash, css);
22735    }
22736  }
22737  if (typeof process === "undefined" || true) {
22738    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)}}}');
22739  }
22740  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" };
22741  function getItemPopupWidthClassName(width = "anchor") {
22742    switch (width) {
22743      case "available":
22744        return item_popup_default["is-width-available"];
22745      case "content":
22746        return item_popup_default["is-width-content"];
22747      case "lg":
22748        return item_popup_default["is-width-lg"];
22749      case "md":
22750        return item_popup_default["is-width-md"];
22751      case "sm":
22752        return item_popup_default["is-width-sm"];
22753      case "anchor":
22754        return item_popup_default["is-width-anchor"];
22755      default:
22756        return false;
22757    }
22758  }
22759  
22760  // packages/ui/build-module/form/primitives/select/index.mjs
22761  var select_exports = {};
22762  __export(select_exports, {
22763    Group: () => Group2,
22764    GroupLabel: () => GroupLabel2,
22765    Item: () => Item2,
22766    ItemDescription: () => ItemDescription2,
22767    ItemLabel: () => ItemLabel2,
22768    Popup: () => Popup3,
22769    Portal: () => Portal3,
22770    Positioner: () => Positioner3,
22771    Root: () => Root3,
22772    Separator: () => Separator3,
22773    Trigger: () => Trigger3
22774  });
22775  
22776  // packages/ui/build-module/form/primitives/select/group.mjs
22777  var import_element48 = __toESM(require_element(), 1);
22778  var import_jsx_runtime103 = __toESM(require_jsx_runtime(), 1);
22779  var STYLE_HASH_ATTRIBUTE25 = "data-wp-hash";
22780  function getRuntime25() {
22781    const globalScope = globalThis;
22782    if (globalScope.__wpStyleRuntime) {
22783      return globalScope.__wpStyleRuntime;
22784    }
22785    globalScope.__wpStyleRuntime = {
22786      documents: /* @__PURE__ */ new Map(),
22787      styles: /* @__PURE__ */ new Map(),
22788      injectedStyles: /* @__PURE__ */ new WeakMap()
22789    };
22790    if (typeof document !== "undefined") {
22791      registerDocument25(document);
22792    }
22793    return globalScope.__wpStyleRuntime;
22794  }
22795  function documentContainsStyleHash25(targetDocument, hash) {
22796    if (!targetDocument.head) {
22797      return false;
22798    }
22799    for (const style of targetDocument.head.querySelectorAll(
22800      `style[$STYLE_HASH_ATTRIBUTE25}]`
22801    )) {
22802      if (style.getAttribute(STYLE_HASH_ATTRIBUTE25) === hash) {
22803        return true;
22804      }
22805    }
22806    return false;
22807  }
22808  function injectStyle25(targetDocument, hash, css) {
22809    if (!targetDocument.head) {
22810      return;
22811    }
22812    const runtime = getRuntime25();
22813    let injectedStyles = runtime.injectedStyles.get(targetDocument);
22814    if (!injectedStyles) {
22815      injectedStyles = /* @__PURE__ */ new Set();
22816      runtime.injectedStyles.set(targetDocument, injectedStyles);
22817    }
22818    if (injectedStyles.has(hash)) {
22819      return;
22820    }
22821    if (documentContainsStyleHash25(targetDocument, hash)) {
22822      injectedStyles.add(hash);
22823      return;
22824    }
22825    const style = targetDocument.createElement("style");
22826    style.setAttribute(STYLE_HASH_ATTRIBUTE25, hash);
22827    style.appendChild(targetDocument.createTextNode(css));
22828    targetDocument.head.appendChild(style);
22829    injectedStyles.add(hash);
22830  }
22831  function registerDocument25(targetDocument) {
22832    const runtime = getRuntime25();
22833    runtime.documents.set(
22834      targetDocument,
22835      (runtime.documents.get(targetDocument) ?? 0) + 1
22836    );
22837    for (const [hash, css] of runtime.styles) {
22838      injectStyle25(targetDocument, hash, css);
22839    }
22840    return () => {
22841      const count = runtime.documents.get(targetDocument);
22842      if (count === void 0) {
22843        return;
22844      }
22845      if (count <= 1) {
22846        runtime.documents.delete(targetDocument);
22847        return;
22848      }
22849      runtime.documents.set(targetDocument, count - 1);
22850    };
22851  }
22852  function registerStyle25(hash, css) {
22853    const runtime = getRuntime25();
22854    runtime.styles.set(hash, css);
22855    for (const targetDocument of runtime.documents.keys()) {
22856      injectStyle25(targetDocument, hash, css);
22857    }
22858  }
22859  if (typeof process === "undefined" || true) {
22860    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)}}}');
22861  }
22862  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" };
22863  var Group2 = (0, import_element48.forwardRef)(
22864    function UnforwardedGroup({ className, children, ...restProps }, ref) {
22865      return /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
22866        index_parts_exports3.Group,
22867        {
22868          className: clsx_default(item_popup_default2.group, className),
22869          ref,
22870          ...restProps,
22871          children
22872        }
22873      );
22874    }
22875  );
22876  
22877  // packages/ui/build-module/form/primitives/select/group-label.mjs
22878  var import_element49 = __toESM(require_element(), 1);
22879  var import_jsx_runtime104 = __toESM(require_jsx_runtime(), 1);
22880  var STYLE_HASH_ATTRIBUTE26 = "data-wp-hash";
22881  function getRuntime26() {
22882    const globalScope = globalThis;
22883    if (globalScope.__wpStyleRuntime) {
22884      return globalScope.__wpStyleRuntime;
22885    }
22886    globalScope.__wpStyleRuntime = {
22887      documents: /* @__PURE__ */ new Map(),
22888      styles: /* @__PURE__ */ new Map(),
22889      injectedStyles: /* @__PURE__ */ new WeakMap()
22890    };
22891    if (typeof document !== "undefined") {
22892      registerDocument26(document);
22893    }
22894    return globalScope.__wpStyleRuntime;
22895  }
22896  function documentContainsStyleHash26(targetDocument, hash) {
22897    if (!targetDocument.head) {
22898      return false;
22899    }
22900    for (const style of targetDocument.head.querySelectorAll(
22901      `style[$STYLE_HASH_ATTRIBUTE26}]`
22902    )) {
22903      if (style.getAttribute(STYLE_HASH_ATTRIBUTE26) === hash) {
22904        return true;
22905      }
22906    }
22907    return false;
22908  }
22909  function injectStyle26(targetDocument, hash, css) {
22910    if (!targetDocument.head) {
22911      return;
22912    }
22913    const runtime = getRuntime26();
22914    let injectedStyles = runtime.injectedStyles.get(targetDocument);
22915    if (!injectedStyles) {
22916      injectedStyles = /* @__PURE__ */ new Set();
22917      runtime.injectedStyles.set(targetDocument, injectedStyles);
22918    }
22919    if (injectedStyles.has(hash)) {
22920      return;
22921    }
22922    if (documentContainsStyleHash26(targetDocument, hash)) {
22923      injectedStyles.add(hash);
22924      return;
22925    }
22926    const style = targetDocument.createElement("style");
22927    style.setAttribute(STYLE_HASH_ATTRIBUTE26, hash);
22928    style.appendChild(targetDocument.createTextNode(css));
22929    targetDocument.head.appendChild(style);
22930    injectedStyles.add(hash);
22931  }
22932  function registerDocument26(targetDocument) {
22933    const runtime = getRuntime26();
22934    runtime.documents.set(
22935      targetDocument,
22936      (runtime.documents.get(targetDocument) ?? 0) + 1
22937    );
22938    for (const [hash, css] of runtime.styles) {
22939      injectStyle26(targetDocument, hash, css);
22940    }
22941    return () => {
22942      const count = runtime.documents.get(targetDocument);
22943      if (count === void 0) {
22944        return;
22945      }
22946      if (count <= 1) {
22947        runtime.documents.delete(targetDocument);
22948        return;
22949      }
22950      runtime.documents.set(targetDocument, count - 1);
22951    };
22952  }
22953  function registerStyle26(hash, css) {
22954    const runtime = getRuntime26();
22955    runtime.styles.set(hash, css);
22956    for (const targetDocument of runtime.documents.keys()) {
22957      injectStyle26(targetDocument, hash, css);
22958    }
22959  }
22960  if (typeof process === "undefined" || true) {
22961    registerStyle26("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)}}}');
22962  }
22963  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" };
22964  var GroupLabel2 = (0, import_element49.forwardRef)(
22965    function UnforwardedGroupLabel({ className, children, ...restProps }, ref) {
22966      return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
22967        Text,
22968        {
22969          variant: "heading-sm",
22970          className: clsx_default(
22971            item_popup_default3["group-label"],
22972            className
22973          ),
22974          render: /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(index_parts_exports3.GroupLabel, { ref, ...restProps }),
22975          children
22976        }
22977      );
22978    }
22979  );
22980  
22981  // packages/ui/build-module/form/primitives/select/item.mjs
22982  var import_element52 = __toESM(require_element(), 1);
22983  
22984  // packages/ui/build-module/form/primitives/select/item-description.mjs
22985  var import_element50 = __toESM(require_element(), 1);
22986  var import_jsx_runtime105 = __toESM(require_jsx_runtime(), 1);
22987  var STYLE_HASH_ATTRIBUTE27 = "data-wp-hash";
22988  function getRuntime27() {
22989    const globalScope = globalThis;
22990    if (globalScope.__wpStyleRuntime) {
22991      return globalScope.__wpStyleRuntime;
22992    }
22993    globalScope.__wpStyleRuntime = {
22994      documents: /* @__PURE__ */ new Map(),
22995      styles: /* @__PURE__ */ new Map(),
22996      injectedStyles: /* @__PURE__ */ new WeakMap()
22997    };
22998    if (typeof document !== "undefined") {
22999      registerDocument27(document);
23000    }
23001    return globalScope.__wpStyleRuntime;
23002  }
23003  function documentContainsStyleHash27(targetDocument, hash) {
23004    if (!targetDocument.head) {
23005      return false;
23006    }
23007    for (const style of targetDocument.head.querySelectorAll(
23008      `style[$STYLE_HASH_ATTRIBUTE27}]`
23009    )) {
23010      if (style.getAttribute(STYLE_HASH_ATTRIBUTE27) === hash) {
23011        return true;
23012      }
23013    }
23014    return false;
23015  }
23016  function injectStyle27(targetDocument, hash, css) {
23017    if (!targetDocument.head) {
23018      return;
23019    }
23020    const runtime = getRuntime27();
23021    let injectedStyles = runtime.injectedStyles.get(targetDocument);
23022    if (!injectedStyles) {
23023      injectedStyles = /* @__PURE__ */ new Set();
23024      runtime.injectedStyles.set(targetDocument, injectedStyles);
23025    }
23026    if (injectedStyles.has(hash)) {
23027      return;
23028    }
23029    if (documentContainsStyleHash27(targetDocument, hash)) {
23030      injectedStyles.add(hash);
23031      return;
23032    }
23033    const style = targetDocument.createElement("style");
23034    style.setAttribute(STYLE_HASH_ATTRIBUTE27, hash);
23035    style.appendChild(targetDocument.createTextNode(css));
23036    targetDocument.head.appendChild(style);
23037    injectedStyles.add(hash);
23038  }
23039  function registerDocument27(targetDocument) {
23040    const runtime = getRuntime27();
23041    runtime.documents.set(
23042      targetDocument,
23043      (runtime.documents.get(targetDocument) ?? 0) + 1
23044    );
23045    for (const [hash, css] of runtime.styles) {
23046      injectStyle27(targetDocument, hash, css);
23047    }
23048    return () => {
23049      const count = runtime.documents.get(targetDocument);
23050      if (count === void 0) {
23051        return;
23052      }
23053      if (count <= 1) {
23054        runtime.documents.delete(targetDocument);
23055        return;
23056      }
23057      runtime.documents.set(targetDocument, count - 1);
23058    };
23059  }
23060  function registerStyle27(hash, css) {
23061    const runtime = getRuntime27();
23062    runtime.styles.set(hash, css);
23063    for (const targetDocument of runtime.documents.keys()) {
23064      injectStyle27(targetDocument, hash, css);
23065    }
23066  }
23067  if (typeof process === "undefined" || true) {
23068    registerStyle27("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)}}}');
23069  }
23070  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" };
23071  var ITEM_DESCRIPTION_DIRECT_CHILD2 = /* @__PURE__ */ Symbol();
23072  var ItemDescription2 = (0, import_element50.forwardRef)(function UnforwardedItemDescription(props, ref) {
23073    const { className, validationToken, ...restProps } = props;
23074    if (validationToken !== ITEM_DESCRIPTION_DIRECT_CHILD2) {
23075      throw new Error(
23076        "Select.ItemDescription: Missing direct select item parent. Render <Select.ItemDescription> as a direct child of <Select.Item>."
23077      );
23078    }
23079    return /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
23080      Text,
23081      {
23082        ref,
23083        variant: "body-sm",
23084        className: clsx_default(
23085          item_popup_default4["item-description"],
23086          className
23087        ),
23088        ...restProps
23089      }
23090    );
23091  });
23092  
23093  // packages/ui/build-module/form/primitives/select/item-label.mjs
23094  var import_element51 = __toESM(require_element(), 1);
23095  var import_jsx_runtime106 = __toESM(require_jsx_runtime(), 1);
23096  var STYLE_HASH_ATTRIBUTE28 = "data-wp-hash";
23097  function getRuntime28() {
23098    const globalScope = globalThis;
23099    if (globalScope.__wpStyleRuntime) {
23100      return globalScope.__wpStyleRuntime;
23101    }
23102    globalScope.__wpStyleRuntime = {
23103      documents: /* @__PURE__ */ new Map(),
23104      styles: /* @__PURE__ */ new Map(),
23105      injectedStyles: /* @__PURE__ */ new WeakMap()
23106    };
23107    if (typeof document !== "undefined") {
23108      registerDocument28(document);
23109    }
23110    return globalScope.__wpStyleRuntime;
23111  }
23112  function documentContainsStyleHash28(targetDocument, hash) {
23113    if (!targetDocument.head) {
23114      return false;
23115    }
23116    for (const style of targetDocument.head.querySelectorAll(
23117      `style[$STYLE_HASH_ATTRIBUTE28}]`
23118    )) {
23119      if (style.getAttribute(STYLE_HASH_ATTRIBUTE28) === hash) {
23120        return true;
23121      }
23122    }
23123    return false;
23124  }
23125  function injectStyle28(targetDocument, hash, css) {
23126    if (!targetDocument.head) {
23127      return;
23128    }
23129    const runtime = getRuntime28();
23130    let injectedStyles = runtime.injectedStyles.get(targetDocument);
23131    if (!injectedStyles) {
23132      injectedStyles = /* @__PURE__ */ new Set();
23133      runtime.injectedStyles.set(targetDocument, injectedStyles);
23134    }
23135    if (injectedStyles.has(hash)) {
23136      return;
23137    }
23138    if (documentContainsStyleHash28(targetDocument, hash)) {
23139      injectedStyles.add(hash);
23140      return;
23141    }
23142    const style = targetDocument.createElement("style");
23143    style.setAttribute(STYLE_HASH_ATTRIBUTE28, hash);
23144    style.appendChild(targetDocument.createTextNode(css));
23145    targetDocument.head.appendChild(style);
23146    injectedStyles.add(hash);
23147  }
23148  function registerDocument28(targetDocument) {
23149    const runtime = getRuntime28();
23150    runtime.documents.set(
23151      targetDocument,
23152      (runtime.documents.get(targetDocument) ?? 0) + 1
23153    );
23154    for (const [hash, css] of runtime.styles) {
23155      injectStyle28(targetDocument, hash, css);
23156    }
23157    return () => {
23158      const count = runtime.documents.get(targetDocument);
23159      if (count === void 0) {
23160        return;
23161      }
23162      if (count <= 1) {
23163        runtime.documents.delete(targetDocument);
23164        return;
23165      }
23166      runtime.documents.set(targetDocument, count - 1);
23167    };
23168  }
23169  function registerStyle28(hash, css) {
23170    const runtime = getRuntime28();
23171    runtime.styles.set(hash, css);
23172    for (const targetDocument of runtime.documents.keys()) {
23173      injectStyle28(targetDocument, hash, css);
23174    }
23175  }
23176  if (typeof process === "undefined" || true) {
23177    registerStyle28("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)}}}');
23178  }
23179  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" };
23180  var ItemLabel2 = (0, import_element51.forwardRef)(
23181    function UnforwardedItemLabel({ children, className, render, ...restProps }, ref) {
23182      return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
23183        Text,
23184        {
23185          ref,
23186          variant: "body-md",
23187          render: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(index_parts_exports3.ItemText, { render }),
23188          className: clsx_default(item_popup_default5["item-label"], className),
23189          ...restProps,
23190          children
23191        }
23192      );
23193    }
23194  );
23195  
23196  // packages/ui/build-module/form/primitives/select/item.mjs
23197  var import_jsx_runtime107 = __toESM(require_jsx_runtime(), 1);
23198  var STYLE_HASH_ATTRIBUTE29 = "data-wp-hash";
23199  function getRuntime29() {
23200    const globalScope = globalThis;
23201    if (globalScope.__wpStyleRuntime) {
23202      return globalScope.__wpStyleRuntime;
23203    }
23204    globalScope.__wpStyleRuntime = {
23205      documents: /* @__PURE__ */ new Map(),
23206      styles: /* @__PURE__ */ new Map(),
23207      injectedStyles: /* @__PURE__ */ new WeakMap()
23208    };
23209    if (typeof document !== "undefined") {
23210      registerDocument29(document);
23211    }
23212    return globalScope.__wpStyleRuntime;
23213  }
23214  function documentContainsStyleHash29(targetDocument, hash) {
23215    if (!targetDocument.head) {
23216      return false;
23217    }
23218    for (const style of targetDocument.head.querySelectorAll(
23219      `style[$STYLE_HASH_ATTRIBUTE29}]`
23220    )) {
23221      if (style.getAttribute(STYLE_HASH_ATTRIBUTE29) === hash) {
23222        return true;
23223      }
23224    }
23225    return false;
23226  }
23227  function injectStyle29(targetDocument, hash, css) {
23228    if (!targetDocument.head) {
23229      return;
23230    }
23231    const runtime = getRuntime29();
23232    let injectedStyles = runtime.injectedStyles.get(targetDocument);
23233    if (!injectedStyles) {
23234      injectedStyles = /* @__PURE__ */ new Set();
23235      runtime.injectedStyles.set(targetDocument, injectedStyles);
23236    }
23237    if (injectedStyles.has(hash)) {
23238      return;
23239    }
23240    if (documentContainsStyleHash29(targetDocument, hash)) {
23241      injectedStyles.add(hash);
23242      return;
23243    }
23244    const style = targetDocument.createElement("style");
23245    style.setAttribute(STYLE_HASH_ATTRIBUTE29, hash);
23246    style.appendChild(targetDocument.createTextNode(css));
23247    targetDocument.head.appendChild(style);
23248    injectedStyles.add(hash);
23249  }
23250  function registerDocument29(targetDocument) {
23251    const runtime = getRuntime29();
23252    runtime.documents.set(
23253      targetDocument,
23254      (runtime.documents.get(targetDocument) ?? 0) + 1
23255    );
23256    for (const [hash, css] of runtime.styles) {
23257      injectStyle29(targetDocument, hash, css);
23258    }
23259    return () => {
23260      const count = runtime.documents.get(targetDocument);
23261      if (count === void 0) {
23262        return;
23263      }
23264      if (count <= 1) {
23265        runtime.documents.delete(targetDocument);
23266        return;
23267      }
23268      runtime.documents.set(targetDocument, count - 1);
23269    };
23270  }
23271  function registerStyle29(hash, css) {
23272    const runtime = getRuntime29();
23273    runtime.styles.set(hash, css);
23274    for (const targetDocument of runtime.documents.keys()) {
23275      injectStyle29(targetDocument, hash, css);
23276    }
23277  }
23278  if (typeof process === "undefined" || true) {
23279    registerStyle29("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)}");
23280  }
23281  var global_css_defense_default9 = { "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" };
23282  if (typeof process === "undefined" || true) {
23283    registerStyle29("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)}}}');
23284  }
23285  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" };
23286  if (typeof process === "undefined" || true) {
23287    registerStyle29("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
23288  }
23289  var resets_default10 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
23290  var ITEM_CONTENT_COMPONENTS2 = {
23291    Label: ItemLabel2,
23292    Description: ItemDescription2,
23293    descriptionValidationToken: ITEM_DESCRIPTION_DIRECT_CHILD2,
23294    validationMessage: "Select.ItemLabel must be the first direct child of every select item, followed only by Select.ItemDescription components."
23295  };
23296  var Item2 = (0, import_element52.forwardRef)(
23297    function UnforwardedItem({
23298      className,
23299      value,
23300      size: size4 = "default",
23301      children,
23302      "aria-describedby": ariaDescribedBy,
23303      "aria-label": ariaLabel,
23304      "aria-labelledby": ariaLabelledBy,
23305      ...restProps
23306    }, ref) {
23307      const { contentChildren, itemAriaProps } = useItemContent(
23308        children,
23309        ITEM_CONTENT_COMPONENTS2,
23310        {
23311          "aria-describedby": ariaDescribedBy,
23312          "aria-label": ariaLabel,
23313          "aria-labelledby": ariaLabelledBy
23314        }
23315      );
23316      return /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
23317        index_parts_exports3.Item,
23318        {
23319          className: clsx_default(
23320            global_css_defense_default9.div,
23321            resets_default10["box-sizing"],
23322            item_popup_default6.item,
23323            size4 === "small" && item_popup_default6["is-size-small"],
23324            className
23325          ),
23326          value,
23327          ref,
23328          ...itemAriaProps,
23329          ...restProps,
23330          children: [
23331            /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("span", { className: item_popup_default6["item-icon"], children: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
23332              Icon,
23333              {
23334                icon: check_default,
23335                className: item_popup_default6["item-indicator-icon"],
23336                size: 16
23337              }
23338            ) }),
23339            /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: item_popup_default6["item-text"], children: contentChildren })
23340          ]
23341        }
23342      );
23343    }
23344  );
23345  
23346  // packages/ui/build-module/form/primitives/select/popup.mjs
23347  var import_element55 = __toESM(require_element(), 1);
23348  
23349  // packages/ui/build-module/form/primitives/select/portal.mjs
23350  var import_element53 = __toESM(require_element(), 1);
23351  var import_jsx_runtime108 = __toESM(require_jsx_runtime(), 1);
23352  var Portal3 = (0, import_element53.forwardRef)(function SelectPortal3({ container, ...restProps }, ref) {
23353    return /* @__PURE__ */ (0, import_jsx_runtime108.jsx)(
23354      index_parts_exports3.Portal,
23355      {
23356        container: container === void 0 ? getWpCompatOverlaySlot() : container,
23357        ...restProps,
23358        ref
23359      }
23360    );
23361  });
23362  
23363  // packages/ui/build-module/form/primitives/select/positioner.mjs
23364  var import_element54 = __toESM(require_element(), 1);
23365  var import_jsx_runtime109 = __toESM(require_jsx_runtime(), 1);
23366  var STYLE_HASH_ATTRIBUTE30 = "data-wp-hash";
23367  function getRuntime30() {
23368    const globalScope = globalThis;
23369    if (globalScope.__wpStyleRuntime) {
23370      return globalScope.__wpStyleRuntime;
23371    }
23372    globalScope.__wpStyleRuntime = {
23373      documents: /* @__PURE__ */ new Map(),
23374      styles: /* @__PURE__ */ new Map(),
23375      injectedStyles: /* @__PURE__ */ new WeakMap()
23376    };
23377    if (typeof document !== "undefined") {
23378      registerDocument30(document);
23379    }
23380    return globalScope.__wpStyleRuntime;
23381  }
23382  function documentContainsStyleHash30(targetDocument, hash) {
23383    if (!targetDocument.head) {
23384      return false;
23385    }
23386    for (const style of targetDocument.head.querySelectorAll(
23387      `style[$STYLE_HASH_ATTRIBUTE30}]`
23388    )) {
23389      if (style.getAttribute(STYLE_HASH_ATTRIBUTE30) === hash) {
23390        return true;
23391      }
23392    }
23393    return false;
23394  }
23395  function injectStyle30(targetDocument, hash, css) {
23396    if (!targetDocument.head) {
23397      return;
23398    }
23399    const runtime = getRuntime30();
23400    let injectedStyles = runtime.injectedStyles.get(targetDocument);
23401    if (!injectedStyles) {
23402      injectedStyles = /* @__PURE__ */ new Set();
23403      runtime.injectedStyles.set(targetDocument, injectedStyles);
23404    }
23405    if (injectedStyles.has(hash)) {
23406      return;
23407    }
23408    if (documentContainsStyleHash30(targetDocument, hash)) {
23409      injectedStyles.add(hash);
23410      return;
23411    }
23412    const style = targetDocument.createElement("style");
23413    style.setAttribute(STYLE_HASH_ATTRIBUTE30, hash);
23414    style.appendChild(targetDocument.createTextNode(css));
23415    targetDocument.head.appendChild(style);
23416    injectedStyles.add(hash);
23417  }
23418  function registerDocument30(targetDocument) {
23419    const runtime = getRuntime30();
23420    runtime.documents.set(
23421      targetDocument,
23422      (runtime.documents.get(targetDocument) ?? 0) + 1
23423    );
23424    for (const [hash, css] of runtime.styles) {
23425      injectStyle30(targetDocument, hash, css);
23426    }
23427    return () => {
23428      const count = runtime.documents.get(targetDocument);
23429      if (count === void 0) {
23430        return;
23431      }
23432      if (count <= 1) {
23433        runtime.documents.delete(targetDocument);
23434        return;
23435      }
23436      runtime.documents.set(targetDocument, count - 1);
23437    };
23438  }
23439  function registerStyle30(hash, css) {
23440    const runtime = getRuntime30();
23441    runtime.styles.set(hash, css);
23442    for (const targetDocument of runtime.documents.keys()) {
23443      injectStyle30(targetDocument, hash, css);
23444    }
23445  }
23446  if (typeof process === "undefined" || true) {
23447    registerStyle30("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
23448  }
23449  var resets_default11 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
23450  if (typeof process === "undefined" || true) {
23451    registerStyle30("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)}}}');
23452  }
23453  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" };
23454  if (typeof process === "undefined" || true) {
23455    registerStyle30("aaac8c315e", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._0ab863136fb95530__positioner{z-index:var(--wp-ui-select-z-index,initial)}.a9ab07efb9ef413f__list{display:block;min-block-size:0;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}}}");
23456  }
23457  var style_default23 = { "positioner": "_0ab863136fb95530__positioner", "list": "a9ab07efb9ef413f__list" };
23458  var Positioner3 = (0, import_element54.forwardRef)(
23459    function SelectPositioner3({ className, alignItemWithTrigger = true, ...props }, ref) {
23460      return /* @__PURE__ */ (0, import_jsx_runtime109.jsx)(
23461        index_parts_exports3.Positioner,
23462        {
23463          ...ITEM_POPUP_POSITIONER_PROPS,
23464          ...props,
23465          alignItemWithTrigger,
23466          ref,
23467          className: clsx_default(
23468            resets_default11["box-sizing"],
23469            style_default23.positioner,
23470            alignItemWithTrigger && item_popup_default7["is-align-item-with-trigger"],
23471            className
23472          )
23473        }
23474      );
23475    }
23476  );
23477  
23478  // packages/ui/build-module/form/primitives/select/popup.mjs
23479  var import_jsx_runtime110 = __toESM(require_jsx_runtime(), 1);
23480  var STYLE_HASH_ATTRIBUTE31 = "data-wp-hash";
23481  function getRuntime31() {
23482    const globalScope = globalThis;
23483    if (globalScope.__wpStyleRuntime) {
23484      return globalScope.__wpStyleRuntime;
23485    }
23486    globalScope.__wpStyleRuntime = {
23487      documents: /* @__PURE__ */ new Map(),
23488      styles: /* @__PURE__ */ new Map(),
23489      injectedStyles: /* @__PURE__ */ new WeakMap()
23490    };
23491    if (typeof document !== "undefined") {
23492      registerDocument31(document);
23493    }
23494    return globalScope.__wpStyleRuntime;
23495  }
23496  function documentContainsStyleHash31(targetDocument, hash) {
23497    if (!targetDocument.head) {
23498      return false;
23499    }
23500    for (const style of targetDocument.head.querySelectorAll(
23501      `style[$STYLE_HASH_ATTRIBUTE31}]`
23502    )) {
23503      if (style.getAttribute(STYLE_HASH_ATTRIBUTE31) === hash) {
23504        return true;
23505      }
23506    }
23507    return false;
23508  }
23509  function injectStyle31(targetDocument, hash, css) {
23510    if (!targetDocument.head) {
23511      return;
23512    }
23513    const runtime = getRuntime31();
23514    let injectedStyles = runtime.injectedStyles.get(targetDocument);
23515    if (!injectedStyles) {
23516      injectedStyles = /* @__PURE__ */ new Set();
23517      runtime.injectedStyles.set(targetDocument, injectedStyles);
23518    }
23519    if (injectedStyles.has(hash)) {
23520      return;
23521    }
23522    if (documentContainsStyleHash31(targetDocument, hash)) {
23523      injectedStyles.add(hash);
23524      return;
23525    }
23526    const style = targetDocument.createElement("style");
23527    style.setAttribute(STYLE_HASH_ATTRIBUTE31, hash);
23528    style.appendChild(targetDocument.createTextNode(css));
23529    targetDocument.head.appendChild(style);
23530    injectedStyles.add(hash);
23531  }
23532  function registerDocument31(targetDocument) {
23533    const runtime = getRuntime31();
23534    runtime.documents.set(
23535      targetDocument,
23536      (runtime.documents.get(targetDocument) ?? 0) + 1
23537    );
23538    for (const [hash, css] of runtime.styles) {
23539      injectStyle31(targetDocument, hash, css);
23540    }
23541    return () => {
23542      const count = runtime.documents.get(targetDocument);
23543      if (count === void 0) {
23544        return;
23545      }
23546      if (count <= 1) {
23547        runtime.documents.delete(targetDocument);
23548        return;
23549      }
23550      runtime.documents.set(targetDocument, count - 1);
23551    };
23552  }
23553  function registerStyle31(hash, css) {
23554    const runtime = getRuntime31();
23555    runtime.styles.set(hash, css);
23556    for (const targetDocument of runtime.documents.keys()) {
23557      injectStyle31(targetDocument, hash, css);
23558    }
23559  }
23560  if (typeof process === "undefined" || true) {
23561    registerStyle31("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)}}}');
23562  }
23563  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" };
23564  if (typeof process === "undefined" || true) {
23565    registerStyle31("aaac8c315e", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._0ab863136fb95530__positioner{z-index:var(--wp-ui-select-z-index,initial)}.a9ab07efb9ef413f__list{display:block;min-block-size:0;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}}}");
23566  }
23567  var style_default24 = { "positioner": "_0ab863136fb95530__positioner", "list": "a9ab07efb9ef413f__list" };
23568  var Popup3 = (0, import_element55.forwardRef)(
23569    function UnforwardedPopup({ className, portal, positioner, width, children, ...restProps }, ref) {
23570      const popupContent = /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
23571        index_parts_exports3.Popup,
23572        {
23573          ref,
23574          className: clsx_default(
23575            item_popup_default8.popup,
23576            getItemPopupWidthClassName(width),
23577            className
23578          ),
23579          ...restProps,
23580          children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
23581            index_parts_exports3.List,
23582            {
23583              className: clsx_default(
23584                item_popup_default8["list-chrome"],
23585                style_default24.list
23586              ),
23587              children
23588            }
23589          )
23590        }
23591      );
23592      const positionedPopup = renderSlotWithChildren(
23593        positioner,
23594        /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Positioner3, {}),
23595        popupContent
23596      );
23597      return renderSlotWithChildren(portal, /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Portal3, {}), positionedPopup);
23598    }
23599  );
23600  
23601  // packages/ui/build-module/form/primitives/select/root.mjs
23602  var import_jsx_runtime111 = __toESM(require_jsx_runtime(), 1);
23603  function Root3(props) {
23604    return /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(DirectionProvider3, { children: /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(index_parts_exports3.Root, { ...props }) });
23605  }
23606  
23607  // packages/ui/build-module/form/primitives/select/separator.mjs
23608  var import_element56 = __toESM(require_element(), 1);
23609  var import_jsx_runtime112 = __toESM(require_jsx_runtime(), 1);
23610  var STYLE_HASH_ATTRIBUTE32 = "data-wp-hash";
23611  function getRuntime32() {
23612    const globalScope = globalThis;
23613    if (globalScope.__wpStyleRuntime) {
23614      return globalScope.__wpStyleRuntime;
23615    }
23616    globalScope.__wpStyleRuntime = {
23617      documents: /* @__PURE__ */ new Map(),
23618      styles: /* @__PURE__ */ new Map(),
23619      injectedStyles: /* @__PURE__ */ new WeakMap()
23620    };
23621    if (typeof document !== "undefined") {
23622      registerDocument32(document);
23623    }
23624    return globalScope.__wpStyleRuntime;
23625  }
23626  function documentContainsStyleHash32(targetDocument, hash) {
23627    if (!targetDocument.head) {
23628      return false;
23629    }
23630    for (const style of targetDocument.head.querySelectorAll(
23631      `style[$STYLE_HASH_ATTRIBUTE32}]`
23632    )) {
23633      if (style.getAttribute(STYLE_HASH_ATTRIBUTE32) === hash) {
23634        return true;
23635      }
23636    }
23637    return false;
23638  }
23639  function injectStyle32(targetDocument, hash, css) {
23640    if (!targetDocument.head) {
23641      return;
23642    }
23643    const runtime = getRuntime32();
23644    let injectedStyles = runtime.injectedStyles.get(targetDocument);
23645    if (!injectedStyles) {
23646      injectedStyles = /* @__PURE__ */ new Set();
23647      runtime.injectedStyles.set(targetDocument, injectedStyles);
23648    }
23649    if (injectedStyles.has(hash)) {
23650      return;
23651    }
23652    if (documentContainsStyleHash32(targetDocument, hash)) {
23653      injectedStyles.add(hash);
23654      return;
23655    }
23656    const style = targetDocument.createElement("style");
23657    style.setAttribute(STYLE_HASH_ATTRIBUTE32, hash);
23658    style.appendChild(targetDocument.createTextNode(css));
23659    targetDocument.head.appendChild(style);
23660    injectedStyles.add(hash);
23661  }
23662  function registerDocument32(targetDocument) {
23663    const runtime = getRuntime32();
23664    runtime.documents.set(
23665      targetDocument,
23666      (runtime.documents.get(targetDocument) ?? 0) + 1
23667    );
23668    for (const [hash, css] of runtime.styles) {
23669      injectStyle32(targetDocument, hash, css);
23670    }
23671    return () => {
23672      const count = runtime.documents.get(targetDocument);
23673      if (count === void 0) {
23674        return;
23675      }
23676      if (count <= 1) {
23677        runtime.documents.delete(targetDocument);
23678        return;
23679      }
23680      runtime.documents.set(targetDocument, count - 1);
23681    };
23682  }
23683  function registerStyle32(hash, css) {
23684    const runtime = getRuntime32();
23685    runtime.styles.set(hash, css);
23686    for (const targetDocument of runtime.documents.keys()) {
23687      injectStyle32(targetDocument, hash, css);
23688    }
23689  }
23690  if (typeof process === "undefined" || true) {
23691    registerStyle32("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)}}}');
23692  }
23693  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" };
23694  var Separator3 = (0, import_element56.forwardRef)(
23695    function SelectSeparator2({
23696      className,
23697      orientation: _orientation,
23698      ...props
23699    }, ref) {
23700      return /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
23701        index_parts_exports3.Separator,
23702        {
23703          ref,
23704          className: clsx_default(item_popup_default9.separator, className),
23705          ...props
23706        }
23707      );
23708    }
23709  );
23710  
23711  // packages/ui/build-module/form/primitives/select/trigger.mjs
23712  var import_element57 = __toESM(require_element(), 1);
23713  var import_i18n5 = __toESM(require_i18n(), 1);
23714  var import_jsx_runtime113 = __toESM(require_jsx_runtime(), 1);
23715  var STYLE_HASH_ATTRIBUTE33 = "data-wp-hash";
23716  function getRuntime33() {
23717    const globalScope = globalThis;
23718    if (globalScope.__wpStyleRuntime) {
23719      return globalScope.__wpStyleRuntime;
23720    }
23721    globalScope.__wpStyleRuntime = {
23722      documents: /* @__PURE__ */ new Map(),
23723      styles: /* @__PURE__ */ new Map(),
23724      injectedStyles: /* @__PURE__ */ new WeakMap()
23725    };
23726    if (typeof document !== "undefined") {
23727      registerDocument33(document);
23728    }
23729    return globalScope.__wpStyleRuntime;
23730  }
23731  function documentContainsStyleHash33(targetDocument, hash) {
23732    if (!targetDocument.head) {
23733      return false;
23734    }
23735    for (const style of targetDocument.head.querySelectorAll(
23736      `style[$STYLE_HASH_ATTRIBUTE33}]`
23737    )) {
23738      if (style.getAttribute(STYLE_HASH_ATTRIBUTE33) === hash) {
23739        return true;
23740      }
23741    }
23742    return false;
23743  }
23744  function injectStyle33(targetDocument, hash, css) {
23745    if (!targetDocument.head) {
23746      return;
23747    }
23748    const runtime = getRuntime33();
23749    let injectedStyles = runtime.injectedStyles.get(targetDocument);
23750    if (!injectedStyles) {
23751      injectedStyles = /* @__PURE__ */ new Set();
23752      runtime.injectedStyles.set(targetDocument, injectedStyles);
23753    }
23754    if (injectedStyles.has(hash)) {
23755      return;
23756    }
23757    if (documentContainsStyleHash33(targetDocument, hash)) {
23758      injectedStyles.add(hash);
23759      return;
23760    }
23761    const style = targetDocument.createElement("style");
23762    style.setAttribute(STYLE_HASH_ATTRIBUTE33, hash);
23763    style.appendChild(targetDocument.createTextNode(css));
23764    targetDocument.head.appendChild(style);
23765    injectedStyles.add(hash);
23766  }
23767  function registerDocument33(targetDocument) {
23768    const runtime = getRuntime33();
23769    runtime.documents.set(
23770      targetDocument,
23771      (runtime.documents.get(targetDocument) ?? 0) + 1
23772    );
23773    for (const [hash, css] of runtime.styles) {
23774      injectStyle33(targetDocument, hash, css);
23775    }
23776    return () => {
23777      const count = runtime.documents.get(targetDocument);
23778      if (count === void 0) {
23779        return;
23780      }
23781      if (count <= 1) {
23782        runtime.documents.delete(targetDocument);
23783        return;
23784      }
23785      runtime.documents.set(targetDocument, count - 1);
23786    };
23787  }
23788  function registerStyle33(hash, css) {
23789    const runtime = getRuntime33();
23790    runtime.styles.set(hash, css);
23791    for (const targetDocument of runtime.documents.keys()) {
23792      injectStyle33(targetDocument, hash, css);
23793    }
23794  }
23795  if (typeof process === "undefined" || true) {
23796    registerStyle33("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))}}}");
23797  }
23798  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" };
23799  if (typeof process === "undefined" || true) {
23800    registerStyle33("8fc4b25e27", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._6e4e0445ef20426b__trigger-wrapper{&.fa98c865fb77e675__is-minimal{width:fit-content}}._7893295e3f6d1af7__trigger{align-items:center;background-color:transparent;border:none;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);display:flex;font-family:inherit;font-size:inherit;gap:var(--wpds-dimension-gap-xs,4px);justify-content:space-between;line-height:1.4;padding-block:4px;padding-inline-end:calc(var(--wp-ui-input-layout-padding-inline) - 4px);padding-inline-start:var(--wp-ui-input-layout-padding-inline);text-align:start;user-select:none;width:100%;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&.fa98c865fb77e675__is-minimal{width:auto}&:focus{outline:none}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}}.e760c9339965ce84__trigger-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;._7893295e3f6d1af7__trigger[data-placeholder]:not([data-disabled]) &{color:var(--wpds-color-foreground-interactive-neutral-weak,#707070)}}._308bc63e43681f99__trigger-caret{flex:0 0 auto}}}");
23801  }
23802  var select_trigger_default = { "trigger-wrapper": "_6e4e0445ef20426b__trigger-wrapper", "is-minimal": "fa98c865fb77e675__is-minimal", "trigger": "_7893295e3f6d1af7__trigger", "trigger-value": "e760c9339965ce84__trigger-value", "trigger-caret": "_308bc63e43681f99__trigger-caret" };
23803  var Trigger3 = (0, import_element57.forwardRef)(
23804    function UnforwardedTrigger({
23805      className,
23806      size: size4,
23807      variant,
23808      children,
23809      placeholder = (0, import_i18n5.__)("Select"),
23810      ...restProps
23811    }, ref) {
23812      return /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
23813        InputLayout2,
23814        {
23815          className: clsx_default(
23816            focus_module_default2["outset-ring--focus-within-except-active"],
23817            select_trigger_default["trigger-wrapper"],
23818            variant === "minimal" && select_trigger_default["is-minimal"],
23819            className
23820          ),
23821          size: size4,
23822          isBorderless: variant === "minimal",
23823          children: /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)(
23824            index_parts_exports3.Trigger,
23825            {
23826              ...restProps,
23827              className: clsx_default(
23828                select_trigger_default.trigger,
23829                variant === "minimal" && select_trigger_default["is-minimal"]
23830              ),
23831              "data-can-disable-input-layout": true,
23832              ref,
23833              children: [
23834                /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
23835                  index_parts_exports3.Value,
23836                  {
23837                    placeholder,
23838                    className: select_trigger_default["trigger-value"],
23839                    children
23840                  }
23841                ),
23842                /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
23843                  Icon,
23844                  {
23845                    className: select_trigger_default["trigger-caret"],
23846                    icon: chevron_down_default,
23847                    size: 18
23848                  }
23849                )
23850              ]
23851            }
23852          )
23853        }
23854      );
23855    }
23856  );
23857  
23858  // packages/ui/build-module/progress/index.mjs
23859  var progress_exports = {};
23860  __export(progress_exports, {
23861    Indicator: () => Indicator,
23862    Label: () => Label,
23863    Root: () => Root4,
23864    Track: () => Track,
23865    Value: () => Value
23866  });
23867  
23868  // packages/ui/build-module/progress/root.mjs
23869  var import_element58 = __toESM(require_element(), 1);
23870  var import_i18n6 = __toESM(require_i18n(), 1);
23871  var import_jsx_runtime114 = __toESM(require_jsx_runtime(), 1);
23872  var STYLE_HASH_ATTRIBUTE34 = "data-wp-hash";
23873  function getRuntime34() {
23874    const globalScope = globalThis;
23875    if (globalScope.__wpStyleRuntime) {
23876      return globalScope.__wpStyleRuntime;
23877    }
23878    globalScope.__wpStyleRuntime = {
23879      documents: /* @__PURE__ */ new Map(),
23880      styles: /* @__PURE__ */ new Map(),
23881      injectedStyles: /* @__PURE__ */ new WeakMap()
23882    };
23883    if (typeof document !== "undefined") {
23884      registerDocument34(document);
23885    }
23886    return globalScope.__wpStyleRuntime;
23887  }
23888  function documentContainsStyleHash34(targetDocument, hash) {
23889    if (!targetDocument.head) {
23890      return false;
23891    }
23892    for (const style of targetDocument.head.querySelectorAll(
23893      `style[$STYLE_HASH_ATTRIBUTE34}]`
23894    )) {
23895      if (style.getAttribute(STYLE_HASH_ATTRIBUTE34) === hash) {
23896        return true;
23897      }
23898    }
23899    return false;
23900  }
23901  function injectStyle34(targetDocument, hash, css) {
23902    if (!targetDocument.head) {
23903      return;
23904    }
23905    const runtime = getRuntime34();
23906    let injectedStyles = runtime.injectedStyles.get(targetDocument);
23907    if (!injectedStyles) {
23908      injectedStyles = /* @__PURE__ */ new Set();
23909      runtime.injectedStyles.set(targetDocument, injectedStyles);
23910    }
23911    if (injectedStyles.has(hash)) {
23912      return;
23913    }
23914    if (documentContainsStyleHash34(targetDocument, hash)) {
23915      injectedStyles.add(hash);
23916      return;
23917    }
23918    const style = targetDocument.createElement("style");
23919    style.setAttribute(STYLE_HASH_ATTRIBUTE34, hash);
23920    style.appendChild(targetDocument.createTextNode(css));
23921    targetDocument.head.appendChild(style);
23922    injectedStyles.add(hash);
23923  }
23924  function registerDocument34(targetDocument) {
23925    const runtime = getRuntime34();
23926    runtime.documents.set(
23927      targetDocument,
23928      (runtime.documents.get(targetDocument) ?? 0) + 1
23929    );
23930    for (const [hash, css] of runtime.styles) {
23931      injectStyle34(targetDocument, hash, css);
23932    }
23933    return () => {
23934      const count = runtime.documents.get(targetDocument);
23935      if (count === void 0) {
23936        return;
23937      }
23938      if (count <= 1) {
23939        runtime.documents.delete(targetDocument);
23940        return;
23941      }
23942      runtime.documents.set(targetDocument, count - 1);
23943    };
23944  }
23945  function registerStyle34(hash, css) {
23946    const runtime = getRuntime34();
23947    runtime.styles.set(hash, css);
23948    for (const targetDocument of runtime.documents.keys()) {
23949      injectStyle34(targetDocument, hash, css);
23950    }
23951  }
23952  if (typeof process === "undefined" || true) {
23953    registerStyle34("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
23954  }
23955  var resets_default12 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
23956  if (typeof process === "undefined" || true) {
23957    registerStyle34("4fcc1f90de", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._0c8146c357ee3082__root{width:160px}._94b93b4b54f86af8__label,.d444d83093168104__value{color:var(--wpds-color-foreground-content-neutral,#1e1e1e)}.d444d83093168104__value{font-variant-numeric:tabular-nums}.f08088bb628044ff__track{background-color:var(--wpds-color-background-track-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-lg,8px);height:1.5px;overflow:hidden;position:relative;width:100%;@media (forced-colors:active){outline:var(--wpds-border-width-xs,1px) solid CanvasText;outline-offset:var(--wpds-border-width-xs,1px)}}._288dbe846a740467__indicator{background-color:currentColor;border-radius:inherit;color:var(--wpds-color-background-thumb-neutral,#1e1e1e);height:100%;inset-block-start:0;position:absolute;@media not (prefers-reduced-motion){transition:width var(--wpds-motion-duration-xl,.4s) ease-in-out}&[data-indeterminate]{animation:_412bd854b144d653__progress-slide 1.5s ease-in-out infinite;transition:none;width:50%;@media (prefers-reduced-motion:reduce){animation-duration:3s;animation-timing-function:steps(4)}}}@media (forced-colors:active){._288dbe846a740467__indicator{background-color:CanvasText;forced-color-adjust:none}}@keyframes _412bd854b144d653__progress-slide{0%{inset-inline-start:-50%}to{inset-inline-start:100%}}}}");
23958  }
23959  var style_default25 = { "root": "_0c8146c357ee3082__root", "label": "_94b93b4b54f86af8__label", "value": "d444d83093168104__value", "track": "f08088bb628044ff__track", "indicator": "_288dbe846a740467__indicator", "progress-slide": "_412bd854b144d653__progress-slide" };
23960  var DEFAULT_RENDER = (props) => /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(Stack, { ...props, direction: "column", gap: "sm" });
23961  var Root4 = (0, import_element58.forwardRef)(function ProgressRoot3({ className, render = DEFAULT_RENDER, ...props }, ref) {
23962    return /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
23963      index_parts_exports2.Root,
23964      {
23965        ref,
23966        render,
23967        getAriaValueText: (formattedValue) => formattedValue || (0, import_i18n6.__)("In progress"),
23968        className: clsx_default(
23969          resets_default12["box-sizing"],
23970          style_default25.root,
23971          className
23972        ),
23973        ...props
23974      }
23975    );
23976  });
23977  
23978  // packages/ui/build-module/progress/track.mjs
23979  var import_element59 = __toESM(require_element(), 1);
23980  var import_jsx_runtime115 = __toESM(require_jsx_runtime(), 1);
23981  var STYLE_HASH_ATTRIBUTE35 = "data-wp-hash";
23982  function getRuntime35() {
23983    const globalScope = globalThis;
23984    if (globalScope.__wpStyleRuntime) {
23985      return globalScope.__wpStyleRuntime;
23986    }
23987    globalScope.__wpStyleRuntime = {
23988      documents: /* @__PURE__ */ new Map(),
23989      styles: /* @__PURE__ */ new Map(),
23990      injectedStyles: /* @__PURE__ */ new WeakMap()
23991    };
23992    if (typeof document !== "undefined") {
23993      registerDocument35(document);
23994    }
23995    return globalScope.__wpStyleRuntime;
23996  }
23997  function documentContainsStyleHash35(targetDocument, hash) {
23998    if (!targetDocument.head) {
23999      return false;
24000    }
24001    for (const style of targetDocument.head.querySelectorAll(
24002      `style[$STYLE_HASH_ATTRIBUTE35}]`
24003    )) {
24004      if (style.getAttribute(STYLE_HASH_ATTRIBUTE35) === hash) {
24005        return true;
24006      }
24007    }
24008    return false;
24009  }
24010  function injectStyle35(targetDocument, hash, css) {
24011    if (!targetDocument.head) {
24012      return;
24013    }
24014    const runtime = getRuntime35();
24015    let injectedStyles = runtime.injectedStyles.get(targetDocument);
24016    if (!injectedStyles) {
24017      injectedStyles = /* @__PURE__ */ new Set();
24018      runtime.injectedStyles.set(targetDocument, injectedStyles);
24019    }
24020    if (injectedStyles.has(hash)) {
24021      return;
24022    }
24023    if (documentContainsStyleHash35(targetDocument, hash)) {
24024      injectedStyles.add(hash);
24025      return;
24026    }
24027    const style = targetDocument.createElement("style");
24028    style.setAttribute(STYLE_HASH_ATTRIBUTE35, hash);
24029    style.appendChild(targetDocument.createTextNode(css));
24030    targetDocument.head.appendChild(style);
24031    injectedStyles.add(hash);
24032  }
24033  function registerDocument35(targetDocument) {
24034    const runtime = getRuntime35();
24035    runtime.documents.set(
24036      targetDocument,
24037      (runtime.documents.get(targetDocument) ?? 0) + 1
24038    );
24039    for (const [hash, css] of runtime.styles) {
24040      injectStyle35(targetDocument, hash, css);
24041    }
24042    return () => {
24043      const count = runtime.documents.get(targetDocument);
24044      if (count === void 0) {
24045        return;
24046      }
24047      if (count <= 1) {
24048        runtime.documents.delete(targetDocument);
24049        return;
24050      }
24051      runtime.documents.set(targetDocument, count - 1);
24052    };
24053  }
24054  function registerStyle35(hash, css) {
24055    const runtime = getRuntime35();
24056    runtime.styles.set(hash, css);
24057    for (const targetDocument of runtime.documents.keys()) {
24058      injectStyle35(targetDocument, hash, css);
24059    }
24060  }
24061  if (typeof process === "undefined" || true) {
24062    registerStyle35("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
24063  }
24064  var resets_default13 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
24065  if (typeof process === "undefined" || true) {
24066    registerStyle35("4fcc1f90de", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._0c8146c357ee3082__root{width:160px}._94b93b4b54f86af8__label,.d444d83093168104__value{color:var(--wpds-color-foreground-content-neutral,#1e1e1e)}.d444d83093168104__value{font-variant-numeric:tabular-nums}.f08088bb628044ff__track{background-color:var(--wpds-color-background-track-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-lg,8px);height:1.5px;overflow:hidden;position:relative;width:100%;@media (forced-colors:active){outline:var(--wpds-border-width-xs,1px) solid CanvasText;outline-offset:var(--wpds-border-width-xs,1px)}}._288dbe846a740467__indicator{background-color:currentColor;border-radius:inherit;color:var(--wpds-color-background-thumb-neutral,#1e1e1e);height:100%;inset-block-start:0;position:absolute;@media not (prefers-reduced-motion){transition:width var(--wpds-motion-duration-xl,.4s) ease-in-out}&[data-indeterminate]{animation:_412bd854b144d653__progress-slide 1.5s ease-in-out infinite;transition:none;width:50%;@media (prefers-reduced-motion:reduce){animation-duration:3s;animation-timing-function:steps(4)}}}@media (forced-colors:active){._288dbe846a740467__indicator{background-color:CanvasText;forced-color-adjust:none}}@keyframes _412bd854b144d653__progress-slide{0%{inset-inline-start:-50%}to{inset-inline-start:100%}}}}");
24067  }
24068  var style_default26 = { "root": "_0c8146c357ee3082__root", "label": "_94b93b4b54f86af8__label", "value": "d444d83093168104__value", "track": "f08088bb628044ff__track", "indicator": "_288dbe846a740467__indicator", "progress-slide": "_412bd854b144d653__progress-slide" };
24069  var Track = (0, import_element59.forwardRef)(function ProgressTrack3({ className, ...props }, ref) {
24070    return /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
24071      index_parts_exports2.Track,
24072      {
24073        ref,
24074        className: clsx_default(
24075          resets_default13["box-sizing"],
24076          style_default26.track,
24077          className
24078        ),
24079        ...props
24080      }
24081    );
24082  });
24083  
24084  // packages/ui/build-module/progress/indicator.mjs
24085  var import_element60 = __toESM(require_element(), 1);
24086  var import_jsx_runtime116 = __toESM(require_jsx_runtime(), 1);
24087  var STYLE_HASH_ATTRIBUTE36 = "data-wp-hash";
24088  function getRuntime36() {
24089    const globalScope = globalThis;
24090    if (globalScope.__wpStyleRuntime) {
24091      return globalScope.__wpStyleRuntime;
24092    }
24093    globalScope.__wpStyleRuntime = {
24094      documents: /* @__PURE__ */ new Map(),
24095      styles: /* @__PURE__ */ new Map(),
24096      injectedStyles: /* @__PURE__ */ new WeakMap()
24097    };
24098    if (typeof document !== "undefined") {
24099      registerDocument36(document);
24100    }
24101    return globalScope.__wpStyleRuntime;
24102  }
24103  function documentContainsStyleHash36(targetDocument, hash) {
24104    if (!targetDocument.head) {
24105      return false;
24106    }
24107    for (const style of targetDocument.head.querySelectorAll(
24108      `style[$STYLE_HASH_ATTRIBUTE36}]`
24109    )) {
24110      if (style.getAttribute(STYLE_HASH_ATTRIBUTE36) === hash) {
24111        return true;
24112      }
24113    }
24114    return false;
24115  }
24116  function injectStyle36(targetDocument, hash, css) {
24117    if (!targetDocument.head) {
24118      return;
24119    }
24120    const runtime = getRuntime36();
24121    let injectedStyles = runtime.injectedStyles.get(targetDocument);
24122    if (!injectedStyles) {
24123      injectedStyles = /* @__PURE__ */ new Set();
24124      runtime.injectedStyles.set(targetDocument, injectedStyles);
24125    }
24126    if (injectedStyles.has(hash)) {
24127      return;
24128    }
24129    if (documentContainsStyleHash36(targetDocument, hash)) {
24130      injectedStyles.add(hash);
24131      return;
24132    }
24133    const style = targetDocument.createElement("style");
24134    style.setAttribute(STYLE_HASH_ATTRIBUTE36, hash);
24135    style.appendChild(targetDocument.createTextNode(css));
24136    targetDocument.head.appendChild(style);
24137    injectedStyles.add(hash);
24138  }
24139  function registerDocument36(targetDocument) {
24140    const runtime = getRuntime36();
24141    runtime.documents.set(
24142      targetDocument,
24143      (runtime.documents.get(targetDocument) ?? 0) + 1
24144    );
24145    for (const [hash, css] of runtime.styles) {
24146      injectStyle36(targetDocument, hash, css);
24147    }
24148    return () => {
24149      const count = runtime.documents.get(targetDocument);
24150      if (count === void 0) {
24151        return;
24152      }
24153      if (count <= 1) {
24154        runtime.documents.delete(targetDocument);
24155        return;
24156      }
24157      runtime.documents.set(targetDocument, count - 1);
24158    };
24159  }
24160  function registerStyle36(hash, css) {
24161    const runtime = getRuntime36();
24162    runtime.styles.set(hash, css);
24163    for (const targetDocument of runtime.documents.keys()) {
24164      injectStyle36(targetDocument, hash, css);
24165    }
24166  }
24167  if (typeof process === "undefined" || true) {
24168    registerStyle36("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
24169  }
24170  var resets_default14 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
24171  if (typeof process === "undefined" || true) {
24172    registerStyle36("4fcc1f90de", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._0c8146c357ee3082__root{width:160px}._94b93b4b54f86af8__label,.d444d83093168104__value{color:var(--wpds-color-foreground-content-neutral,#1e1e1e)}.d444d83093168104__value{font-variant-numeric:tabular-nums}.f08088bb628044ff__track{background-color:var(--wpds-color-background-track-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-lg,8px);height:1.5px;overflow:hidden;position:relative;width:100%;@media (forced-colors:active){outline:var(--wpds-border-width-xs,1px) solid CanvasText;outline-offset:var(--wpds-border-width-xs,1px)}}._288dbe846a740467__indicator{background-color:currentColor;border-radius:inherit;color:var(--wpds-color-background-thumb-neutral,#1e1e1e);height:100%;inset-block-start:0;position:absolute;@media not (prefers-reduced-motion){transition:width var(--wpds-motion-duration-xl,.4s) ease-in-out}&[data-indeterminate]{animation:_412bd854b144d653__progress-slide 1.5s ease-in-out infinite;transition:none;width:50%;@media (prefers-reduced-motion:reduce){animation-duration:3s;animation-timing-function:steps(4)}}}@media (forced-colors:active){._288dbe846a740467__indicator{background-color:CanvasText;forced-color-adjust:none}}@keyframes _412bd854b144d653__progress-slide{0%{inset-inline-start:-50%}to{inset-inline-start:100%}}}}");
24173  }
24174  var style_default27 = { "root": "_0c8146c357ee3082__root", "label": "_94b93b4b54f86af8__label", "value": "d444d83093168104__value", "track": "f08088bb628044ff__track", "indicator": "_288dbe846a740467__indicator", "progress-slide": "_412bd854b144d653__progress-slide" };
24175  var Indicator = (0, import_element60.forwardRef)(
24176    function ProgressIndicator3({ color, className, style, ...props }, ref) {
24177      return /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
24178        index_parts_exports2.Indicator,
24179        {
24180          ref,
24181          style: color === void 0 ? style : { ...style, color },
24182          className: clsx_default(
24183            resets_default14["box-sizing"],
24184            style_default27.indicator,
24185            className
24186          ),
24187          ...props
24188        }
24189      );
24190    }
24191  );
24192  
24193  // packages/ui/build-module/progress/label.mjs
24194  var import_element61 = __toESM(require_element(), 1);
24195  var import_jsx_runtime117 = __toESM(require_jsx_runtime(), 1);
24196  var STYLE_HASH_ATTRIBUTE37 = "data-wp-hash";
24197  function getRuntime37() {
24198    const globalScope = globalThis;
24199    if (globalScope.__wpStyleRuntime) {
24200      return globalScope.__wpStyleRuntime;
24201    }
24202    globalScope.__wpStyleRuntime = {
24203      documents: /* @__PURE__ */ new Map(),
24204      styles: /* @__PURE__ */ new Map(),
24205      injectedStyles: /* @__PURE__ */ new WeakMap()
24206    };
24207    if (typeof document !== "undefined") {
24208      registerDocument37(document);
24209    }
24210    return globalScope.__wpStyleRuntime;
24211  }
24212  function documentContainsStyleHash37(targetDocument, hash) {
24213    if (!targetDocument.head) {
24214      return false;
24215    }
24216    for (const style of targetDocument.head.querySelectorAll(
24217      `style[$STYLE_HASH_ATTRIBUTE37}]`
24218    )) {
24219      if (style.getAttribute(STYLE_HASH_ATTRIBUTE37) === hash) {
24220        return true;
24221      }
24222    }
24223    return false;
24224  }
24225  function injectStyle37(targetDocument, hash, css) {
24226    if (!targetDocument.head) {
24227      return;
24228    }
24229    const runtime = getRuntime37();
24230    let injectedStyles = runtime.injectedStyles.get(targetDocument);
24231    if (!injectedStyles) {
24232      injectedStyles = /* @__PURE__ */ new Set();
24233      runtime.injectedStyles.set(targetDocument, injectedStyles);
24234    }
24235    if (injectedStyles.has(hash)) {
24236      return;
24237    }
24238    if (documentContainsStyleHash37(targetDocument, hash)) {
24239      injectedStyles.add(hash);
24240      return;
24241    }
24242    const style = targetDocument.createElement("style");
24243    style.setAttribute(STYLE_HASH_ATTRIBUTE37, hash);
24244    style.appendChild(targetDocument.createTextNode(css));
24245    targetDocument.head.appendChild(style);
24246    injectedStyles.add(hash);
24247  }
24248  function registerDocument37(targetDocument) {
24249    const runtime = getRuntime37();
24250    runtime.documents.set(
24251      targetDocument,
24252      (runtime.documents.get(targetDocument) ?? 0) + 1
24253    );
24254    for (const [hash, css] of runtime.styles) {
24255      injectStyle37(targetDocument, hash, css);
24256    }
24257    return () => {
24258      const count = runtime.documents.get(targetDocument);
24259      if (count === void 0) {
24260        return;
24261      }
24262      if (count <= 1) {
24263        runtime.documents.delete(targetDocument);
24264        return;
24265      }
24266      runtime.documents.set(targetDocument, count - 1);
24267    };
24268  }
24269  function registerStyle37(hash, css) {
24270    const runtime = getRuntime37();
24271    runtime.styles.set(hash, css);
24272    for (const targetDocument of runtime.documents.keys()) {
24273      injectStyle37(targetDocument, hash, css);
24274    }
24275  }
24276  if (typeof process === "undefined" || true) {
24277    registerStyle37("4fcc1f90de", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._0c8146c357ee3082__root{width:160px}._94b93b4b54f86af8__label,.d444d83093168104__value{color:var(--wpds-color-foreground-content-neutral,#1e1e1e)}.d444d83093168104__value{font-variant-numeric:tabular-nums}.f08088bb628044ff__track{background-color:var(--wpds-color-background-track-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-lg,8px);height:1.5px;overflow:hidden;position:relative;width:100%;@media (forced-colors:active){outline:var(--wpds-border-width-xs,1px) solid CanvasText;outline-offset:var(--wpds-border-width-xs,1px)}}._288dbe846a740467__indicator{background-color:currentColor;border-radius:inherit;color:var(--wpds-color-background-thumb-neutral,#1e1e1e);height:100%;inset-block-start:0;position:absolute;@media not (prefers-reduced-motion){transition:width var(--wpds-motion-duration-xl,.4s) ease-in-out}&[data-indeterminate]{animation:_412bd854b144d653__progress-slide 1.5s ease-in-out infinite;transition:none;width:50%;@media (prefers-reduced-motion:reduce){animation-duration:3s;animation-timing-function:steps(4)}}}@media (forced-colors:active){._288dbe846a740467__indicator{background-color:CanvasText;forced-color-adjust:none}}@keyframes _412bd854b144d653__progress-slide{0%{inset-inline-start:-50%}to{inset-inline-start:100%}}}}");
24278  }
24279  var style_default28 = { "root": "_0c8146c357ee3082__root", "label": "_94b93b4b54f86af8__label", "value": "d444d83093168104__value", "track": "f08088bb628044ff__track", "indicator": "_288dbe846a740467__indicator", "progress-slide": "_412bd854b144d653__progress-slide" };
24280  var DEFAULT_RENDER2 = /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(Text, {});
24281  var Label = (0, import_element61.forwardRef)(function ProgressLabel3({ className, render = DEFAULT_RENDER2, ...props }, ref) {
24282    return /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
24283      index_parts_exports2.Label,
24284      {
24285        ref,
24286        render,
24287        className: clsx_default(style_default28.label, className),
24288        ...props
24289      }
24290    );
24291  });
24292  
24293  // packages/ui/build-module/progress/value.mjs
24294  var import_element62 = __toESM(require_element(), 1);
24295  var import_jsx_runtime118 = __toESM(require_jsx_runtime(), 1);
24296  var STYLE_HASH_ATTRIBUTE38 = "data-wp-hash";
24297  function getRuntime38() {
24298    const globalScope = globalThis;
24299    if (globalScope.__wpStyleRuntime) {
24300      return globalScope.__wpStyleRuntime;
24301    }
24302    globalScope.__wpStyleRuntime = {
24303      documents: /* @__PURE__ */ new Map(),
24304      styles: /* @__PURE__ */ new Map(),
24305      injectedStyles: /* @__PURE__ */ new WeakMap()
24306    };
24307    if (typeof document !== "undefined") {
24308      registerDocument38(document);
24309    }
24310    return globalScope.__wpStyleRuntime;
24311  }
24312  function documentContainsStyleHash38(targetDocument, hash) {
24313    if (!targetDocument.head) {
24314      return false;
24315    }
24316    for (const style of targetDocument.head.querySelectorAll(
24317      `style[$STYLE_HASH_ATTRIBUTE38}]`
24318    )) {
24319      if (style.getAttribute(STYLE_HASH_ATTRIBUTE38) === hash) {
24320        return true;
24321      }
24322    }
24323    return false;
24324  }
24325  function injectStyle38(targetDocument, hash, css) {
24326    if (!targetDocument.head) {
24327      return;
24328    }
24329    const runtime = getRuntime38();
24330    let injectedStyles = runtime.injectedStyles.get(targetDocument);
24331    if (!injectedStyles) {
24332      injectedStyles = /* @__PURE__ */ new Set();
24333      runtime.injectedStyles.set(targetDocument, injectedStyles);
24334    }
24335    if (injectedStyles.has(hash)) {
24336      return;
24337    }
24338    if (documentContainsStyleHash38(targetDocument, hash)) {
24339      injectedStyles.add(hash);
24340      return;
24341    }
24342    const style = targetDocument.createElement("style");
24343    style.setAttribute(STYLE_HASH_ATTRIBUTE38, hash);
24344    style.appendChild(targetDocument.createTextNode(css));
24345    targetDocument.head.appendChild(style);
24346    injectedStyles.add(hash);
24347  }
24348  function registerDocument38(targetDocument) {
24349    const runtime = getRuntime38();
24350    runtime.documents.set(
24351      targetDocument,
24352      (runtime.documents.get(targetDocument) ?? 0) + 1
24353    );
24354    for (const [hash, css] of runtime.styles) {
24355      injectStyle38(targetDocument, hash, css);
24356    }
24357    return () => {
24358      const count = runtime.documents.get(targetDocument);
24359      if (count === void 0) {
24360        return;
24361      }
24362      if (count <= 1) {
24363        runtime.documents.delete(targetDocument);
24364        return;
24365      }
24366      runtime.documents.set(targetDocument, count - 1);
24367    };
24368  }
24369  function registerStyle38(hash, css) {
24370    const runtime = getRuntime38();
24371    runtime.styles.set(hash, css);
24372    for (const targetDocument of runtime.documents.keys()) {
24373      injectStyle38(targetDocument, hash, css);
24374    }
24375  }
24376  if (typeof process === "undefined" || true) {
24377    registerStyle38("4fcc1f90de", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._0c8146c357ee3082__root{width:160px}._94b93b4b54f86af8__label,.d444d83093168104__value{color:var(--wpds-color-foreground-content-neutral,#1e1e1e)}.d444d83093168104__value{font-variant-numeric:tabular-nums}.f08088bb628044ff__track{background-color:var(--wpds-color-background-track-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-lg,8px);height:1.5px;overflow:hidden;position:relative;width:100%;@media (forced-colors:active){outline:var(--wpds-border-width-xs,1px) solid CanvasText;outline-offset:var(--wpds-border-width-xs,1px)}}._288dbe846a740467__indicator{background-color:currentColor;border-radius:inherit;color:var(--wpds-color-background-thumb-neutral,#1e1e1e);height:100%;inset-block-start:0;position:absolute;@media not (prefers-reduced-motion){transition:width var(--wpds-motion-duration-xl,.4s) ease-in-out}&[data-indeterminate]{animation:_412bd854b144d653__progress-slide 1.5s ease-in-out infinite;transition:none;width:50%;@media (prefers-reduced-motion:reduce){animation-duration:3s;animation-timing-function:steps(4)}}}@media (forced-colors:active){._288dbe846a740467__indicator{background-color:CanvasText;forced-color-adjust:none}}@keyframes _412bd854b144d653__progress-slide{0%{inset-inline-start:-50%}to{inset-inline-start:100%}}}}");
24378  }
24379  var style_default29 = { "root": "_0c8146c357ee3082__root", "label": "_94b93b4b54f86af8__label", "value": "d444d83093168104__value", "track": "f08088bb628044ff__track", "indicator": "_288dbe846a740467__indicator", "progress-slide": "_412bd854b144d653__progress-slide" };
24380  var DEFAULT_RENDER3 = /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(Text, {});
24381  var Value = (0, import_element62.forwardRef)(function ProgressValue3({ className, render = DEFAULT_RENDER3, ...props }, ref) {
24382    return /* @__PURE__ */ (0, import_jsx_runtime118.jsx)(
24383      index_parts_exports2.Value,
24384      {
24385        ref,
24386        render,
24387        className: clsx_default(style_default29.value, className),
24388        ...props
24389      }
24390    );
24391  });
24392  
24393  // packages/ui/build-module/skeleton/skeleton.mjs
24394  var import_element63 = __toESM(require_element(), 1);
24395  var STYLE_HASH_ATTRIBUTE39 = "data-wp-hash";
24396  function getRuntime39() {
24397    const globalScope = globalThis;
24398    if (globalScope.__wpStyleRuntime) {
24399      return globalScope.__wpStyleRuntime;
24400    }
24401    globalScope.__wpStyleRuntime = {
24402      documents: /* @__PURE__ */ new Map(),
24403      styles: /* @__PURE__ */ new Map(),
24404      injectedStyles: /* @__PURE__ */ new WeakMap()
24405    };
24406    if (typeof document !== "undefined") {
24407      registerDocument39(document);
24408    }
24409    return globalScope.__wpStyleRuntime;
24410  }
24411  function documentContainsStyleHash39(targetDocument, hash) {
24412    if (!targetDocument.head) {
24413      return false;
24414    }
24415    for (const style of targetDocument.head.querySelectorAll(
24416      `style[$STYLE_HASH_ATTRIBUTE39}]`
24417    )) {
24418      if (style.getAttribute(STYLE_HASH_ATTRIBUTE39) === hash) {
24419        return true;
24420      }
24421    }
24422    return false;
24423  }
24424  function injectStyle39(targetDocument, hash, css) {
24425    if (!targetDocument.head) {
24426      return;
24427    }
24428    const runtime = getRuntime39();
24429    let injectedStyles = runtime.injectedStyles.get(targetDocument);
24430    if (!injectedStyles) {
24431      injectedStyles = /* @__PURE__ */ new Set();
24432      runtime.injectedStyles.set(targetDocument, injectedStyles);
24433    }
24434    if (injectedStyles.has(hash)) {
24435      return;
24436    }
24437    if (documentContainsStyleHash39(targetDocument, hash)) {
24438      injectedStyles.add(hash);
24439      return;
24440    }
24441    const style = targetDocument.createElement("style");
24442    style.setAttribute(STYLE_HASH_ATTRIBUTE39, hash);
24443    style.appendChild(targetDocument.createTextNode(css));
24444    targetDocument.head.appendChild(style);
24445    injectedStyles.add(hash);
24446  }
24447  function registerDocument39(targetDocument) {
24448    const runtime = getRuntime39();
24449    runtime.documents.set(
24450      targetDocument,
24451      (runtime.documents.get(targetDocument) ?? 0) + 1
24452    );
24453    for (const [hash, css] of runtime.styles) {
24454      injectStyle39(targetDocument, hash, css);
24455    }
24456    return () => {
24457      const count = runtime.documents.get(targetDocument);
24458      if (count === void 0) {
24459        return;
24460      }
24461      if (count <= 1) {
24462        runtime.documents.delete(targetDocument);
24463        return;
24464      }
24465      runtime.documents.set(targetDocument, count - 1);
24466    };
24467  }
24468  function registerStyle39(hash, css) {
24469    const runtime = getRuntime39();
24470    runtime.styles.set(hash, css);
24471    for (const targetDocument of runtime.documents.keys()) {
24472      injectStyle39(targetDocument, hash, css);
24473    }
24474  }
24475  if (typeof process === "undefined" || true) {
24476    registerStyle39("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
24477  }
24478  var resets_default15 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
24479  if (typeof process === "undefined" || true) {
24480    registerStyle39("ed2c39ec90", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.b20cc1690085c2f0__skeleton{background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);display:block;@media (forced-colors:active){border:var(--wpds-border-width-xs,1px) solid CanvasText}}._9b143194fdb45f93__pulse{@media not (prefers-reduced-motion){animation:e2b9fe0690281bc8__skeleton-pulse 1.5s ease-in-out infinite}}@keyframes e2b9fe0690281bc8__skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}}}");
24481  }
24482  var style_default30 = { "skeleton": "b20cc1690085c2f0__skeleton", "pulse": "_9b143194fdb45f93__pulse", "skeleton-pulse": "e2b9fe0690281bc8__skeleton-pulse" };
24483  var Skeleton = (0, import_element63.forwardRef)(
24484    function UnforwardedSkeleton({ render, ...props }, ref) {
24485      return useRender({
24486        render,
24487        ref,
24488        props: mergeProps(
24489          {
24490            className: clsx_default(
24491              style_default30.skeleton,
24492              style_default30.pulse,
24493              resets_default15["box-sizing"]
24494            ),
24495            // Decorative by default; consumers mark the loading
24496            // region with aria-busy / role="status".
24497            "aria-hidden": true
24498          },
24499          props
24500        )
24501      });
24502    }
24503  );
24504  
24505  // packages/admin-ui/build-module/navigable-region/index.mjs
24506  var import_element64 = __toESM(require_element(), 1);
24507  var import_jsx_runtime119 = __toESM(require_jsx_runtime(), 1);
24508  var NavigableRegion = (0, import_element64.forwardRef)(
24509    ({ children, className, ariaLabel, as: Tag = "div", ...props }, ref) => {
24510      return /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
24511        Tag,
24512        {
24513          ref,
24514          className: clsx_default("admin-ui-navigable-region", className),
24515          "aria-label": ariaLabel,
24516          role: "region",
24517          tabIndex: "-1",
24518          ...props,
24519          children
24520        }
24521      );
24522    }
24523  );
24524  NavigableRegion.displayName = "NavigableRegion";
24525  var navigable_region_default = NavigableRegion;
24526  
24527  // packages/admin-ui/build-module/navigation/index.mjs
24528  var import_i18n7 = __toESM(require_i18n(), 1);
24529  var import_jsx_runtime120 = __toESM(require_jsx_runtime(), 1);
24530  var STYLE_HASH_ATTRIBUTE40 = "data-wp-hash";
24531  function getRuntime40() {
24532    const globalScope = globalThis;
24533    if (globalScope.__wpStyleRuntime) {
24534      return globalScope.__wpStyleRuntime;
24535    }
24536    globalScope.__wpStyleRuntime = {
24537      documents: /* @__PURE__ */ new Map(),
24538      styles: /* @__PURE__ */ new Map(),
24539      injectedStyles: /* @__PURE__ */ new WeakMap()
24540    };
24541    if (typeof document !== "undefined") {
24542      registerDocument40(document);
24543    }
24544    return globalScope.__wpStyleRuntime;
24545  }
24546  function documentContainsStyleHash40(targetDocument, hash) {
24547    if (!targetDocument.head) {
24548      return false;
24549    }
24550    for (const style of targetDocument.head.querySelectorAll(
24551      `style[$STYLE_HASH_ATTRIBUTE40}]`
24552    )) {
24553      if (style.getAttribute(STYLE_HASH_ATTRIBUTE40) === hash) {
24554        return true;
24555      }
24556    }
24557    return false;
24558  }
24559  function injectStyle40(targetDocument, hash, css) {
24560    if (!targetDocument.head) {
24561      return;
24562    }
24563    const runtime = getRuntime40();
24564    let injectedStyles = runtime.injectedStyles.get(targetDocument);
24565    if (!injectedStyles) {
24566      injectedStyles = /* @__PURE__ */ new Set();
24567      runtime.injectedStyles.set(targetDocument, injectedStyles);
24568    }
24569    if (injectedStyles.has(hash)) {
24570      return;
24571    }
24572    if (documentContainsStyleHash40(targetDocument, hash)) {
24573      injectedStyles.add(hash);
24574      return;
24575    }
24576    const style = targetDocument.createElement("style");
24577    style.setAttribute(STYLE_HASH_ATTRIBUTE40, hash);
24578    style.appendChild(targetDocument.createTextNode(css));
24579    targetDocument.head.appendChild(style);
24580    injectedStyles.add(hash);
24581  }
24582  function registerDocument40(targetDocument) {
24583    const runtime = getRuntime40();
24584    runtime.documents.set(
24585      targetDocument,
24586      (runtime.documents.get(targetDocument) ?? 0) + 1
24587    );
24588    for (const [hash, css] of runtime.styles) {
24589      injectStyle40(targetDocument, hash, css);
24590    }
24591    return () => {
24592      const count = runtime.documents.get(targetDocument);
24593      if (count === void 0) {
24594        return;
24595      }
24596      if (count <= 1) {
24597        runtime.documents.delete(targetDocument);
24598        return;
24599      }
24600      runtime.documents.set(targetDocument, count - 1);
24601    };
24602  }
24603  function registerStyle40(hash, css) {
24604    const runtime = getRuntime40();
24605    runtime.styles.set(hash, css);
24606    for (const targetDocument of runtime.documents.keys()) {
24607      injectStyle40(targetDocument, hash, css);
24608    }
24609  }
24610  if (typeof process === "undefined" || true) {
24611    registerStyle40("72ef022400", ".bfb5a2dd8cceebd3__list{--focus-ring-size:calc(var(--wpds-border-width-focus, var(--wp-admin-border-width-focus, 2px))*2);list-style:none;margin:calc(var(--focus-ring-size)*-1);overflow-x:auto;padding:var(--focus-ring-size);scroll-padding:var(--focus-ring-size)}.a4759b4cb2c8bd92__li{flex-shrink:0}._07da506d3f2d9afe__item{align-items:center;color:var(--wpds-color-foreground-interactive-neutral-weak,#707070);display:flex;font-weight:var(--wpds-typography-font-weight-default,400);min-block-size:44px;min-inline-size:44px;text-decoration:none}._07da506d3f2d9afe__item:hover,._07da506d3f2d9afe__item[aria-current=page]{color:var(--wpds-color-foreground-interactive-neutral-weak-active,#1e1e1e)}._07da506d3f2d9afe__item[aria-current=page]{font-weight:var(--wpds-typography-font-weight-emphasis,600)}");
24612  }
24613  var style_default31 = { "list": "bfb5a2dd8cceebd3__list", "li": "a4759b4cb2c8bd92__li", "item": "_07da506d3f2d9afe__item" };
24614  var Navigation = ({
24615    items,
24616    currentHref,
24617    ariaLabel = (0, import_i18n7.__)("Sections"),
24618    linkComponent,
24619    className
24620  }) => {
24621    if (!items.length) {
24622      return null;
24623    }
24624    const LinkComponent = linkComponent ?? "a";
24625    if (true) {
24626      const invalidItem = items.find(
24627        (item) => typeof item.href !== "string"
24628      );
24629      if (invalidItem) {
24630        throw new Error(
24631          `Navigation: item "$invalidItem.label}" is missing an \`href\` prop.`
24632        );
24633      }
24634      const duplicate = items.find(
24635        (item, index2) => items.findIndex((other) => other.href === item.href) !== index2
24636      );
24637      if (duplicate) {
24638        throw new Error(
24639          `Navigation: duplicate \`href\` "$duplicate.href}". Each item must have a unique \`href\` so a single item receives \`aria-current="page"\`.`
24640        );
24641      }
24642    }
24643    return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("nav", { "aria-label": ariaLabel, className, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
24644      Stack,
24645      {
24646        render: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("ul", { role: "list" }),
24647        direction: "row",
24648        align: "center",
24649        gap: "md",
24650        className: style_default31.list,
24651        children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("li", { className: style_default31.li, children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
24652          Text,
24653          {
24654            variant: "body-md",
24655            className: style_default31.item,
24656            render: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
24657              Link,
24658              {
24659                variant: "unstyled",
24660                "aria-current": item.href === currentHref ? "page" : void 0,
24661                render: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(LinkComponent, { href: item.href })
24662              }
24663            ),
24664            children: item.label
24665          }
24666        ) }, item.href))
24667      }
24668    ) });
24669  };
24670  var navigation_default = Navigation;
24671  
24672  // packages/admin-ui/build-module/page/sidebar-toggle-slot.mjs
24673  var import_components = __toESM(require_components(), 1);
24674  var { Fill: SidebarToggleFill, Slot: SidebarToggleSlot } = (0, import_components.createSlotFill)("SidebarToggle");
24675  
24676  // packages/admin-ui/build-module/page/header.mjs
24677  var import_jsx_runtime121 = __toESM(require_jsx_runtime(), 1);
24678  var STYLE_HASH_ATTRIBUTE41 = "data-wp-hash";
24679  function getRuntime41() {
24680    const globalScope = globalThis;
24681    if (globalScope.__wpStyleRuntime) {
24682      return globalScope.__wpStyleRuntime;
24683    }
24684    globalScope.__wpStyleRuntime = {
24685      documents: /* @__PURE__ */ new Map(),
24686      styles: /* @__PURE__ */ new Map(),
24687      injectedStyles: /* @__PURE__ */ new WeakMap()
24688    };
24689    if (typeof document !== "undefined") {
24690      registerDocument41(document);
24691    }
24692    return globalScope.__wpStyleRuntime;
24693  }
24694  function documentContainsStyleHash41(targetDocument, hash) {
24695    if (!targetDocument.head) {
24696      return false;
24697    }
24698    for (const style of targetDocument.head.querySelectorAll(
24699      `style[$STYLE_HASH_ATTRIBUTE41}]`
24700    )) {
24701      if (style.getAttribute(STYLE_HASH_ATTRIBUTE41) === hash) {
24702        return true;
24703      }
24704    }
24705    return false;
24706  }
24707  function injectStyle41(targetDocument, hash, css) {
24708    if (!targetDocument.head) {
24709      return;
24710    }
24711    const runtime = getRuntime41();
24712    let injectedStyles = runtime.injectedStyles.get(targetDocument);
24713    if (!injectedStyles) {
24714      injectedStyles = /* @__PURE__ */ new Set();
24715      runtime.injectedStyles.set(targetDocument, injectedStyles);
24716    }
24717    if (injectedStyles.has(hash)) {
24718      return;
24719    }
24720    if (documentContainsStyleHash41(targetDocument, hash)) {
24721      injectedStyles.add(hash);
24722      return;
24723    }
24724    const style = targetDocument.createElement("style");
24725    style.setAttribute(STYLE_HASH_ATTRIBUTE41, hash);
24726    style.appendChild(targetDocument.createTextNode(css));
24727    targetDocument.head.appendChild(style);
24728    injectedStyles.add(hash);
24729  }
24730  function registerDocument41(targetDocument) {
24731    const runtime = getRuntime41();
24732    runtime.documents.set(
24733      targetDocument,
24734      (runtime.documents.get(targetDocument) ?? 0) + 1
24735    );
24736    for (const [hash, css] of runtime.styles) {
24737      injectStyle41(targetDocument, hash, css);
24738    }
24739    return () => {
24740      const count = runtime.documents.get(targetDocument);
24741      if (count === void 0) {
24742        return;
24743      }
24744      if (count <= 1) {
24745        runtime.documents.delete(targetDocument);
24746        return;
24747      }
24748      runtime.documents.set(targetDocument, count - 1);
24749    };
24750  }
24751  function registerStyle41(hash, css) {
24752    const runtime = getRuntime41();
24753    runtime.styles.set(hash, css);
24754    for (const targetDocument of runtime.documents.keys()) {
24755      injectStyle41(targetDocument, hash, css);
24756    }
24757  }
24758  if (typeof process === "undefined" || true) {
24759    registerStyle41("1f3750277d", "._956b6df0898efed0__page{text-wrap:pretty;background-color:var(--wpds-color-background-surface-neutral,#fcfcfc);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);display:flex;flex-flow:column;height:100%;position:relative;z-index:1}._0625b55e82a0d93d__header{background:var(--wpds-color-background-surface-neutral-strong,#fff);border-block-end:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);inset-block-start:0;padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px);position:sticky;z-index:1}.a43c44d5ae28b2e8__header-content{min-height:var(--wpds-dimension-size-md,32px)}.b7cb5b9daf3a3b25__header-actions{flex-shrink:0}._8bcd33103b451f30__header-lockup{min-width:0}._8113be94e7caf73c__header-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._9a776c7f70996f61__header-visual{display:grid;flex-shrink:0;grid-template-columns:1fr;grid-template-rows:1fr;height:var(--wpds-dimension-size-sm,24px);width:var(--wpds-dimension-size-sm,24px);>*{grid-column:1/-1;grid-row:1/-1;max-height:100%;max-width:100%}}.d5e0920cd15d35bc__sidebar-toggle-slot:empty{display:none}._60fea2f6bf5319cd__header-subtitle{color:var(--wpds-color-foreground-content-neutral-weak,#707070);padding-block-end:var(--wpds-dimension-padding-xs,4px)}._0625b55e82a0d93d__header._4b0f17e503d11619__has-navigation,._0625b55e82a0d93d__header._4b0f17e503d11619__has-navigation ._60fea2f6bf5319cd__header-subtitle{padding-block-end:0}._673c99dcbfb58211__header-navigation{margin-block-start:var(--wpds-dimension-gap-md,12px)}.be5e57d029ec4036__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;&._128806d0b26e3a50__has-padding{padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px)}}");
24760  }
24761  var style_default32 = { "page": "_956b6df0898efed0__page", "header": "_0625b55e82a0d93d__header", "header-content": "a43c44d5ae28b2e8__header-content", "header-actions": "b7cb5b9daf3a3b25__header-actions", "header-lockup": "_8bcd33103b451f30__header-lockup", "header-title": "_8113be94e7caf73c__header-title", "header-visual": "_9a776c7f70996f61__header-visual", "sidebar-toggle-slot": "d5e0920cd15d35bc__sidebar-toggle-slot", "header-subtitle": "_60fea2f6bf5319cd__header-subtitle", "has-navigation": "_4b0f17e503d11619__has-navigation", "header-navigation": "_673c99dcbfb58211__header-navigation", "content": "be5e57d029ec4036__content", "has-padding": "_128806d0b26e3a50__has-padding" };
24762  function Header({
24763    headingLevel = 1,
24764    breadcrumbs,
24765    badges,
24766    visual,
24767    title,
24768    subTitle,
24769    actions,
24770    navigation,
24771    components,
24772    showSidebarToggle = true
24773  }) {
24774    const HeadingTag = `h$headingLevel}`;
24775    const hasNavigation = !!navigation?.items?.length;
24776    return /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
24777      Stack,
24778      {
24779        direction: "column",
24780        className: clsx_default(
24781          style_default32.header,
24782          hasNavigation && style_default32["has-navigation"]
24783        ),
24784        children: [
24785          /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
24786            Stack,
24787            {
24788              className: style_default32["header-content"],
24789              direction: "row",
24790              gap: "sm",
24791              justify: "space-between",
24792              children: [
24793                /* @__PURE__ */ (0, import_jsx_runtime121.jsxs)(
24794                  Stack,
24795                  {
24796                    direction: "row",
24797                    gap: "sm",
24798                    align: "center",
24799                    justify: "start",
24800                    className: style_default32["header-lockup"],
24801                    children: [
24802                      showSidebarToggle && /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
24803                        SidebarToggleSlot,
24804                        {
24805                          bubblesVirtually: true,
24806                          className: style_default32["sidebar-toggle-slot"]
24807                        }
24808                      ),
24809                      visual && /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
24810                        "div",
24811                        {
24812                          className: style_default32["header-visual"],
24813                          "aria-hidden": "true",
24814                          children: visual
24815                        }
24816                      ),
24817                      title && /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
24818                        Text,
24819                        {
24820                          className: style_default32["header-title"],
24821                          render: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(HeadingTag, {}),
24822                          variant: "heading-lg",
24823                          children: title
24824                        }
24825                      ),
24826                      breadcrumbs,
24827                      badges
24828                    ]
24829                  }
24830                ),
24831                actions && /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
24832                  Stack,
24833                  {
24834                    align: "center",
24835                    className: style_default32["header-actions"],
24836                    direction: "row",
24837                    gap: "sm",
24838                    children: actions
24839                  }
24840                )
24841              ]
24842            }
24843          ),
24844          subTitle && /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
24845            Text,
24846            {
24847              render: /* @__PURE__ */ (0, import_jsx_runtime121.jsx)("p", {}),
24848              variant: "body-md",
24849              className: style_default32["header-subtitle"],
24850              children: subTitle
24851            }
24852          ),
24853          hasNavigation && /* @__PURE__ */ (0, import_jsx_runtime121.jsx)(
24854            navigation_default,
24855            {
24856              ...navigation,
24857              linkComponent: components?.link,
24858              className: style_default32["header-navigation"]
24859            }
24860          )
24861        ]
24862      }
24863    );
24864  }
24865  
24866  // packages/admin-ui/build-module/page/index.mjs
24867  var import_jsx_runtime122 = __toESM(require_jsx_runtime(), 1);
24868  var STYLE_HASH_ATTRIBUTE42 = "data-wp-hash";
24869  function getRuntime42() {
24870    const globalScope = globalThis;
24871    if (globalScope.__wpStyleRuntime) {
24872      return globalScope.__wpStyleRuntime;
24873    }
24874    globalScope.__wpStyleRuntime = {
24875      documents: /* @__PURE__ */ new Map(),
24876      styles: /* @__PURE__ */ new Map(),
24877      injectedStyles: /* @__PURE__ */ new WeakMap()
24878    };
24879    if (typeof document !== "undefined") {
24880      registerDocument42(document);
24881    }
24882    return globalScope.__wpStyleRuntime;
24883  }
24884  function documentContainsStyleHash42(targetDocument, hash) {
24885    if (!targetDocument.head) {
24886      return false;
24887    }
24888    for (const style of targetDocument.head.querySelectorAll(
24889      `style[$STYLE_HASH_ATTRIBUTE42}]`
24890    )) {
24891      if (style.getAttribute(STYLE_HASH_ATTRIBUTE42) === hash) {
24892        return true;
24893      }
24894    }
24895    return false;
24896  }
24897  function injectStyle42(targetDocument, hash, css) {
24898    if (!targetDocument.head) {
24899      return;
24900    }
24901    const runtime = getRuntime42();
24902    let injectedStyles = runtime.injectedStyles.get(targetDocument);
24903    if (!injectedStyles) {
24904      injectedStyles = /* @__PURE__ */ new Set();
24905      runtime.injectedStyles.set(targetDocument, injectedStyles);
24906    }
24907    if (injectedStyles.has(hash)) {
24908      return;
24909    }
24910    if (documentContainsStyleHash42(targetDocument, hash)) {
24911      injectedStyles.add(hash);
24912      return;
24913    }
24914    const style = targetDocument.createElement("style");
24915    style.setAttribute(STYLE_HASH_ATTRIBUTE42, hash);
24916    style.appendChild(targetDocument.createTextNode(css));
24917    targetDocument.head.appendChild(style);
24918    injectedStyles.add(hash);
24919  }
24920  function registerDocument42(targetDocument) {
24921    const runtime = getRuntime42();
24922    runtime.documents.set(
24923      targetDocument,
24924      (runtime.documents.get(targetDocument) ?? 0) + 1
24925    );
24926    for (const [hash, css] of runtime.styles) {
24927      injectStyle42(targetDocument, hash, css);
24928    }
24929    return () => {
24930      const count = runtime.documents.get(targetDocument);
24931      if (count === void 0) {
24932        return;
24933      }
24934      if (count <= 1) {
24935        runtime.documents.delete(targetDocument);
24936        return;
24937      }
24938      runtime.documents.set(targetDocument, count - 1);
24939    };
24940  }
24941  function registerStyle42(hash, css) {
24942    const runtime = getRuntime42();
24943    runtime.styles.set(hash, css);
24944    for (const targetDocument of runtime.documents.keys()) {
24945      injectStyle42(targetDocument, hash, css);
24946    }
24947  }
24948  if (typeof process === "undefined" || true) {
24949    registerStyle42("1f3750277d", "._956b6df0898efed0__page{text-wrap:pretty;background-color:var(--wpds-color-background-surface-neutral,#fcfcfc);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);display:flex;flex-flow:column;height:100%;position:relative;z-index:1}._0625b55e82a0d93d__header{background:var(--wpds-color-background-surface-neutral-strong,#fff);border-block-end:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);inset-block-start:0;padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px);position:sticky;z-index:1}.a43c44d5ae28b2e8__header-content{min-height:var(--wpds-dimension-size-md,32px)}.b7cb5b9daf3a3b25__header-actions{flex-shrink:0}._8bcd33103b451f30__header-lockup{min-width:0}._8113be94e7caf73c__header-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._9a776c7f70996f61__header-visual{display:grid;flex-shrink:0;grid-template-columns:1fr;grid-template-rows:1fr;height:var(--wpds-dimension-size-sm,24px);width:var(--wpds-dimension-size-sm,24px);>*{grid-column:1/-1;grid-row:1/-1;max-height:100%;max-width:100%}}.d5e0920cd15d35bc__sidebar-toggle-slot:empty{display:none}._60fea2f6bf5319cd__header-subtitle{color:var(--wpds-color-foreground-content-neutral-weak,#707070);padding-block-end:var(--wpds-dimension-padding-xs,4px)}._0625b55e82a0d93d__header._4b0f17e503d11619__has-navigation,._0625b55e82a0d93d__header._4b0f17e503d11619__has-navigation ._60fea2f6bf5319cd__header-subtitle{padding-block-end:0}._673c99dcbfb58211__header-navigation{margin-block-start:var(--wpds-dimension-gap-md,12px)}.be5e57d029ec4036__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;&._128806d0b26e3a50__has-padding{padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px)}}");
24950  }
24951  var style_default33 = { "page": "_956b6df0898efed0__page", "header": "_0625b55e82a0d93d__header", "header-content": "a43c44d5ae28b2e8__header-content", "header-actions": "b7cb5b9daf3a3b25__header-actions", "header-lockup": "_8bcd33103b451f30__header-lockup", "header-title": "_8113be94e7caf73c__header-title", "header-visual": "_9a776c7f70996f61__header-visual", "sidebar-toggle-slot": "d5e0920cd15d35bc__sidebar-toggle-slot", "header-subtitle": "_60fea2f6bf5319cd__header-subtitle", "has-navigation": "_4b0f17e503d11619__has-navigation", "header-navigation": "_673c99dcbfb58211__header-navigation", "content": "be5e57d029ec4036__content", "has-padding": "_128806d0b26e3a50__has-padding" };
24952  function Page({
24953    headingLevel,
24954    breadcrumbs,
24955    badges,
24956    visual,
24957    title,
24958    subTitle,
24959    children,
24960    className,
24961    actions,
24962    navigation,
24963    components,
24964    ariaLabel,
24965    hasPadding = false,
24966    showSidebarToggle = true
24967  }) {
24968    const classes = clsx_default(style_default33.page, className);
24969    const effectiveAriaLabel = ariaLabel ?? (typeof title === "string" ? title : "");
24970    return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(navigable_region_default, { className: classes, ariaLabel: effectiveAriaLabel, children: [
24971      (title || breadcrumbs || badges || actions || visual || !!navigation?.items?.length) && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
24972        Header,
24973        {
24974          headingLevel,
24975          breadcrumbs,
24976          badges,
24977          visual,
24978          title,
24979          subTitle,
24980          actions,
24981          navigation,
24982          components,
24983          showSidebarToggle
24984        }
24985      ),
24986      hasPadding ? /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(
24987        "div",
24988        {
24989          className: clsx_default(
24990            style_default33.content,
24991            style_default33["has-padding"]
24992          ),
24993          children
24994        }
24995      ) : children
24996    ] });
24997  }
24998  Page.SidebarToggleFill = SidebarToggleFill;
24999  var page_default = Page;
25000  
25001  // routes/font-list/stage.tsx
25002  var import_i18n59 = __toESM(require_i18n());
25003  var import_components56 = __toESM(require_components());
25004  var import_editor = __toESM(require_editor());
25005  var import_core_data11 = __toESM(require_core_data());
25006  var import_data13 = __toESM(require_data());
25007  var import_element100 = __toESM(require_element());
25008  
25009  // packages/global-styles-ui/build-module/global-styles-ui.mjs
25010  var import_components55 = __toESM(require_components(), 1);
25011  var import_blocks6 = __toESM(require_blocks(), 1);
25012  var import_data12 = __toESM(require_data(), 1);
25013  var import_block_editor14 = __toESM(require_block_editor(), 1);
25014  var import_element99 = __toESM(require_element(), 1);
25015  var import_compose9 = __toESM(require_compose(), 1);
25016  
25017  // packages/global-styles-engine/build-module/utils/object.mjs
25018  function setImmutably(object, path, value) {
25019    path = Array.isArray(path) ? [...path] : [path];
25020    object = Array.isArray(object) ? [...object] : { ...object };
25021    const leaf = path.pop();
25022    let prev = object;
25023    for (const key of path) {
25024      const lvl = prev[key];
25025      prev = prev[key] = Array.isArray(lvl) ? [...lvl] : { ...lvl };
25026    }
25027    prev[leaf] = value;
25028    return object;
25029  }
25030  var getValueFromObjectPath = (object, path, defaultValue) => {
25031    const arrayPath = Array.isArray(path) ? path : path.split(".");
25032    let value = object;
25033    arrayPath.forEach((fieldName) => {
25034      value = value?.[fieldName];
25035    });
25036    return value ?? defaultValue;
25037  };
25038  
25039  // packages/global-styles-engine/build-module/settings/get-setting.mjs
25040  var VALID_SETTINGS = [
25041    "appearanceTools",
25042    "useRootPaddingAwareAlignments",
25043    "background.backgroundClip",
25044    "background.backgroundImage",
25045    "background.backgroundRepeat",
25046    "background.backgroundSize",
25047    "background.backgroundPosition",
25048    "background.gradient",
25049    "border.color",
25050    "border.radius",
25051    "border.radiusSizes",
25052    "border.style",
25053    "border.width",
25054    "shadow.presets",
25055    "shadow.defaultPresets",
25056    "color.background",
25057    "color.button",
25058    "color.caption",
25059    "color.custom",
25060    "color.customDuotone",
25061    "color.customGradient",
25062    "color.defaultDuotone",
25063    "color.defaultGradients",
25064    "color.defaultPalette",
25065    "color.duotone",
25066    "color.gradients",
25067    "color.heading",
25068    "color.link",
25069    "color.palette",
25070    "color.text",
25071    "custom",
25072    "dimensions.aspectRatio",
25073    "dimensions.height",
25074    "dimensions.minHeight",
25075    "dimensions.minWidth",
25076    "dimensions.width",
25077    "dimensions.dimensionSizes",
25078    "layout.contentSize",
25079    "layout.definitions",
25080    "layout.wideSize",
25081    "lightbox.enabled",
25082    "lightbox.allowEditing",
25083    "position.fixed",
25084    "position.sticky",
25085    "spacing.customSpacingSize",
25086    "spacing.defaultSpacingSizes",
25087    "spacing.spacingSizes",
25088    "spacing.spacingScale",
25089    "spacing.blockGap",
25090    "spacing.margin",
25091    "spacing.padding",
25092    "spacing.units",
25093    "typography.fluid",
25094    "typography.customFontSize",
25095    "typography.defaultFontSizes",
25096    "typography.dropCap",
25097    "typography.fontFamilies",
25098    "typography.fontSizes",
25099    "typography.fontStyle",
25100    "typography.fontWeight",
25101    "typography.letterSpacing",
25102    "typography.lineHeight",
25103    "typography.textAlign",
25104    "typography.textColumns",
25105    "typography.textDecoration",
25106    "typography.textIndent",
25107    "typography.textShadow",
25108    "typography.defaultTextShadowPresets",
25109    "typography.textShadowPresets",
25110    "typography.textTransform",
25111    "typography.writingMode",
25112    "viewport.mobile",
25113    "viewport.tablet"
25114  ];
25115  function getSetting(globalStyles, path, blockName) {
25116    const appendedBlockPath = blockName ? ".blocks." + blockName : "";
25117    const appendedPropertyPath = path ? "." + path : "";
25118    const contextualPath = `settings$appendedBlockPath}$appendedPropertyPath}`;
25119    const globalPath = `settings$appendedPropertyPath}`;
25120    if (path) {
25121      return getValueFromObjectPath(globalStyles, contextualPath) ?? getValueFromObjectPath(globalStyles, globalPath);
25122    }
25123    let result = {};
25124    VALID_SETTINGS.forEach((setting) => {
25125      const value = getValueFromObjectPath(
25126        globalStyles,
25127        `settings$appendedBlockPath}.$setting}`
25128      ) ?? getValueFromObjectPath(globalStyles, `settings.$setting}`);
25129      if (value !== void 0) {
25130        result = setImmutably(result, setting.split("."), value);
25131      }
25132    });
25133    return result;
25134  }
25135  
25136  // packages/global-styles-engine/build-module/settings/set-setting.mjs
25137  function setSetting(globalStyles, path, newValue, blockName) {
25138    const appendedBlockPath = blockName ? ".blocks." + blockName : "";
25139    const appendedPropertyPath = path ? "." + path : "";
25140    const finalPath = `settings$appendedBlockPath}$appendedPropertyPath}`;
25141    return setImmutably(
25142      globalStyles,
25143      finalPath.split("."),
25144      newValue
25145    );
25146  }
25147  
25148  // packages/global-styles-engine/build-module/utils/common.mjs
25149  var import_style_engine = __toESM(require_style_engine(), 1);
25150  
25151  // packages/global-styles-engine/build-module/utils/fluid.mjs
25152  var DEFAULT_MAXIMUM_VIEWPORT_WIDTH = "1600px";
25153  var DEFAULT_MINIMUM_VIEWPORT_WIDTH = "320px";
25154  var DEFAULT_SCALE_FACTOR = 1;
25155  var DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN = 0.25;
25156  var DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX = 0.75;
25157  var DEFAULT_MINIMUM_FONT_SIZE_LIMIT = "14px";
25158  function getComputedFluidTypographyValue({
25159    minimumFontSize,
25160    maximumFontSize,
25161    fontSize,
25162    minimumViewportWidth = DEFAULT_MINIMUM_VIEWPORT_WIDTH,
25163    maximumViewportWidth = DEFAULT_MAXIMUM_VIEWPORT_WIDTH,
25164    scaleFactor = DEFAULT_SCALE_FACTOR,
25165    minimumFontSizeLimit
25166  }) {
25167    minimumFontSizeLimit = !!getTypographyValueAndUnit(minimumFontSizeLimit) ? minimumFontSizeLimit : DEFAULT_MINIMUM_FONT_SIZE_LIMIT;
25168    if (fontSize) {
25169      const fontSizeParsed = getTypographyValueAndUnit(fontSize);
25170      if (!fontSizeParsed?.unit || !fontSizeParsed?.value) {
25171        return null;
25172      }
25173      const minimumFontSizeLimitParsed = getTypographyValueAndUnit(
25174        minimumFontSizeLimit,
25175        {
25176          coerceTo: fontSizeParsed.unit
25177        }
25178      );
25179      if (!!minimumFontSizeLimitParsed?.value && !minimumFontSize && !maximumFontSize) {
25180        if (fontSizeParsed?.value <= minimumFontSizeLimitParsed?.value) {
25181          return null;
25182        }
25183      }
25184      if (!maximumFontSize) {
25185        maximumFontSize = `$fontSizeParsed.value}$fontSizeParsed.unit}`;
25186      }
25187      if (!minimumFontSize) {
25188        const fontSizeValueInPx = fontSizeParsed.unit === "px" ? fontSizeParsed.value : fontSizeParsed.value * 16;
25189        const minimumFontSizeFactor = Math.min(
25190          Math.max(
25191            1 - 0.075 * Math.log2(fontSizeValueInPx),
25192            DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN
25193          ),
25194          DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX
25195        );
25196        const calculatedMinimumFontSize = roundToPrecision(
25197          fontSizeParsed.value * minimumFontSizeFactor,
25198          3
25199        );
25200        if (!!minimumFontSizeLimitParsed?.value && calculatedMinimumFontSize < minimumFontSizeLimitParsed?.value) {
25201          minimumFontSize = `$minimumFontSizeLimitParsed.value}$minimumFontSizeLimitParsed.unit}`;
25202        } else {
25203          minimumFontSize = `$calculatedMinimumFontSize}$fontSizeParsed.unit}`;
25204        }
25205      }
25206    }
25207    const minimumFontSizeParsed = getTypographyValueAndUnit(minimumFontSize);
25208    const fontSizeUnit = minimumFontSizeParsed?.unit || "rem";
25209    const maximumFontSizeParsed = getTypographyValueAndUnit(maximumFontSize, {
25210      coerceTo: fontSizeUnit
25211    });
25212    if (!minimumFontSizeParsed || !maximumFontSizeParsed) {
25213      return null;
25214    }
25215    const minimumFontSizeRem = getTypographyValueAndUnit(minimumFontSize, {
25216      coerceTo: "rem"
25217    });
25218    const maximumViewportWidthParsed = getTypographyValueAndUnit(
25219      maximumViewportWidth,
25220      { coerceTo: fontSizeUnit }
25221    );
25222    const minimumViewportWidthParsed = getTypographyValueAndUnit(
25223      minimumViewportWidth,
25224      { coerceTo: fontSizeUnit }
25225    );
25226    if (!maximumViewportWidthParsed || !minimumViewportWidthParsed || !minimumFontSizeRem) {
25227      return null;
25228    }
25229    const linearDenominator = maximumViewportWidthParsed.value - minimumViewportWidthParsed.value;
25230    if (!linearDenominator) {
25231      return null;
25232    }
25233    const minViewportWidthOffsetValue = roundToPrecision(
25234      minimumViewportWidthParsed.value / 100,
25235      3
25236    );
25237    const viewportWidthOffset = roundToPrecision(minViewportWidthOffsetValue, 3) + fontSizeUnit;
25238    const linearFactor = 100 * ((maximumFontSizeParsed.value - minimumFontSizeParsed.value) / linearDenominator);
25239    const linearFactorScaled = roundToPrecision(
25240      (linearFactor || 1) * scaleFactor,
25241      3
25242    );
25243    const fluidTargetFontSize = `$minimumFontSizeRem.value}$minimumFontSizeRem.unit} + ((1vw - $viewportWidthOffset}) * $linearFactorScaled})`;
25244    return `clamp($minimumFontSize}, $fluidTargetFontSize}, $maximumFontSize})`;
25245  }
25246  function getTypographyValueAndUnit(rawValue, options = {}) {
25247    if (typeof rawValue !== "string" && typeof rawValue !== "number") {
25248      return null;
25249    }
25250    if (isFinite(rawValue)) {
25251      rawValue = `$rawValue}px`;
25252    }
25253    const { coerceTo, rootSizeValue, acceptableUnits } = {
25254      coerceTo: "",
25255      // Default browser font size. Later we could inject some JS to compute this `getComputedStyle( document.querySelector( "html" ) ).fontSize`.
25256      rootSizeValue: 16,
25257      acceptableUnits: ["rem", "px", "em"],
25258      ...options
25259    };
25260    const acceptableUnitsGroup = acceptableUnits?.join("|");
25261    const regexUnits = new RegExp(
25262      `^(\\d*\\.?\\d+)($acceptableUnitsGroup}){1,1}$`
25263    );
25264    const matches = rawValue.toString().match(regexUnits);
25265    if (!matches || matches.length < 3) {
25266      return null;
25267    }
25268    let [, value, unit] = matches;
25269    let returnValue = parseFloat(value);
25270    if ("px" === coerceTo && ("em" === unit || "rem" === unit)) {
25271      returnValue = returnValue * rootSizeValue;
25272      unit = coerceTo;
25273    }
25274    if ("px" === unit && ("em" === coerceTo || "rem" === coerceTo)) {
25275      returnValue = returnValue / rootSizeValue;
25276      unit = coerceTo;
25277    }
25278    if (("em" === coerceTo || "rem" === coerceTo) && ("em" === unit || "rem" === unit)) {
25279      unit = coerceTo;
25280    }
25281    if (!unit) {
25282      return null;
25283    }
25284    return {
25285      value: roundToPrecision(returnValue, 3),
25286      unit
25287    };
25288  }
25289  function roundToPrecision(value, digits = 3) {
25290    const base = Math.pow(10, digits);
25291    return Math.round(value * base) / base;
25292  }
25293  
25294  // packages/global-styles-engine/build-module/utils/typography.mjs
25295  function isFluidTypographyEnabled(typographySettings) {
25296    const fluidSettings = typographySettings?.fluid;
25297    return true === fluidSettings || fluidSettings && typeof fluidSettings === "object" && Object.keys(fluidSettings).length > 0;
25298  }
25299  function getFluidTypographyOptionsFromSettings(settings) {
25300    const typographySettings = settings?.typography ?? {};
25301    const layoutSettings = settings?.layout;
25302    const defaultMaxViewportWidth = getTypographyValueAndUnit(
25303      layoutSettings?.wideSize
25304    ) ? layoutSettings?.wideSize : null;
25305    return isFluidTypographyEnabled(typographySettings) && defaultMaxViewportWidth ? {
25306      fluid: {
25307        maxViewportWidth: defaultMaxViewportWidth,
25308        ...typeof typographySettings.fluid === "object" ? typographySettings.fluid : {}
25309      }
25310    } : {
25311      fluid: typographySettings?.fluid
25312    };
25313  }
25314  function getTypographyFontSizeValue(preset, settings) {
25315    const { size: defaultSize } = preset;
25316    if (!defaultSize || "0" === defaultSize || false === preset?.fluid) {
25317      return defaultSize;
25318    }
25319    if (!isFluidTypographyEnabled(settings?.typography) && !isFluidTypographyEnabled(preset)) {
25320      return defaultSize;
25321    }
25322    const fluidTypographySettings = getFluidTypographyOptionsFromSettings(settings)?.fluid ?? {};
25323    const fluidFontSizeValue = getComputedFluidTypographyValue({
25324      minimumFontSize: typeof preset?.fluid === "boolean" ? void 0 : preset?.fluid?.min,
25325      maximumFontSize: typeof preset?.fluid === "boolean" ? void 0 : preset?.fluid?.max,
25326      fontSize: defaultSize,
25327      minimumFontSizeLimit: typeof fluidTypographySettings === "object" ? fluidTypographySettings?.minFontSize : void 0,
25328      maximumViewportWidth: typeof fluidTypographySettings === "object" ? fluidTypographySettings?.maxViewportWidth : void 0,
25329      minimumViewportWidth: typeof fluidTypographySettings === "object" ? fluidTypographySettings?.minViewportWidth : void 0
25330    });
25331    if (!!fluidFontSizeValue) {
25332      return fluidFontSizeValue;
25333    }
25334    return defaultSize;
25335  }
25336  
25337  // packages/global-styles-engine/build-module/utils/common.mjs
25338  var PRESET_METADATA = [
25339    {
25340      path: ["color", "palette"],
25341      valueKey: "color",
25342      cssVarInfix: "color",
25343      classes: [
25344        { classSuffix: "color", propertyName: "color" },
25345        {
25346          classSuffix: "background-color",
25347          propertyName: "background-color"
25348        },
25349        {
25350          classSuffix: "border-color",
25351          propertyName: "border-color"
25352        }
25353      ]
25354    },
25355    {
25356      path: ["color", "gradients"],
25357      valueKey: "gradient",
25358      cssVarInfix: "gradient",
25359      classes: [
25360        {
25361          classSuffix: "gradient-background",
25362          propertyName: "background"
25363        }
25364      ]
25365    },
25366    {
25367      path: ["color", "duotone"],
25368      valueKey: "colors",
25369      cssVarInfix: "duotone",
25370      valueFunc: ({ slug }) => `url( '#wp-duotone-$slug}' )`,
25371      classes: []
25372    },
25373    {
25374      path: ["shadow", "presets"],
25375      valueKey: "shadow",
25376      cssVarInfix: "shadow",
25377      classes: []
25378    },
25379    {
25380      path: ["typography", "fontSizes"],
25381      valueFunc: (preset, settings) => getTypographyFontSizeValue(preset, settings),
25382      valueKey: "size",
25383      cssVarInfix: "font-size",
25384      classes: [{ classSuffix: "font-size", propertyName: "font-size" }]
25385    },
25386    {
25387      path: ["typography", "fontFamilies"],
25388      valueKey: "fontFamily",
25389      cssVarInfix: "font-family",
25390      classes: [
25391        { classSuffix: "font-family", propertyName: "font-family" }
25392      ]
25393    },
25394    {
25395      path: ["typography", "textShadowPresets"],
25396      valueKey: "textShadow",
25397      cssVarInfix: "text-shadow",
25398      classes: [
25399        { classSuffix: "text-shadow", propertyName: "text-shadow" }
25400      ]
25401    },
25402    {
25403      path: ["spacing", "spacingSizes"],
25404      valueKey: "size",
25405      cssVarInfix: "spacing",
25406      valueFunc: ({ size: size4 }) => size4,
25407      classes: []
25408    },
25409    {
25410      path: ["border", "radiusSizes"],
25411      valueKey: "size",
25412      cssVarInfix: "border-radius",
25413      classes: []
25414    },
25415    {
25416      path: ["dimensions", "dimensionSizes"],
25417      valueKey: "size",
25418      cssVarInfix: "dimension",
25419      classes: []
25420    }
25421  ];
25422  function getResolvedRefValue(ruleValue, tree) {
25423    if (!ruleValue || !tree) {
25424      return ruleValue;
25425    }
25426    if (typeof ruleValue === "object" && "ref" in ruleValue && ruleValue?.ref) {
25427      const resolvedRuleValue = (0, import_style_engine.getCSSValueFromRawStyle)(
25428        getValueFromObjectPath(tree, ruleValue.ref)
25429      );
25430      if (typeof resolvedRuleValue === "object" && resolvedRuleValue !== null && "ref" in resolvedRuleValue && resolvedRuleValue?.ref) {
25431        return void 0;
25432      }
25433      if (resolvedRuleValue === void 0) {
25434        return ruleValue;
25435      }
25436      return resolvedRuleValue;
25437    }
25438    return ruleValue;
25439  }
25440  function getResolvedThemeFilePath(file, themeFileURIs) {
25441    if (!file || !themeFileURIs || !Array.isArray(themeFileURIs)) {
25442      return file;
25443    }
25444    const uri = themeFileURIs.find(
25445      (themeFileUri) => themeFileUri?.name === file
25446    );
25447    if (!uri?.href) {
25448      return file;
25449    }
25450    return uri?.href;
25451  }
25452  function getResolvedValue(ruleValue, tree) {
25453    if (!ruleValue || !tree) {
25454      return ruleValue;
25455    }
25456    const resolvedValue = getResolvedRefValue(ruleValue, tree);
25457    if (typeof resolvedValue === "object" && resolvedValue !== null && "url" in resolvedValue && resolvedValue?.url) {
25458      return {
25459        ...resolvedValue,
25460        url: getResolvedThemeFilePath(
25461          resolvedValue.url,
25462          tree?._links?.["wp:theme-file"]
25463        )
25464      };
25465    }
25466    return resolvedValue;
25467  }
25468  function findInPresetsBy(settings, blockName, presetPath = [], presetProperty = "slug", presetValueValue) {
25469    const orderedPresetsByOrigin = [
25470      blockName ? getValueFromObjectPath(settings, [
25471        "blocks",
25472        blockName,
25473        ...presetPath
25474      ]) : void 0,
25475      getValueFromObjectPath(settings, presetPath)
25476    ].filter(Boolean);
25477    for (const presetByOrigin of orderedPresetsByOrigin) {
25478      if (presetByOrigin) {
25479        const origins = ["custom", "theme", "default"];
25480        for (const origin of origins) {
25481          const presets = presetByOrigin[origin];
25482          if (presets) {
25483            const presetObject = presets.find(
25484              (preset) => preset[presetProperty] === presetValueValue
25485            );
25486            if (presetObject) {
25487              if (presetProperty === "slug") {
25488                return presetObject;
25489              }
25490              const highestPresetObjectWithSameSlug = findInPresetsBy(
25491                settings,
25492                blockName,
25493                presetPath,
25494                "slug",
25495                presetObject.slug
25496              );
25497              if (highestPresetObjectWithSameSlug[presetProperty] === presetObject[presetProperty]) {
25498                return presetObject;
25499              }
25500              return void 0;
25501            }
25502          }
25503        }
25504      }
25505    }
25506  }
25507  function getValueFromPresetVariable(features, blockName, variable, [presetType, slug] = []) {
25508    const metadata = PRESET_METADATA.find(
25509      (data) => data.cssVarInfix === presetType
25510    );
25511    if (!metadata || !features.settings) {
25512      return variable;
25513    }
25514    const presetObject = findInPresetsBy(
25515      features.settings,
25516      blockName,
25517      metadata.path,
25518      "slug",
25519      slug
25520    );
25521    if (presetObject) {
25522      const { valueKey } = metadata;
25523      const result = presetObject[valueKey];
25524      return getValueFromVariable(features, blockName, result);
25525    }
25526    return variable;
25527  }
25528  function getValueFromCustomVariable(features, blockName, variable, path = []) {
25529    const result = (blockName ? getValueFromObjectPath(features?.settings ?? {}, [
25530      "blocks",
25531      blockName,
25532      "custom",
25533      ...path
25534    ]) : void 0) ?? getValueFromObjectPath(features?.settings ?? {}, [
25535      "custom",
25536      ...path
25537    ]);
25538    if (!result) {
25539      return variable;
25540    }
25541    return getValueFromVariable(features, blockName, result);
25542  }
25543  function getValueFromVariable(features, blockName, variable) {
25544    if (!variable || typeof variable !== "string") {
25545      if (typeof variable === "object" && variable !== null && "ref" in variable && typeof variable.ref === "string") {
25546        const resolvedVariable = getValueFromObjectPath(
25547          features,
25548          variable.ref
25549        );
25550        if (!resolvedVariable || typeof resolvedVariable === "object" && "ref" in resolvedVariable) {
25551          return resolvedVariable;
25552        }
25553        variable = resolvedVariable;
25554      } else {
25555        return variable;
25556      }
25557    }
25558    const USER_VALUE_PREFIX = "var:";
25559    const THEME_VALUE_PREFIX = "var(--wp--";
25560    const THEME_VALUE_SUFFIX = ")";
25561    let parsedVar;
25562    if (variable.startsWith(USER_VALUE_PREFIX)) {
25563      parsedVar = variable.slice(USER_VALUE_PREFIX.length).split("|");
25564    } else if (variable.startsWith(THEME_VALUE_PREFIX) && variable.endsWith(THEME_VALUE_SUFFIX)) {
25565      parsedVar = variable.slice(THEME_VALUE_PREFIX.length, -THEME_VALUE_SUFFIX.length).split("--");
25566    } else {
25567      return variable;
25568    }
25569    const [type, ...path] = parsedVar;
25570    if (type === "preset") {
25571      return getValueFromPresetVariable(
25572        features,
25573        blockName,
25574        variable,
25575        path
25576      );
25577    }
25578    if (type === "custom") {
25579      return getValueFromCustomVariable(
25580        features,
25581        blockName,
25582        variable,
25583        path
25584      );
25585    }
25586    return variable;
25587  }
25588  
25589  // packages/global-styles-engine/build-module/settings/get-style.mjs
25590  function getStyle(globalStyles, path, blockName, shouldDecodeEncode = true) {
25591    const appendedPath = path ? "." + path : "";
25592    const finalPath = !blockName ? `styles$appendedPath}` : `styles.blocks.$blockName}$appendedPath}`;
25593    if (!globalStyles) {
25594      return void 0;
25595    }
25596    const rawResult = getValueFromObjectPath(globalStyles, finalPath);
25597    const result = shouldDecodeEncode ? getValueFromVariable(globalStyles, blockName, rawResult) : rawResult;
25598    return result;
25599  }
25600  
25601  // packages/global-styles-engine/build-module/settings/set-style.mjs
25602  function setStyle(globalStyles, path, newValue, blockName) {
25603    const appendedPath = path ? "." + path : "";
25604    const finalPath = !blockName ? `styles$appendedPath}` : `styles.blocks.$blockName}$appendedPath}`;
25605    return setImmutably(
25606      globalStyles,
25607      finalPath.split("."),
25608      newValue
25609    );
25610  }
25611  
25612  // packages/global-styles-engine/build-module/core/equal.mjs
25613  var import_es6 = __toESM(require_es6(), 1);
25614  function areGlobalStylesEqual(original, variation) {
25615    if (typeof original !== "object" || typeof variation !== "object") {
25616      return original === variation;
25617    }
25618    return (0, import_es6.default)(original?.styles, variation?.styles) && (0, import_es6.default)(original?.settings, variation?.settings);
25619  }
25620  
25621  // packages/global-styles-engine/build-module/core/merge.mjs
25622  var import_deepmerge = __toESM(require_cjs(), 1);
25623  
25624  // node_modules/.store/is-plain-object@5.1.0-5G_-lUnpSwJHYfRbkIxLrw/node_modules/is-plain-object/dist/is-plain-object.mjs
25625  function isObject(o) {
25626    return Object.prototype.toString.call(o) === "[object Object]";
25627  }
25628  function isPlainObject(o) {
25629    var ctor, prot;
25630    if (isObject(o) === false) return false;
25631    ctor = o.constructor;
25632    if (ctor === void 0) return true;
25633    prot = ctor.prototype;
25634    if (isObject(prot) === false) return false;
25635    if (prot.hasOwnProperty("isPrototypeOf") === false) {
25636      return false;
25637    }
25638    return true;
25639  }
25640  
25641  // packages/global-styles-engine/build-module/core/merge.mjs
25642  function mergeGlobalStyles(base, user) {
25643    return (0, import_deepmerge.default)(base, user, {
25644      /*
25645       * We only pass as arrays the presets,
25646       * in which case we want the new array of values
25647       * to override the old array (no merging).
25648       */
25649      isMergeableObject: isPlainObject,
25650      /*
25651       * Exceptions to the above rule.
25652       * Background images should be replaced, not merged,
25653       * as they themselves are specific object definitions for the style.
25654       */
25655      customMerge: (key) => {
25656        if (key === "backgroundImage") {
25657          return (baseConfig, userConfig) => userConfig ?? baseConfig;
25658        }
25659        return void 0;
25660      }
25661    });
25662  }
25663  
25664  // node_modules/.store/colord@2.10.0-Qx66Amv6c9C3nDPQDizV6Q/node_modules/colord/index.mjs
25665  for (r2 = { grad: 0.9, turn: 360, rad: 360 / (2 * Math.PI) }, t = function(r3) {
25666    return "string" == typeof r3 ? r3.length > 0 : "number" == typeof r3;
25667  }, n = function(r3, t2, n2) {
25668    return void 0 === t2 && (t2 = 0), void 0 === n2 && (n2 = Math.pow(10, t2)), Math.round(n2 * r3) / n2 + 0;
25669  }, u = function(r3, t2, n2) {
25670    return void 0 === t2 && (t2 = 0), void 0 === n2 && (n2 = 1), r3 > n2 ? n2 : r3 > t2 ? r3 : t2;
25671  }, e = function(r3) {
25672    return (r3 = isFinite(r3) ? r3 % 360 : 0) < 0 ? r3 + 360 : r3;
25673  }, o = function(r3, t2) {
25674    return void 0 === t2 && (t2 = 0), n(r3, t2) % 360;
25675  }, a = function(r3) {
25676    return { r: u(r3.r, 0, 255), g: u(r3.g, 0, 255), b: u(r3.b, 0, 255), a: u(r3.a) };
25677  }, i = function(r3) {
25678    return { r: n(r3.r), g: n(r3.g), b: n(r3.b), a: n(r3.a, 3) };
25679  }, s = /^#([0-9a-f]{3,8})$/i, d = function(r3, t2) {
25680    var n2 = r3.charCodeAt(t2);
25681    return (15 & n2) + 9 * (n2 >> 6);
25682  }, h = function(r3, t2) {
25683    return d(r3, t2) << 4 | d(r3, t2 + 1);
25684  }, b = [], f = 0; f < 256; f++) b.push((f < 16 ? "0" : "") + f.toString(16));
25685  var r2;
25686  var t;
25687  var n;
25688  var u;
25689  var e;
25690  var o;
25691  var a;
25692  var i;
25693  var s;
25694  var d;
25695  var h;
25696  var b;
25697  var f;
25698  var g = function(r2) {
25699    return b[u(r2, 0, 255)];
25700  };
25701  var c = function(r2) {
25702    var t = r2.r, n = r2.g, u = r2.b, e = r2.a, o = Math.max(t, n, u), a = o - Math.min(t, n, u), i = a ? o === t ? (n - u) / a : o === n ? 2 + (u - t) / a : 4 + (t - n) / a : 0;
25703    return { h: 60 * (i < 0 ? i + 6 : i), s: o ? a / o * 100 : 0, v: o / 255 * 100, a: e };
25704  };
25705  var v = function(r2) {
25706    var t = r2.h, n = r2.s, u = r2.v, e = r2.a;
25707    t = t / 360 * 6, n /= 100, u /= 100;
25708    var o = Math.floor(t), a = u * (1 - n), i = u * (1 - (t - o) * n), s = u * (1 - (1 - t + o) * n), d = o % 6;
25709    return { r: 255 * [u, i, a, a, s, u][d], g: 255 * [s, u, u, i, a, a][d], b: 255 * [a, a, s, u, u, i][d], a: e };
25710  };
25711  var l = function(r2) {
25712    return { h: e(r2.h), s: u(r2.s, 0, 100), l: u(r2.l, 0, 100), a: u(r2.a) };
25713  };
25714  var p2 = function(r2) {
25715    return { h: o(r2.h), s: n(r2.s), l: n(r2.l), a: n(r2.a, 3) };
25716  };
25717  var m = function(r2) {
25718    return v((n = (t = r2).s, { h: t.h, s: (n *= ((u = t.l) < 50 ? u : 100 - u) / 100) > 0 ? 2 * n / (u + n) * 100 : 0, v: u + n, a: t.a }));
25719    var t, n, u;
25720  };
25721  var y = function(r2) {
25722    return { h: (t = c(r2)).h, s: (e = (200 - (n = t.s)) * (u = t.v) / 100) > 0 && e < 200 ? n * u / 100 / (e <= 100 ? e : 200 - e) * 100 : 0, l: e / 2, a: t.a };
25723    var t, n, u, e;
25724  };
25725  var N = /^hsla?\(\s*([+-]?(?:\d*\.\d+|\d+))(deg|rad|grad|turn)?\s*,\s*([+-]?(?:\d*\.\d+|\d+))%\s*,\s*([+-]?(?:\d*\.\d+|\d+))%\s*(?:,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i;
25726  var x = /^hsla?\(\s*([+-]?(?:\d*\.\d+|\d+))(deg|rad|grad|turn)?\s+([+-]?(?:\d*\.\d+|\d+))%\s+([+-]?(?:\d*\.\d+|\d+))%\s*(?:\/\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i;
25727  var M = /^rgba?\(\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*(?:,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i;
25728  var H = /^rgba?\(\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s+([+-]?(?:\d*\.\d+|\d+))(%)?\s+([+-]?(?:\d*\.\d+|\d+))(%)?\s*(?:\/\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i;
25729  var $ = { string: [[function(r2) {
25730    if (!s.test(r2)) return null;
25731    var t = r2.length;
25732    return t <= 5 ? { r: 17 * d(r2, 1), g: 17 * d(r2, 2), b: 17 * d(r2, 3), a: 5 === t ? n(17 * d(r2, 4) / 255, 2) : 1 } : 7 === t || 9 === t ? { r: h(r2, 1), g: h(r2, 3), b: h(r2, 5), a: 9 === t ? n(h(r2, 7) / 255, 2) : 1 } : null;
25733  }, "hex"], [function(r2) {
25734    var t = M.exec(r2) || H.exec(r2);
25735    return t ? t[2] !== t[4] || t[4] !== t[6] ? null : a({ r: Number(t[1]) / (t[2] ? 100 / 255 : 1), g: Number(t[3]) / (t[4] ? 100 / 255 : 1), b: Number(t[5]) / (t[6] ? 100 / 255 : 1), a: void 0 === t[7] ? 1 : Number(t[7]) / (t[8] ? 100 : 1) }) : null;
25736  }, "rgb"], [function(t) {
25737    var n = N.exec(t) || x.exec(t);
25738    if (!n) return null;
25739    var u, e, o = l({ h: (u = n[1], e = n[2], void 0 === e && (e = "deg"), Number(u) * (r2[e] || 1)), s: Number(n[3]), l: Number(n[4]), a: void 0 === n[5] ? 1 : Number(n[5]) / (n[6] ? 100 : 1) });
25740    return m(o);
25741  }, "hsl"]], object: [[function(r2) {
25742    var n = r2.r, u = r2.g, e = r2.b, o = r2.a, i = void 0 === o ? 1 : o;
25743    return t(n) && t(u) && t(e) ? a({ r: Number(n), g: Number(u), b: Number(e), a: Number(i) }) : null;
25744  }, "rgb"], [function(r2) {
25745    var n = r2.h, u = r2.s, e = r2.l, o = r2.a, a = void 0 === o ? 1 : o;
25746    if (!t(n) || !t(u) || !t(e)) return null;
25747    var i = l({ h: Number(n), s: Number(u), l: Number(e), a: Number(a) });
25748    return m(i);
25749  }, "hsl"], [function(r2) {
25750    var n = r2.h, o = r2.s, a = r2.v, i = r2.a, s = void 0 === i ? 1 : i;
25751    if (!t(n) || !t(o) || !t(a)) return null;
25752    var d = (function(r3) {
25753      return { h: e(r3.h), s: u(r3.s, 0, 100), v: u(r3.v, 0, 100), a: u(r3.a) };
25754    })({ h: Number(n), s: Number(o), v: Number(a), a: Number(s) });
25755    return v(d);
25756  }, "hsv"]] };
25757  var j = function(r2, t) {
25758    for (var n = 0; n < t.length; n++) {
25759      var u = t[n][0](r2);
25760      if (u) return [u, t[n][1]];
25761    }
25762    return [null, void 0];
25763  };
25764  var w = function(r2) {
25765    return "string" == typeof r2 ? j(r2.trim(), $.string) : "object" == typeof r2 && null !== r2 ? j(r2, $.object) : [null, void 0];
25766  };
25767  var k = function(r2, t) {
25768    var n = y(r2);
25769    return { h: n.h, s: u(n.s + 100 * t, 0, 100), l: n.l, a: n.a };
25770  };
25771  var E = function(r2) {
25772    return (299 * r2.r + 587 * r2.g + 114 * r2.b) / 1e3 / 255;
25773  };
25774  var R = function(r2, t) {
25775    var n = y(r2);
25776    return { h: n.h, s: n.s, l: u(n.l + 100 * t, 0, 100), a: n.a };
25777  };
25778  var q = (function() {
25779    function r2(r3) {
25780      this.parsed = w(r3)[0], this.rgba = this.parsed || { r: 0, g: 0, b: 0, a: 1 };
25781    }
25782    return r2.prototype.isValid = function() {
25783      return null !== this.parsed;
25784    }, r2.prototype.brightness = function() {
25785      return n(E(this.rgba), 2);
25786    }, r2.prototype.isDark = function() {
25787      return E(this.rgba) < 0.5;
25788    }, r2.prototype.isLight = function() {
25789      return E(this.rgba) >= 0.5;
25790    }, r2.prototype.toHex = function() {
25791      return r3 = i(this.rgba), t = r3.r, u = r3.g, e = r3.b, a = (o = r3.a) < 1 ? g(n(255 * o)) : "", "#" + g(t) + g(u) + g(e) + a;
25792      var r3, t, u, e, o, a;
25793    }, r2.prototype.toRgb = function() {
25794      return i(this.rgba);
25795    }, r2.prototype.toRgbString = function() {
25796      return r3 = i(this.rgba), t = r3.r, n = r3.g, u = r3.b, (e = r3.a) < 1 ? "rgba(" + t + ", " + n + ", " + u + ", " + e + ")" : "rgb(" + t + ", " + n + ", " + u + ")";
25797      var r3, t, n, u, e;
25798    }, r2.prototype.toHsl = function() {
25799      return p2(y(this.rgba));
25800    }, r2.prototype.toHslString = function() {
25801      return r3 = p2(y(this.rgba)), t = r3.h, n = r3.s, u = r3.l, (e = r3.a) < 1 ? "hsla(" + t + ", " + n + "%, " + u + "%, " + e + ")" : "hsl(" + t + ", " + n + "%, " + u + "%)";
25802      var r3, t, n, u, e;
25803    }, r2.prototype.toHsv = function() {
25804      return r3 = c(this.rgba), { h: o(r3.h), s: n(r3.s), v: n(r3.v), a: n(r3.a, 3) };
25805      var r3;
25806    }, r2.prototype.invert = function() {
25807      return A({ r: 255 - (r3 = this.rgba).r, g: 255 - r3.g, b: 255 - r3.b, a: r3.a });
25808      var r3;
25809    }, r2.prototype.saturate = function(r3) {
25810      return void 0 === r3 && (r3 = 0.1), A(k(this.rgba, r3));
25811    }, r2.prototype.desaturate = function(r3) {
25812      return void 0 === r3 && (r3 = 0.1), A(k(this.rgba, -r3));
25813    }, r2.prototype.grayscale = function() {
25814      return A(k(this.rgba, -1));
25815    }, r2.prototype.lighten = function(r3) {
25816      return void 0 === r3 && (r3 = 0.1), A(R(this.rgba, r3));
25817    }, r2.prototype.darken = function(r3) {
25818      return void 0 === r3 && (r3 = 0.1), A(R(this.rgba, -r3));
25819    }, r2.prototype.rotate = function(r3) {
25820      return void 0 === r3 && (r3 = 15), this.hue(y(this.rgba).h + r3);
25821    }, r2.prototype.alpha = function(r3) {
25822      return "number" == typeof r3 ? A({ r: (t = this.rgba).r, g: t.g, b: t.b, a: r3 }) : n(this.rgba.a, 3);
25823      var t;
25824    }, r2.prototype.hue = function(r3) {
25825      var t = y(this.rgba);
25826      return "number" == typeof r3 ? A({ h: r3, s: t.s, l: t.l, a: t.a }) : o(t.h);
25827    }, r2.prototype.isEqual = function(r3) {
25828      return this.toHex() === A(r3).toHex();
25829    }, r2;
25830  })();
25831  var A = function(r2) {
25832    return r2 instanceof q ? r2 : new q(r2);
25833  };
25834  
25835  // packages/global-styles-engine/build-module/utils/duotone.mjs
25836  function getValuesFromColors(colors = []) {
25837    const values = {
25838      r: [],
25839      g: [],
25840      b: [],
25841      a: []
25842    };
25843    colors.forEach((color) => {
25844      const rgbColor = A(color).toRgb();
25845      values.r.push(rgbColor.r / 255);
25846      values.g.push(rgbColor.g / 255);
25847      values.b.push(rgbColor.b / 255);
25848      values.a.push(rgbColor.a);
25849    });
25850    return values;
25851  }
25852  function getDuotoneUnsetStylesheet(selector) {
25853    return `$selector}{filter:none}`;
25854  }
25855  function getDuotoneStylesheet(selector, id) {
25856    return `$selector}{filter:url(#$id})}`;
25857  }
25858  function getDuotoneFilter(id, colors) {
25859    const values = getValuesFromColors(colors);
25860    return `
25861  <svg
25862      xmlns:xlink="http://www.w3.org/1999/xlink"
25863      viewBox="0 0 0 0"
25864      width="0"
25865      height="0"
25866      focusable="false"
25867      role="none"
25868      aria-hidden="true"
25869      style="visibility: hidden; position: absolute; left: -9999px; overflow: hidden;"
25870  >
25871      <defs>
25872          <filter id="$id}">
25873              <!--
25874                  Use sRGB instead of linearRGB so transparency looks correct.
25875                  Use perceptual brightness to convert to grayscale.
25876              -->
25877              <feColorMatrix color-interpolation-filters="sRGB" type="matrix" values=" .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 "></feColorMatrix>
25878              <!-- Use sRGB instead of linearRGB to be consistent with how CSS gradients work. -->
25879              <feComponentTransfer color-interpolation-filters="sRGB">
25880                  <feFuncR type="table" tableValues="$values.r.join(" ")}"></feFuncR>
25881                  <feFuncG type="table" tableValues="$values.g.join(" ")}"></feFuncG>
25882                  <feFuncB type="table" tableValues="$values.b.join(" ")}"></feFuncB>
25883                  <feFuncA type="table" tableValues="$values.a.join(" ")}"></feFuncA>
25884              </feComponentTransfer>
25885              <!-- Re-mask the image with the original transparency since the feColorMatrix above loses that information. -->
25886              <feComposite in2="SourceGraphic" operator="in"></feComposite>
25887          </filter>
25888      </defs>
25889  </svg>`;
25890  }
25891  
25892  // packages/global-styles-engine/build-module/utils/viewport.mjs
25893  var DEFAULT_VIEWPORT_BREAKPOINTS = {
25894    mobile: "480px",
25895    tablet: "782px"
25896  };
25897  var VIEWPORT_SIZE_REGEXP = /^(\d+|\d*\.\d+)(px|em|rem)$/;
25898  var DEFAULT_FONT_SIZE = 16;
25899  function isViewportSettings(configOrSettings) {
25900    return "mobile" in configOrSettings || "tablet" in configOrSettings;
25901  }
25902  function getViewportSettings(configOrSettings) {
25903    if (!configOrSettings || typeof configOrSettings !== "object") {
25904      return {};
25905    }
25906    if (isViewportSettings(configOrSettings)) {
25907      return configOrSettings;
25908    }
25909    return configOrSettings.settings?.viewport ?? {};
25910  }
25911  function isValidViewportSize(value) {
25912    return typeof value === "string" && VIEWPORT_SIZE_REGEXP.test(value.trim());
25913  }
25914  function getViewportBreakpointValueInPixels(value) {
25915    if (typeof value === "number") {
25916      return value;
25917    }
25918    if (typeof value !== "string") {
25919      return void 0;
25920    }
25921    const match2 = value.trim().match(VIEWPORT_SIZE_REGEXP);
25922    if (!match2) {
25923      return void 0;
25924    }
25925    const numericValue = Number.parseFloat(match2[1]);
25926    const unit = match2[2];
25927    return unit === "px" ? numericValue : numericValue * DEFAULT_FONT_SIZE;
25928  }
25929  function getViewportBreakpoints(configOrSettings) {
25930    const viewportSettings = getViewportSettings(configOrSettings);
25931    const breakpoints = {};
25932    const breakpointValuesInPixels = {};
25933    Object.keys(DEFAULT_VIEWPORT_BREAKPOINTS).forEach((breakpoint) => {
25934      const key = breakpoint;
25935      const value = viewportSettings[key];
25936      const px = getViewportBreakpointValueInPixels(value);
25937      if (px !== void 0 && isValidViewportSize(value)) {
25938        breakpoints[key] = value.trim();
25939        breakpointValuesInPixels[key] = px;
25940      }
25941    });
25942    const breakpointNames = Object.keys(breakpoints);
25943    if (!breakpointNames.length) {
25944      return { ...DEFAULT_VIEWPORT_BREAKPOINTS };
25945    }
25946    if (1 === breakpointNames.length) {
25947      return breakpoints;
25948    }
25949    const mobile = breakpoints.mobile;
25950    const tablet = breakpoints.tablet;
25951    if (breakpointValuesInPixels.mobile >= breakpointValuesInPixels.tablet) {
25952      return { mobile };
25953    }
25954    return { mobile, tablet };
25955  }
25956  function getResponsiveMediaQueries(configOrSettings) {
25957    const breakpoints = getViewportBreakpoints(configOrSettings);
25958    const mediaQueries = {};
25959    if (breakpoints.mobile) {
25960      mediaQueries["@mobile"] = `@media (width <= $breakpoints.mobile})`;
25961    }
25962    if (breakpoints.tablet) {
25963      mediaQueries["@tablet"] = breakpoints.mobile ? `@media ($breakpoints.mobile} < width <= $breakpoints.tablet})` : `@media (width <= $breakpoints.tablet})`;
25964    }
25965    return mediaQueries;
25966  }
25967  
25968  // packages/global-styles-engine/build-module/variation.mjs
25969  function getVariationStyle(globalStyles, name2, variation, { resolveRefs = true } = {}) {
25970    if (!globalStyles?.styles?.blocks?.[name2]?.variations?.[variation]) {
25971      return void 0;
25972    }
25973    const replaceRefs = (variationStyles) => {
25974      Object.keys(variationStyles).forEach((key) => {
25975        const value = variationStyles[key];
25976        if (typeof value === "object" && value !== null) {
25977          if (value.ref !== void 0) {
25978            if (typeof value.ref !== "string" || value.ref.trim() === "") {
25979              delete variationStyles[key];
25980            } else {
25981              const refValue = getValueFromObjectPath(
25982                globalStyles,
25983                value.ref
25984              );
25985              if (refValue !== void 0 && refValue !== null) {
25986                variationStyles[key] = refValue;
25987              } else {
25988                delete variationStyles[key];
25989              }
25990            }
25991          } else {
25992            replaceRefs(value);
25993            if (Object.keys(value).length === 0) {
25994              delete variationStyles[key];
25995            }
25996          }
25997        }
25998      });
25999    };
26000    const styles = JSON.parse(
26001      JSON.stringify(
26002        globalStyles.styles.blocks[name2].variations[variation]
26003      )
26004    );
26005    if (resolveRefs) {
26006      replaceRefs(styles);
26007    }
26008    return styles;
26009  }
26010  
26011  // packages/global-styles-engine/build-module/resolve-style.mjs
26012  var DEFAULT_STATE_VALUE = "default";
26013  function isDefaultBlockStyleState(selectedState) {
26014    const viewport = selectedState?.viewport;
26015    const pseudoState = selectedState?.pseudoState;
26016    return (!viewport || viewport === DEFAULT_STATE_VALUE) && (!pseudoState || pseudoState === DEFAULT_STATE_VALUE);
26017  }
26018  function getStyleStatePath(selectedState) {
26019    if (isDefaultBlockStyleState(selectedState)) {
26020      return [];
26021    }
26022    return [selectedState.viewport, selectedState.pseudoState].filter(
26023      (state) => !!state && state !== DEFAULT_STATE_VALUE
26024    );
26025  }
26026  function getStyleForState(style, selectedState) {
26027    const path = getStyleStatePath(selectedState);
26028    if (!path.length) {
26029      return style;
26030    }
26031    return getValueFromObjectPath(style, path);
26032  }
26033  var TREE_STRUCTURAL_KEYS = /* @__PURE__ */ new Set(["blocks", "variations", "css"]);
26034  var EMPTY_INHERITANCE = Object.freeze({
26035    value: {},
26036    sources: {}
26037  });
26038  var SOURCE_DESCRIPTORS = {
26039    root: { layer: "root" },
26040    element: { layer: "element" },
26041    block: { layer: "block" },
26042    blockVariation: { layer: "blockVariation" }
26043  };
26044  function createSourceDescriptor(type) {
26045    const descriptor = SOURCE_DESCRIPTORS[type];
26046    if (!descriptor) {
26047      return null;
26048    }
26049    return { ...descriptor };
26050  }
26051  function createContribution(styles, source) {
26052    if (!styles || !source) {
26053      return null;
26054    }
26055    return { styles, source };
26056  }
26057  function getPathKey(path) {
26058    return path.join(".");
26059  }
26060  function getSourceForPath(source) {
26061    return { ...source };
26062  }
26063  function isExplicitEmpty(value) {
26064    if (value === "" || value === null) {
26065      return true;
26066    }
26067    if (typeof value === "object" && !Array.isArray(value) && Object.keys(value).length === 0) {
26068      return true;
26069    }
26070    return false;
26071  }
26072  function isRefObject(value) {
26073    return value !== null && typeof value === "object" && !Array.isArray(value) && typeof value.ref === "string";
26074  }
26075  function pickLayerRootContribution(layer) {
26076    if (!layer || typeof layer !== "object" || Array.isArray(layer)) {
26077      return null;
26078    }
26079    const contribution = {};
26080    for (const key of Object.keys(layer)) {
26081      if (TREE_STRUCTURAL_KEYS.has(key)) {
26082        continue;
26083      }
26084      if (key === "elements") {
26085        if (layer.elements && typeof layer.elements === "object") {
26086          contribution.elements = layer.elements;
26087        }
26088        continue;
26089      }
26090      if (isExplicitEmpty(layer[key])) {
26091        continue;
26092      }
26093      contribution[key] = layer[key];
26094    }
26095    return Object.keys(contribution).length === 0 ? null : contribution;
26096  }
26097  var ATOMIC_OBJECT_KEYS = /* @__PURE__ */ new Set(["backgroundImage"]);
26098  function deepMergeDroppingEmpties(target, source, globalStyles, sourceMetadata, sources, path = []) {
26099    if (!source || typeof source !== "object" || Array.isArray(source)) {
26100      return target;
26101    }
26102    for (const key of Object.keys(source)) {
26103      let sourceValue = source[key];
26104      if (isExplicitEmpty(sourceValue)) {
26105        continue;
26106      }
26107      if (isRefObject(sourceValue)) {
26108        if (sourceValue.ref.trim() === "") {
26109          continue;
26110        }
26111        const resolved = getValueFromObjectPath(
26112          globalStyles,
26113          sourceValue.ref
26114        );
26115        if (resolved === void 0 || resolved === null || isRefObject(resolved)) {
26116          continue;
26117        }
26118        sourceValue = resolved;
26119      }
26120      const nextPath = [...path, key];
26121      if (!ATOMIC_OBJECT_KEYS.has(key) && sourceValue !== null && typeof sourceValue === "object" && !Array.isArray(sourceValue) && !isRefObject(sourceValue)) {
26122        const existing = target[key] && typeof target[key] === "object" && !Array.isArray(target[key]) ? target[key] : {};
26123        target[key] = deepMergeDroppingEmpties(
26124          { ...existing },
26125          sourceValue,
26126          globalStyles,
26127          sourceMetadata,
26128          sources,
26129          nextPath
26130        );
26131      } else {
26132        target[key] = ATOMIC_OBJECT_KEYS.has(key) && sourceValue !== null && typeof sourceValue === "object" && !Array.isArray(sourceValue) ? { ...sourceValue } : sourceValue;
26133        if (sourceMetadata && sources) {
26134          sources[getPathKey(nextPath)] = getSourceForPath(sourceMetadata);
26135        }
26136      }
26137    }
26138    return target;
26139  }
26140  function getStateSlice(layerObject, selectedState) {
26141    if (!layerObject) {
26142      return null;
26143    }
26144    const slice = getStyleForState(layerObject, selectedState);
26145    return slice && typeof slice === "object" && !Array.isArray(slice) ? slice : null;
26146  }
26147  var NON_CASCADING_ROOT_PREFIXES = [
26148    "color.background",
26149    "color.gradient",
26150    "background",
26151    "spacing",
26152    "dimensions",
26153    "border",
26154    "shadow",
26155    "filter"
26156  ];
26157  function isNonCascadingRootPath(pathKey) {
26158    if (pathKey.startsWith("elements.")) {
26159      return false;
26160    }
26161    return NON_CASCADING_ROOT_PREFIXES.some(
26162      (prefix) => pathKey === prefix || pathKey.startsWith(`$prefix}.`)
26163    );
26164  }
26165  function deleteAtPath(target, pathSegments) {
26166    if (!target || typeof target !== "object") {
26167      return;
26168    }
26169    const [head2, ...rest] = pathSegments;
26170    if (rest.length === 0) {
26171      delete target[head2];
26172      return;
26173    }
26174    const child = target[head2];
26175    if (child && typeof child === "object") {
26176      deleteAtPath(child, rest);
26177      if (Object.keys(child).length === 0) {
26178        delete target[head2];
26179      }
26180    }
26181  }
26182  function dropNonCascadingRootLeaves(value, sources) {
26183    for (const pathKey of Object.keys(sources)) {
26184      if (sources[pathKey].layer === "root" && isNonCascadingRootPath(pathKey)) {
26185        deleteAtPath(value, pathKey.split("."));
26186        delete sources[pathKey];
26187      }
26188    }
26189  }
26190  function resolveThemeFileBackgroundImage(value, globalStyles, links) {
26191    const image = value?.background?.backgroundImage;
26192    if (!image) {
26193      return;
26194    }
26195    const resolved = getResolvedValue(image, {
26196      ...globalStyles,
26197      _links: links ?? void 0
26198    });
26199    if (resolved !== void 0) {
26200      value.background.backgroundImage = resolved;
26201    }
26202  }
26203  function computeResolvedStyle(globalStyles, {
26204    blockName,
26205    variationName = null,
26206    elements = null,
26207    viewport = null,
26208    pseudoState = null
26209  } = {}) {
26210    if (!globalStyles || !globalStyles.styles) {
26211      return EMPTY_INHERITANCE;
26212    }
26213    if (!blockName) {
26214      return EMPTY_INHERITANCE;
26215    }
26216    const styles = globalStyles.styles;
26217    const selectedState = { viewport, pseudoState };
26218    const root = styles;
26219    const block = styles.blocks?.[blockName] ?? null;
26220    const elementLayers = (elements ?? []).map((elementName) => styles.elements?.[elementName] ?? null).filter((layer) => !!layer);
26221    const variation = variationName ? getVariationStyle(globalStyles, blockName, variationName) ?? null : null;
26222    const contributions = [
26223      createContribution(
26224        pickLayerRootContribution(root),
26225        createSourceDescriptor("root")
26226      ),
26227      ...elementLayers.map(
26228        (layer) => createContribution(
26229          pickLayerRootContribution(layer),
26230          createSourceDescriptor("element")
26231        )
26232      ),
26233      block ? createContribution(
26234        pickLayerRootContribution(block),
26235        createSourceDescriptor("block")
26236      ) : null,
26237      variation ? createContribution(
26238        pickLayerRootContribution(variation),
26239        createSourceDescriptor("blockVariation")
26240      ) : null
26241    ];
26242    if (!isDefaultBlockStyleState(selectedState)) {
26243      contributions.push(
26244        createContribution(
26245          pickLayerRootContribution(
26246            getStateSlice(root, selectedState)
26247          ),
26248          createSourceDescriptor("root")
26249        ),
26250        ...elementLayers.map(
26251          (layer) => createContribution(
26252            pickLayerRootContribution(
26253              getStateSlice(layer, selectedState)
26254            ),
26255            createSourceDescriptor("element")
26256          )
26257        ),
26258        block ? createContribution(
26259          pickLayerRootContribution(
26260            getStateSlice(block, selectedState)
26261          ),
26262          createSourceDescriptor("block")
26263        ) : null,
26264        variation ? createContribution(
26265          pickLayerRootContribution(
26266            getStateSlice(variation, selectedState)
26267          ),
26268          createSourceDescriptor("blockVariation")
26269        ) : null
26270      );
26271    }
26272    const filteredContributions = contributions.filter(
26273      Boolean
26274    );
26275    if (filteredContributions.length === 0) {
26276      return EMPTY_INHERITANCE;
26277    }
26278    const sources = {};
26279    const value = filteredContributions.reduce(
26280      (mergedValue, contribution) => deepMergeDroppingEmpties(
26281        mergedValue,
26282        contribution.styles,
26283        globalStyles,
26284        contribution.source,
26285        sources
26286      ),
26287      {}
26288    );
26289    dropNonCascadingRootLeaves(value, sources);
26290    resolveThemeFileBackgroundImage(
26291      value,
26292      globalStyles,
26293      globalStyles._links ?? null
26294    );
26295    return { value, sources };
26296  }
26297  var NO_LINKS = {};
26298  var memo5 = /* @__PURE__ */ new WeakMap();
26299  function resolveStyle2(globalStyles, context = {}) {
26300    const styleData = globalStyles?.styles;
26301    if (!styleData || typeof styleData !== "object") {
26302      return computeResolvedStyle(globalStyles, context);
26303    }
26304    let byLinks = memo5.get(styleData);
26305    if (!byLinks) {
26306      byLinks = /* @__PURE__ */ new WeakMap();
26307      memo5.set(styleData, byLinks);
26308    }
26309    const linksKey = globalStyles?._links ?? NO_LINKS;
26310    let inner = byLinks.get(linksKey);
26311    if (!inner) {
26312      inner = /* @__PURE__ */ new Map();
26313      byLinks.set(linksKey, inner);
26314    }
26315    const sliceKey = `$context.elements?.join(",") ?? ""}:$context.viewport ?? ""}:$context.pseudoState ?? ""}`;
26316    const key = (context.blockName || "") + "" + (context.variationName || "") + "" + sliceKey;
26317    if (inner.has(key)) {
26318      return inner.get(key);
26319    }
26320    const result = computeResolvedStyle(globalStyles, context);
26321    inner.set(key, result);
26322    return result;
26323  }
26324  
26325  // packages/global-styles-engine/build-module/lock-unlock.mjs
26326  var import_private_apis2 = __toESM(require_private_apis(), 1);
26327  var { lock: lock2, unlock: unlock2 } = (0, import_private_apis2.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
26328    "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
26329    "@wordpress/global-styles-engine"
26330  );
26331  
26332  // packages/global-styles-engine/build-module/private-apis.mjs
26333  var privateApis = {};
26334  lock2(privateApis, {
26335    getResponsiveMediaQueries,
26336    getViewportBreakpoints,
26337    getViewportBreakpointValueInPixels,
26338    getDuotoneFilter,
26339    getDuotoneStylesheet,
26340    getDuotoneUnsetStylesheet,
26341    resolveStyle: resolveStyle2,
26342    getVariationStyle
26343  });
26344  
26345  // packages/global-styles-ui/build-module/provider.mjs
26346  var import_element66 = __toESM(require_element(), 1);
26347  
26348  // packages/global-styles-ui/build-module/context.mjs
26349  var import_element65 = __toESM(require_element(), 1);
26350  var GlobalStylesContext = (0, import_element65.createContext)({
26351    user: { styles: {}, settings: {} },
26352    base: { styles: {}, settings: {} },
26353    merged: { styles: {}, settings: {} },
26354    onChange: () => {
26355    },
26356    fontLibraryEnabled: false
26357  });
26358  
26359  // packages/global-styles-ui/build-module/provider.mjs
26360  var import_jsx_runtime123 = __toESM(require_jsx_runtime(), 1);
26361  function GlobalStylesProvider({
26362    children,
26363    value,
26364    baseValue,
26365    onChange,
26366    fontLibraryEnabled
26367  }) {
26368    const merged = (0, import_element66.useMemo)(() => {
26369      return mergeGlobalStyles(baseValue, value);
26370    }, [baseValue, value]);
26371    const contextValue = (0, import_element66.useMemo)(
26372      () => ({
26373        user: value,
26374        base: baseValue,
26375        merged,
26376        onChange,
26377        fontLibraryEnabled
26378      }),
26379      [value, baseValue, merged, onChange, fontLibraryEnabled]
26380    );
26381    return /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(GlobalStylesContext.Provider, { value: contextValue, children });
26382  }
26383  
26384  // packages/global-styles-ui/build-module/screen-root.mjs
26385  var import_components8 = __toESM(require_components(), 1);
26386  var import_i18n12 = __toESM(require_i18n(), 1);
26387  var import_data2 = __toESM(require_data(), 1);
26388  var import_core_data2 = __toESM(require_core_data(), 1);
26389  
26390  // packages/global-styles-ui/build-module/icon-with-current-color.mjs
26391  var import_jsx_runtime124 = __toESM(require_jsx_runtime(), 1);
26392  function IconWithCurrentColor({
26393    className,
26394    ...props
26395  }) {
26396    return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(
26397      icon_default,
26398      {
26399        className: clsx_default(
26400          className,
26401          "global-styles-ui-icon-with-current-color"
26402        ),
26403        ...props
26404      }
26405    );
26406  }
26407  
26408  // packages/global-styles-ui/build-module/navigation-button.mjs
26409  var import_components2 = __toESM(require_components(), 1);
26410  var import_jsx_runtime125 = __toESM(require_jsx_runtime(), 1);
26411  function GenericNavigationButton({
26412    icon,
26413    children,
26414    ...props
26415  }) {
26416    return /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_components2.__experimentalItem, { ...props, children: [
26417      icon && /* @__PURE__ */ (0, import_jsx_runtime125.jsxs)(import_components2.__experimentalHStack, { justify: "flex-start", children: [
26418        /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(IconWithCurrentColor, { icon, size: 24 }),
26419        /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_components2.FlexItem, { children })
26420      ] }),
26421      !icon && children
26422    ] });
26423  }
26424  function NavigationButtonAsItem(props) {
26425    return /* @__PURE__ */ (0, import_jsx_runtime125.jsx)(import_components2.Navigator.Button, { as: GenericNavigationButton, ...props });
26426  }
26427  
26428  // packages/global-styles-ui/build-module/root-menu.mjs
26429  var import_components3 = __toESM(require_components(), 1);
26430  var import_i18n10 = __toESM(require_i18n(), 1);
26431  var import_block_editor = __toESM(require_block_editor(), 1);
26432  
26433  // packages/global-styles-ui/build-module/hooks.mjs
26434  var import_element67 = __toESM(require_element(), 1);
26435  var import_data = __toESM(require_data(), 1);
26436  var import_core_data = __toESM(require_core_data(), 1);
26437  var import_i18n9 = __toESM(require_i18n(), 1);
26438  
26439  // packages/global-styles-ui/build-module/utils.mjs
26440  var import_i18n8 = __toESM(require_i18n(), 1);
26441  
26442  // packages/global-styles-ui/build-module/lock-unlock.mjs
26443  var import_private_apis4 = __toESM(require_private_apis(), 1);
26444  var { lock: lock3, unlock: unlock3 } = (0, import_private_apis4.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
26445    "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
26446    "@wordpress/global-styles-ui"
26447  );
26448  
26449  // packages/global-styles-ui/build-module/utils.mjs
26450  var { getViewportBreakpoints: getViewportBreakpoints2 } = unlock3(privateApis);
26451  var VALID_ELEMENT_STATES = {
26452    link: [
26453      { value: ":link", label: (0, import_i18n8.__)("Link") },
26454      { value: ":any-link", label: (0, import_i18n8.__)("Any Link") },
26455      { value: ":visited", label: (0, import_i18n8.__)("Visited") },
26456      { value: ":hover", label: (0, import_i18n8.__)("Hover") },
26457      { value: ":focus", label: (0, import_i18n8.__)("Focus") },
26458      { value: ":focus-visible", label: (0, import_i18n8.__)("Focus-visible") },
26459      { value: ":active", label: (0, import_i18n8.__)("Active") }
26460    ],
26461    button: [
26462      { value: ":link", label: (0, import_i18n8.__)("Link") },
26463      { value: ":any-link", label: (0, import_i18n8.__)("Any Link") },
26464      { value: ":visited", label: (0, import_i18n8.__)("Visited") },
26465      { value: ":hover", label: (0, import_i18n8.__)("Hover") },
26466      { value: ":focus", label: (0, import_i18n8.__)("Focus") },
26467      { value: ":focus-visible", label: (0, import_i18n8.__)("Focus-visible") },
26468      { value: ":active", label: (0, import_i18n8.__)("Active") }
26469    ]
26470  };
26471  var VALID_BLOCK_STATES = {
26472    "core/button": [
26473      { value: ":hover", label: (0, import_i18n8.__)("Hover") },
26474      { value: ":focus", label: (0, import_i18n8.__)("Focus") },
26475      { value: ":focus-visible", label: (0, import_i18n8.__)("Focus-visible") },
26476      { value: ":active", label: (0, import_i18n8.__)("Active") }
26477    ],
26478    "core/navigation-link": [
26479      { value: ":hover", label: (0, import_i18n8.__)("Hover") },
26480      { value: ":focus", label: (0, import_i18n8.__)("Focus") },
26481      { value: ":focus-visible", label: (0, import_i18n8.__)("Focus-visible") },
26482      { value: ":active", label: (0, import_i18n8.__)("Active") }
26483    ]
26484  };
26485  var RESPONSIVE_STATES = [
26486    { value: "@tablet", label: (0, import_i18n8.__)("Tablet") },
26487    { value: "@mobile", label: (0, import_i18n8.__)("Mobile") }
26488  ];
26489  function removePropertiesFromObject(object, properties) {
26490    if (!properties?.length) {
26491      return object;
26492    }
26493    if (typeof object !== "object" || !object || !Object.keys(object).length) {
26494      return object;
26495    }
26496    for (const key in object) {
26497      if (properties.includes(key)) {
26498        delete object[key];
26499      } else if (typeof object[key] === "object") {
26500        removePropertiesFromObject(object[key], properties);
26501      }
26502    }
26503    return object;
26504  }
26505  var filterObjectByProperties = (object, properties) => {
26506    if (!object || !properties?.length) {
26507      return {};
26508    }
26509    const newObject = {};
26510    Object.keys(object).forEach((key) => {
26511      if (properties.includes(key)) {
26512        newObject[key] = object[key];
26513      } else if (typeof object[key] === "object") {
26514        const newFilter = filterObjectByProperties(
26515          object[key],
26516          properties
26517        );
26518        if (Object.keys(newFilter).length) {
26519          newObject[key] = newFilter;
26520        }
26521      }
26522    });
26523    return newObject;
26524  };
26525  function isVariationWithProperties(variation, properties) {
26526    const variationWithProperties = filterObjectByProperties(
26527      structuredClone(variation),
26528      properties
26529    );
26530    return areGlobalStylesEqual(variationWithProperties, variation);
26531  }
26532  function getFontFamilyFromSetting(fontFamilies, setting) {
26533    if (!Array.isArray(fontFamilies) || !setting) {
26534      return null;
26535    }
26536    const fontFamilyVariable = setting.replace("var(", "").replace(")", "");
26537    const fontFamilySlug = fontFamilyVariable?.split("--").slice(-1)[0];
26538    return fontFamilies.find(
26539      (fontFamily) => fontFamily.slug === fontFamilySlug
26540    );
26541  }
26542  function getFontFamilies(themeJson) {
26543    const themeFontFamilies = themeJson?.settings?.typography?.fontFamilies?.theme;
26544    const customFontFamilies = themeJson?.settings?.typography?.fontFamilies?.custom;
26545    let fontFamilies = [];
26546    if (themeFontFamilies && customFontFamilies) {
26547      fontFamilies = [...themeFontFamilies, ...customFontFamilies];
26548    } else if (themeFontFamilies) {
26549      fontFamilies = themeFontFamilies;
26550    } else if (customFontFamilies) {
26551      fontFamilies = customFontFamilies;
26552    }
26553    const bodyFontFamilySetting = themeJson?.styles?.typography?.fontFamily;
26554    const bodyFontFamily = getFontFamilyFromSetting(
26555      fontFamilies,
26556      bodyFontFamilySetting
26557    );
26558    const headingFontFamilySetting = themeJson?.styles?.elements?.heading?.typography?.fontFamily;
26559    let headingFontFamily;
26560    if (!headingFontFamilySetting) {
26561      headingFontFamily = bodyFontFamily;
26562    } else {
26563      headingFontFamily = getFontFamilyFromSetting(
26564        fontFamilies,
26565        themeJson?.styles?.elements?.heading?.typography?.fontFamily
26566      );
26567    }
26568    return [bodyFontFamily, headingFontFamily];
26569  }
26570  
26571  // packages/global-styles-ui/build-module/hooks.mjs
26572  function useStyle(path, blockName, readFrom = "merged", shouldDecodeEncode = true, state) {
26573    const { user, base, merged, onChange } = (0, import_element67.useContext)(GlobalStylesContext);
26574    const statePathParts = state?.split(".").filter(Boolean) ?? [];
26575    const pseudoSelectorState = statePathParts.find(
26576      (value) => value.startsWith(":")
26577    );
26578    const statePathWithoutPseudo = statePathParts.filter((value) => !value.startsWith(":")).join(".");
26579    const stylePath = [path, statePathWithoutPseudo].filter(Boolean).join(".");
26580    let sourceValue = merged;
26581    if (readFrom === "base") {
26582      sourceValue = base;
26583    } else if (readFrom === "user") {
26584      sourceValue = user;
26585    }
26586    const styleValue = (0, import_element67.useMemo)(() => {
26587      const rawValue = getStyle(
26588        sourceValue,
26589        stylePath,
26590        blockName,
26591        shouldDecodeEncode
26592      );
26593      if (pseudoSelectorState) {
26594        return rawValue?.[pseudoSelectorState] ?? {};
26595      }
26596      return rawValue;
26597    }, [
26598      sourceValue,
26599      stylePath,
26600      blockName,
26601      shouldDecodeEncode,
26602      pseudoSelectorState
26603    ]);
26604    const setStyleValue = (0, import_element67.useCallback)(
26605      (newValue) => {
26606        let valueToSet = newValue;
26607        if (pseudoSelectorState) {
26608          const fullCurrentValue = getStyle(
26609            user,
26610            stylePath,
26611            blockName,
26612            false
26613          );
26614          valueToSet = {
26615            ...fullCurrentValue,
26616            [pseudoSelectorState]: newValue
26617          };
26618        }
26619        const newGlobalStyles = setStyle(
26620          user,
26621          stylePath,
26622          valueToSet,
26623          blockName
26624        );
26625        onChange(newGlobalStyles);
26626      },
26627      [user, onChange, stylePath, blockName, pseudoSelectorState]
26628    );
26629    return [styleValue, setStyleValue];
26630  }
26631  function useSetting(path, blockName, readFrom = "merged") {
26632    const { user, base, merged, onChange } = (0, import_element67.useContext)(GlobalStylesContext);
26633    let sourceValue = merged;
26634    if (readFrom === "base") {
26635      sourceValue = base;
26636    } else if (readFrom === "user") {
26637      sourceValue = user;
26638    }
26639    const settingValue = (0, import_element67.useMemo)(
26640      () => getSetting(sourceValue, path, blockName),
26641      [sourceValue, path, blockName]
26642    );
26643    const setSettingValue = (0, import_element67.useCallback)(
26644      (newValue) => {
26645        const newGlobalStyles = setSetting(
26646          user,
26647          path,
26648          newValue,
26649          blockName
26650        );
26651        onChange(newGlobalStyles);
26652      },
26653      [user, onChange, path, blockName]
26654    );
26655    return [settingValue, setSettingValue];
26656  }
26657  var EMPTY_ARRAY2 = [];
26658  function hasThemeVariation({
26659    title,
26660    settings,
26661    styles
26662  }) {
26663    return title === (0, import_i18n9.__)("Default") || Object.keys(settings || {}).length > 0 || Object.keys(styles || {}).length > 0;
26664  }
26665  function useCurrentMergeThemeStyleVariationsWithUserConfig(properties = []) {
26666    const { variationsFromTheme } = (0, import_data.useSelect)((select) => {
26667      const _variationsFromTheme = select(
26668        import_core_data.store
26669      ).__experimentalGetCurrentThemeGlobalStylesVariations?.();
26670      return {
26671        variationsFromTheme: _variationsFromTheme || EMPTY_ARRAY2
26672      };
26673    }, []);
26674    const { user: userVariation } = (0, import_element67.useContext)(GlobalStylesContext);
26675    return (0, import_element67.useMemo)(() => {
26676      const clonedUserVariation = structuredClone(userVariation);
26677      const userVariationWithoutProperties = removePropertiesFromObject(
26678        clonedUserVariation,
26679        properties
26680      );
26681      userVariationWithoutProperties.title = (0, import_i18n9.__)("Default");
26682      const variationsWithPropertiesAndBase = variationsFromTheme.filter((variation) => {
26683        return isVariationWithProperties(variation, properties);
26684      }).map((variation) => {
26685        return mergeGlobalStyles(
26686          userVariationWithoutProperties,
26687          variation
26688        );
26689      });
26690      const variationsByProperties = [
26691        userVariationWithoutProperties,
26692        ...variationsWithPropertiesAndBase
26693      ];
26694      return variationsByProperties?.length ? variationsByProperties.filter(hasThemeVariation) : [];
26695    }, [properties, userVariation, variationsFromTheme]);
26696  }
26697  
26698  // packages/global-styles-ui/build-module/root-menu.mjs
26699  var import_jsx_runtime126 = __toESM(require_jsx_runtime(), 1);
26700  var {
26701    useHasDimensionsPanel,
26702    useHasTypographyPanel,
26703    useHasColorPanel,
26704    useSettingsForBlockElement,
26705    useHasBackgroundPanel
26706  } = unlock3(import_block_editor.privateApis);
26707  
26708  // packages/global-styles-ui/build-module/preview-styles.mjs
26709  var import_components7 = __toESM(require_components(), 1);
26710  
26711  // packages/global-styles-ui/build-module/preview-hooks.mjs
26712  function useStylesPreviewColors() {
26713    const [textColor = "black"] = useStyle("color.text");
26714    const [backgroundColor = "white"] = useStyle("color.background");
26715    const [headingColor = textColor] = useStyle(
26716      "elements.h1.color.text"
26717    );
26718    const [linkColor = headingColor] = useStyle(
26719      "elements.link.color.text"
26720    );
26721    const [buttonBackgroundColor = linkColor] = useStyle(
26722      "elements.button.color.background"
26723    );
26724    const [coreColors] = useSetting("color.palette.core") || [];
26725    const [themeColors] = useSetting("color.palette.theme") || [];
26726    const [customColors] = useSetting("color.palette.custom") || [];
26727    const paletteColors = (themeColors ?? []).concat(customColors ?? []).concat(coreColors ?? []);
26728    const textColorObject = paletteColors.filter(
26729      ({ color }) => color === textColor
26730    );
26731    const buttonBackgroundColorObject = paletteColors.filter(
26732      ({ color }) => color === buttonBackgroundColor
26733    );
26734    const highlightedColors = textColorObject.concat(buttonBackgroundColorObject).concat(paletteColors).filter(
26735      // we exclude these background color because it is already visible in the preview.
26736      ({ color }) => color !== backgroundColor
26737    ).slice(0, 2);
26738    return {
26739      paletteColors,
26740      highlightedColors
26741    };
26742  }
26743  
26744  // packages/global-styles-ui/build-module/typography-example.mjs
26745  var import_element68 = __toESM(require_element(), 1);
26746  var import_components4 = __toESM(require_components(), 1);
26747  var import_i18n11 = __toESM(require_i18n(), 1);
26748  
26749  // packages/global-styles-ui/build-module/font-library/utils/preview-styles.mjs
26750  function findNearest(input, numbers) {
26751    if (numbers.length === 0) {
26752      return null;
26753    }
26754    numbers.sort((a, b) => Math.abs(input - a) - Math.abs(input - b));
26755    return numbers[0];
26756  }
26757  var FONT_WEIGHT_KEYWORDS = {
26758    normal: 400,
26759    bold: 700
26760  };
26761  function isValidWeight(weight) {
26762    return weight !== void 0 && Number.isFinite(weight) && weight >= 1 && weight <= 1e3;
26763  }
26764  function resolveFontWeight(fontWeight) {
26765    const weights = String(fontWeight ?? "").trim().toLowerCase().split(/\s+/).filter(Boolean).map((value) => FONT_WEIGHT_KEYWORDS[value] ?? Number(value));
26766    const [start, end] = weights;
26767    if (!isValidWeight(start)) {
26768      return "400";
26769    }
26770    if (weights.length !== 2 || !isValidWeight(end)) {
26771      return String(start);
26772    }
26773    return String(Math.min(Math.max(400, start), end));
26774  }
26775  function formatFontFamily(input) {
26776    const regex = /^(?!generic\([ a-zA-Z\-]+\)$)(?!var\(\s*--[\w-]+\s*\)$)(?!^[a-zA-Z\-]+$).+/;
26777    const output = input.trim();
26778    const formatItem = (item) => {
26779      item = item.trim();
26780      if (item.match(regex)) {
26781        item = item.replace(/^["']|["']$/g, "");
26782        return `"$item}"`;
26783      }
26784      return item;
26785    };
26786    if (output.includes(",")) {
26787      return output.split(",").map(formatItem).filter((item) => item !== "").join(", ");
26788    }
26789    return formatItem(output);
26790  }
26791  function formatFontFaceName(input) {
26792    if (!input) {
26793      return "";
26794    }
26795    let output = input.trim();
26796    if (output.includes(",")) {
26797      output = (output.split(",").find((item) => item.trim() !== "") ?? "").trim();
26798    }
26799    output = output.replace(/^["']|["']$/g, "");
26800    if (window.navigator.userAgent.toLowerCase().includes("firefox")) {
26801      output = `"$output}"`;
26802    }
26803    return output;
26804  }
26805  function getFamilyPreviewStyle(family) {
26806    const style = {
26807      fontFamily: formatFontFamily(family.fontFamily)
26808    };
26809    if (!("fontFace" in family) || !Array.isArray(family.fontFace)) {
26810      style.fontWeight = "400";
26811      style.fontStyle = "normal";
26812      return style;
26813    }
26814    if (family.fontFace) {
26815      const normalFaces = family.fontFace.filter(
26816        (face) => face?.fontStyle && face.fontStyle.toLowerCase() === "normal"
26817      );
26818      if (normalFaces.length > 0) {
26819        style.fontStyle = "normal";
26820        const normalWeights = normalFaces.map(
26821          (face) => Number(resolveFontWeight(face.fontWeight))
26822        );
26823        style.fontWeight = String(
26824          findNearest(400, normalWeights) ?? 400
26825        );
26826      } else {
26827        style.fontStyle = family.fontFace.length && family.fontFace[0].fontStyle || "normal";
26828        style.fontWeight = family.fontFace.length && resolveFontWeight(family.fontFace[0].fontWeight) || "400";
26829      }
26830    }
26831    return style;
26832  }
26833  function getFacePreviewStyle(face) {
26834    return {
26835      fontFamily: formatFontFamily(face.fontFamily),
26836      fontStyle: face.fontStyle || "normal",
26837      fontWeight: resolveFontWeight(face.fontWeight)
26838    };
26839  }
26840  
26841  // packages/global-styles-ui/build-module/typography-example.mjs
26842  var import_jsx_runtime127 = __toESM(require_jsx_runtime(), 1);
26843  function PreviewTypography({
26844    fontSize,
26845    variation
26846  }) {
26847    const { base } = (0, import_element68.useContext)(GlobalStylesContext);
26848    let config = base;
26849    if (variation) {
26850      config = { ...base, ...variation };
26851    }
26852    const [textColor] = useStyle("color.text");
26853    const [bodyFontFamilies, headingFontFamilies] = getFontFamilies(config);
26854    const bodyPreviewStyle = bodyFontFamilies ? getFamilyPreviewStyle(bodyFontFamilies) : {};
26855    const headingPreviewStyle = headingFontFamilies ? getFamilyPreviewStyle(headingFontFamilies) : {};
26856    if (textColor) {
26857      bodyPreviewStyle.color = textColor;
26858      headingPreviewStyle.color = textColor;
26859    }
26860    if (fontSize) {
26861      bodyPreviewStyle.fontSize = fontSize;
26862      headingPreviewStyle.fontSize = fontSize;
26863    }
26864    return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
26865      import_components4.__unstableMotion.div,
26866      {
26867        animate: {
26868          scale: 1,
26869          opacity: 1
26870        },
26871        initial: {
26872          scale: 0.1,
26873          opacity: 0
26874        },
26875        transition: {
26876          delay: 0.3,
26877          type: "tween"
26878        },
26879        style: {
26880          textAlign: "center",
26881          lineHeight: 1
26882        },
26883        children: [
26884          /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { style: headingPreviewStyle, children: (0, import_i18n11._x)("A", "Uppercase letter A") }),
26885          /* @__PURE__ */ (0, import_jsx_runtime127.jsx)("span", { style: bodyPreviewStyle, children: (0, import_i18n11._x)("a", "Lowercase letter A") })
26886        ]
26887      }
26888    );
26889  }
26890  
26891  // packages/global-styles-ui/build-module/highlighted-colors.mjs
26892  var import_components5 = __toESM(require_components(), 1);
26893  var import_jsx_runtime128 = __toESM(require_jsx_runtime(), 1);
26894  function HighlightedColors({
26895    normalizedColorSwatchSize,
26896    ratio
26897  }) {
26898    const { highlightedColors } = useStylesPreviewColors();
26899    const scaledSwatchSize = normalizedColorSwatchSize * ratio;
26900    return highlightedColors.map(({ slug, color }, index2) => /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
26901      import_components5.__unstableMotion.div,
26902      {
26903        style: {
26904          height: scaledSwatchSize,
26905          width: scaledSwatchSize,
26906          background: color,
26907          borderRadius: scaledSwatchSize / 2
26908        },
26909        animate: {
26910          scale: 1,
26911          opacity: 1
26912        },
26913        initial: {
26914          scale: 0.1,
26915          opacity: 0
26916        },
26917        transition: {
26918          delay: index2 === 1 ? 0.2 : 0.1
26919        }
26920      },
26921      `$slug}-$index2}`
26922    ));
26923  }
26924  
26925  // packages/global-styles-ui/build-module/preview-wrapper.mjs
26926  var import_components6 = __toESM(require_components(), 1);
26927  var import_compose3 = __toESM(require_compose(), 1);
26928  var import_element69 = __toESM(require_element(), 1);
26929  var import_jsx_runtime129 = __toESM(require_jsx_runtime(), 1);
26930  var normalizedWidth = 248;
26931  var normalizedHeight = 152;
26932  var THROTTLE_OPTIONS = {
26933    leading: true,
26934    trailing: true
26935  };
26936  function PreviewWrapper({
26937    children,
26938    label,
26939    isFocused,
26940    withHoverView
26941  }) {
26942    const [backgroundColor = "white"] = useStyle("color.background");
26943    const [gradientValue] = useStyle("color.gradient");
26944    const disableMotion = (0, import_compose3.useReducedMotion)();
26945    const [isHovered, setIsHovered] = (0, import_element69.useState)(false);
26946    const [containerResizeListener, { width }] = (0, import_compose3.useResizeObserver)();
26947    const [throttledWidth, setThrottledWidthState] = (0, import_element69.useState)(width);
26948    const [ratioState, setRatioState] = (0, import_element69.useState)();
26949    const setThrottledWidth = (0, import_compose3.useThrottle)(
26950      setThrottledWidthState,
26951      250,
26952      THROTTLE_OPTIONS
26953    );
26954    (0, import_element69.useLayoutEffect)(() => {
26955      if (width) {
26956        setThrottledWidth(width);
26957      }
26958    }, [width, setThrottledWidth]);
26959    (0, import_element69.useLayoutEffect)(() => {
26960      const newRatio = throttledWidth ? throttledWidth / normalizedWidth : 1;
26961      const ratioDiff = newRatio - (ratioState || 0);
26962      const isRatioDiffBigEnough = Math.abs(ratioDiff) > 0.1;
26963      if (isRatioDiffBigEnough || !ratioState) {
26964        setRatioState(newRatio);
26965      }
26966    }, [throttledWidth, ratioState]);
26967    const fallbackRatio = width ? width / normalizedWidth : 1;
26968    const ratio = ratioState ? ratioState : fallbackRatio;
26969    const isReady = !!width;
26970    return /* @__PURE__ */ (0, import_jsx_runtime129.jsxs)(import_jsx_runtime129.Fragment, { children: [
26971      /* @__PURE__ */ (0, import_jsx_runtime129.jsx)("div", { style: { position: "relative" }, children: containerResizeListener }),
26972      !isReady && // Match the preview aspect ratio so layout doesn't jump once width is measured.
26973      /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
26974        Skeleton,
26975        {
26976          className: "global-styles-ui-preview__wrapper",
26977          style: {
26978            aspectRatio: normalizedWidth / normalizedHeight
26979          }
26980        }
26981      ),
26982      isReady && /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
26983        "div",
26984        {
26985          className: clsx_default("global-styles-ui-preview__wrapper", {
26986            "is-hoverable": withHoverView
26987          }),
26988          style: {
26989            height: normalizedHeight * ratio
26990          },
26991          onMouseEnter: () => setIsHovered(true),
26992          onMouseLeave: () => setIsHovered(false),
26993          tabIndex: -1,
26994          children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
26995            import_components6.__unstableMotion.div,
26996            {
26997              style: {
26998                height: normalizedHeight * ratio,
26999                width: "100%",
27000                background: gradientValue ?? backgroundColor
27001              },
27002              initial: "start",
27003              animate: (isHovered || isFocused) && !disableMotion && label ? "hover" : "start",
27004              children: [].concat(children).map(
27005                (child, key) => child({ ratio, key })
27006              )
27007            }
27008          )
27009        }
27010      )
27011    ] });
27012  }
27013  var preview_wrapper_default = PreviewWrapper;
27014  
27015  // packages/global-styles-ui/build-module/preview-styles.mjs
27016  var import_jsx_runtime130 = __toESM(require_jsx_runtime(), 1);
27017  var firstFrameVariants = {
27018    start: {
27019      scale: 1,
27020      opacity: 1
27021    },
27022    hover: {
27023      scale: 0,
27024      opacity: 0
27025    }
27026  };
27027  var midFrameVariants = {
27028    hover: {
27029      opacity: 1
27030    },
27031    start: {
27032      opacity: 0.5
27033    }
27034  };
27035  var secondFrameVariants = {
27036    hover: {
27037      scale: 1,
27038      opacity: 1
27039    },
27040    start: {
27041      scale: 0,
27042      opacity: 0
27043    }
27044  };
27045  function PreviewStyles({
27046    label,
27047    isFocused,
27048    withHoverView,
27049    variation
27050  }) {
27051    const [fontWeight] = useStyle("typography.fontWeight");
27052    const [fontFamily = "serif"] = useStyle(
27053      "typography.fontFamily"
27054    );
27055    const [headingFontFamily = fontFamily] = useStyle(
27056      "elements.h1.typography.fontFamily"
27057    );
27058    const [headingFontWeight = fontWeight] = useStyle(
27059      "elements.h1.typography.fontWeight"
27060    );
27061    const [textColor = "black"] = useStyle("color.text");
27062    const [headingColor = textColor] = useStyle(
27063      "elements.h1.color.text"
27064    );
27065    const { paletteColors } = useStylesPreviewColors();
27066    return /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
27067      preview_wrapper_default,
27068      {
27069        label,
27070        isFocused,
27071        withHoverView,
27072        children: [
27073          ({ ratio, key }) => /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
27074            import_components7.__unstableMotion.div,
27075            {
27076              variants: firstFrameVariants,
27077              style: {
27078                height: "100%",
27079                overflow: "hidden"
27080              },
27081              children: /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(
27082                import_components7.__experimentalHStack,
27083                {
27084                  spacing: 10 * ratio,
27085                  justify: "center",
27086                  style: {
27087                    height: "100%",
27088                    overflow: "hidden"
27089                  },
27090                  children: [
27091                    /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
27092                      PreviewTypography,
27093                      {
27094                        fontSize: 65 * ratio,
27095                        variation
27096                      }
27097                    ),
27098                    /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(import_components7.__experimentalVStack, { spacing: 4 * ratio, children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
27099                      HighlightedColors,
27100                      {
27101                        normalizedColorSwatchSize: 32,
27102                        ratio
27103                      }
27104                    ) })
27105                  ]
27106                }
27107              )
27108            },
27109            key
27110          ),
27111          ({ key }) => /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
27112            import_components7.__unstableMotion.div,
27113            {
27114              variants: withHoverView ? midFrameVariants : void 0,
27115              style: {
27116                height: "100%",
27117                width: "100%",
27118                position: "absolute",
27119                top: 0,
27120                overflow: "hidden",
27121                filter: "blur(60px)",
27122                opacity: 0.1
27123              },
27124              children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
27125                import_components7.__experimentalHStack,
27126                {
27127                  spacing: 0,
27128                  justify: "flex-start",
27129                  style: {
27130                    height: "100%",
27131                    overflow: "hidden"
27132                  },
27133                  children: paletteColors.slice(0, 4).map(({ color }, index2) => /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
27134                    "div",
27135                    {
27136                      style: {
27137                        height: "100%",
27138                        background: color,
27139                        flexGrow: 1
27140                      }
27141                    },
27142                    index2
27143                  ))
27144                }
27145              )
27146            },
27147            key
27148          ),
27149          ({ ratio, key }) => /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
27150            import_components7.__unstableMotion.div,
27151            {
27152              variants: secondFrameVariants,
27153              style: {
27154                height: "100%",
27155                width: "100%",
27156                overflow: "hidden",
27157                position: "absolute",
27158                top: 0
27159              },
27160              children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
27161                import_components7.__experimentalVStack,
27162                {
27163                  spacing: 3 * ratio,
27164                  justify: "center",
27165                  style: {
27166                    height: "100%",
27167                    overflow: "hidden",
27168                    padding: 10 * ratio,
27169                    boxSizing: "border-box"
27170                  },
27171                  children: label && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
27172                    "div",
27173                    {
27174                      style: {
27175                        fontSize: 40 * ratio,
27176                        fontFamily: headingFontFamily,
27177                        color: headingColor,
27178                        fontWeight: headingFontWeight,
27179                        lineHeight: "1em",
27180                        textAlign: "center"
27181                      },
27182                      children: label
27183                    }
27184                  )
27185                }
27186              )
27187            },
27188            key
27189          )
27190        ]
27191      }
27192    );
27193  }
27194  var preview_styles_default = PreviewStyles;
27195  
27196  // packages/global-styles-ui/build-module/screen-root.mjs
27197  var import_jsx_runtime131 = __toESM(require_jsx_runtime(), 1);
27198  
27199  // packages/global-styles-ui/build-module/screen-block-list.mjs
27200  var import_blocks5 = __toESM(require_blocks(), 1);
27201  var import_i18n17 = __toESM(require_i18n(), 1);
27202  var import_components15 = __toESM(require_components(), 1);
27203  var import_data5 = __toESM(require_data(), 1);
27204  var import_element74 = __toESM(require_element(), 1);
27205  var import_block_editor7 = __toESM(require_block_editor(), 1);
27206  var import_compose4 = __toESM(require_compose(), 1);
27207  import { speak } from "@wordpress/a11y";
27208  
27209  // packages/global-styles-ui/build-module/variations/variations-panel.mjs
27210  var import_blocks = __toESM(require_blocks(), 1);
27211  var import_data3 = __toESM(require_data(), 1);
27212  var import_components9 = __toESM(require_components(), 1);
27213  var import_jsx_runtime132 = __toESM(require_jsx_runtime(), 1);
27214  function getFilteredBlockStyles(blockStyles, variations) {
27215    return blockStyles?.filter(
27216      (style) => style.source === "block" || variations.includes(style.name)
27217    ) || [];
27218  }
27219  function useBlockVariations(name2) {
27220    const blockStyles = (0, import_data3.useSelect)(
27221      (select) => {
27222        const { getBlockStyles } = select(import_blocks.store);
27223        return getBlockStyles(name2);
27224      },
27225      [name2]
27226    );
27227    const [variations] = useStyle("variations", name2);
27228    const variationNames = Object.keys(variations ?? {});
27229    return getFilteredBlockStyles(blockStyles, variationNames);
27230  }
27231  
27232  // packages/global-styles-ui/build-module/screen-header.mjs
27233  var import_components10 = __toESM(require_components(), 1);
27234  var import_i18n13 = __toESM(require_i18n(), 1);
27235  var import_block_editor2 = __toESM(require_block_editor(), 1);
27236  var import_jsx_runtime133 = __toESM(require_jsx_runtime(), 1);
27237  var { StateControl, StateControlBadges } = unlock3(import_block_editor2.privateApis);
27238  
27239  // packages/global-styles-ui/build-module/screen-element.mjs
27240  var import_i18n16 = __toESM(require_i18n(), 1);
27241  var import_element73 = __toESM(require_element(), 1);
27242  var import_components14 = __toESM(require_components(), 1);
27243  var import_block_editor6 = __toESM(require_block_editor(), 1);
27244  
27245  // packages/global-styles-ui/build-module/element-preview.mjs
27246  var import_i18n14 = __toESM(require_i18n(), 1);
27247  var import_element70 = __toESM(require_element(), 1);
27248  var import_data4 = __toESM(require_data(), 1);
27249  var import_blocks2 = __toESM(require_blocks(), 1);
27250  var import_block_editor3 = __toESM(require_block_editor(), 1);
27251  var import_jsx_runtime134 = __toESM(require_jsx_runtime(), 1);
27252  
27253  // packages/global-styles-ui/build-module/screen-block.mjs
27254  var import_blocks4 = __toESM(require_blocks(), 1);
27255  var import_block_editor5 = __toESM(require_block_editor(), 1);
27256  var import_element72 = __toESM(require_element(), 1);
27257  var import_components13 = __toESM(require_components(), 1);
27258  var import_i18n15 = __toESM(require_i18n(), 1);
27259  
27260  // packages/global-styles-ui/build-module/block-preview-panel.mjs
27261  var import_block_editor4 = __toESM(require_block_editor(), 1);
27262  var import_blocks3 = __toESM(require_blocks(), 1);
27263  var import_components11 = __toESM(require_components(), 1);
27264  var import_element71 = __toESM(require_element(), 1);
27265  var import_jsx_runtime135 = __toESM(require_jsx_runtime(), 1);
27266  var { getViewportBreakpoints: getViewportBreakpoints3, getViewportBreakpointValueInPixels: getViewportBreakpointValueInPixels2 } = unlock3(
27267    privateApis
27268  );
27269  
27270  // packages/global-styles-ui/build-module/subtitle.mjs
27271  var import_components12 = __toESM(require_components(), 1);
27272  var import_jsx_runtime136 = __toESM(require_jsx_runtime(), 1);
27273  function Subtitle({ children, level = 2 }) {
27274    return /* @__PURE__ */ (0, import_jsx_runtime136.jsx)(import_components12.__experimentalHeading, { className: "global-styles-ui-subtitle", level, children });
27275  }
27276  
27277  // packages/global-styles-ui/build-module/screen-block.mjs
27278  var import_jsx_runtime137 = __toESM(require_jsx_runtime(), 1);
27279  var {
27280    useHasDimensionsPanel: useHasDimensionsPanel2,
27281    useHasTypographyPanel: useHasTypographyPanel2,
27282    useHasBorderPanel,
27283    useSettingsForBlockElement: useSettingsForBlockElement2,
27284    useHasColorPanel: useHasColorPanel2,
27285    useHasFiltersPanel,
27286    useHasImageSettingsPanel,
27287    useHasBackgroundPanel: useHasBackgroundPanel2,
27288    BackgroundPanel: StylesBackgroundPanel,
27289    BorderPanel: StylesBorderPanel,
27290    ColorPanel: StylesColorPanel,
27291    TypographyPanel: StylesTypographyPanel,
27292    DimensionsPanel: StylesDimensionsPanel,
27293    FiltersPanel: StylesFiltersPanel,
27294    ImageSettingsPanel,
27295    AdvancedPanel: StylesAdvancedPanel
27296  } = unlock3(import_block_editor5.privateApis);
27297  
27298  // packages/global-styles-ui/build-module/screen-element.mjs
27299  var import_jsx_runtime138 = __toESM(require_jsx_runtime(), 1);
27300  var {
27301    useSettingsForBlockElement: useSettingsForBlockElement3,
27302    useHasBackgroundPanel: useHasBackgroundPanel3,
27303    useHasBorderPanel: useHasBorderPanel2,
27304    useHasDimensionsPanel: useHasDimensionsPanel3,
27305    useHasTypographyPanel: useHasTypographyPanel3,
27306    BackgroundPanel: StylesBackgroundPanel2,
27307    BorderPanel: StylesBorderPanel2,
27308    DimensionsPanel: StylesDimensionsPanel2,
27309    TypographyPanel: StylesTypographyPanel2,
27310    AdvancedPanel: StylesAdvancedPanel2
27311  } = unlock3(import_block_editor6.privateApis);
27312  var ELEMENTS = {
27313    text: {
27314      description: (0, import_i18n16.__)("Manage the fonts used on the site."),
27315      title: (0, import_i18n16.__)("Text")
27316    },
27317    link: {
27318      description: (0, import_i18n16.__)("Manage the appearance of links."),
27319      title: (0, import_i18n16.__)("Link")
27320    },
27321    caption: {
27322      description: (0, import_i18n16.__)("Manage the appearance of captions."),
27323      title: (0, import_i18n16.__)("Caption")
27324    },
27325    cite: {
27326      description: (0, import_i18n16.__)("Manage the appearance of citations."),
27327      title: (0, import_i18n16.__)("Citation")
27328    },
27329    heading: {
27330      description: (0, import_i18n16.__)("Manage the appearance of all headings."),
27331      title: (0, import_i18n16.__)("All headings")
27332    },
27333    h1: {
27334      description: (0, import_i18n16.__)("Manage the appearance of level 1 headings."),
27335      title: (0, import_i18n16.__)("Heading 1")
27336    },
27337    h2: {
27338      description: (0, import_i18n16.__)("Manage the appearance of level 2 headings."),
27339      title: (0, import_i18n16.__)("Heading 2")
27340    },
27341    h3: {
27342      description: (0, import_i18n16.__)("Manage the appearance of level 3 headings."),
27343      title: (0, import_i18n16.__)("Heading 3")
27344    },
27345    h4: {
27346      description: (0, import_i18n16.__)("Manage the appearance of level 4 headings."),
27347      title: (0, import_i18n16.__)("Heading 4")
27348    },
27349    h5: {
27350      description: (0, import_i18n16.__)("Manage the appearance of level 5 headings."),
27351      title: (0, import_i18n16.__)("Heading 5")
27352    },
27353    h6: {
27354      description: (0, import_i18n16.__)("Manage the appearance of level 6 headings."),
27355      title: (0, import_i18n16.__)("Heading 6")
27356    },
27357    textInput: {
27358      description: (0, import_i18n16.__)("Manage the appearance of inputs."),
27359      title: (0, import_i18n16.__)("Form input")
27360    },
27361    select: {
27362      description: (0, import_i18n16.__)("Manage the appearance of selects."),
27363      title: (0, import_i18n16.__)("Form select")
27364    },
27365    button: {
27366      description: (0, import_i18n16.__)("Manage the appearance of buttons."),
27367      title: (0, import_i18n16.__)("Form button")
27368    }
27369  };
27370  
27371  // packages/global-styles-ui/build-module/screen-block-list.mjs
27372  var import_jsx_runtime139 = __toESM(require_jsx_runtime(), 1);
27373  var {
27374    useHasDimensionsPanel: useHasDimensionsPanel4,
27375    useHasTypographyPanel: useHasTypographyPanel4,
27376    useHasBorderPanel: useHasBorderPanel3,
27377    useSettingsForBlockElement: useSettingsForBlockElement4,
27378    useHasColorPanel: useHasColorPanel3,
27379    useHasBackgroundPanel: useHasBackgroundPanel4,
27380    searchItems
27381  } = unlock3(import_block_editor7.privateApis);
27382  var ELEMENT_GROUPS = [
27383    {
27384      title: (0, import_i18n17.__)("Elements"),
27385      elements: ["link", "caption", "cite"]
27386    },
27387    {
27388      title: (0, import_i18n17.__)("Headings"),
27389      // `heading` styles every level at once; each level can then override
27390      // it. Themes set most of their heading styles here.
27391      elements: ["heading", "h1", "h2", "h3", "h4", "h5", "h6"]
27392    },
27393    {
27394      title: (0, import_i18n17.__)("Form controls"),
27395      elements: ["textInput", "select", "button"]
27396    }
27397  ];
27398  var ELEMENT_ICONS = {
27399    link: link_default,
27400    caption: caption_default,
27401    cite: caption_default,
27402    heading: heading_default,
27403    h1: heading_level_1_default,
27404    h2: heading_level_2_default,
27405    h3: heading_level_3_default,
27406    h4: heading_level_4_default,
27407    h5: heading_level_5_default,
27408    h6: heading_level_6_default,
27409    textInput: form_input_default,
27410    select: form_select_default,
27411    button: button_default
27412  };
27413  function hasAnyValue(value) {
27414    if (value === void 0 || value === null) {
27415      return false;
27416    }
27417    if (Array.isArray(value)) {
27418      return value.length > 0;
27419    }
27420    if (typeof value === "object") {
27421      return Object.values(value).some(hasAnyValue);
27422    }
27423    return true;
27424  }
27425  function hasUserStylesForBlock(user, blockName) {
27426    return hasAnyValue(user?.styles?.blocks?.[blockName]) || hasAnyValue(user?.settings?.blocks?.[blockName]);
27427  }
27428  function useSortedBlockTypes() {
27429    const blockItems = (0, import_data5.useSelect)(
27430      (select) => select(import_blocks5.store).getBlockTypes(),
27431      []
27432    );
27433    const groupByType = (blocks, block) => {
27434      const { core, noncore } = blocks;
27435      const type = block.name.startsWith("core/") ? core : noncore;
27436      type.push(block);
27437      return blocks;
27438    };
27439    const { core: coreItems, noncore: nonCoreItems } = blockItems.reduce(
27440      groupByType,
27441      { core: [], noncore: [] }
27442    );
27443    return [...coreItems, ...nonCoreItems];
27444  }
27445  function useBlockHasGlobalStyles(blockName) {
27446    const [rawSettings] = useSetting("", blockName);
27447    const settings = useSettingsForBlockElement4(rawSettings, blockName);
27448    const hasTypographyPanel = useHasTypographyPanel4(settings);
27449    const hasColorPanel = useHasColorPanel3(settings);
27450    const hasBackgroundPanel = useHasBackgroundPanel4(settings);
27451    const hasBorderPanel = useHasBorderPanel3(settings);
27452    const hasDimensionsPanel = useHasDimensionsPanel4(settings);
27453    const hasLayoutPanel = hasBorderPanel || hasDimensionsPanel;
27454    const hasVariationsPanel = !!useBlockVariations(blockName)?.length;
27455    const hasGlobalStyles = hasTypographyPanel || hasColorPanel || hasBackgroundPanel || hasLayoutPanel || hasVariationsPanel;
27456    return hasGlobalStyles;
27457  }
27458  function ListMenuItem({ path, icon, title }) {
27459    return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(NavigationButtonAsItem, { path, children: /* @__PURE__ */ (0, import_jsx_runtime139.jsxs)(Stack, { direction: "row", align: "center", gap: "sm", children: [
27460      /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
27461        import_block_editor7.BlockIcon,
27462        {
27463          className: "global-styles-ui-block-types-item__icon",
27464          icon
27465        }
27466      ),
27467      /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("span", { children: title })
27468    ] }) });
27469  }
27470  function BlockMenuItem({ block }) {
27471    const hasBlockMenuItem = useBlockHasGlobalStyles(block.name);
27472    if (!hasBlockMenuItem) {
27473      return null;
27474    }
27475    return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
27476      ListMenuItem,
27477      {
27478        path: "/blocks/" + encodeURIComponent(block.name),
27479        icon: block.icon,
27480        title: block.title
27481      }
27482    );
27483  }
27484  function ElementMenuItem({ element }) {
27485    return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
27486      ListMenuItem,
27487      {
27488        path: "/blocks/elements/" + element,
27489        icon: ELEMENT_ICONS[element],
27490        title: ELEMENTS[element].title
27491      }
27492    );
27493  }
27494  function ListGroup({ title, children }) {
27495    return /* @__PURE__ */ (0, import_jsx_runtime139.jsxs)("div", { className: "global-styles-ui-block-types-group", children: [
27496      /* @__PURE__ */ (0, import_jsx_runtime139.jsx)("div", { className: "global-styles-ui-block-types-group__title", children: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(Subtitle, { level: 3, children: title }) }),
27497      children
27498    ] });
27499  }
27500  function EmptyList({
27501    filterValue,
27502    styleFilter
27503  }) {
27504    const label = "customized" === styleFilter && !filterValue ? (0, import_i18n17.__)("You haven't customized any blocks or elements yet.") : (0, import_i18n17.__)("No results found.");
27505    return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
27506      import_components15.__experimentalText,
27507      {
27508        align: "center",
27509        as: "p",
27510        className: "global-styles-ui-block-types-item-list__no-results",
27511        children: label
27512      }
27513    );
27514  }
27515  function getFilteredElementGroups(filterValue, styleFilter, customizedElementNames) {
27516    const search = filterValue.trim().toLowerCase();
27517    return ELEMENT_GROUPS.map((group) => ({
27518      ...group,
27519      elements: group.elements.filter(
27520        (element) => (
27521          // The element's name and group title match too, so "h1" finds
27522          // Heading 1 and "form" lists the form controls.
27523          (!search || [ELEMENTS[element].title, element, group.title].join(" ").toLowerCase().includes(search)) && (styleFilter !== "customized" || customizedElementNames.has(element))
27524        )
27525      )
27526    })).filter((group) => group.elements.length > 0);
27527  }
27528  function BlockAndElementList({ filterValue, styleFilter }) {
27529    const sortedBlockTypes = useSortedBlockTypes();
27530    const debouncedSpeak = (0, import_compose4.useDebounce)(speak, 500);
27531    const { user } = (0, import_element74.useContext)(GlobalStylesContext);
27532    const customizedBlockNames = (0, import_element74.useMemo)(() => {
27533      const names = /* @__PURE__ */ new Set();
27534      const blockNames = [
27535        ...Object.keys(user?.styles?.blocks ?? {}),
27536        ...Object.keys(user?.settings?.blocks ?? {})
27537      ];
27538      blockNames.forEach((blockName) => {
27539        if (hasUserStylesForBlock(user, blockName)) {
27540          names.add(blockName);
27541        }
27542      });
27543      return names;
27544    }, [user]);
27545    const customizedElementNames = (0, import_element74.useMemo)(() => {
27546      const names = /* @__PURE__ */ new Set();
27547      Object.entries(user?.styles?.elements ?? {}).forEach(
27548        ([name2, styles]) => {
27549          if (hasAnyValue(styles)) {
27550            names.add(name2);
27551          }
27552        }
27553      );
27554      return names;
27555    }, [user]);
27556    const filteredElementGroups = getFilteredElementGroups(
27557      filterValue,
27558      styleFilter,
27559      customizedElementNames
27560    );
27561    const searchedBlockTypes = searchItems(
27562      sortedBlockTypes,
27563      filterValue
27564    );
27565    const filteredBlockTypes = styleFilter === "customized" ? searchedBlockTypes.filter(
27566      (blockType) => customizedBlockNames.has(blockType.name)
27567    ) : searchedBlockTypes;
27568    const blockTypesListRef = (0, import_element74.useRef)(null);
27569    const elementCount = filteredElementGroups.reduce(
27570      (total, group) => total + group.elements.length,
27571      0
27572    );
27573    const hasBlockResults = filteredBlockTypes.length > 0;
27574    (0, import_element74.useEffect)(() => {
27575      if (!filterValue && styleFilter === "all") {
27576        return;
27577      }
27578      const blockCount = hasBlockResults ? blockTypesListRef.current?.childElementCount || 0 : 0;
27579      const count = elementCount + blockCount;
27580      const resultsFoundMessage = (0, import_i18n17.sprintf)(
27581        /* translators: %d: number of results. */
27582        (0, import_i18n17._n)("%d result found.", "%d results found.", count),
27583        count
27584      );
27585      debouncedSpeak(resultsFoundMessage, "polite");
27586    }, [
27587      filterValue,
27588      styleFilter,
27589      hasBlockResults,
27590      elementCount,
27591      debouncedSpeak
27592    ]);
27593    if (!elementCount && !hasBlockResults) {
27594      return /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
27595        EmptyList,
27596        {
27597          filterValue,
27598          styleFilter
27599        }
27600      );
27601    }
27602    return /* @__PURE__ */ (0, import_jsx_runtime139.jsxs)(import_jsx_runtime139.Fragment, { children: [
27603      filteredElementGroups.map((group) => /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(ListGroup, { title: group.title, children: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
27604        import_components15.__experimentalItemGroup,
27605        {
27606          className: "global-styles-ui-block-types-item-list",
27607          size: "small",
27608          children: group.elements.map((element) => /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
27609            ElementMenuItem,
27610            {
27611              element
27612            },
27613            element
27614          ))
27615        }
27616      ) }, group.title)),
27617      hasBlockResults && /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(ListGroup, { title: (0, import_i18n17.__)("Blocks"), children: /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
27618        import_components15.__experimentalItemGroup,
27619        {
27620          ref: blockTypesListRef,
27621          className: "global-styles-ui-block-types-item-list",
27622          size: "small",
27623          children: filteredBlockTypes.map((block) => /* @__PURE__ */ (0, import_jsx_runtime139.jsx)(
27624            BlockMenuItem,
27625            {
27626              block
27627            },
27628            "menu-itemblock-" + block.name
27629          ))
27630        }
27631      ) })
27632    ] });
27633  }
27634  var MemoizedBlockAndElementList = (0, import_element74.memo)(BlockAndElementList);
27635  
27636  // packages/global-styles-ui/build-module/screen-typography.mjs
27637  var import_i18n33 = __toESM(require_i18n(), 1);
27638  var import_element86 = __toESM(require_element(), 1);
27639  
27640  // packages/global-styles-ui/build-module/screen-body.mjs
27641  var import_components16 = __toESM(require_components(), 1);
27642  var import_jsx_runtime140 = __toESM(require_jsx_runtime(), 1);
27643  
27644  // packages/global-styles-ui/build-module/typography-elements.mjs
27645  var import_i18n18 = __toESM(require_i18n(), 1);
27646  var import_components17 = __toESM(require_components(), 1);
27647  var import_jsx_runtime141 = __toESM(require_jsx_runtime(), 1);
27648  
27649  // packages/global-styles-ui/build-module/variations/variations-typography.mjs
27650  var import_components19 = __toESM(require_components(), 1);
27651  
27652  // packages/global-styles-ui/build-module/preview-typography.mjs
27653  var import_components18 = __toESM(require_components(), 1);
27654  var import_jsx_runtime142 = __toESM(require_jsx_runtime(), 1);
27655  var StylesPreviewTypography = ({
27656    variation,
27657    isFocused,
27658    withHoverView
27659  }) => {
27660    return /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
27661      preview_wrapper_default,
27662      {
27663        label: variation.title,
27664        isFocused,
27665        withHoverView,
27666        children: ({ ratio, key }) => /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
27667          import_components18.__experimentalHStack,
27668          {
27669            spacing: 10 * ratio,
27670            justify: "center",
27671            style: {
27672              height: "100%",
27673              overflow: "hidden"
27674            },
27675            children: /* @__PURE__ */ (0, import_jsx_runtime142.jsx)(
27676              PreviewTypography,
27677              {
27678                variation,
27679                fontSize: 85 * ratio
27680              }
27681            )
27682          },
27683          key
27684        )
27685      }
27686    );
27687  };
27688  var preview_typography_default = StylesPreviewTypography;
27689  
27690  // packages/global-styles-ui/build-module/variations/variation.mjs
27691  var import_element75 = __toESM(require_element(), 1);
27692  var import_keycodes = __toESM(require_keycodes(), 1);
27693  var import_i18n19 = __toESM(require_i18n(), 1);
27694  var import_jsx_runtime143 = __toESM(require_jsx_runtime(), 1);
27695  function Variation({
27696    variation,
27697    children,
27698    isPill = false,
27699    properties,
27700    showTooltip = false
27701  }) {
27702    const [isFocused, setIsFocused] = (0, import_element75.useState)(false);
27703    const {
27704      base,
27705      user,
27706      onChange: setUserConfig
27707    } = (0, import_element75.useContext)(GlobalStylesContext);
27708    const context = (0, import_element75.useMemo)(() => {
27709      let merged = mergeGlobalStyles(base, variation);
27710      if (properties) {
27711        merged = filterObjectByProperties(merged, properties);
27712      }
27713      return {
27714        user: variation,
27715        base,
27716        merged,
27717        onChange: () => {
27718        }
27719      };
27720    }, [variation, base, properties]);
27721    const selectVariation = () => setUserConfig(variation);
27722    const selectOnEnter = (event) => {
27723      if (event.keyCode === import_keycodes.ENTER) {
27724        event.preventDefault();
27725        selectVariation();
27726      }
27727    };
27728    const isActive = (0, import_element75.useMemo)(
27729      () => areGlobalStylesEqual(user, variation),
27730      [user, variation]
27731    );
27732    let label = variation?.title;
27733    if (variation?.description) {
27734      label = (0, import_i18n19.sprintf)(
27735        /* translators: 1: variation title. 2: variation description. */
27736        (0, import_i18n19._x)("%1$s (%2$s)", "variation label"),
27737        variation?.title,
27738        variation?.description
27739      );
27740    }
27741    const content = /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
27742      "div",
27743      {
27744        className: clsx_default("global-styles-ui-variations_item", {
27745          "is-active": isActive
27746        }),
27747        role: "button",
27748        onClick: selectVariation,
27749        onKeyDown: selectOnEnter,
27750        tabIndex: 0,
27751        "aria-label": label,
27752        "aria-current": isActive,
27753        onFocus: () => setIsFocused(true),
27754        onBlur: () => setIsFocused(false),
27755        children: /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(
27756          "div",
27757          {
27758            className: clsx_default("global-styles-ui-variations_item-preview", {
27759              "is-pill": isPill
27760            }),
27761            children: children(isFocused)
27762          }
27763        )
27764      }
27765    );
27766    return /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(GlobalStylesContext.Provider, { value: context, children: showTooltip ? /* @__PURE__ */ (0, import_jsx_runtime143.jsxs)(tooltip_exports.Root, { children: [
27767      /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(tooltip_exports.Trigger, { render: content }),
27768      /* @__PURE__ */ (0, import_jsx_runtime143.jsx)(tooltip_exports.Popup, { children: variation?.title })
27769    ] }) : content });
27770  }
27771  
27772  // packages/global-styles-ui/build-module/variations/variations-typography.mjs
27773  var import_jsx_runtime144 = __toESM(require_jsx_runtime(), 1);
27774  var propertiesToFilter = ["typography"];
27775  function TypographyVariations({
27776    title,
27777    gap = 2
27778  }) {
27779    const typographyVariations = useCurrentMergeThemeStyleVariationsWithUserConfig(propertiesToFilter);
27780    if (typographyVariations?.length <= 1) {
27781      return null;
27782    }
27783    return /* @__PURE__ */ (0, import_jsx_runtime144.jsxs)(import_components19.__experimentalVStack, { spacing: 3, children: [
27784      title && /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(Subtitle, { level: 3, children: title }),
27785      /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
27786        import_components19.__experimentalGrid,
27787        {
27788          columns: 3,
27789          gap,
27790          className: "global-styles-ui-style-variations-container",
27791          children: typographyVariations.map(
27792            (variation, index2) => {
27793              return /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
27794                Variation,
27795                {
27796                  variation,
27797                  properties: propertiesToFilter,
27798                  showTooltip: true,
27799                  children: () => /* @__PURE__ */ (0, import_jsx_runtime144.jsx)(
27800                    preview_typography_default,
27801                    {
27802                      variation
27803                    }
27804                  )
27805                },
27806                index2
27807              );
27808            }
27809          )
27810        }
27811      )
27812    ] });
27813  }
27814  
27815  // packages/global-styles-ui/build-module/font-families.mjs
27816  var import_i18n30 = __toESM(require_i18n(), 1);
27817  var import_components29 = __toESM(require_components(), 1);
27818  var import_element85 = __toESM(require_element(), 1);
27819  
27820  // packages/global-styles-ui/build-module/font-library/context.mjs
27821  var import_element76 = __toESM(require_element(), 1);
27822  var import_data6 = __toESM(require_data(), 1);
27823  var import_core_data4 = __toESM(require_core_data(), 1);
27824  var import_i18n21 = __toESM(require_i18n(), 1);
27825  
27826  // packages/global-styles-ui/build-module/font-library/api.mjs
27827  var import_api_fetch = __toESM(require_api_fetch(), 1);
27828  var import_core_data3 = __toESM(require_core_data(), 1);
27829  var FONT_FAMILIES_URL = "/wp/v2/font-families";
27830  function invalidateFontFamilyCache(registry) {
27831    const { receiveEntityRecords } = registry.dispatch(import_core_data3.store);
27832    receiveEntityRecords(
27833      "postType",
27834      "wp_font_family",
27835      [],
27836      void 0,
27837      true
27838      // invalidateCache
27839    );
27840  }
27841  async function fetchInstallFontFamily(data, registry) {
27842    const config = {
27843      path: FONT_FAMILIES_URL,
27844      method: "POST",
27845      body: data
27846    };
27847    const response = await (0, import_api_fetch.default)(config);
27848    invalidateFontFamilyCache(registry);
27849    return {
27850      id: response.id,
27851      ...response.font_family_settings,
27852      fontFace: []
27853    };
27854  }
27855  async function fetchInstallFontFace(fontFamilyId, data, registry) {
27856    const config = {
27857      path: `$FONT_FAMILIES_URL}/$fontFamilyId}/font-faces`,
27858      method: "POST",
27859      body: data
27860    };
27861    const response = await (0, import_api_fetch.default)(config);
27862    invalidateFontFamilyCache(registry);
27863    return {
27864      id: response.id,
27865      ...response.font_face_settings
27866    };
27867  }
27868  
27869  // node_modules/.store/tslib@2.8.1-LT-dxu1EkVy7OUDyVf5glQ/node_modules/tslib/tslib.es6.mjs
27870  var __assign = function() {
27871    __assign = Object.assign || function __assign2(t) {
27872      for (var s, i = 1, n = arguments.length; i < n; i++) {
27873        s = arguments[i];
27874        for (var p3 in s) if (Object.prototype.hasOwnProperty.call(s, p3)) t[p3] = s[p3];
27875      }
27876      return t;
27877    };
27878    return __assign.apply(this, arguments);
27879  };
27880  
27881  // node_modules/.store/lower-case@2.0.2-5YZP5nczP5_f_8Vt5KBPjA/node_modules/lower-case/dist.es2015/index.js
27882  function lowerCase(str) {
27883    return str.toLowerCase();
27884  }
27885  
27886  // node_modules/.store/no-case@3.0.4-R4Hzt6qn-erEsTak7ojDpg/node_modules/no-case/dist.es2015/index.js
27887  var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];
27888  var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi;
27889  function noCase(input, options) {
27890    if (options === void 0) {
27891      options = {};
27892    }
27893    var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? " " : _d;
27894    var result = replace(replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0");
27895    var start = 0;
27896    var end = result.length;
27897    while (result.charAt(start) === "\0")
27898      start++;
27899    while (result.charAt(end - 1) === "\0")
27900      end--;
27901    return result.slice(start, end).split("\0").map(transform).join(delimiter);
27902  }
27903  function replace(input, re, value) {
27904    if (re instanceof RegExp)
27905      return input.replace(re, value);
27906    return re.reduce(function(input2, re2) {
27907      return input2.replace(re2, value);
27908    }, input);
27909  }
27910  
27911  // node_modules/.store/dot-case@3.0.4-hi-rLWlWmiZ169n4dWcbUA/node_modules/dot-case/dist.es2015/index.js
27912  function dotCase(input, options) {
27913    if (options === void 0) {
27914      options = {};
27915    }
27916    return noCase(input, __assign({ delimiter: "." }, options));
27917  }
27918  
27919  // node_modules/.store/param-case@3.0.4-rdAht_VwpGpefPRylN2bTA/node_modules/param-case/dist.es2015/index.js
27920  function paramCase(input, options) {
27921    if (options === void 0) {
27922      options = {};
27923    }
27924    return dotCase(input, __assign({ delimiter: "-" }, options));
27925  }
27926  
27927  // packages/kebab-case/build-module/index.mjs
27928  function kebabCase(str) {
27929    let input = str?.toString?.() ?? "";
27930    input = input.replace(/['\u2019]/, "");
27931    return paramCase(input, {
27932      splitRegexp: [
27933        /(?!(?:1ST|2ND|3RD|[4-9]TH)(?![a-z]))([a-z0-9])([A-Z])/g,
27934        // fooBar => foo-bar, 3Bar => 3-bar
27935        /(?!(?:1st|2nd|3rd|[4-9]th)(?![a-z]))([0-9])([a-z])/g,
27936        // 3bar => 3-bar
27937        /([A-Za-z])([0-9])/g,
27938        // Foo3 => foo-3, foo3 => foo-3
27939        /([A-Z])([A-Z][a-z])/g
27940        // FOOBar => foo-bar
27941      ]
27942    });
27943  }
27944  
27945  // packages/global-styles-ui/build-module/font-library/utils/constants.mjs
27946  var import_i18n20 = __toESM(require_i18n(), 1);
27947  var ALLOWED_FILE_EXTENSIONS = ["otf", "ttf", "woff", "woff2"];
27948  var FONT_WEIGHTS = {
27949    100: (0, import_i18n20._x)("Thin", "font weight"),
27950    200: (0, import_i18n20._x)("Extra-light", "font weight"),
27951    300: (0, import_i18n20._x)("Light", "font weight"),
27952    400: (0, import_i18n20._x)("Normal", "font weight"),
27953    500: (0, import_i18n20._x)("Medium", "font weight"),
27954    600: (0, import_i18n20._x)("Semi-bold", "font weight"),
27955    700: (0, import_i18n20._x)("Bold", "font weight"),
27956    800: (0, import_i18n20._x)("Extra-bold", "font weight"),
27957    900: (0, import_i18n20._x)("Black", "font weight")
27958  };
27959  var FONT_STYLES = {
27960    normal: (0, import_i18n20._x)("Normal", "font style"),
27961    italic: (0, import_i18n20._x)("Italic", "font style")
27962  };
27963  
27964  // packages/global-styles-ui/build-module/font-library/utils/index.mjs
27965  var { File } = window;
27966  function setUIValuesNeeded(font2, extraValues = {}) {
27967    if (!font2.name && (font2.fontFamily || font2.slug)) {
27968      font2.name = font2.fontFamily || font2.slug;
27969    }
27970    return {
27971      ...font2,
27972      ...extraValues
27973    };
27974  }
27975  function isUrlEncoded(url) {
27976    if (typeof url !== "string") {
27977      return false;
27978    }
27979    return url !== decodeURIComponent(url);
27980  }
27981  function getFontFaceVariantName(face) {
27982    const weightName = FONT_WEIGHTS[face.fontWeight ?? ""] || face.fontWeight;
27983    const styleName = face.fontStyle === "normal" ? "" : FONT_STYLES[face.fontStyle ?? ""] || face.fontStyle;
27984    return `$weightName} $styleName}`;
27985  }
27986  function mergeFontFaces(existing = [], incoming = []) {
27987    const map = /* @__PURE__ */ new Map();
27988    for (const face of existing) {
27989      map.set(`$face.fontWeight}$face.fontStyle}`, face);
27990    }
27991    for (const face of incoming) {
27992      map.set(`$face.fontWeight}$face.fontStyle}`, face);
27993    }
27994    return Array.from(map.values());
27995  }
27996  function mergeFontFamilies(existing = [], incoming = []) {
27997    const map = /* @__PURE__ */ new Map();
27998    for (const font2 of existing) {
27999      map.set(font2.slug, { ...font2 });
28000    }
28001    for (const font2 of incoming) {
28002      if (map.has(font2.slug)) {
28003        const { fontFace: incomingFontFaces, ...restIncoming } = font2;
28004        const existingFont = map.get(font2.slug);
28005        const mergedFontFaces = mergeFontFaces(
28006          existingFont.fontFace,
28007          incomingFontFaces
28008        );
28009        map.set(font2.slug, {
28010          ...restIncoming,
28011          fontFace: mergedFontFaces
28012        });
28013      } else {
28014        map.set(font2.slug, { ...font2 });
28015      }
28016    }
28017    return Array.from(map.values());
28018  }
28019  async function loadFontFaceInBrowser(fontFace, source, addTo = "all") {
28020    let dataSource;
28021    if (typeof source === "string") {
28022      dataSource = `url($source})`;
28023    } else if (source instanceof File) {
28024      dataSource = await source.arrayBuffer();
28025    } else {
28026      return;
28027    }
28028    const newFont = new window.FontFace(
28029      formatFontFaceName(fontFace.fontFamily),
28030      dataSource,
28031      {
28032        style: fontFace.fontStyle,
28033        weight: String(fontFace.fontWeight)
28034      }
28035    );
28036    const loadedFace = await newFont.load();
28037    if (addTo === "document" || addTo === "all") {
28038      document.fonts.add(loadedFace);
28039    }
28040    if (addTo === "iframe" || addTo === "all") {
28041      const iframe = document.querySelector(
28042        'iframe[name="editor-canvas"]'
28043      );
28044      if (iframe?.contentDocument) {
28045        iframe.contentDocument.fonts.add(loadedFace);
28046      }
28047    }
28048  }
28049  function unloadFontFaceInBrowser(fontFace, removeFrom = "all") {
28050    const unloadFontFace = (fonts) => {
28051      fonts.forEach((f) => {
28052        if (f.family === formatFontFaceName(fontFace?.fontFamily) && f.weight === fontFace?.fontWeight && f.style === fontFace?.fontStyle) {
28053          fonts.delete(f);
28054        }
28055      });
28056    };
28057    if (removeFrom === "document" || removeFrom === "all") {
28058      unloadFontFace(document.fonts);
28059    }
28060    if (removeFrom === "iframe" || removeFrom === "all") {
28061      const iframe = document.querySelector(
28062        'iframe[name="editor-canvas"]'
28063      );
28064      if (iframe?.contentDocument) {
28065        unloadFontFace(iframe.contentDocument.fonts);
28066      }
28067    }
28068  }
28069  function getDisplaySrcFromFontFace(input) {
28070    if (!input) {
28071      return;
28072    }
28073    let src;
28074    if (Array.isArray(input)) {
28075      src = input[0];
28076    } else {
28077      src = input;
28078    }
28079    if (src.startsWith("file:.")) {
28080      return;
28081    }
28082    if (!isUrlEncoded(src)) {
28083      src = encodeURI(src);
28084    }
28085    return src;
28086  }
28087  function makeFontFamilyFormData(fontFamily) {
28088    const formData = new FormData();
28089    const { fontFace, category, ...familyWithValidParameters } = fontFamily;
28090    const fontFamilySettings = {
28091      ...familyWithValidParameters,
28092      slug: kebabCase(fontFamily.slug)
28093    };
28094    formData.append(
28095      "font_family_settings",
28096      JSON.stringify(fontFamilySettings)
28097    );
28098    return formData;
28099  }
28100  function makeFontFacesFormData(font2) {
28101    const fontFacesFormData = (font2?.fontFace ?? []).map(
28102      (item, faceIndex) => {
28103        const face = { ...item };
28104        const formData = new FormData();
28105        if (face.file) {
28106          const files = Array.isArray(face.file) ? face.file : [face.file];
28107          const src = [];
28108          files.forEach((file, key) => {
28109            const fileId = `file-$faceIndex}-$key}`;
28110            formData.append(fileId, file, file.name);
28111            src.push(fileId);
28112          });
28113          face.src = src.length === 1 ? src[0] : src;
28114          delete face.file;
28115          formData.append("font_face_settings", JSON.stringify(face));
28116        } else {
28117          formData.append("font_face_settings", JSON.stringify(face));
28118        }
28119        return formData;
28120      }
28121    );
28122    return fontFacesFormData;
28123  }
28124  async function batchInstallFontFaces(fontFamilyId, fontFacesData, registry) {
28125    const responses = [];
28126    for (const faceData of fontFacesData) {
28127      try {
28128        const response = await fetchInstallFontFace(
28129          fontFamilyId,
28130          faceData,
28131          registry
28132        );
28133        responses.push({ status: "fulfilled", value: response });
28134      } catch (error2) {
28135        responses.push({ status: "rejected", reason: error2 });
28136      }
28137    }
28138    const results = {
28139      errors: [],
28140      successes: []
28141    };
28142    responses.forEach((result, index2) => {
28143      if (result.status === "fulfilled" && result.value) {
28144        const response = result.value;
28145        results.successes.push(response);
28146      } else if (result.reason) {
28147        results.errors.push({
28148          data: fontFacesData[index2],
28149          message: result.reason.message
28150        });
28151      }
28152    });
28153    return results;
28154  }
28155  async function downloadFontFaceAssets(src) {
28156    src = Array.isArray(src) ? src : [src];
28157    const files = await Promise.all(
28158      src.map(async (url) => {
28159        return fetch(new Request(url)).then((response) => {
28160          if (!response.ok) {
28161            throw new Error(
28162              `Error downloading font face asset from $url}. Server responded with status: $response.status}`
28163            );
28164          }
28165          return response.blob();
28166        }).then((blob) => {
28167          const filename = url.split("/").pop();
28168          const file = new File([blob], filename, {
28169            type: blob.type
28170          });
28171          return file;
28172        });
28173      })
28174    );
28175    return files.length === 1 ? files[0] : files;
28176  }
28177  function checkFontFaceInstalled(fontFace, collection) {
28178    return -1 !== collection.findIndex((collectionFontFace) => {
28179      return collectionFontFace.fontWeight === fontFace.fontWeight && collectionFontFace.fontStyle === fontFace.fontStyle;
28180    });
28181  }
28182  
28183  // packages/global-styles-ui/build-module/font-library/utils/set-immutably.mjs
28184  function setImmutably2(object, path, value) {
28185    path = Array.isArray(path) ? [...path] : [path];
28186    object = Array.isArray(object) ? [...object] : { ...object };
28187    const leaf = path.pop();
28188    let prev = object;
28189    for (const key of path) {
28190      const lvl = prev[key];
28191      prev = prev[key] = Array.isArray(lvl) ? [...lvl] : { ...lvl };
28192    }
28193    prev[leaf] = value;
28194    return object;
28195  }
28196  
28197  // packages/global-styles-ui/build-module/font-library/utils/toggleFont.mjs
28198  function toggleFont(font2, face, initialfonts = []) {
28199    const isFontActivated = (f) => f.slug === font2.slug;
28200    const getActivatedFont = (fonts) => fonts.find(isFontActivated);
28201    const toggleEntireFontFamily = (activatedFont2) => {
28202      if (!activatedFont2) {
28203        return [...initialfonts, font2];
28204      }
28205      return initialfonts.filter(
28206        (f) => !isFontActivated(f)
28207      );
28208    };
28209    const toggleFontVariant = (activatedFont2) => {
28210      const isFaceActivated = (f) => f.fontWeight === face.fontWeight && f.fontStyle === face.fontStyle;
28211      if (!activatedFont2) {
28212        return [...initialfonts, { ...font2, fontFace: [face] }];
28213      }
28214      let newFontFaces = activatedFont2.fontFace || [];
28215      if (newFontFaces.find(isFaceActivated)) {
28216        newFontFaces = newFontFaces.filter(
28217          (f) => !isFaceActivated(f)
28218        );
28219      } else {
28220        newFontFaces = [...newFontFaces, face];
28221      }
28222      if (newFontFaces.length === 0) {
28223        return initialfonts.filter(
28224          (f) => !isFontActivated(f)
28225        );
28226      }
28227      return initialfonts.map(
28228        (f) => isFontActivated(f) ? { ...f, fontFace: newFontFaces } : f
28229      );
28230    };
28231    const activatedFont = getActivatedFont(initialfonts);
28232    if (!face) {
28233      return toggleEntireFontFamily(activatedFont);
28234    }
28235    return toggleFontVariant(activatedFont);
28236  }
28237  
28238  // packages/global-styles-ui/build-module/font-library/context.mjs
28239  var import_jsx_runtime145 = __toESM(require_jsx_runtime(), 1);
28240  var FontLibraryContext = (0, import_element76.createContext)(
28241    {}
28242  );
28243  FontLibraryContext.displayName = "FontLibraryContext";
28244  function FontLibraryProvider({ children }) {
28245    const registry = (0, import_data6.useRegistry)();
28246    const { saveEntityRecord, deleteEntityRecord } = (0, import_data6.useDispatch)(import_core_data4.store);
28247    const { globalStylesId } = (0, import_data6.useSelect)((select) => {
28248      const { __experimentalGetCurrentGlobalStylesId } = select(import_core_data4.store);
28249      return { globalStylesId: __experimentalGetCurrentGlobalStylesId() };
28250    }, []);
28251    const globalStyles = (0, import_core_data4.useEntityRecord)(
28252      "root",
28253      "globalStyles",
28254      globalStylesId ?? 0,
28255      { enabled: globalStylesId !== void 0 }
28256    );
28257    const [isInstalling, setIsInstalling] = (0, import_element76.useState)(false);
28258    const { records: libraryPosts = [], isResolving: isResolvingLibrary } = (0, import_core_data4.useEntityRecords)(
28259      "postType",
28260      "wp_font_family",
28261      {
28262        _embed: true,
28263        per_page: -1
28264      }
28265    );
28266    const libraryFonts = (libraryPosts || []).map((fontFamilyPost) => {
28267      return {
28268        id: fontFamilyPost.id,
28269        ...fontFamilyPost.font_family_settings || {},
28270        fontFace: fontFamilyPost?._embedded?.font_faces?.map(
28271          (face) => face.font_face_settings
28272        ) || []
28273      };
28274    }) || [];
28275    const [fontFamilies, setFontFamilies] = useSetting("typography.fontFamilies");
28276    const saveFontFamilies = async (fonts) => {
28277      if (!globalStyles.record) {
28278        return;
28279      }
28280      const updatedGlobalStyles = globalStyles.record;
28281      const finalGlobalStyles = setImmutably2(
28282        updatedGlobalStyles ?? {},
28283        ["settings", "typography", "fontFamilies"],
28284        fonts
28285      );
28286      await saveEntityRecord("root", "globalStyles", finalGlobalStyles);
28287    };
28288    const [modalTabOpen, setModalTabOpen] = (0, import_element76.useState)("");
28289    const [libraryFontSelected, setLibraryFontSelected] = (0, import_element76.useState)(void 0);
28290    const themeFonts = fontFamilies?.theme ? fontFamilies.theme.map((f) => setUIValuesNeeded(f, { source: "theme" })).sort((a, b) => a.name.localeCompare(b.name)) : [];
28291    const customFonts = fontFamilies?.custom ? fontFamilies.custom.map((f) => setUIValuesNeeded(f, { source: "custom" })).sort((a, b) => a.name.localeCompare(b.name)) : [];
28292    const baseCustomFonts = libraryFonts ? libraryFonts.map((f) => setUIValuesNeeded(f, { source: "custom" })).sort((a, b) => a.name.localeCompare(b.name)) : [];
28293    (0, import_element76.useEffect)(() => {
28294      if (!modalTabOpen) {
28295        setLibraryFontSelected(void 0);
28296      }
28297    }, [modalTabOpen]);
28298    const handleSetLibraryFontSelected = (font2) => {
28299      if (!font2) {
28300        setLibraryFontSelected(void 0);
28301        return;
28302      }
28303      const fonts = font2.source === "theme" ? themeFonts : baseCustomFonts;
28304      const fontSelected = fonts.find((f) => f.slug === font2.slug);
28305      setLibraryFontSelected({
28306        ...fontSelected || font2,
28307        source: font2.source
28308      });
28309    };
28310    const [loadedFontUrls] = (0, import_element76.useState)(/* @__PURE__ */ new Set());
28311    const getAvailableFontsOutline = (availableFontFamilies) => {
28312      const outline = availableFontFamilies.reduce(
28313        (acc, font2) => {
28314          const availableFontFaces = font2?.fontFace && font2.fontFace?.length > 0 ? font2?.fontFace.map(
28315            (face) => `$face.fontStyle ?? ""}$face.fontWeight ?? ""}`
28316          ) : ["normal400"];
28317          acc[font2.slug] = availableFontFaces;
28318          return acc;
28319        },
28320        {}
28321      );
28322      return outline;
28323    };
28324    const getActivatedFontsOutline = (source) => {
28325      switch (source) {
28326        case "theme":
28327          return getAvailableFontsOutline(themeFonts);
28328        case "custom":
28329        default:
28330          return getAvailableFontsOutline(customFonts);
28331      }
28332    };
28333    const isFontActivated = (slug, style, weight, source) => {
28334      if (!style && !weight) {
28335        return !!getActivatedFontsOutline(source)[slug];
28336      }
28337      return !!getActivatedFontsOutline(source)[slug]?.includes(
28338        (style ?? "") + (weight ?? "")
28339      );
28340    };
28341    const getFontFacesActivated = (slug, source) => {
28342      return getActivatedFontsOutline(source)[slug] || [];
28343    };
28344    async function installFonts(fontFamiliesToInstall) {
28345      setIsInstalling(true);
28346      try {
28347        const fontFamiliesToActivate = [];
28348        let installationErrors = [];
28349        for (const fontFamilyToInstall of fontFamiliesToInstall) {
28350          let isANewFontFamily = false;
28351          const fontFamilyRecords = await (0, import_data6.resolveSelect)(
28352            import_core_data4.store
28353          ).getEntityRecords(
28354            "postType",
28355            "wp_font_family",
28356            {
28357              slug: fontFamilyToInstall.slug,
28358              per_page: 1,
28359              _embed: true
28360            }
28361          );
28362          const fontFamilyPost = fontFamilyRecords && fontFamilyRecords.length > 0 ? fontFamilyRecords[0] : null;
28363          let installedFontFamily = fontFamilyPost ? {
28364            id: fontFamilyPost.id,
28365            ...fontFamilyPost.font_family_settings,
28366            fontFace: (fontFamilyPost?._embedded?.font_faces ?? []).map(
28367              (face) => face.font_face_settings
28368            ) || []
28369          } : null;
28370          if (!installedFontFamily) {
28371            isANewFontFamily = true;
28372            installedFontFamily = await fetchInstallFontFamily(
28373              makeFontFamilyFormData(fontFamilyToInstall),
28374              registry
28375            );
28376          }
28377          const alreadyInstalledFontFaces = installedFontFamily.fontFace && fontFamilyToInstall.fontFace ? installedFontFamily.fontFace.filter(
28378            (fontFaceToInstall) => fontFaceToInstall && fontFamilyToInstall.fontFace && checkFontFaceInstalled(
28379              fontFaceToInstall,
28380              fontFamilyToInstall.fontFace
28381            )
28382          ) : [];
28383          if (installedFontFamily.fontFace && fontFamilyToInstall.fontFace) {
28384            fontFamilyToInstall.fontFace = fontFamilyToInstall.fontFace.filter(
28385              (fontFaceToInstall) => !checkFontFaceInstalled(
28386                fontFaceToInstall,
28387                installedFontFamily.fontFace
28388              )
28389            );
28390          }
28391          let successfullyInstalledFontFaces = [];
28392          let unsuccessfullyInstalledFontFaces = [];
28393          if (fontFamilyToInstall?.fontFace?.length ?? 0 > 0) {
28394            const response = await batchInstallFontFaces(
28395              // @ts-expect-error - Type mismatch: WpFontFamily.id can be number | string, but batchInstallFontFaces expects only string.
28396              installedFontFamily.id,
28397              makeFontFacesFormData(
28398                fontFamilyToInstall
28399              ),
28400              registry
28401            );
28402            successfullyInstalledFontFaces = response?.successes;
28403            unsuccessfullyInstalledFontFaces = response?.errors;
28404          }
28405          if (successfullyInstalledFontFaces?.length > 0 || alreadyInstalledFontFaces?.length > 0) {
28406            installedFontFamily.fontFace = [
28407              ...successfullyInstalledFontFaces
28408            ];
28409            fontFamiliesToActivate.push(installedFontFamily);
28410          }
28411          if (installedFontFamily && !fontFamilyToInstall?.fontFace?.length) {
28412            fontFamiliesToActivate.push(installedFontFamily);
28413          }
28414          if (isANewFontFamily && (fontFamilyToInstall?.fontFace?.length ?? 0) > 0 && successfullyInstalledFontFaces?.length === 0) {
28415            await deleteEntityRecord(
28416              "postType",
28417              "wp_font_family",
28418              installedFontFamily.id,
28419              { force: true }
28420            );
28421          }
28422          installationErrors = installationErrors.concat(
28423            unsuccessfullyInstalledFontFaces
28424          );
28425        }
28426        const installationErrorMessages = installationErrors.reduce(
28427          (unique, item) => unique.includes(item.message) ? unique : [...unique, item.message],
28428          []
28429        );
28430        if (fontFamiliesToActivate.length > 0) {
28431          const activeFonts = activateCustomFontFamilies(
28432            // @ts-expect-error - Type mismatch: items may have id as number | string, but FontFamily.id should be string | undefined.
28433            fontFamiliesToActivate
28434          );
28435          await saveFontFamilies(activeFonts);
28436        }
28437        if (installationErrorMessages.length > 0) {
28438          const installError = new Error((0, import_i18n21.__)("There was an error installing fonts."));
28439          installError.installationErrors = installationErrorMessages;
28440          throw installError;
28441        }
28442      } finally {
28443        setIsInstalling(false);
28444      }
28445    }
28446    async function uninstallFontFamily(fontFamilyToUninstall) {
28447      if (!fontFamilyToUninstall?.id) {
28448        throw new Error((0, import_i18n21.__)("Font family to uninstall is not defined."));
28449      }
28450      try {
28451        await deleteEntityRecord(
28452          "postType",
28453          "wp_font_family",
28454          fontFamilyToUninstall.id,
28455          { force: true }
28456        );
28457        const activeFonts = deactivateFontFamily(fontFamilyToUninstall);
28458        await saveFontFamilies(activeFonts);
28459        return { deleted: true };
28460      } catch (error2) {
28461        console.error(
28462          `There was an error uninstalling the font family:`,
28463          error2
28464        );
28465        throw error2;
28466      }
28467    }
28468    const deactivateFontFamily = (font2) => {
28469      const initialCustomFonts = fontFamilies?.[font2.source ?? ""] ?? [];
28470      const newCustomFonts = initialCustomFonts.filter(
28471        (f) => f.slug !== font2.slug
28472      );
28473      const activeFonts = {
28474        ...fontFamilies,
28475        [font2.source ?? ""]: newCustomFonts
28476      };
28477      setFontFamilies(activeFonts);
28478      if (font2.fontFace) {
28479        font2.fontFace.forEach((face) => {
28480          unloadFontFaceInBrowser(face, "all");
28481        });
28482      }
28483      return activeFonts;
28484    };
28485    const activateCustomFontFamilies = (fontsToAdd) => {
28486      const fontsToActivate = cleanFontsForSave(fontsToAdd);
28487      const activeFonts = {
28488        ...fontFamilies,
28489        // Merge the existing custom fonts with the new fonts.
28490        custom: mergeFontFamilies(fontFamilies?.custom, fontsToActivate)
28491      };
28492      setFontFamilies(activeFonts);
28493      loadFontsInBrowser(fontsToActivate);
28494      return activeFonts;
28495    };
28496    const cleanFontsForSave = (fonts) => {
28497      return fonts.map(({ id: _familyDbId, fontFace, ...font2 }) => ({
28498        ...font2,
28499        ...fontFace && fontFace.length > 0 ? {
28500          fontFace: fontFace.map(
28501            ({ id: _faceDbId, ...face }) => face
28502          )
28503        } : {}
28504      }));
28505    };
28506    const loadFontsInBrowser = (fonts) => {
28507      fonts.forEach((font2) => {
28508        if (font2.fontFace) {
28509          font2.fontFace.forEach((face) => {
28510            const displaySrc = getDisplaySrcFromFontFace(
28511              face?.src ?? ""
28512            );
28513            if (displaySrc) {
28514              loadFontFaceInBrowser(face, displaySrc, "all");
28515            }
28516          });
28517        }
28518      });
28519    };
28520    const toggleActivateFont = (font2, face) => {
28521      const initialFonts = fontFamilies?.[font2.source ?? ""] ?? [];
28522      const newFonts = toggleFont(font2, face, initialFonts);
28523      setFontFamilies({
28524        ...fontFamilies,
28525        [font2.source ?? ""]: newFonts
28526      });
28527      const isFaceActivated = isFontActivated(
28528        font2.slug,
28529        face?.fontStyle ?? "",
28530        face?.fontWeight ?? "",
28531        font2.source ?? "custom"
28532      );
28533      if (face && isFaceActivated) {
28534        unloadFontFaceInBrowser(face, "all");
28535      } else {
28536        const displaySrc = getDisplaySrcFromFontFace(face?.src ?? "");
28537        if (face && displaySrc) {
28538          loadFontFaceInBrowser(face, displaySrc, "all");
28539        }
28540      }
28541    };
28542    const loadFontFaceAsset = async (fontFace) => {
28543      if (!fontFace.src) {
28544        return;
28545      }
28546      const src = getDisplaySrcFromFontFace(fontFace.src);
28547      if (!src || loadedFontUrls.has(src)) {
28548        return;
28549      }
28550      loadFontFaceInBrowser(fontFace, src, "document");
28551      loadedFontUrls.add(src);
28552    };
28553    return /* @__PURE__ */ (0, import_jsx_runtime145.jsx)(
28554      FontLibraryContext.Provider,
28555      {
28556        value: {
28557          libraryFontSelected,
28558          handleSetLibraryFontSelected,
28559          fontFamilies: fontFamilies ?? {},
28560          baseCustomFonts,
28561          isFontActivated,
28562          getFontFacesActivated,
28563          loadFontFaceAsset,
28564          installFonts,
28565          uninstallFontFamily,
28566          toggleActivateFont,
28567          getAvailableFontsOutline,
28568          modalTabOpen,
28569          setModalTabOpen,
28570          saveFontFamilies,
28571          isResolvingLibrary,
28572          isInstalling
28573        },
28574        children
28575      }
28576    );
28577  }
28578  var context_default = FontLibraryProvider;
28579  
28580  // packages/global-styles-ui/build-module/font-library/modal.mjs
28581  var import_i18n28 = __toESM(require_i18n(), 1);
28582  var import_components27 = __toESM(require_components(), 1);
28583  var import_core_data7 = __toESM(require_core_data(), 1);
28584  var import_data8 = __toESM(require_data(), 1);
28585  
28586  // packages/global-styles-ui/build-module/font-library/installed-fonts.mjs
28587  var import_components22 = __toESM(require_components(), 1);
28588  var import_core_data5 = __toESM(require_core_data(), 1);
28589  var import_data7 = __toESM(require_data(), 1);
28590  var import_element80 = __toESM(require_element(), 1);
28591  var import_i18n23 = __toESM(require_i18n(), 1);
28592  
28593  // packages/global-styles-ui/build-module/font-library/font-card.mjs
28594  var import_i18n22 = __toESM(require_i18n(), 1);
28595  var import_element78 = __toESM(require_element(), 1);
28596  var import_components20 = __toESM(require_components(), 1);
28597  
28598  // packages/global-styles-ui/build-module/font-library/font-demo.mjs
28599  var import_element77 = __toESM(require_element(), 1);
28600  var import_jsx_runtime146 = __toESM(require_jsx_runtime(), 1);
28601  var loadedPreviews = /* @__PURE__ */ new Set();
28602  function getPreviewUrl(fontFace) {
28603    if (fontFace.preview) {
28604      return fontFace.preview;
28605    }
28606    if (fontFace.src) {
28607      return Array.isArray(fontFace.src) ? fontFace.src[0] : fontFace.src;
28608    }
28609    return void 0;
28610  }
28611  function getDisplayFontFace(font2) {
28612    if ("fontStyle" in font2 && font2.fontStyle || "fontWeight" in font2 && font2.fontWeight) {
28613      return font2;
28614    }
28615    if ("fontFace" in font2 && font2.fontFace && font2.fontFace.length) {
28616      return font2.fontFace.find(
28617        (face) => face.fontStyle === "normal" && face.fontWeight === "400"
28618      ) || font2.fontFace[0];
28619    }
28620    return {
28621      fontStyle: "normal",
28622      fontWeight: "400",
28623      fontFamily: font2.fontFamily
28624    };
28625  }
28626  function FontDemo({ font: font2, text }) {
28627    const ref = (0, import_element77.useRef)(null);
28628    const fontFace = getDisplayFontFace(font2);
28629    const style = getFamilyPreviewStyle(font2);
28630    text = text || ("name" in font2 ? font2.name : "");
28631    const customPreviewUrl = font2.preview;
28632    const previewUrl = customPreviewUrl ?? getPreviewUrl(fontFace);
28633    const isPreviewImage = Boolean(
28634      previewUrl && /\.(png|jpg|jpeg|gif|svg)$/i.test(previewUrl)
28635    );
28636    const [isIntersecting, setIsIntersecting] = (0, import_element77.useState)(false);
28637    const [isFontLoaded, setIsFontLoaded] = (0, import_element77.useState)(false);
28638    const [resolvedUrl, setResolvedUrl] = (0, import_element77.useState)();
28639    const { loadFontFaceAsset } = (0, import_element77.useContext)(FontLibraryContext);
28640    const isAssetLoaded = isPreviewImage ? !!previewUrl && (loadedPreviews.has(previewUrl) || resolvedUrl === previewUrl) : isFontLoaded;
28641    const estimatedImageWidth = Math.min(
28642      Math.max(text.length * 12, 48),
28643      300
28644    );
28645    const faceStyles = getFacePreviewStyle(fontFace);
28646    const textDemoStyle = {
28647      fontSize: "18px",
28648      lineHeight: 1,
28649      opacity: isAssetLoaded ? "1" : "0",
28650      ...style,
28651      ...faceStyles
28652    };
28653    (0, import_element77.useEffect)(() => {
28654      if (isPreviewImage) {
28655        return;
28656      }
28657      const observer = new window.IntersectionObserver(([entry]) => {
28658        setIsIntersecting(entry.isIntersecting);
28659      }, {});
28660      if (ref.current) {
28661        observer.observe(ref.current);
28662      }
28663      return () => observer.disconnect();
28664    }, [isPreviewImage]);
28665    (0, import_element77.useEffect)(() => {
28666      const loadAsset = async () => {
28667        if (isIntersecting && !isPreviewImage) {
28668          if (fontFace.src) {
28669            await loadFontFaceAsset(fontFace);
28670          }
28671          setIsFontLoaded(true);
28672        }
28673      };
28674      loadAsset();
28675    }, [fontFace, isIntersecting, loadFontFaceAsset, isPreviewImage]);
28676    return /* @__PURE__ */ (0, import_jsx_runtime146.jsx)("div", { ref, className: "font-library__font-demo", children: isPreviewImage ? /* @__PURE__ */ (0, import_jsx_runtime146.jsxs)(import_jsx_runtime146.Fragment, { children: [
28677      !isAssetLoaded && /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
28678        Skeleton,
28679        {
28680          className: "font-library__font-variant-demo-skeleton",
28681          style: { width: estimatedImageWidth }
28682        }
28683      ),
28684      /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
28685        "img",
28686        {
28687          src: previewUrl,
28688          loading: "lazy",
28689          alt: text,
28690          onLoad: () => {
28691            if (previewUrl) {
28692              loadedPreviews.add(previewUrl);
28693            }
28694            setResolvedUrl(previewUrl);
28695          },
28696          onError: () => setResolvedUrl(previewUrl),
28697          className: clsx_default(
28698            "font-library__font-variant_demo-image",
28699            { "is-loading": !isAssetLoaded }
28700          )
28701        }
28702      )
28703    ] }) : /* @__PURE__ */ (0, import_jsx_runtime146.jsx)(
28704      "span",
28705      {
28706        style: textDemoStyle,
28707        className: "font-library__font-variant_demo-text",
28708        children: text
28709      }
28710    ) });
28711  }
28712  var font_demo_default = FontDemo;
28713  
28714  // packages/global-styles-ui/build-module/font-library/font-card.mjs
28715  var import_jsx_runtime147 = __toESM(require_jsx_runtime(), 1);
28716  function FontCard({
28717    font: font2,
28718    onClick,
28719    variantsText,
28720    navigatorPath,
28721    shouldFocus
28722  }) {
28723    const variantsCount = font2.fontFace?.length || 1;
28724    const style = {
28725      cursor: !!onClick ? "pointer" : "default"
28726    };
28727    const navigator2 = (0, import_components20.useNavigator)();
28728    const ref = (0, import_element78.useRef)(null);
28729    (0, import_element78.useEffect)(() => {
28730      if (shouldFocus) {
28731        ref.current?.focus();
28732      }
28733    }, [shouldFocus]);
28734    return /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
28735      import_components20.Button,
28736      {
28737        ref,
28738        __next40pxDefaultSize: true,
28739        onClick: () => {
28740          onClick();
28741          if (navigatorPath) {
28742            navigator2.goTo(navigatorPath);
28743          }
28744        },
28745        style,
28746        className: "font-library__font-card",
28747        children: /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(import_components20.Flex, { justify: "space-between", wrap: false, children: [
28748          /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(font_demo_default, { font: font2 }),
28749          /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(import_components20.Flex, { justify: "flex-end", children: [
28750            /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(import_components20.FlexItem, { children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(import_components20.__experimentalText, { className: "font-library__font-card__count", children: variantsText || (0, import_i18n22.sprintf)(
28751              /* translators: %d: Number of font variants. */
28752              (0, import_i18n22._n)(
28753                "%d variant",
28754                "%d variants",
28755                variantsCount
28756              ),
28757              variantsCount
28758            ) }) }),
28759            /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(import_components20.FlexItem, { children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(icon_default, { icon: (0, import_i18n22.isRTL)() ? chevron_left_default : chevron_right_default }) })
28760          ] })
28761        ] })
28762      }
28763    );
28764  }
28765  var font_card_default = FontCard;
28766  
28767  // packages/global-styles-ui/build-module/font-library/library-font-variant.mjs
28768  var import_element79 = __toESM(require_element(), 1);
28769  var import_components21 = __toESM(require_components(), 1);
28770  var import_jsx_runtime148 = __toESM(require_jsx_runtime(), 1);
28771  function LibraryFontVariant({
28772    face,
28773    font: font2
28774  }) {
28775    const { isFontActivated, toggleActivateFont } = (0, import_element79.useContext)(FontLibraryContext);
28776    const isInstalled = (font2?.fontFace?.length ?? 0) > 0 ? isFontActivated(
28777      font2.slug,
28778      face.fontStyle,
28779      face.fontWeight,
28780      font2.source
28781    ) : isFontActivated(font2.slug, void 0, void 0, font2.source);
28782    const handleToggleActivation = () => {
28783      if ((font2?.fontFace?.length ?? 0) > 0) {
28784        toggleActivateFont(font2, face);
28785        return;
28786      }
28787      toggleActivateFont(font2);
28788    };
28789    const displayName = font2.name + " " + getFontFaceVariantName(face);
28790    const checkboxId = (0, import_element79.useId)();
28791    return /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "font-library__font-card", children: /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(import_components21.Flex, { justify: "flex-start", align: "center", gap: "1rem", children: [
28792      /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
28793        import_components21.CheckboxControl,
28794        {
28795          checked: isInstalled,
28796          onChange: handleToggleActivation,
28797          id: checkboxId
28798        }
28799      ),
28800      /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("label", { htmlFor: checkboxId, children: /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
28801        font_demo_default,
28802        {
28803          font: face,
28804          text: displayName,
28805          onClick: handleToggleActivation
28806        }
28807      ) })
28808    ] }) });
28809  }
28810  var library_font_variant_default = LibraryFontVariant;
28811  
28812  // packages/global-styles-ui/build-module/font-library/utils/sort-font-faces.mjs
28813  function getNumericFontWeight(value) {
28814    switch (value) {
28815      case "normal":
28816        return 400;
28817      case "bold":
28818        return 700;
28819      case "bolder":
28820        return 500;
28821      case "lighter":
28822        return 300;
28823      default:
28824        return parseInt(value, 10);
28825    }
28826  }
28827  function sortFontFaces(faces) {
28828    return faces.sort((a, b) => {
28829      if (a.fontStyle === "normal" && b.fontStyle !== "normal") {
28830        return -1;
28831      }
28832      if (b.fontStyle === "normal" && a.fontStyle !== "normal") {
28833        return 1;
28834      }
28835      if (a.fontStyle === b.fontStyle) {
28836        return getNumericFontWeight(a.fontWeight?.toString() ?? "normal") - getNumericFontWeight(b.fontWeight?.toString() ?? "normal");
28837      }
28838      if (!a.fontStyle || !b.fontStyle) {
28839        return !a.fontStyle ? 1 : -1;
28840      }
28841      return a.fontStyle.localeCompare(b.fontStyle);
28842    });
28843  }
28844  
28845  // packages/global-styles-ui/build-module/font-library/installed-fonts.mjs
28846  var import_jsx_runtime149 = __toESM(require_jsx_runtime(), 1);
28847  function getFontFamiliesKey(fontFamilies) {
28848    if (!fontFamilies) {
28849      return "";
28850    }
28851    const normalized = {};
28852    for (const source of Object.keys(fontFamilies).sort()) {
28853      normalized[source] = (fontFamilies[source] ?? []).map((family) => ({
28854        slug: family.slug,
28855        fontFace: (family.fontFace ?? []).map(
28856          (face) => `$face.fontStyle}-$face.fontWeight}`
28857        ).sort()
28858      })).sort((a, b) => a.slug.localeCompare(b.slug));
28859    }
28860    return JSON.stringify(normalized);
28861  }
28862  function InstalledFonts() {
28863    const {
28864      baseCustomFonts,
28865      libraryFontSelected,
28866      handleSetLibraryFontSelected,
28867      uninstallFontFamily,
28868      isResolvingLibrary,
28869      isInstalling,
28870      saveFontFamilies,
28871      getFontFacesActivated
28872    } = (0, import_element80.useContext)(FontLibraryContext);
28873    const [fontFamilies, setFontFamilies] = useSetting("typography.fontFamilies");
28874    const [lastSelectedFontSlug, setLastSelectedFontSlug] = (0, import_element80.useState)(void 0);
28875    const [isConfirmDeleteOpen, setIsConfirmDeleteOpen] = (0, import_element80.useState)(false);
28876    const [notice, setNotice] = (0, import_element80.useState)(null);
28877    const [baseFontFamilies] = useSetting("typography.fontFamilies", void 0, "base");
28878    const globalStylesId = (0, import_data7.useSelect)((select) => {
28879      const { __experimentalGetCurrentGlobalStylesId } = select(import_core_data5.store);
28880      return __experimentalGetCurrentGlobalStylesId();
28881    }, []);
28882    const globalStyles = (0, import_core_data5.useEntityRecord)(
28883      "root",
28884      "globalStyles",
28885      globalStylesId ?? 0,
28886      { enabled: globalStylesId !== void 0 }
28887    );
28888    const editedFontFamilies = globalStyles?.edits?.settings?.typography?.fontFamilies;
28889    const savedFontFamilies = globalStyles?.record?.settings?.typography?.fontFamilies;
28890    const fontFamiliesHasChanges = (0, import_element80.useMemo)(() => {
28891      if (editedFontFamilies === void 0) {
28892        return false;
28893      }
28894      return getFontFamiliesKey(editedFontFamilies) !== getFontFamiliesKey(savedFontFamilies);
28895    }, [editedFontFamilies, savedFontFamilies]);
28896    const themeFonts = fontFamilies?.theme ? fontFamilies.theme.map((f) => setUIValuesNeeded(f, { source: "theme" })).sort((a, b) => a.name.localeCompare(b.name)) : [];
28897    const themeFontsSlugs = new Set(themeFonts.map((f) => f.slug));
28898    const baseThemeFonts = baseFontFamilies?.theme ? themeFonts.concat(
28899      baseFontFamilies.theme.filter((f) => !themeFontsSlugs.has(f.slug)).map((f) => setUIValuesNeeded(f, { source: "theme" })).sort((a, b) => a.name.localeCompare(b.name))
28900    ) : [];
28901    const customFontFamilyId = libraryFontSelected?.source === "custom" && libraryFontSelected?.id;
28902    const canUserDelete = (0, import_data7.useSelect)(
28903      (select) => {
28904        const { canUser } = select(import_core_data5.store);
28905        return customFontFamilyId && canUser("delete", {
28906          kind: "postType",
28907          name: "wp_font_family",
28908          id: customFontFamilyId
28909        });
28910      },
28911      [customFontFamilyId]
28912    );
28913    const shouldDisplayDeleteButton = !!libraryFontSelected && libraryFontSelected?.source !== "theme" && canUserDelete;
28914    const handleUninstallClick = () => {
28915      setIsConfirmDeleteOpen(true);
28916    };
28917    const handleUpdate = async () => {
28918      setNotice(null);
28919      try {
28920        await saveFontFamilies(fontFamilies);
28921        setNotice({
28922          type: "success",
28923          message: (0, import_i18n23.__)("Font family updated successfully.")
28924        });
28925      } catch (error2) {
28926        setNotice({
28927          type: "error",
28928          message: (0, import_i18n23.sprintf)(
28929            /* translators: %s: error message */
28930            (0, import_i18n23.__)("There was an error updating the font family. %s"),
28931            error2.message
28932          )
28933        });
28934      }
28935    };
28936    const getFontFacesToDisplay = (font2) => {
28937      if (!font2) {
28938        return [];
28939      }
28940      if (!font2.fontFace || !font2.fontFace.length) {
28941        return [
28942          {
28943            fontFamily: font2.fontFamily,
28944            fontStyle: "normal",
28945            fontWeight: "400"
28946          }
28947        ];
28948      }
28949      return sortFontFaces(font2.fontFace);
28950    };
28951    const getFontCardVariantsText = (font2) => {
28952      const variantsInstalled = font2?.fontFace && (font2?.fontFace?.length ?? 0) > 0 ? font2.fontFace.length : 1;
28953      const variantsActive = getFontFacesActivated(
28954        font2.slug,
28955        font2.source
28956      ).length;
28957      return (0, import_i18n23.sprintf)(
28958        /* translators: 1: Active font variants, 2: Total font variants. */
28959        (0, import_i18n23.__)("%1$d of %2$d active"),
28960        variantsActive,
28961        variantsInstalled
28962      );
28963    };
28964    (0, import_element80.useEffect)(() => {
28965      handleSetLibraryFontSelected(libraryFontSelected);
28966    }, []);
28967    const activeFontsCount = libraryFontSelected ? getFontFacesActivated(
28968      libraryFontSelected.slug,
28969      libraryFontSelected.source
28970    ).length : 0;
28971    const selectedFontsCount = libraryFontSelected?.fontFace?.length ?? (libraryFontSelected?.fontFamily ? 1 : 0);
28972    const isIndeterminate = activeFontsCount > 0 && activeFontsCount !== selectedFontsCount;
28973    const isSelectAllChecked = activeFontsCount === selectedFontsCount;
28974    const toggleSelectAll = () => {
28975      if (!libraryFontSelected || !libraryFontSelected?.source) {
28976        return;
28977      }
28978      const initialFonts = fontFamilies?.[libraryFontSelected.source]?.filter(
28979        (f) => f.slug !== libraryFontSelected.slug
28980      ) ?? [];
28981      const newFonts = isSelectAllChecked ? initialFonts : [...initialFonts, libraryFontSelected];
28982      setFontFamilies({
28983        ...fontFamilies,
28984        [libraryFontSelected.source]: newFonts
28985      });
28986      if (libraryFontSelected.fontFace) {
28987        libraryFontSelected.fontFace.forEach((face) => {
28988          if (isSelectAllChecked) {
28989            unloadFontFaceInBrowser(face, "all");
28990          } else {
28991            const displaySrc = getDisplaySrcFromFontFace(
28992              face?.src ?? ""
28993            );
28994            if (displaySrc) {
28995              loadFontFaceInBrowser(face, displaySrc, "all");
28996            }
28997          }
28998        });
28999      }
29000    };
29001    const hasFonts = baseThemeFonts.length > 0 || baseCustomFonts.length > 0;
29002    return /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)("div", { className: "font-library__tabpanel-layout", children: [
29003      isResolvingLibrary && /* @__PURE__ */ (0, import_jsx_runtime149.jsx)("div", { className: "font-library__loading", children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29004        progress_exports.Root,
29005        {
29006          value: null,
29007          "aria-label": (0, import_i18n23.__)("Loading fonts"),
29008          children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(progress_exports.Track, { children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(progress_exports.Indicator, {}) })
29009        }
29010      ) }),
29011      !isResolvingLibrary && /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)(import_jsx_runtime149.Fragment, { children: [
29012        /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)(
29013          import_components22.Navigator,
29014          {
29015            initialPath: libraryFontSelected ? "/fontFamily" : "/",
29016            children: [
29017              /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(import_components22.Navigator.Screen, { path: "/", children: /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)(import_components22.__experimentalVStack, { spacing: "8", children: [
29018                notice && /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29019                  import_components22.Notice,
29020                  {
29021                    status: notice.type,
29022                    onRemove: () => setNotice(null),
29023                    children: notice.message
29024                  }
29025                ),
29026                !hasFonts && /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(import_components22.__experimentalText, { as: "p", children: (0, import_i18n23.__)("No fonts installed.") }),
29027                baseThemeFonts.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)(import_components22.__experimentalVStack, { children: [
29028                  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)("h2", {
29029                    className: "font-library__fonts-title",
29030                    /* translators: Heading for a list of fonts provided by the theme. */
29031                    children: (0, import_i18n23._x)("Theme", "font source")
29032                  }),
29033                  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29034                    "ul",
29035                    {
29036                      role: "list",
29037                      className: "font-library__fonts-list",
29038                      children: baseThemeFonts.map((font2) => /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29039                        "li",
29040                        {
29041                          className: "font-library__fonts-list-item",
29042                          children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29043                            font_card_default,
29044                            {
29045                              font: font2,
29046                              navigatorPath: "/fontFamily",
29047                              variantsText: getFontCardVariantsText(
29048                                font2
29049                              ),
29050                              shouldFocus: font2.slug === lastSelectedFontSlug,
29051                              onClick: () => {
29052                                setNotice(null);
29053                                handleSetLibraryFontSelected(
29054                                  font2
29055                                );
29056                              }
29057                            }
29058                          )
29059                        },
29060                        font2.slug
29061                      ))
29062                    }
29063                  )
29064                ] }),
29065                baseCustomFonts.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)(import_components22.__experimentalVStack, { children: [
29066                  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)("h2", {
29067                    className: "font-library__fonts-title",
29068                    /* translators: Heading for a list of fonts installed by the user. */
29069                    children: (0, import_i18n23._x)("Custom", "font source")
29070                  }),
29071                  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29072                    "ul",
29073                    {
29074                      role: "list",
29075                      className: "font-library__fonts-list",
29076                      children: baseCustomFonts.map((font2) => /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29077                        "li",
29078                        {
29079                          className: "font-library__fonts-list-item",
29080                          children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29081                            font_card_default,
29082                            {
29083                              font: font2,
29084                              navigatorPath: "/fontFamily",
29085                              variantsText: getFontCardVariantsText(
29086                                font2
29087                              ),
29088                              shouldFocus: font2.slug === lastSelectedFontSlug,
29089                              onClick: () => {
29090                                setNotice(null);
29091                                handleSetLibraryFontSelected(
29092                                  font2
29093                                );
29094                              }
29095                            }
29096                          )
29097                        },
29098                        font2.slug
29099                      ))
29100                    }
29101                  )
29102                ] })
29103              ] }) }),
29104              /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)(import_components22.Navigator.Screen, { path: "/fontFamily", children: [
29105                libraryFontSelected && /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29106                  ConfirmDeleteDialog,
29107                  {
29108                    font: libraryFontSelected,
29109                    isOpen: isConfirmDeleteOpen,
29110                    setIsOpen: setIsConfirmDeleteOpen,
29111                    setNotice,
29112                    uninstallFontFamily,
29113                    handleSetLibraryFontSelected
29114                  }
29115                ),
29116                /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)(import_components22.Flex, { justify: "flex-start", children: [
29117                  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29118                    import_components22.Navigator.BackButton,
29119                    {
29120                      icon: (0, import_i18n23.isRTL)() ? chevron_right_default : chevron_left_default,
29121                      size: "small",
29122                      onClick: () => {
29123                        setLastSelectedFontSlug(
29124                          libraryFontSelected?.slug
29125                        );
29126                        handleSetLibraryFontSelected(
29127                          void 0
29128                        );
29129                        setNotice(null);
29130                      },
29131                      label: (0, import_i18n23.__)("Back")
29132                    }
29133                  ),
29134                  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29135                    import_components22.__experimentalHeading,
29136                    {
29137                      level: 2,
29138                      size: 13,
29139                      className: "global-styles-ui-header",
29140                      children: libraryFontSelected?.name
29141                    }
29142                  )
29143                ] }),
29144                notice && /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)(import_jsx_runtime149.Fragment, { children: [
29145                  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(import_components22.__experimentalSpacer, { margin: 1 }),
29146                  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29147                    import_components22.Notice,
29148                    {
29149                      status: notice.type,
29150                      onRemove: () => setNotice(null),
29151                      children: notice.message
29152                    }
29153                  ),
29154                  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(import_components22.__experimentalSpacer, { margin: 1 })
29155                ] }),
29156                /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(import_components22.__experimentalSpacer, { margin: 4 }),
29157                /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(import_components22.__experimentalText, { children: (0, import_i18n23.__)(
29158                  "Choose font variants. Keep in mind that too many variants could make your site slower."
29159                ) }),
29160                /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(import_components22.__experimentalSpacer, { margin: 4 }),
29161                /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)(import_components22.__experimentalVStack, { spacing: 0, children: [
29162                  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29163                    import_components22.CheckboxControl,
29164                    {
29165                      className: "font-library__select-all",
29166                      label: (0, import_i18n23.__)("Select all"),
29167                      checked: isSelectAllChecked,
29168                      onChange: toggleSelectAll,
29169                      indeterminate: isIndeterminate
29170                    }
29171                  ),
29172                  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(import_components22.__experimentalSpacer, { margin: 8 }),
29173                  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29174                    "ul",
29175                    {
29176                      role: "list",
29177                      className: "font-library__fonts-list",
29178                      children: libraryFontSelected && getFontFacesToDisplay(
29179                        libraryFontSelected
29180                      ).map((face, i) => /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29181                        "li",
29182                        {
29183                          className: "font-library__fonts-list-item",
29184                          children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29185                            library_font_variant_default,
29186                            {
29187                              font: libraryFontSelected,
29188                              face
29189                            },
29190                            `face$i}`
29191                          )
29192                        },
29193                        `face$i}`
29194                      ))
29195                    }
29196                  )
29197                ] })
29198              ] })
29199            ]
29200          }
29201        ),
29202        /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)(import_components22.__experimentalHStack, { justify: "flex-end", className: "font-library__footer", children: [
29203          isInstalling && /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29204            progress_exports.Root,
29205            {
29206              value: null,
29207              "aria-label": (0, import_i18n23.__)("Installing fonts"),
29208              children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(progress_exports.Track, { children: /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(progress_exports.Indicator, {}) })
29209            }
29210          ),
29211          shouldDisplayDeleteButton && /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29212            import_components22.Button,
29213            {
29214              __next40pxDefaultSize: true,
29215              isDestructive: true,
29216              variant: "tertiary",
29217              onClick: handleUninstallClick,
29218              children: (0, import_i18n23.__)("Delete")
29219            }
29220          ),
29221          /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29222            import_components22.Button,
29223            {
29224              __next40pxDefaultSize: true,
29225              variant: "primary",
29226              onClick: handleUpdate,
29227              disabled: !fontFamiliesHasChanges,
29228              accessibleWhenDisabled: true,
29229              children: (0, import_i18n23.__)("Update")
29230            }
29231          )
29232        ] })
29233      ] })
29234    ] });
29235  }
29236  function ConfirmDeleteDialog({
29237    font: font2,
29238    isOpen,
29239    setIsOpen,
29240    setNotice,
29241    uninstallFontFamily,
29242    handleSetLibraryFontSelected
29243  }) {
29244    const navigator2 = (0, import_components22.useNavigator)();
29245    const handleConfirmUninstall = async () => {
29246      setNotice(null);
29247      setIsOpen(false);
29248      try {
29249        await uninstallFontFamily(font2);
29250        navigator2.goBack();
29251        handleSetLibraryFontSelected(void 0);
29252        setNotice({
29253          type: "success",
29254          message: (0, import_i18n23.__)("Font family uninstalled successfully.")
29255        });
29256      } catch (error2) {
29257        setNotice({
29258          type: "error",
29259          message: (0, import_i18n23.__)("There was an error uninstalling the font family.") + error2.message
29260        });
29261      }
29262    };
29263    const handleCancelUninstall = () => {
29264      setIsOpen(false);
29265    };
29266    return /* @__PURE__ */ (0, import_jsx_runtime149.jsx)(
29267      import_components22.__experimentalConfirmDialog,
29268      {
29269        isOpen,
29270        cancelButtonText: (0, import_i18n23.__)("Cancel"),
29271        confirmButtonText: (0, import_i18n23.__)("Delete"),
29272        onCancel: handleCancelUninstall,
29273        onConfirm: handleConfirmUninstall,
29274        size: "medium",
29275        children: font2 && (0, import_i18n23.sprintf)(
29276          /* translators: %s: Name of the font. */
29277          (0, import_i18n23.__)(
29278            'Are you sure you want to delete "%s" font and all its variants and assets?'
29279          ),
29280          font2.name
29281        )
29282      }
29283    );
29284  }
29285  var installed_fonts_default = InstalledFonts;
29286  
29287  // packages/global-styles-ui/build-module/font-library/font-collection.mjs
29288  var import_element82 = __toESM(require_element(), 1);
29289  var import_components25 = __toESM(require_components(), 1);
29290  var import_compose5 = __toESM(require_compose(), 1);
29291  var import_i18n26 = __toESM(require_i18n(), 1);
29292  var import_core_data6 = __toESM(require_core_data(), 1);
29293  
29294  // packages/global-styles-ui/build-module/font-library/utils/filter-fonts.mjs
29295  function filterFonts(fonts, filters) {
29296    const { category, search } = filters;
29297    let filteredFonts = fonts || [];
29298    if (category && category !== "all") {
29299      filteredFonts = filteredFonts.filter(
29300        (font2) => font2.categories && font2.categories.indexOf(category) !== -1
29301      );
29302    }
29303    if (search) {
29304      filteredFonts = filteredFonts.filter(
29305        (font2) => font2.font_family_settings && font2.font_family_settings.name.toLowerCase().includes(search.toLowerCase())
29306      );
29307    }
29308    return filteredFonts;
29309  }
29310  
29311  // packages/global-styles-ui/build-module/font-library/utils/fonts-outline.mjs
29312  function getFontsOutline(fonts) {
29313    return fonts.reduce(
29314      (acc, font2) => ({
29315        ...acc,
29316        [font2.slug]: (font2?.fontFace || []).reduce(
29317          (faces, face) => ({
29318            ...faces,
29319            [`$face.fontStyle}-$face.fontWeight}`]: true
29320          }),
29321          {}
29322        )
29323      }),
29324      {}
29325    );
29326  }
29327  function isFontFontFaceInOutline(slug, face, outline) {
29328    if (!face) {
29329      return !!outline[slug];
29330    }
29331    return !!outline[slug]?.[`$face.fontStyle}-$face.fontWeight}`];
29332  }
29333  
29334  // packages/global-styles-ui/build-module/font-library/google-fonts-confirm-dialog.mjs
29335  var import_i18n24 = __toESM(require_i18n(), 1);
29336  var import_components23 = __toESM(require_components(), 1);
29337  var import_jsx_runtime150 = __toESM(require_jsx_runtime(), 1);
29338  function GoogleFontsConfirmDialog() {
29339    const handleConfirm = () => {
29340      window.localStorage.setItem(
29341        "wp-font-library-google-fonts-permission",
29342        "true"
29343      );
29344      window.dispatchEvent(new Event("storage"));
29345    };
29346    return /* @__PURE__ */ (0, import_jsx_runtime150.jsx)("div", { className: "font-library__google-fonts-confirm", children: /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_components23.Card, { children: /* @__PURE__ */ (0, import_jsx_runtime150.jsxs)(import_components23.CardBody, { children: [
29347      /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_components23.__experimentalHeading, { level: 2, children: (0, import_i18n24.__)("Connect to Google Fonts") }),
29348      /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_components23.__experimentalSpacer, { margin: 6 }),
29349      /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_components23.__experimentalText, { as: "p", children: (0, import_i18n24.__)(
29350        "To install fonts from Google you must give permission to connect directly to Google servers. The fonts you install will be downloaded from Google and stored on your site. Your site will then use these locally-hosted fonts."
29351      ) }),
29352      /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_components23.__experimentalSpacer, { margin: 3 }),
29353      /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_components23.__experimentalText, { as: "p", children: (0, import_i18n24.__)(
29354        "You can alternatively upload files directly on the Upload tab."
29355      ) }),
29356      /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(import_components23.__experimentalSpacer, { margin: 6 }),
29357      /* @__PURE__ */ (0, import_jsx_runtime150.jsx)(
29358        import_components23.Button,
29359        {
29360          __next40pxDefaultSize: true,
29361          variant: "primary",
29362          onClick: handleConfirm,
29363          children: (0, import_i18n24.__)("Allow access to Google Fonts")
29364        }
29365      )
29366    ] }) }) });
29367  }
29368  var google_fonts_confirm_dialog_default = GoogleFontsConfirmDialog;
29369  
29370  // packages/global-styles-ui/build-module/font-library/collection-font-variant.mjs
29371  var import_element81 = __toESM(require_element(), 1);
29372  var import_components24 = __toESM(require_components(), 1);
29373  var import_i18n25 = __toESM(require_i18n(), 1);
29374  var import_jsx_runtime151 = __toESM(require_jsx_runtime(), 1);
29375  function CollectionFontVariant({
29376    face,
29377    font: font2,
29378    handleToggleVariant,
29379    selected,
29380    installed
29381  }) {
29382    const handleToggleActivation = () => {
29383      if (installed) {
29384        return;
29385      }
29386      if (font2?.fontFace) {
29387        handleToggleVariant(font2, face);
29388        return;
29389      }
29390      handleToggleVariant(font2);
29391    };
29392    const displayName = font2.name + " " + getFontFaceVariantName(face);
29393    const checkboxId = (0, import_element81.useId)();
29394    const installedId = `$checkboxId}-installed`;
29395    return /* @__PURE__ */ (0, import_jsx_runtime151.jsx)("div", { className: "font-library__font-card", children: /* @__PURE__ */ (0, import_jsx_runtime151.jsxs)(import_components24.Flex, { justify: "space-between", align: "center", gap: "1rem", children: [
29396      /* @__PURE__ */ (0, import_jsx_runtime151.jsxs)(import_components24.Flex, { justify: "flex-start", align: "center", gap: "1rem", children: [
29397        /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(
29398          import_components24.CheckboxControl,
29399          {
29400            checked: selected || installed,
29401            disabled: installed,
29402            onChange: handleToggleActivation,
29403            id: checkboxId,
29404            "aria-describedby": installed ? installedId : void 0
29405          }
29406        ),
29407        /* @__PURE__ */ (0, import_jsx_runtime151.jsx)("label", { htmlFor: checkboxId, children: /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(
29408          font_demo_default,
29409          {
29410            font: face,
29411            text: displayName,
29412            onClick: handleToggleActivation
29413          }
29414        ) })
29415      ] }),
29416      installed && /* @__PURE__ */ (0, import_jsx_runtime151.jsx)(
29417        Text,
29418        {
29419          id: installedId,
29420          className: "font-library__font-card__count",
29421          children: (0, import_i18n25.__)("Installed")
29422        }
29423      )
29424    ] }) });
29425  }
29426  var collection_font_variant_default = CollectionFontVariant;
29427  
29428  // packages/global-styles-ui/build-module/font-library/font-collection.mjs
29429  var import_jsx_runtime152 = __toESM(require_jsx_runtime(), 1);
29430  var DEFAULT_CATEGORY = {
29431    slug: "all",
29432    name: (0, import_i18n26._x)("All", "font categories")
29433  };
29434  var LOCAL_STORAGE_ITEM = "wp-font-library-google-fonts-permission";
29435  var MIN_WINDOW_HEIGHT = 500;
29436  function FontCollection({ slug }) {
29437    const requiresPermission = slug === "google-fonts";
29438    const getGoogleFontsPermissionFromStorage = () => {
29439      return window.localStorage.getItem(LOCAL_STORAGE_ITEM) === "true";
29440    };
29441    const [selectedFont, setSelectedFont] = (0, import_element82.useState)(
29442      null
29443    );
29444    const [lastSelectedFontSlug, setLastSelectedFontSlug] = (0, import_element82.useState)(void 0);
29445    const [notice, setNotice] = (0, import_element82.useState)(null);
29446    const [fontsToInstall, setFontsToInstall] = (0, import_element82.useState)(
29447      []
29448    );
29449    const [page, setPage] = (0, import_element82.useState)(1);
29450    const [filters, setFilters] = (0, import_element82.useState)({});
29451    const [renderConfirmDialog, setRenderConfirmDialog] = (0, import_element82.useState)(
29452      requiresPermission && !getGoogleFontsPermissionFromStorage()
29453    );
29454    const { installFonts, isInstalling, baseCustomFonts } = (0, import_element82.useContext)(FontLibraryContext);
29455    const { record: selectedCollection, isResolving: isLoading } = (0, import_core_data6.useEntityRecord)("root", "fontCollection", slug);
29456    (0, import_element82.useEffect)(() => {
29457      const handleStorage = () => {
29458        setRenderConfirmDialog(
29459          requiresPermission && !getGoogleFontsPermissionFromStorage()
29460        );
29461      };
29462      handleStorage();
29463      window.addEventListener("storage", handleStorage);
29464      return () => window.removeEventListener("storage", handleStorage);
29465    }, [slug, requiresPermission]);
29466    const revokeAccess = () => {
29467      window.localStorage.setItem(LOCAL_STORAGE_ITEM, "false");
29468      window.dispatchEvent(new Event("storage"));
29469    };
29470    (0, import_element82.useEffect)(() => {
29471      setSelectedFont(null);
29472    }, [slug]);
29473    (0, import_element82.useEffect)(() => {
29474      setFontsToInstall([]);
29475    }, [selectedFont]);
29476    const collectionFonts = (0, import_element82.useMemo)(
29477      () => selectedCollection?.font_families ?? [],
29478      [selectedCollection]
29479    );
29480    const collectionCategories = selectedCollection?.categories ?? [];
29481    const categories = [DEFAULT_CATEGORY, ...collectionCategories];
29482    const fonts = (0, import_element82.useMemo)(
29483      () => filterFonts(collectionFonts, filters),
29484      [collectionFonts, filters]
29485    );
29486    const windowHeight = Math.max(window.innerHeight, MIN_WINDOW_HEIGHT);
29487    const pageSize = Math.floor((windowHeight - 417) / 61);
29488    const totalPages = Math.ceil(fonts.length / pageSize);
29489    const itemsStart = (page - 1) * pageSize;
29490    const itemsLimit = page * pageSize;
29491    const items = fonts.slice(itemsStart, itemsLimit);
29492    const handleCategoryFilter = (category) => {
29493      setFilters({ ...filters, category });
29494      setPage(1);
29495    };
29496    const handleUpdateSearchInput = (value) => {
29497      setFilters({ ...filters, search: value });
29498      setPage(1);
29499    };
29500    const debouncedUpdateSearchInput = (0, import_compose5.debounce)(
29501      // @ts-expect-error `debounce` expects a `(...args: unknown[]) => unknown` callback.
29502      handleUpdateSearchInput,
29503      300
29504    );
29505    const handleToggleVariant = (font2, face) => {
29506      const newFontsToInstall = toggleFont(font2, face, fontsToInstall);
29507      setFontsToInstall(newFontsToInstall);
29508    };
29509    const fontToInstallOutline = getFontsOutline(fontsToInstall);
29510    const installedFontsOutline = getFontsOutline(baseCustomFonts);
29511    const isFontFaceInstalled = (face) => !!selectedFont && isFontFontFaceInOutline(
29512      selectedFont.slug,
29513      selectedFont.fontFace ? face : null,
29514      // If the font has no fontFace, we want to check if the font is installed
29515      installedFontsOutline
29516    );
29517    const installableFontFaces = selectedFont?.fontFace?.filter(
29518      (face) => !isFontFaceInstalled(face)
29519    );
29520    const isAllInstalled = !!selectedFont && (selectedFont.fontFace?.length ? installableFontFaces?.length === 0 : isFontFontFaceInOutline(
29521      selectedFont.slug,
29522      null,
29523      installedFontsOutline
29524    ));
29525    const resetFontsToInstall = () => {
29526      setFontsToInstall([]);
29527    };
29528    const selectFontCount = fontsToInstall.length > 0 ? fontsToInstall[0]?.fontFace?.length ?? 0 : 0;
29529    const isIndeterminate = selectFontCount > 0 && selectFontCount !== installableFontFaces?.length;
29530    const isSelectAllChecked = selectFontCount === installableFontFaces?.length;
29531    const toggleSelectAll = () => {
29532      const newFonts = [];
29533      if (!isSelectAllChecked && selectedFont) {
29534        newFonts.push(
29535          selectedFont.fontFace ? { ...selectedFont, fontFace: installableFontFaces } : selectedFont
29536        );
29537      }
29538      setFontsToInstall(newFonts);
29539    };
29540    const handleInstall = async () => {
29541      setNotice(null);
29542      const fontFamily = fontsToInstall[0];
29543      try {
29544        if (fontFamily?.fontFace) {
29545          await Promise.all(
29546            fontFamily.fontFace.map(async (fontFace) => {
29547              if (fontFace.src) {
29548                fontFace.file = await downloadFontFaceAssets(
29549                  fontFace.src
29550                );
29551              }
29552            })
29553          );
29554        }
29555      } catch {
29556        setNotice({
29557          type: "error",
29558          message: (0, import_i18n26.__)(
29559            "Error installing the fonts, could not be downloaded."
29560          )
29561        });
29562        return;
29563      }
29564      try {
29565        await installFonts([fontFamily]);
29566        setNotice({
29567          type: "success",
29568          message: (0, import_i18n26.__)("Fonts were installed successfully.")
29569        });
29570      } catch (error2) {
29571        setNotice({
29572          type: "error",
29573          message: error2.message
29574        });
29575      }
29576      resetFontsToInstall();
29577    };
29578    const getSortedFontFaces = (fontFamily) => {
29579      if (!fontFamily) {
29580        return [];
29581      }
29582      if (!fontFamily.fontFace || !fontFamily.fontFace.length) {
29583        return [
29584          {
29585            fontFamily: fontFamily.fontFamily,
29586            fontStyle: "normal",
29587            fontWeight: "400"
29588          }
29589        ];
29590      }
29591      return sortFontFaces(fontFamily.fontFace);
29592    };
29593    if (renderConfirmDialog) {
29594      return /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(google_fonts_confirm_dialog_default, {});
29595    }
29596    const showActions = slug === "google-fonts" && !renderConfirmDialog && !selectedFont;
29597    return /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)("div", { className: "font-library__tabpanel-layout", children: [
29598      isLoading && /* @__PURE__ */ (0, import_jsx_runtime152.jsx)("div", { className: "font-library__loading", children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29599        progress_exports.Root,
29600        {
29601          value: null,
29602          "aria-label": (0, import_i18n26.__)("Loading fonts"),
29603          children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(progress_exports.Track, { children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(progress_exports.Indicator, {}) })
29604        }
29605      ) }),
29606      !isLoading && selectedCollection && /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(import_jsx_runtime152.Fragment, { children: [
29607        /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(
29608          import_components25.Navigator,
29609          {
29610            initialPath: "/",
29611            className: "font-library__tabpanel-layout",
29612            children: [
29613              /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(import_components25.Navigator.Screen, { path: "/", children: [
29614                /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(import_components25.__experimentalHStack, { justify: "space-between", children: [
29615                  /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(import_components25.__experimentalVStack, { children: [
29616                    /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_components25.__experimentalHeading, { level: 2, size: 13, children: selectedCollection.name }),
29617                    /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_components25.__experimentalText, { children: selectedCollection.description })
29618                  ] }),
29619                  showActions && /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(menu_exports.Root, { children: [
29620                    /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29621                      menu_exports.Trigger,
29622                      {
29623                        render: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29624                          import_components25.Button,
29625                          {
29626                            size: "small",
29627                            icon: more_vertical_default,
29628                            label: (0, import_i18n26.__)("Actions")
29629                          }
29630                        )
29631                      }
29632                    ),
29633                    /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29634                      menu_exports.Popup,
29635                      {
29636                        positioner: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29637                          menu_exports.Positioner,
29638                          {
29639                            side: "bottom",
29640                            align: "end"
29641                          }
29642                        ),
29643                        children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(menu_exports.Item, { onClick: revokeAccess, children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(menu_exports.ItemLabel, { children: (0, import_i18n26.__)(
29644                          "Revoke access to Google Fonts"
29645                        ) }) })
29646                      }
29647                    )
29648                  ] })
29649                ] }),
29650                /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_components25.__experimentalSpacer, { margin: 4 }),
29651                /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(import_components25.__experimentalHStack, { spacing: 4, justify: "space-between", children: [
29652                  /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29653                    import_components25.SearchControl,
29654                    {
29655                      className: "font-library__search",
29656                      value: filters.search,
29657                      placeholder: (0, import_i18n26.__)("Font name\u2026"),
29658                      label: (0, import_i18n26.__)("Search"),
29659                      onChange: debouncedUpdateSearchInput,
29660                      hideLabelFromVision: false
29661                    }
29662                  ),
29663                  /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29664                    import_components25.SelectControl,
29665                    {
29666                      label: (0, import_i18n26.__)("Category"),
29667                      value: filters.category,
29668                      onChange: handleCategoryFilter,
29669                      children: categories && categories.map((category) => /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29670                        "option",
29671                        {
29672                          value: category.slug,
29673                          children: category.name
29674                        },
29675                        category.slug
29676                      ))
29677                    }
29678                  )
29679                ] }),
29680                /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_components25.__experimentalSpacer, { margin: 4 }),
29681                !!selectedCollection?.font_families?.length && !fonts.length && /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_components25.__experimentalText, { children: (0, import_i18n26.__)(
29682                  "No fonts found. Try with a different search term."
29683                ) }),
29684                /* @__PURE__ */ (0, import_jsx_runtime152.jsx)("div", { className: "font-library__fonts-grid__main", children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29685                  "ul",
29686                  {
29687                    role: "list",
29688                    className: "font-library__fonts-list",
29689                    children: items.map((font2) => /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29690                      "li",
29691                      {
29692                        className: "font-library__fonts-list-item",
29693                        children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29694                          font_card_default,
29695                          {
29696                            font: font2.font_family_settings,
29697                            navigatorPath: "/fontFamily",
29698                            shouldFocus: font2.font_family_settings.slug === lastSelectedFontSlug,
29699                            onClick: () => {
29700                              setSelectedFont(
29701                                font2.font_family_settings
29702                              );
29703                            }
29704                          }
29705                        )
29706                      },
29707                      font2.font_family_settings.slug
29708                    ))
29709                  }
29710                ) })
29711              ] }),
29712              /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(import_components25.Navigator.Screen, { path: "/fontFamily", children: [
29713                /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(import_components25.Flex, { justify: "flex-start", children: [
29714                  /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29715                    import_components25.Navigator.BackButton,
29716                    {
29717                      icon: (0, import_i18n26.isRTL)() ? chevron_right_default : chevron_left_default,
29718                      size: "small",
29719                      onClick: () => {
29720                        setLastSelectedFontSlug(
29721                          selectedFont?.slug
29722                        );
29723                        setSelectedFont(null);
29724                        setNotice(null);
29725                      },
29726                      label: (0, import_i18n26.__)("Back")
29727                    }
29728                  ),
29729                  /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29730                    import_components25.__experimentalHeading,
29731                    {
29732                      level: 2,
29733                      size: 13,
29734                      className: "global-styles-ui-header",
29735                      children: selectedFont?.name
29736                    }
29737                  )
29738                ] }),
29739                notice && /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(import_jsx_runtime152.Fragment, { children: [
29740                  /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_components25.__experimentalSpacer, { margin: 1 }),
29741                  /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29742                    import_components25.Notice,
29743                    {
29744                      status: notice.type,
29745                      onRemove: () => setNotice(null),
29746                      children: notice.message
29747                    }
29748                  ),
29749                  /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_components25.__experimentalSpacer, { margin: 1 })
29750                ] }),
29751                /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_components25.__experimentalSpacer, { margin: 4 }),
29752                /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_components25.__experimentalText, { children: (0, import_i18n26.__)("Select font variants to install.") }),
29753                /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_components25.__experimentalSpacer, { margin: 4 }),
29754                /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29755                  import_components25.CheckboxControl,
29756                  {
29757                    className: "font-library__select-all",
29758                    label: (0, import_i18n26.__)("Select all"),
29759                    checked: isSelectAllChecked || isAllInstalled,
29760                    onChange: toggleSelectAll,
29761                    indeterminate: isIndeterminate,
29762                    disabled: isAllInstalled
29763                  }
29764                ),
29765                /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_components25.__experimentalVStack, { spacing: 0, children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29766                  "ul",
29767                  {
29768                    role: "list",
29769                    className: "font-library__fonts-list",
29770                    children: selectedFont && getSortedFontFaces(selectedFont).map(
29771                      (face, i) => /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29772                        "li",
29773                        {
29774                          className: "font-library__fonts-list-item",
29775                          children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29776                            collection_font_variant_default,
29777                            {
29778                              font: selectedFont,
29779                              face,
29780                              handleToggleVariant,
29781                              selected: isFontFontFaceInOutline(
29782                                selectedFont.slug,
29783                                selectedFont.fontFace ? face : null,
29784                                // If the font has no fontFace, we want to check if the font is in the outline
29785                                fontToInstallOutline
29786                              ),
29787                              installed: isFontFaceInstalled(
29788                                face
29789                              )
29790                            }
29791                          )
29792                        },
29793                        `face$i}`
29794                      )
29795                    )
29796                  }
29797                ) }),
29798                /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(import_components25.__experimentalSpacer, { margin: 16 })
29799              ] })
29800            ]
29801          }
29802        ),
29803        selectedFont && /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29804          import_components25.Flex,
29805          {
29806            justify: "flex-end",
29807            className: "font-library__footer",
29808            children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29809              import_components25.Button,
29810              {
29811                __next40pxDefaultSize: true,
29812                variant: "primary",
29813                onClick: handleInstall,
29814                isBusy: isInstalling,
29815                disabled: fontsToInstall.length === 0 || isInstalling,
29816                accessibleWhenDisabled: true,
29817                children: (0, import_i18n26.__)("Install")
29818              }
29819            )
29820          }
29821        ),
29822        !selectedFont && /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(
29823          import_components25.__experimentalHStack,
29824          {
29825            expanded: false,
29826            className: "font-library__footer",
29827            justify: "end",
29828            spacing: 6,
29829            children: [
29830              /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29831                import_components25.__experimentalHStack,
29832                {
29833                  justify: "flex-start",
29834                  expanded: false,
29835                  spacing: 1,
29836                  className: "font-library__page-selection",
29837                  children: (0, import_element82.createInterpolateElement)(
29838                    (0, import_i18n26.sprintf)(
29839                      // translators: 1: Current page number, 2: Total number of pages.
29840                      (0, import_i18n26._x)(
29841                        "<div>Page</div>%1$s<div>of %2$d</div>",
29842                        "paging"
29843                      ),
29844                      "<CurrentPage />",
29845                      totalPages
29846                    ),
29847                    {
29848                      div: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)("div", { "aria-hidden": true }),
29849                      // @ts-expect-error — Tag injected via sprintf argument, not visible in format string.
29850                      CurrentPage: /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(
29851                        select_exports.Root,
29852                        {
29853                          value: page.toString(),
29854                          onValueChange: (newPage) => {
29855                            if (newPage !== null) {
29856                              setPage(
29857                                parseInt(newPage)
29858                              );
29859                            }
29860                          },
29861                          children: [
29862                            /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29863                              select_exports.Trigger,
29864                              {
29865                                className: "font-library__page-selection-trigger",
29866                                size: "small",
29867                                variant: "minimal",
29868                                "aria-label": (0, import_i18n26.__)(
29869                                  "Current page"
29870                                )
29871                              }
29872                            ),
29873                            /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(select_exports.Popup, { width: "content", children: [
29874                              ...Array(totalPages)
29875                            ].map((e, i) => {
29876                              const value = (i + 1).toString();
29877                              return /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29878                                select_exports.Item,
29879                                {
29880                                  value,
29881                                  size: "small",
29882                                  children: /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(select_exports.ItemLabel, { children: value })
29883                                },
29884                                value
29885                              );
29886                            }) })
29887                          ]
29888                        }
29889                      )
29890                    }
29891                  )
29892                }
29893              ),
29894              /* @__PURE__ */ (0, import_jsx_runtime152.jsxs)(import_components25.__experimentalHStack, { expanded: false, spacing: 1, children: [
29895                /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29896                  import_components25.Button,
29897                  {
29898                    onClick: () => setPage(page - 1),
29899                    disabled: page === 1,
29900                    accessibleWhenDisabled: true,
29901                    label: (0, import_i18n26.__)("Previous page"),
29902                    icon: (0, import_i18n26.isRTL)() ? next_default : previous_default,
29903                    showTooltip: true,
29904                    size: "compact",
29905                    tooltipPosition: "top"
29906                  }
29907                ),
29908                /* @__PURE__ */ (0, import_jsx_runtime152.jsx)(
29909                  import_components25.Button,
29910                  {
29911                    onClick: () => setPage(page + 1),
29912                    disabled: page === totalPages,
29913                    accessibleWhenDisabled: true,
29914                    label: (0, import_i18n26.__)("Next page"),
29915                    icon: (0, import_i18n26.isRTL)() ? previous_default : next_default,
29916                    showTooltip: true,
29917                    size: "compact",
29918                    tooltipPosition: "top"
29919                  }
29920                )
29921              ] })
29922            ]
29923          }
29924        )
29925      ] })
29926    ] });
29927  }
29928  var font_collection_default = FontCollection;
29929  
29930  // packages/global-styles-ui/build-module/font-library/upload-fonts.mjs
29931  var import_i18n27 = __toESM(require_i18n(), 1);
29932  var import_components26 = __toESM(require_components(), 1);
29933  var import_element83 = __toESM(require_element(), 1);
29934  
29935  // packages/global-styles-ui/build-module/font-library/lib/unbrotli.mjs
29936  var __require2 = /* @__PURE__ */ ((x2) => typeof __require !== "undefined" ? __require : typeof Proxy !== "undefined" ? new Proxy(x2, {
29937    get: (a, b) => (typeof __require !== "undefined" ? __require : a)[b]
29938  }) : x2)(function(x2) {
29939    if (typeof __require !== "undefined") return __require.apply(this, arguments);
29940    throw Error('Dynamic require of "' + x2 + '" is not supported');
29941  });
29942  var unbrotli_default = (function() {
29943    var define, module, exports;
29944    return (/* @__PURE__ */ (function() {
29945      function r2(e, n, t) {
29946        function o(i2, f) {
29947          if (!n[i2]) {
29948            if (!e[i2]) {
29949              var c2 = "function" == typeof __require2 && __require2;
29950              if (!f && c2) return c2(i2, true);
29951              if (u) return u(i2, true);
29952              var a = new Error("Cannot find module '" + i2 + "'");
29953              throw a.code = "MODULE_NOT_FOUND", a;
29954            }
29955            var p3 = n[i2] = { exports: {} };
29956            e[i2][0].call(
29957              p3.exports,
29958              function(r22) {
29959                var n2 = e[i2][1][r22];
29960                return o(n2 || r22);
29961              },
29962              p3,
29963              p3.exports,
29964              r2,
29965              e,
29966              n,
29967              t
29968            );
29969          }
29970          return n[i2].exports;
29971        }
29972        for (var u = "function" == typeof __require2 && __require2, i = 0; i < t.length; i++)
29973          o(t[i]);
29974        return o;
29975      }
29976      return r2;
29977    })())(
29978      {
29979        1: [
29980          function(require2, module2, exports2) {
29981            var BROTLI_READ_SIZE = 4096;
29982            var BROTLI_IBUF_SIZE = 2 * BROTLI_READ_SIZE + 32;
29983            var BROTLI_IBUF_MASK = 2 * BROTLI_READ_SIZE - 1;
29984            var kBitMask = new Uint32Array([
29985              0,
29986              1,
29987              3,
29988              7,
29989              15,
29990              31,
29991              63,
29992              127,
29993              255,
29994              511,
29995              1023,
29996              2047,
29997              4095,
29998              8191,
29999              16383,
30000              32767,
30001              65535,
30002              131071,
30003              262143,
30004              524287,
30005              1048575,
30006              2097151,
30007              4194303,
30008              8388607,
30009              16777215
30010            ]);
30011            function BrotliBitReader(input) {
30012              this.buf_ = new Uint8Array(BROTLI_IBUF_SIZE);
30013              this.input_ = input;
30014              this.reset();
30015            }
30016            BrotliBitReader.READ_SIZE = BROTLI_READ_SIZE;
30017            BrotliBitReader.IBUF_MASK = BROTLI_IBUF_MASK;
30018            BrotliBitReader.prototype.reset = function() {
30019              this.buf_ptr_ = 0;
30020              this.val_ = 0;
30021              this.pos_ = 0;
30022              this.bit_pos_ = 0;
30023              this.bit_end_pos_ = 0;
30024              this.eos_ = 0;
30025              this.readMoreInput();
30026              for (var i = 0; i < 4; i++) {
30027                this.val_ |= this.buf_[this.pos_] << 8 * i;
30028                ++this.pos_;
30029              }
30030              return this.bit_end_pos_ > 0;
30031            };
30032            BrotliBitReader.prototype.readMoreInput = function() {
30033              if (this.bit_end_pos_ > 256) {
30034                return;
30035              } else if (this.eos_) {
30036                if (this.bit_pos_ > this.bit_end_pos_)
30037                  throw new Error(
30038                    "Unexpected end of input " + this.bit_pos_ + " " + this.bit_end_pos_
30039                  );
30040              } else {
30041                var dst = this.buf_ptr_;
30042                var bytes_read = this.input_.read(
30043                  this.buf_,
30044                  dst,
30045                  BROTLI_READ_SIZE
30046                );
30047                if (bytes_read < 0) {
30048                  throw new Error("Unexpected end of input");
30049                }
30050                if (bytes_read < BROTLI_READ_SIZE) {
30051                  this.eos_ = 1;
30052                  for (var p3 = 0; p3 < 32; p3++)
30053                    this.buf_[dst + bytes_read + p3] = 0;
30054                }
30055                if (dst === 0) {
30056                  for (var p3 = 0; p3 < 32; p3++)
30057                    this.buf_[(BROTLI_READ_SIZE << 1) + p3] = this.buf_[p3];
30058                  this.buf_ptr_ = BROTLI_READ_SIZE;
30059                } else {
30060                  this.buf_ptr_ = 0;
30061                }
30062                this.bit_end_pos_ += bytes_read << 3;
30063              }
30064            };
30065            BrotliBitReader.prototype.fillBitWindow = function() {
30066              while (this.bit_pos_ >= 8) {
30067                this.val_ >>>= 8;
30068                this.val_ |= this.buf_[this.pos_ & BROTLI_IBUF_MASK] << 24;
30069                ++this.pos_;
30070                this.bit_pos_ = this.bit_pos_ - 8 >>> 0;
30071                this.bit_end_pos_ = this.bit_end_pos_ - 8 >>> 0;
30072              }
30073            };
30074            BrotliBitReader.prototype.readBits = function(n_bits) {
30075              if (32 - this.bit_pos_ < n_bits) {
30076                this.fillBitWindow();
30077              }
30078              var val = this.val_ >>> this.bit_pos_ & kBitMask[n_bits];
30079              this.bit_pos_ += n_bits;
30080              return val;
30081            };
30082            module2.exports = BrotliBitReader;
30083          },
30084          {}
30085        ],
30086        2: [
30087          function(require2, module2, exports2) {
30088            var CONTEXT_LSB6 = 0;
30089            var CONTEXT_MSB6 = 1;
30090            var CONTEXT_UTF8 = 2;
30091            var CONTEXT_SIGNED = 3;
30092            exports2.lookup = new Uint8Array([
30093              /* CONTEXT_UTF8, last byte. */
30094              /* ASCII range. */
30095              0,
30096              0,
30097              0,
30098              0,
30099              0,
30100              0,
30101              0,
30102              0,
30103              0,
30104              4,
30105              4,
30106              0,
30107              0,
30108              4,
30109              0,
30110              0,
30111              0,
30112              0,
30113              0,
30114              0,
30115              0,
30116              0,
30117              0,
30118              0,
30119              0,
30120              0,
30121              0,
30122              0,
30123              0,
30124              0,
30125              0,
30126              0,
30127              8,
30128              12,
30129              16,
30130              12,
30131              12,
30132              20,
30133              12,
30134              16,
30135              24,
30136              28,
30137              12,
30138              12,
30139              32,
30140              12,
30141              36,
30142              12,
30143              44,
30144              44,
30145              44,
30146              44,
30147              44,
30148              44,
30149              44,
30150              44,
30151              44,
30152              44,
30153              32,
30154              32,
30155              24,
30156              40,
30157              28,
30158              12,
30159              12,
30160              48,
30161              52,
30162              52,
30163              52,
30164              48,
30165              52,
30166              52,
30167              52,
30168              48,
30169              52,
30170              52,
30171              52,
30172              52,
30173              52,
30174              48,
30175              52,
30176              52,
30177              52,
30178              52,
30179              52,
30180              48,
30181              52,
30182              52,
30183              52,
30184              52,
30185              52,
30186              24,
30187              12,
30188              28,
30189              12,
30190              12,
30191              12,
30192              56,
30193              60,
30194              60,
30195              60,
30196              56,
30197              60,
30198              60,
30199              60,
30200              56,
30201              60,
30202              60,
30203              60,
30204              60,
30205              60,
30206              56,
30207              60,
30208              60,
30209              60,
30210              60,
30211              60,
30212              56,
30213              60,
30214              60,
30215              60,
30216              60,
30217              60,
30218              24,
30219              12,
30220              28,
30221              12,
30222              0,
30223              /* UTF8 continuation byte range. */
30224              0,
30225              1,
30226              0,
30227              1,
30228              0,
30229              1,
30230              0,
30231              1,
30232              0,
30233              1,
30234              0,
30235              1,
30236              0,
30237              1,
30238              0,
30239              1,
30240              0,
30241              1,
30242              0,
30243              1,
30244              0,
30245              1,
30246              0,
30247              1,
30248              0,
30249              1,
30250              0,
30251              1,
30252              0,
30253              1,
30254              0,
30255              1,
30256              0,
30257              1,
30258              0,
30259              1,
30260              0,
30261              1,
30262              0,
30263              1,
30264              0,
30265              1,
30266              0,
30267              1,
30268              0,
30269              1,
30270              0,
30271              1,
30272              0,
30273              1,
30274              0,
30275              1,
30276              0,
30277              1,
30278              0,
30279              1,
30280              0,
30281              1,
30282              0,
30283              1,
30284              0,
30285              1,
30286              0,
30287              1,
30288              2,
30289              3,
30290              2,
30291              3,
30292              2,
30293              3,
30294              2,
30295              3,
30296              2,
30297              3,
30298              2,
30299              3,
30300              2,
30301              3,
30302              2,
30303              3,
30304              2,
30305              3,
30306              2,
30307              3,
30308              2,
30309              3,
30310              2,
30311              3,
30312              2,
30313              3,
30314              2,
30315              3,
30316              2,
30317              3,
30318              2,
30319              3,
30320              2,
30321              3,
30322              2,
30323              3,
30324              2,
30325              3,
30326              2,
30327              3,
30328              2,
30329              3,
30330              2,
30331              3,
30332              2,
30333              3,
30334              2,
30335              3,
30336              2,
30337              3,
30338              2,
30339              3,
30340              2,
30341              3,
30342              2,
30343              3,
30344              2,
30345              3,
30346              2,
30347              3,
30348              2,
30349              3,
30350              2,
30351              3,
30352              /* ASCII range. */
30353              0,
30354              0,
30355              0,
30356              0,
30357              0,
30358              0,
30359              0,
30360              0,
30361              0,
30362              0,
30363              0,
30364              0,
30365              0,
30366              0,
30367              0,
30368              0,
30369              0,
30370              0,
30371              0,
30372              0,
30373              0,
30374              0,
30375              0,
30376              0,
30377              0,
30378              0,
30379              0,
30380              0,
30381              0,
30382              0,
30383              0,
30384              0,
30385              0,
30386              1,
30387              1,
30388              1,
30389              1,
30390              1,
30391              1,
30392              1,
30393              1,
30394              1,
30395              1,
30396              1,
30397              1,
30398              1,
30399              1,
30400              1,
30401              2,
30402              2,
30403              2,
30404              2,
30405              2,
30406              2,
30407              2,
30408              2,
30409              2,
30410              2,
30411              1,
30412              1,
30413              1,
30414              1,
30415              1,
30416              1,
30417              1,
30418              2,
30419              2,
30420              2,
30421              2,
30422              2,
30423              2,
30424              2,
30425              2,
30426              2,
30427              2,
30428              2,
30429              2,
30430              2,
30431              2,
30432              2,
30433              2,
30434              2,
30435              2,
30436              2,
30437              2,
30438              2,
30439              2,
30440              2,
30441              2,
30442              2,
30443              2,
30444              1,
30445              1,
30446              1,
30447              1,
30448              1,
30449              1,
30450              3,
30451              3,
30452              3,
30453              3,
30454              3,
30455              3,
30456              3,
30457              3,
30458              3,
30459              3,
30460              3,
30461              3,
30462              3,
30463              3,
30464              3,
30465              3,
30466              3,
30467              3,
30468              3,
30469              3,
30470              3,
30471              3,
30472              3,
30473              3,
30474              3,
30475              3,
30476              1,
30477              1,
30478              1,
30479              1,
30480              0,
30481              /* UTF8 continuation byte range. */
30482              0,
30483              0,
30484              0,
30485              0,
30486              0,
30487              0,
30488              0,
30489              0,
30490              0,
30491              0,
30492              0,
30493              0,
30494              0,
30495              0,
30496              0,
30497              0,
30498              0,
30499              0,
30500              0,
30501              0,
30502              0,
30503              0,
30504              0,
30505              0,
30506              0,
30507              0,
30508              0,
30509              0,
30510              0,
30511              0,
30512              0,
30513              0,
30514              0,
30515              0,
30516              0,
30517              0,
30518              0,
30519              0,
30520              0,
30521              0,
30522              0,
30523              0,
30524              0,
30525              0,
30526              0,
30527              0,
30528              0,
30529              0,
30530              0,
30531              0,
30532              0,
30533              0,
30534              0,
30535              0,
30536              0,
30537              0,
30538              0,
30539              0,
30540              0,
30541              0,
30542              0,
30543              0,
30544              0,
30545              0,
30546              0,
30547              0,
30548              0,
30549              0,
30550              0,
30551              0,
30552              0,
30553              0,
30554              0,
30555              0,
30556              0,
30557              0,
30558              0,
30559              0,
30560              0,
30561              0,
30562              0,
30563              0,
30564              0,
30565              0,
30566              0,
30567              0,
30568              0,
30569              0,
30570              0,
30571              0,
30572              0,
30573              0,
30574              0,
30575              0,
30576              0,
30577              0,
30578              2,
30579              2,
30580              2,
30581              2,
30582              2,
30583              2,
30584              2,
30585              2,
30586              2,
30587              2,
30588              2,
30589              2,
30590              2,
30591              2,
30592              2,
30593              2,
30594              2,
30595              2,
30596              2,
30597              2,
30598              2,
30599              2,
30600              2,
30601              2,
30602              2,
30603              2,
30604              2,
30605              2,
30606              2,
30607              2,
30608              2,
30609              2,
30610              0,
30611              1,
30612              1,
30613              1,
30614              1,
30615              1,
30616              1,
30617              1,
30618              1,
30619              1,
30620              1,
30621              1,
30622              1,
30623              1,
30624              1,
30625              1,
30626              2,
30627              2,
30628              2,
30629              2,
30630              2,
30631              2,
30632              2,
30633              2,
30634              2,
30635              2,
30636              2,
30637              2,
30638              2,
30639              2,
30640              2,
30641              2,
30642              2,
30643              2,
30644              2,
30645              2,
30646              2,
30647              2,
30648              2,
30649              2,
30650              2,
30651              2,
30652              2,
30653              2,
30654              2,
30655              2,
30656              2,
30657              2,
30658              2,
30659              2,
30660              2,
30661              2,
30662              2,
30663              2,
30664              2,
30665              2,
30666              2,
30667              2,
30668              2,
30669              2,
30670              2,
30671              2,
30672              2,
30673              2,
30674              3,
30675              3,
30676              3,
30677              3,
30678              3,
30679              3,
30680              3,
30681              3,
30682              3,
30683              3,
30684              3,
30685              3,
30686              3,
30687              3,
30688              3,
30689              3,
30690              3,
30691              3,
30692              3,
30693              3,
30694              3,
30695              3,
30696              3,
30697              3,
30698              3,
30699              3,
30700              3,
30701              3,
30702              3,
30703              3,
30704              3,
30705              3,
30706              3,
30707              3,
30708              3,
30709              3,
30710              3,
30711              3,
30712              3,
30713              3,
30714              3,
30715              3,
30716              3,
30717              3,
30718              3,
30719              3,
30720              3,
30721              3,
30722              3,
30723              3,
30724              3,
30725              3,
30726              3,
30727              3,
30728              3,
30729              3,
30730              3,
30731              3,
30732              3,
30733              3,
30734              3,
30735              3,
30736              3,
30737              3,
30738              4,
30739              4,
30740              4,
30741              4,
30742              4,
30743              4,
30744              4,
30745              4,
30746              4,
30747              4,
30748              4,
30749              4,
30750              4,
30751              4,
30752              4,
30753              4,
30754              4,
30755              4,
30756              4,
30757              4,
30758              4,
30759              4,
30760              4,
30761              4,
30762              4,
30763              4,
30764              4,
30765              4,
30766              4,
30767              4,
30768              4,
30769              4,
30770              4,
30771              4,
30772              4,
30773              4,
30774              4,
30775              4,
30776              4,
30777              4,
30778              4,
30779              4,
30780              4,
30781              4,
30782              4,
30783              4,
30784              4,
30785              4,
30786              4,
30787              4,
30788              4,
30789              4,
30790              4,
30791              4,
30792              4,
30793              4,
30794              4,
30795              4,
30796              4,
30797              4,
30798              4,
30799              4,
30800              4,
30801              4,
30802              5,
30803              5,
30804              5,
30805              5,
30806              5,
30807              5,
30808              5,
30809              5,
30810              5,
30811              5,
30812              5,
30813              5,
30814              5,
30815              5,
30816              5,
30817              5,
30818              5,
30819              5,
30820              5,
30821              5,
30822              5,
30823              5,
30824              5,
30825              5,
30826              5,
30827              5,
30828              5,
30829              5,
30830              5,
30831              5,
30832              5,
30833              5,
30834              5,
30835              5,
30836              5,
30837              5,
30838              5,
30839              5,
30840              5,
30841              5,
30842              5,
30843              5,
30844              5,
30845              5,
30846              5,
30847              5,
30848              5,
30849              5,
30850              6,
30851              6,
30852              6,
30853              6,
30854              6,
30855              6,
30856              6,
30857              6,
30858              6,
30859              6,
30860              6,
30861              6,
30862              6,
30863              6,
30864              6,
30865              7,
30866              /* CONTEXT_SIGNED, last byte, same as the above values shifted by 3 bits. */
30867              0,
30868              8,
30869              8,
30870              8,
30871              8,
30872              8,
30873              8,
30874              8,
30875              8,
30876              8,
30877              8,
30878              8,
30879              8,
30880              8,
30881              8,
30882              8,
30883              16,
30884              16,
30885              16,
30886              16,
30887              16,
30888              16,
30889              16,
30890              16,
30891              16,
30892              16,
30893              16,
30894              16,
30895              16,
30896              16,
30897              16,
30898              16,
30899              16,
30900              16,
30901              16,
30902              16,
30903              16,
30904              16,
30905              16,
30906              16,
30907              16,
30908              16,
30909              16,
30910              16,
30911              16,
30912              16,
30913              16,
30914              16,
30915              16,
30916              16,
30917              16,
30918              16,
30919              16,
30920              16,
30921              16,
30922              16,
30923              16,
30924              16,
30925              16,
30926              16,
30927              16,
30928              16,
30929              16,
30930              16,
30931              24,
30932              24,
30933              24,
30934              24,
30935              24,
30936              24,
30937              24,
30938              24,
30939              24,
30940              24,
30941              24,
30942              24,
30943              24,
30944              24,
30945              24,
30946              24,
30947              24,
30948              24,
30949              24,
30950              24,
30951              24,
30952              24,
30953              24,
30954              24,
30955              24,
30956              24,
30957              24,
30958              24,
30959              24,
30960              24,
30961              24,
30962              24,
30963              24,
30964              24,
30965              24,
30966              24,
30967              24,
30968              24,
30969              24,
30970              24,
30971              24,
30972              24,
30973              24,
30974              24,
30975              24,
30976              24,
30977              24,
30978              24,
30979              24,
30980              24,
30981              24,
30982              24,
30983              24,
30984              24,
30985              24,
30986              24,
30987              24,
30988              24,
30989              24,
30990              24,
30991              24,
30992              24,
30993              24,
30994              24,
30995              32,
30996              32,
30997              32,
30998              32,
30999              32,
31000              32,
31001              32,
31002              32,
31003              32,
31004              32,
31005              32,
31006              32,
31007              32,
31008              32,
31009              32,
31010              32,
31011              32,
31012              32,
31013              32,
31014              32,
31015              32,
31016              32,
31017              32,
31018              32,
31019              32,
31020              32,
31021              32,
31022              32,
31023              32,
31024              32,
31025              32,
31026              32,
31027              32,
31028              32,
31029              32,
31030              32,
31031              32,
31032              32,
31033              32,
31034              32,
31035              32,
31036              32,
31037              32,
31038              32,
31039              32,
31040              32,
31041              32,
31042              32,
31043              32,
31044              32,
31045              32,
31046              32,
31047              32,
31048              32,
31049              32,
31050              32,
31051              32,
31052              32,
31053              32,
31054              32,
31055              32,
31056              32,
31057              32,
31058              32,
31059              40,
31060              40,
31061              40,
31062              40,
31063              40,
31064              40,
31065              40,
31066              40,
31067              40,
31068              40,
31069              40,
31070              40,
31071              40,
31072              40,
31073              40,
31074              40,
31075              40,
31076              40,
31077              40,
31078              40,
31079              40,
31080              40,
31081              40,
31082              40,
31083              40,
31084              40,
31085              40,
31086              40,
31087              40,
31088              40,
31089              40,
31090              40,
31091              40,
31092              40,
31093              40,
31094              40,
31095              40,
31096              40,
31097              40,
31098              40,
31099              40,
31100              40,
31101              40,
31102              40,
31103              40,
31104              40,
31105              40,
31106              40,
31107              48,
31108              48,
31109              48,
31110              48,
31111              48,
31112              48,
31113              48,
31114              48,
31115              48,
31116              48,
31117              48,
31118              48,
31119              48,
31120              48,
31121              48,
31122              56,
31123              /* CONTEXT_LSB6, last byte. */
31124              0,
31125              1,
31126              2,
31127              3,
31128              4,
31129              5,
31130              6,
31131              7,
31132              8,
31133              9,
31134              10,
31135              11,
31136              12,
31137              13,
31138              14,
31139              15,
31140              16,
31141              17,
31142              18,
31143              19,
31144              20,
31145              21,
31146              22,
31147              23,
31148              24,
31149              25,
31150              26,
31151              27,
31152              28,
31153              29,
31154              30,
31155              31,
31156              32,
31157              33,
31158              34,
31159              35,
31160              36,
31161              37,
31162              38,
31163              39,
31164              40,
31165              41,
31166              42,
31167              43,
31168              44,
31169              45,
31170              46,
31171              47,
31172              48,
31173              49,
31174              50,
31175              51,
31176              52,
31177              53,
31178              54,
31179              55,
31180              56,
31181              57,
31182              58,
31183              59,
31184              60,
31185              61,
31186              62,
31187              63,
31188              0,
31189              1,
31190              2,
31191              3,
31192              4,
31193              5,
31194              6,
31195              7,
31196              8,
31197              9,
31198              10,
31199              11,
31200              12,
31201              13,
31202              14,
31203              15,
31204              16,
31205              17,
31206              18,
31207              19,
31208              20,
31209              21,
31210              22,
31211              23,
31212              24,
31213              25,
31214              26,
31215              27,
31216              28,
31217              29,
31218              30,
31219              31,
31220              32,
31221              33,
31222              34,
31223              35,
31224              36,
31225              37,
31226              38,
31227              39,
31228              40,
31229              41,
31230              42,
31231              43,
31232              44,
31233              45,
31234              46,
31235              47,
31236              48,
31237              49,
31238              50,
31239              51,
31240              52,
31241              53,
31242              54,
31243              55,
31244              56,
31245              57,
31246              58,
31247              59,
31248              60,
31249              61,
31250              62,
31251              63,
31252              0,
31253              1,
31254              2,
31255              3,
31256              4,
31257              5,
31258              6,
31259              7,
31260              8,
31261              9,
31262              10,
31263              11,
31264              12,
31265              13,
31266              14,
31267              15,
31268              16,
31269              17,
31270              18,
31271              19,
31272              20,
31273              21,
31274              22,
31275              23,
31276              24,
31277              25,
31278              26,
31279              27,
31280              28,
31281              29,
31282              30,
31283              31,
31284              32,
31285              33,
31286              34,
31287              35,
31288              36,
31289              37,
31290              38,
31291              39,
31292              40,
31293              41,
31294              42,
31295              43,
31296              44,
31297              45,
31298              46,
31299              47,
31300              48,
31301              49,
31302              50,
31303              51,
31304              52,
31305              53,
31306              54,
31307              55,
31308              56,
31309              57,
31310              58,
31311              59,
31312              60,
31313              61,
31314              62,
31315              63,
31316              0,
31317              1,
31318              2,
31319              3,
31320              4,
31321              5,
31322              6,
31323              7,
31324              8,
31325              9,
31326              10,
31327              11,
31328              12,
31329              13,
31330              14,
31331              15,
31332              16,
31333              17,
31334              18,
31335              19,
31336              20,
31337              21,
31338              22,
31339              23,
31340              24,
31341              25,
31342              26,
31343              27,
31344              28,
31345              29,
31346              30,
31347              31,
31348              32,
31349              33,
31350              34,
31351              35,
31352              36,
31353              37,
31354              38,
31355              39,
31356              40,
31357              41,
31358              42,
31359              43,
31360              44,
31361              45,
31362              46,
31363              47,
31364              48,
31365              49,
31366              50,
31367              51,
31368              52,
31369              53,
31370              54,
31371              55,
31372              56,
31373              57,
31374              58,
31375              59,
31376              60,
31377              61,
31378              62,
31379              63,
31380              /* CONTEXT_MSB6, last byte. */
31381              0,
31382              0,
31383              0,
31384              0,
31385              1,
31386              1,
31387              1,
31388              1,
31389              2,
31390              2,
31391              2,
31392              2,
31393              3,
31394              3,
31395              3,
31396              3,
31397              4,
31398              4,
31399              4,
31400              4,
31401              5,
31402              5,
31403              5,
31404              5,
31405              6,
31406              6,
31407              6,
31408              6,
31409              7,
31410              7,
31411              7,
31412              7,
31413              8,
31414              8,
31415              8,
31416              8,
31417              9,
31418              9,
31419              9,
31420              9,
31421              10,
31422              10,
31423              10,
31424              10,
31425              11,
31426              11,
31427              11,
31428              11,
31429              12,
31430              12,
31431              12,
31432              12,
31433              13,
31434              13,
31435              13,
31436              13,
31437              14,
31438              14,
31439              14,
31440              14,
31441              15,
31442              15,
31443              15,
31444              15,
31445              16,
31446              16,
31447              16,
31448              16,
31449              17,
31450              17,
31451              17,
31452              17,
31453              18,
31454              18,
31455              18,
31456              18,
31457              19,
31458              19,
31459              19,
31460              19,
31461              20,
31462              20,
31463              20,
31464              20,
31465              21,
31466              21,
31467              21,
31468              21,
31469              22,
31470              22,
31471              22,
31472              22,
31473              23,
31474              23,
31475              23,
31476              23,
31477              24,
31478              24,
31479              24,
31480              24,
31481              25,
31482              25,
31483              25,
31484              25,
31485              26,
31486              26,
31487              26,
31488              26,
31489              27,
31490              27,
31491              27,
31492              27,
31493              28,
31494              28,
31495              28,
31496              28,
31497              29,
31498              29,
31499              29,
31500              29,
31501              30,
31502              30,
31503              30,
31504              30,
31505              31,
31506              31,
31507              31,
31508              31,
31509              32,
31510              32,
31511              32,
31512              32,
31513              33,
31514              33,
31515              33,
31516              33,
31517              34,
31518              34,
31519              34,
31520              34,
31521              35,
31522              35,
31523              35,
31524              35,
31525              36,
31526              36,
31527              36,
31528              36,
31529              37,
31530              37,
31531              37,
31532              37,
31533              38,
31534              38,
31535              38,
31536              38,
31537              39,
31538              39,
31539              39,
31540              39,
31541              40,
31542              40,
31543              40,
31544              40,
31545              41,
31546              41,
31547              41,
31548              41,
31549              42,
31550              42,
31551              42,
31552              42,
31553              43,
31554              43,
31555              43,
31556              43,
31557              44,
31558              44,
31559              44,
31560              44,
31561              45,
31562              45,
31563              45,
31564              45,
31565              46,
31566              46,
31567              46,
31568              46,
31569              47,
31570              47,
31571              47,
31572              47,
31573              48,
31574              48,
31575              48,
31576              48,
31577              49,
31578              49,
31579              49,
31580              49,
31581              50,
31582              50,
31583              50,
31584              50,
31585              51,
31586              51,
31587              51,
31588              51,
31589              52,
31590              52,
31591              52,
31592              52,
31593              53,
31594              53,
31595              53,
31596              53,
31597              54,
31598              54,
31599              54,
31600              54,
31601              55,
31602              55,
31603              55,
31604              55,
31605              56,
31606              56,
31607              56,
31608              56,
31609              57,
31610              57,
31611              57,
31612              57,
31613              58,
31614              58,
31615              58,
31616              58,
31617              59,
31618              59,
31619              59,
31620              59,
31621              60,
31622              60,
31623              60,
31624              60,
31625              61,
31626              61,
31627              61,
31628              61,
31629              62,
31630              62,
31631              62,
31632              62,
31633              63,
31634              63,
31635              63,
31636              63,
31637              /* CONTEXT_{M,L}SB6, second last byte, */
31638              0,
31639              0,
31640              0,
31641              0,
31642              0,
31643              0,
31644              0,
31645              0,
31646              0,
31647              0,
31648              0,
31649              0,
31650              0,
31651              0,
31652              0,
31653              0,
31654              0,
31655              0,
31656              0,
31657              0,
31658              0,
31659              0,
31660              0,
31661              0,
31662              0,
31663              0,
31664              0,
31665              0,
31666              0,
31667              0,
31668              0,
31669              0,
31670              0,
31671              0,
31672              0,
31673              0,
31674              0,
31675              0,
31676              0,
31677              0,
31678              0,
31679              0,
31680              0,
31681              0,
31682              0,
31683              0,
31684              0,
31685              0,
31686              0,
31687              0,
31688              0,
31689              0,
31690              0,
31691              0,
31692              0,
31693              0,
31694              0,
31695              0,
31696              0,
31697              0,
31698              0,
31699              0,
31700              0,
31701              0,
31702              0,
31703              0,
31704              0,
31705              0,
31706              0,
31707              0,
31708              0,
31709              0,
31710              0,
31711              0,
31712              0,
31713              0,
31714              0,
31715              0,
31716              0,
31717              0,
31718              0,
31719              0,
31720              0,
31721              0,
31722              0,
31723              0,
31724              0,
31725              0,
31726              0,
31727              0,
31728              0,
31729              0,
31730              0,
31731              0,
31732              0,
31733              0,
31734              0,
31735              0,
31736              0,
31737              0,
31738              0,
31739              0,
31740              0,
31741              0,
31742              0,
31743              0,
31744              0,
31745              0,
31746              0,
31747              0,
31748              0,
31749              0,
31750              0,
31751              0,
31752              0,
31753              0,
31754              0,
31755              0,
31756              0,
31757              0,
31758              0,
31759              0,
31760              0,
31761              0,
31762              0,
31763              0,
31764              0,
31765              0,
31766              0,
31767              0,
31768              0,
31769              0,
31770              0,
31771              0,
31772              0,
31773              0,
31774              0,
31775              0,
31776              0,
31777              0,
31778              0,
31779              0,
31780              0,
31781              0,
31782              0,
31783              0,
31784              0,
31785              0,
31786              0,
31787              0,
31788              0,
31789              0,
31790              0,
31791              0,
31792              0,
31793              0,
31794              0,
31795              0,
31796              0,
31797              0,
31798              0,
31799              0,
31800              0,
31801              0,
31802              0,
31803              0,
31804              0,
31805              0,
31806              0,
31807              0,
31808              0,
31809              0,
31810              0,
31811              0,
31812              0,
31813              0,
31814              0,
31815              0,
31816              0,
31817              0,
31818              0,
31819              0,
31820              0,
31821              0,
31822              0,
31823              0,
31824              0,
31825              0,
31826              0,
31827              0,
31828              0,
31829              0,
31830              0,
31831              0,
31832              0,
31833              0,
31834              0,
31835              0,
31836              0,
31837              0,
31838              0,
31839              0,
31840              0,
31841              0,
31842              0,
31843              0,
31844              0,
31845              0,
31846              0,
31847              0,
31848              0,
31849              0,
31850              0,
31851              0,
31852              0,
31853              0,
31854              0,
31855              0,
31856              0,
31857              0,
31858              0,
31859              0,
31860              0,
31861              0,
31862              0,
31863              0,
31864              0,
31865              0,
31866              0,
31867              0,
31868              0,
31869              0,
31870              0,
31871              0,
31872              0,
31873              0,
31874              0,
31875              0,
31876              0,
31877              0,
31878              0,
31879              0,
31880              0,
31881              0,
31882              0,
31883              0,
31884              0,
31885              0,
31886              0,
31887              0,
31888              0,
31889              0,
31890              0,
31891              0,
31892              0,
31893              0
31894            ]);
31895            exports2.lookupOffsets = new Uint16Array([
31896              /* CONTEXT_LSB6 */
31897              1024,
31898              1536,
31899              1280,
31900              1536,
31901              0,
31902              256,
31903              768,
31904              512
31905            ]);
31906          },
31907          {}
31908        ],
31909        3: [
31910          function(require2, module2, exports2) {
31911            var BrotliInput = require2("./streams").BrotliInput;
31912            var BrotliOutput = require2("./streams").BrotliOutput;
31913            var BrotliBitReader = require2("./bit_reader");
31914            var BrotliDictionary = require2("./dictionary");
31915            var HuffmanCode = require2("./huffman").HuffmanCode;
31916            var BrotliBuildHuffmanTable = require2("./huffman").BrotliBuildHuffmanTable;
31917            var Context = require2("./context");
31918            var Prefix = require2("./prefix");
31919            var Transform = require2("./transform");
31920            var kDefaultCodeLength = 8;
31921            var kCodeLengthRepeatCode = 16;
31922            var kNumLiteralCodes = 256;
31923            var kNumInsertAndCopyCodes = 704;
31924            var kNumBlockLengthCodes = 26;
31925            var kLiteralContextBits = 6;
31926            var kDistanceContextBits = 2;
31927            var HUFFMAN_TABLE_BITS = 8;
31928            var HUFFMAN_TABLE_MASK = 255;
31929            var HUFFMAN_MAX_TABLE_SIZE = 1080;
31930            var CODE_LENGTH_CODES = 18;
31931            var kCodeLengthCodeOrder = new Uint8Array([
31932              1,
31933              2,
31934              3,
31935              4,
31936              0,
31937              5,
31938              17,
31939              6,
31940              16,
31941              7,
31942              8,
31943              9,
31944              10,
31945              11,
31946              12,
31947              13,
31948              14,
31949              15
31950            ]);
31951            var NUM_DISTANCE_SHORT_CODES = 16;
31952            var kDistanceShortCodeIndexOffset = new Uint8Array([
31953              3,
31954              2,
31955              1,
31956              0,
31957              3,
31958              3,
31959              3,
31960              3,
31961              3,
31962              3,
31963              2,
31964              2,
31965              2,
31966              2,
31967              2,
31968              2
31969            ]);
31970            var kDistanceShortCodeValueOffset = new Int8Array([
31971              0,
31972              0,
31973              0,
31974              0,
31975              -1,
31976              1,
31977              -2,
31978              2,
31979              -3,
31980              3,
31981              -1,
31982              1,
31983              -2,
31984              2,
31985              -3,
31986              3
31987            ]);
31988            var kMaxHuffmanTableSize = new Uint16Array([
31989              256,
31990              402,
31991              436,
31992              468,
31993              500,
31994              534,
31995              566,
31996              598,
31997              630,
31998              662,
31999              694,
32000              726,
32001              758,
32002              790,
32003              822,
32004              854,
32005              886,
32006              920,
32007              952,
32008              984,
32009              1016,
32010              1048,
32011              1080
32012            ]);
32013            function DecodeWindowBits(br) {
32014              var n;
32015              if (br.readBits(1) === 0) {
32016                return 16;
32017              }
32018              n = br.readBits(3);
32019              if (n > 0) {
32020                return 17 + n;
32021              }
32022              n = br.readBits(3);
32023              if (n > 0) {
32024                return 8 + n;
32025              }
32026              return 17;
32027            }
32028            function DecodeVarLenUint8(br) {
32029              if (br.readBits(1)) {
32030                var nbits = br.readBits(3);
32031                if (nbits === 0) {
32032                  return 1;
32033                } else {
32034                  return br.readBits(nbits) + (1 << nbits);
32035                }
32036              }
32037              return 0;
32038            }
32039            function MetaBlockLength() {
32040              this.meta_block_length = 0;
32041              this.input_end = 0;
32042              this.is_uncompressed = 0;
32043              this.is_metadata = false;
32044            }
32045            function DecodeMetaBlockLength(br) {
32046              var out = new MetaBlockLength();
32047              var size_nibbles;
32048              var size_bytes;
32049              var i;
32050              out.input_end = br.readBits(1);
32051              if (out.input_end && br.readBits(1)) {
32052                return out;
32053              }
32054              size_nibbles = br.readBits(2) + 4;
32055              if (size_nibbles === 7) {
32056                out.is_metadata = true;
32057                if (br.readBits(1) !== 0)
32058                  throw new Error("Invalid reserved bit");
32059                size_bytes = br.readBits(2);
32060                if (size_bytes === 0) return out;
32061                for (i = 0; i < size_bytes; i++) {
32062                  var next_byte = br.readBits(8);
32063                  if (i + 1 === size_bytes && size_bytes > 1 && next_byte === 0)
32064                    throw new Error("Invalid size byte");
32065                  out.meta_block_length |= next_byte << i * 8;
32066                }
32067              } else {
32068                for (i = 0; i < size_nibbles; ++i) {
32069                  var next_nibble = br.readBits(4);
32070                  if (i + 1 === size_nibbles && size_nibbles > 4 && next_nibble === 0)
32071                    throw new Error("Invalid size nibble");
32072                  out.meta_block_length |= next_nibble << i * 4;
32073                }
32074              }
32075              ++out.meta_block_length;
32076              if (!out.input_end && !out.is_metadata) {
32077                out.is_uncompressed = br.readBits(1);
32078              }
32079              return out;
32080            }
32081            function ReadSymbol(table, index2, br) {
32082              var start_index = index2;
32083              var nbits;
32084              br.fillBitWindow();
32085              index2 += br.val_ >>> br.bit_pos_ & HUFFMAN_TABLE_MASK;
32086              nbits = table[index2].bits - HUFFMAN_TABLE_BITS;
32087              if (nbits > 0) {
32088                br.bit_pos_ += HUFFMAN_TABLE_BITS;
32089                index2 += table[index2].value;
32090                index2 += br.val_ >>> br.bit_pos_ & (1 << nbits) - 1;
32091              }
32092              br.bit_pos_ += table[index2].bits;
32093              return table[index2].value;
32094            }
32095            function ReadHuffmanCodeLengths(code_length_code_lengths, num_symbols, code_lengths, br) {
32096              var symbol = 0;
32097              var prev_code_len = kDefaultCodeLength;
32098              var repeat = 0;
32099              var repeat_code_len = 0;
32100              var space = 32768;
32101              var table = [];
32102              for (var i = 0; i < 32; i++)
32103                table.push(new HuffmanCode(0, 0));
32104              BrotliBuildHuffmanTable(
32105                table,
32106                0,
32107                5,
32108                code_length_code_lengths,
32109                CODE_LENGTH_CODES
32110              );
32111              while (symbol < num_symbols && space > 0) {
32112                var p3 = 0;
32113                var code_len;
32114                br.readMoreInput();
32115                br.fillBitWindow();
32116                p3 += br.val_ >>> br.bit_pos_ & 31;
32117                br.bit_pos_ += table[p3].bits;
32118                code_len = table[p3].value & 255;
32119                if (code_len < kCodeLengthRepeatCode) {
32120                  repeat = 0;
32121                  code_lengths[symbol++] = code_len;
32122                  if (code_len !== 0) {
32123                    prev_code_len = code_len;
32124                    space -= 32768 >> code_len;
32125                  }
32126                } else {
32127                  var extra_bits = code_len - 14;
32128                  var old_repeat;
32129                  var repeat_delta;
32130                  var new_len = 0;
32131                  if (code_len === kCodeLengthRepeatCode) {
32132                    new_len = prev_code_len;
32133                  }
32134                  if (repeat_code_len !== new_len) {
32135                    repeat = 0;
32136                    repeat_code_len = new_len;
32137                  }
32138                  old_repeat = repeat;
32139                  if (repeat > 0) {
32140                    repeat -= 2;
32141                    repeat <<= extra_bits;
32142                  }
32143                  repeat += br.readBits(extra_bits) + 3;
32144                  repeat_delta = repeat - old_repeat;
32145                  if (symbol + repeat_delta > num_symbols) {
32146                    throw new Error(
32147                      "[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols"
32148                    );
32149                  }
32150                  for (var x2 = 0; x2 < repeat_delta; x2++)
32151                    code_lengths[symbol + x2] = repeat_code_len;
32152                  symbol += repeat_delta;
32153                  if (repeat_code_len !== 0) {
32154                    space -= repeat_delta << 15 - repeat_code_len;
32155                  }
32156                }
32157              }
32158              if (space !== 0) {
32159                throw new Error(
32160                  "[ReadHuffmanCodeLengths] space = " + space
32161                );
32162              }
32163              for (; symbol < num_symbols; symbol++)
32164                code_lengths[symbol] = 0;
32165            }
32166            function ReadHuffmanCode(alphabet_size, tables, table, br) {
32167              var table_size = 0;
32168              var simple_code_or_skip;
32169              var code_lengths = new Uint8Array(alphabet_size);
32170              br.readMoreInput();
32171              simple_code_or_skip = br.readBits(2);
32172              if (simple_code_or_skip === 1) {
32173                var i;
32174                var max_bits_counter = alphabet_size - 1;
32175                var max_bits = 0;
32176                var symbols = new Int32Array(4);
32177                var num_symbols = br.readBits(2) + 1;
32178                while (max_bits_counter) {
32179                  max_bits_counter >>= 1;
32180                  ++max_bits;
32181                }
32182                for (i = 0; i < num_symbols; ++i) {
32183                  symbols[i] = br.readBits(max_bits) % alphabet_size;
32184                  code_lengths[symbols[i]] = 2;
32185                }
32186                code_lengths[symbols[0]] = 1;
32187                switch (num_symbols) {
32188                  case 1:
32189                    break;
32190                  case 3:
32191                    if (symbols[0] === symbols[1] || symbols[0] === symbols[2] || symbols[1] === symbols[2]) {
32192                      throw new Error(
32193                        "[ReadHuffmanCode] invalid symbols"
32194                      );
32195                    }
32196                    break;
32197                  case 2:
32198                    if (symbols[0] === symbols[1]) {
32199                      throw new Error(
32200                        "[ReadHuffmanCode] invalid symbols"
32201                      );
32202                    }
32203                    code_lengths[symbols[1]] = 1;
32204                    break;
32205                  case 4:
32206                    if (symbols[0] === symbols[1] || symbols[0] === symbols[2] || symbols[0] === symbols[3] || symbols[1] === symbols[2] || symbols[1] === symbols[3] || symbols[2] === symbols[3]) {
32207                      throw new Error(
32208                        "[ReadHuffmanCode] invalid symbols"
32209                      );
32210                    }
32211                    if (br.readBits(1)) {
32212                      code_lengths[symbols[2]] = 3;
32213                      code_lengths[symbols[3]] = 3;
32214                    } else {
32215                      code_lengths[symbols[0]] = 2;
32216                    }
32217                    break;
32218                }
32219              } else {
32220                var i;
32221                var code_length_code_lengths = new Uint8Array(
32222                  CODE_LENGTH_CODES
32223                );
32224                var space = 32;
32225                var num_codes = 0;
32226                var huff = [
32227                  new HuffmanCode(2, 0),
32228                  new HuffmanCode(2, 4),
32229                  new HuffmanCode(2, 3),
32230                  new HuffmanCode(3, 2),
32231                  new HuffmanCode(2, 0),
32232                  new HuffmanCode(2, 4),
32233                  new HuffmanCode(2, 3),
32234                  new HuffmanCode(4, 1),
32235                  new HuffmanCode(2, 0),
32236                  new HuffmanCode(2, 4),
32237                  new HuffmanCode(2, 3),
32238                  new HuffmanCode(3, 2),
32239                  new HuffmanCode(2, 0),
32240                  new HuffmanCode(2, 4),
32241                  new HuffmanCode(2, 3),
32242                  new HuffmanCode(4, 5)
32243                ];
32244                for (i = simple_code_or_skip; i < CODE_LENGTH_CODES && space > 0; ++i) {
32245                  var code_len_idx = kCodeLengthCodeOrder[i];
32246                  var p3 = 0;
32247                  var v2;
32248                  br.fillBitWindow();
32249                  p3 += br.val_ >>> br.bit_pos_ & 15;
32250                  br.bit_pos_ += huff[p3].bits;
32251                  v2 = huff[p3].value;
32252                  code_length_code_lengths[code_len_idx] = v2;
32253                  if (v2 !== 0) {
32254                    space -= 32 >> v2;
32255                    ++num_codes;
32256                  }
32257                }
32258                if (!(num_codes === 1 || space === 0))
32259                  throw new Error(
32260                    "[ReadHuffmanCode] invalid num_codes or space"
32261                  );
32262                ReadHuffmanCodeLengths(
32263                  code_length_code_lengths,
32264                  alphabet_size,
32265                  code_lengths,
32266                  br
32267                );
32268              }
32269              table_size = BrotliBuildHuffmanTable(
32270                tables,
32271                table,
32272                HUFFMAN_TABLE_BITS,
32273                code_lengths,
32274                alphabet_size
32275              );
32276              if (table_size === 0) {
32277                throw new Error(
32278                  "[ReadHuffmanCode] BuildHuffmanTable failed: "
32279                );
32280              }
32281              return table_size;
32282            }
32283            function ReadBlockLength(table, index2, br) {
32284              var code;
32285              var nbits;
32286              code = ReadSymbol(table, index2, br);
32287              nbits = Prefix.kBlockLengthPrefixCode[code].nbits;
32288              return Prefix.kBlockLengthPrefixCode[code].offset + br.readBits(nbits);
32289            }
32290            function TranslateShortCodes(code, ringbuffer, index2) {
32291              var val;
32292              if (code < NUM_DISTANCE_SHORT_CODES) {
32293                index2 += kDistanceShortCodeIndexOffset[code];
32294                index2 &= 3;
32295                val = ringbuffer[index2] + kDistanceShortCodeValueOffset[code];
32296              } else {
32297                val = code - NUM_DISTANCE_SHORT_CODES + 1;
32298              }
32299              return val;
32300            }
32301            function MoveToFront(v2, index2) {
32302              var value = v2[index2];
32303              var i = index2;
32304              for (; i; --i) v2[i] = v2[i - 1];
32305              v2[0] = value;
32306            }
32307            function InverseMoveToFrontTransform(v2, v_len) {
32308              var mtf = new Uint8Array(256);
32309              var i;
32310              for (i = 0; i < 256; ++i) {
32311                mtf[i] = i;
32312              }
32313              for (i = 0; i < v_len; ++i) {
32314                var index2 = v2[i];
32315                v2[i] = mtf[index2];
32316                if (index2) MoveToFront(mtf, index2);
32317              }
32318            }
32319            function HuffmanTreeGroup(alphabet_size, num_htrees) {
32320              this.alphabet_size = alphabet_size;
32321              this.num_htrees = num_htrees;
32322              this.codes = new Array(
32323                num_htrees + num_htrees * kMaxHuffmanTableSize[alphabet_size + 31 >>> 5]
32324              );
32325              this.htrees = new Uint32Array(num_htrees);
32326            }
32327            HuffmanTreeGroup.prototype.decode = function(br) {
32328              var i;
32329              var table_size;
32330              var next = 0;
32331              for (i = 0; i < this.num_htrees; ++i) {
32332                this.htrees[i] = next;
32333                table_size = ReadHuffmanCode(
32334                  this.alphabet_size,
32335                  this.codes,
32336                  next,
32337                  br
32338                );
32339                next += table_size;
32340              }
32341            };
32342            function DecodeContextMap(context_map_size, br) {
32343              var out = { num_htrees: null, context_map: null };
32344              var use_rle_for_zeros;
32345              var max_run_length_prefix = 0;
32346              var table;
32347              var i;
32348              br.readMoreInput();
32349              var num_htrees = out.num_htrees = DecodeVarLenUint8(br) + 1;
32350              var context_map = out.context_map = new Uint8Array(
32351                context_map_size
32352              );
32353              if (num_htrees <= 1) {
32354                return out;
32355              }
32356              use_rle_for_zeros = br.readBits(1);
32357              if (use_rle_for_zeros) {
32358                max_run_length_prefix = br.readBits(4) + 1;
32359              }
32360              table = [];
32361              for (i = 0; i < HUFFMAN_MAX_TABLE_SIZE; i++) {
32362                table[i] = new HuffmanCode(0, 0);
32363              }
32364              ReadHuffmanCode(
32365                num_htrees + max_run_length_prefix,
32366                table,
32367                0,
32368                br
32369              );
32370              for (i = 0; i < context_map_size; ) {
32371                var code;
32372                br.readMoreInput();
32373                code = ReadSymbol(table, 0, br);
32374                if (code === 0) {
32375                  context_map[i] = 0;
32376                  ++i;
32377                } else if (code <= max_run_length_prefix) {
32378                  var reps = 1 + (1 << code) + br.readBits(code);
32379                  while (--reps) {
32380                    if (i >= context_map_size) {
32381                      throw new Error(
32382                        "[DecodeContextMap] i >= context_map_size"
32383                      );
32384                    }
32385                    context_map[i] = 0;
32386                    ++i;
32387                  }
32388                } else {
32389                  context_map[i] = code - max_run_length_prefix;
32390                  ++i;
32391                }
32392              }
32393              if (br.readBits(1)) {
32394                InverseMoveToFrontTransform(
32395                  context_map,
32396                  context_map_size
32397                );
32398              }
32399              return out;
32400            }
32401            function DecodeBlockType(max_block_type, trees, tree_type, block_types, ringbuffers, indexes, br) {
32402              var ringbuffer = tree_type * 2;
32403              var index2 = tree_type;
32404              var type_code = ReadSymbol(
32405                trees,
32406                tree_type * HUFFMAN_MAX_TABLE_SIZE,
32407                br
32408              );
32409              var block_type;
32410              if (type_code === 0) {
32411                block_type = ringbuffers[ringbuffer + (indexes[index2] & 1)];
32412              } else if (type_code === 1) {
32413                block_type = ringbuffers[ringbuffer + (indexes[index2] - 1 & 1)] + 1;
32414              } else {
32415                block_type = type_code - 2;
32416              }
32417              if (block_type >= max_block_type) {
32418                block_type -= max_block_type;
32419              }
32420              block_types[tree_type] = block_type;
32421              ringbuffers[ringbuffer + (indexes[index2] & 1)] = block_type;
32422              ++indexes[index2];
32423            }
32424            function CopyUncompressedBlockToOutput(output, len, pos, ringbuffer, ringbuffer_mask, br) {
32425              var rb_size = ringbuffer_mask + 1;
32426              var rb_pos = pos & ringbuffer_mask;
32427              var br_pos = br.pos_ & BrotliBitReader.IBUF_MASK;
32428              var nbytes;
32429              if (len < 8 || br.bit_pos_ + (len << 3) < br.bit_end_pos_) {
32430                while (len-- > 0) {
32431                  br.readMoreInput();
32432                  ringbuffer[rb_pos++] = br.readBits(8);
32433                  if (rb_pos === rb_size) {
32434                    output.write(ringbuffer, rb_size);
32435                    rb_pos = 0;
32436                  }
32437                }
32438                return;
32439              }
32440              if (br.bit_end_pos_ < 32) {
32441                throw new Error(
32442                  "[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32"
32443                );
32444              }
32445              while (br.bit_pos_ < 32) {
32446                ringbuffer[rb_pos] = br.val_ >>> br.bit_pos_;
32447                br.bit_pos_ += 8;
32448                ++rb_pos;
32449                --len;
32450              }
32451              nbytes = br.bit_end_pos_ - br.bit_pos_ >> 3;
32452              if (br_pos + nbytes > BrotliBitReader.IBUF_MASK) {
32453                var tail = BrotliBitReader.IBUF_MASK + 1 - br_pos;
32454                for (var x2 = 0; x2 < tail; x2++)
32455                  ringbuffer[rb_pos + x2] = br.buf_[br_pos + x2];
32456                nbytes -= tail;
32457                rb_pos += tail;
32458                len -= tail;
32459                br_pos = 0;
32460              }
32461              for (var x2 = 0; x2 < nbytes; x2++)
32462                ringbuffer[rb_pos + x2] = br.buf_[br_pos + x2];
32463              rb_pos += nbytes;
32464              len -= nbytes;
32465              if (rb_pos >= rb_size) {
32466                output.write(ringbuffer, rb_size);
32467                rb_pos -= rb_size;
32468                for (var x2 = 0; x2 < rb_pos; x2++)
32469                  ringbuffer[x2] = ringbuffer[rb_size + x2];
32470              }
32471              while (rb_pos + len >= rb_size) {
32472                nbytes = rb_size - rb_pos;
32473                if (br.input_.read(ringbuffer, rb_pos, nbytes) < nbytes) {
32474                  throw new Error(
32475                    "[CopyUncompressedBlockToOutput] not enough bytes"
32476                  );
32477                }
32478                output.write(ringbuffer, rb_size);
32479                len -= nbytes;
32480                rb_pos = 0;
32481              }
32482              if (br.input_.read(ringbuffer, rb_pos, len) < len) {
32483                throw new Error(
32484                  "[CopyUncompressedBlockToOutput] not enough bytes"
32485                );
32486              }
32487              br.reset();
32488            }
32489            function JumpToByteBoundary(br) {
32490              var new_bit_pos = br.bit_pos_ + 7 & ~7;
32491              var pad_bits = br.readBits(new_bit_pos - br.bit_pos_);
32492              return pad_bits == 0;
32493            }
32494            function BrotliDecompressedSize(buffer) {
32495              var input = new BrotliInput(buffer);
32496              var br = new BrotliBitReader(input);
32497              DecodeWindowBits(br);
32498              var out = DecodeMetaBlockLength(br);
32499              return out.meta_block_length;
32500            }
32501            exports2.BrotliDecompressedSize = BrotliDecompressedSize;
32502            function BrotliDecompressBuffer(buffer, output_size) {
32503              var input = new BrotliInput(buffer);
32504              if (output_size == null) {
32505                output_size = BrotliDecompressedSize(buffer);
32506              }
32507              var output_buffer = new Uint8Array(output_size);
32508              var output = new BrotliOutput(output_buffer);
32509              BrotliDecompress(input, output);
32510              if (output.pos < output.buffer.length) {
32511                output.buffer = output.buffer.subarray(
32512                  0,
32513                  output.pos
32514                );
32515              }
32516              return output.buffer;
32517            }
32518            exports2.BrotliDecompressBuffer = BrotliDecompressBuffer;
32519            function BrotliDecompress(input, output) {
32520              var i;
32521              var pos = 0;
32522              var input_end = 0;
32523              var window_bits = 0;
32524              var max_backward_distance;
32525              var max_distance = 0;
32526              var ringbuffer_size;
32527              var ringbuffer_mask;
32528              var ringbuffer;
32529              var ringbuffer_end;
32530              var dist_rb = [16, 15, 11, 4];
32531              var dist_rb_idx = 0;
32532              var prev_byte1 = 0;
32533              var prev_byte2 = 0;
32534              var hgroup = [
32535                new HuffmanTreeGroup(0, 0),
32536                new HuffmanTreeGroup(0, 0),
32537                new HuffmanTreeGroup(0, 0)
32538              ];
32539              var block_type_trees;
32540              var block_len_trees;
32541              var br;
32542              var kRingBufferWriteAheadSlack = 128 + BrotliBitReader.READ_SIZE;
32543              br = new BrotliBitReader(input);
32544              window_bits = DecodeWindowBits(br);
32545              max_backward_distance = (1 << window_bits) - 16;
32546              ringbuffer_size = 1 << window_bits;
32547              ringbuffer_mask = ringbuffer_size - 1;
32548              ringbuffer = new Uint8Array(
32549                ringbuffer_size + kRingBufferWriteAheadSlack + BrotliDictionary.maxDictionaryWordLength
32550              );
32551              ringbuffer_end = ringbuffer_size;
32552              block_type_trees = [];
32553              block_len_trees = [];
32554              for (var x2 = 0; x2 < 3 * HUFFMAN_MAX_TABLE_SIZE; x2++) {
32555                block_type_trees[x2] = new HuffmanCode(0, 0);
32556                block_len_trees[x2] = new HuffmanCode(0, 0);
32557              }
32558              while (!input_end) {
32559                var meta_block_remaining_len = 0;
32560                var is_uncompressed;
32561                var block_length = [1 << 28, 1 << 28, 1 << 28];
32562                var block_type = [0];
32563                var num_block_types = [1, 1, 1];
32564                var block_type_rb = [0, 1, 0, 1, 0, 1];
32565                var block_type_rb_index = [0];
32566                var distance_postfix_bits;
32567                var num_direct_distance_codes;
32568                var distance_postfix_mask;
32569                var num_distance_codes;
32570                var context_map = null;
32571                var context_modes = null;
32572                var num_literal_htrees;
32573                var dist_context_map = null;
32574                var num_dist_htrees;
32575                var context_offset = 0;
32576                var context_map_slice = null;
32577                var literal_htree_index = 0;
32578                var dist_context_offset = 0;
32579                var dist_context_map_slice = null;
32580                var dist_htree_index = 0;
32581                var context_lookup_offset1 = 0;
32582                var context_lookup_offset2 = 0;
32583                var context_mode;
32584                var htree_command;
32585                for (i = 0; i < 3; ++i) {
32586                  hgroup[i].codes = null;
32587                  hgroup[i].htrees = null;
32588                }
32589                br.readMoreInput();
32590                var _out = DecodeMetaBlockLength(br);
32591                meta_block_remaining_len = _out.meta_block_length;
32592                if (pos + meta_block_remaining_len > output.buffer.length) {
32593                  var tmp = new Uint8Array(
32594                    pos + meta_block_remaining_len
32595                  );
32596                  tmp.set(output.buffer);
32597                  output.buffer = tmp;
32598                }
32599                input_end = _out.input_end;
32600                is_uncompressed = _out.is_uncompressed;
32601                if (_out.is_metadata) {
32602                  JumpToByteBoundary(br);
32603                  for (; meta_block_remaining_len > 0; --meta_block_remaining_len) {
32604                    br.readMoreInput();
32605                    br.readBits(8);
32606                  }
32607                  continue;
32608                }
32609                if (meta_block_remaining_len === 0) {
32610                  continue;
32611                }
32612                if (is_uncompressed) {
32613                  br.bit_pos_ = br.bit_pos_ + 7 & ~7;
32614                  CopyUncompressedBlockToOutput(
32615                    output,
32616                    meta_block_remaining_len,
32617                    pos,
32618                    ringbuffer,
32619                    ringbuffer_mask,
32620                    br
32621                  );
32622                  pos += meta_block_remaining_len;
32623                  continue;
32624                }
32625                for (i = 0; i < 3; ++i) {
32626                  num_block_types[i] = DecodeVarLenUint8(br) + 1;
32627                  if (num_block_types[i] >= 2) {
32628                    ReadHuffmanCode(
32629                      num_block_types[i] + 2,
32630                      block_type_trees,
32631                      i * HUFFMAN_MAX_TABLE_SIZE,
32632                      br
32633                    );
32634                    ReadHuffmanCode(
32635                      kNumBlockLengthCodes,
32636                      block_len_trees,
32637                      i * HUFFMAN_MAX_TABLE_SIZE,
32638                      br
32639                    );
32640                    block_length[i] = ReadBlockLength(
32641                      block_len_trees,
32642                      i * HUFFMAN_MAX_TABLE_SIZE,
32643                      br
32644                    );
32645                    block_type_rb_index[i] = 1;
32646                  }
32647                }
32648                br.readMoreInput();
32649                distance_postfix_bits = br.readBits(2);
32650                num_direct_distance_codes = NUM_DISTANCE_SHORT_CODES + (br.readBits(4) << distance_postfix_bits);
32651                distance_postfix_mask = (1 << distance_postfix_bits) - 1;
32652                num_distance_codes = num_direct_distance_codes + (48 << distance_postfix_bits);
32653                context_modes = new Uint8Array(
32654                  num_block_types[0]
32655                );
32656                for (i = 0; i < num_block_types[0]; ++i) {
32657                  br.readMoreInput();
32658                  context_modes[i] = br.readBits(2) << 1;
32659                }
32660                var _o1 = DecodeContextMap(
32661                  num_block_types[0] << kLiteralContextBits,
32662                  br
32663                );
32664                num_literal_htrees = _o1.num_htrees;
32665                context_map = _o1.context_map;
32666                var _o2 = DecodeContextMap(
32667                  num_block_types[2] << kDistanceContextBits,
32668                  br
32669                );
32670                num_dist_htrees = _o2.num_htrees;
32671                dist_context_map = _o2.context_map;
32672                hgroup[0] = new HuffmanTreeGroup(
32673                  kNumLiteralCodes,
32674                  num_literal_htrees
32675                );
32676                hgroup[1] = new HuffmanTreeGroup(
32677                  kNumInsertAndCopyCodes,
32678                  num_block_types[1]
32679                );
32680                hgroup[2] = new HuffmanTreeGroup(
32681                  num_distance_codes,
32682                  num_dist_htrees
32683                );
32684                for (i = 0; i < 3; ++i) {
32685                  hgroup[i].decode(br);
32686                }
32687                context_map_slice = 0;
32688                dist_context_map_slice = 0;
32689                context_mode = context_modes[block_type[0]];
32690                context_lookup_offset1 = Context.lookupOffsets[context_mode];
32691                context_lookup_offset2 = Context.lookupOffsets[context_mode + 1];
32692                htree_command = hgroup[1].htrees[0];
32693                while (meta_block_remaining_len > 0) {
32694                  var cmd_code;
32695                  var range_idx;
32696                  var insert_code;
32697                  var copy_code;
32698                  var insert_length;
32699                  var copy_length;
32700                  var distance_code;
32701                  var distance;
32702                  var context;
32703                  var j2;
32704                  var copy_dst;
32705                  br.readMoreInput();
32706                  if (block_length[1] === 0) {
32707                    DecodeBlockType(
32708                      num_block_types[1],
32709                      block_type_trees,
32710                      1,
32711                      block_type,
32712                      block_type_rb,
32713                      block_type_rb_index,
32714                      br
32715                    );
32716                    block_length[1] = ReadBlockLength(
32717                      block_len_trees,
32718                      HUFFMAN_MAX_TABLE_SIZE,
32719                      br
32720                    );
32721                    htree_command = hgroup[1].htrees[block_type[1]];
32722                  }
32723                  --block_length[1];
32724                  cmd_code = ReadSymbol(
32725                    hgroup[1].codes,
32726                    htree_command,
32727                    br
32728                  );
32729                  range_idx = cmd_code >> 6;
32730                  if (range_idx >= 2) {
32731                    range_idx -= 2;
32732                    distance_code = -1;
32733                  } else {
32734                    distance_code = 0;
32735                  }
32736                  insert_code = Prefix.kInsertRangeLut[range_idx] + (cmd_code >> 3 & 7);
32737                  copy_code = Prefix.kCopyRangeLut[range_idx] + (cmd_code & 7);
32738                  insert_length = Prefix.kInsertLengthPrefixCode[insert_code].offset + br.readBits(
32739                    Prefix.kInsertLengthPrefixCode[insert_code].nbits
32740                  );
32741                  copy_length = Prefix.kCopyLengthPrefixCode[copy_code].offset + br.readBits(
32742                    Prefix.kCopyLengthPrefixCode[copy_code].nbits
32743                  );
32744                  prev_byte1 = ringbuffer[pos - 1 & ringbuffer_mask];
32745                  prev_byte2 = ringbuffer[pos - 2 & ringbuffer_mask];
32746                  for (j2 = 0; j2 < insert_length; ++j2) {
32747                    br.readMoreInput();
32748                    if (block_length[0] === 0) {
32749                      DecodeBlockType(
32750                        num_block_types[0],
32751                        block_type_trees,
32752                        0,
32753                        block_type,
32754                        block_type_rb,
32755                        block_type_rb_index,
32756                        br
32757                      );
32758                      block_length[0] = ReadBlockLength(
32759                        block_len_trees,
32760                        0,
32761                        br
32762                      );
32763                      context_offset = block_type[0] << kLiteralContextBits;
32764                      context_map_slice = context_offset;
32765                      context_mode = context_modes[block_type[0]];
32766                      context_lookup_offset1 = Context.lookupOffsets[context_mode];
32767                      context_lookup_offset2 = Context.lookupOffsets[context_mode + 1];
32768                    }
32769                    context = Context.lookup[context_lookup_offset1 + prev_byte1] | Context.lookup[context_lookup_offset2 + prev_byte2];
32770                    literal_htree_index = context_map[context_map_slice + context];
32771                    --block_length[0];
32772                    prev_byte2 = prev_byte1;
32773                    prev_byte1 = ReadSymbol(
32774                      hgroup[0].codes,
32775                      hgroup[0].htrees[literal_htree_index],
32776                      br
32777                    );
32778                    ringbuffer[pos & ringbuffer_mask] = prev_byte1;
32779                    if ((pos & ringbuffer_mask) === ringbuffer_mask) {
32780                      output.write(
32781                        ringbuffer,
32782                        ringbuffer_size
32783                      );
32784                    }
32785                    ++pos;
32786                  }
32787                  meta_block_remaining_len -= insert_length;
32788                  if (meta_block_remaining_len <= 0) break;
32789                  if (distance_code < 0) {
32790                    var context;
32791                    br.readMoreInput();
32792                    if (block_length[2] === 0) {
32793                      DecodeBlockType(
32794                        num_block_types[2],
32795                        block_type_trees,
32796                        2,
32797                        block_type,
32798                        block_type_rb,
32799                        block_type_rb_index,
32800                        br
32801                      );
32802                      block_length[2] = ReadBlockLength(
32803                        block_len_trees,
32804                        2 * HUFFMAN_MAX_TABLE_SIZE,
32805                        br
32806                      );
32807                      dist_context_offset = block_type[2] << kDistanceContextBits;
32808                      dist_context_map_slice = dist_context_offset;
32809                    }
32810                    --block_length[2];
32811                    context = (copy_length > 4 ? 3 : copy_length - 2) & 255;
32812                    dist_htree_index = dist_context_map[dist_context_map_slice + context];
32813                    distance_code = ReadSymbol(
32814                      hgroup[2].codes,
32815                      hgroup[2].htrees[dist_htree_index],
32816                      br
32817                    );
32818                    if (distance_code >= num_direct_distance_codes) {
32819                      var nbits;
32820                      var postfix;
32821                      var offset4;
32822                      distance_code -= num_direct_distance_codes;
32823                      postfix = distance_code & distance_postfix_mask;
32824                      distance_code >>= distance_postfix_bits;
32825                      nbits = (distance_code >> 1) + 1;
32826                      offset4 = (2 + (distance_code & 1) << nbits) - 4;
32827                      distance_code = num_direct_distance_codes + (offset4 + br.readBits(nbits) << distance_postfix_bits) + postfix;
32828                    }
32829                  }
32830                  distance = TranslateShortCodes(
32831                    distance_code,
32832                    dist_rb,
32833                    dist_rb_idx
32834                  );
32835                  if (distance < 0) {
32836                    throw new Error(
32837                      "[BrotliDecompress] invalid distance"
32838                    );
32839                  }
32840                  if (pos < max_backward_distance && max_distance !== max_backward_distance) {
32841                    max_distance = pos;
32842                  } else {
32843                    max_distance = max_backward_distance;
32844                  }
32845                  copy_dst = pos & ringbuffer_mask;
32846                  if (distance > max_distance) {
32847                    if (copy_length >= BrotliDictionary.minDictionaryWordLength && copy_length <= BrotliDictionary.maxDictionaryWordLength) {
32848                      var offset4 = BrotliDictionary.offsetsByLength[copy_length];
32849                      var word_id = distance - max_distance - 1;
32850                      var shift4 = BrotliDictionary.sizeBitsByLength[copy_length];
32851                      var mask = (1 << shift4) - 1;
32852                      var word_idx = word_id & mask;
32853                      var transform_idx = word_id >> shift4;
32854                      offset4 += word_idx * copy_length;
32855                      if (transform_idx < Transform.kNumTransforms) {
32856                        var len = Transform.transformDictionaryWord(
32857                          ringbuffer,
32858                          copy_dst,
32859                          offset4,
32860                          copy_length,
32861                          transform_idx
32862                        );
32863                        copy_dst += len;
32864                        pos += len;
32865                        meta_block_remaining_len -= len;
32866                        if (copy_dst >= ringbuffer_end) {
32867                          output.write(
32868                            ringbuffer,
32869                            ringbuffer_size
32870                          );
32871                          for (var _x8 = 0; _x8 < copy_dst - ringbuffer_end; _x8++)
32872                            ringbuffer[_x8] = ringbuffer[ringbuffer_end + _x8];
32873                        }
32874                      } else {
32875                        throw new Error(
32876                          "Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len
32877                        );
32878                      }
32879                    } else {
32880                      throw new Error(
32881                        "Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len
32882                      );
32883                    }
32884                  } else {
32885                    if (distance_code > 0) {
32886                      dist_rb[dist_rb_idx & 3] = distance;
32887                      ++dist_rb_idx;
32888                    }
32889                    if (copy_length > meta_block_remaining_len) {
32890                      throw new Error(
32891                        "Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len
32892                      );
32893                    }
32894                    for (j2 = 0; j2 < copy_length; ++j2) {
32895                      ringbuffer[pos & ringbuffer_mask] = ringbuffer[pos - distance & ringbuffer_mask];
32896                      if ((pos & ringbuffer_mask) === ringbuffer_mask) {
32897                        output.write(
32898                          ringbuffer,
32899                          ringbuffer_size
32900                        );
32901                      }
32902                      ++pos;
32903                      --meta_block_remaining_len;
32904                    }
32905                  }
32906                  prev_byte1 = ringbuffer[pos - 1 & ringbuffer_mask];
32907                  prev_byte2 = ringbuffer[pos - 2 & ringbuffer_mask];
32908                }
32909                pos &= 1073741823;
32910              }
32911              output.write(ringbuffer, pos & ringbuffer_mask);
32912            }
32913            exports2.BrotliDecompress = BrotliDecompress;
32914            BrotliDictionary.init();
32915          },
32916          {
32917            "./bit_reader": 1,
32918            "./context": 2,
32919            "./dictionary": 6,
32920            "./huffman": 7,
32921            "./prefix": 9,
32922            "./streams": 10,
32923            "./transform": 11
32924          }
32925        ],
32926        4: [
32927          function(require2, module2, exports2) {
32928            var base64 = require2("base64-js");
32929            exports2.init = function() {
32930              var BrotliDecompressBuffer = require2("./decode").BrotliDecompressBuffer;
32931              var compressed = base64.toByteArray(
32932                require2("./dictionary.bin.js")
32933              );
32934              return BrotliDecompressBuffer(compressed);
32935            };
32936          },
32937          { "./decode": 3, "./dictionary.bin.js": 5, "base64-js": 8 }
32938        ],
32939        5: [
32940          function(require2, module2, exports2) {
32941            module2.exports = "W5/fcQLn5gKf2XUbAiQ1XULX+TZz6ADToDsgqk6qVfeC0e4m6OO2wcQ1J76ZBVRV1fRkEsdu//62zQsFEZWSTCnMhcsQKlS2qOhuVYYMGCkV0fXWEoMFbESXrKEZ9wdUEsyw9g4bJlEt1Y6oVMxMRTEVbCIwZzJzboK5j8m4YH02qgXYhv1V+PM435sLVxyHJihaJREEhZGqL03txGFQLm76caGO/ovxKvzCby/3vMTtX/459f0igi7WutnKiMQ6wODSoRh/8Lx1V3Q99MvKtwB6bHdERYRY0hStJoMjNeTsNX7bn+Y7e4EQ3bf8xBc7L0BsyfFPK43dGSXpL6clYC/I328h54/VYrQ5i0648FgbGtl837svJ35L3Mot/+nPlNpWgKx1gGXQYqX6n+bbZ7wuyCHKcUok12Xjqub7NXZGzqBx0SD+uziNf87t7ve42jxSKQoW3nyxVrWIGlFShhCKxjpZZ5MeGna0+lBkk+kaN8F9qFBAFgEogyMBdcX/T1W/WnMOi/7ycWUQloEBKGeC48MkiwqJkJO+12eQiOFHMmck6q/IjWW3RZlany23TBm+cNr/84/oi5GGmGBZWrZ6j+zykVozz5fT/QH/Da6WTbZYYPynVNO7kxzuNN2kxKKWche5WveitPKAecB8YcAHz/+zXLjcLzkdDSktNIDwZE9J9X+tto43oJy65wApM3mDzYtCwX9lM+N5VR3kXYo0Z3t0TtXfgBFg7gU8oN0Dgl7fZlUbhNll+0uuohRVKjrEd8egrSndy5/Tgd2gqjA4CAVuC7ESUmL3DZoGnfhQV8uwnpi8EGvAVVsowNRxPudck7+oqAUDkwZopWqFnW1riss0t1z6iCISVKreYGNvQcXv+1L9+jbP8cd/dPUiqBso2q+7ZyFBvENCkkVr44iyPbtOoOoCecWsiuqMSML5lv+vN5MzUr+Dnh73G7Q1YnRYJVYXHRJaNAOByiaK6CusgFdBPE40r0rvqXV7tksKO2DrHYXBTv8P5ysqxEx8VDXUDDqkPH6NNOV/a2WH8zlkXRELSa8P+heNyJBBP7PgsG1EtWtNef6/i+lcayzQwQCsduidpbKfhWUDgAEmyhGu/zVTacI6RS0zTABrOYueemnVa19u9fT23N/Ta6RvTpof5DWygqreCqrDAgM4LID1+1T/taU6yTFVLqXOv+/MuQOFnaF8vLMKD7tKWDoBdALgxF33zQccCcdHx8fKIVdW69O7qHtXpeGr9jbbpFA+qRMWr5hp0s67FPc7HAiLV0g0/peZlW7hJPYEhZyhpSwahnf93/tZgfqZWXFdmdXBzqxGHLrQKxoAY6fRoBhgCRPmmGueYZ5JexTVDKUIXzkG/fqp/0U3hAgQdJ9zumutK6nqWbaqvm1pgu03IYR+G+8s0jDBBz8cApZFSBeuWasyqo2OMDKAZCozS+GWSvL/HsE9rHxooe17U3s/lTE+VZAk4j3dp6uIGaC0JMiqR5CUsabPyM0dOYDR7Ea7ip4USZlya38YfPtvrX/tBlhHilj55nZ1nfN24AOAi9BVtz/Mbn8AEDJCqJgsVUa6nQnSxv2Fs7l/NlCzpfYEjmPrNyib/+t0ei2eEMjvNhLkHCZlci4WhBe7ePZTmzYqlY9+1pxtS4GB+5lM1BHT9tS270EWUDYFq1I0yY/fNiAk4bk9yBgmef/f2k6AlYQZHsNFnW8wBQxCd68iWv7/35bXfz3JZmfGligWAKRjIs3IpzxQ27vAglHSiOzCYzJ9L9A1CdiyFvyR66ucA4jKifu5ehwER26yV7HjKqn5Mfozo7Coxxt8LWWPT47BeMxX8p0Pjb7hZn+6bw7z3Lw+7653j5sI8CLu5kThpMlj1m4c2ch3jGcP1FsT13vuK3qjecKTZk2kHcOZY40UX+qdaxstZqsqQqgXz+QGF99ZJLqr3VYu4aecl1Ab5GmqS8k/GV5b95zxQ5d4EfXUJ6kTS/CXF/aiqKDOT1T7Jz5z0PwDUcwr9clLN1OJGCiKfqvah+h3XzrBOiLOW8wvn8gW6qE8vPxi+Efv+UH55T7PQFVMh6cZ1pZQlzJpKZ7P7uWvwPGJ6DTlR6wbyj3Iv2HyefnRo/dv7dNx+qaa0N38iBsR++Uil7Wd4afwDNsrzDAK4fXZwvEY/jdKuIKXlfrQd2C39dW7ntnRbIp9OtGy9pPBn/V2ASoi/2UJZfS+xuGLH8bnLuPlzdTNS6zdyk8Dt/h6sfOW5myxh1f+zf3zZ3MX/mO9cQPp5pOx967ZA6/pqHvclNfnUFF+rq+Vd7alKr6KWPcIDhpn6v2K6NlUu6LrKo8b/pYpU/Gazfvtwhn7tEOUuXht5rUJdSf6sLjYf0VTYDgwJ81yaqKTUYej/tbHckSRb/HZicwGJqh1mAHB/IuNs9dc9yuvF3D5Xocm3elWFdq5oEy70dYFit79yaLiNjPj5UUcVmZUVhQEhW5V2Z6Cm4HVH/R8qlamRYwBileuh07CbEce3TXa2JmXWBf+ozt319psboobeZhVnwhMZzOeQJzhpTDbP71Tv8HuZxxUI/+ma3XW6DFDDs4+qmpERwHGBd2edxwUKlODRdUWZ/g0GOezrbzOZauFMai4QU6GVHV6aPNBiBndHSsV4IzpvUiiYyg6OyyrL4Dj5q/Lw3N5kAwftEVl9rNd7Jk5PDij2hTH6wIXnsyXkKePxbmHYgC8A6an5Fob/KH5GtC0l4eFso+VpxedtJHdHpNm+Bvy4C79yVOkrZsLrQ3OHCeB0Ra+kBIRldUGlDCEmq2RwXnfyh6Dz+alk6eftI2n6sastRrGwbwszBeDRS/Fa/KwRJkCzTsLr/JCs5hOPE/MPLYdZ1F1fv7D+VmysX6NpOC8aU9F4Qs6HvDyUy9PvFGDKZ/P5101TYHFl8pjj6wm/qyS75etZhhfg0UEL4OYmHk6m6dO192AzoIyPSV9QedDA4Ml23rRbqxMPMxf7FJnDc5FTElVS/PyqgePzmwVZ26NWhRDQ+oaT7ly7ell4s3DypS1s0g+tOr7XHrrkZj9+x/mJBttrLx98lFIaRZzHz4aC7r52/JQ4VjHahY2/YVXZn/QC2ztQb/sY3uRlyc5vQS8nLPGT/n27495i8HPA152z7Fh5aFpyn1GPJKHuPL8Iw94DuW3KjkURAWZXn4EQy89xiKEHN1mk/tkM4gYDBxwNoYvRfE6LFqsxWJtPrDGbsnLMap3Ka3MUoytW0cvieozOmdERmhcqzG+3HmZv2yZeiIeQTKGdRT4HHNxekm1tY+/n06rGmFleqLscSERzctTKM6G9P0Pc1RmVvrascIxaO1CQCiYPE15bD7c3xSeW7gXxYjgxcrUlcbIvO0r+Yplhx0kTt3qafDOmFyMjgGxXu73rddMHpV1wMubyAGcf/v5dLr5P72Ta9lBF+fzMJrMycwv+9vnU3ANIl1cH9tfW7af8u0/HG0vV47jNFXzFTtaha1xvze/s8KMtCYucXc1nzfd/MQydUXn/b72RBt5wO/3jRcMH9BdhC/yctKBIveRYPrNpDWqBsO8VMmP+WvRaOcA4zRMR1PvSoO92rS7pYEv+fZfEfTMzEdM+6X5tLlyxExhqLRkms5EuLovLfx66de5fL2/yX02H52FPVwahrPqmN/E0oVXnsCKhbi/yRxX83nRbUKWhzYceXOntfuXn51NszJ6MO73pQf5Pl4in3ec4JU8hF7ppV34+mm9r1LY0ee/i1O1wpd8+zfLztE0cqBxggiBi5Bu95v9l3r9r/U5hweLn+TbfxowrWDqdJauKd8+q/dH8sbPkc9ttuyO94f7/XK/nHX46MPFLEb5qQlNPvhJ50/59t9ft3LXu7uVaWaO2bDrDCnRSzZyWvFKxO1+vT8MwwunR3bX0CkfPjqb4K9O19tn5X50PvmYpEwHtiW9WtzuV/s76B1zvLLNkViNd8ySxIl/3orfqP90TyTGaf7/rx8jQzeHJXdmh/N6YDvbvmTBwCdxfEQ1NcL6wNMdSIXNq7b1EUzRy1/Axsyk5p22GMG1b+GxFgbHErZh92wuvco0AuOLXct9hvw2nw/LqIcDRRmJmmZzcgUa7JpM/WV/S9IUfbF56TL2orzqwebdRD8nIYNJ41D/hz37Fo11p2Y21wzPcn713qVGhqtevStYfGH4n69OEJtPvbbLYWvscDqc3Hgnu166+tAyLnxrX0Y5zoYjV++1sI7t5kMr02KT/+uwtkc+rZLOf/qn/s3nYCf13Dg8/sB2diJgjGqjQ+TLhxbzyue2Ob7X6/9lUwW7a+lbznHzOYy8LKW1C/uRPbQY3KW/0gO9LXunHLvPL97afba9bFtc9hmz7GAttjVYlCvQAiOwAk/gC5+hkLEs6tr3AZKxLJtOEwk2dLxTYWsIB/j/ToWtIWzo906FrSG8iaqqqqqqiIiIiAgzMzMzNz+AyK+01/zi8n8S+Y1MjoRaQ80WU/G8MBlO+53VPXANrWm4wzGUVZUjjBJZVdhpcfkjsmcWaO+UEldXi1e+zq+HOsCpknYshuh8pOLISJun7TN0EIGW2xTnlOImeecnoGW4raxe2G1T3HEvfYUYMhG+gAFOAwh5nK8mZhwJMmN7r224QVsNFvZ87Z0qatvknklyPDK3Hy45PgVKXji52Wen4d4PlFVVYGnNap+fSpFbK90rYnhUc6n91Q3AY9E0tJOFrcfZtm/491XbcG/jsViUPPX76qmeuiz+qY1Hk7/1VPM405zWVuoheLUimpWYdVzCmUdKHebMdzgrYrb8mL2eeLSnRWHdonfZa8RsOU9F37w+591l5FLYHiOqWeHtE/lWrBHcRKp3uhtr8yXm8LU/5ms+NM6ZKsqu90cFZ4o58+k4rdrtB97NADFbwmEG7lXqvirhOTOqU14xuUF2myIjURcPHrPOQ4lmM3PeMg7bUuk0nnZi67bXsU6H8lhqIo8TaOrEafCO1ARK9PjC0QOoq2BxmMdgYB9G/lIb9++fqNJ2s7BHGFyBNmZAR8J3KCo012ikaSP8BCrf6VI0X5xdnbhHIO+B5rbOyB54zXkzfObyJ4ecwxfqBJMLFc7m59rNcw7hoHnFZ0b00zee+gTqvjm61Pb4xn0kcDX4jvHM0rBXZypG3DCKnD/Waa/ZtHmtFPgO5eETx+k7RrVg3aSwm2YoNXnCs3XPQDhNn+Fia6IlOOuIG6VJH7TP6ava26ehKHQa2T4N0tcZ9dPCGo3ZdnNltsHQbeYt5vPnJezV/cAeNypdml1vCHI8M81nSRP5Qi2+mI8v/sxiZru9187nRtp3f/42NemcONa+4eVC3PCZzc88aZh851CqSsshe70uPxeN/dmYwlwb3trwMrN1Gq8jbnApcVDx/yDPeYs5/7r62tsQ6lLg+DiFXTEhzR9dHqv0iT4tgj825W+H3XiRUNUZT2kR9Ri0+lp+UM3iQtS8uOE23Ly4KYtvqH13jghUntJRAewuzNLDXp8RxdcaA3cMY6TO2IeSFRXezeWIjCqyhsUdMYuCgYTZSKpBype1zRfq8FshvfBPc6BAQWl7/QxIDp3VGo1J3vn42OEs3qznws+YLRXbymyB19a9XBx6n/owcyxlEYyFWCi+kG9F+EyD/4yn80+agaZ9P7ay2Dny99aK2o91FkfEOY8hBwyfi5uwx2y5SaHmG+oq/zl1FX/8irOf8Y3vAcX/6uLP6A6nvMO24edSGPjQc827Rw2atX+z2bKq0CmW9mOtYnr5/AfDa1ZfPaXnKtlWborup7QYx+Or2uWb+N3N//2+yDcXMqIJdf55xl7/vsj4WoPPlxLxtVrkJ4w/tTe3mLdATOOYwxcq52w5Wxz5MbPdVs5O8/lhfE7dPj0bIiPQ3QV0iqm4m3YX8hRfc6jQ3fWepevMqUDJd86Z4vwM40CWHnn+WphsGHfieF02D3tmZvpWD+kBpNCFcLnZhcmmrhpGzzbdA+sQ1ar18OJD87IOKOFoRNznaHPNHUfUNhvY1iU+uhvEvpKHaUn3qK3exVVyX4joipp3um7FmYJWmA+WbIDshRpbVRx5/nqstCgy87FGbfVB8yDGCqS+2qCsnRwnSAN6zgzxfdB2nBT/vZ4/6uxb6oH8b4VBRxiIB93wLa47hG3w2SL/2Z27yOXJFwZpSJaBYyvajA7vRRYNKqljXKpt/CFD/tSMr18DKKbwB0xggBePatl1nki0yvqW5zchlyZmJ0OTxJ3D+fsYJs/mxYN5+Le5oagtcl+YsVvy8kSjI2YGvGjvmpkRS9W2dtXqWnVuxUhURm1lKtou/hdEq19VBp9OjGvHEQSmrpuf2R24mXGheil8KeiANY8fW1VERUfBImb64j12caBZmRViZHbeVMjCrPDg9A90IXrtnsYCuZtRQ0PyrKDjBNOsPfKsg1pA02gHlVr0OXiFhtp6nJqXVzcbfM0KnzC3ggOENPE9VBdmHKN6LYaijb4wXxJn5A0FSDF5j+h1ooZx885Jt3ZKzO5n7Z5WfNEOtyyPqQEnn7WLv5Fis3PdgMshjF1FRydbNyeBbyKI1oN1TRVrVK7kgsb/zjX4NDPIRMctVeaxVB38Vh1x5KbeJbU138AM5KzmZu3uny0ErygxiJF7GVXUrPzFxrlx1uFdAaZFDN9cvIb74qD9tzBMo7L7WIEYK+sla1DVMHpF0F7b3+Y6S+zjvLeDMCpapmJo1weBWuxKF3rOocih1gun4BoJh1kWnV/Jmiq6uOhK3VfKxEHEkafjLgK3oujaPzY6SXg8phhL4TNR1xvJd1Wa0aYFfPUMLrNBDCh4AuGRTbtKMc6Z1Udj8evY/ZpCuMAUefdo69DZUngoqE1P9A3PJfOf7WixCEj+Y6t7fYeHbbxUAoFV3M89cCKfma3fc1+jKRe7MFWEbQqEfyzO2x/wrO2VYH7iYdQ9BkPyI8/3kXBpLaCpU7eC0Yv/am/tEDu7HZpqg0EvHo0nf/R/gRzUWy33/HXMJQeu1GylKmOkXzlCfGFruAcPPhaGqZOtu19zsJ1SO2Jz4Ztth5cBX6mRQwWmDwryG9FUMlZzNckMdK+IoMJv1rOWnBamS2w2KHiaPMPLC15hCZm4KTpoZyj4E2TqC/P6r7/EhnDMhKicZZ1ZwxuC7DPzDGs53q8gXaI9kFTK+2LTq7bhwsTbrMV8Rsfua5lMS0FwbTitUVnVa1yTb5IX51mmYnUcP9wPr8Ji1tiYJeJV9GZTrQhF7vvdU2OTU42ogJ9FDwhmycI2LIg++03C6scYhUyUuMV5tkw6kGUoL+mjNC38+wMdWNljn6tGPpRES7veqrSn5TRuv+dh6JVL/iDHU1db4c9WK3++OrH3PqziF916UMUKn8G67nN60GfWiHrXYhUG3yVWmyYak59NHj8t1smG4UDiWz2rPHNrKnN4Zo1LBbr2/eF9YZ0n0blx2nG4X+EKFxvS3W28JESD+FWk61VCD3z/URGHiJl++7TdBwkCj6tGOH3qDb0QqcOF9Kzpj0HUb/KyFW3Yhj2VMKJqGZleFBH7vqvf7WqLC3XMuHV8q8a4sTFuxUtkD/6JIBvKaVjv96ndgruKZ1k/BHzqf2K9fLk7HGXANyLDd1vxkK/i055pnzl+zw6zLnwXlVYVtfmacJgEpRP1hbGgrYPVN6v2lG+idQNGmwcKXu/8xEj/P6qe/sB2WmwNp6pp8jaISMkwdleFXYK55NHWLTTbutSUqjBfDGWo/Yg918qQ+8BRZSAHZbfuNZz2O0sov1Ue4CWlVg3rFhM3Kljj9ksGd/NUhk4nH+a5UN2+1i8+NM3vRNp7uQ6sqexSCukEVlVZriHNqFi5rLm9TMWa4qm3idJqppQACol2l4VSuvWLfta4JcXy3bROPNbXOgdOhG47LC0CwW/dMlSx4Jf17aEU3yA1x9p+Yc0jupXgcMuYNku64iYOkGToVDuJvlbEKlJqsmiHbvNrIVZEH+yFdF8DbleZ6iNiWwMqvtMp/mSpwx5KxRrT9p3MAPTHGtMbfvdFhyj9vhaKcn3At8Lc16Ai+vBcSp1ztXi7rCJZx/ql7TXcclq6Q76UeKWDy9boS0WHIjUuWhPG8LBmW5y2rhuTpM5vsLt+HOLh1Yf0DqXa9tsfC+kaKt2htA0ai/L2i7RKoNjEwztkmRU0GfgW1TxUvPFhg0V7DdfWJk5gfrccpYv+MA9M0dkGTLECeYwUixRzjRFdmjG7zdZIl3XKB9YliNKI31lfa7i2JG5C8Ss+rHe0D7Z696/V3DEAOWHnQ9yNahMUl5kENWS6pHKKp2D1BaSrrHdE1w2qNxIztpXgUIrF0bm15YML4b6V1k+GpNysTahKMVrrS85lTVo9OGJ96I47eAy5rYWpRf/mIzeoYU1DKaQCTUVwrhHeyNoDqHel+lLxr9WKzhSYw7vrR6+V5q0pfi2k3L1zqkubY6rrd9ZLvSuWNf0uqnkY+FpTvFzSW9Fp0b9l8JA7THV9eCi/PY/SCZIUYx3BU2alj7Cm3VV6eYpios4b6WuNOJdYXUK3zTqj5CVG2FqYM4Z7CuIU0qO05XR0d71FHM0YhZmJmTRfLlXEumN82BGtzdX0S19t1e+bUieK8zRmqpa4Qc5TSjifmaQsY2ETLjhI36gMR1+7qpjdXXHiceUekfBaucHShAOiFXmv3sNmGQyU5iVgnoocuonQXEPTFwslHtS8R+A47StI9wj0iSrtbi5rMysczFiImsQ+bdFClnFjjpXXwMy6O7qfjOr8Fb0a7ODItisjnn3EQO16+ypd1cwyaAW5Yzxz5QknfMO7643fXW/I9y3U2xH27Oapqr56Z/tEzglj6IbT6HEHjopiXqeRbe5mQQvxtcbDOVverN0ZgMdzqRYRjaXtMRd56Q4cZSmdPvZJdSrhJ1D9zNXPqAEqPIavPdfubt5oke2kmv0dztIszSv2VYuoyf1UuopbsYb+uX9h6WpwjpgtZ6fNNawNJ4q8O3CFoSbioAaOSZMx2GYaPYB+rEb6qjQiNRFQ76TvwNFVKD+BhH9VhcKGsXzmMI7BptU/CNWolM7YzROvpFAntsiWJp6eR2d3GarcYShVYSUqhmYOWj5E96NK2WvmYNTeY7Zs4RUEdv9h9QT4EseKt6LzLrqEOs3hxAY1MaNWpSa6zZx8F3YOVeCYMS88W+CYHDuWe4yoc6YK+djDuEOrBR5lvh0r+Q9uM88lrjx9x9AtgpQVNE8r+3O6Gvw59D+kBF/UMXyhliYUtPjmvXGY6Dk3x+kEOW+GtdMVC4EZTqoS/jmR0P0LS75DOc/w2vnri97M4SdbZ8qeU7gg8DVbERkU5geaMQO3mYrSYyAngeUQqrN0C0/vsFmcgWNXNeidsTAj7/4MncJR0caaBUpbLK1yBCBNRjEv6KvuVSdpPnEMJdsRRtqJ+U8tN1gXA4ePHc6ZT0eviI73UOJF0fEZ8YaneAQqQdGphNvwM4nIqPnXxV0xA0fnCT+oAhJuyw/q8jO0y8CjSteZExwBpIN6SvNp6A5G/abi6egeND/1GTguhuNjaUbbnSbGd4L8937Ezm34Eyi6n1maeOBxh3PI0jzJDf5mh/BsLD7F2GOKvlA/5gtvxI3/eV4sLfKW5Wy+oio+es/u6T8UU+nsofy57Icb/JlZHPFtCgd/x+bwt3ZT+xXTtTtTrGAb4QehC6X9G+8YT+ozcLxDsdCjsuOqwPFnrdLYaFc92Ui0m4fr39lYmlCaqTit7G6O/3kWDkgtXjNH4BiEm/+jegQnihOtfffn33WxsFjhfMd48HT+f6o6X65j7XR8WLSHMFkxbvOYsrRsF1bowDuSQ18Mkxk4qz2zoGPL5fu9h2Hqmt1asl3Q3Yu3szOc+spiCmX4AETBM3pLoTYSp3sVxahyhL8eC4mPN9k2x3o0xkiixIzM3CZFzf5oR4mecQ5+ax2wCah3/crmnHoqR0+KMaOPxRif1oEFRFOO/kTPPmtww+NfMXxEK6gn6iU32U6fFruIz8Q4WgljtnaCVTBgWx7diUdshC9ZEa5yKpRBBeW12r/iNc/+EgNqmhswNB8SBoihHXeDF7rrWDLcmt3V8GYYN7pXRy4DZjj4DJuUBL5iC3DQAaoo4vkftqVTYRGLS3mHZ7gdmdTTqbgNN/PTdTCOTgXolc88MhXAEUMdX0iy1JMuk5wLsgeu0QUYlz2S4skTWwJz6pOm/8ihrmgGfFgri+ZWUK2gAPHgbWa8jaocdSuM4FJYoKicYX/ZSENkg9Q1ZzJfwScfVnR2DegOGwCvmogaWJCLQepv9WNlU6QgsmOwICquU28Mlk3d9W5E81lU/5Ez0LcX6lwKMWDNluNKfBDUy/phJgBcMnfkh9iRxrdOzgs08JdPB85Lwo+GUSb4t3nC+0byqMZtO2fQJ4U2zGIr49t/28qmmGv2RanDD7a3FEcdtutkW8twwwlUSpb8QalodddbBfNHKDQ828BdE7OBgFdiKYohLawFYqpybQoxATZrheLhdI7+0Zlu9Q1myRcd15r9UIm8K2LGJxqTegntqNVMKnf1a8zQiyUR1rxoqjiFxeHxqFcYUTHfDu7rhbWng6qOxOsI+5A1p9mRyEPdVkTlE24vY54W7bWc6jMgZvNXdfC9/9q7408KDsbdL7Utz7QFSDetz2picArzrdpL8OaCHC9V26RroemtDZ5yNM/KGkWMyTmfnInEvwtSD23UcFcjhaE3VKzkoaEMKGBft4XbIO6forTY1lmGQwVmKicBCiArDzE+1oIxE08fWeviIOD5TznqH+OoHadvoOP20drMPe5Irg3XBQziW2XDuHYzjqQQ4wySssjXUs5H+t3FWYMHppUnBHMx/nYIT5d7OmjDbgD9F6na3m4l7KdkeSO3kTEPXafiWinogag7b52taiZhL1TSvBFmEZafFq2H8khQaZXuitCewT5FBgVtPK0j4xUHPfUz3Q28eac1Z139DAP23dgki94EC8vbDPTQC97HPPSWjUNG5tWKMsaxAEMKC0665Xvo1Ntd07wCLNf8Q56mrEPVpCxlIMVlQlWRxM3oAfpgIc+8KC3rEXUog5g06vt7zgXY8grH7hhwVSaeuvC06YYRAwpbyk/Unzj9hLEZNs2oxPQB9yc+GnL6zTgq7rI++KDJwX2SP8Sd6YzTuw5lV/kU6eQxRD12omfQAW6caTR4LikYkBB1CMOrvgRr/VY75+NSB40Cni6bADAtaK+vyxVWpf9NeKJxN2KYQ8Q2xPB3K1s7fuhvWbr2XpgW044VD6DRs0qXoqKf1NFsaGvKJc47leUV3pppP/5VTKFhaGuol4Esfjf5zyCyUHmHthChcYh4hYLQF+AFWsuq4t0wJyWgdwQVOZiV0efRHPoK5+E1vjz9wTJmVkITC9oEstAsyZSgE/dbicwKr89YUxKZI+owD205Tm5lnnmDRuP/JnzxX3gMtlrcX0UesZdxyQqYQuEW4R51vmQ5xOZteUd8SJruMlTUzhtVw/Nq7eUBcqN2/HVotgfngif60yKEtoUx3WYOZlVJuJOh8u59fzSDPFYtQgqDUAGyGhQOAvKroXMcOYY0qjnStJR/G3aP+Jt1sLVlGV8POwr/6OGsqetnyF3TmTqZjENfnXh51oxe9qVUw2M78EzAJ+IM8lZ1MBPQ9ZWSVc4J3mWSrLKrMHReA5qdGoz0ODRsaA+vwxXA2cAM4qlfzBJA6581m4hzxItQw5dxrrBL3Y6kCbUcFxo1S8jyV44q//+7ASNNudZ6xeaNOSIUffqMn4A9lIjFctYn2gpEPAb3f7p3iIBN8H14FUGQ9ct2hPsL+cEsTgUrR47uJVN4n4wt/wgfwwHuOnLd4yobkofy8JvxSQTA7rMpDIc608SlZFJfZYcmbT0tAHpPE8MrtQ42siTUNWxqvWZOmvu9f0JPoQmg+6l7sZWwyfi6PXkxJnwBraUG0MYG4zYHQz3igy/XsFkx5tNQxw43qvI9dU3f0DdhOUlHKjmi1VAr2Kiy0HZwD8VeEbhh0OiDdMYspolQsYdSwjCcjeowIXNZVUPmL2wwIkYhmXKhGozdCJ4lRKbsf4NBh/XnQoS92NJEWOVOFs2YhN8c5QZFeK0pRdAG40hqvLbmoSA8xQmzOOEc7wLcme9JOsjPCEgpCwUs9E2DohMHRhUeyGIN6TFvrbny8nDuilsDpzrH5mS76APoIEJmItS67sQJ+nfwddzmjPxcBEBBCw0kWDwd0EZCkNeOD7NNQhtBm7KHL9mRxj6U1yWU2puzlIDtpYxdH4ZPeXBJkTGAJfUr/oTCz/iypY6uXaR2V1doPxJYlrw2ghH0D5gbrhFcIxzYwi4a/4hqVdf2DdxBp6vGYDjavxMAAoy+1+3aiO6S3W/QAKNVXagDtvsNtx7Ks+HKgo6U21B+QSZgIogV5Bt+BnXisdVfy9VyXV+2P5fMuvdpAjM1o/K9Z+XnE4EOCrue+kcdYHqAQ0/Y/OmNlQ6OI33jH/uD1RalPaHpJAm2av0/xtpqdXVKNDrc9F2izo23Wu7firgbURFDNX9eGGeYBhiypyXZft2j3hTvzE6PMWKsod//rEILDkzBXfi7xh0eFkfb3/1zzPK/PI5Nk3FbZyTl4mq5BfBoVoqiPHO4Q4QKZAlrQ3MdNfi3oxIjvsM3kAFv3fdufurqYR3PSwX/mpGy/GFI/B2MNPiNdOppWVbs/gjF3YH+QA9jMhlAbhvasAHstB0IJew09iAkmXHl1/TEj+jvHOpOGrPRQXbPADM+Ig2/OEcUcpgPTItMtW4DdqgfYVI/+4hAFWYjUGpOP/UwNuB7+BbKOcALbjobdgzeBQfjgNSp2GOpxzGLj70Vvq5cw2AoYENwKLUtJUX8sGRox4dVa/TN4xKwaKcl9XawQR/uNus700Hf17pyNnezrUgaY9e4MADhEDBpsJT6y1gDJs1q6wlwGhuUzGR7C8kgpjPyHWwsvrf3yn1zJEIRa5eSxoLAZOCR9xbuztxFRJW9ZmMYfCFJ0evm9F2fVnuje92Rc4Pl6A8bluN8MZyyJGZ0+sNSb//DvAFxC2BqlEsFwccWeAl6CyBcQV1bx4mQMBP1Jxqk1EUADNLeieS2dUFbQ/c/kvwItbZ7tx0st16viqd53WsRmPTKv2AD8CUnhtPWg5aUegNpsYgasaw2+EVooeNKmrW3MFtj76bYHJm5K9gpAXZXsE5U8DM8XmVOSJ1F1WnLy6nQup+jx52bAb+rCq6y9WXl2B2oZDhfDkW7H3oYfT/4xx5VncBuxMXP2lNfhUVQjSSzSRbuZFE4vFawlzveXxaYKVs8LpvAb8IRYF3ZHiRnm0ADeNPWocwxSzNseG7NrSEVZoHdKWqaGEBz1N8Pt7kFbqh3LYmAbm9i1IChIpLpM5AS6mr6OAPHMwwznVy61YpBYX8xZDN/a+lt7n+x5j4bNOVteZ8lj3hpAHSx1VR8vZHec4AHO9XFCdjZ9eRkSV65ljMmZVzaej2qFn/qt1lvWzNZEfHxK3qOJrHL6crr0CRzMox5f2e8ALBB4UGFZKA3tN6F6IXd32GTJXGQ7DTi9j/dNcLF9jCbDcWGKxoKTYblIwbLDReL00LRcDPMcQuXLMh5YzgtfjkFK1DP1iDzzYYVZz5M/kWYRlRpig1htVRjVCknm+h1M5LiEDXOyHREhvzCGpFZjHS0RsK27o2avgdilrJkalWqPW3D9gmwV37HKmfM3F8YZj2ar+vHFvf3B8CRoH4kDHIK9mrAg+owiEwNjjd9V+FsQKYR8czJrUkf7Qoi2YaW6EVDZp5zYlqiYtuXOTHk4fAcZ7qBbdLDiJq0WNV1l2+Hntk1mMWvxrYmc8kIx8G3rW36J6Ra4lLrTOCgiOihmow+YnzUT19jbV2B3RWqSHyxkhmgsBqMYWvOcUom1jDQ436+fcbu3xf2bbeqU/ca+C4DOKE+e3qvmeMqW3AxejfzBRFVcwVYPq4L0APSWWoJu+5UYX4qg5U6YTioqQGPG9XrnuZ/BkxuYpe6Li87+18EskyQW/uA+uk2rpHpr6hut2TlVbKgWkFpx+AZffweiw2+VittkEyf/ifinS/0ItRL2Jq3tQOcxPaWO2xrG68GdFoUpZgFXaP2wYVtRc6xYCfI1CaBqyWpg4bx8OHBQwsV4XWMibZZ0LYjWEy2IxQ1mZrf1/UNbYCJplWu3nZ4WpodIGVA05d+RWSS+ET9tH3RfGGmNI1cIY7evZZq7o+a0bjjygpmR3mVfalkT/SZGT27Q8QGalwGlDOS9VHCyFAIL0a1Q7JiW3saz9gqY8lqKynFrPCzxkU4SIfLc9VfCI5edgRhDXs0edO992nhTKHriREP1NJC6SROMgQ0xO5kNNZOhMOIT99AUElbxqeZF8A3xrfDJsWtDnUenAHdYWSwAbYjFqQZ+D5gi3hNK8CSxU9i6f6ClL9IGlj1OPMQAsr84YG6ijsJpCaGWj75c3yOZKBB9mNpQNPUKkK0D6wgLH8MGoyRxTX6Y05Q4AnYNXMZwXM4eij/9WpsM/9CoRnFQXGR6MEaY+FXvXEO3RO0JaStk6OXuHVATHJE+1W+TU3bSZ2ksMtqjO0zfSJCdBv7y2d8DMx6TfVme3q0ZpTKMMu4YL/t7ciTNtdDkwPogh3Cnjx7qk08SHwf+dksZ7M2vCOlfsF0hQ6J4ehPCaHTNrM/zBSOqD83dBEBCW/F/LEmeh0nOHd7oVl3/Qo/9GUDkkbj7yz+9cvvu+dDAtx8NzCDTP4iKdZvk9MWiizvtILLepysflSvTLFBZ37RLwiriqyRxYv/zrgFd/9XVHh/OmzBvDX4mitMR/lUavs2Vx6cR94lzAkplm3IRNy4TFfu47tuYs9EQPIPVta4P64tV+sZ7n3ued3cgEx2YK+QL5+xms6osk8qQbTyuKVGdaX9FQqk6qfDnT5ykxk0VK7KZ62b6DNDUfQlqGHxSMKv1P0XN5BqMeKG1P4Wp5QfZDUCEldppoX0U6ss2jIko2XpURKCIhfaOqLPfShdtS37ZrT+jFRSH2xYVV1rmT/MBtRQhxiO4MQ3iAGlaZi+9PWBEIXOVnu9jN1f921lWLZky9bqbM3J2MAAI9jmuAx3gyoEUa6P2ivs0EeNv/OR+AX6q5SW6l5HaoFuS6jr6yg9limu+P0KYKzfMXWcQSfTXzpOzKEKpwI3YGXZpSSy2LTlMgfmFA3CF6R5c9xWEtRuCg2ZPUQ2Nb6dRFTNd4TfGHrnEWSKHPuRyiJSDAZ+KX0VxmSHjGPbQTLVpqixia2uyhQ394gBMt7C3ZAmxn/DJS+l1fBsAo2Eir/C0jG9csd4+/tp12pPc/BVJGaK9mfvr7M/CeztrmCO5qY06Edi4xAGtiEhnWAbzLy2VEyazE1J5nPmgU4RpW4Sa0TnOT6w5lgt3/tMpROigHHmexBGAMY0mdcDbDxWIz41NgdD6oxgHsJRgr5RnT6wZAkTOcStU4NMOQNemSO7gxGahdEsC+NRVGxMUhQmmM0llWRbbmFGHzEqLM4Iw0H7577Kyo+Zf+2cUFIOw93gEY171vQaM0HLwpjpdRR6Jz7V0ckE7XzYJ0TmY9znLdzkva0vNrAGGT5SUZ5uaHDkcGvI0ySpwkasEgZPMseYcu85w8HPdSNi+4T6A83iAwDbxgeFcB1ZM2iGXzFcEOUlYVrEckaOyodfvaYSQ7GuB4ISE0nYJc15X/1ciDTPbPCgYJK55VkEor4LvzL9S2WDy4xj+6FOqVyTAC2ZNowheeeSI5hA/02l8UYkv4nk9iaVn+kCVEUstgk5Hyq+gJm6R9vG3rhuM904he/hFmNQaUIATB1y3vw+OmxP4X5Yi6A5I5jJufHCjF9+AGNwnEllZjUco6XhsO5T5+R3yxz5yLVOnAn0zuS+6zdj0nTJbEZCbXJdtpfYZfCeCOqJHoE2vPPFS6eRLjIJlG69X93nfR0mxSFXzp1Zc0lt/VafDaImhUMtbnqWVb9M4nGNQLN68BHP7AR8Il9dkcxzmBv8PCZlw9guY0lurbBsmNYlwJZsA/B15/HfkbjbwPddaVecls/elmDHNW2r4crAx43feNkfRwsaNq/yyJ0d/p5hZ6AZajz7DBfUok0ZU62gCzz7x8eVfJTKA8IWn45vINLSM1q+HF9CV9qF3zP6Ml21kPPL3CXzkuYUlnSqT+Ij4tI/od5KwIs+tDajDs64owN7tOAd6eucGz+KfO26iNcBFpbWA5732bBNWO4kHNpr9D955L61bvHCF/mwSrz6eQaDjfDEANqGMkFc+NGxpKZzCD2sj/JrHd+zlPQ8Iz7Q+2JVIiVCuCKoK/hlAEHzvk/Piq3mRL1rT/fEh9hoT5GJmeYswg1otiKydizJ/fS2SeKHVu6Z3JEHjiW8NaTQgP5xdBli8nC57XiN9hrquBu99hn9zqwo92+PM2JXtpeVZS0PdqR5mDyDreMMtEws+CpwaRyyzoYtfcvt9PJIW0fJVNNi/FFyRsea7peLvJrL+5b4GOXJ8tAr+ATk9f8KmiIsRhqRy0vFzwRV3Z5dZ3QqIU8JQ/uQpkJbjMUMFj2F9sCFeaBjI4+fL/oN3+LQgjI4zuAfQ+3IPIPFQBccf0clJpsfpnBxD84atwtupkGqKvrH7cGNl/QcWcSi6wcVDML6ljOgYbo+2BOAWNNjlUBPiyitUAwbnhFvLbnqw42kR3Yp2kv2dMeDdcGOX5kT4S6M44KHEB/SpCfl7xgsUvs+JNY9G3O2X/6FEt9FyAn57lrbiu+tl83sCymSvq9eZbe9mchL7MTf/Ta78e80zSf0hYY5eUU7+ff14jv7Xy8qjzfzzzvaJnrIdvFb5BLWKcWGy5/w7+vV2cvIfwHqdTB+RuJK5oj9mbt0Hy94AmjMjjwYNZlNS6uiyxNnwNyt3gdreLb64p/3+08nXkb92LTkkRgFOwk1oGEVllcOj5lv1hfAZywDows0944U8vUFw+A/nuVq/UCygsrmWIBnHyU01d0XJPwriEOvx/ISK6Pk4y2w0gmojZs7lU8TtakBAdne4v/aNxmMpK4VcGMp7si0yqsiolXRuOi1Z1P7SqD3Zmp0CWcyK4Ubmp2SXiXuI5nGLCieFHKHNRIlcY3Pys2dwMTYCaqlyWSITwr2oGXvyU3h1Pf8eQ3w1bnD7ilocVjYDkcXR3Oo1BXgMLTUjNw2xMVwjtp99NhSVc5aIWrDQT5DHPKtCtheBP4zHcw4dz2eRdTMamhlHhtfgqJJHI7NGDUw1XL8vsSeSHyKqDtqoAmrQqsYwvwi7HW3ojWyhIa5oz5xJTaq14NAzFLjVLR12rRNUQ6xohDnrWFb5bG9yf8aCD8d5phoackcNJp+Dw3Due3RM+5Rid7EuIgsnwgpX0rUWh/nqPtByMhMZZ69NpgvRTKZ62ViZ+Q7Dp5r4K0d7EfJuiy06KuIYauRh5Ecrhdt2QpTS1k1AscEHvapNbU3HL1F2TFyR33Wxb5MvH5iZsrn3SDcsxlnnshO8PLwmdGN+paWnQuORtZGX37uhFT64SeuPsx8UOokY6ON85WdQ1dki5zErsJGazcBOddWJEKqNPiJpsMD1GrVLrVY+AOdPWQneTyyP1hRX/lMM4ZogGGOhYuAdr7F/DOiAoc++cn5vlf0zkMUJ40Z1rlgv9BelPqVOpxKeOpzKdF8maK+1Vv23MO9k/8+qpLoxrIGH2EDQlnGmH8CD31G8QqlyQIcpmR5bwmSVw9/Ns6IHgulCRehvZ/+VrM60Cu/r3AontFfrljew74skYe2uyn7JKQtFQBQRJ9ryGic/zQOsbS4scUBctA8cPToQ3x6ZBQu6DPu5m1bnCtP8TllLYA0UTQNVqza5nfew3Mopy1GPUwG5jsl0OVXniPmAcmLqO5HG8Hv3nSLecE9oOjPDXcsTxoCBxYyzBdj4wmnyEV4kvFDunipS8SSkvdaMnTBN9brHUR8xdmmEAp/Pdqk9uextp1t+JrtXwpN/MG2w/qhRMpSNxQ1uhg/kKO30eQ/FyHUDkWHT8V6gGRU4DhDMxZu7xXij9Ui6jlpWmQCqJg3FkOTq3WKneCRYZxBXMNAVLQgHXSCGSqNdjebY94oyIpVjMYehAiFx/tqzBXFHZaL5PeeD74rW5OysFoUXY8sebUZleFTUa/+zBKVTFDopTReXNuZq47QjkWnxjirCommO4L/GrFtVV21EpMyw8wyThL5Y59d88xtlx1g1ttSICDwnof6lt/6zliPzgVUL8jWBjC0o2D6Kg+jNuThkAlaDJsq/AG2aKA//A76avw2KNqtv223P+Wq3StRDDNKFFgtsFukYt1GFDWooFVXitaNhb3RCyJi4cMeNjROiPEDb4k+G3+hD8tsg+5hhmSc/8t2JTSwYoCzAI75doq8QTHe+E/Tw0RQSUDlU+6uBeNN3h6jJGX/mH8oj0i3caCNsjvTnoh73BtyZpsflHLq6AfwJNCDX4S98h4+pCOhGKDhV3rtkKHMa3EG4J9y8zFWI4UsfNzC/Rl5midNn7gwoN9j23HGCQQ+OAZpTTPMdiVow740gIyuEtd0qVxMyNXhHcnuXRKdw5wDUSL358ktjMXmAkvIB73BLa1vfF9BAUZInPYJiwxqFWQQBVk7gQH4ojfUQ/KEjn+A/WR6EEe4CtbpoLe1mzHkajgTIoE0SLDHVauKhrq12zrAXBGbPPWKCt4DGedq3JyGRbmPFW32bE7T20+73BatV/qQhhBWfWBFHfhYWXjALts38FemnoT+9bn1jDBMcUMmYgSc0e7GQjv2MUBwLU8ionCpgV+Qrhg7iUIfUY6JFxR0Y+ZTCPM+rVuq0GNLyJXX6nrUTt8HzFBRY1E/FIm2EeVA9NcXrj7S6YYIChVQCWr/m2fYUjC4j0XLkzZ8GCSLfmkW3PB/xq+nlXsKVBOj7vTvqKCOMq7Ztqr3cQ+N8gBnPaAps+oGwWOkbuxnRYj/x/WjiDclVrs22xMK4qArE1Ztk1456kiJriw6abkNeRHogaPRBgbgF9Z8i/tbzWELN4CvbqtrqV9TtGSnmPS2F9kqOIBaazHYaJ9bi3AoDBvlZasMluxt0BDXfhp02Jn411aVt6S4TUB8ZgFDkI6TP6gwPY85w+oUQSsjIeXVminrwIdK2ZAawb8Se6XOJbOaliQxHSrnAeONDLuCnFejIbp4YDtBcQCwMsYiRZfHefuEJqJcwKTTJ8sx5hjHmJI1sPFHOr6W9AhZ2NAod38mnLQk1gOz2LCAohoQbgMbUK9RMEA3LkiF7Sr9tLZp6lkciIGhE2V546w3Mam53VtVkGbB9w0Yk2XiRnCmbpxmHr2k4eSC0RuNbjNsUfDIfc8DZvRvgUDe1IlKdZTzcT4ZGEb53dp8VtsoZlyXzLHOdAbsp1LPTVaHvLA0GYDFMbAW/WUBfUAdHwqLFAV+3uHvYWrCfhUOR2i89qvCBoOb48usAGdcF2M4aKn79k/43WzBZ+xR1L0uZfia70XP9soQReeuhZiUnXFDG1T8/OXNmssTSnYO+3kVLAgeiY719uDwL9FQycgLPessNihMZbAKG7qwPZyG11G1+ZA3jAX2yddpYfmaKBlmfcK/V0mwIRUDC0nJSOPUl2KB8h13F4dlVZiRhdGY5farwN+f9hEb1cRi41ZcGDn6Xe9MMSTOY81ULJyXIHSWFIQHstVYLiJEiUjktlHiGjntN5/btB8Fu+vp28zl2fZXN+dJDyN6EXhS+0yzqpl/LSJNEUVxmu7BsNdjAY0jVsAhkNuuY0E1G48ej25mSt+00yPbQ4SRCVkIwb6ISvYtmJRPz9Zt5dk76blf+lJwAPH5KDF+vHAmACLoCdG2Adii6dOHnNJnTmZtoOGO8Q1jy1veMw6gbLFToQmfJa7nT7Al89mRbRkZZQxJTKgK5Kc9INzmTJFp0tpAPzNmyL/F08bX3nhCumM/cR/2RPn9emZ3VljokttZD1zVWXlUIqEU7SLk5I0lFRU0AcENXBYazNaVzsVHA/sD3o9hm42wbHIRb/BBQTKzAi8s3+bMtpOOZgLdQzCYPfX3UUxKd1WYVkGH7lh/RBBgMZZwXzU9+GYxdBqlGs0LP+DZ5g2BWNh6FAcR944B+K/JTWI3t9YyVyRhlP4CCoUk/mmF7+r2pilVBjxXBHFaBfBtr9hbVn2zDuI0kEOG3kBx8CGdPOjX1ph1POOZJUO1JEGG0jzUy2tK4X0CgVNYhmkqqQysRNtKuPdCJqK3WW57kaV17vXgiyPrl4KEEWgiGF1euI4QkSFHFf0TDroQiLNKJiLbdhH0YBhriRNCHPxSqJmNNoketaioohqMglh6wLtEGWSM1EZbQg72h0UJAIPVFCAJOThpQGGdKfFovcwEeiBuZHN2Ob4uVM7+gwZLz1D9E7ta4RmMZ24OBBAg7Eh6dLXGofZ4U2TFOCQMKjwhVckjrydRS+YaqCw1kYt6UexuzbNEDyYLTZnrY1PzsHZJT4U+awO2xlqTSYu6n/U29O2wPXgGOEKDMSq+zTUtyc8+6iLp0ivav4FKx+xxVy4FxhIF/pucVDqpsVe2jFOfdZhTzLz2QjtzvsTCvDPU7bzDH2eXVKUV9TZ+qFtaSSxnYgYdXKwVreIgvWhT9eGDB2OvnWyPLfIIIfNnfIxU8nW7MbcH05nhlsYtaW9EZRsxWcKdEqInq1DiZPKCz7iGmAU9/ccnnQud2pNgIGFYOTAWjhIrd63aPDgfj8/sdlD4l+UTlcxTI9jbaMqqN0gQxSHs60IAcW3cH4p3V1aSciTKB29L1tz2eUQhRiTgTvmqc+sGtBNh4ky0mQJGsdycBREP+fAaSs1EREDVo5gvgi5+aCN7NECw30owbCc1mSpjiahyNVwJd1jiGgzSwfTpzf2c5XJvG/g1n0fH88KHNnf+u7ZiRMlXueSIsloJBUtW9ezvsx9grfsX/FNxnbxU1Lvg0hLxixypHKGFAaPu0xCD8oDTeFSyfRT6s8109GMUZL8m2xXp8X2dpPCWWdX84iga4BrTlOfqox4shqEgh/Ht4qRst52cA1xOIUuOxgfUivp6v5f8IVyaryEdpVk72ERAwdT4aoY1usBgmP+0m06Q216H/nubtNYxHaOIYjcach3A8Ez/zc0KcShhel0HCYjFsA0FjYqyJ5ZUH1aZw3+zWC0hLpM6GDfcAdn9fq2orPmZbW6XXrf+Krc9RtvII5jeD3dFoT1KwZJwxfUMvc5KLfn8rROW23Jw89sJ2a5dpB3qWDUBWF2iX8OCuKprHosJ2mflBR+Wqs86VvgI/XMnsqb97+VlKdPVysczPj8Jhzf+WCvGBHijAqYlavbF60soMWlHbvKT+ScvhprgeTln51xX0sF+Eadc/l2s2a5BgkVbHYyz0E85p0LstqH+gEGiR84nBRRFIn8hLSZrGwqjZ3E29cuGi+5Z5bp7EM8MWFa9ssS/vy4VrDfECSv7DSU84DaP0sXI3Ap4lWznQ65nQoTKRWU30gd7Nn8ZowUvGIx4aqyXGwmA/PB4qN8msJUODezUHEl0VP9uo+cZ8vPFodSIB4C7lQYjEFj8yu49C2KIV3qxMFYTevG8KqAr0TPlkbzHHnTpDpvpzziAiNFh8xiT7C/TiyH0EguUw4vxAgpnE27WIypV+uFN2zW7xniF/n75trs9IJ5amB1zXXZ1LFkJ6GbS/dFokzl4cc2mamVwhL4XU0Av5gDWAl+aEWhAP7t2VIwU+EpvfOPDcLASX7H7lZpXA2XQfbSlD4qU18NffNPoAKMNSccBfO9YVVgmlW4RydBqfHAV7+hrZ84WJGho6bNT0YMhxxLdOx/dwGj0oyak9aAkNJ8lRJzUuA8sR+fPyiyTgUHio5+Pp+YaKlHrhR41jY5NESPS3x+zTMe0S2HnLOKCOQPpdxKyviBvdHrCDRqO+l96HhhNBLXWv4yEMuEUYo8kXnYJM8oIgVM4XJ+xXOev4YbWeqsvgq0lmw4/PiYr9sYLt+W5EAuYSFnJEan8CwJwbtASBfLBBpJZiRPor/aCJBZsM+MhvS7ZepyHvU8m5WSmaZnxuLts8ojl6KkS8oSAHkq5GWlCB/NgJ5W3rO2Cj1MK7ahxsCrbTT3a0V/QQH+sErxV4XUWDHx0kkFy25bPmBMBQ6BU3HoHhhYcJB9JhP6NXUWKxnE0raXHB6U9KHpWdQCQI72qevp5fMzcm+AvC85rsynVQhruDA9fp9COe7N56cg1UKGSas89vrN+WlGLYTwi5W+0xYdKEGtGCeNJwXKDU0XqU5uQYnWsMwTENLGtbQMvoGjIFIEMzCRal4rnBAg7D/CSn8MsCvS+FDJJAzoiioJEhZJgAp9n2+1Yznr7H+6eT4YkJ9Mpj60ImcW4i4iHDLn9RydB8dx3QYm3rsX6n4VRrZDsYK6DCGwkwd5n3/INFEpk16fYpP6JtMQpqEMzcOfQGAHXBTEGzuLJ03GYQL9bmV2/7ExDlRf+Uvf1sM2frRtCWmal12pMgtonvSCtR4n1CLUZRdTHDHP1Otwqd+rcdlavnKjUB/OYXQHUJzpNyFoKpQK+2OgrEKpGyIgIBgn2y9QHnTJihZOpEvOKIoHAMGAXHmj21Lym39Mbiow4IF+77xNuewziNVBxr6KD5e+9HzZSBIlUa/AmsDFJFXeyrQakR3FwowTGcADJHcEfhGkXYNGSYo4dh4bxwLM+28xjiqkdn0/3R4UEkvcBrBfn/SzBc1XhKM2VPlJgKSorjDac96V2UnQYXl1/yZPT4DVelgO+soMjexXwYO58VLl5xInQUZI8jc3H2CPnCNb9X05nOxIy4MlecasTqGK6s2az4RjpF2cQP2G28R+7wDPsZDZC/kWtjdoHC7SpdPmqQrUAhMwKVuxCmYTiD9q/O7GHtZvPSN0CAUQN/rymXZNniYLlJDE70bsk6Xxsh4kDOdxe7A2wo7P9F5YvqqRDI6brf79yPCSp4I0jVoO4YnLYtX5nzspR5WB4AKOYtR1ujXbOQpPyYDvfRE3FN5zw0i7reehdi7yV0YDRKRllGCGRk5Yz+Uv1fYl2ZwrnGsqsjgAVo0xEUba8ohjaNMJNwTwZA/wBDWFSCpg1eUH8MYL2zdioxRTqgGQrDZxQyNzyBJPXZF0+oxITJAbj7oNC5JwgDMUJaM5GqlGCWc//KCIrI+aclEe4IA0uzv7cuj6GCdaJONpi13O544vbtIHBF+A+JeDFUQNy61Gki3rtyQ4aUywn6ru314/dkGiP8Iwjo0J/2Txs49ZkwEl4mx+iYUUO55I6pJzU4P+7RRs+DXZkyKUYZqVWrPF4I94m4Wx1tXeE74o9GuX977yvJ/jkdak8+AmoHVjI15V+WwBdARFV2IPirJgVMdsg1Pez2VNHqa7EHWdTkl3XTcyjG9BiueWFvQfXI8aWSkuuRmqi/HUuzqyvLJfNfs0txMqldYYflWB1BS31WkuPJGGwXUCpjiQSktkuBMWwHjSkQxeehqw1Kgz0Trzm7QbtgxiEPDVmWCNCAeCfROTphd1ZNOhzLy6XfJyG6Xgd5MCAZw4xie0Sj5AnY1/akDgNS9YFl3Y06vd6FAsg2gVQJtzG7LVq1OH2frbXNHWH/NY89NNZ4QUSJqL2yEcGADbT38X0bGdukqYlSoliKOcsSTuqhcaemUeYLLoI8+MZor2RxXTRThF1LrHfqf/5LcLAjdl4EERgUysYS2geE+yFdasU91UgUDsc2cSQ1ZoT9+uLOwdgAmifwQqF028INc2IQEDfTmUw3eZxvz7Ud1z3xc1PQfeCvfKsB9jOhRj7rFyb9XcDWLcYj0bByosychMezMLVkFiYcdBBQtvI6K0KRuOZQH2kBsYHJaXTkup8F0eIhO1/GcIwWKpr2mouB7g5TUDJNvORXPXa/mU8bh27TAZYBe2sKx4NSv5OjnHIWD2RuysCzBlUfeNXhDd2jxnHoUlheJ3jBApzURy0fwm2FwwsSU0caQGl0Kv8hopRQE211NnvtLRsmCNrhhpEDoNiZEzD2QdJWKbRRWnaFedXHAELSN0t0bfsCsMf0ktfBoXBoNA+nZN9+pSlmuzspFevmsqqcMllzzvkyXrzoA+Ryo1ePXpdGOoJvhyru+EBRsmOp7MXZ0vNUMUqHLUoKglg1p73sWeZmPc+KAw0pE2zIsFFE5H4192KwDvDxdxEYoDBDNZjbg2bmADTeUKK57IPD4fTYF4c6EnXx/teYMORBDtIhPJneiZny7Nv/zG+YmekIKCoxr6kauE2bZtBLufetNG0BtBY7f+/ImUypMBvdWu/Q7vTMRzw5aQGZWuc1V0HEsItFYMIBnoKGZ0xcarba/TYZq50kCaflFysYjA4EDKHqGdpYWdKYmm+a7TADmW35yfnOYpZYrkpVEtiqF0EujI00aeplNs2k+qyFZNeE3CDPL9P6b4PQ/kataHkVpLSEVGK7EX6rAa7IVNrvZtFvOA6okKvBgMtFDAGZOx88MeBcJ8AR3AgUUeIznAN6tjCUipGDZONm1FjWJp4A3QIzSaIOmZ7DvF/ysYYbM/fFDOV0jntAjRdapxJxL0eThpEhKOjCDDq2ks+3GrwxqIFKLe1WdOzII8XIOPGnwy6LKXVfpSDOTEfaRsGujhpS4hBIsMOqHbl16PJxc4EkaVu9wpEYlF/84NSv5Zum4drMfp9yXbzzAOJqqS4YkI4cBrFrC7bMPiCfgI3nNZAqkk3QOZqR+yyqx+nDQKBBBZ7QKrfGMCL+XpqFaBJU0wpkBdAhbR4hJsmT5aynlvkouoxm/NjD5oe6BzVIO9uktM+/5dEC5P7vZvarmuO/lKXz4sBabVPIATuKTrwbJP8XUkdM6uEctHKXICUJGjaZIWRbZp8czquQYfY6ynBUCfIU+gG6wqSIBmYIm9pZpXdaL121V7q0VjDjmQnXvMe7ysoEZnZL15B0SpxS1jjd83uNIOKZwu5MPzg2NhOx3xMOPYwEn2CUzbSrwAs5OAtrz3GAaUkJOU74XwjaYUmGJdZBS1NJVkGYrToINLKDjxcuIlyfVsKQSG/G4DyiO2SlQvJ0d0Ot1uOG5IFSAkq+PRVMgVMDvOIJMdqjeCFKUGRWBW9wigYvcbU7CQL/7meF2KZAaWl+4y9uhowAX7elogAvItAAxo2+SFxGRsHGEW9BnhlTuWigYxRcnVUBRQHV41LV+Fr5CJYV7sHfeywswx4XMtUx6EkBhR+q8AXXUA8uPJ73Pb49i9KG9fOljvXeyFj9ixgbo6CcbAJ7WHWqKHy/h+YjBwp6VcN7M89FGzQ04qbrQtgrOFybg3gQRTYG5xn73ArkfQWjCJROwy3J38Dx/D7jOa6BBNsitEw1wGq780EEioOeD+ZGp2J66ADiVGMayiHYucMk8nTK2zzT9CnEraAk95kQjy4k0GRElLL5YAKLQErJ5rp1eay9O4Fb6yJGm9U4FaMwPGxtKD6odIIHKoWnhKo1U8KIpFC+MVn59ZXmc7ZTBZfsg6FQ8W10YfTr4u0nYrpHZbZ1jXiLmooF0cOm0+mPnJBXQtepc7n0BqOipNCqI6yyloTeRShNKH04FIo0gcMk0H/xThyN4pPAWjDDkEp3lNNPRNVfpMI44CWRlRgViP64eK0JSRp0WUvCWYumlW/c58Vcz/yMwVcW5oYb9+26TEhwvbxiNg48hl1VI1UXTU//Eta+BMKnGUivctfL5wINDD0giQL1ipt6U7C9cd4+lgqY2lMUZ02Uv6Prs+ZEZer7ZfWBXVghlfOOrClwsoOFKzWEfz6RZu1eCs+K8fLvkts5+BX0gyrFYve0C3qHrn5U/Oh6D/CihmWIrY7HUZRhJaxde+tldu6adYJ+LeXupQw0XExC36RETdNFxcq9glMu4cNQSX9cqR/GQYp+IxUkIcNGWVU7ZtGa6P3XAyodRt0XeS3Tp01AnCh0ZbUh4VrSZeV9RWfSoWyxnY3hzcZ30G/InDq4wxRrEejreBxnhIQbkxenxkaxl+k7eLUQkUR6vKJ2iDFNGX3WmVA1yaOH+mvhBd+sE6vacQzFobwY5BqEAFmejwW5ne7HtVNolOUgJc8CsUxmc/LBi8N5mu9VsIA5HyErnS6zeCz7VLI9+n/hbT6hTokMXTVyXJRKSG2hd2labXTbtmK4fNH3IZBPreSA4FMeVouVN3zG5x9CiGpLw/3pceo4qGqp+rVp+z+7yQ98oEf+nyH4F3+J9IheDBa94Wi63zJbLBCIZm7P0asHGpIJt3PzE3m0S4YIWyXBCVXGikj8MudDPB/6Nm2v4IxJ5gU0ii0guy5SUHqGUYzTP0jIJU5E82RHUXtX4lDdrihBLdP1YaG1AGUC12rQKuIaGvCpMjZC9bWSCYnjDlvpWbkdXMTNeBHLKiuoozMGIvkczmP0aRJSJ8PYnLCVNhKHXBNckH79e8Z8Kc2wUej4sQZoH8qDRGkg86maW/ZQWGNnLcXmq3FlXM6ssR/3P6E/bHMvm6HLrv1yRixit25JsH3/IOr2UV4BWJhxXW5BJ6Xdr07n9kF3ZNAk6/Xpc5MSFmYJ2R7bdL8Kk7q1OU9Elg/tCxJ8giT27wSTySF0GOxg4PbYJdi/Nyia9Nn89CGDulfJemm1aiEr/eleGSN+5MRrVJ4K6lgyTTIW3i9cQ0dAi6FHt0YMbH3wDSAtGLSAccezzxHitt1QdhW36CQgPcA8vIIBh3/JNjf/Obmc2yzpk8edSlS4lVdwgW5vzbYEyFoF4GCBBby1keVNueHAH+evi+H7oOVfS3XuPQSNTXOONAbzJeSb5stwdQHl1ZjrGoE49I8+A9j3t+ahhQj74FCSWpZrj7wRSFJJnnwi1T9HL5qrCFW/JZq6P62XkMWTb+u4lGpKfmmwiJWx178GOG7KbrZGqyWwmuyKWPkNswkZ1q8uptUlviIi+AXh2bOOTOLsrtNkfqbQJeh24reebkINLkjut5r4d9GR/r8CBa9SU0UQhsnZp5cP+RqWCixRm7i4YRFbtZ4EAkhtNa6jHb6gPYQv7MKqkPLRmX3dFsK8XsRLVZ6IEVrCbmNDc8o5mqsogjAQfoC9Bc7R6gfw03m+lQpv6kTfhxscDIX6s0w+fBxtkhjXAXr10UouWCx3C/p/FYwJRS/AXRKkjOb5CLmK4XRe0+xeDDwVkJPZau52bzLEDHCqV0f44pPgKOkYKgTZJ33fmk3Tu8SdxJ02SHM8Fem5SMsWqRyi2F1ynfRJszcFKykdWlNqgDA/L9lKYBmc7Zu/q9ii1FPF47VJkqhirUob53zoiJtVVRVwMR34gV9iqcBaHbRu9kkvqk3yMpfRFG49pKKjIiq7h/VpRwPGTHoY4cg05X5028iHsLvUW/uz+kjPyIEhhcKUwCkJAwbR9pIEGOn8z6svAO8i89sJ3dL5qDWFYbS+HGPRMxYwJItFQN86YESeJQhn2urGiLRffQeLptDl8dAgb+Tp47UQPxWOw17OeChLN1WnzlkPL1T5O+O3Menpn4C3IY5LEepHpnPeZHbvuWfeVtPlkH4LZjPbBrkJT3NoRJzBt86CO0Xq59oQ+8dsm0ymRcmQyn8w71mhmcuEI5byuF+C88VPYly2sEzjlzAQ3vdn/1+Hzguw6qFNNbqenhZGbdiG6RwZaTG7jTA2X9RdXjDN9yj1uQpyO4Lx8KRAcZcbZMafp4wPOd5MdXoFY52V1A8M9hi3sso93+uprE0qYNMjkE22CvK4HuUxqN7oIz5pWuETq1lQAjqlSlqdD2Rnr/ggp/TVkQYjn9lMfYelk2sH5HPdopYo7MHwlV1or9Bxf+QCyLzm92vzG2wjiIjC/ZHEJzeroJl6bdFPTpZho5MV2U86fLQqxNlGIMqCGy+9WYhJ8ob1r0+Whxde9L2PdysETv97O+xVw+VNN1TZSQN5I6l9m5Ip6pLIqLm4a1B1ffH6gHyqT9p82NOjntRWGIofO3bJz5GhkvSWbsXueTAMaJDou99kGLqDlhwBZNEQ4mKPuDvVwSK4WmLluHyhA97pZiVe8g+JxmnJF8IkV/tCs4Jq/HgOoAEGR9tCDsDbDmi3OviUQpG5D8XmKcSAUaFLRXb2lmJTNYdhtYyfjBYZQmN5qT5CNuaD3BVnlkCk7bsMW3AtXkNMMTuW4HjUERSJnVQ0vsBGa1wo3Qh7115XGeTF3NTz8w0440AgU7c3bSXO/KMINaIWXd0oLpoq/0/QJxCQSJ9XnYy1W7TYLBJpHsVWD1ahsA7FjNvRd6mxCiHsm8g6Z0pnzqIpF1dHUtP2ITU5Z1hZHbu+L3BEEStBbL9XYvGfEakv1bmf+bOZGnoiuHEdlBnaChxYKNzB23b8sw8YyT7Ajxfk49eJIAvdbVkdFCe2J0gMefhQ0bIZxhx3fzMIysQNiN8PgOUKxOMur10LduigREDRMZyP4oGWrP1GFY4t6groASsZ421os48wAdnrbovNhLt7ScNULkwZ5AIZJTrbaKYTLjA1oJ3sIuN/aYocm/9uoQHEIlacF1s/TM1fLcPTL38O9fOsjMEIwoPKfvt7opuI9G2Hf/PR4aCLDQ7wNmIdEuXJ/QNL72k5q4NejAldPfe3UVVqzkys8YZ/jYOGOp6c+YzRCrCuq0M11y7TiN6qk7YXRMn/gukxrEimbMQjr3jwRM6dKVZ4RUfWQr8noPXLJq6yh5R3EH1IVOHESst/LItbG2D2vRsZRkAObzvQAAD3mb3/G4NzopI0FAiHfbpq0X72adg6SRj+8OHMShtFxxLZlf/nLgRLbClwl5WmaYSs+yEjkq48tY7Z2bE0N91mJwt+ua0NlRJIDh0HikF4UvSVorFj2YVu9YeS5tfvlVjPSoNu/Zu6dEUfBOT555hahBdN3Sa5Xuj2Rvau1lQNIaC944y0RWj9UiNDskAK1WoL+EfXcC6IbBXFRyVfX/WKXxPAwUyIAGW8ggZ08hcijKTt1YKnUO6QPvcrmDVAb0FCLIXn5id4fD/Jx4tw/gbXs7WF9b2RgXtPhLBG9vF5FEkdHAKrQHZAJC/HWvk7nvzzDzIXZlfFTJoC3JpGgLPBY7SQTjGlUvG577yNutZ1hTfs9/1nkSXK9zzKLRZ3VODeKUovJe0WCq1zVMYxCJMenmNzPIU2S8TA4E7wWmbNkxq9rI2dd6v0VpcAPVMxnDsvWTWFayyqvKZO7Z08a62i/oH2/jxf8rpmfO64in3FLiL1GX8IGtVE9M23yGsIqJbxDTy+LtaMWDaPqkymb5VrQdzOvqldeU0SUi6IirG8UZ3jcpRbwHa1C0Dww9G/SFX3gPvTJQE+kyz+g1BeMILKKO+olcHzctOWgzxYHnOD7dpCRtuZEXACjgqesZMasoPgnuDC4nUviAAxDc5pngjoAITIkvhKwg5d608pdrZcA+qn5TMT6Uo/QzBaOxBCLTJX3Mgk85rMfsnWx86oLxf7p2PX5ONqieTa/qM3tPw4ZXvlAp83NSD8F7+ZgctK1TpoYwtiU2h02HCGioH5tkVCqNVTMH5p00sRy2JU1qyDBP2CII/Dg4WDsIl+zgeX7589srx6YORRQMBfKbodbB743Tl4WLKOEnwWUVBsm94SOlCracU72MSyj068wdpYjyz1FwC2bjQnxnB6Mp/pZ+yyZXtguEaYB+kqhjQ6UUmwSFazOb+rhYjLaoiM+aN9/8KKn0zaCTFpN9eKwWy7/u4EHzO46TdFSNjMfn2iPSJwDPCFHc0I1+vjdAZw5ZjqR/uzi9Zn20oAa5JnLEk/EA3VRWE7J/XrupfFJPtCUuqHPpnlL7ISJtRpSVcB8qsZCm2QEkWoROtCKKxUh3yEcMbWYJwk6DlEBG0bZP6eg06FL3v6RPb7odGuwm7FN8fG4woqtB8e7M5klPpo97GoObNwt+ludTAmxyC5hmcFx+dIvEZKI6igFKHqLH01iY1o7903VzG9QGetyVx5RNmBYUU+zIuSva/yIcECUi4pRmE3VkF2avqulQEUY4yZ/wmNboBzPmAPey3+dSYtBZUjeWWT0pPwCz4Vozxp9xeClIU60qvEFMQCaPvPaA70WlOP9f/ey39macvpGCVa+zfa8gO44wbxpJUlC8GN/pRMTQtzY8Z8/hiNrU+Zq64ZfFGIkdj7m7abcK1EBtws1X4J/hnqvasPvvDSDYWN+QcQVGMqXalkDtTad5rYY0TIR1Eqox3czwPMjKPvF5sFv17Thujr1IZ1Ytl4VX1J0vjXKmLY4lmXipRAro0qVGEcXxEVMMEl54jQMd4J7RjgomU0j1ptjyxY+cLiSyXPfiEcIS2lWDK3ISAy6UZ3Hb5vnPncA94411jcy75ay6B6DSTzK6UTCZR9uDANtPBrvIDgjsfarMiwoax2OlLxaSoYn4iRgkpEGqEkwox5tyI8aKkLlfZ12lO11TxsqRMY89j5JaO55XfPJPDL1LGSnC88Re9Ai+Nu5bZjtwRrvFITUFHPR4ZmxGslQMecgbZO7nHk32qHxYkdvWpup07ojcMCaVrpFAyFZJJbNvBpZfdf39Hdo2kPtT7v0/f8R/B5Nz4f1t9/3zNM/7n6SUHfcWk5dfQFJvcJMgPolGCpOFb/WC0FGWU2asuQyT+rm88ZKZ78Cei/CAh939CH0JYbpZIPtxc2ufXqjS3pHH9lnWK4iJ7OjR/EESpCo2R3MYKyE7rHfhTvWho4cL1QdN4jFTyR6syMwFm124TVDDRXMNveI1Dp/ntwdz8k8kxw7iFSx6+Yx6O+1LzMVrN0BBzziZi9kneZSzgollBnVwBh6oSOPHXrglrOj+QmR/AESrhDpKrWT+8/AiMDxS/5wwRNuGQPLlJ9ovomhJWn8sMLVItQ8N/7IXvtD8kdOoHaw+vBSbFImQsv/OCAIui99E+YSIOMlMvBXkAt+NAZK8wB9Jf8CPtB+TOUOR+z71d/AFXpPBT6+A5FLjxMjLIEoJzrQfquvxEIi+WoUzGR1IzQFNvbYOnxb2PyQ0kGdyXKzW2axQL8lNAXPk6NEjqrRD1oZtKLlFoofrXw0dCNWASHzy+7PSzOUJ3XtaPZsxLDjr+o41fKuKWNmjiZtfkOzItvlV2MDGSheGF0ma04qE3TUEfqJMrXFm7DpK+27DSvCUVf7rbNoljPhha5W7KBqVq0ShUSTbRmuqPtQreVWH4JET5yMhuqMoSd4r/N8sDmeQiQQvi1tcZv7Moc7dT5X5AtCD6kNEGZOzVcNYlpX4AbTsLgSYYliiPyVoniuYYySxsBy5cgb3pD+EK0Gpb0wJg031dPgaL8JZt6sIvzNPEHfVPOjXmaXj4bd4voXzpZ5GApMhILgMbCEWZ2zwgdeQgjNHLbPIt+KqxRwWPLTN6HwZ0Ouijj4UF+Sg0Au8XuIKW0WxlexdrFrDcZJ8Shauat3X0XmHygqgL1nAu2hrJFb4wZXkcS+i36KMyU1yFvYv23bQUJi/3yQpqr/naUOoiEWOxckyq/gq43dFou1DVDaYMZK9tho7+IXXokBCs5GRfOcBK7g3A+jXQ39K4YA8PBRW4m5+yR0ZAxWJncjRVbITvIAPHYRt1EJ3YLiUbqIvoKHtzHKtUy1ddRUQ0AUO41vonZDUOW+mrszw+SW/6Q/IUgNpcXFjkM7F4CSSQ2ExZg85otsMs7kqsQD4OxYeBNDcSpifjMoLb7GEbGWTwasVObmB/bfPcUlq0wYhXCYEDWRW02TP5bBrYsKTGWjnWDDJ1F7zWai0zW/2XsCuvBQjPFcTYaQX3tSXRSm8hsAoDdjArK/OFp6vcWYOE7lizP0Yc+8p16i7/NiXIiiQTp7c7Xus925VEtlKAjUdFhyaiLT7VxDagprMFwix4wZ05u0qj7cDWFd0W9OYHIu3JbJKMXRJ1aYNovugg+QqRN7fNHSi26VSgBpn+JfMuPo3aeqPWik/wI5Rz3BWarPQX4i5+dM0npwVOsX+KsOhC7vDg+OJsz4Q5zlnIeflUWL6QYMbf9WDfLmosLF4Qev3mJiOuHjoor/dMeBpA9iKDkMjYBNbRo414HCxjsHrB4EXNbHzNMDHCLuNBG6Sf+J4MZ/ElVsDSLxjIiGsTPhw8BPjxbfQtskj+dyNMKOOcUYIRBEIqbazz3lmjlRQhplxq673VklMMY6597vu+d89ec/zq7Mi4gQvh87ehYbpOuZEXj5g/Q7S7BFDAAB9DzG35SC853xtWVcnZQoH54jeOqYLR9NDuwxsVthTV7V99n/B7HSbAytbEyVTz/5NhJ8gGIjG0E5j3griULUd5Rg7tQR+90hJgNQKQH2btbSfPcaTOfIexc1db1BxUOhM1vWCpLaYuKr3FdNTt/T3PWCpEUWDKEtzYrjpzlL/wri3MITKsFvtF8QVV/NhVo97aKIBgdliNc10dWdXVDpVtsNn+2UIolrgqdWA4EY8so0YvB4a+aLzMXiMAuOHQrXY0tr+CL10JbvZzgjJJuB1cRkdT7DUqTvnswVUp5kkUSFVtIIFYK05+tQxT6992HHNWVhWxUsD1PkceIrlXuUVRogwmfdhyrf6zzaL8+c0L7GXMZOteAhAVQVwdJh+7nrX7x4LaIIfz2F2v7Dg/uDfz2Fa+4gFm2zHAor8UqimJG3VTJtZEoFXhnDYXvxMJFc6ku2bhbCxzij2z5UNuK0jmp1mnvkVNUfR+SEmj1Lr94Lym75PO7Fs0MIr3GdsWXRXSfgLTVY0FLqba97u1In8NAcY7IC6TjWLigwKEIm43NxTdaVTv9mcKkzuzBkKd8x/xt1p/9BbP7Wyb4bpo1K1gnOpbLvKz58pWl3B55RJ/Z5mRDLPtNQg14jdOEs9+h/V5UVpwrAI8kGbX8KPVPDIMfIqKDjJD9UyDOPhjZ3vFAyecwyq4akUE9mDOtJEK1hpDyi6Ae87sWAClXGTiwPwN7PXWwjxaR79ArHRIPeYKTunVW24sPr/3HPz2IwH8oKH4OlWEmt4BLM6W5g4kMcYbLwj2usodD1088stZA7VOsUSpEVl4w7NMb1EUHMRxAxLF0CIV+0L3iZb+ekB1vSDSFjAZ3hfLJf7gFaXrOKn+mhR+rWw/eTXIcAgl4HvFuBg1LOmOAwJH3eoVEjjwheKA4icbrQCmvAtpQ0mXG0agYp5mj4Rb6mdQ+RV4QBPbxMqh9C7o8nP0Wko2ocnCHeRGhN1XVyT2b9ACsL+6ylUy+yC3QEnaKRIJK91YtaoSrcWZMMwxuM0E9J68Z+YyjA0g8p1PfHAAIROy6Sa04VXOuT6A351FOWhKfTGsFJ3RTJGWYPoLk5FVK4OaYR9hkJvezwF9vQN1126r6isMGXWTqFW+3HL3I/jurlIdDWIVvYY+s6yq7lrFSPAGRdnU7PVwY/SvWbZGpXzy3BQ2LmAJlrONUsZs4oGkly0V267xbD5KMY8woNNsmWG1VVgLCra8aQBBcI4DP2BlNwxhiCtHlaz6OWFoCW0vMR3ErrG7JyMjTSCnvRcsEHgmPnwA6iNpJ2DrFb4gLlhKJyZGaWkA97H6FFdwEcLT6DRQQL++fOkVC4cYGW1TG/3iK5dShRSuiBulmihqgjR45Vi03o2RbQbP3sxt90VxQ6vzdlGfkXmmKmjOi080JSHkLntjvsBJnv7gKscOaTOkEaRQqAnCA4HWtB4XnMtOhpRmH2FH8tTXrIjAGNWEmudQLCkcVlGTQ965Kh0H6ixXbgImQP6b42B49sO5C8pc7iRlgyvSYvcnH9FgQ3azLbQG2cUW96SDojTQStxkOJyOuDGTHAnnWkz29aEwN9FT8EJ4yhXOg+jLTrCPKeEoJ9a7lDXOjEr8AgX4BmnMQ668oW0zYPyQiVMPxKRHtpfnEEyaKhdzNVThlxxDQNdrHeZiUFb6NoY2KwvSb7BnRcpJy+/g/zAYx3fYSN5QEaVD2Y1VsNWxB0BSO12MRsRY8JLfAezRMz5lURuLUnG1ToKk6Q30FughqWN6gBNcFxP/nY/iv+iaUQOa+2Nuym46wtI/DvSfzSp1jEi4SdYBE7YhTiVV5cX9gwboVDMVgZp5YBQlHOQvaDNfcCoCJuYhf5kz5kwiIKPjzgpcRJHPbOhJajeoeRL53cuMahhV8Z7IRr6M4hW0JzT7mzaMUzQpm866zwM7Cs07fJYXuWvjAMkbe5O6V4bu71sOG6JQ4oL8zIeXHheFVavzxmlIyBkgc9IZlEDplMPr8xlcyss4pVUdwK1e7CK2kTsSdq7g5SHRAl3pYUB9Ko4fsh4qleOyJv1z3KFSTSvwEcRO/Ew8ozEDYZSqpfoVW9uhJfYrNAXR0Z3VmeoAD+rVWtwP/13sE/3ICX3HhDG3CMc476dEEC0K3umSAD4j+ZQLVdFOsWL2C1TH5+4KiSWH+lMibo+B55hR3Gq40G1n25sGcN0mEcoU2wN9FCVyQLBhYOu9aHVLWjEKx2JIUZi5ySoHUAI9b8hGzaLMxCZDMLhv8MkcpTqEwz9KFDpCpqQhVmsGQN8m24wyB82FAKNmjgfKRsXRmsSESovAwXjBIoMKSG51p6Um8b3i7GISs7kjTq/PZoioCfJzfKdJTN0Q45kQEQuh9H88M3yEs3DbtRTKALraM0YC8laiMiOOe6ADmTcCiREeAWZelBaEXRaSuj2lx0xHaRYqF65O0Lo5OCFU18A8cMDE4MLYm9w2QSr9NgQAIcRxZsNpA7UJR0e71JL+VU+ISWFk5I97lra8uGg7GlQYhGd4Gc6rxsLFRiIeGO4abP4S4ekQ1fiqDCy87GZHd52fn5aaDGuvOmIofrzpVwMvtbreZ/855OaXTRcNiNE0wzGZSxbjg26v8ko8L537v/XCCWP2MFaArJpvnkep0pA+O86MWjRAZPQRfznZiSIaTppy6m3p6HrNSsY7fDtz7Cl4V/DJAjQDoyiL2uwf1UHVd2AIrzBUSlJaTj4k6NL97a/GqhWKU9RUmjnYKpm2r+JYUcrkCuZKvcYvrg8pDoUKQywY9GDWg03DUFSirlUXBS5SWn/KAntnf0IdHGL/7mwXqDG+LZYjbEdQmqUqq4y54TNmWUP7IgcAw5816YBzwiNIJiE9M4lPCzeI/FGBeYy3p6IAmH4AjXXmvQ4Iy0Y82NTobcAggT2Cdqz6Mx4TdGoq9fn2etrWKUNFyatAHydQTVUQ2S5OWVUlugcNvoUrlA8cJJz9MqOa/W3iVno4zDHfE7zhoY5f5lRTVZDhrQbR8LS4eRLz8iPMyBL6o4PiLlp89FjdokQLaSBmKHUwWp0na5fE3v9zny2YcDXG/jfI9sctulHRbdkI5a4GOPJx4oAJQzVZ/yYAado8KNZUdEFs9ZPiBsausotXMNebEgr0dyopuqfScFJ3ODNPHgclACPdccwv0YJGQdsN2lhoV4HVGBxcEUeUX/alr4nqpcc1CCR3vR7g40zteQg/JvWmFlUE4mAiTpHlYGrB7w+U2KdSwQz2QJKBe/5eiixWipmfP15AFWrK8Sh1GBBYLgzki1wTMhGQmagXqJ2+FuqJ8f0XzXCVJFHQdMAw8xco11HhM347alrAu+wmX3pDFABOvkC+WPX0Uhg1Z5MVHKNROxaR84YV3s12UcM+70cJ460SzEaKLyh472vOMD3XnaK7zxZcXlWqenEvcjmgGNR2OKbI1s8U+iwiW+HotHalp3e1MGDy6BMVIvajnAzkFHbeVsgjmJUkrP9OAwnEHYXVBqYx3q7LvXjoVR0mY8h+ZaOnh053pdsGkmbqhyryN01eVHySr+CkDYkSMeZ1xjPNVM+gVLTDKu2VGsMUJqWO4TwPDP0VOg2/8ITbAUaMGb4LjL7L+Pi11lEVMXTYIlAZ/QHmTENjyx3kDkBdfcvvQt6tKk6jYFM4EG5UXDTaF5+1ZjRz6W7MdJPC+wTkbDUim4p5QQH3b9kGk2Bkilyeur8Bc20wm5uJSBO95GfYDI1EZipoRaH7uVveneqz43tlTZGRQ4a7CNmMHgXyOQQOL6WQkgMUTQDT8vh21aSdz7ERiZT1jK9F+v6wgFvuEmGngSvIUR2CJkc5tx1QygfZnAruONobB1idCLB1FCfO7N1ZdRocT8/Wye+EnDiO9pzqIpnLDl4bkaRKW+ekBVwHn46Shw1X0tclt/0ROijuUB4kIInrVJU4buWf4YITJtjOJ6iKdr1u+flgQeFH70GxKjhdgt/MrwfB4K/sXczQ+9zYcrD4dhY6qZhZ010rrxggWA8JaZyg2pYij8ieYEg1aZJkZK9O1Re7sB0iouf60rK0Gd+AYlp7soqCBCDGwfKeUQhCBn0E0o0GS6PdmjLi0TtCYZeqazqwN+yNINIA8Lk3iPDnWUiIPLGNcHmZDxfeK0iAdxm/T7LnN+gemRL61hHIc0NCAZaiYJR+OHnLWSe8sLrK905B5eEJHNlWq4RmEXIaFTmo49f8w61+NwfEUyuJAwVqZCLFcyHBKAcIVj3sNzfEOXzVKIndxHw+AR93owhbCxUZf6Gs8cz6/1VdrFEPrv330+9s6BtMVPJ3zl/Uf9rUi0Z/opexfdL3ykF76e999GPfVv8fJv/Y/+/5hEMon1tqNFyVRevV9y9/uIvsG3dbB8GRRrgaEXfhx+2xeOFt+cEn3RZanNxdEe2+B6MHpNbrRE53PlDifPvFcp4kO78ILR0T4xyW/WGPyBsqGdoA7zJJCu1TKbGfhnqgnRbxbB2B3UZoeQ2bz2sTVnUwokTcTU21RxN1PYPS3Sar7T0eRIsyCNowr9amwoMU/od9s2APtiKNL6ENOlyKADstAEWKA+sdKDhrJ6BOhRJmZ+QJbAaZ3/5Fq0/lumCgEzGEbu3yi0Y4I4EgVAjqxh4HbuQn0GrRhOWyAfsglQJAVL1y/6yezS2k8RE2MstJLh92NOB3GCYgFXznF4d25qiP4ZCyI4RYGesut6FXK6GwPpKK8WHEkhYui0AyEmr5Ml3uBFtPFdnioI8RiCooa7Z1G1WuyIi3nSNglutc+xY8BkeW3JJXPK6jd2VIMpaSxpVtFq+R+ySK9J6WG5Qvt+C+QH1hyYUOVK7857nFmyDBYgZ/o+AnibzNVqyYCJQvyDXDTK+iXdkA71bY7TL3bvuLxLBQ8kbTvTEY9aqkQ3+MiLWbEgjLzOH+lXgco1ERgzd80rDCymlpaRQbOYnKG/ODoFl46lzT0cjM5FYVvv0qLUbD5lyJtMUaC1pFlTkNONx6lliaX9o0i/1vws5bNKn5OuENQEKmLlcP4o2ZmJjD4zzd3Fk32uQ4uRWkPSUqb4LBe3EXHdORNB2BWsws5daRnMfNVX7isPSb1hMQdAJi1/qmDMfRUlCU74pmnzjbXfL8PVG8NsW6IQM2Ne23iCPIpryJjYbVnm5hCvKpMa7HLViNiNc+xTfDIaKm3jctViD8A1M9YPJNk003VVr4Zo2MuGW8vil8SLaGpPXqG7I4DLdtl8a4Rbx1Lt4w5Huqaa1XzZBtj208EJVGcmKYEuaeN27zT9EE6a09JerXdEbpaNgNqYJdhP1NdqiPKsbDRUi86XvvNC7rME5mrSQtrzAZVndtSjCMqd8BmaeGR4l4YFULGRBeXIV9Y4yxLFdyoUNpiy2IhePSWzBofYPP0eIa2q5JP4j9G8at/AqoSsLAUuRXtvgsqX/zYwsE+of6oSDbUOo4RMJw+DOUTJq+hnqwKim9Yy/napyZNTc2rCq6V9jHtJbxGPDwlzWj/Sk3zF/BHOlT/fSjSq7FqlPI1q6J+ru8Aku008SFINXZfOfnZNOvGPMtEmn2gLPt+H4QLA+/SYe4j398auzhKIp2Pok3mPC5q1IN1HgR+mnEfc4NeeHYwd2/kpszR3cBn7ni9NbIqhtSWFW8xbUJuUPVOeeXu3j0IGZmFNiwaNZ6rH4/zQ2ODz6tFxRLsUYZu1bfd1uIvfQDt4YD/efKYv8VF8bHGDgK22w2Wqwpi43vNCOXFJZCGMqWiPbL8mil6tsmOTXAWCyMCw73e2rADZj2IK6rqksM3EXF2cbLb4vjB14wa/yXK5vwU+05MzERJ5nXsXsW21o7M+gO0js2OyKciP5uF2iXyb2DiptwQeHeqygkrNsqVCSlldxBMpwHi1vfc8RKpP/4L3Lmpq6DZcvhDDfxTCE3splacTcOtXdK2g303dIWBVe2wD/Gvja1cClFQ67gw0t1ZUttsUgQ1Veky8oOpS6ksYEc4bqseCbZy766SvL3FodmnahlWJRgVCNjPxhL/fk2wyvlKhITH/VQCipOI0dNcRa5B1M5HmOBjTLeZQJy237e2mobwmDyJNHePhdDmiknvLKaDbShL+Is1XTCJuLQd2wmdJL7+mKvs294whXQD+vtd88KKk0DXP8B1Xu9J+xo69VOuFgexgTrcvI6SyltuLix9OPuE6/iRJYoBMEXxU4shQMf4Fjqwf1PtnJ/wWSZd29rhZjRmTGgiGTAUQqRz+nCdjeMfYhsBD5Lv60KILWEvNEHfmsDs2L0A252351eUoYxAysVaCJVLdH9QFWAmqJDCODUcdoo12+gd6bW2boY0pBVHWL6LQDK5bYWh1V8vFvi0cRpfwv7cJiMX3AZNJuTddHehTIdU0YQ/sQ1dLoF2xQPcCuHKiuCWOY30DHe1OwcClLAhqAKyqlnIbH/8u9ScJpcS4kgp6HKDUdiOgRaRGSiUCRBjzI5gSksMZKqy7Sd51aeg0tgJ+x0TH9YH2Mgsap9N7ENZdEB0bey2DMTrBA1hn56SErNHf3tKtqyL9b6yXEP97/rc+jgD2N1LNUH6RM9AzP3kSipr06RkKOolR7HO768jjWiH1X92jA7dkg7gcNcjqsZCgfqWw0tPXdLg20cF6vnQypg7gLtkazrHAodyYfENPQZsdfnjMZiNu4nJO97D1/sQE+3vNFzrSDOKw+keLECYf7RJwVHeP/j79833oZ0egonYB2FlFE5qj02B/LVOMJQlsB8uNg3Leg4qtZwntsOSNidR0abbZmAK4sCzvt8Yiuz2yrNCJoH5O8XvX/vLeR/BBYTWj0sOPYM/jyxRd5+/JziKAABaPcw/34UA3aj/gLZxZgRCWN6m4m3demanNgsx0P237/Q+Ew5VYnJPkyCY0cIVHoFn2Ay/e7U4P19APbPFXEHX94N6KhEMPG7iwB3+I+O1jd5n6VSgHegxgaSawO6iQCYFgDsPSMsNOcUj4q3sF6KzGaH/0u5PQoAj/8zq6Uc9MoNrGqhYeb2jQo0WlGlXjxtanZLS24/OIN5Gx/2g684BPDQpwlqnkFcxpmP/osnOXrFuu4PqifouQH0eF5qCkvITQbJw/Zvy5mAHWC9oU+cTiYhJmSfKsCyt1cGVxisKu+NymEQIAyaCgud/V09qT3nk/9s/SWsYtha7yNpzBIMM40rCSGaJ9u6lEkl00vXBiEt7p9P5IBCiavynEOv7FgLqPdeqxRiCwuFVMolSIUBcoyfUC2e2FJSAUgYdVGFf0b0Kn2EZlK97yyxrT2MVgvtRikfdaAW8RwEEfN+B7/eK8bBdp7URpbqn1xcrC6d2UjdsKbzCjBFqkKkoZt7Mrhg6YagE7spkqj0jOrWM+UGQ0MUlG2evP1uE1p2xSv4dMK0dna6ENcNUF+xkaJ7B764NdxLCpuvhblltVRAf7vK5qPttJ/9RYFUUSGcLdibnz6mf7WkPO3MkUUhR2mAOuGv8IWw5XG1ZvoVMnjSAZe6T7WYA99GENxoHkMiKxHlCuK5Gd0INrISImHQrQmv6F4mqU/TTQ8nHMDzCRivKySQ8dqkpQgnUMnwIkaAuc6/FGq1hw3b2Sba398BhUwUZSAIO8XZvnuLdY2n6hOXws+gq9BHUKcKFA6kz6FDnpxLPICa3qGhnc97bo1FT/XJk48LrkHJ2CAtBv0RtN97N21plfpXHvZ8gMJb7Zc4cfI6MbPwsW7AilCSXMFIEUEmir8XLEklA0ztYbGpTTGqttp5hpFTTIqUyaAIqvMT9A/x+Ji5ejA4Bhxb/cl1pUdOD6epd3yilIdO6j297xInoiBPuEDW2/UfslDyhGkQs7Wy253bVnlT+SWg89zYIK/9KXFl5fe+jow2rd5FXv8zDPrmfMXiUPt9QBO/iK4QGbX5j/7Rx1c1vzsY8ONbP3lVIaPrhL4+1QrECTN3nyKavGG0gBBtHvTKhGoBHgMXHStFowN+HKrPriYu+OZ05Frn8okQrPaaxoKP1ULCS/cmKFN3gcH7HQlVjraCeQmtjg1pSQxeuqXiSKgLpxc/1OiZsU4+n4lz4hpahGyWBURLi4642n1gn9qz9bIsaCeEPJ0uJmenMWp2tJmIwLQ6VSgDYErOeBCfSj9P4G/vI7oIF+l/n5fp956QgxGvur77ynawAu3G9MdFbJbu49NZnWnnFcQHjxRuhUYvg1U/e84N4JTecciDAKb/KYIFXzloyuE1eYXf54MmhjTq7B/yBToDzzpx3tJCTo3HCmVPYfmtBRe3mPYEE/6RlTIxbf4fSOcaKFGk4gbaUWe44hVk9SZzhW80yfW5QWBHxmtUzvMhfVQli4gZTktIOZd9mjJ5hsbmzttaHQB29Am3dZkmx3g/qvYocyhZ2PXAWsNQiIaf+Q8W/MWPIK7/TjvCx5q2XRp4lVWydMc2wIQkhadDB0xsnw/kSEyGjLKjI4coVIwtubTF3E7MJ6LS6UOsJKj82XVAVPJJcepfewbzE91ivXZvOvYfsmMevwtPpfMzGmC7WJlyW2j0jh7AF1JLmwEJSKYwIvu6DHc3YnyLH9ZdIBnQ+nOVDRiP+REpqv++typYHIvoJyICGA40d8bR7HR2k7do6UQTHF4oriYeIQbxKe4Th6+/l1BjUtS9hqORh3MbgvYrStXTfSwaBOmAVQZzpYNqsAmQyjY56MUqty3c/xH6GuhNvNaG9vGbG6cPtBM8UA3e8r51D0AR9kozKuGGSMgLz3nAHxDNnc7GTwpLj7/6HeWp1iksDeTjwCLpxejuMtpMnGJgsiku1sOACwQ9ukzESiDRN77YNESxR5LphOlcASXA5uIts1LnBIcn1J7BLWs49DMALSnuz95gdOrTZr0u1SeYHinno/pE58xYoXbVO/S+FEMMs5qyWkMnp8Q3ClyTlZP52Y9nq7b8fITPuVXUk9ohG5EFHw4gAEcjFxfKb3xuAsEjx2z1wxNbSZMcgS9GKyW3R6KwJONgtA64LTyxWm8Bvudp0M1FdJPEGopM4Fvg7G/hsptkhCfHFegv4ENwxPeXmYhxwZy7js+BeM27t9ODBMynVCLJ7RWcBMteZJtvjOYHb5lOnCLYWNEMKC59BA7covu1cANa2PXL05iGdufOzkgFqqHBOrgQVUmLEc+Mkz4Rq8O6WkNr7atNkH4M8d+SD1t/tSzt3oFql+neVs+AwEI5JaBJaxARtY2Z4mKoUqxds4UpZ0sv3zIbNoo0J4fihldQTX3XNcuNcZmcrB5LTWMdzeRuAtBk3cZHYQF6gTi3PNuDJ0nmR+4LPLoHvxQIxRgJ9iNNXqf2SYJhcvCtJiVWo85TsyFOuq7EyBPJrAdhEgE0cTq16FQXhYPJFqSfiVn0IQnPOy0LbU4BeG94QjdYNB0CiQ3QaxQqD2ebSMiNjaVaw8WaM4Z5WnzcVDsr4eGweSLa2DE3BWViaxhZFIcSTjgxNCAfelg+hznVOYoe5VqTYs1g7WtfTm3e4/WduC6p+qqAM8H4ZyrJCGpewThTDPe6H7CzX/zQ8Tm+r65HeZn+MsmxUciEWPlAVaK/VBaQBWfoG/aRL/jSZIQfep/89GjasWmbaWzeEZ2R1FOjvyJT37O9B8046SRSKVEnXWlBqbkb5XCS3qFeuE9xb9+frEknxWB5h1D/hruz2iVDEAS7+qkEz5Ot5agHJc7WCdY94Ws61sURcX5nG8UELGBAHZ3i+3VulAyT0nKNNz4K2LBHBWJcTBX1wzf+//u/j/9+//v87+9/l9Lbh/L/uyNYiTsWV2LwsjaA6MxTuzFMqmxW8Jw/+IppdX8t/Clgi1rI1SN0UC/r6tX/4lUc2VV1OQReSeCsjUpKZchw4XUcjHfw6ryCV3R8s6VXm67vp4n+lcPV9gJwmbKQEsmrJi9c2vkwrm8HFbVYNTaRGq8D91t9n5+U+aD/hNtN3HjC/nC/vUoGFSCkXP+NlRcmLUqLbiUBl4LYf1U/CCvwtd3ryCH8gUmGITAxiH1O5rnGTz7y1LuFjmnFGQ1UWuM7HwfXtWl2fPFKklYwNUpF2IL/TmaRETjQiM5SJacI+3Gv5MBU8lP5Io6gWkawpyzNEVGqOdx4YlO1dCvjbWFZWbCmeiFKPSlMKtKcMFLs/KQxtgAHi7NZNCQ32bBAW2mbHflVZ8wXKi1JKVHkW20bnYnl3dKWJeWJOiX3oKPBD6Zbi0ZvSIuWktUHB8qDR8DMMh1ZfkBL9FS9x5r0hBGLJ8pUCJv3NYH+Ae8p40mZWd5m5fhobFjQeQvqTT4VKWIYfRL0tfaXKiVl75hHReuTJEcqVlug+eOIIc4bdIydtn2K0iNZPsYWQvQio2qbO3OqAlPHDDOB7DfjGEfVF51FqqNacd6QmgFKJpMfLp5DHTv4wXlONKVXF9zTJpDV4m1sYZqJPhotcsliZM8yksKkCkzpiXt+EcRQvSQqmBS9WdWkxMTJXPSw94jqI3varCjQxTazjlMH8jTS8ilaW8014/vwA/LNa+YiFoyyx3s/KswP3O8QW1jtq45yTM/DX9a8M4voTVaO2ebvw1EooDw/yg6Y1faY+WwrdVs5Yt0hQ5EwRfYXSFxray1YvSM+kYmlpLG2/9mm1MfmbKHXr44Ih8nVKb1M537ZANUkCtdsPZ80JVKVKabVHCadaLXg+IV8i5GSwpZti0h6diTaKs9sdpUKEpd7jDUpYmHtiX33SKiO3tuydkaxA7pEc9XIQEOfWJlszj5YpL5bKeQyT7aZSBOamvSHl8xsWvgo26IP/bqk+0EJUz+gkkcvlUlyPp2kdKFtt7y5aCdks9ZJJcFp5ZWeaWKgtnXMN3ORwGLBE0PtkEIek5FY2aVssUZHtsWIvnljMVJtuVIjpZup/5VL1yPOHWWHkOMc6YySWMckczD5jUj2mlLVquFaMU8leGVaqeXis+aRRL8zm4WuBk6cyWfGMxgtr8useQEx7k/PvRoZyd9nde1GUCV84gMX8Ogu/BWezYPSR27llzQnA97oo0pYyxobYUJfsj+ysTm9zJ+S4pk0TGo9VTG0KjqYhTmALfoDZVKla2b5yhv241PxFaLJs3i05K0AAIdcGxCJZmT3ZdT7CliR7q+kur7WdQjygYtOWRL9B8E4s4LI8KpAj7bE0dg7DLOaX+MGeAi0hMMSSWZEz+RudXbZCsGYS0QqiXjH9XQbd8sCB+nIVTq7/T/FDS+zWY9q7Z2fdq1tdLb6v3hKKVDAw5gjj6o9r1wHFROdHc18MJp4SJ2Ucvu+iQ9EgkekW8VCM+psM6y+/2SBy8tNN4a3L1MzP+OLsyvESo5gS7IQOnIqMmviJBVc6zbVG1n8eXiA3j46kmvvtJlewwNDrxk4SbJOtP/TV/lIVK9ueShNbbMHfwnLTLLhbZuO79ec5XvfgRwLFK+w1r5ZWW15rVFZrE+wKqNRv5KqsLNfpGgnoUU6Y71NxEmN7MyqwqAQqoIULOw/LbuUB2+uE75gJt+kq1qY4LoxV+qR/zalupea3D5+WMeaRIn0sAI6DDWDh158fqUb4YhAxhREbUN0qyyJYkBU4V2KARXDT65gW3gRsiv7xSPYEKLwzgriWcWgPr0sbZnv7m1XHNFW6xPdGNZUdxFiUYlmXNjDVWuu7LCkX/nVkrXaJhiYktBISC2xgBXQnNEP+cptWl1eG62a7CPXrnrkTQ5BQASbEqUZWMDiZUisKyHDeLFOaJILUo5f6iDt4ZO8MlqaKLto0AmTHVVbkGuyPa1R/ywZsWRoRDoRdNMMHwYTsklMVnlAd2S0282bgMI8fiJpDh69OSL6K3qbo20KfpNMurnYGQSr/stFqZ7hYsxKlLnKAKhsmB8AIpEQ4bd/NrTLTXefsE6ChRmKWjXKVgpGoPs8GAicgKVw4K0qgDgy1A6hFq1WRat3fHF+FkU+b6H4NWpOU3KXTxrIb2qSHAb+qhm8hiSROi/9ofapjxhyKxxntPpge6KL5Z4+WBMYkAcE6+0Hd3Yh2zBsK2MV3iW0Y6cvOCroXlRb2MMJtdWx+3dkFzGh2Pe3DZ9QpSqpaR/rE1ImOrHqYYyccpiLC22amJIjRWVAherTfpQLmo6/K2pna85GrDuQPlH1Tsar8isAJbXLafSwOof4gg9RkAGm/oYpBQQiPUoyDk2BCQ1k+KILq48ErFo4WSRhHLq/y7mgw3+L85PpP6xWr6cgp9sOjYjKagOrxF148uhuaWtjet953fh1IQiEzgC+d2IgBCcUZqgTAICm2bR8oCjDLBsmg+ThyhfD+zBalsKBY1Ce54Y/t9cwfbLu9SFwEgphfopNA3yNxgyDafUM3mYTovZNgPGdd4ZFFOj1vtfFW3u7N+iHEN1HkeesDMXKPyoCDCGVMo4GCCD6PBhQ3dRZIHy0Y/3MaE5zU9mTCrwwnZojtE+qNpMSkJSpmGe0EzLyFelMJqhfFQ7a50uXxZ8pCc2wxtAKWgHoeamR2O7R+bq7IbPYItO0esdRgoTaY38hZLJ5y02oIVwoPokGIzxAMDuanQ1vn2WDQ00Rh6o5QOaCRu99fwDbQcN0XAuqkFpxT/cfz3slGRVokrNU0iqiMAJFEbKScZdmSkTUznC0U+MfwFOGdLgsewRyPKwBZYSmy6U325iUhBQNxbAC3FLKDV9VSOuQpOOukJ/GAmu/tyEbX9DgEp6dv1zoU0IqzpG6gssSjIYRVPGgU1QAQYRgIT8gEV0EXr1sqeh2I6rXjtmoCYyEDCe/PkFEi/Q48FuT29p557iN+LCwk5CK/CZ2WdAdfQZh2Z9QGrzPLSNRj5igUWzl9Vi0rCqH8G1Kp4QMLkuwMCAypdviDXyOIk0AHTM8HBYKh3b0/F+DxoNj4ZdoZfCpQVdnZarqoMaHWnMLNVcyevytGsrXQEoIbubqWYNo7NRHzdc0zvT21fWVirj7g36iy6pxogfvgHp1xH1Turbz8QyyHnXeBJicpYUctbzApwzZ1HT+FPEXMAgUZetgeGMwt4G+DHiDT2Lu+PT21fjJCAfV16a/Wu1PqOkUHSTKYhWW6PhhHUlNtWzFnA7MbY+r64vkwdpfNB2JfWgWXAvkzd42K4lN9x7Wrg4kIKgXCb4mcW595MCPJ/cTfPAMQMFWwnqwde4w8HZYJFpQwcSMhjVz4B8p6ncSCN1X4klxoIH4BN2J6taBMj6lHkAOs8JJAmXq5xsQtrPIPIIp/HG6i21xMGcFgqDXSRF0xQg14d2uy6HgKE13LSvQe52oShF5Jx1R6avyL4thhXQZHfC94oZzuPUBKFYf1VvDaxIrtV6dNGSx7DO0i1p6CzBkuAmEqyWceQY7F9+U0ObYDzoa1iKao/cOD/v6Q9gHrrr1uCeOk8fST9MG23Ul0KmM3r+Wn6Hi6WAcL7gEeaykicvgjzkjSwFsAXIR81Zx4QJ6oosVyJkCcT+4xAldCcihqvTf94HHUPXYp3REIaR4dhpQF6+FK1H0i9i7Pvh8owu3lO4PT1iuqu+DkL2Bj9+kdfGAg2TXw03iNHyobxofLE2ibjsYDPgeEQlRMR7afXbSGQcnPjI2D+sdtmuQ771dbASUsDndU7t58jrrNGRzISvwioAlHs5FA+cBE5Ccznkd8NMV6BR6ksnKLPZnMUawRDU1MZ/ib3xCdkTblHKu4blNiylH5n213yM0zubEie0o4JhzcfAy3H5qh2l17uLooBNLaO+gzonTH2uF8PQu9EyH+pjGsACTMy4cHzsPdymUSXYJOMP3yTkXqvO/lpvt0cX5ekDEu9PUfBeZODkFuAjXCaGdi6ew4qxJ8PmFfwmPpkgQjQlWqomFY6UkjmcnAtJG75EVR+NpzGpP1Ef5qUUbfowrC3zcSLX3BxgWEgEx/v9cP8H8u1Mvt9/rMDYf6sjwU1xSOPBgzFEeJLMRVFtKo5QHsUYT8ZRLCah27599EuqoC9PYjYO6aoAMHB8X1OHwEAYouHfHB3nyb2B+SnZxM/vw/bCtORjLMSy5aZoEpvgdGvlJfNPFUu/p7Z4VVK1hiI0/UTuB3ZPq4ohEbm7Mntgc1evEtknaosgZSwnDC2BdMmibpeg48X8Ixl+/8+xXdbshQXUPPvx8jT3fkELivHSmqbhblfNFShWAyQnJ3WBU6SMYSIpTDmHjdLVAdlADdz9gCplZw6mTiHqDwIsxbm9ErGusiVpg2w8Q3khKV/R9Oj8PFeF43hmW/nSd99nZzhyjCX3QOZkkB6BsH4H866WGyv9E0hVAzPYah2tkRfQZMmP2rinfOeQalge0ovhduBjJs9a1GBwReerceify49ctOh5/65ATYuMsAkVltmvTLBk4oHpdl6i+p8DoNj4Fb2vhdFYer2JSEilEwPd5n5zNoGBXEjreg/wh2NFnNRaIUHSOXa4eJRwygZoX6vnWnqVdCRT1ARxeFrNBJ+tsdooMwqnYhE7zIxnD8pZH+P0Nu1wWxCPTADfNWmqx626IBJJq6NeapcGeOmbtXvl0TeWG0Y7OGGV4+EHTtNBIT5Wd0Bujl7inXgZgfXTM5efD3qDTJ54O9v3Bkv+tdIRlq1kXcVD0BEMirmFxglNPt5pedb1AnxuCYMChUykwsTIWqT23XDpvTiKEru1cTcEMeniB+HQDehxPXNmkotFdwUPnilB/u4Nx5Xc6l8J9jH1EgKZUUt8t8cyoZleDBEt8oibDmJRAoMKJ5Oe9CSWS5ZMEJvacsGVdXDWjp/Ype5x0p9PXB2PAwt2LRD3d+ftNgpuyvxlP8pB84oB1i73vAVpwyrmXW72hfW6Dzn9Jkj4++0VQ4d0KSx1AsDA4OtXXDo63/w+GD+zC7w5SJaxsmnlYRQ4dgdjA7tTl2KNLnpJ+mvkoDxtt1a4oPaX3EVqj96o9sRKBQqU7ZOiupeAIyLMD+Y3YwHx30XWHB5CQiw7q3mj1EDlP2eBsZbz79ayUMbyHQ7s8gu4Lgip1LiGJj7NQj905/+rgUYKAA5qdrlHKIknWmqfuR+PB8RdBkDg/NgnlT89G72h2NvySnj7UyBwD+mi/IWs1xWbxuVwUIVXun5cMqBtFbrccI+DILjsVQg6eeq0itiRfedn89CvyFtpkxaauEvSANuZmB1p8FGPbU94J9medwsZ9HkUYjmI7OH5HuxendLbxTaYrPuIfE2ffXFKhoNBUp33HsFAXmCV/Vxpq5AYgFoRr5Ay93ZLRlgaIPjhZjXZZChT+aE5iWAXMX0oSFQEtwjiuhQQItTQX5IYrKfKB+queTNplR1Hoflo5/I6aPPmACwQCE2jTOYo5Dz1cs7Sod0KTG/3kEDGk3kUaUCON19xSJCab3kNpWZhSWkO8l+SpW70Wn3g0ciOIJO5JXma6dbos6jyisuxXwUUhj2+1uGhcvuliKtWwsUTw4gi1c/diEEpZHoKoxTBeMDmhPhKTx7TXWRakV8imJR355DcIHkR9IREHxohP4TbyR5LtFU24umRPRmEYHbpe1LghyxPx7YgUHjNbbQFRQhh4KeU1EabXx8FS3JAxp2rwRDoeWkJgWRUSKw6gGP5U2PuO9V4ZuiKXGGzFQuRuf+tkSSsbBtRJKhCi3ENuLlXhPbjTKD4djXVnfXFds6Zb+1XiUrRfyayGxJq1+SYBEfbKlgjiSmk0orgTqzSS+DZ5rTqsJbttiNtp+KMqGE2AHGFw6jQqM5vD6vMptmXV9OAjq49Uf/Lx9Opam+Hn5O9p8qoBBAQixzQZ4eNVkO9sPzJAMyR1y4/RCQQ1s0pV5KAU5sKLw3tkcFbI/JqrjCsK4Mw+W8aod4lioYuawUiCyVWBE/qPaFi5bnkgpfu/ae47174rI1fqQoTbW0HrU6FAejq7ByM0V4zkZTg02/YJK2N7hUQRCeZ4BIgSEqgD8XsjzG6LIsSbuHoIdz/LhFzbNn1clci1NHWJ0/6/O8HJMdIpEZbqi1RrrFfoo/rI/7ufm2MPG5lUI0IYJ4MAiHRTSOFJ2oTverFHYXThkYFIoyFx6rMYFgaOKM4xNWdlOnIcKb/suptptgTOTdVIf4YgdaAjJnIAm4qNNHNQqqAzvi53GkyRCEoseUBrHohZsjUbkR8gfKtc/+Oa72lwxJ8Mq6HDfDATbfbJhzeIuFQJSiw1uZprHlzUf90WgqG76zO0eCB1WdPv1IT6sNxxh91GEL2YpgC97ikFHyoaH92ndwduqZ6IYjkg20DX33MWdoZk7QkcKUCgisIYslOaaLyvIIqRKWQj16jE1DlQWJJaPopWTJjXfixEjRJJo8g4++wuQjbq+WVYjsqCuNIQW3YjnxKe2M5ZKEqq+cX7ZVgnkbsU3RWIyXA1rxv4kGersYJjD//auldXGmcEbcfTeF16Y1708FB1HIfmWv6dSFi6oD4E+RIjCsEZ+kY7dKnwReJJw3xCjKvi3kGN42rvyhUlIz0Bp+fNSV5xwFiuBzG296e5s/oHoFtUyUplmPulIPl+e1CQIQVtjlzLzzzbV+D/OVQtYzo5ixtMi5BmHuG4N/uKfJk5UIREp7+12oZlKtPBomXSzAY0KgtbPzzZoHQxujnREUgBU+O/jKKhgxVhRPtbqyHiUaRwRpHv7pgRPyUrnE7fYkVblGmfTY28tFCvlILC04Tz3ivkNWVazA+OsYrxvRM/hiNn8Fc4bQBeUZABGx5S/xFf9Lbbmk298X7iFg2yeimvsQqqJ+hYbt6uq+Zf9jC+Jcwiccd61NKQtFvGWrgJiHB5lwi6fR8KzYS7EaEHf/ka9EC7H8D+WEa3TEACHBkNSj/cXxFeq4RllC+fUFm2xtstYLL2nos1DfzsC9vqDDdRVcPA3Ho95aEQHvExVThXPqym65llkKlfRXbPTRiDepdylHjmV9YTWAEjlD9DdQnCem7Aj/ml58On366392214B5zrmQz/9ySG2mFqEwjq5sFl5tYJPw5hNz8lyZPUTsr5E0F2C9VMPnZckWP7+mbwp/BiN7f4kf7vtGnZF2JGvjK/sDX1RtcFY5oPQnE4lIAYV49U3C9SP0LCY/9i/WIFK9ORjzM9kG/KGrAuwFmgdEpdLaiqQNpCTGZVuAO65afkY1h33hrqyLjZy92JK3/twdj9pafFcwfXONmPQWldPlMe7jlP24Js0v9m8bIJ9TgS2IuRvE9ZVRaCwSJYOtAfL5H/YS4FfzKWKbek+GFulheyKtDNlBtrdmr+KU+ibHTdalzFUmMfxw3f36x+3cQbJLItSilW9cuvZEMjKw987jykZRlsH/UI+HlKfo2tLwemBEeBFtmxF2xmItA/dAIfQ+rXnm88dqvXa+GapOYVt/2waFimXFx3TC2MUiOi5/Ml+3rj/YU6Ihx2hXgiDXFsUeQkRAD6wF3SCPi2flk7XwKAA4zboqynuELD312EJ88lmDEVOMa1W/K/a8tGylZRMrMoILyoMQzzbDJHNZrhH77L9qSC42HVmKiZ5S0016UTp83gOhCwz9XItK9fgXfK3F5d7nZCBUekoLxrutQaPHa16Rjsa0gTrzyjqTnmcIcrxg6X6dkKiucudc0DD5W4pJPf0vuDW8r5/uw24YfMuxFRpD2ovT2mFX79xH6Jf+MVdv2TYqR6/955QgVPe3JCD/WjAYcLA9tpXgFiEjge2J5ljeI/iUzg91KQuHkII4mmHZxC3XQORLAC6G7uFn5LOmlnXkjFdoO976moNTxElS8HdxWoPAkjjocDR136m2l+f5t6xaaNgdodOvTu0rievnhNAB79WNrVs6EsPgkgfahF9gSFzzAd+rJSraw5Mllit7vUP5YxA843lUpu6/5jAR0RvH4rRXkSg3nE+O5GFyfe+L0s5r3k05FyghSFnKo4TTgs07qj4nTLqOYj6qaW9knJTDkF5OFMYbmCP+8H16Ty482OjvERV6OFyw043L9w3hoJi408sR+SGo1WviXUu8d7qS+ehKjpKwxeCthsm2LBFSFeetx0x4AaKPxtp3CxdWqCsLrB1s/j5TAhc1jNZsXWl6tjo/WDoewxzg8T8NnhZ1niUwL/nhfygLanCnRwaFGDyLw+sfZhyZ1UtYTp8TYB6dE7R3VsKKH95CUxJ8u8N+9u2/9HUNKHW3x3w5GQrfOPafk2w5qZq8MaHT0ebeY3wIsp3rN9lrpIsW9c1ws3VNV+JwNz0Lo9+V7zZr6GD56We6gWVIvtmam5GPPkVAbr74r6SwhuL+TRXtW/0pgyX16VNl4/EAD50TnUPuwrW6OcUO2VlWXS0inq872kk7GUlW6o/ozFKq+Sip6LcTtSDfDrPTcCHhx75H8BeRon+KG2wRwzfDgWhALmiWOMO6h3pm1UCZEPEjScyk7tdLx6WrdA2N1QTPENvNnhCQjW6kl057/qv7IwRryHrZBCwVSbLLnFRiHdTwk8mlYixFt1slEcPD7FVht13HyqVeyD55HOXrh2ElAxJyinGeoFzwKA91zfrdLvDxJSjzmImfvTisreI25EDcVfGsmxLVbfU8PGe/7NmWWKjXcdTJ11jAlVIY/Bv/mcxg/Q10vCHwKG1GW/XbJq5nxDhyLqiorn7Wd7VEVL8UgVzpHMjQ+Z8DUgSukiVwWAKkeTlVVeZ7t1DGnCgJVIdBPZAEK5f8CDyDNo7tK4/5DBjdD5MPV86TaEhGsLVFPQSI68KlBYy84FievdU9gWh6XZrugvtCZmi9vfd6db6V7FmoEcRHnG36VZH8N4aZaldq9zZawt1uBFgxYYx+Gs/qW1jwANeFy+LCoymyM6zgG7j8bGzUyLhvrbJkTYAEdICEb4kMKusKT9V3eIwMLsjdUdgijMc+7iKrr+TxrVWG0U+W95SGrxnxGrE4eaJFfgvAjUM4SAy8UaRwE9j6ZQH5qYAWGtXByvDiLSDfOD0yFA3UCMKSyQ30fyy1mIRg4ZcgZHLNHWl+c9SeijOvbOJxoQy7lTN2r3Y8p6ovxvUY74aOYbuVezryqXA6U+fcp6wSV9X5/OZKP18tB56Ua0gMyxJI7XyNT7IrqN8GsB9rL/kP5KMrjXxgqKLDa+V5OCH6a5hmOWemMUsea9vQl9t5Oce76PrTyTv50ExOqngE3PHPfSL//AItPdB7kGnyTRhVUUFNdJJ2z7RtktZwgmQzhBG/G7QsjZmJfCE7k75EmdIKH7xlnmDrNM/XbTT6FzldcH/rcRGxlPrv4qDScqE7JSmQABJWqRT/TUcJSwoQM+1jvDigvrjjH8oeK2in1S+/yO1j8xAws/T5u0VnIvAPqaE1atNuN0cuRliLcH2j0nTL4JpcR7w9Qya0JoaHgsOiALLCCzRkl1UUESz+ze/gIXHGtDwgYrK6pCFKJ1webSDog4zTlPkgXZqxlQDiYMjhDpwTtBW2WxthWbov9dt2X9XFLFmcF+eEc1UaQ74gqZiZsdj63pH1qcv3Vy8JYciogIVKsJ8Yy3J9w/GhjWVSQAmrS0BPOWK+RKV+0lWqXgYMnIFwpcZVD7zPSp547i9HlflB8gVnSTGmmq1ClO081OW/UH11pEQMfkEdDFzjLC1Cdo/BdL3s7cXb8J++Hzz1rhOUVZFIPehRiZ8VYu6+7Er7j5PSZu9g/GBdmNzJmyCD9wiswj9BZw+T3iBrg81re36ihMLjoVLoWc+62a1U/7qVX5CpvTVF7rocSAKwv4cBVqZm7lLDS/qoXs4fMs/VQi6BtVbNA3uSzKpQfjH1o3x4LrvkOn40zhm6hjduDglzJUwA0POabgdXIndp9fzhOo23Pe+Rk9GSLX0d71Poqry8NQDTzNlsa+JTNG9+UrEf+ngxCjGEsDCc0bz+udVRyHQI1jmEO3S+IOQycEq7XwB6z3wfMfa73m8PVRp+iOgtZfeSBl01xn03vMaQJkyj7vnhGCklsCWVRUl4y+5oNUzQ63B2dbjDF3vikd/3RUMifPYnX5Glfuk2FsV/7RqjI9yKTbE8wJY+74p7qXO8+dIYgjtLD/N8TJtRh04N9tXJA4H59IkMmLElgvr0Q5OCeVfdAt+5hkh4pQgfRMHpL74XatLQpPiOyHRs/OdmHtBf8nOZcxVKzdGclIN16lE7kJ+pVMjspOI+5+TqLRO6m0ZpNXJoZRv9MPDRcAfJUtNZHyig/s2wwReakFgPPJwCQmu1I30/tcBbji+Na53i1W1N+BqoY7Zxo+U/M9XyJ4Ok2SSkBtoOrwuhAY3a03Eu6l8wFdIG1cN+e8hopTkiKF093KuH/BcB39rMiGDLn6XVhGKEaaT/vqb/lufuAdpGExevF1+J9itkFhCfymWr9vGb3BTK4j598zRH7+e+MU9maruZqb0pkGxRDRE1CD4Z8LV4vhgPidk5w2Bq816g3nHw1//j3JStz7NR9HIWELO8TMn3QrP/zZp//+Dv9p429/ogv+GATR+n/UdF+ns9xNkXZQJXY4t9jMkJNUFygAtzndXwjss+yWH9HAnLQQfhAskdZS2l01HLWv7L7us5uTH409pqitvfSOQg/c+Zt7k879P3K9+WV68n7+3cZfuRd/dDPP/03rn+d+/nBvWfgDlt8+LzjqJ/vx3CnNOwiXhho778C96iD+1TBvRZYeP+EH81LE0vVwOOrmCLB3iKzI1x+vJEsrPH4uF0UB4TJ4X3uDfOCo3PYpYe0MF4bouh0DQ/l43fxUF7Y+dpWuvTSffB0yO2UQUETI/LwCZE3BvnevJ7c9zUlY3H58xzke6DNFDQG8n0WtDN4LAYN4nogKav1ezOfK/z+t6tsCTp+dhx4ymjWuCJk1dEUifDP+HyS4iP/Vg9B2jTo9L4NbiBuDS4nuuHW6H+JDQn2JtqRKGkEQPEYE7uzazXIkcxIAqUq1esasZBETlEZY7y7Jo+RoV/IsjY9eIMkUvr42Hc0xqtsavZvhz1OLwSxMOTuqzlhb0WbdOwBH9EYiyBjatz40bUxTHbiWxqJ0uma19qhPruvcWJlbiSSH48OLDDpaHPszvyct41ZfTu10+vjox6kOqK6v0K/gEPphEvMl/vwSv+A4Hhm36JSP9IXTyCZDm4kKsqD5ay8b1Sad/vaiyO5N/sDfEV6Z4q95E+yfjxpqBoBETW2C7xl4pIO2bDODDFurUPwE7EWC2Uplq+AHmBHvir2PSgkR12/Ry65O0aZtQPeXi9mTlF/Wj5GQ+vFkYyhXsLTjrBSP9hwk4GPqDP5rBn5/l8b0mLRAvRSzXHc293bs3s8EsdE3m2exxidWVB4joHR+S+dz5/W+v00K3TqN14CDBth8eWcsTbiwXPsygHdGid0PEdy6HHm2v/IUuV5RVapYmzGsX90mpnIdNGcOOq64Dbc5GUbYpD9M7S+6cLY//QmjxFLP5cuTFRm3vA5rkFZroFnO3bjHF35uU3s8mvL7Tp9nyTc4mymTJ5sLIp7umSnGkO23faehtz3mmTS7fbVx5rP7x3HXIjRNeq/A3xCs9JNB08c9S9BF2O3bOur0ItslFxXgRPdaapBIi4dRpKGxVz7ir69t/bc9qTxjvtOyGOfiLGDhR4fYywHv1WdOplxIV87TpLBy3Wc0QP0P9s4G7FBNOdITS/tep3o3h1TEa5XDDii7fWtqRzUEReP2fbxz7bHWWJdbIOxOUJZtItNZpTFRfj6vm9sYjRxQVO+WTdiOhdPeTJ+8YirPvoeL88l5iLYOHd3b/Imkq+1ZN1El3UikhftuteEYxf1Wujof8Pr4ICTu5ezZyZ4tHQMxlzUHLYO2VMOoNMGL/20S5i2o2obfk+8qqdR7xzbRDbgU0lnuIgz4LelQ5XS7xbLuSQtNS95v3ZUOdaUx/Qd8qxCt6xf2E62yb/HukLO6RyorV8KgYl5YNc75y+KvefrxY+lc/64y9kvWP0a0bDz/rojq+RWjO06WeruWqNFU7r3HPIcLWRql8ICZsz2Ls/qOm/CLn6++X+Qf7mGspYCrZod/lpl6Rw4xN/yuq8gqV4B6aHk1hVE1SfILxWu5gvXqbfARYQpspcxKp1F/c8XOPzkZvmoSw+vEqBLdrq1fr3wAPv5NnM9i8F+jdAuxkP5Z71c6uhK3enlnGymr7UsWZKC12qgUiG8XXGQ9mxnqz4GSIlybF9eXmbqj2sHX+a1jf0gRoONHRdRSrIq03Ty89eQ1GbV/Bk+du4+V15zls+vvERvZ4E7ZbnxWTVjDjb4o/k8jlw44pTIrUGxxuJvBeO+heuhOjpFsO6lVJ/aXnJDa/bM0Ql1cLbXE/Pbv3EZ3vj3iVrB5irjupZTzlnv677NrI9UNYNqbPgp/HZXS+lJmk87wec+7YOxTDo2aw2l3NfDr34VNlvqWJBknuK7oSlZ6/T10zuOoPZOeoIk81N+sL843WJ2Q4Z0fZ3scsqC/JV2fuhWi1jGURSKZV637lf53Xnnx16/vKEXY89aVJ0fv91jGdfG+G4+sniwHes4hS+udOr4RfhFhG/F5gUG35QaU+McuLmclb5ZWmR+sG5V6nf+PxYzlrnFGxpZaK8eqqVo0NfmAWoGfXDiT/FnUbWvzGDOTr8aktOZWg4BYvz5YH12ZbfCcGtNk+dDAZNGWvHov+PIOnY9Prjg8h/wLRrT69suaMVZ5bNuK00lSVpnqSX1NON/81FoP92rYndionwgOiA8WMf4vc8l15KqEEG4yAm2+WAN5Brfu1sq9suWYqgoajgOYt/JCk1gC8wPkK+XKCtRX6TAtgvrnuBgNRmn6I8lVDipOVB9kX6Oxkp4ZKyd1M6Gj8/v2U7k+YQBL95Kb9PQENucJb0JlW3b5tObN7m/Z1j1ev388d7o15zgXsI9CikAGAViR6lkJv7nb4Ak40M2G8TJ447kN+pvfHiOFjSUSP6PM+QfbAywKJCBaxSVxpizHseZUyUBhq59vFwrkyGoRiHbo0apweEZeSLuNiQ+HAekOnarFg00dZNXaPeoHPTRR0FmEyqYExOVaaaO8c0uFUh7U4e/UxdBmthlBDgg257Q33j1hA7HTxSeTTSuVnPZbgW1nodwmG16aKBDKxEetv7D9OjO0JhrbJTnoe+kcGoDJazFSO8/fUN9Jy/g4XK5PUkw2dgPDGpJqBfhe7GA+cjzfE/EGsMM+FV9nj9IAhrSfT/J3QE5TEIYyk5UjsI6ZZcCPr6A8FZUF4g9nnpVmjX90MLSQysIPD0nFzqwCcSJmIb5mYv2Cmk+C1MDFkZQyCBq4c/Yai9LJ6xYkGS/x2s5/frIW2vmG2Wrv0APpCdgCA9snFvfpe8uc0OwdRs4G9973PGEBnQB5qKrCQ6m6X/H7NInZ7y/1674/ZXOVp7OeuCRk8JFS516VHrnH1HkIUIlTIljjHaQtEtkJtosYul77cVwjk3gW1Ajaa6zWeyHGLlpk3VHE2VFzT2yI/EvlGUSz2H9zYE1s4nsKMtMqNyKNtL/59CpFJki5Fou6VXGm8vWATEPwrUVOLvoA8jLuwOzVBCgHB2Cr5V6OwEWtJEKokJkfc87h+sNHTvMb0KVTp5284QTPupoWvQVUwUeogZR3kBMESYo0mfukewRVPKh5+rzLQb7HKjFFIgWhj1w3yN/qCNoPI8XFiUgBNT1hCHBsAz8L7Oyt8wQWUFj92ONn/APyJFg8hzueqoJdNj57ROrFbffuS/XxrSXLTRgj5uxZjpgQYceeMc2wJrahReSKpm3QjHfqExTLAB2ipVumE8pqcZv8LYXQiPHHsgb5BMW8zM5pvQit+mQx8XGaVDcfVbLyMTlY8xcfmm/RSAT/H09UQol5gIz7rESDmnrQ4bURIB4iRXMDQwxgex1GgtDxKp2HayIkR+E/aDmCttNm2C6lytWdfOVzD6X2SpDWjQDlMRvAp1symWv4my1bPCD+E1EmGnMGWhNwmycJnDV2WrQNxO45ukEb08AAffizYKVULp15I4vbNK5DzWwCSUADfmKhfGSUqii1L2UsE8rB7mLuHuUJZOx4+WiizHBJ/hwboaBzhpNOVvgFTf5cJsHef7L1HCI9dOUUbb+YxUJWn6dYOLz+THi91kzY5dtO5c+grX7v0jEbsuoOGnoIreDIg/sFMyG+TyCLIcAWd1IZ1UNFxE8Uie13ucm40U2fcxC0u3WLvLOxwu+F7MWUsHsdtFQZ7W+nlfCASiAKyh8rnP3EyDByvtJb6Kax6/HkLzT9SyEyTMVM1zPtM0MJY14DmsWh4MgD15Ea9Hd00AdkTZ0EiG5NAGuIBzQJJ0JR0na+OB7lQA6UKxMfihIQ7GCCnVz694QvykWXTxpS2soDu+smru1UdIxSvAszBFD1c8c6ZOobA8bJiJIvuycgIXBQIXWwhyTgZDQxJTRXgEwRNAawGSXO0a1DKjdihLVNp/taE/xYhsgwe+VpKEEB4LlraQyE84gEihxCnbfoyOuJIEXy2FIYw+JjRusybKlU2g/vhTSGTydvCvXhYBdtAXtS2v7LkHtmXh/8fly1do8FI/D0f8UbzVb5h+KRhMGSAmR2mhi0YG/uj7wgxcfzCrMvdjitUIpXDX8ae2JcF/36qUWIMwN6JsjaRGNj+jEteGDcFyTUb8X/NHSucKMJp7pduxtD6KuxVlyxxwaeiC1FbGBESO84lbyrAugYxdl+2N8/6AgWpo/IeoAOcsG35IA/b3AuSyoa55L7llBLlaWlEWvuCFd8f8NfcTUgzJv6CbB+6ohWwodlk9nGWFpBAOaz5uEW5xBvmjnHFeDsb0mXwayj3mdYq5gxxNf3H3/tnCgHwjSrpSgVxLmiTtuszdRUFIsn6LiMPjL808vL1uQhDbM7aA43mISXReqjSskynIRcHCJ9qeFopJfx9tqyUoGbSwJex/0aDE3plBPGtNBYgWbdLom3+Q/bjdizR2/AS/c/dH/d3G7pyl1qDXgtOFtEqidwLqxPYtrNEveasWq3vPUUtqTeu8gpov4bdOQRI2kneFvRNMrShyVeEupK1PoLDPMSfWMIJcs267mGB8X9CehQCF0gIyhpP10mbyM7lwW1e6TGvHBV1sg/UyTghHPGRqMyaebC6pbB1WKNCQtlai1GGvmq9zUKaUzLaXsXEBYtHxmFbEZ2kJhR164LhWW2Tlp1dhsGE7ZgIWRBOx3Zcu2DxgH+G83WTPceKG0TgQKKiiNNOlWgvqNEbnrk6fVD+AqRam2OguZb0YWSTX88N+i/ELSxbaUUpPx4vJUzYg/WonSeA8xUK6u7DPHgpqWpEe6D4cXg5uK9FIYVba47V/nb+wyOtk+zG8RrS4EA0ouwa04iByRLSvoJA2FzaobbZtXnq8GdbfqEp5I2dpfpj59TCVif6+E75p665faiX8gS213RqBxTZqfHP46nF6NSenOneuT+vgbLUbdTH2/t0REFXZJOEB6DHvx6N6g9956CYrY/AYcm9gELJXYkrSi+0F0geKDZgOCIYkLU/+GOW5aGj8mvLFgtFH5+XC8hvAE3CvHRfl4ofM/Qwk4x2A+R+nyc9gNu/9Tem7XW4XRnyRymf52z09cTOdr+PG6+P/Vb4QiXlwauc5WB1z3o+IJjlbxI8MyWtSzT+k4sKVbhF3xa+vDts3NxXa87iiu+xRH9cAprnOL2h6vV54iQRXuOAj1s8nLFK8gZ70ThIQcWdF19/2xaJmT0efrkNDkWbpAQPdo92Z8+Hn/aLjbOzB9AI/k12fPs9HhUNDJ1u6ax2VxD3R6PywN7BrLJ26z6s3QoMp76qzzwetrDABKSGkfW5PwS1GvYNUbK6uRqxfyVGNyFB0E+OugMM8kKwmJmupuRWO8XkXXXQECyRVw9UyIrtCtcc4oNqXqr7AURBmKn6Khz3eBN96LwIJrAGP9mr/59uTOSx631suyT+QujDd4beUFpZ0kJEEnjlP+X/Kr2kCKhnENTg4BsMTOmMqlj2WMFLRUlVG0fzdCBgUta9odrJfpVdFomTi6ak0tFjXTcdqqvWBAzjY6hVrH9sbt3Z9gn+AVDpTcQImefbB4edirjzrsNievve4ZT4EUZWV3TxEsIW+9MT/RJoKfZZYSRGfC1CwPG/9rdMOM8qR/LUYvw5f/emUSoD7YSFuOoqchdUg2UePd1eCtFSKgxLSZ764oy4lvRCIH6bowPxZWwxNFctksLeil47pfevcBipkkBIc4ngZG+kxGZ71a72KQ7VaZ6MZOZkQJZXM6kb/Ac0/XkJx8dvyfJcWbI3zONEaEPIW8GbkYjsZcwy+eMoKrYjDmvEEixHzkCSCRPRzhOfJZuLdcbx19EL23MA8rnjTZZ787FGMnkqnpuzB5/90w1gtUSRaWcb0eta8198VEeZMUSfIhyuc4/nywFQ9uqn7jdqXh+5wwv+RK9XouNPbYdoEelNGo34KyySwigsrfCe0v/PlWPvQvQg8R0KgHO18mTVThhQrlbEQ0Kp/JxPdjHyR7E1QPw/ut0r+HDDG7BwZFm9IqEUZRpv2WpzlMkOemeLcAt5CsrzskLGaVOAxyySzZV/D2EY7ydNZMf8e8VhHcKGHAWNszf1EOq8fNstijMY4JXyATwTdncFFqcNDfDo+mWFvxJJpc4sEZtjXyBdoFcxbUmniCoKq5jydUHNjYJxMqN1KzYV62MugcELVhS3Bnd+TLLOh7dws/zSXWzxEb4Nj4aFun5x4kDWLK5TUF/yCXB/cZYvI9kPgVsG2jShtXkxfgT+xzjJofXqPEnIXIQ1lnIdmVzBOM90EXvJUW6a0nZ/7XjJGl8ToO3H/fdxnxmTNKBZxnkpXLVgLXCZywGT3YyS75w/PAH5I/jMuRspej8xZObU9kREbRA+kqjmKRFaKGWAmFQspC+QLbKPf0RaK3OXvBSWqo46p70ws/eZpu6jCtZUgQy6r4tHMPUdAgWGGUYNbuv/1a6K+MVFsd3T183+T8capSo6m0+Sh57fEeG/95dykGJBQMj09DSW2bY0mUonDy9a8trLnnL5B5LW3Nl8rJZNysO8Zb+80zXxqUGFpud3Qzwb7bf+8mq6x0TAnJU9pDQR9YQmZhlna2xuxJt0aCO/f1SU8gblOrbIyMsxTlVUW69VJPzYU2HlRXcqE2lLLxnObZuz2tT9CivfTAUYfmzJlt/lOPgsR6VN64/xQd4Jlk/RV7UKVv2Gx/AWsmTAuCWKhdwC+4HmKEKYZh2Xis4KsUR1BeObs1c13wqFRnocdmuheaTV30gvVXZcouzHKK5zwrN52jXJEuX6dGx3BCpV/++4f3hyaW/cQJLFKqasjsMuO3B3WlMq2gyYfdK1e7L2pO/tRye2mwzwZPfdUMrl5wdLqdd2Kv/wVtnpyWYhd49L6rsOV+8HXPrWH2Kup89l2tz6bf80iYSd+V4LROSOHeamvexR524q4r43rTmtFzQvArpvWfLYFZrbFspBsXNUqqenjxNNsFXatZvlIhk7teUPfK+YL32F8McTnjv0BZNppb+vshoCrtLXjIWq3EJXpVXIlG6ZNL0dh6qEm2WMwDjD3LfOfkGh1/czYc/0qhiD2ozNnH4882MVVt3JbVFkbwowNCO3KL5IoYW5wlVeGCViOuv1svZx7FbzxKzA4zGqBlRRaRWCobXaVq4yYCWbZf8eiJwt3OY+MFiSJengcFP2t0JMfzOiJ7cECvpx7neg1Rc5x+7myPJOXt2FohVRyXtD+/rDoTOyGYInJelZMjolecVHUhUNqvdZWg2J2t0jPmiLFeRD/8fOT4o+NGILb+TufCo9ceBBm3JLVn+MO2675n7qiEX/6W+188cYg3Zn5NSTjgOKfWFSAANa6raCxSoVU851oJLY11WIoYK0du0ec5E4tCnAPoKh71riTsjVIp3gKvBbEYQiNYrmH22oLQWA2AdwMnID6PX9b58dR2QKo4qag1D1Z+L/FwEKTR7osOZPWECPJIHQqPUsM5i/CH5YupVPfFA5pHUBcsesh8eO5YhyWnaVRPZn/BmdXVumZWPxMP5e28zm2uqHgFoT9CymHYNNrzrrjlXZM06HnzDxYNlI5b/QosxLmmrqDFqmogQdqk0WLkUceoAvQxHgkIyvWU69BPFr24VB6+lx75Rna6dGtrmOxDnvBojvi1/4dHjVeg8owofPe1cOnxU1ioh016s/Vudv9mhV9f35At+Sh28h1bpp8xhr09+vf47Elx3Ms6hyp6QvB3t0vnLbOhwo660cp7K0vvepabK7YJfxEWWfrC2YzJfYOjygPwfwd/1amTqa0hZ5ueebhWYVMubRTwIjj+0Oq0ohU3zfRfuL8gt59XsHdwKtxTQQ4Y2qz6gisxnm2UdlmpEkgOsZz7iEk6QOt8BuPwr+NR01LTqXmJo1C76o1N274twJvl+I069TiLpenK/miRxhyY8jvYV6W1WuSwhH9q7kuwnJMtm7IWcqs7HsnyHSqWXLSpYtZGaR1V3t0gauninFPZGtWskF65rtti48UV9uV9KM8kfDYs0pgB00S+TlzTXV6P8mxq15b9En8sz3jWSszcifZa/NuufPNnNTb031pptt0+sRSH/7UG8pzbsgtt3OG3ut7B9JzDMt2mTZuyRNIV8D54TuTrpNcHtgmMlYJeiY9XS83NYJicjRjtJSf9BZLsQv629QdDsKQhTK5CnXhpk7vMNkHzPhm0ExW/VCGApHfPyBagtZQTQmPHx7g5IXXsrQDPzIVhv2LB6Ih138iSDww1JNHrDvzUxvp73MsQBVhW8EbrReaVUcLB1R3PUXyaYG4HpJUcLVxMgDxcPkVRQpL7VTAGabDzbKcvg12t5P8TSGQkrj/gOrpnbiDHwluA73xbXts/L7u468cRWSWRtgTwlQnA47EKg0OiZDgFxAKQQUcsbGomITgeXUAAyKe03eA7Mp4gnyKQmm0LXJtEk6ddksMJCuxDmmHzmVhO+XaN2A54MIh3niw5CF7PwiXFZrnA8wOdeHLvvhdoqIDG9PDI7UnWWHq526T8y6ixJPhkuVKZnoUruOpUgOOp3iIKBjk+yi1vHo5cItHXb1PIKzGaZlRS0g5d3MV2pD8FQdGYLZ73aae/eEIUePMc4NFz8pIUfLCrrF4jVWH5gQneN3S8vANBmUXrEcKGn6hIUN95y1vpsvLwbGpzV9L0ZKTan6TDXM05236uLJcIEMKVAxKNT0K8WljuwNny3BNQRfzovA85beI9zr1AGNYnYCVkR1aGngWURUrgqR+gRrQhxW81l3CHevjvGEPzPMTxdsIfB9dfGRbZU0cg/1mcubtECX4tvaedmNAvTxCJtc2QaoUalGfENCGK7IS/O8CRpdOVca8EWCRwv2sSWE8CJPW5PCugjCXPd3h6U60cPD+bdhtXZuYB6stcoveE7Sm5MM2yvfUHXFSW7KzLmi7/EeEWL0wqcOH9MOSKjhCHHmw+JGLcYE/7SBZQCRggox0ZZTAxrlzNNXYXL5fNIjkdT4YMqVUz6p8YDt049v4OXGdg3qTrtLBUXOZf7ahPlZAY/O+7Sp0bvGSHdyQ8B1LOsplqMb9Se8VAE7gIdSZvxbRSrfl+Lk5Qaqi5QJceqjitdErcHXg/3MryljPSIAMaaloFm1cVwBJ8DNmkDqoGROSHFetrgjQ5CahuKkdH5pRPigMrgTtlFI8ufJPJSUlGgTjbBSvpRc0zypiUn6U5KZqcRoyrtzhmJ7/caeZkmVRwJQeLOG8LY6vP5ChpKhc8Js0El+n6FXqbx9ItdtLtYP92kKfaTLtCi8StLZdENJa9Ex1nOoz1kQ7qxoiZFKRyLf4O4CHRT0T/0W9F8epNKVoeyxUXhy3sQMMsJjQJEyMOjmOhMFgOmmlscV4eFi1CldU92yjwleirEKPW3bPAuEhRZV7JsKV3Lr5cETAiFuX5Nw5UlF7d2HZ96Bh0sgFIL5KGaKSoVYVlvdKpZJVP5+NZ7xDEkQhmDgsDKciazJCXJ6ZN2B3FY2f6VZyGl/t4aunGIAk/BHaS+i+SpdRfnB/OktOvyjinWNfM9Ksr6WwtCa1hCmeRI6icpFM4o8quCLsikU0tMoZI/9EqXRMpKGaWzofl4nQuVQm17d5fU5qXCQeCDqVaL9XJ9qJ08n3G3EFZS28SHEb3cdRBdtO0YcTzil3QknNKEe/smQ1fTb0XbpyNB5xAeuIlf+5KWlEY0DqJbsnzJlQxJPOVyHiKMx5Xu9FcEv1Fbg6Fhm4t+Jyy5JC1W3YO8dYLsO0PXPbxodBgttTbH3rt9Cp1lJIk2r3O1Zqu94eRbnIz2f50lWolYzuKsj4PMok4abHLO8NAC884hiXx5Fy5pWKO0bWL7uEGXaJCtznhP67SlQ4xjWIfgq6EpZ28QMtuZK7JC0RGbl9nA4XtFLug/NLMoH1pGt9IonAJqcEDLyH6TDROcbsmGPaGIxMo41IUAnQVPMPGByp4mOmh9ZQMkBAcksUK55LsZj7E5z5XuZoyWCKu6nHmDq22xI/9Z8YdxJy4kWpD16jLVrpwGLWfyOD0Wd+cBzFBxVaGv7S5k9qwh/5t/LQEXsRqI3Q9Rm3QIoaZW9GlsDaKOUyykyWuhNOprSEi0s1G4rgoiX1V743EELti+pJu5og6X0g6oTynUqlhH9k6ezyRi05NGZHz0nvp3HOJr7ebrAUFrDjbkFBObEvdQWkkUbL0pEvMU46X58vF9j9F3j6kpyetNUBItrEubW9ZvMPM4qNqLlsSBJqOH3XbNwv/cXDXNxN8iFLzUhteisYY+RlHYOuP29/Cb+L+xv+35Rv7xudnZ6ohK4cMPfCG8KI7dNmjNk/H4e84pOxn/sZHK9psfvj8ncA8qJz7O8xqbxESDivGJOZzF7o5PJLQ7g34qAWoyuA+x3btU98LT6ZyGyceIXjrqob2CAVql4VOTQPUQYvHV/g4zAuCZGvYQBtf0wmd5lilrvuEn1BXLny01B4h4SMDlYsnNpm9d7m9h578ufpef9Z4WplqWQvqo52fyUA7J24eZD5av6SyGIV9kpmHNqyvdfzcpEMw97BvknV2fq+MFHun9BT3Lsf8pbzvisWiIQvYkng+8Vxk1V+dli1u56kY50LRjaPdotvT5BwqtwyF+emo/z9J3yVUVGfKrxQtJMOAQWoQii/4dp9wgybSa5mkucmRLtEQZ/pz0tL/NVcgWAd95nEQ3Tg6tNbuyn3Iepz65L3huMUUBntllWuu4DbtOFSMSbpILV4fy6wlM0SOvi6CpLh81c1LreIvKd61uEWBcDw1lUBUW1I0Z+m/PaRlX+PQ/oxg0Ye6KUiIiTF4ADNk59Ydpt5/rkxmq9tV5Kcp/eQLUVVmBzQNVuytQCP6Ezd0G8eLxWyHpmZWJ3bAzkWTtg4lZlw42SQezEmiUPaJUuR/qklVA/87S4ArFCpALdY3QRdUw3G3XbWUp6aq9z0zUizcPa7351p9JXOZyfdZBFnqt90VzQndXB/mwf8LC9STj5kenVpNuqOQQP3mIRJj7eV21FxG8VAxKrEn3c+XfmZ800EPb9/5lIlijscUbB6da0RQaMook0zug1G0tKi/JBC4rw7/D3m4ARzAkzMcVrDcT2SyFtUdWAsFlsPDFqV3N+EjyXaoEePwroaZCiLqEzb8MW+PNE9TmTC01EzWli51PzZvUqkmyuROU+V6ik+Le/9qT6nwzUzf9tP68tYei0YaDGx6kAd7jn1cKqOCuYbiELH9zYqcc4MnRJjkeGiqaGwLImhyeKs+xKJMBlOJ05ow9gGCKZ1VpnMKoSCTbMS+X+23y042zOb5MtcY/6oBeAo1Vy89OTyhpavFP78jXCcFH0t7Gx24hMEOm2gsEfGabVpQgvFqbQKMsknFRRmuPHcZu0Su/WMFphZvB2r/EGbG72rpGGho3h+Msz0uGzJ7hNK2uqQiE1qmn0zgacKYYZBCqsxV+sjbpoVdSilW/b94n2xNb648VmNIoizqEWhBnsen+d0kbCPmRItfWqSBeOd9Wne3c6bcd6uvXOJ6WdiSsuXq0ndhqrQ4QoWUjCjYtZ0EAhnSOP1m44xkf0O7jXghrzSJWxP4a/t72jU29Vu2rvu4n7HfHkkmQOMGSS+NPeLGO5I73mC2B7+lMiBQQZRM9/9liLIfowupUFAbPBbR+lxDM6M8Ptgh1paJq5Rvs7yEuLQv/7d1oU2woFSb3FMPWQOKMuCuJ7pDDjpIclus5TeEoMBy2YdVB4fxmesaCeMNsEgTHKS5WDSGyNUOoEpcC2OFWtIRf0w27ck34/DjxRTVIcc9+kqZE6iMSiVDsiKdP/Xz5XfEhm/sBhO50p1rvJDlkyyxuJ9SPgs7YeUJBjXdeAkE+P9OQJm6SZnn1svcduI78dYmbkE2mtziPrcjVisXG78spLvbZaSFx/Rks9zP4LKn0Cdz/3JsetkT06A8f/yCgMO6Mb1Hme0JJ7b2wZz1qleqTuKBGokhPVUZ0dVu+tnQYNEY1fmkZSz6+EGZ5EzL7657mreZGR3jUfaEk458PDniBzsSmBKhDRzfXameryJv9/D5m6HIqZ0R+ouCE54Dzp4IJuuD1e4Dc5i+PpSORJfG23uVgqixAMDvchMR0nZdH5brclYwRoJRWv/rlxGRI5ffD5NPGmIDt7vDE1434pYdVZIFh89Bs94HGGJbTwrN8T6lh1HZFTOB4lWzWj6EVqxSMvC0/ljWBQ3F2kc/mO2b6tWonT2JEqEwFts8rz2h+oWNds9ceR2cb7zZvJTDppHaEhK5avWqsseWa2Dt5BBhabdWSktS80oMQrL4TvAM9b5HMmyDnO+OkkbMXfUJG7eXqTIG6lqSOEbqVR+qYdP7uWb57WEJqzyh411GAVsDinPs7KvUeXItlcMdOUWzXBH6zscymV1LLVCtc8IePojzXHF9m5b5zGwBRdzcyUJkiu938ApmAayRdJrX1PmVguWUvt2ThQ62czItTyWJMW2An/hdDfMK7SiFQlGIdAbltHz3ycoh7j9V7GxNWBpbtcSdqm4XxRwTawc3cbZ+xfSv9qQfEkDKfZTwCkqWGI/ur250ItXlMlh6vUNWEYIg9A3GzbgmbqvTN8js2YMo87CU5y6nZ4dbJLDQJj9fc7yM7tZzJDZFtqOcU8+mZjYlq4VmifI23iHb1ZoT9E+kT2dolnP1AfiOkt7PQCSykBiXy5mv637IegWSKj9IKrYZf4Lu9+I7ub+mkRdlvYzehh/jaJ9n7HUH5b2IbgeNdkY7wx1yVzxS7pbvky6+nmVUtRllEFfweUQ0/nG017WoUYSxs+j2B4FV/F62EtHlMWZXYrjGHpthnNb1x66LKZ0Qe92INWHdfR/vqp02wMS8r1G4dJqHok8KmQ7947G13a4YXbsGgHcBvRuVu1eAi4/A5+ZixmdSXM73LupB/LH7O9yxLTVXJTyBbI1S49TIROrfVCOb/czZ9pM4JsZx8kUz8dQGv7gUWKxXvTH7QM/3J2OuXXgciUhqY+cgtaOliQQVOYthBLV3xpESZT3rmfEYNZxmpBbb24CRao86prn+i9TNOh8VxRJGXJfXHATJHs1T5txgc/opYrY8XjlGQQbRcoxIBcnVsMjmU1ymmIUL4dviJXndMAJ0Yet+c7O52/p98ytlmAsGBaTAmMhimAnvp1TWNGM9BpuitGj+t810CU2UhorrjPKGtThVC8WaXw04WFnT5fTjqmPyrQ0tN3CkLsctVy2xr0ZWgiWVZ1OrlFjjxJYsOiZv2cAoOvE+7sY0I/TwWcZqMoyIKNOftwP7w++Rfg67ljfovKYa50if3fzE/8aPYVey/Nq35+nH2sLPh/fP5TsylSKGOZ4k69d2PnH43+kq++sRXHQqGArWdwhx+hpwQC6JgT2uxehYU4Zbw7oNb6/HLikPyJROGK2ouyr+vzseESp9G50T4AyFrSqOQ0rroCYP4sMDFBrHn342EyZTMlSyk47rHSq89Y9/nI3zG5lX16Z5lxphguLOcZUndL8wNcrkyjH82jqg8Bo8OYkynrxZvbFno5lUS3OPr8Ko3mX9NoRPdYOKKjD07bvgFgpZ/RF+YzkWvJ/Hs/tUbfeGzGWLxNAjfDzHHMVSDwB5SabQLsIZHiBp43FjGkaienYoDd18hu2BGwOK7U3o70K/WY/kuuKdmdrykIBUdG2mvE91L1JtTbh20mOLbk1vCAamu7utlXeGU2ooVikbU/actcgmsC1FKk2qmj3GWeIWbj4tGIxE7BLcBWUvvcnd/lYxsMV4F917fWeFB/XbINN3qGvIyTpCalz1lVewdIGqeAS/gB8Mi+sA+BqDiX3VGD2eUunTRbSY+AuDy4E3Qx3hAhwnSXX+B0zuj3eQ1miS8Vux2z/l6/BkWtjKGU72aJkOCWhGcSf3+kFkkB15vGOsQrSdFr6qTj0gBYiOlnBO41170gOWHSUoBVRU2JjwppYdhIFDfu7tIRHccSNM5KZOFDPz0TGMAjzzEpeLwTWp+kn201kU6NjbiMQJx83+LX1e1tZ10kuChJZ/XBUQ1dwaBHjTDJDqOympEk8X2M3VtVw21JksChA8w1tTefO3RJ1FMbqZ01bHHkudDB/OhLfe7P5GOHaI28ZXKTMuqo0hLWQ4HabBsGG7NbP1RiXtETz074er6w/OerJWEqjmkq2y51q1BVI+JUudnVa3ogBpzdhFE7fC7kybrAt2Z6RqDjATAUEYeYK45WMupBKQRtQlU+uNsjnzj6ZmGrezA+ASrWxQ6LMkHRXqXwNq7ftv28dUx/ZSJciDXP2SWJsWaN0FjPX9Yko6LobZ7aYW/IdUktI9apTLyHS8DyWPyuoZyxN1TK/vtfxk3HwWh6JczZC8Ftn0bIJay2g+n5wd7lm9rEsKO+svqVmi+c1j88hSCxbzrg4+HEP0Nt1/B6YW1XVm09T1CpAKjc9n18hjqsaFGdfyva1ZG0Xu3ip6N6JGpyTSqY5h4BOlpLPaOnyw45PdXTN+DtAKg7DLrLFTnWusoSBHk3s0d7YouJHq85/R09Tfc37ENXZF48eAYLnq9GLioNcwDZrC6FW6godB8JnqYUPvn0pWLfQz0lM0Yy8Mybgn84Ds3Q9bDP10bLyOV+qzxa4Rd9Dhu7cju8mMaONXK3UqmBQ9qIg7etIwEqM/kECk/Dzja4Bs1xR+Q/tCbc8IKrSGsTdJJ0vge7IG20W687uVmK6icWQ6cD3lwFzgNMGtFvO5qyJeKflGLAAcQZOrkxVwy3cWvqlGpvjmf9Qe6Ap20MPbV92DPV0OhFM4kz8Yr0ffC2zLWSQ1kqY6QdQrttR3kh1YLtQd1kCEv5hVoPIRWl5ERcUTttBIrWp6Xs5Ehh5OUUwI5aEBvuiDmUoENmnVw1FohCrbRp1A1E+XSlWVOTi7ADW+5Ohb9z1vK4qx5R5lPdGCPBJZ00mC+Ssp8VUbgpGAvXWMuWQQRbCqI6Rr2jtxZxtfP7W/8onz+yz0Gs76LaT5HX9ecyiZCB/ZR/gFtMxPsDwohoeCRtiuLxE1GM1vUEUgBv86+eehL58/P56QFGQ/MqOe/vC76L63jzmeax4exd/OKTUvkXg+fOJUHych9xt/9goJMrapSgvXrj8+8vk/N80f22Sewj6cyGqt1B6mztoeklVHHraouhvHJaG/OuBz6DHKMpFmQULU1bRWlyYE0RPXYYkUycIemN7TLtgNCJX6BqdyxDKkegO7nJK5xQ7OVYDZTMf9bVHidtk6DQX9Et+V9M7esgbsYBdEeUpsB0Xvw2kd9+rI7V+m47u+O/tq7mw7262HU1WlS9uFzsV6JxIHNmUCy0QS9e077JGRFbG65z3/dOKB/Zk+yDdKpUmdXjn/aS3N5nv4fK7bMHHmPlHd4E2+iTbV5rpzScRnxk6KARuDTJ8Q1LpK2mP8gj1EbuJ9RIyY+EWK4hCiIDBAS1Tm2IEXAFfgKPgdL9O6mAa06wjCcUAL6EsxPQWO9VNegBPm/0GgkZbDxCynxujX/92vmGcjZRMAY45puak2sFLCLSwXpEsyy5fnF0jGJBhm+fNSHKKUUfy+276A7/feLOFxxUuHRNJI2Osenxyvf8DAGObT60pfTTlhEg9u/KKkhJqm5U1/+BEcSkpFDA5XeCqxwXmPac1jcuZ3JWQ+p0NdWzb/5v1ZvF8GtMTFFEdQjpLO0bwPb0BHNWnip3liDXI2fXf05jjvfJ0NpjLCUgfTh9CMFYVFKEd4Z/OG/2C+N435mnK+9t1gvCiVcaaH7rK4+PjCvpVNiz+t2QyqH1O8x3JKZVl6Q+Lp/XK8wMjVMslOq9FdSw5FtUs/CptXH9PW+wbWHgrV17R5jTVOtGtKFu3nb80T+E0tv9QkzW3J2dbaw/8ddAKZ0pxIaEqLjlPrji3VgJ3GvdFvlqD8075woxh4fVt0JZE0KVFsAvqhe0dqN9b35jtSpnYMXkU+vZq+IAHad3IHc2s/LYrnD1anfG46IFiMIr9oNbZDWvwthqYNqOigaKd/XlLU4XHfk/PXIjPsLy/9/kAtQ+/wKH+hI/IROWj5FPvTZAT9f7j4ZXQyG4M0TujMAFXYkKvEHv1xhySekgXGGqNxWeWKlf8dDAlLuB1cb/qOD+rk7cmwt+1yKpk9cudqBanTi6zTbXRtV8qylNtjyOVKy1HTz0GW9rjt6sSjAZcT5R+KdtyYb0zyqG9pSLuCw5WBwAn7fjBjKLLoxLXMI+52L9cLwIR2B6OllJZLHJ8vDxmWdtF+QJnmt1rsHPIWY20lftk8fYePkAIg6Hgn532QoIpegMxiWgAOfe5/U44APR8Ac0NeZrVh3gEhs12W+tVSiWiUQekf/YBECUy5fdYbA08dd7VzPAP9aiVcIB9k6tY7WdJ1wNV+bHeydNtmC6G5ICtFC1ZwmJU/j8hf0I8TRVKSiz5oYIa93EpUI78X8GYIAZabx47/n8LDAAJ0nNtP1rpROprqKMBRecShca6qXuTSI3jZBLOB3Vp381B5rCGhjSvh/NSVkYp2qIdP/Bg=";
32942          },
32943          {}
32944        ],
32945        6: [
32946          function(require2, module2, exports2) {
32947            var data = require2("./dictionary-browser");
32948            exports2.init = function() {
32949              exports2.dictionary = data.init();
32950            };
32951            exports2.offsetsByLength = new Uint32Array([
32952              0,
32953              0,
32954              0,
32955              0,
32956              0,
32957              4096,
32958              9216,
32959              21504,
32960              35840,
32961              44032,
32962              53248,
32963              63488,
32964              74752,
32965              87040,
32966              93696,
32967              100864,
32968              104704,
32969              106752,
32970              108928,
32971              113536,
32972              115968,
32973              118528,
32974              119872,
32975              121280,
32976              122016
32977            ]);
32978            exports2.sizeBitsByLength = new Uint8Array([
32979              0,
32980              0,
32981              0,
32982              0,
32983              10,
32984              10,
32985              11,
32986              11,
32987              10,
32988              10,
32989              10,
32990              10,
32991              10,
32992              9,
32993              9,
32994              8,
32995              7,
32996              7,
32997              8,
32998              7,
32999              7,
33000              6,
33001              6,
33002              5,
33003              5
33004            ]);
33005            exports2.minDictionaryWordLength = 4;
33006            exports2.maxDictionaryWordLength = 24;
33007          },
33008          { "./dictionary-browser": 4 }
33009        ],
33010        7: [
33011          function(require2, module2, exports2) {
33012            function HuffmanCode(bits, value) {
33013              this.bits = bits;
33014              this.value = value;
33015            }
33016            exports2.HuffmanCode = HuffmanCode;
33017            var MAX_LENGTH = 15;
33018            function GetNextKey(key, len) {
33019              var step = 1 << len - 1;
33020              while (key & step) {
33021                step >>= 1;
33022              }
33023              return (key & step - 1) + step;
33024            }
33025            function ReplicateValue(table, i, step, end, code) {
33026              do {
33027                end -= step;
33028                table[i + end] = new HuffmanCode(
33029                  code.bits,
33030                  code.value
33031                );
33032              } while (end > 0);
33033            }
33034            function NextTableBitSize(count, len, root_bits) {
33035              var left = 1 << len - root_bits;
33036              while (len < MAX_LENGTH) {
33037                left -= count[len];
33038                if (left <= 0) break;
33039                ++len;
33040                left <<= 1;
33041              }
33042              return len - root_bits;
33043            }
33044            exports2.BrotliBuildHuffmanTable = function(root_table, table, root_bits, code_lengths, code_lengths_size) {
33045              var start_table = table;
33046              var code;
33047              var len;
33048              var symbol;
33049              var key;
33050              var step;
33051              var low;
33052              var mask;
33053              var table_bits;
33054              var table_size;
33055              var total_size;
33056              var sorted;
33057              var count = new Int32Array(
33058                MAX_LENGTH + 1
33059              );
33060              var offset4 = new Int32Array(
33061                MAX_LENGTH + 1
33062              );
33063              sorted = new Int32Array(code_lengths_size);
33064              for (symbol = 0; symbol < code_lengths_size; symbol++) {
33065                count[code_lengths[symbol]]++;
33066              }
33067              offset4[1] = 0;
33068              for (len = 1; len < MAX_LENGTH; len++) {
33069                offset4[len + 1] = offset4[len] + count[len];
33070              }
33071              for (symbol = 0; symbol < code_lengths_size; symbol++) {
33072                if (code_lengths[symbol] !== 0) {
33073                  sorted[offset4[code_lengths[symbol]]++] = symbol;
33074                }
33075              }
33076              table_bits = root_bits;
33077              table_size = 1 << table_bits;
33078              total_size = table_size;
33079              if (offset4[MAX_LENGTH] === 1) {
33080                for (key = 0; key < total_size; ++key) {
33081                  root_table[table + key] = new HuffmanCode(
33082                    0,
33083                    sorted[0] & 65535
33084                  );
33085                }
33086                return total_size;
33087              }
33088              key = 0;
33089              symbol = 0;
33090              for (len = 1, step = 2; len <= root_bits; ++len, step <<= 1) {
33091                for (; count[len] > 0; --count[len]) {
33092                  code = new HuffmanCode(
33093                    len & 255,
33094                    sorted[symbol++] & 65535
33095                  );
33096                  ReplicateValue(
33097                    root_table,
33098                    table + key,
33099                    step,
33100                    table_size,
33101                    code
33102                  );
33103                  key = GetNextKey(key, len);
33104                }
33105              }
33106              mask = total_size - 1;
33107              low = -1;
33108              for (len = root_bits + 1, step = 2; len <= MAX_LENGTH; ++len, step <<= 1) {
33109                for (; count[len] > 0; --count[len]) {
33110                  if ((key & mask) !== low) {
33111                    table += table_size;
33112                    table_bits = NextTableBitSize(
33113                      count,
33114                      len,
33115                      root_bits
33116                    );
33117                    table_size = 1 << table_bits;
33118                    total_size += table_size;
33119                    low = key & mask;
33120                    root_table[start_table + low] = new HuffmanCode(
33121                      table_bits + root_bits & 255,
33122                      table - start_table - low & 65535
33123                    );
33124                  }
33125                  code = new HuffmanCode(
33126                    len - root_bits & 255,
33127                    sorted[symbol++] & 65535
33128                  );
33129                  ReplicateValue(
33130                    root_table,
33131                    table + (key >> root_bits),
33132                    step,
33133                    table_size,
33134                    code
33135                  );
33136                  key = GetNextKey(key, len);
33137                }
33138              }
33139              return total_size;
33140            };
33141          },
33142          {}
33143        ],
33144        8: [
33145          function(require2, module2, exports2) {
33146            "use strict";
33147            exports2.byteLength = byteLength;
33148            exports2.toByteArray = toByteArray;
33149            exports2.fromByteArray = fromByteArray;
33150            var lookup = [];
33151            var revLookup = [];
33152            var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
33153            var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
33154            for (var i = 0, len = code.length; i < len; ++i) {
33155              lookup[i] = code[i];
33156              revLookup[code.charCodeAt(i)] = i;
33157            }
33158            revLookup["-".charCodeAt(0)] = 62;
33159            revLookup["_".charCodeAt(0)] = 63;
33160            function getLens(b64) {
33161              var len2 = b64.length;
33162              if (len2 % 4 > 0) {
33163                throw new Error(
33164                  "Invalid string. Length must be a multiple of 4"
33165                );
33166              }
33167              var validLen = b64.indexOf("=");
33168              if (validLen === -1) validLen = len2;
33169              var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4;
33170              return [validLen, placeHoldersLen];
33171            }
33172            function byteLength(b64) {
33173              var lens = getLens(b64);
33174              var validLen = lens[0];
33175              var placeHoldersLen = lens[1];
33176              return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
33177            }
33178            function _byteLength(b64, validLen, placeHoldersLen) {
33179              return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
33180            }
33181            function toByteArray(b64) {
33182              var tmp;
33183              var lens = getLens(b64);
33184              var validLen = lens[0];
33185              var placeHoldersLen = lens[1];
33186              var arr = new Arr(
33187                _byteLength(b64, validLen, placeHoldersLen)
33188              );
33189              var curByte = 0;
33190              var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen;
33191              for (var i2 = 0; i2 < len2; i2 += 4) {
33192                tmp = revLookup[b64.charCodeAt(i2)] << 18 | revLookup[b64.charCodeAt(i2 + 1)] << 12 | revLookup[b64.charCodeAt(i2 + 2)] << 6 | revLookup[b64.charCodeAt(i2 + 3)];
33193                arr[curByte++] = tmp >> 16 & 255;
33194                arr[curByte++] = tmp >> 8 & 255;
33195                arr[curByte++] = tmp & 255;
33196              }
33197              if (placeHoldersLen === 2) {
33198                tmp = revLookup[b64.charCodeAt(i2)] << 2 | revLookup[b64.charCodeAt(i2 + 1)] >> 4;
33199                arr[curByte++] = tmp & 255;
33200              }
33201              if (placeHoldersLen === 1) {
33202                tmp = revLookup[b64.charCodeAt(i2)] << 10 | revLookup[b64.charCodeAt(i2 + 1)] << 4 | revLookup[b64.charCodeAt(i2 + 2)] >> 2;
33203                arr[curByte++] = tmp >> 8 & 255;
33204                arr[curByte++] = tmp & 255;
33205              }
33206              return arr;
33207            }
33208            function tripletToBase64(num) {
33209              return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];
33210            }
33211            function encodeChunk(uint8, start, end) {
33212              var tmp;
33213              var output = [];
33214              for (var i2 = start; i2 < end; i2 += 3) {
33215                tmp = (uint8[i2] << 16 & 16711680) + (uint8[i2 + 1] << 8 & 65280) + (uint8[i2 + 2] & 255);
33216                output.push(tripletToBase64(tmp));
33217              }
33218              return output.join("");
33219            }
33220            function fromByteArray(uint8) {
33221              var tmp;
33222              var len2 = uint8.length;
33223              var extraBytes = len2 % 3;
33224              var parts = [];
33225              var maxChunkLength = 16383;
33226              for (var i2 = 0, len22 = len2 - extraBytes; i2 < len22; i2 += maxChunkLength) {
33227                parts.push(
33228                  encodeChunk(
33229                    uint8,
33230                    i2,
33231                    i2 + maxChunkLength > len22 ? len22 : i2 + maxChunkLength
33232                  )
33233                );
33234              }
33235              if (extraBytes === 1) {
33236                tmp = uint8[len2 - 1];
33237                parts.push(
33238                  lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "=="
33239                );
33240              } else if (extraBytes === 2) {
33241                tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1];
33242                parts.push(
33243                  lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "="
33244                );
33245              }
33246              return parts.join("");
33247            }
33248          },
33249          {}
33250        ],
33251        9: [
33252          function(require2, module2, exports2) {
33253            function PrefixCodeRange(offset4, nbits) {
33254              this.offset = offset4;
33255              this.nbits = nbits;
33256            }
33257            exports2.kBlockLengthPrefixCode = [
33258              new PrefixCodeRange(1, 2),
33259              new PrefixCodeRange(5, 2),
33260              new PrefixCodeRange(9, 2),
33261              new PrefixCodeRange(13, 2),
33262              new PrefixCodeRange(17, 3),
33263              new PrefixCodeRange(25, 3),
33264              new PrefixCodeRange(33, 3),
33265              new PrefixCodeRange(41, 3),
33266              new PrefixCodeRange(49, 4),
33267              new PrefixCodeRange(65, 4),
33268              new PrefixCodeRange(81, 4),
33269              new PrefixCodeRange(97, 4),
33270              new PrefixCodeRange(113, 5),
33271              new PrefixCodeRange(145, 5),
33272              new PrefixCodeRange(177, 5),
33273              new PrefixCodeRange(209, 5),
33274              new PrefixCodeRange(241, 6),
33275              new PrefixCodeRange(305, 6),
33276              new PrefixCodeRange(369, 7),
33277              new PrefixCodeRange(497, 8),
33278              new PrefixCodeRange(753, 9),
33279              new PrefixCodeRange(1265, 10),
33280              new PrefixCodeRange(2289, 11),
33281              new PrefixCodeRange(4337, 12),
33282              new PrefixCodeRange(8433, 13),
33283              new PrefixCodeRange(16625, 24)
33284            ];
33285            exports2.kInsertLengthPrefixCode = [
33286              new PrefixCodeRange(0, 0),
33287              new PrefixCodeRange(1, 0),
33288              new PrefixCodeRange(2, 0),
33289              new PrefixCodeRange(3, 0),
33290              new PrefixCodeRange(4, 0),
33291              new PrefixCodeRange(5, 0),
33292              new PrefixCodeRange(6, 1),
33293              new PrefixCodeRange(8, 1),
33294              new PrefixCodeRange(10, 2),
33295              new PrefixCodeRange(14, 2),
33296              new PrefixCodeRange(18, 3),
33297              new PrefixCodeRange(26, 3),
33298              new PrefixCodeRange(34, 4),
33299              new PrefixCodeRange(50, 4),
33300              new PrefixCodeRange(66, 5),
33301              new PrefixCodeRange(98, 5),
33302              new PrefixCodeRange(130, 6),
33303              new PrefixCodeRange(194, 7),
33304              new PrefixCodeRange(322, 8),
33305              new PrefixCodeRange(578, 9),
33306              new PrefixCodeRange(1090, 10),
33307              new PrefixCodeRange(2114, 12),
33308              new PrefixCodeRange(6210, 14),
33309              new PrefixCodeRange(22594, 24)
33310            ];
33311            exports2.kCopyLengthPrefixCode = [
33312              new PrefixCodeRange(2, 0),
33313              new PrefixCodeRange(3, 0),
33314              new PrefixCodeRange(4, 0),
33315              new PrefixCodeRange(5, 0),
33316              new PrefixCodeRange(6, 0),
33317              new PrefixCodeRange(7, 0),
33318              new PrefixCodeRange(8, 0),
33319              new PrefixCodeRange(9, 0),
33320              new PrefixCodeRange(10, 1),
33321              new PrefixCodeRange(12, 1),
33322              new PrefixCodeRange(14, 2),
33323              new PrefixCodeRange(18, 2),
33324              new PrefixCodeRange(22, 3),
33325              new PrefixCodeRange(30, 3),
33326              new PrefixCodeRange(38, 4),
33327              new PrefixCodeRange(54, 4),
33328              new PrefixCodeRange(70, 5),
33329              new PrefixCodeRange(102, 5),
33330              new PrefixCodeRange(134, 6),
33331              new PrefixCodeRange(198, 7),
33332              new PrefixCodeRange(326, 8),
33333              new PrefixCodeRange(582, 9),
33334              new PrefixCodeRange(1094, 10),
33335              new PrefixCodeRange(2118, 24)
33336            ];
33337            exports2.kInsertRangeLut = [0, 0, 8, 8, 0, 16, 8, 16, 16];
33338            exports2.kCopyRangeLut = [0, 8, 0, 8, 16, 0, 16, 8, 16];
33339          },
33340          {}
33341        ],
33342        10: [
33343          function(require2, module2, exports2) {
33344            function BrotliInput(buffer) {
33345              this.buffer = buffer;
33346              this.pos = 0;
33347            }
33348            BrotliInput.prototype.read = function(buf, i, count) {
33349              if (this.pos + count > this.buffer.length) {
33350                count = this.buffer.length - this.pos;
33351              }
33352              for (var p3 = 0; p3 < count; p3++)
33353                buf[i + p3] = this.buffer[this.pos + p3];
33354              this.pos += count;
33355              return count;
33356            };
33357            exports2.BrotliInput = BrotliInput;
33358            function BrotliOutput(buf) {
33359              this.buffer = buf;
33360              this.pos = 0;
33361            }
33362            BrotliOutput.prototype.write = function(buf, count) {
33363              if (this.pos + count > this.buffer.length)
33364                throw new Error(
33365                  "Output buffer is not large enough"
33366                );
33367              this.buffer.set(buf.subarray(0, count), this.pos);
33368              this.pos += count;
33369              return count;
33370            };
33371            exports2.BrotliOutput = BrotliOutput;
33372          },
33373          {}
33374        ],
33375        11: [
33376          function(require2, module2, exports2) {
33377            var BrotliDictionary = require2("./dictionary");
33378            var kIdentity = 0;
33379            var kOmitLast1 = 1;
33380            var kOmitLast2 = 2;
33381            var kOmitLast3 = 3;
33382            var kOmitLast4 = 4;
33383            var kOmitLast5 = 5;
33384            var kOmitLast6 = 6;
33385            var kOmitLast7 = 7;
33386            var kOmitLast8 = 8;
33387            var kOmitLast9 = 9;
33388            var kUppercaseFirst = 10;
33389            var kUppercaseAll = 11;
33390            var kOmitFirst1 = 12;
33391            var kOmitFirst2 = 13;
33392            var kOmitFirst3 = 14;
33393            var kOmitFirst4 = 15;
33394            var kOmitFirst5 = 16;
33395            var kOmitFirst6 = 17;
33396            var kOmitFirst7 = 18;
33397            var kOmitFirst8 = 19;
33398            var kOmitFirst9 = 20;
33399            function Transform(prefix, transform, suffix) {
33400              this.prefix = new Uint8Array(prefix.length);
33401              this.transform = transform;
33402              this.suffix = new Uint8Array(suffix.length);
33403              for (var i = 0; i < prefix.length; i++)
33404                this.prefix[i] = prefix.charCodeAt(i);
33405              for (var i = 0; i < suffix.length; i++)
33406                this.suffix[i] = suffix.charCodeAt(i);
33407            }
33408            var kTransforms = [
33409              new Transform("", kIdentity, ""),
33410              new Transform("", kIdentity, " "),
33411              new Transform(" ", kIdentity, " "),
33412              new Transform("", kOmitFirst1, ""),
33413              new Transform("", kUppercaseFirst, " "),
33414              new Transform("", kIdentity, " the "),
33415              new Transform(" ", kIdentity, ""),
33416              new Transform("s ", kIdentity, " "),
33417              new Transform("", kIdentity, " of "),
33418              new Transform("", kUppercaseFirst, ""),
33419              new Transform("", kIdentity, " and "),
33420              new Transform("", kOmitFirst2, ""),
33421              new Transform("", kOmitLast1, ""),
33422              new Transform(", ", kIdentity, " "),
33423              new Transform("", kIdentity, ", "),
33424              new Transform(" ", kUppercaseFirst, " "),
33425              new Transform("", kIdentity, " in "),
33426              new Transform("", kIdentity, " to "),
33427              new Transform("e ", kIdentity, " "),
33428              new Transform("", kIdentity, '"'),
33429              new Transform("", kIdentity, "."),
33430              new Transform("", kIdentity, '">'),
33431              new Transform("", kIdentity, "\n"),
33432              new Transform("", kOmitLast3, ""),
33433              new Transform("", kIdentity, "]"),
33434              new Transform("", kIdentity, " for "),
33435              new Transform("", kOmitFirst3, ""),
33436              new Transform("", kOmitLast2, ""),
33437              new Transform("", kIdentity, " a "),
33438              new Transform("", kIdentity, " that "),
33439              new Transform(" ", kUppercaseFirst, ""),
33440              new Transform("", kIdentity, ". "),
33441              new Transform(".", kIdentity, ""),
33442              new Transform(" ", kIdentity, ", "),
33443              new Transform("", kOmitFirst4, ""),
33444              new Transform("", kIdentity, " with "),
33445              new Transform("", kIdentity, "'"),
33446              new Transform("", kIdentity, " from "),
33447              new Transform("", kIdentity, " by "),
33448              new Transform("", kOmitFirst5, ""),
33449              new Transform("", kOmitFirst6, ""),
33450              new Transform(" the ", kIdentity, ""),
33451              new Transform("", kOmitLast4, ""),
33452              new Transform("", kIdentity, ". The "),
33453              new Transform("", kUppercaseAll, ""),
33454              new Transform("", kIdentity, " on "),
33455              new Transform("", kIdentity, " as "),
33456              new Transform("", kIdentity, " is "),
33457              new Transform("", kOmitLast7, ""),
33458              new Transform("", kOmitLast1, "ing "),
33459              new Transform("", kIdentity, "\n    "),
33460              new Transform("", kIdentity, ":"),
33461              new Transform(" ", kIdentity, ". "),
33462              new Transform("", kIdentity, "ed "),
33463              new Transform("", kOmitFirst9, ""),
33464              new Transform("", kOmitFirst7, ""),
33465              new Transform("", kOmitLast6, ""),
33466              new Transform("", kIdentity, "("),
33467              new Transform("", kUppercaseFirst, ", "),
33468              new Transform("", kOmitLast8, ""),
33469              new Transform("", kIdentity, " at "),
33470              new Transform("", kIdentity, "ly "),
33471              new Transform(" the ", kIdentity, " of "),
33472              new Transform("", kOmitLast5, ""),
33473              new Transform("", kOmitLast9, ""),
33474              new Transform(" ", kUppercaseFirst, ", "),
33475              new Transform("", kUppercaseFirst, '"'),
33476              new Transform(".", kIdentity, "("),
33477              new Transform("", kUppercaseAll, " "),
33478              new Transform("", kUppercaseFirst, '">'),
33479              new Transform("", kIdentity, '="'),
33480              new Transform(" ", kIdentity, "."),
33481              new Transform(".com/", kIdentity, ""),
33482              new Transform(" the ", kIdentity, " of the "),
33483              new Transform("", kUppercaseFirst, "'"),
33484              new Transform("", kIdentity, ". This "),
33485              new Transform("", kIdentity, ","),
33486              new Transform(".", kIdentity, " "),
33487              new Transform("", kUppercaseFirst, "("),
33488              new Transform("", kUppercaseFirst, "."),
33489              new Transform("", kIdentity, " not "),
33490              new Transform(" ", kIdentity, '="'),
33491              new Transform("", kIdentity, "er "),
33492              new Transform(" ", kUppercaseAll, " "),
33493              new Transform("", kIdentity, "al "),
33494              new Transform(" ", kUppercaseAll, ""),
33495              new Transform("", kIdentity, "='"),
33496              new Transform("", kUppercaseAll, '"'),
33497              new Transform("", kUppercaseFirst, ". "),
33498              new Transform(" ", kIdentity, "("),
33499              new Transform("", kIdentity, "ful "),
33500              new Transform(" ", kUppercaseFirst, ". "),
33501              new Transform("", kIdentity, "ive "),
33502              new Transform("", kIdentity, "less "),
33503              new Transform("", kUppercaseAll, "'"),
33504              new Transform("", kIdentity, "est "),
33505              new Transform(" ", kUppercaseFirst, "."),
33506              new Transform("", kUppercaseAll, '">'),
33507              new Transform(" ", kIdentity, "='"),
33508              new Transform("", kUppercaseFirst, ","),
33509              new Transform("", kIdentity, "ize "),
33510              new Transform("", kUppercaseAll, "."),
33511              new Transform("\xC2\xA0", kIdentity, ""),
33512              new Transform(" ", kIdentity, ","),
33513              new Transform("", kUppercaseFirst, '="'),
33514              new Transform("", kUppercaseAll, '="'),
33515              new Transform("", kIdentity, "ous "),
33516              new Transform("", kUppercaseAll, ", "),
33517              new Transform("", kUppercaseFirst, "='"),
33518              new Transform(" ", kUppercaseFirst, ","),
33519              new Transform(" ", kUppercaseAll, '="'),
33520              new Transform(" ", kUppercaseAll, ", "),
33521              new Transform("", kUppercaseAll, ","),
33522              new Transform("", kUppercaseAll, "("),
33523              new Transform("", kUppercaseAll, ". "),
33524              new Transform(" ", kUppercaseAll, "."),
33525              new Transform("", kUppercaseAll, "='"),
33526              new Transform(" ", kUppercaseAll, ". "),
33527              new Transform(" ", kUppercaseFirst, '="'),
33528              new Transform(" ", kUppercaseAll, "='"),
33529              new Transform(" ", kUppercaseFirst, "='")
33530            ];
33531            exports2.kTransforms = kTransforms;
33532            exports2.kNumTransforms = kTransforms.length;
33533            function ToUpperCase(p3, i) {
33534              if (p3[i] < 192) {
33535                if (p3[i] >= 97 && p3[i] <= 122) {
33536                  p3[i] ^= 32;
33537                }
33538                return 1;
33539              }
33540              if (p3[i] < 224) {
33541                p3[i + 1] ^= 32;
33542                return 2;
33543              }
33544              p3[i + 2] ^= 5;
33545              return 3;
33546            }
33547            exports2.transformDictionaryWord = function(dst, idx, word, len, transform) {
33548              var prefix = kTransforms[transform].prefix;
33549              var suffix = kTransforms[transform].suffix;
33550              var t = kTransforms[transform].transform;
33551              var skip = t < kOmitFirst1 ? 0 : t - (kOmitFirst1 - 1);
33552              var i = 0;
33553              var start_idx = idx;
33554              var uppercase;
33555              if (skip > len) {
33556                skip = len;
33557              }
33558              var prefix_pos = 0;
33559              while (prefix_pos < prefix.length) {
33560                dst[idx++] = prefix[prefix_pos++];
33561              }
33562              word += skip;
33563              len -= skip;
33564              if (t <= kOmitLast9) {
33565                len -= t;
33566              }
33567              for (i = 0; i < len; i++) {
33568                dst[idx++] = BrotliDictionary.dictionary[word + i];
33569              }
33570              uppercase = idx - len;
33571              if (t === kUppercaseFirst) {
33572                ToUpperCase(dst, uppercase);
33573              } else if (t === kUppercaseAll) {
33574                while (len > 0) {
33575                  var step = ToUpperCase(dst, uppercase);
33576                  uppercase += step;
33577                  len -= step;
33578                }
33579              }
33580              var suffix_pos = 0;
33581              while (suffix_pos < suffix.length) {
33582                dst[idx++] = suffix[suffix_pos++];
33583              }
33584              return idx - start_idx;
33585            };
33586          },
33587          { "./dictionary": 6 }
33588        ],
33589        12: [
33590          function(require2, module2, exports2) {
33591            module2.exports = require2("./dec/decode").BrotliDecompressBuffer;
33592          },
33593          { "./dec/decode": 3 }
33594        ]
33595      },
33596      {},
33597      [12]
33598    )(12);
33599  })();
33600  
33601  // packages/global-styles-ui/build-module/font-library/lib/inflate.mjs
33602  var __require3 = /* @__PURE__ */ ((x2) => typeof __require !== "undefined" ? __require : typeof Proxy !== "undefined" ? new Proxy(x2, {
33603    get: (a, b) => (typeof __require !== "undefined" ? __require : a)[b]
33604  }) : x2)(function(x2) {
33605    if (typeof __require !== "undefined") return __require.apply(this, arguments);
33606    throw Error('Dynamic require of "' + x2 + '" is not supported');
33607  });
33608  var inflate_default = (function() {
33609    var define, module, exports;
33610    return (/* @__PURE__ */ (function() {
33611      function r2(e, n, t) {
33612        function o(i2, f) {
33613          if (!n[i2]) {
33614            if (!e[i2]) {
33615              var c2 = "function" == typeof __require3 && __require3;
33616              if (!f && c2) return c2(i2, true);
33617              if (u) return u(i2, true);
33618              var a = new Error("Cannot find module '" + i2 + "'");
33619              throw a.code = "MODULE_NOT_FOUND", a;
33620            }
33621            var p3 = n[i2] = { exports: {} };
33622            e[i2][0].call(
33623              p3.exports,
33624              function(r22) {
33625                var n2 = e[i2][1][r22];
33626                return o(n2 || r22);
33627              },
33628              p3,
33629              p3.exports,
33630              r2,
33631              e,
33632              n,
33633              t
33634            );
33635          }
33636          return n[i2].exports;
33637        }
33638        for (var u = "function" == typeof __require3 && __require3, i = 0; i < t.length; i++)
33639          o(t[i]);
33640        return o;
33641      }
33642      return r2;
33643    })())(
33644      {
33645        1: [
33646          function(require2, module2, exports2) {
33647            "use strict";
33648            var TYPED_OK = typeof Uint8Array !== "undefined" && typeof Uint16Array !== "undefined" && typeof Int32Array !== "undefined";
33649            function _has(obj, key) {
33650              return Object.prototype.hasOwnProperty.call(obj, key);
33651            }
33652            exports2.assign = function(obj) {
33653              var sources = Array.prototype.slice.call(
33654                arguments,
33655                1
33656              );
33657              while (sources.length) {
33658                var source = sources.shift();
33659                if (!source) {
33660                  continue;
33661                }
33662                if (typeof source !== "object") {
33663                  throw new TypeError(
33664                    source + "must be non-object"
33665                  );
33666                }
33667                for (var p3 in source) {
33668                  if (_has(source, p3)) {
33669                    obj[p3] = source[p3];
33670                  }
33671                }
33672              }
33673              return obj;
33674            };
33675            exports2.shrinkBuf = function(buf, size4) {
33676              if (buf.length === size4) {
33677                return buf;
33678              }
33679              if (buf.subarray) {
33680                return buf.subarray(0, size4);
33681              }
33682              buf.length = size4;
33683              return buf;
33684            };
33685            var fnTyped = {
33686              arraySet: function(dest, src, src_offs, len, dest_offs) {
33687                if (src.subarray && dest.subarray) {
33688                  dest.set(
33689                    src.subarray(src_offs, src_offs + len),
33690                    dest_offs
33691                  );
33692                  return;
33693                }
33694                for (var i = 0; i < len; i++) {
33695                  dest[dest_offs + i] = src[src_offs + i];
33696                }
33697              },
33698              // Join array of chunks to single array.
33699              flattenChunks: function(chunks) {
33700                var i, l2, len, pos, chunk, result;
33701                len = 0;
33702                for (i = 0, l2 = chunks.length; i < l2; i++) {
33703                  len += chunks[i].length;
33704                }
33705                result = new Uint8Array(len);
33706                pos = 0;
33707                for (i = 0, l2 = chunks.length; i < l2; i++) {
33708                  chunk = chunks[i];
33709                  result.set(chunk, pos);
33710                  pos += chunk.length;
33711                }
33712                return result;
33713              }
33714            };
33715            var fnUntyped = {
33716              arraySet: function(dest, src, src_offs, len, dest_offs) {
33717                for (var i = 0; i < len; i++) {
33718                  dest[dest_offs + i] = src[src_offs + i];
33719                }
33720              },
33721              // Join array of chunks to single array.
33722              flattenChunks: function(chunks) {
33723                return [].concat.apply([], chunks);
33724              }
33725            };
33726            exports2.setTyped = function(on) {
33727              if (on) {
33728                exports2.Buf8 = Uint8Array;
33729                exports2.Buf16 = Uint16Array;
33730                exports2.Buf32 = Int32Array;
33731                exports2.assign(exports2, fnTyped);
33732              } else {
33733                exports2.Buf8 = Array;
33734                exports2.Buf16 = Array;
33735                exports2.Buf32 = Array;
33736                exports2.assign(exports2, fnUntyped);
33737              }
33738            };
33739            exports2.setTyped(TYPED_OK);
33740          },
33741          {}
33742        ],
33743        2: [
33744          function(require2, module2, exports2) {
33745            "use strict";
33746            var utils = require2("./common");
33747            var STR_APPLY_OK = true;
33748            var STR_APPLY_UIA_OK = true;
33749            try {
33750              String.fromCharCode.apply(null, [0]);
33751            } catch (__53) {
33752              STR_APPLY_OK = false;
33753            }
33754            try {
33755              String.fromCharCode.apply(null, new Uint8Array(1));
33756            } catch (__53) {
33757              STR_APPLY_UIA_OK = false;
33758            }
33759            var _utf8len = new utils.Buf8(256);
33760            for (var q2 = 0; q2 < 256; q2++) {
33761              _utf8len[q2] = q2 >= 252 ? 6 : q2 >= 248 ? 5 : q2 >= 240 ? 4 : q2 >= 224 ? 3 : q2 >= 192 ? 2 : 1;
33762            }
33763            _utf8len[254] = _utf8len[254] = 1;
33764            exports2.string2buf = function(str) {
33765              var buf, c2, c22, m_pos, i, str_len = str.length, buf_len = 0;
33766              for (m_pos = 0; m_pos < str_len; m_pos++) {
33767                c2 = str.charCodeAt(m_pos);
33768                if ((c2 & 64512) === 55296 && m_pos + 1 < str_len) {
33769                  c22 = str.charCodeAt(m_pos + 1);
33770                  if ((c22 & 64512) === 56320) {
33771                    c2 = 65536 + (c2 - 55296 << 10) + (c22 - 56320);
33772                    m_pos++;
33773                  }
33774                }
33775                buf_len += c2 < 128 ? 1 : c2 < 2048 ? 2 : c2 < 65536 ? 3 : 4;
33776              }
33777              buf = new utils.Buf8(buf_len);
33778              for (i = 0, m_pos = 0; i < buf_len; m_pos++) {
33779                c2 = str.charCodeAt(m_pos);
33780                if ((c2 & 64512) === 55296 && m_pos + 1 < str_len) {
33781                  c22 = str.charCodeAt(m_pos + 1);
33782                  if ((c22 & 64512) === 56320) {
33783                    c2 = 65536 + (c2 - 55296 << 10) + (c22 - 56320);
33784                    m_pos++;
33785                  }
33786                }
33787                if (c2 < 128) {
33788                  buf[i++] = c2;
33789                } else if (c2 < 2048) {
33790                  buf[i++] = 192 | c2 >>> 6;
33791                  buf[i++] = 128 | c2 & 63;
33792                } else if (c2 < 65536) {
33793                  buf[i++] = 224 | c2 >>> 12;
33794                  buf[i++] = 128 | c2 >>> 6 & 63;
33795                  buf[i++] = 128 | c2 & 63;
33796                } else {
33797                  buf[i++] = 240 | c2 >>> 18;
33798                  buf[i++] = 128 | c2 >>> 12 & 63;
33799                  buf[i++] = 128 | c2 >>> 6 & 63;
33800                  buf[i++] = 128 | c2 & 63;
33801                }
33802              }
33803              return buf;
33804            };
33805            function buf2binstring(buf, len) {
33806              if (len < 65534) {
33807                if (buf.subarray && STR_APPLY_UIA_OK || !buf.subarray && STR_APPLY_OK) {
33808                  return String.fromCharCode.apply(
33809                    null,
33810                    utils.shrinkBuf(buf, len)
33811                  );
33812                }
33813              }
33814              var result = "";
33815              for (var i = 0; i < len; i++) {
33816                result += String.fromCharCode(buf[i]);
33817              }
33818              return result;
33819            }
33820            exports2.buf2binstring = function(buf) {
33821              return buf2binstring(buf, buf.length);
33822            };
33823            exports2.binstring2buf = function(str) {
33824              var buf = new utils.Buf8(str.length);
33825              for (var i = 0, len = buf.length; i < len; i++) {
33826                buf[i] = str.charCodeAt(i);
33827              }
33828              return buf;
33829            };
33830            exports2.buf2string = function(buf, max2) {
33831              var i, out, c2, c_len;
33832              var len = max2 || buf.length;
33833              var utf16buf = new Array(len * 2);
33834              for (out = 0, i = 0; i < len; ) {
33835                c2 = buf[i++];
33836                if (c2 < 128) {
33837                  utf16buf[out++] = c2;
33838                  continue;
33839                }
33840                c_len = _utf8len[c2];
33841                if (c_len > 4) {
33842                  utf16buf[out++] = 65533;
33843                  i += c_len - 1;
33844                  continue;
33845                }
33846                c2 &= c_len === 2 ? 31 : c_len === 3 ? 15 : 7;
33847                while (c_len > 1 && i < len) {
33848                  c2 = c2 << 6 | buf[i++] & 63;
33849                  c_len--;
33850                }
33851                if (c_len > 1) {
33852                  utf16buf[out++] = 65533;
33853                  continue;
33854                }
33855                if (c2 < 65536) {
33856                  utf16buf[out++] = c2;
33857                } else {
33858                  c2 -= 65536;
33859                  utf16buf[out++] = 55296 | c2 >> 10 & 1023;
33860                  utf16buf[out++] = 56320 | c2 & 1023;
33861                }
33862              }
33863              return buf2binstring(utf16buf, out);
33864            };
33865            exports2.utf8border = function(buf, max2) {
33866              var pos;
33867              max2 = max2 || buf.length;
33868              if (max2 > buf.length) {
33869                max2 = buf.length;
33870              }
33871              pos = max2 - 1;
33872              while (pos >= 0 && (buf[pos] & 192) === 128) {
33873                pos--;
33874              }
33875              if (pos < 0) {
33876                return max2;
33877              }
33878              if (pos === 0) {
33879                return max2;
33880              }
33881              return pos + _utf8len[buf[pos]] > max2 ? pos : max2;
33882            };
33883          },
33884          { "./common": 1 }
33885        ],
33886        3: [
33887          function(require2, module2, exports2) {
33888            "use strict";
33889            function adler32(adler, buf, len, pos) {
33890              var s1 = adler & 65535 | 0, s2 = adler >>> 16 & 65535 | 0, n = 0;
33891              while (len !== 0) {
33892                n = len > 2e3 ? 2e3 : len;
33893                len -= n;
33894                do {
33895                  s1 = s1 + buf[pos++] | 0;
33896                  s2 = s2 + s1 | 0;
33897                } while (--n);
33898                s1 %= 65521;
33899                s2 %= 65521;
33900              }
33901              return s1 | s2 << 16 | 0;
33902            }
33903            module2.exports = adler32;
33904          },
33905          {}
33906        ],
33907        4: [
33908          function(require2, module2, exports2) {
33909            "use strict";
33910            module2.exports = {
33911              /* Allowed flush values; see deflate() and inflate() below for details */
33912              Z_NO_FLUSH: 0,
33913              Z_PARTIAL_FLUSH: 1,
33914              Z_SYNC_FLUSH: 2,
33915              Z_FULL_FLUSH: 3,
33916              Z_FINISH: 4,
33917              Z_BLOCK: 5,
33918              Z_TREES: 6,
33919              /* Return codes for the compression/decompression functions. Negative values
33920               * are errors, positive values are used for special but normal events.
33921               */
33922              Z_OK: 0,
33923              Z_STREAM_END: 1,
33924              Z_NEED_DICT: 2,
33925              Z_ERRNO: -1,
33926              Z_STREAM_ERROR: -2,
33927              Z_DATA_ERROR: -3,
33928              //Z_MEM_ERROR:     -4,
33929              Z_BUF_ERROR: -5,
33930              //Z_VERSION_ERROR: -6,
33931              /* compression levels */
33932              Z_NO_COMPRESSION: 0,
33933              Z_BEST_SPEED: 1,
33934              Z_BEST_COMPRESSION: 9,
33935              Z_DEFAULT_COMPRESSION: -1,
33936              Z_FILTERED: 1,
33937              Z_HUFFMAN_ONLY: 2,
33938              Z_RLE: 3,
33939              Z_FIXED: 4,
33940              Z_DEFAULT_STRATEGY: 0,
33941              /* Possible values of the data_type field (though see inflate()) */
33942              Z_BINARY: 0,
33943              Z_TEXT: 1,
33944              //Z_ASCII:                1, // = Z_TEXT (deprecated)
33945              Z_UNKNOWN: 2,
33946              /* The deflate compression method */
33947              Z_DEFLATED: 8
33948              //Z_NULL:                 null // Use -1 or null inline, depending on var type
33949            };
33950          },
33951          {}
33952        ],
33953        5: [
33954          function(require2, module2, exports2) {
33955            "use strict";
33956            function makeTable() {
33957              var c2, table = [];
33958              for (var n = 0; n < 256; n++) {
33959                c2 = n;
33960                for (var k2 = 0; k2 < 8; k2++) {
33961                  c2 = c2 & 1 ? 3988292384 ^ c2 >>> 1 : c2 >>> 1;
33962                }
33963                table[n] = c2;
33964              }
33965              return table;
33966            }
33967            var crcTable = makeTable();
33968            function crc32(crc, buf, len, pos) {
33969              var t = crcTable, end = pos + len;
33970              crc ^= -1;
33971              for (var i = pos; i < end; i++) {
33972                crc = crc >>> 8 ^ t[(crc ^ buf[i]) & 255];
33973              }
33974              return crc ^ -1;
33975            }
33976            module2.exports = crc32;
33977          },
33978          {}
33979        ],
33980        6: [
33981          function(require2, module2, exports2) {
33982            "use strict";
33983            function GZheader() {
33984              this.text = 0;
33985              this.time = 0;
33986              this.xflags = 0;
33987              this.os = 0;
33988              this.extra = null;
33989              this.extra_len = 0;
33990              this.name = "";
33991              this.comment = "";
33992              this.hcrc = 0;
33993              this.done = false;
33994            }
33995            module2.exports = GZheader;
33996          },
33997          {}
33998        ],
33999        7: [
34000          function(require2, module2, exports2) {
34001            "use strict";
34002            var BAD = 30;
34003            var TYPE = 12;
34004            module2.exports = function inflate_fast(strm, start) {
34005              var state;
34006              var _in;
34007              var last;
34008              var _out;
34009              var beg;
34010              var end;
34011              var dmax;
34012              var wsize;
34013              var whave;
34014              var wnext;
34015              var s_window;
34016              var hold;
34017              var bits;
34018              var lcode;
34019              var dcode;
34020              var lmask;
34021              var dmask;
34022              var here;
34023              var op;
34024              var len;
34025              var dist;
34026              var from;
34027              var from_source;
34028              var input, output;
34029              state = strm.state;
34030              _in = strm.next_in;
34031              input = strm.input;
34032              last = _in + (strm.avail_in - 5);
34033              _out = strm.next_out;
34034              output = strm.output;
34035              beg = _out - (start - strm.avail_out);
34036              end = _out + (strm.avail_out - 257);
34037              dmax = state.dmax;
34038              wsize = state.wsize;
34039              whave = state.whave;
34040              wnext = state.wnext;
34041              s_window = state.window;
34042              hold = state.hold;
34043              bits = state.bits;
34044              lcode = state.lencode;
34045              dcode = state.distcode;
34046              lmask = (1 << state.lenbits) - 1;
34047              dmask = (1 << state.distbits) - 1;
34048              top: do {
34049                if (bits < 15) {
34050                  hold += input[_in++] << bits;
34051                  bits += 8;
34052                  hold += input[_in++] << bits;
34053                  bits += 8;
34054                }
34055                here = lcode[hold & lmask];
34056                dolen: for (; ; ) {
34057                  op = here >>> 24;
34058                  hold >>>= op;
34059                  bits -= op;
34060                  op = here >>> 16 & 255;
34061                  if (op === 0) {
34062                    output[_out++] = here & 65535;
34063                  } else if (op & 16) {
34064                    len = here & 65535;
34065                    op &= 15;
34066                    if (op) {
34067                      if (bits < op) {
34068                        hold += input[_in++] << bits;
34069                        bits += 8;
34070                      }
34071                      len += hold & (1 << op) - 1;
34072                      hold >>>= op;
34073                      bits -= op;
34074                    }
34075                    if (bits < 15) {
34076                      hold += input[_in++] << bits;
34077                      bits += 8;
34078                      hold += input[_in++] << bits;
34079                      bits += 8;
34080                    }
34081                    here = dcode[hold & dmask];
34082                    dodist: for (; ; ) {
34083                      op = here >>> 24;
34084                      hold >>>= op;
34085                      bits -= op;
34086                      op = here >>> 16 & 255;
34087                      if (op & 16) {
34088                        dist = here & 65535;
34089                        op &= 15;
34090                        if (bits < op) {
34091                          hold += input[_in++] << bits;
34092                          bits += 8;
34093                          if (bits < op) {
34094                            hold += input[_in++] << bits;
34095                            bits += 8;
34096                          }
34097                        }
34098                        dist += hold & (1 << op) - 1;
34099                        if (dist > dmax) {
34100                          strm.msg = "invalid distance too far back";
34101                          state.mode = BAD;
34102                          break top;
34103                        }
34104                        hold >>>= op;
34105                        bits -= op;
34106                        op = _out - beg;
34107                        if (dist > op) {
34108                          op = dist - op;
34109                          if (op > whave) {
34110                            if (state.sane) {
34111                              strm.msg = "invalid distance too far back";
34112                              state.mode = BAD;
34113                              break top;
34114                            }
34115                          }
34116                          from = 0;
34117                          from_source = s_window;
34118                          if (wnext === 0) {
34119                            from += wsize - op;
34120                            if (op < len) {
34121                              len -= op;
34122                              do {
34123                                output[_out++] = s_window[from++];
34124                              } while (--op);
34125                              from = _out - dist;
34126                              from_source = output;
34127                            }
34128                          } else if (wnext < op) {
34129                            from += wsize + wnext - op;
34130                            op -= wnext;
34131                            if (op < len) {
34132                              len -= op;
34133                              do {
34134                                output[_out++] = s_window[from++];
34135                              } while (--op);
34136                              from = 0;
34137                              if (wnext < len) {
34138                                op = wnext;
34139                                len -= op;
34140                                do {
34141                                  output[_out++] = s_window[from++];
34142                                } while (--op);
34143                                from = _out - dist;
34144                                from_source = output;
34145                              }
34146                            }
34147                          } else {
34148                            from += wnext - op;
34149                            if (op < len) {
34150                              len -= op;
34151                              do {
34152                                output[_out++] = s_window[from++];
34153                              } while (--op);
34154                              from = _out - dist;
34155                              from_source = output;
34156                            }
34157                          }
34158                          while (len > 2) {
34159                            output[_out++] = from_source[from++];
34160                            output[_out++] = from_source[from++];
34161                            output[_out++] = from_source[from++];
34162                            len -= 3;
34163                          }
34164                          if (len) {
34165                            output[_out++] = from_source[from++];
34166                            if (len > 1) {
34167                              output[_out++] = from_source[from++];
34168                            }
34169                          }
34170                        } else {
34171                          from = _out - dist;
34172                          do {
34173                            output[_out++] = output[from++];
34174                            output[_out++] = output[from++];
34175                            output[_out++] = output[from++];
34176                            len -= 3;
34177                          } while (len > 2);
34178                          if (len) {
34179                            output[_out++] = output[from++];
34180                            if (len > 1) {
34181                              output[_out++] = output[from++];
34182                            }
34183                          }
34184                        }
34185                      } else if ((op & 64) === 0) {
34186                        here = dcode[(here & 65535) + (hold & (1 << op) - 1)];
34187                        continue dodist;
34188                      } else {
34189                        strm.msg = "invalid distance code";
34190                        state.mode = BAD;
34191                        break top;
34192                      }
34193                      break;
34194                    }
34195                  } else if ((op & 64) === 0) {
34196                    here = lcode[(here & 65535) + (hold & (1 << op) - 1)];
34197                    continue dolen;
34198                  } else if (op & 32) {
34199                    state.mode = TYPE;
34200                    break top;
34201                  } else {
34202                    strm.msg = "invalid literal/length code";
34203                    state.mode = BAD;
34204                    break top;
34205                  }
34206                  break;
34207                }
34208              } while (_in < last && _out < end);
34209              len = bits >> 3;
34210              _in -= len;
34211              bits -= len << 3;
34212              hold &= (1 << bits) - 1;
34213              strm.next_in = _in;
34214              strm.next_out = _out;
34215              strm.avail_in = _in < last ? 5 + (last - _in) : 5 - (_in - last);
34216              strm.avail_out = _out < end ? 257 + (end - _out) : 257 - (_out - end);
34217              state.hold = hold;
34218              state.bits = bits;
34219              return;
34220            };
34221          },
34222          {}
34223        ],
34224        8: [
34225          function(require2, module2, exports2) {
34226            "use strict";
34227            var utils = require2("../utils/common");
34228            var adler32 = require2("./adler32");
34229            var crc32 = require2("./crc32");
34230            var inflate_fast = require2("./inffast");
34231            var inflate_table = require2("./inftrees");
34232            var CODES = 0;
34233            var LENS = 1;
34234            var DISTS = 2;
34235            var Z_FINISH = 4;
34236            var Z_BLOCK = 5;
34237            var Z_TREES = 6;
34238            var Z_OK = 0;
34239            var Z_STREAM_END = 1;
34240            var Z_NEED_DICT = 2;
34241            var Z_STREAM_ERROR = -2;
34242            var Z_DATA_ERROR = -3;
34243            var Z_MEM_ERROR = -4;
34244            var Z_BUF_ERROR = -5;
34245            var Z_DEFLATED = 8;
34246            var HEAD = 1;
34247            var FLAGS = 2;
34248            var TIME = 3;
34249            var OS = 4;
34250            var EXLEN = 5;
34251            var EXTRA = 6;
34252            var NAME = 7;
34253            var COMMENT = 8;
34254            var HCRC = 9;
34255            var DICTID = 10;
34256            var DICT = 11;
34257            var TYPE = 12;
34258            var TYPEDO = 13;
34259            var STORED = 14;
34260            var COPY_ = 15;
34261            var COPY = 16;
34262            var TABLE = 17;
34263            var LENLENS = 18;
34264            var CODELENS = 19;
34265            var LEN_ = 20;
34266            var LEN = 21;
34267            var LENEXT = 22;
34268            var DIST = 23;
34269            var DISTEXT = 24;
34270            var MATCH = 25;
34271            var LIT = 26;
34272            var CHECK = 27;
34273            var LENGTH = 28;
34274            var DONE = 29;
34275            var BAD = 30;
34276            var MEM = 31;
34277            var SYNC = 32;
34278            var ENOUGH_LENS = 852;
34279            var ENOUGH_DISTS = 592;
34280            var MAX_WBITS = 15;
34281            var DEF_WBITS = MAX_WBITS;
34282            function zswap32(q2) {
34283              return (q2 >>> 24 & 255) + (q2 >>> 8 & 65280) + ((q2 & 65280) << 8) + ((q2 & 255) << 24);
34284            }
34285            function InflateState() {
34286              this.mode = 0;
34287              this.last = false;
34288              this.wrap = 0;
34289              this.havedict = false;
34290              this.flags = 0;
34291              this.dmax = 0;
34292              this.check = 0;
34293              this.total = 0;
34294              this.head = null;
34295              this.wbits = 0;
34296              this.wsize = 0;
34297              this.whave = 0;
34298              this.wnext = 0;
34299              this.window = null;
34300              this.hold = 0;
34301              this.bits = 0;
34302              this.length = 0;
34303              this.offset = 0;
34304              this.extra = 0;
34305              this.lencode = null;
34306              this.distcode = null;
34307              this.lenbits = 0;
34308              this.distbits = 0;
34309              this.ncode = 0;
34310              this.nlen = 0;
34311              this.ndist = 0;
34312              this.have = 0;
34313              this.next = null;
34314              this.lens = new utils.Buf16(
34315                320
34316              );
34317              this.work = new utils.Buf16(
34318                288
34319              );
34320              this.lendyn = null;
34321              this.distdyn = null;
34322              this.sane = 0;
34323              this.back = 0;
34324              this.was = 0;
34325            }
34326            function inflateResetKeep(strm) {
34327              var state;
34328              if (!strm || !strm.state) {
34329                return Z_STREAM_ERROR;
34330              }
34331              state = strm.state;
34332              strm.total_in = strm.total_out = state.total = 0;
34333              strm.msg = "";
34334              if (state.wrap) {
34335                strm.adler = state.wrap & 1;
34336              }
34337              state.mode = HEAD;
34338              state.last = 0;
34339              state.havedict = 0;
34340              state.dmax = 32768;
34341              state.head = null;
34342              state.hold = 0;
34343              state.bits = 0;
34344              state.lencode = state.lendyn = new utils.Buf32(
34345                ENOUGH_LENS
34346              );
34347              state.distcode = state.distdyn = new utils.Buf32(
34348                ENOUGH_DISTS
34349              );
34350              state.sane = 1;
34351              state.back = -1;
34352              return Z_OK;
34353            }
34354            function inflateReset(strm) {
34355              var state;
34356              if (!strm || !strm.state) {
34357                return Z_STREAM_ERROR;
34358              }
34359              state = strm.state;
34360              state.wsize = 0;
34361              state.whave = 0;
34362              state.wnext = 0;
34363              return inflateResetKeep(strm);
34364            }
34365            function inflateReset2(strm, windowBits) {
34366              var wrap;
34367              var state;
34368              if (!strm || !strm.state) {
34369                return Z_STREAM_ERROR;
34370              }
34371              state = strm.state;
34372              if (windowBits < 0) {
34373                wrap = 0;
34374                windowBits = -windowBits;
34375              } else {
34376                wrap = (windowBits >> 4) + 1;
34377                if (windowBits < 48) {
34378                  windowBits &= 15;
34379                }
34380              }
34381              if (windowBits && (windowBits < 8 || windowBits > 15)) {
34382                return Z_STREAM_ERROR;
34383              }
34384              if (state.window !== null && state.wbits !== windowBits) {
34385                state.window = null;
34386              }
34387              state.wrap = wrap;
34388              state.wbits = windowBits;
34389              return inflateReset(strm);
34390            }
34391            function inflateInit2(strm, windowBits) {
34392              var ret;
34393              var state;
34394              if (!strm) {
34395                return Z_STREAM_ERROR;
34396              }
34397              state = new InflateState();
34398              strm.state = state;
34399              state.window = null;
34400              ret = inflateReset2(strm, windowBits);
34401              if (ret !== Z_OK) {
34402                strm.state = null;
34403              }
34404              return ret;
34405            }
34406            function inflateInit(strm) {
34407              return inflateInit2(strm, DEF_WBITS);
34408            }
34409            var virgin = true;
34410            var lenfix, distfix;
34411            function fixedtables(state) {
34412              if (virgin) {
34413                var sym;
34414                lenfix = new utils.Buf32(512);
34415                distfix = new utils.Buf32(32);
34416                sym = 0;
34417                while (sym < 144) {
34418                  state.lens[sym++] = 8;
34419                }
34420                while (sym < 256) {
34421                  state.lens[sym++] = 9;
34422                }
34423                while (sym < 280) {
34424                  state.lens[sym++] = 7;
34425                }
34426                while (sym < 288) {
34427                  state.lens[sym++] = 8;
34428                }
34429                inflate_table(
34430                  LENS,
34431                  state.lens,
34432                  0,
34433                  288,
34434                  lenfix,
34435                  0,
34436                  state.work,
34437                  { bits: 9 }
34438                );
34439                sym = 0;
34440                while (sym < 32) {
34441                  state.lens[sym++] = 5;
34442                }
34443                inflate_table(
34444                  DISTS,
34445                  state.lens,
34446                  0,
34447                  32,
34448                  distfix,
34449                  0,
34450                  state.work,
34451                  { bits: 5 }
34452                );
34453                virgin = false;
34454              }
34455              state.lencode = lenfix;
34456              state.lenbits = 9;
34457              state.distcode = distfix;
34458              state.distbits = 5;
34459            }
34460            function updatewindow(strm, src, end, copy) {
34461              var dist;
34462              var state = strm.state;
34463              if (state.window === null) {
34464                state.wsize = 1 << state.wbits;
34465                state.wnext = 0;
34466                state.whave = 0;
34467                state.window = new utils.Buf8(state.wsize);
34468              }
34469              if (copy >= state.wsize) {
34470                utils.arraySet(
34471                  state.window,
34472                  src,
34473                  end - state.wsize,
34474                  state.wsize,
34475                  0
34476                );
34477                state.wnext = 0;
34478                state.whave = state.wsize;
34479              } else {
34480                dist = state.wsize - state.wnext;
34481                if (dist > copy) {
34482                  dist = copy;
34483                }
34484                utils.arraySet(
34485                  state.window,
34486                  src,
34487                  end - copy,
34488                  dist,
34489                  state.wnext
34490                );
34491                copy -= dist;
34492                if (copy) {
34493                  utils.arraySet(
34494                    state.window,
34495                    src,
34496                    end - copy,
34497                    copy,
34498                    0
34499                  );
34500                  state.wnext = copy;
34501                  state.whave = state.wsize;
34502                } else {
34503                  state.wnext += dist;
34504                  if (state.wnext === state.wsize) {
34505                    state.wnext = 0;
34506                  }
34507                  if (state.whave < state.wsize) {
34508                    state.whave += dist;
34509                  }
34510                }
34511              }
34512              return 0;
34513            }
34514            function inflate(strm, flush) {
34515              var state;
34516              var input, output;
34517              var next;
34518              var put;
34519              var have, left;
34520              var hold;
34521              var bits;
34522              var _in, _out;
34523              var copy;
34524              var from;
34525              var from_source;
34526              var here = 0;
34527              var here_bits, here_op, here_val;
34528              var last_bits, last_op, last_val;
34529              var len;
34530              var ret;
34531              var hbuf = new utils.Buf8(
34532                4
34533              );
34534              var opts;
34535              var n;
34536              var order = (
34537                /* permutation of code lengths */
34538                [
34539                  16,
34540                  17,
34541                  18,
34542                  0,
34543                  8,
34544                  7,
34545                  9,
34546                  6,
34547                  10,
34548                  5,
34549                  11,
34550                  4,
34551                  12,
34552                  3,
34553                  13,
34554                  2,
34555                  14,
34556                  1,
34557                  15
34558                ]
34559              );
34560              if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0) {
34561                return Z_STREAM_ERROR;
34562              }
34563              state = strm.state;
34564              if (state.mode === TYPE) {
34565                state.mode = TYPEDO;
34566              }
34567              put = strm.next_out;
34568              output = strm.output;
34569              left = strm.avail_out;
34570              next = strm.next_in;
34571              input = strm.input;
34572              have = strm.avail_in;
34573              hold = state.hold;
34574              bits = state.bits;
34575              _in = have;
34576              _out = left;
34577              ret = Z_OK;
34578              inf_leave: for (; ; ) {
34579                switch (state.mode) {
34580                  case HEAD:
34581                    if (state.wrap === 0) {
34582                      state.mode = TYPEDO;
34583                      break;
34584                    }
34585                    while (bits < 16) {
34586                      if (have === 0) {
34587                        break inf_leave;
34588                      }
34589                      have--;
34590                      hold += input[next++] << bits;
34591                      bits += 8;
34592                    }
34593                    if (state.wrap & 2 && hold === 35615) {
34594                      state.check = 0;
34595                      hbuf[0] = hold & 255;
34596                      hbuf[1] = hold >>> 8 & 255;
34597                      state.check = crc32(
34598                        state.check,
34599                        hbuf,
34600                        2,
34601                        0
34602                      );
34603                      hold = 0;
34604                      bits = 0;
34605                      state.mode = FLAGS;
34606                      break;
34607                    }
34608                    state.flags = 0;
34609                    if (state.head) {
34610                      state.head.done = false;
34611                    }
34612                    if (!(state.wrap & 1) || (((hold & 255) << 8) + (hold >> 8)) % 31) {
34613                      strm.msg = "incorrect header check";
34614                      state.mode = BAD;
34615                      break;
34616                    }
34617                    if ((hold & 15) !== Z_DEFLATED) {
34618                      strm.msg = "unknown compression method";
34619                      state.mode = BAD;
34620                      break;
34621                    }
34622                    hold >>>= 4;
34623                    bits -= 4;
34624                    len = (hold & 15) + 8;
34625                    if (state.wbits === 0) {
34626                      state.wbits = len;
34627                    } else if (len > state.wbits) {
34628                      strm.msg = "invalid window size";
34629                      state.mode = BAD;
34630                      break;
34631                    }
34632                    state.dmax = 1 << len;
34633                    strm.adler = state.check = 1;
34634                    state.mode = hold & 512 ? DICTID : TYPE;
34635                    hold = 0;
34636                    bits = 0;
34637                    break;
34638                  case FLAGS:
34639                    while (bits < 16) {
34640                      if (have === 0) {
34641                        break inf_leave;
34642                      }
34643                      have--;
34644                      hold += input[next++] << bits;
34645                      bits += 8;
34646                    }
34647                    state.flags = hold;
34648                    if ((state.flags & 255) !== Z_DEFLATED) {
34649                      strm.msg = "unknown compression method";
34650                      state.mode = BAD;
34651                      break;
34652                    }
34653                    if (state.flags & 57344) {
34654                      strm.msg = "unknown header flags set";
34655                      state.mode = BAD;
34656                      break;
34657                    }
34658                    if (state.head) {
34659                      state.head.text = hold >> 8 & 1;
34660                    }
34661                    if (state.flags & 512) {
34662                      hbuf[0] = hold & 255;
34663                      hbuf[1] = hold >>> 8 & 255;
34664                      state.check = crc32(
34665                        state.check,
34666                        hbuf,
34667                        2,
34668                        0
34669                      );
34670                    }
34671                    hold = 0;
34672                    bits = 0;
34673                    state.mode = TIME;
34674                  /* falls through */
34675                  case TIME:
34676                    while (bits < 32) {
34677                      if (have === 0) {
34678                        break inf_leave;
34679                      }
34680                      have--;
34681                      hold += input[next++] << bits;
34682                      bits += 8;
34683                    }
34684                    if (state.head) {
34685                      state.head.time = hold;
34686                    }
34687                    if (state.flags & 512) {
34688                      hbuf[0] = hold & 255;
34689                      hbuf[1] = hold >>> 8 & 255;
34690                      hbuf[2] = hold >>> 16 & 255;
34691                      hbuf[3] = hold >>> 24 & 255;
34692                      state.check = crc32(
34693                        state.check,
34694                        hbuf,
34695                        4,
34696                        0
34697                      );
34698                    }
34699                    hold = 0;
34700                    bits = 0;
34701                    state.mode = OS;
34702                  /* falls through */
34703                  case OS:
34704                    while (bits < 16) {
34705                      if (have === 0) {
34706                        break inf_leave;
34707                      }
34708                      have--;
34709                      hold += input[next++] << bits;
34710                      bits += 8;
34711                    }
34712                    if (state.head) {
34713                      state.head.xflags = hold & 255;
34714                      state.head.os = hold >> 8;
34715                    }
34716                    if (state.flags & 512) {
34717                      hbuf[0] = hold & 255;
34718                      hbuf[1] = hold >>> 8 & 255;
34719                      state.check = crc32(
34720                        state.check,
34721                        hbuf,
34722                        2,
34723                        0
34724                      );
34725                    }
34726                    hold = 0;
34727                    bits = 0;
34728                    state.mode = EXLEN;
34729                  /* falls through */
34730                  case EXLEN:
34731                    if (state.flags & 1024) {
34732                      while (bits < 16) {
34733                        if (have === 0) {
34734                          break inf_leave;
34735                        }
34736                        have--;
34737                        hold += input[next++] << bits;
34738                        bits += 8;
34739                      }
34740                      state.length = hold;
34741                      if (state.head) {
34742                        state.head.extra_len = hold;
34743                      }
34744                      if (state.flags & 512) {
34745                        hbuf[0] = hold & 255;
34746                        hbuf[1] = hold >>> 8 & 255;
34747                        state.check = crc32(
34748                          state.check,
34749                          hbuf,
34750                          2,
34751                          0
34752                        );
34753                      }
34754                      hold = 0;
34755                      bits = 0;
34756                    } else if (state.head) {
34757                      state.head.extra = null;
34758                    }
34759                    state.mode = EXTRA;
34760                  /* falls through */
34761                  case EXTRA:
34762                    if (state.flags & 1024) {
34763                      copy = state.length;
34764                      if (copy > have) {
34765                        copy = have;
34766                      }
34767                      if (copy) {
34768                        if (state.head) {
34769                          len = state.head.extra_len - state.length;
34770                          if (!state.head.extra) {
34771                            state.head.extra = new Array(
34772                              state.head.extra_len
34773                            );
34774                          }
34775                          utils.arraySet(
34776                            state.head.extra,
34777                            input,
34778                            next,
34779                            // extra field is limited to 65536 bytes
34780                            // - no need for additional size check
34781                            copy,
34782                            /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/
34783                            len
34784                          );
34785                        }
34786                        if (state.flags & 512) {
34787                          state.check = crc32(
34788                            state.check,
34789                            input,
34790                            copy,
34791                            next
34792                          );
34793                        }
34794                        have -= copy;
34795                        next += copy;
34796                        state.length -= copy;
34797                      }
34798                      if (state.length) {
34799                        break inf_leave;
34800                      }
34801                    }
34802                    state.length = 0;
34803                    state.mode = NAME;
34804                  /* falls through */
34805                  case NAME:
34806                    if (state.flags & 2048) {
34807                      if (have === 0) {
34808                        break inf_leave;
34809                      }
34810                      copy = 0;
34811                      do {
34812                        len = input[next + copy++];
34813                        if (state.head && len && state.length < 65536) {
34814                          state.head.name += String.fromCharCode(len);
34815                        }
34816                      } while (len && copy < have);
34817                      if (state.flags & 512) {
34818                        state.check = crc32(
34819                          state.check,
34820                          input,
34821                          copy,
34822                          next
34823                        );
34824                      }
34825                      have -= copy;
34826                      next += copy;
34827                      if (len) {
34828                        break inf_leave;
34829                      }
34830                    } else if (state.head) {
34831                      state.head.name = null;
34832                    }
34833                    state.length = 0;
34834                    state.mode = COMMENT;
34835                  /* falls through */
34836                  case COMMENT:
34837                    if (state.flags & 4096) {
34838                      if (have === 0) {
34839                        break inf_leave;
34840                      }
34841                      copy = 0;
34842                      do {
34843                        len = input[next + copy++];
34844                        if (state.head && len && state.length < 65536) {
34845                          state.head.comment += String.fromCharCode(len);
34846                        }
34847                      } while (len && copy < have);
34848                      if (state.flags & 512) {
34849                        state.check = crc32(
34850                          state.check,
34851                          input,
34852                          copy,
34853                          next
34854                        );
34855                      }
34856                      have -= copy;
34857                      next += copy;
34858                      if (len) {
34859                        break inf_leave;
34860                      }
34861                    } else if (state.head) {
34862                      state.head.comment = null;
34863                    }
34864                    state.mode = HCRC;
34865                  /* falls through */
34866                  case HCRC:
34867                    if (state.flags & 512) {
34868                      while (bits < 16) {
34869                        if (have === 0) {
34870                          break inf_leave;
34871                        }
34872                        have--;
34873                        hold += input[next++] << bits;
34874                        bits += 8;
34875                      }
34876                      if (hold !== (state.check & 65535)) {
34877                        strm.msg = "header crc mismatch";
34878                        state.mode = BAD;
34879                        break;
34880                      }
34881                      hold = 0;
34882                      bits = 0;
34883                    }
34884                    if (state.head) {
34885                      state.head.hcrc = state.flags >> 9 & 1;
34886                      state.head.done = true;
34887                    }
34888                    strm.adler = state.check = 0;
34889                    state.mode = TYPE;
34890                    break;
34891                  case DICTID:
34892                    while (bits < 32) {
34893                      if (have === 0) {
34894                        break inf_leave;
34895                      }
34896                      have--;
34897                      hold += input[next++] << bits;
34898                      bits += 8;
34899                    }
34900                    strm.adler = state.check = zswap32(hold);
34901                    hold = 0;
34902                    bits = 0;
34903                    state.mode = DICT;
34904                  /* falls through */
34905                  case DICT:
34906                    if (state.havedict === 0) {
34907                      strm.next_out = put;
34908                      strm.avail_out = left;
34909                      strm.next_in = next;
34910                      strm.avail_in = have;
34911                      state.hold = hold;
34912                      state.bits = bits;
34913                      return Z_NEED_DICT;
34914                    }
34915                    strm.adler = state.check = 1;
34916                    state.mode = TYPE;
34917                  /* falls through */
34918                  case TYPE:
34919                    if (flush === Z_BLOCK || flush === Z_TREES) {
34920                      break inf_leave;
34921                    }
34922                  /* falls through */
34923                  case TYPEDO:
34924                    if (state.last) {
34925                      hold >>>= bits & 7;
34926                      bits -= bits & 7;
34927                      state.mode = CHECK;
34928                      break;
34929                    }
34930                    while (bits < 3) {
34931                      if (have === 0) {
34932                        break inf_leave;
34933                      }
34934                      have--;
34935                      hold += input[next++] << bits;
34936                      bits += 8;
34937                    }
34938                    state.last = hold & 1;
34939                    hold >>>= 1;
34940                    bits -= 1;
34941                    switch (hold & 3) {
34942                      case 0:
34943                        state.mode = STORED;
34944                        break;
34945                      case 1:
34946                        fixedtables(state);
34947                        state.mode = LEN_;
34948                        if (flush === Z_TREES) {
34949                          hold >>>= 2;
34950                          bits -= 2;
34951                          break inf_leave;
34952                        }
34953                        break;
34954                      case 2:
34955                        state.mode = TABLE;
34956                        break;
34957                      case 3:
34958                        strm.msg = "invalid block type";
34959                        state.mode = BAD;
34960                    }
34961                    hold >>>= 2;
34962                    bits -= 2;
34963                    break;
34964                  case STORED:
34965                    hold >>>= bits & 7;
34966                    bits -= bits & 7;
34967                    while (bits < 32) {
34968                      if (have === 0) {
34969                        break inf_leave;
34970                      }
34971                      have--;
34972                      hold += input[next++] << bits;
34973                      bits += 8;
34974                    }
34975                    if ((hold & 65535) !== (hold >>> 16 ^ 65535)) {
34976                      strm.msg = "invalid stored block lengths";
34977                      state.mode = BAD;
34978                      break;
34979                    }
34980                    state.length = hold & 65535;
34981                    hold = 0;
34982                    bits = 0;
34983                    state.mode = COPY_;
34984                    if (flush === Z_TREES) {
34985                      break inf_leave;
34986                    }
34987                  /* falls through */
34988                  case COPY_:
34989                    state.mode = COPY;
34990                  /* falls through */
34991                  case COPY:
34992                    copy = state.length;
34993                    if (copy) {
34994                      if (copy > have) {
34995                        copy = have;
34996                      }
34997                      if (copy > left) {
34998                        copy = left;
34999                      }
35000                      if (copy === 0) {
35001                        break inf_leave;
35002                      }
35003                      utils.arraySet(
35004                        output,
35005                        input,
35006                        next,
35007                        copy,
35008                        put
35009                      );
35010                      have -= copy;
35011                      next += copy;
35012                      left -= copy;
35013                      put += copy;
35014                      state.length -= copy;
35015                      break;
35016                    }
35017                    state.mode = TYPE;
35018                    break;
35019                  case TABLE:
35020                    while (bits < 14) {
35021                      if (have === 0) {
35022                        break inf_leave;
35023                      }
35024                      have--;
35025                      hold += input[next++] << bits;
35026                      bits += 8;
35027                    }
35028                    state.nlen = (hold & 31) + 257;
35029                    hold >>>= 5;
35030                    bits -= 5;
35031                    state.ndist = (hold & 31) + 1;
35032                    hold >>>= 5;
35033                    bits -= 5;
35034                    state.ncode = (hold & 15) + 4;
35035                    hold >>>= 4;
35036                    bits -= 4;
35037                    if (state.nlen > 286 || state.ndist > 30) {
35038                      strm.msg = "too many length or distance symbols";
35039                      state.mode = BAD;
35040                      break;
35041                    }
35042                    state.have = 0;
35043                    state.mode = LENLENS;
35044                  /* falls through */
35045                  case LENLENS:
35046                    while (state.have < state.ncode) {
35047                      while (bits < 3) {
35048                        if (have === 0) {
35049                          break inf_leave;
35050                        }
35051                        have--;
35052                        hold += input[next++] << bits;
35053                        bits += 8;
35054                      }
35055                      state.lens[order[state.have++]] = hold & 7;
35056                      hold >>>= 3;
35057                      bits -= 3;
35058                    }
35059                    while (state.have < 19) {
35060                      state.lens[order[state.have++]] = 0;
35061                    }
35062                    state.lencode = state.lendyn;
35063                    state.lenbits = 7;
35064                    opts = { bits: state.lenbits };
35065                    ret = inflate_table(
35066                      CODES,
35067                      state.lens,
35068                      0,
35069                      19,
35070                      state.lencode,
35071                      0,
35072                      state.work,
35073                      opts
35074                    );
35075                    state.lenbits = opts.bits;
35076                    if (ret) {
35077                      strm.msg = "invalid code lengths set";
35078                      state.mode = BAD;
35079                      break;
35080                    }
35081                    state.have = 0;
35082                    state.mode = CODELENS;
35083                  /* falls through */
35084                  case CODELENS:
35085                    while (state.have < state.nlen + state.ndist) {
35086                      for (; ; ) {
35087                        here = state.lencode[hold & (1 << state.lenbits) - 1];
35088                        here_bits = here >>> 24;
35089                        here_op = here >>> 16 & 255;
35090                        here_val = here & 65535;
35091                        if (here_bits <= bits) {
35092                          break;
35093                        }
35094                        if (have === 0) {
35095                          break inf_leave;
35096                        }
35097                        have--;
35098                        hold += input[next++] << bits;
35099                        bits += 8;
35100                      }
35101                      if (here_val < 16) {
35102                        hold >>>= here_bits;
35103                        bits -= here_bits;
35104                        state.lens[state.have++] = here_val;
35105                      } else {
35106                        if (here_val === 16) {
35107                          n = here_bits + 2;
35108                          while (bits < n) {
35109                            if (have === 0) {
35110                              break inf_leave;
35111                            }
35112                            have--;
35113                            hold += input[next++] << bits;
35114                            bits += 8;
35115                          }
35116                          hold >>>= here_bits;
35117                          bits -= here_bits;
35118                          if (state.have === 0) {
35119                            strm.msg = "invalid bit length repeat";
35120                            state.mode = BAD;
35121                            break;
35122                          }
35123                          len = state.lens[state.have - 1];
35124                          copy = 3 + (hold & 3);
35125                          hold >>>= 2;
35126                          bits -= 2;
35127                        } else if (here_val === 17) {
35128                          n = here_bits + 3;
35129                          while (bits < n) {
35130                            if (have === 0) {
35131                              break inf_leave;
35132                            }
35133                            have--;
35134                            hold += input[next++] << bits;
35135                            bits += 8;
35136                          }
35137                          hold >>>= here_bits;
35138                          bits -= here_bits;
35139                          len = 0;
35140                          copy = 3 + (hold & 7);
35141                          hold >>>= 3;
35142                          bits -= 3;
35143                        } else {
35144                          n = here_bits + 7;
35145                          while (bits < n) {
35146                            if (have === 0) {
35147                              break inf_leave;
35148                            }
35149                            have--;
35150                            hold += input[next++] << bits;
35151                            bits += 8;
35152                          }
35153                          hold >>>= here_bits;
35154                          bits -= here_bits;
35155                          len = 0;
35156                          copy = 11 + (hold & 127);
35157                          hold >>>= 7;
35158                          bits -= 7;
35159                        }
35160                        if (state.have + copy > state.nlen + state.ndist) {
35161                          strm.msg = "invalid bit length repeat";
35162                          state.mode = BAD;
35163                          break;
35164                        }
35165                        while (copy--) {
35166                          state.lens[state.have++] = len;
35167                        }
35168                      }
35169                    }
35170                    if (state.mode === BAD) {
35171                      break;
35172                    }
35173                    if (state.lens[256] === 0) {
35174                      strm.msg = "invalid code -- missing end-of-block";
35175                      state.mode = BAD;
35176                      break;
35177                    }
35178                    state.lenbits = 9;
35179                    opts = { bits: state.lenbits };
35180                    ret = inflate_table(
35181                      LENS,
35182                      state.lens,
35183                      0,
35184                      state.nlen,
35185                      state.lencode,
35186                      0,
35187                      state.work,
35188                      opts
35189                    );
35190                    state.lenbits = opts.bits;
35191                    if (ret) {
35192                      strm.msg = "invalid literal/lengths set";
35193                      state.mode = BAD;
35194                      break;
35195                    }
35196                    state.distbits = 6;
35197                    state.distcode = state.distdyn;
35198                    opts = { bits: state.distbits };
35199                    ret = inflate_table(
35200                      DISTS,
35201                      state.lens,
35202                      state.nlen,
35203                      state.ndist,
35204                      state.distcode,
35205                      0,
35206                      state.work,
35207                      opts
35208                    );
35209                    state.distbits = opts.bits;
35210                    if (ret) {
35211                      strm.msg = "invalid distances set";
35212                      state.mode = BAD;
35213                      break;
35214                    }
35215                    state.mode = LEN_;
35216                    if (flush === Z_TREES) {
35217                      break inf_leave;
35218                    }
35219                  /* falls through */
35220                  case LEN_:
35221                    state.mode = LEN;
35222                  /* falls through */
35223                  case LEN:
35224                    if (have >= 6 && left >= 258) {
35225                      strm.next_out = put;
35226                      strm.avail_out = left;
35227                      strm.next_in = next;
35228                      strm.avail_in = have;
35229                      state.hold = hold;
35230                      state.bits = bits;
35231                      inflate_fast(strm, _out);
35232                      put = strm.next_out;
35233                      output = strm.output;
35234                      left = strm.avail_out;
35235                      next = strm.next_in;
35236                      input = strm.input;
35237                      have = strm.avail_in;
35238                      hold = state.hold;
35239                      bits = state.bits;
35240                      if (state.mode === TYPE) {
35241                        state.back = -1;
35242                      }
35243                      break;
35244                    }
35245                    state.back = 0;
35246                    for (; ; ) {
35247                      here = state.lencode[hold & (1 << state.lenbits) - 1];
35248                      here_bits = here >>> 24;
35249                      here_op = here >>> 16 & 255;
35250                      here_val = here & 65535;
35251                      if (here_bits <= bits) {
35252                        break;
35253                      }
35254                      if (have === 0) {
35255                        break inf_leave;
35256                      }
35257                      have--;
35258                      hold += input[next++] << bits;
35259                      bits += 8;
35260                    }
35261                    if (here_op && (here_op & 240) === 0) {
35262                      last_bits = here_bits;
35263                      last_op = here_op;
35264                      last_val = here_val;
35265                      for (; ; ) {
35266                        here = state.lencode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)];
35267                        here_bits = here >>> 24;
35268                        here_op = here >>> 16 & 255;
35269                        here_val = here & 65535;
35270                        if (last_bits + here_bits <= bits) {
35271                          break;
35272                        }
35273                        if (have === 0) {
35274                          break inf_leave;
35275                        }
35276                        have--;
35277                        hold += input[next++] << bits;
35278                        bits += 8;
35279                      }
35280                      hold >>>= last_bits;
35281                      bits -= last_bits;
35282                      state.back += last_bits;
35283                    }
35284                    hold >>>= here_bits;
35285                    bits -= here_bits;
35286                    state.back += here_bits;
35287                    state.length = here_val;
35288                    if (here_op === 0) {
35289                      state.mode = LIT;
35290                      break;
35291                    }
35292                    if (here_op & 32) {
35293                      state.back = -1;
35294                      state.mode = TYPE;
35295                      break;
35296                    }
35297                    if (here_op & 64) {
35298                      strm.msg = "invalid literal/length code";
35299                      state.mode = BAD;
35300                      break;
35301                    }
35302                    state.extra = here_op & 15;
35303                    state.mode = LENEXT;
35304                  /* falls through */
35305                  case LENEXT:
35306                    if (state.extra) {
35307                      n = state.extra;
35308                      while (bits < n) {
35309                        if (have === 0) {
35310                          break inf_leave;
35311                        }
35312                        have--;
35313                        hold += input[next++] << bits;
35314                        bits += 8;
35315                      }
35316                      state.length += hold & (1 << state.extra) - 1;
35317                      hold >>>= state.extra;
35318                      bits -= state.extra;
35319                      state.back += state.extra;
35320                    }
35321                    state.was = state.length;
35322                    state.mode = DIST;
35323                  /* falls through */
35324                  case DIST:
35325                    for (; ; ) {
35326                      here = state.distcode[hold & (1 << state.distbits) - 1];
35327                      here_bits = here >>> 24;
35328                      here_op = here >>> 16 & 255;
35329                      here_val = here & 65535;
35330                      if (here_bits <= bits) {
35331                        break;
35332                      }
35333                      if (have === 0) {
35334                        break inf_leave;
35335                      }
35336                      have--;
35337                      hold += input[next++] << bits;
35338                      bits += 8;
35339                    }
35340                    if ((here_op & 240) === 0) {
35341                      last_bits = here_bits;
35342                      last_op = here_op;
35343                      last_val = here_val;
35344                      for (; ; ) {
35345                        here = state.distcode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)];
35346                        here_bits = here >>> 24;
35347                        here_op = here >>> 16 & 255;
35348                        here_val = here & 65535;
35349                        if (last_bits + here_bits <= bits) {
35350                          break;
35351                        }
35352                        if (have === 0) {
35353                          break inf_leave;
35354                        }
35355                        have--;
35356                        hold += input[next++] << bits;
35357                        bits += 8;
35358                      }
35359                      hold >>>= last_bits;
35360                      bits -= last_bits;
35361                      state.back += last_bits;
35362                    }
35363                    hold >>>= here_bits;
35364                    bits -= here_bits;
35365                    state.back += here_bits;
35366                    if (here_op & 64) {
35367                      strm.msg = "invalid distance code";
35368                      state.mode = BAD;
35369                      break;
35370                    }
35371                    state.offset = here_val;
35372                    state.extra = here_op & 15;
35373                    state.mode = DISTEXT;
35374                  /* falls through */
35375                  case DISTEXT:
35376                    if (state.extra) {
35377                      n = state.extra;
35378                      while (bits < n) {
35379                        if (have === 0) {
35380                          break inf_leave;
35381                        }
35382                        have--;
35383                        hold += input[next++] << bits;
35384                        bits += 8;
35385                      }
35386                      state.offset += hold & (1 << state.extra) - 1;
35387                      hold >>>= state.extra;
35388                      bits -= state.extra;
35389                      state.back += state.extra;
35390                    }
35391                    if (state.offset > state.dmax) {
35392                      strm.msg = "invalid distance too far back";
35393                      state.mode = BAD;
35394                      break;
35395                    }
35396                    state.mode = MATCH;
35397                  /* falls through */
35398                  case MATCH:
35399                    if (left === 0) {
35400                      break inf_leave;
35401                    }
35402                    copy = _out - left;
35403                    if (state.offset > copy) {
35404                      copy = state.offset - copy;
35405                      if (copy > state.whave) {
35406                        if (state.sane) {
35407                          strm.msg = "invalid distance too far back";
35408                          state.mode = BAD;
35409                          break;
35410                        }
35411                      }
35412                      if (copy > state.wnext) {
35413                        copy -= state.wnext;
35414                        from = state.wsize - copy;
35415                      } else {
35416                        from = state.wnext - copy;
35417                      }
35418                      if (copy > state.length) {
35419                        copy = state.length;
35420                      }
35421                      from_source = state.window;
35422                    } else {
35423                      from_source = output;
35424                      from = put - state.offset;
35425                      copy = state.length;
35426                    }
35427                    if (copy > left) {
35428                      copy = left;
35429                    }
35430                    left -= copy;
35431                    state.length -= copy;
35432                    do {
35433                      output[put++] = from_source[from++];
35434                    } while (--copy);
35435                    if (state.length === 0) {
35436                      state.mode = LEN;
35437                    }
35438                    break;
35439                  case LIT:
35440                    if (left === 0) {
35441                      break inf_leave;
35442                    }
35443                    output[put++] = state.length;
35444                    left--;
35445                    state.mode = LEN;
35446                    break;
35447                  case CHECK:
35448                    if (state.wrap) {
35449                      while (bits < 32) {
35450                        if (have === 0) {
35451                          break inf_leave;
35452                        }
35453                        have--;
35454                        hold |= input[next++] << bits;
35455                        bits += 8;
35456                      }
35457                      _out -= left;
35458                      strm.total_out += _out;
35459                      state.total += _out;
35460                      if (_out) {
35461                        strm.adler = state.check = /*UPDATE(state.check, put - _out, _out);*/
35462                        state.flags ? crc32(
35463                          state.check,
35464                          output,
35465                          _out,
35466                          put - _out
35467                        ) : adler32(
35468                          state.check,
35469                          output,
35470                          _out,
35471                          put - _out
35472                        );
35473                      }
35474                      _out = left;
35475                      if ((state.flags ? hold : zswap32(hold)) !== state.check) {
35476                        strm.msg = "incorrect data check";
35477                        state.mode = BAD;
35478                        break;
35479                      }
35480                      hold = 0;
35481                      bits = 0;
35482                    }
35483                    state.mode = LENGTH;
35484                  /* falls through */
35485                  case LENGTH:
35486                    if (state.wrap && state.flags) {
35487                      while (bits < 32) {
35488                        if (have === 0) {
35489                          break inf_leave;
35490                        }
35491                        have--;
35492                        hold += input[next++] << bits;
35493                        bits += 8;
35494                      }
35495                      if (hold !== (state.total & 4294967295)) {
35496                        strm.msg = "incorrect length check";
35497                        state.mode = BAD;
35498                        break;
35499                      }
35500                      hold = 0;
35501                      bits = 0;
35502                    }
35503                    state.mode = DONE;
35504                  /* falls through */
35505                  case DONE:
35506                    ret = Z_STREAM_END;
35507                    break inf_leave;
35508                  case BAD:
35509                    ret = Z_DATA_ERROR;
35510                    break inf_leave;
35511                  case MEM:
35512                    return Z_MEM_ERROR;
35513                  case SYNC:
35514                  /* falls through */
35515                  default:
35516                    return Z_STREAM_ERROR;
35517                }
35518              }
35519              strm.next_out = put;
35520              strm.avail_out = left;
35521              strm.next_in = next;
35522              strm.avail_in = have;
35523              state.hold = hold;
35524              state.bits = bits;
35525              if (state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH)) {
35526                if (updatewindow(
35527                  strm,
35528                  strm.output,
35529                  strm.next_out,
35530                  _out - strm.avail_out
35531                )) {
35532                  state.mode = MEM;
35533                  return Z_MEM_ERROR;
35534                }
35535              }
35536              _in -= strm.avail_in;
35537              _out -= strm.avail_out;
35538              strm.total_in += _in;
35539              strm.total_out += _out;
35540              state.total += _out;
35541              if (state.wrap && _out) {
35542                strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/
35543                state.flags ? crc32(
35544                  state.check,
35545                  output,
35546                  _out,
35547                  strm.next_out - _out
35548                ) : adler32(
35549                  state.check,
35550                  output,
35551                  _out,
35552                  strm.next_out - _out
35553                );
35554              }
35555              strm.data_type = state.bits + (state.last ? 64 : 0) + (state.mode === TYPE ? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);
35556              if ((_in === 0 && _out === 0 || flush === Z_FINISH) && ret === Z_OK) {
35557                ret = Z_BUF_ERROR;
35558              }
35559              return ret;
35560            }
35561            function inflateEnd(strm) {
35562              if (!strm || !strm.state) {
35563                return Z_STREAM_ERROR;
35564              }
35565              var state = strm.state;
35566              if (state.window) {
35567                state.window = null;
35568              }
35569              strm.state = null;
35570              return Z_OK;
35571            }
35572            function inflateGetHeader(strm, head2) {
35573              var state;
35574              if (!strm || !strm.state) {
35575                return Z_STREAM_ERROR;
35576              }
35577              state = strm.state;
35578              if ((state.wrap & 2) === 0) {
35579                return Z_STREAM_ERROR;
35580              }
35581              state.head = head2;
35582              head2.done = false;
35583              return Z_OK;
35584            }
35585            function inflateSetDictionary(strm, dictionary) {
35586              var dictLength = dictionary.length;
35587              var state;
35588              var dictid;
35589              var ret;
35590              if (!strm || !strm.state) {
35591                return Z_STREAM_ERROR;
35592              }
35593              state = strm.state;
35594              if (state.wrap !== 0 && state.mode !== DICT) {
35595                return Z_STREAM_ERROR;
35596              }
35597              if (state.mode === DICT) {
35598                dictid = 1;
35599                dictid = adler32(
35600                  dictid,
35601                  dictionary,
35602                  dictLength,
35603                  0
35604                );
35605                if (dictid !== state.check) {
35606                  return Z_DATA_ERROR;
35607                }
35608              }
35609              ret = updatewindow(
35610                strm,
35611                dictionary,
35612                dictLength,
35613                dictLength
35614              );
35615              if (ret) {
35616                state.mode = MEM;
35617                return Z_MEM_ERROR;
35618              }
35619              state.havedict = 1;
35620              return Z_OK;
35621            }
35622            exports2.inflateReset = inflateReset;
35623            exports2.inflateReset2 = inflateReset2;
35624            exports2.inflateResetKeep = inflateResetKeep;
35625            exports2.inflateInit = inflateInit;
35626            exports2.inflateInit2 = inflateInit2;
35627            exports2.inflate = inflate;
35628            exports2.inflateEnd = inflateEnd;
35629            exports2.inflateGetHeader = inflateGetHeader;
35630            exports2.inflateSetDictionary = inflateSetDictionary;
35631            exports2.inflateInfo = "pako inflate (from Nodeca project)";
35632          },
35633          {
35634            "../utils/common": 1,
35635            "./adler32": 3,
35636            "./crc32": 5,
35637            "./inffast": 7,
35638            "./inftrees": 9
35639          }
35640        ],
35641        9: [
35642          function(require2, module2, exports2) {
35643            "use strict";
35644            var utils = require2("../utils/common");
35645            var MAXBITS = 15;
35646            var ENOUGH_LENS = 852;
35647            var ENOUGH_DISTS = 592;
35648            var CODES = 0;
35649            var LENS = 1;
35650            var DISTS = 2;
35651            var lbase = [
35652              /* Length codes 257..285 base */
35653              3,
35654              4,
35655              5,
35656              6,
35657              7,
35658              8,
35659              9,
35660              10,
35661              11,
35662              13,
35663              15,
35664              17,
35665              19,
35666              23,
35667              27,
35668              31,
35669              35,
35670              43,
35671              51,
35672              59,
35673              67,
35674              83,
35675              99,
35676              115,
35677              131,
35678              163,
35679              195,
35680              227,
35681              258,
35682              0,
35683              0
35684            ];
35685            var lext = [
35686              /* Length codes 257..285 extra */
35687              16,
35688              16,
35689              16,
35690              16,
35691              16,
35692              16,
35693              16,
35694              16,
35695              17,
35696              17,
35697              17,
35698              17,
35699              18,
35700              18,
35701              18,
35702              18,
35703              19,
35704              19,
35705              19,
35706              19,
35707              20,
35708              20,
35709              20,
35710              20,
35711              21,
35712              21,
35713              21,
35714              21,
35715              16,
35716              72,
35717              78
35718            ];
35719            var dbase = [
35720              /* Distance codes 0..29 base */
35721              1,
35722              2,
35723              3,
35724              4,
35725              5,
35726              7,
35727              9,
35728              13,
35729              17,
35730              25,
35731              33,
35732              49,
35733              65,
35734              97,
35735              129,
35736              193,
35737              257,
35738              385,
35739              513,
35740              769,
35741              1025,
35742              1537,
35743              2049,
35744              3073,
35745              4097,
35746              6145,
35747              8193,
35748              12289,
35749              16385,
35750              24577,
35751              0,
35752              0
35753            ];
35754            var dext = [
35755              /* Distance codes 0..29 extra */
35756              16,
35757              16,
35758              16,
35759              16,
35760              17,
35761              17,
35762              18,
35763              18,
35764              19,
35765              19,
35766              20,
35767              20,
35768              21,
35769              21,
35770              22,
35771              22,
35772              23,
35773              23,
35774              24,
35775              24,
35776              25,
35777              25,
35778              26,
35779              26,
35780              27,
35781              27,
35782              28,
35783              28,
35784              29,
35785              29,
35786              64,
35787              64
35788            ];
35789            module2.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) {
35790              var bits = opts.bits;
35791              var len = 0;
35792              var sym = 0;
35793              var min2 = 0, max2 = 0;
35794              var root = 0;
35795              var curr = 0;
35796              var drop = 0;
35797              var left = 0;
35798              var used = 0;
35799              var huff = 0;
35800              var incr;
35801              var fill;
35802              var low;
35803              var mask;
35804              var next;
35805              var base = null;
35806              var base_index = 0;
35807              var end;
35808              var count = new utils.Buf16(MAXBITS + 1);
35809              var offs = new utils.Buf16(MAXBITS + 1);
35810              var extra = null;
35811              var extra_index = 0;
35812              var here_bits, here_op, here_val;
35813              for (len = 0; len <= MAXBITS; len++) {
35814                count[len] = 0;
35815              }
35816              for (sym = 0; sym < codes; sym++) {
35817                count[lens[lens_index + sym]]++;
35818              }
35819              root = bits;
35820              for (max2 = MAXBITS; max2 >= 1; max2--) {
35821                if (count[max2] !== 0) {
35822                  break;
35823                }
35824              }
35825              if (root > max2) {
35826                root = max2;
35827              }
35828              if (max2 === 0) {
35829                table[table_index++] = 1 << 24 | 64 << 16 | 0;
35830                table[table_index++] = 1 << 24 | 64 << 16 | 0;
35831                opts.bits = 1;
35832                return 0;
35833              }
35834              for (min2 = 1; min2 < max2; min2++) {
35835                if (count[min2] !== 0) {
35836                  break;
35837                }
35838              }
35839              if (root < min2) {
35840                root = min2;
35841              }
35842              left = 1;
35843              for (len = 1; len <= MAXBITS; len++) {
35844                left <<= 1;
35845                left -= count[len];
35846                if (left < 0) {
35847                  return -1;
35848                }
35849              }
35850              if (left > 0 && (type === CODES || max2 !== 1)) {
35851                return -1;
35852              }
35853              offs[1] = 0;
35854              for (len = 1; len < MAXBITS; len++) {
35855                offs[len + 1] = offs[len] + count[len];
35856              }
35857              for (sym = 0; sym < codes; sym++) {
35858                if (lens[lens_index + sym] !== 0) {
35859                  work[offs[lens[lens_index + sym]]++] = sym;
35860                }
35861              }
35862              if (type === CODES) {
35863                base = extra = work;
35864                end = 19;
35865              } else if (type === LENS) {
35866                base = lbase;
35867                base_index -= 257;
35868                extra = lext;
35869                extra_index -= 257;
35870                end = 256;
35871              } else {
35872                base = dbase;
35873                extra = dext;
35874                end = -1;
35875              }
35876              huff = 0;
35877              sym = 0;
35878              len = min2;
35879              next = table_index;
35880              curr = root;
35881              drop = 0;
35882              low = -1;
35883              used = 1 << root;
35884              mask = used - 1;
35885              if (type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS) {
35886                return 1;
35887              }
35888              for (; ; ) {
35889                here_bits = len - drop;
35890                if (work[sym] < end) {
35891                  here_op = 0;
35892                  here_val = work[sym];
35893                } else if (work[sym] > end) {
35894                  here_op = extra[extra_index + work[sym]];
35895                  here_val = base[base_index + work[sym]];
35896                } else {
35897                  here_op = 32 + 64;
35898                  here_val = 0;
35899                }
35900                incr = 1 << len - drop;
35901                fill = 1 << curr;
35902                min2 = fill;
35903                do {
35904                  fill -= incr;
35905                  table[next + (huff >> drop) + fill] = here_bits << 24 | here_op << 16 | here_val | 0;
35906                } while (fill !== 0);
35907                incr = 1 << len - 1;
35908                while (huff & incr) {
35909                  incr >>= 1;
35910                }
35911                if (incr !== 0) {
35912                  huff &= incr - 1;
35913                  huff += incr;
35914                } else {
35915                  huff = 0;
35916                }
35917                sym++;
35918                if (--count[len] === 0) {
35919                  if (len === max2) {
35920                    break;
35921                  }
35922                  len = lens[lens_index + work[sym]];
35923                }
35924                if (len > root && (huff & mask) !== low) {
35925                  if (drop === 0) {
35926                    drop = root;
35927                  }
35928                  next += min2;
35929                  curr = len - drop;
35930                  left = 1 << curr;
35931                  while (curr + drop < max2) {
35932                    left -= count[curr + drop];
35933                    if (left <= 0) {
35934                      break;
35935                    }
35936                    curr++;
35937                    left <<= 1;
35938                  }
35939                  used += 1 << curr;
35940                  if (type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS) {
35941                    return 1;
35942                  }
35943                  low = huff & mask;
35944                  table[low] = root << 24 | curr << 16 | next - table_index | 0;
35945                }
35946              }
35947              if (huff !== 0) {
35948                table[next + huff] = len - drop << 24 | 64 << 16 | 0;
35949              }
35950              opts.bits = root;
35951              return 0;
35952            };
35953          },
35954          { "../utils/common": 1 }
35955        ],
35956        10: [
35957          function(require2, module2, exports2) {
35958            "use strict";
35959            module2.exports = {
35960              2: "need dictionary",
35961              1: "stream end",
35962              0: "",
35963              "-1": "file error",
35964              "-2": "stream error",
35965              "-3": "data error",
35966              "-4": "insufficient memory",
35967              "-5": "buffer error",
35968              "-6": "incompatible version"
35969            };
35970          },
35971          {}
35972        ],
35973        11: [
35974          function(require2, module2, exports2) {
35975            "use strict";
35976            function ZStream() {
35977              this.input = null;
35978              this.next_in = 0;
35979              this.avail_in = 0;
35980              this.total_in = 0;
35981              this.output = null;
35982              this.next_out = 0;
35983              this.avail_out = 0;
35984              this.total_out = 0;
35985              this.msg = "";
35986              this.state = null;
35987              this.data_type = 2;
35988              this.adler = 0;
35989            }
35990            module2.exports = ZStream;
35991          },
35992          {}
35993        ],
35994        "/lib/inflate.js": [
35995          function(require2, module2, exports2) {
35996            "use strict";
35997            var zlib_inflate = require2("./zlib/inflate");
35998            var utils = require2("./utils/common");
35999            var strings = require2("./utils/strings");
36000            var c2 = require2("./zlib/constants");
36001            var msg = require2("./zlib/messages");
36002            var ZStream = require2("./zlib/zstream");
36003            var GZheader = require2("./zlib/gzheader");
36004            var toString = Object.prototype.toString;
36005            function Inflate(options) {
36006              if (!(this instanceof Inflate))
36007                return new Inflate(options);
36008              this.options = utils.assign(
36009                {
36010                  chunkSize: 16384,
36011                  windowBits: 0,
36012                  to: ""
36013                },
36014                options || {}
36015              );
36016              var opt = this.options;
36017              if (opt.raw && opt.windowBits >= 0 && opt.windowBits < 16) {
36018                opt.windowBits = -opt.windowBits;
36019                if (opt.windowBits === 0) {
36020                  opt.windowBits = -15;
36021                }
36022              }
36023              if (opt.windowBits >= 0 && opt.windowBits < 16 && !(options && options.windowBits)) {
36024                opt.windowBits += 32;
36025              }
36026              if (opt.windowBits > 15 && opt.windowBits < 48) {
36027                if ((opt.windowBits & 15) === 0) {
36028                  opt.windowBits |= 15;
36029                }
36030              }
36031              this.err = 0;
36032              this.msg = "";
36033              this.ended = false;
36034              this.chunks = [];
36035              this.strm = new ZStream();
36036              this.strm.avail_out = 0;
36037              var status = zlib_inflate.inflateInit2(
36038                this.strm,
36039                opt.windowBits
36040              );
36041              if (status !== c2.Z_OK) {
36042                throw new Error(msg[status]);
36043              }
36044              this.header = new GZheader();
36045              zlib_inflate.inflateGetHeader(this.strm, this.header);
36046              if (opt.dictionary) {
36047                if (typeof opt.dictionary === "string") {
36048                  opt.dictionary = strings.string2buf(
36049                    opt.dictionary
36050                  );
36051                } else if (toString.call(opt.dictionary) === "[object ArrayBuffer]") {
36052                  opt.dictionary = new Uint8Array(
36053                    opt.dictionary
36054                  );
36055                }
36056                if (opt.raw) {
36057                  status = zlib_inflate.inflateSetDictionary(
36058                    this.strm,
36059                    opt.dictionary
36060                  );
36061                  if (status !== c2.Z_OK) {
36062                    throw new Error(msg[status]);
36063                  }
36064                }
36065              }
36066            }
36067            Inflate.prototype.push = function(data, mode) {
36068              var strm = this.strm;
36069              var chunkSize = this.options.chunkSize;
36070              var dictionary = this.options.dictionary;
36071              var status, _mode;
36072              var next_out_utf8, tail, utf8str;
36073              var allowBufError = false;
36074              if (this.ended) {
36075                return false;
36076              }
36077              _mode = mode === ~~mode ? mode : mode === true ? c2.Z_FINISH : c2.Z_NO_FLUSH;
36078              if (typeof data === "string") {
36079                strm.input = strings.binstring2buf(data);
36080              } else if (toString.call(data) === "[object ArrayBuffer]") {
36081                strm.input = new Uint8Array(data);
36082              } else {
36083                strm.input = data;
36084              }
36085              strm.next_in = 0;
36086              strm.avail_in = strm.input.length;
36087              do {
36088                if (strm.avail_out === 0) {
36089                  strm.output = new utils.Buf8(chunkSize);
36090                  strm.next_out = 0;
36091                  strm.avail_out = chunkSize;
36092                }
36093                status = zlib_inflate.inflate(
36094                  strm,
36095                  c2.Z_NO_FLUSH
36096                );
36097                if (status === c2.Z_NEED_DICT && dictionary) {
36098                  status = zlib_inflate.inflateSetDictionary(
36099                    this.strm,
36100                    dictionary
36101                  );
36102                }
36103                if (status === c2.Z_BUF_ERROR && allowBufError === true) {
36104                  status = c2.Z_OK;
36105                  allowBufError = false;
36106                }
36107                if (status !== c2.Z_STREAM_END && status !== c2.Z_OK) {
36108                  this.onEnd(status);
36109                  this.ended = true;
36110                  return false;
36111                }
36112                if (strm.next_out) {
36113                  if (strm.avail_out === 0 || status === c2.Z_STREAM_END || strm.avail_in === 0 && (_mode === c2.Z_FINISH || _mode === c2.Z_SYNC_FLUSH)) {
36114                    if (this.options.to === "string") {
36115                      next_out_utf8 = strings.utf8border(
36116                        strm.output,
36117                        strm.next_out
36118                      );
36119                      tail = strm.next_out - next_out_utf8;
36120                      utf8str = strings.buf2string(
36121                        strm.output,
36122                        next_out_utf8
36123                      );
36124                      strm.next_out = tail;
36125                      strm.avail_out = chunkSize - tail;
36126                      if (tail) {
36127                        utils.arraySet(
36128                          strm.output,
36129                          strm.output,
36130                          next_out_utf8,
36131                          tail,
36132                          0
36133                        );
36134                      }
36135                      this.onData(utf8str);
36136                    } else {
36137                      this.onData(
36138                        utils.shrinkBuf(
36139                          strm.output,
36140                          strm.next_out
36141                        )
36142                      );
36143                    }
36144                  }
36145                }
36146                if (strm.avail_in === 0 && strm.avail_out === 0) {
36147                  allowBufError = true;
36148                }
36149              } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== c2.Z_STREAM_END);
36150              if (status === c2.Z_STREAM_END) {
36151                _mode = c2.Z_FINISH;
36152              }
36153              if (_mode === c2.Z_FINISH) {
36154                status = zlib_inflate.inflateEnd(this.strm);
36155                this.onEnd(status);
36156                this.ended = true;
36157                return status === c2.Z_OK;
36158              }
36159              if (_mode === c2.Z_SYNC_FLUSH) {
36160                this.onEnd(c2.Z_OK);
36161                strm.avail_out = 0;
36162                return true;
36163              }
36164              return true;
36165            };
36166            Inflate.prototype.onData = function(chunk) {
36167              this.chunks.push(chunk);
36168            };
36169            Inflate.prototype.onEnd = function(status) {
36170              if (status === c2.Z_OK) {
36171                if (this.options.to === "string") {
36172                  this.result = this.chunks.join("");
36173                } else {
36174                  this.result = utils.flattenChunks(
36175                    this.chunks
36176                  );
36177                }
36178              }
36179              this.chunks = [];
36180              this.err = status;
36181              this.msg = this.strm.msg;
36182            };
36183            function inflate(input, options) {
36184              var inflator = new Inflate(options);
36185              inflator.push(input, true);
36186              if (inflator.err) {
36187                throw inflator.msg || msg[inflator.err];
36188              }
36189              return inflator.result;
36190            }
36191            function inflateRaw(input, options) {
36192              options = options || {};
36193              options.raw = true;
36194              return inflate(input, options);
36195            }
36196            exports2.Inflate = Inflate;
36197            exports2.inflate = inflate;
36198            exports2.inflateRaw = inflateRaw;
36199            exports2.ungzip = inflate;
36200          },
36201          {
36202            "./utils/common": 1,
36203            "./utils/strings": 2,
36204            "./zlib/constants": 4,
36205            "./zlib/gzheader": 6,
36206            "./zlib/inflate": 8,
36207            "./zlib/messages": 10,
36208            "./zlib/zstream": 11
36209          }
36210        ]
36211      },
36212      {},
36213      []
36214    )("/lib/inflate.js");
36215  })();
36216  
36217  // packages/global-styles-ui/build-module/font-library/lib/lib-font.browser.mjs
36218  var fetchFunction = globalThis.fetch;
36219  var Event2 = class {
36220    constructor(type, detail = {}, msg) {
36221      this.type = type;
36222      this.detail = detail;
36223      this.msg = msg;
36224      Object.defineProperty(this, `__mayPropagate`, {
36225        enumerable: false,
36226        writable: true
36227      });
36228      this.__mayPropagate = true;
36229    }
36230    preventDefault() {
36231    }
36232    stopPropagation() {
36233      this.__mayPropagate = false;
36234    }
36235    valueOf() {
36236      return this;
36237    }
36238    toString() {
36239      return this.msg ? `[$this.type} event]: $this.msg}` : `[$this.type} event]`;
36240    }
36241  };
36242  var EventManager = class {
36243    constructor() {
36244      this.listeners = {};
36245    }
36246    addEventListener(type, listener, useCapture) {
36247      let bin = this.listeners[type] || [];
36248      if (useCapture) bin.unshift(listener);
36249      else bin.push(listener);
36250      this.listeners[type] = bin;
36251    }
36252    removeEventListener(type, listener) {
36253      let bin = this.listeners[type] || [];
36254      let pos = bin.findIndex((e) => e === listener);
36255      if (pos > -1) {
36256        bin.splice(pos, 1);
36257        this.listeners[type] = bin;
36258      }
36259    }
36260    dispatch(event) {
36261      let bin = this.listeners[event.type];
36262      if (bin) {
36263        for (let l2 = 0, e = bin.length; l2 < e; l2++) {
36264          if (!event.__mayPropagate) break;
36265          bin[l2](event);
36266        }
36267      }
36268    }
36269  };
36270  var startDate = (/* @__PURE__ */ new Date(`1904-01-01T00:00:00+0000`)).getTime();
36271  function asText(data) {
36272    return Array.from(data).map((v2) => String.fromCharCode(v2)).join(``);
36273  }
36274  var Parser = class {
36275    constructor(dict, dataview, name2) {
36276      this.name = (name2 || dict.tag || ``).trim();
36277      this.length = dict.length;
36278      this.start = dict.offset;
36279      this.offset = 0;
36280      this.data = dataview;
36281      [
36282        `getInt8`,
36283        `getUint8`,
36284        `getInt16`,
36285        `getUint16`,
36286        `getInt32`,
36287        `getUint32`,
36288        `getBigInt64`,
36289        `getBigUint64`
36290      ].forEach((name3) => {
36291        let fn = name3.replace(/get(Big)?/, "").toLowerCase();
36292        let increment = parseInt(name3.replace(/[^\d]/g, "")) / 8;
36293        Object.defineProperty(this, fn, {
36294          get: () => this.getValue(name3, increment)
36295        });
36296      });
36297    }
36298    get currentPosition() {
36299      return this.start + this.offset;
36300    }
36301    set currentPosition(position) {
36302      this.start = position;
36303      this.offset = 0;
36304    }
36305    skip(n = 0, bits = 8) {
36306      this.offset += n * bits / 8;
36307    }
36308    getValue(type, increment) {
36309      let pos = this.start + this.offset;
36310      this.offset += increment;
36311      try {
36312        return this.data[type](pos);
36313      } catch (e) {
36314        console.error(`parser`, type, increment, this);
36315        console.error(`parser`, this.start, this.offset);
36316        throw e;
36317      }
36318    }
36319    flags(n) {
36320      if (n === 8 || n === 16 || n === 32 || n === 64) {
36321        return this[`uint$n}`].toString(2).padStart(n, 0).split(``).map((v2) => v2 === "1");
36322      }
36323      console.error(
36324        `Error parsing flags: flag types can only be 1, 2, 4, or 8 bytes long`
36325      );
36326      console.trace();
36327    }
36328    get tag() {
36329      const t = this.uint32;
36330      return asText([
36331        t >> 24 & 255,
36332        t >> 16 & 255,
36333        t >> 8 & 255,
36334        t & 255
36335      ]);
36336    }
36337    get fixed() {
36338      let major = this.int16;
36339      let minor = Math.round(1e3 * this.uint16 / 65356);
36340      return major + minor / 1e3;
36341    }
36342    get legacyFixed() {
36343      let major = this.uint16;
36344      let minor = this.uint16.toString(16).padStart(4, 0);
36345      return parseFloat(`$major}.$minor}`);
36346    }
36347    get uint24() {
36348      return (this.uint8 << 16) + (this.uint8 << 8) + this.uint8;
36349    }
36350    get uint128() {
36351      let value = 0;
36352      for (let i = 0; i < 5; i++) {
36353        let byte = this.uint8;
36354        value = value * 128 + (byte & 127);
36355        if (byte < 128) break;
36356      }
36357      return value;
36358    }
36359    get longdatetime() {
36360      return new Date(startDate + 1e3 * parseInt(this.int64.toString()));
36361    }
36362    get fword() {
36363      return this.int16;
36364    }
36365    get ufword() {
36366      return this.uint16;
36367    }
36368    get Offset16() {
36369      return this.uint16;
36370    }
36371    get Offset32() {
36372      return this.uint32;
36373    }
36374    get F2DOT14() {
36375      const bits = p.uint16;
36376      const integer = [0, 1, -2, -1][bits >> 14];
36377      const fraction = bits & 16383;
36378      return integer + fraction / 16384;
36379    }
36380    verifyLength() {
36381      if (this.offset != this.length) {
36382        console.error(
36383          `unexpected parsed table size ($this.offset}) for "$this.name}" (expected $this.length})`
36384        );
36385      }
36386    }
36387    readBytes(n = 0, position = 0, bits = 8, signed = false) {
36388      n = n || this.length;
36389      if (n === 0) return [];
36390      if (position) this.currentPosition = position;
36391      const fn = `$signed ? `` : `u`}int$bits}`, slice = [];
36392      while (n--) slice.push(this[fn]);
36393      return slice;
36394    }
36395  };
36396  var ParsedData = class {
36397    constructor(parser) {
36398      const pGetter = { enumerable: false, get: () => parser };
36399      Object.defineProperty(this, `parser`, pGetter);
36400      const start = parser.currentPosition;
36401      const startGetter = { enumerable: false, get: () => start };
36402      Object.defineProperty(this, `start`, startGetter);
36403    }
36404    load(struct) {
36405      Object.keys(struct).forEach((p22) => {
36406        let props = Object.getOwnPropertyDescriptor(struct, p22);
36407        if (props.get) {
36408          this[p22] = props.get.bind(this);
36409        } else if (props.value !== void 0) {
36410          this[p22] = props.value;
36411        }
36412      });
36413      if (this.parser.length) {
36414        this.parser.verifyLength();
36415      }
36416    }
36417  };
36418  var SimpleTable = class extends ParsedData {
36419    constructor(dict, dataview, name2) {
36420      const { parser, start } = super(
36421        new Parser(dict, dataview, name2)
36422      );
36423      const pGetter = { enumerable: false, get: () => parser };
36424      Object.defineProperty(this, `p`, pGetter);
36425      const startGetter = { enumerable: false, get: () => start };
36426      Object.defineProperty(this, `tableStart`, startGetter);
36427    }
36428  };
36429  function lazy$1(object, property, getter) {
36430    let val;
36431    Object.defineProperty(object, property, {
36432      get: () => {
36433        if (val) return val;
36434        val = getter();
36435        return val;
36436      },
36437      enumerable: true
36438    });
36439  }
36440  var SFNT = class extends SimpleTable {
36441    constructor(font2, dataview, createTable2) {
36442      const { p: p22 } = super({ offset: 0, length: 12 }, dataview, `sfnt`);
36443      this.version = p22.uint32;
36444      this.numTables = p22.uint16;
36445      this.searchRange = p22.uint16;
36446      this.entrySelector = p22.uint16;
36447      this.rangeShift = p22.uint16;
36448      p22.verifyLength();
36449      this.directory = [...new Array(this.numTables)].map(
36450        (_) => new TableRecord(p22)
36451      );
36452      this.tables = {};
36453      this.directory.forEach((entry) => {
36454        const getter = () => createTable2(
36455          this.tables,
36456          {
36457            tag: entry.tag,
36458            offset: entry.offset,
36459            length: entry.length
36460          },
36461          dataview
36462        );
36463        lazy$1(this.tables, entry.tag.trim(), getter);
36464      });
36465    }
36466  };
36467  var TableRecord = class {
36468    constructor(p22) {
36469      this.tag = p22.tag;
36470      this.checksum = p22.uint32;
36471      this.offset = p22.uint32;
36472      this.length = p22.uint32;
36473    }
36474  };
36475  var gzipDecode = inflate_default.inflate || void 0;
36476  var nativeGzipDecode = void 0;
36477  var WOFF$1 = class extends SimpleTable {
36478    constructor(font2, dataview, createTable2) {
36479      const { p: p22 } = super({ offset: 0, length: 44 }, dataview, `woff`);
36480      this.signature = p22.tag;
36481      this.flavor = p22.uint32;
36482      this.length = p22.uint32;
36483      this.numTables = p22.uint16;
36484      p22.uint16;
36485      this.totalSfntSize = p22.uint32;
36486      this.majorVersion = p22.uint16;
36487      this.minorVersion = p22.uint16;
36488      this.metaOffset = p22.uint32;
36489      this.metaLength = p22.uint32;
36490      this.metaOrigLength = p22.uint32;
36491      this.privOffset = p22.uint32;
36492      this.privLength = p22.uint32;
36493      p22.verifyLength();
36494      this.directory = [...new Array(this.numTables)].map(
36495        (_) => new WoffTableDirectoryEntry(p22)
36496      );
36497      buildWoffLazyLookups(this, dataview, createTable2);
36498    }
36499  };
36500  var WoffTableDirectoryEntry = class {
36501    constructor(p22) {
36502      this.tag = p22.tag;
36503      this.offset = p22.uint32;
36504      this.compLength = p22.uint32;
36505      this.origLength = p22.uint32;
36506      this.origChecksum = p22.uint32;
36507    }
36508  };
36509  function buildWoffLazyLookups(woff, dataview, createTable2) {
36510    woff.tables = {};
36511    woff.directory.forEach((entry) => {
36512      lazy$1(woff.tables, entry.tag.trim(), () => {
36513        let offset4 = 0;
36514        let view = dataview;
36515        if (entry.compLength !== entry.origLength) {
36516          const data = dataview.buffer.slice(
36517            entry.offset,
36518            entry.offset + entry.compLength
36519          );
36520          let unpacked;
36521          if (gzipDecode) {
36522            unpacked = gzipDecode(new Uint8Array(data));
36523          } else if (nativeGzipDecode) {
36524            unpacked = nativeGzipDecode(new Uint8Array(data));
36525          } else {
36526            const msg = `no brotli decoder available to decode WOFF2 font`;
36527            if (font.onerror) font.onerror(msg);
36528            throw new Error(msg);
36529          }
36530          view = new DataView(unpacked.buffer);
36531        } else {
36532          offset4 = entry.offset;
36533        }
36534        return createTable2(
36535          woff.tables,
36536          { tag: entry.tag, offset: offset4, length: entry.origLength },
36537          view
36538        );
36539      });
36540    });
36541  }
36542  var brotliDecode = unbrotli_default;
36543  var nativeBrotliDecode = void 0;
36544  var WOFF2$1 = class extends SimpleTable {
36545    constructor(font2, dataview, createTable2) {
36546      const { p: p22 } = super({ offset: 0, length: 48 }, dataview, `woff2`);
36547      this.signature = p22.tag;
36548      this.flavor = p22.uint32;
36549      this.length = p22.uint32;
36550      this.numTables = p22.uint16;
36551      p22.uint16;
36552      this.totalSfntSize = p22.uint32;
36553      this.totalCompressedSize = p22.uint32;
36554      this.majorVersion = p22.uint16;
36555      this.minorVersion = p22.uint16;
36556      this.metaOffset = p22.uint32;
36557      this.metaLength = p22.uint32;
36558      this.metaOrigLength = p22.uint32;
36559      this.privOffset = p22.uint32;
36560      this.privLength = p22.uint32;
36561      p22.verifyLength();
36562      this.directory = [...new Array(this.numTables)].map(
36563        (_) => new Woff2TableDirectoryEntry(p22)
36564      );
36565      let dictOffset = p22.currentPosition;
36566      this.directory[0].offset = 0;
36567      this.directory.forEach((e, i) => {
36568        let next = this.directory[i + 1];
36569        if (next) {
36570          next.offset = e.offset + (e.transformLength !== void 0 ? e.transformLength : e.origLength);
36571        }
36572      });
36573      let decoded;
36574      let buffer = dataview.buffer.slice(dictOffset);
36575      if (brotliDecode) {
36576        decoded = brotliDecode(new Uint8Array(buffer));
36577      } else if (nativeBrotliDecode) {
36578        decoded = new Uint8Array(nativeBrotliDecode(buffer));
36579      } else {
36580        const msg = `no brotli decoder available to decode WOFF2 font`;
36581        if (font2.onerror) font2.onerror(msg);
36582        throw new Error(msg);
36583      }
36584      buildWoff2LazyLookups(this, decoded, createTable2);
36585    }
36586  };
36587  var Woff2TableDirectoryEntry = class {
36588    constructor(p22) {
36589      this.flags = p22.uint8;
36590      const tagNumber = this.tagNumber = this.flags & 63;
36591      if (tagNumber === 63) {
36592        this.tag = p22.tag;
36593      } else {
36594        this.tag = getWOFF2Tag(tagNumber);
36595      }
36596      const transformVersion = this.transformVersion = (this.flags & 192) >> 6;
36597      let hasTransforms = transformVersion !== 0;
36598      if (this.tag === `glyf` || this.tag === `loca`) {
36599        hasTransforms = this.transformVersion !== 3;
36600      }
36601      this.origLength = p22.uint128;
36602      if (hasTransforms) {
36603        this.transformLength = p22.uint128;
36604      }
36605    }
36606  };
36607  function buildWoff2LazyLookups(woff2, decoded, createTable2) {
36608    woff2.tables = {};
36609    woff2.directory.forEach((entry) => {
36610      lazy$1(woff2.tables, entry.tag.trim(), () => {
36611        const start = entry.offset;
36612        const end = start + (entry.transformLength ? entry.transformLength : entry.origLength);
36613        const data = new DataView(decoded.slice(start, end).buffer);
36614        try {
36615          return createTable2(
36616            woff2.tables,
36617            { tag: entry.tag, offset: 0, length: entry.origLength },
36618            data
36619          );
36620        } catch (e) {
36621          console.error(e);
36622        }
36623      });
36624    });
36625  }
36626  function getWOFF2Tag(flag) {
36627    return [
36628      `cmap`,
36629      `head`,
36630      `hhea`,
36631      `hmtx`,
36632      `maxp`,
36633      `name`,
36634      `OS/2`,
36635      `post`,
36636      `cvt `,
36637      `fpgm`,
36638      `glyf`,
36639      `loca`,
36640      `prep`,
36641      `CFF `,
36642      `VORG`,
36643      `EBDT`,
36644      `EBLC`,
36645      `gasp`,
36646      `hdmx`,
36647      `kern`,
36648      `LTSH`,
36649      `PCLT`,
36650      `VDMX`,
36651      `vhea`,
36652      `vmtx`,
36653      `BASE`,
36654      `GDEF`,
36655      `GPOS`,
36656      `GSUB`,
36657      `EBSC`,
36658      `JSTF`,
36659      `MATH`,
36660      `CBDT`,
36661      `CBLC`,
36662      `COLR`,
36663      `CPAL`,
36664      `SVG `,
36665      `sbix`,
36666      `acnt`,
36667      `avar`,
36668      `bdat`,
36669      `bloc`,
36670      `bsln`,
36671      `cvar`,
36672      `fdsc`,
36673      `feat`,
36674      `fmtx`,
36675      `fvar`,
36676      `gvar`,
36677      `hsty`,
36678      `just`,
36679      `lcar`,
36680      `mort`,
36681      `morx`,
36682      `opbd`,
36683      `prop`,
36684      `trak`,
36685      `Zapf`,
36686      `Silf`,
36687      `Glat`,
36688      `Gloc`,
36689      `Feat`,
36690      `Sill`
36691    ][flag & 63];
36692  }
36693  var tableClasses = {};
36694  var tableClassesLoaded = false;
36695  Promise.all([
36696    Promise.resolve().then(function() {
36697      return cmap$1;
36698    }),
36699    Promise.resolve().then(function() {
36700      return head$1;
36701    }),
36702    Promise.resolve().then(function() {
36703      return hhea$1;
36704    }),
36705    Promise.resolve().then(function() {
36706      return hmtx$1;
36707    }),
36708    Promise.resolve().then(function() {
36709      return maxp$1;
36710    }),
36711    Promise.resolve().then(function() {
36712      return name$1;
36713    }),
36714    Promise.resolve().then(function() {
36715      return OS2$1;
36716    }),
36717    Promise.resolve().then(function() {
36718      return post$1;
36719    }),
36720    Promise.resolve().then(function() {
36721      return BASE$1;
36722    }),
36723    Promise.resolve().then(function() {
36724      return GDEF$1;
36725    }),
36726    Promise.resolve().then(function() {
36727      return GSUB$1;
36728    }),
36729    Promise.resolve().then(function() {
36730      return GPOS$1;
36731    }),
36732    Promise.resolve().then(function() {
36733      return SVG$1;
36734    }),
36735    Promise.resolve().then(function() {
36736      return fvar$1;
36737    }),
36738    Promise.resolve().then(function() {
36739      return cvt$1;
36740    }),
36741    Promise.resolve().then(function() {
36742      return fpgm$1;
36743    }),
36744    Promise.resolve().then(function() {
36745      return gasp$1;
36746    }),
36747    Promise.resolve().then(function() {
36748      return glyf$1;
36749    }),
36750    Promise.resolve().then(function() {
36751      return loca$1;
36752    }),
36753    Promise.resolve().then(function() {
36754      return prep$1;
36755    }),
36756    Promise.resolve().then(function() {
36757      return CFF$1;
36758    }),
36759    Promise.resolve().then(function() {
36760      return CFF2$1;
36761    }),
36762    Promise.resolve().then(function() {
36763      return VORG$1;
36764    }),
36765    Promise.resolve().then(function() {
36766      return EBLC$1;
36767    }),
36768    Promise.resolve().then(function() {
36769      return EBDT$1;
36770    }),
36771    Promise.resolve().then(function() {
36772      return EBSC$1;
36773    }),
36774    Promise.resolve().then(function() {
36775      return CBLC$1;
36776    }),
36777    Promise.resolve().then(function() {
36778      return CBDT$1;
36779    }),
36780    Promise.resolve().then(function() {
36781      return sbix$1;
36782    }),
36783    Promise.resolve().then(function() {
36784      return COLR$1;
36785    }),
36786    Promise.resolve().then(function() {
36787      return CPAL$1;
36788    }),
36789    Promise.resolve().then(function() {
36790      return DSIG$1;
36791    }),
36792    Promise.resolve().then(function() {
36793      return hdmx$1;
36794    }),
36795    Promise.resolve().then(function() {
36796      return kern$1;
36797    }),
36798    Promise.resolve().then(function() {
36799      return LTSH$1;
36800    }),
36801    Promise.resolve().then(function() {
36802      return MERG$1;
36803    }),
36804    Promise.resolve().then(function() {
36805      return meta$1;
36806    }),
36807    Promise.resolve().then(function() {
36808      return PCLT$1;
36809    }),
36810    Promise.resolve().then(function() {
36811      return VDMX$1;
36812    }),
36813    Promise.resolve().then(function() {
36814      return vhea$1;
36815    }),
36816    Promise.resolve().then(function() {
36817      return vmtx$1;
36818    })
36819  ]).then((data) => {
36820    data.forEach((e) => {
36821      let name2 = Object.keys(e)[0];
36822      tableClasses[name2] = e[name2];
36823    });
36824    tableClassesLoaded = true;
36825  });
36826  function createTable(tables, dict, dataview) {
36827    let name2 = dict.tag.replace(/[^\w\d]/g, ``);
36828    let Type = tableClasses[name2];
36829    if (Type) return new Type(dict, dataview, tables);
36830    console.warn(
36831      `lib-font has no definition for $name2}. The table was skipped.`
36832    );
36833    return {};
36834  }
36835  function loadTableClasses() {
36836    let count = 0;
36837    function checkLoaded(resolve, reject) {
36838      if (!tableClassesLoaded) {
36839        if (count > 10) {
36840          return reject(new Error(`loading took too long`));
36841        }
36842        count++;
36843        return setTimeout(() => checkLoaded(resolve), 250);
36844      }
36845      resolve(createTable);
36846    }
36847    return new Promise((resolve, reject) => checkLoaded(resolve));
36848  }
36849  function getFontCSSFormat(path, errorOnStyle) {
36850    let pos = path.lastIndexOf(`.`);
36851    let ext = (path.substring(pos + 1) || ``).toLowerCase();
36852    let format = {
36853      ttf: `truetype`,
36854      otf: `opentype`,
36855      woff: `woff`,
36856      woff2: `woff2`
36857    }[ext];
36858    if (format) return format;
36859    let msg = {
36860      eot: `The .eot format is not supported: it died in January 12, 2016, when Microsoft retired all versions of IE that didn't already support WOFF.`,
36861      svg: `The .svg format is not supported: SVG fonts (not to be confused with OpenType with embedded SVG) were so bad we took the entire fonts chapter out of the SVG specification again.`,
36862      fon: `The .fon format is not supported: this is an ancient Windows bitmap font format.`,
36863      ttc: `Based on the current CSS specification, font collections are not (yet?) supported.`
36864    }[ext];
36865    if (!msg) msg = `$path} is not a known webfont format.`;
36866    if (errorOnStyle) {
36867      throw new Error(msg);
36868    } else {
36869      console.warn(`Could not load font: $msg}`);
36870    }
36871  }
36872  async function setupFontFace(name2, url, options = {}) {
36873    if (!globalThis.document) return;
36874    let format = getFontCSSFormat(url, options.errorOnStyle);
36875    if (!format) return;
36876    let style = document.createElement(`style`);
36877    style.className = `injected-by-Font-js`;
36878    let rules = [];
36879    if (options.styleRules) {
36880      rules = Object.entries(options.styleRules).map(
36881        ([key, value]) => `$key}: $value};`
36882      );
36883    }
36884    style.textContent = `
36885  @font-face {
36886      font-family: "$name2}";
36887      $rules.join(
36888      `
36889      `
36890    )}
36891      src: url("$url}") format("$format}");
36892  }`;
36893    globalThis.document.head.appendChild(style);
36894    return style;
36895  }
36896  var TTF = [0, 1, 0, 0];
36897  var OTF = [79, 84, 84, 79];
36898  var WOFF = [119, 79, 70, 70];
36899  var WOFF2 = [119, 79, 70, 50];
36900  function match(ar1, ar2) {
36901    if (ar1.length !== ar2.length) return;
36902    for (let i = 0; i < ar1.length; i++) {
36903      if (ar1[i] !== ar2[i]) return;
36904    }
36905    return true;
36906  }
36907  function validFontFormat(dataview) {
36908    const LEAD_BYTES = [
36909      dataview.getUint8(0),
36910      dataview.getUint8(1),
36911      dataview.getUint8(2),
36912      dataview.getUint8(3)
36913    ];
36914    if (match(LEAD_BYTES, TTF) || match(LEAD_BYTES, OTF)) return `SFNT`;
36915    if (match(LEAD_BYTES, WOFF)) return `WOFF`;
36916    if (match(LEAD_BYTES, WOFF2)) return `WOFF2`;
36917  }
36918  function checkFetchResponseStatus(response) {
36919    if (!response.ok) {
36920      throw new Error(
36921        `HTTP $response.status} - $response.statusText}`
36922      );
36923    }
36924    return response;
36925  }
36926  var Font = class extends EventManager {
36927    constructor(name2, options = {}) {
36928      super();
36929      this.name = name2;
36930      this.options = options;
36931      this.metrics = false;
36932    }
36933    get src() {
36934      return this.__src;
36935    }
36936    set src(src) {
36937      this.__src = src;
36938      (async () => {
36939        if (globalThis.document && !this.options.skipStyleSheet) {
36940          await setupFontFace(this.name, src, this.options);
36941        }
36942        this.loadFont(src);
36943      })();
36944    }
36945    async loadFont(url, filename) {
36946      fetch(url).then(
36947        (response) => checkFetchResponseStatus(response) && response.arrayBuffer()
36948      ).then(
36949        (buffer) => this.fromDataBuffer(buffer, filename || url)
36950      ).catch((err) => {
36951        const evt = new Event2(
36952          `error`,
36953          err,
36954          `Failed to load font at $filename || url}`
36955        );
36956        this.dispatch(evt);
36957        if (this.onerror) this.onerror(evt);
36958      });
36959    }
36960    async fromDataBuffer(buffer, filenameOrUrL) {
36961      this.fontData = new DataView(buffer);
36962      let type = validFontFormat(this.fontData);
36963      if (!type) {
36964        throw new Error(
36965          `$filenameOrUrL} is either an unsupported font format, or not a font at all.`
36966        );
36967      }
36968      await this.parseBasicData(type);
36969      const evt = new Event2("load", { font: this });
36970      this.dispatch(evt);
36971      if (this.onload) this.onload(evt);
36972    }
36973    async parseBasicData(type) {
36974      return loadTableClasses().then((createTable2) => {
36975        if (type === `SFNT`) {
36976          this.opentype = new SFNT(this, this.fontData, createTable2);
36977        }
36978        if (type === `WOFF`) {
36979          this.opentype = new WOFF$1(this, this.fontData, createTable2);
36980        }
36981        if (type === `WOFF2`) {
36982          this.opentype = new WOFF2$1(this, this.fontData, createTable2);
36983        }
36984        return this.opentype;
36985      });
36986    }
36987    getGlyphId(char) {
36988      return this.opentype.tables.cmap.getGlyphId(char);
36989    }
36990    reverse(glyphid) {
36991      return this.opentype.tables.cmap.reverse(glyphid);
36992    }
36993    supports(char) {
36994      return this.getGlyphId(char) !== 0;
36995    }
36996    supportsVariation(variation) {
36997      return this.opentype.tables.cmap.supportsVariation(variation) !== false;
36998    }
36999    measureText(text, size4 = 16) {
37000      if (this.__unloaded)
37001        throw new Error(
37002          "Cannot measure text: font was unloaded. Please reload before calling measureText()"
37003        );
37004      let d = document.createElement("div");
37005      d.textContent = text;
37006      d.style.fontFamily = this.name;
37007      d.style.fontSize = `$size4}px`;
37008      d.style.color = `transparent`;
37009      d.style.background = `transparent`;
37010      d.style.top = `0`;
37011      d.style.left = `0`;
37012      d.style.position = `absolute`;
37013      document.body.appendChild(d);
37014      let bbox = d.getBoundingClientRect();
37015      document.body.removeChild(d);
37016      const OS22 = this.opentype.tables["OS/2"];
37017      bbox.fontSize = size4;
37018      bbox.ascender = OS22.sTypoAscender;
37019      bbox.descender = OS22.sTypoDescender;
37020      return bbox;
37021    }
37022    unload() {
37023      if (this.styleElement.parentNode) {
37024        this.styleElement.parentNode.removeElement(this.styleElement);
37025        const evt = new Event2("unload", { font: this });
37026        this.dispatch(evt);
37027        if (this.onunload) this.onunload(evt);
37028      }
37029      this._unloaded = true;
37030    }
37031    load() {
37032      if (this.__unloaded) {
37033        delete this.__unloaded;
37034        document.head.appendChild(this.styleElement);
37035        const evt = new Event2("load", { font: this });
37036        this.dispatch(evt);
37037        if (this.onload) this.onload(evt);
37038      }
37039    }
37040  };
37041  globalThis.Font = Font;
37042  var Subtable = class extends ParsedData {
37043    constructor(p22, plaformID, encodingID) {
37044      super(p22);
37045      this.plaformID = plaformID;
37046      this.encodingID = encodingID;
37047    }
37048  };
37049  var Format0 = class extends Subtable {
37050    constructor(p22, platformID, encodingID) {
37051      super(p22, platformID, encodingID);
37052      this.format = 0;
37053      this.length = p22.uint16;
37054      this.language = p22.uint16;
37055      this.glyphIdArray = [...new Array(256)].map((_) => p22.uint8);
37056    }
37057    supports(charCode) {
37058      if (charCode.charCodeAt) {
37059        charCode = -1;
37060        console.warn(
37061          `supports(character) not implemented for cmap subtable format 0. only supports(id) is implemented.`
37062        );
37063      }
37064      return 0 <= charCode && charCode <= 255;
37065    }
37066    reverse(glyphID) {
37067      console.warn(`reverse not implemented for cmap subtable format 0`);
37068      return {};
37069    }
37070    getSupportedCharCodes() {
37071      return [{ start: 1, end: 256 }];
37072    }
37073  };
37074  var Format2 = class extends Subtable {
37075    constructor(p22, platformID, encodingID) {
37076      super(p22, platformID, encodingID);
37077      this.format = 2;
37078      this.length = p22.uint16;
37079      this.language = p22.uint16;
37080      this.subHeaderKeys = [...new Array(256)].map((_) => p22.uint16);
37081      const subHeaderCount = Math.max(...this.subHeaderKeys);
37082      const subHeaderOffset = p22.currentPosition;
37083      lazy$1(this, `subHeaders`, () => {
37084        p22.currentPosition = subHeaderOffset;
37085        return [...new Array(subHeaderCount)].map(
37086          (_) => new SubHeader(p22)
37087        );
37088      });
37089      const glyphIndexOffset = subHeaderOffset + subHeaderCount * 8;
37090      lazy$1(this, `glyphIndexArray`, () => {
37091        p22.currentPosition = glyphIndexOffset;
37092        return [...new Array(subHeaderCount)].map((_) => p22.uint16);
37093      });
37094    }
37095    supports(charCode) {
37096      if (charCode.charCodeAt) {
37097        charCode = -1;
37098        console.warn(
37099          `supports(character) not implemented for cmap subtable format 2. only supports(id) is implemented.`
37100        );
37101      }
37102      const low = charCode && 255;
37103      const high = charCode && 65280;
37104      const subHeaderKey = this.subHeaders[high];
37105      const subheader = this.subHeaders[subHeaderKey];
37106      const first = subheader.firstCode;
37107      const last = first + subheader.entryCount;
37108      return first <= low && low <= last;
37109    }
37110    reverse(glyphID) {
37111      console.warn(`reverse not implemented for cmap subtable format 2`);
37112      return {};
37113    }
37114    getSupportedCharCodes(preservePropNames = false) {
37115      if (preservePropNames) {
37116        return this.subHeaders.map((h) => ({
37117          firstCode: h.firstCode,
37118          lastCode: h.lastCode
37119        }));
37120      }
37121      return this.subHeaders.map((h) => ({
37122        start: h.firstCode,
37123        end: h.lastCode
37124      }));
37125    }
37126  };
37127  var SubHeader = class {
37128    constructor(p22) {
37129      this.firstCode = p22.uint16;
37130      this.entryCount = p22.uint16;
37131      this.lastCode = this.first + this.entryCount;
37132      this.idDelta = p22.int16;
37133      this.idRangeOffset = p22.uint16;
37134    }
37135  };
37136  var Format4 = class extends Subtable {
37137    constructor(p22, platformID, encodingID) {
37138      super(p22, platformID, encodingID);
37139      this.format = 4;
37140      this.length = p22.uint16;
37141      this.language = p22.uint16;
37142      this.segCountX2 = p22.uint16;
37143      this.segCount = this.segCountX2 / 2;
37144      this.searchRange = p22.uint16;
37145      this.entrySelector = p22.uint16;
37146      this.rangeShift = p22.uint16;
37147      const endCodePosition = p22.currentPosition;
37148      lazy$1(
37149        this,
37150        `endCode`,
37151        () => p22.readBytes(this.segCount, endCodePosition, 16)
37152      );
37153      const startCodePosition = endCodePosition + 2 + this.segCountX2;
37154      lazy$1(
37155        this,
37156        `startCode`,
37157        () => p22.readBytes(this.segCount, startCodePosition, 16)
37158      );
37159      const idDeltaPosition = startCodePosition + this.segCountX2;
37160      lazy$1(
37161        this,
37162        `idDelta`,
37163        () => p22.readBytes(this.segCount, idDeltaPosition, 16, true)
37164      );
37165      const idRangePosition = idDeltaPosition + this.segCountX2;
37166      lazy$1(
37167        this,
37168        `idRangeOffset`,
37169        () => p22.readBytes(this.segCount, idRangePosition, 16)
37170      );
37171      const glyphIdArrayPosition = idRangePosition + this.segCountX2;
37172      const glyphIdArrayLength = this.length - (glyphIdArrayPosition - this.tableStart);
37173      lazy$1(
37174        this,
37175        `glyphIdArray`,
37176        () => p22.readBytes(glyphIdArrayLength, glyphIdArrayPosition, 16)
37177      );
37178      lazy$1(
37179        this,
37180        `segments`,
37181        () => this.buildSegments(idRangePosition, glyphIdArrayPosition, p22)
37182      );
37183    }
37184    buildSegments(idRangePosition, glyphIdArrayPosition, p22) {
37185      const build = (_, i) => {
37186        let startCode = this.startCode[i], endCode = this.endCode[i], idDelta = this.idDelta[i], idRangeOffset = this.idRangeOffset[i], idRangeOffsetPointer = idRangePosition + 2 * i, glyphIDs = [];
37187        if (idRangeOffset === 0) {
37188          for (let i2 = startCode + idDelta, e = endCode + idDelta; i2 <= e; i2++) {
37189            glyphIDs.push(i2);
37190          }
37191        } else {
37192          for (let i2 = 0, e = endCode - startCode; i2 <= e; i2++) {
37193            p22.currentPosition = idRangeOffsetPointer + idRangeOffset + i2 * 2;
37194            glyphIDs.push(p22.uint16);
37195          }
37196        }
37197        return {
37198          startCode,
37199          endCode,
37200          idDelta,
37201          idRangeOffset,
37202          glyphIDs
37203        };
37204      };
37205      return [...new Array(this.segCount)].map(build);
37206    }
37207    reverse(glyphID) {
37208      let s = this.segments.find((v2) => v2.glyphIDs.includes(glyphID));
37209      if (!s) return {};
37210      const code = s.startCode + s.glyphIDs.indexOf(glyphID);
37211      return { code, unicode: String.fromCodePoint(code) };
37212    }
37213    getGlyphId(charCode) {
37214      if (charCode.charCodeAt) charCode = charCode.charCodeAt(0);
37215      if (55296 <= charCode && charCode <= 57343) return 0;
37216      if ((charCode & 65534) === 65534 || (charCode & 65535) === 65535)
37217        return 0;
37218      let segment = this.segments.find(
37219        (s) => s.startCode <= charCode && charCode <= s.endCode
37220      );
37221      if (!segment) return 0;
37222      return segment.glyphIDs[charCode - segment.startCode];
37223    }
37224    supports(charCode) {
37225      return this.getGlyphId(charCode) !== 0;
37226    }
37227    getSupportedCharCodes(preservePropNames = false) {
37228      if (preservePropNames) return this.segments;
37229      return this.segments.map((v2) => ({
37230        start: v2.startCode,
37231        end: v2.endCode
37232      }));
37233    }
37234  };
37235  var Format6 = class extends Subtable {
37236    constructor(p22, platformID, encodingID) {
37237      super(p22, platformID, encodingID);
37238      this.format = 6;
37239      this.length = p22.uint16;
37240      this.language = p22.uint16;
37241      this.firstCode = p22.uint16;
37242      this.entryCount = p22.uint16;
37243      this.lastCode = this.firstCode + this.entryCount - 1;
37244      const getter = () => [...new Array(this.entryCount)].map((_) => p22.uint16);
37245      lazy$1(this, `glyphIdArray`, getter);
37246    }
37247    supports(charCode) {
37248      if (charCode.charCodeAt) {
37249        charCode = -1;
37250        console.warn(
37251          `supports(character) not implemented for cmap subtable format 6. only supports(id) is implemented.`
37252        );
37253      }
37254      if (charCode < this.firstCode) return {};
37255      if (charCode > this.firstCode + this.entryCount) return {};
37256      const code = charCode - this.firstCode;
37257      return { code, unicode: String.fromCodePoint(code) };
37258    }
37259    reverse(glyphID) {
37260      let pos = this.glyphIdArray.indexOf(glyphID);
37261      if (pos > -1) return this.firstCode + pos;
37262    }
37263    getSupportedCharCodes(preservePropNames = false) {
37264      if (preservePropNames) {
37265        return [{ firstCode: this.firstCode, lastCode: this.lastCode }];
37266      }
37267      return [{ start: this.firstCode, end: this.lastCode }];
37268    }
37269  };
37270  var Format8 = class extends Subtable {
37271    constructor(p22, platformID, encodingID) {
37272      super(p22, platformID, encodingID);
37273      this.format = 8;
37274      p22.uint16;
37275      this.length = p22.uint32;
37276      this.language = p22.uint32;
37277      this.is32 = [...new Array(8192)].map((_) => p22.uint8);
37278      this.numGroups = p22.uint32;
37279      const getter = () => [...new Array(this.numGroups)].map(
37280        (_) => new SequentialMapGroup$1(p22)
37281      );
37282      lazy$1(this, `groups`, getter);
37283    }
37284    supports(charCode) {
37285      if (charCode.charCodeAt) {
37286        charCode = -1;
37287        console.warn(
37288          `supports(character) not implemented for cmap subtable format 8. only supports(id) is implemented.`
37289        );
37290      }
37291      return this.groups.findIndex(
37292        (s) => s.startcharCode <= charCode && charCode <= s.endcharCode
37293      ) !== -1;
37294    }
37295    reverse(glyphID) {
37296      console.warn(`reverse not implemented for cmap subtable format 8`);
37297      return {};
37298    }
37299    getSupportedCharCodes(preservePropNames = false) {
37300      if (preservePropNames) return this.groups;
37301      return this.groups.map((v2) => ({
37302        start: v2.startcharCode,
37303        end: v2.endcharCode
37304      }));
37305    }
37306  };
37307  var SequentialMapGroup$1 = class {
37308    constructor(p22) {
37309      this.startcharCode = p22.uint32;
37310      this.endcharCode = p22.uint32;
37311      this.startGlyphID = p22.uint32;
37312    }
37313  };
37314  var Format10 = class extends Subtable {
37315    constructor(p22, platformID, encodingID) {
37316      super(p22, platformID, encodingID);
37317      this.format = 10;
37318      p22.uint16;
37319      this.length = p22.uint32;
37320      this.language = p22.uint32;
37321      this.startCharCode = p22.uint32;
37322      this.numChars = p22.uint32;
37323      this.endCharCode = this.startCharCode + this.numChars;
37324      const getter = () => [...new Array(this.numChars)].map((_) => p22.uint16);
37325      lazy$1(this, `glyphs`, getter);
37326    }
37327    supports(charCode) {
37328      if (charCode.charCodeAt) {
37329        charCode = -1;
37330        console.warn(
37331          `supports(character) not implemented for cmap subtable format 10. only supports(id) is implemented.`
37332        );
37333      }
37334      if (charCode < this.startCharCode) return false;
37335      if (charCode > this.startCharCode + this.numChars) return false;
37336      return charCode - this.startCharCode;
37337    }
37338    reverse(glyphID) {
37339      console.warn(`reverse not implemented for cmap subtable format 10`);
37340      return {};
37341    }
37342    getSupportedCharCodes(preservePropNames = false) {
37343      if (preservePropNames) {
37344        return [
37345          {
37346            startCharCode: this.startCharCode,
37347            endCharCode: this.endCharCode
37348          }
37349        ];
37350      }
37351      return [{ start: this.startCharCode, end: this.endCharCode }];
37352    }
37353  };
37354  var Format12 = class extends Subtable {
37355    constructor(p22, platformID, encodingID) {
37356      super(p22, platformID, encodingID);
37357      this.format = 12;
37358      p22.uint16;
37359      this.length = p22.uint32;
37360      this.language = p22.uint32;
37361      this.numGroups = p22.uint32;
37362      const getter = () => [...new Array(this.numGroups)].map(
37363        (_) => new SequentialMapGroup(p22)
37364      );
37365      lazy$1(this, `groups`, getter);
37366    }
37367    supports(charCode) {
37368      if (charCode.charCodeAt) charCode = charCode.charCodeAt(0);
37369      if (55296 <= charCode && charCode <= 57343) return 0;
37370      if ((charCode & 65534) === 65534 || (charCode & 65535) === 65535)
37371        return 0;
37372      return this.groups.findIndex(
37373        (s) => s.startCharCode <= charCode && charCode <= s.endCharCode
37374      ) !== -1;
37375    }
37376    reverse(glyphID) {
37377      for (let group of this.groups) {
37378        let start = group.startGlyphID;
37379        if (start > glyphID) continue;
37380        if (start === glyphID) return group.startCharCode;
37381        let end = start + (group.endCharCode - group.startCharCode);
37382        if (end < glyphID) continue;
37383        const code = group.startCharCode + (glyphID - start);
37384        return { code, unicode: String.fromCodePoint(code) };
37385      }
37386      return {};
37387    }
37388    getSupportedCharCodes(preservePropNames = false) {
37389      if (preservePropNames) return this.groups;
37390      return this.groups.map((v2) => ({
37391        start: v2.startCharCode,
37392        end: v2.endCharCode
37393      }));
37394    }
37395  };
37396  var SequentialMapGroup = class {
37397    constructor(p22) {
37398      this.startCharCode = p22.uint32;
37399      this.endCharCode = p22.uint32;
37400      this.startGlyphID = p22.uint32;
37401    }
37402  };
37403  var Format13 = class extends Subtable {
37404    constructor(p22, platformID, encodingID) {
37405      super(p22, platformID, encodingID);
37406      this.format = 13;
37407      p22.uint16;
37408      this.length = p22.uint32;
37409      this.language = p22.uint32;
37410      this.numGroups = p22.uint32;
37411      const getter = [...new Array(this.numGroups)].map(
37412        (_) => new ConstantMapGroup(p22)
37413      );
37414      lazy$1(this, `groups`, getter);
37415    }
37416    supports(charCode) {
37417      if (charCode.charCodeAt) charCode = charCode.charCodeAt(0);
37418      return this.groups.findIndex(
37419        (s) => s.startCharCode <= charCode && charCode <= s.endCharCode
37420      ) !== -1;
37421    }
37422    reverse(glyphID) {
37423      console.warn(`reverse not implemented for cmap subtable format 13`);
37424      return {};
37425    }
37426    getSupportedCharCodes(preservePropNames = false) {
37427      if (preservePropNames) return this.groups;
37428      return this.groups.map((v2) => ({
37429        start: v2.startCharCode,
37430        end: v2.endCharCode
37431      }));
37432    }
37433  };
37434  var ConstantMapGroup = class {
37435    constructor(p22) {
37436      this.startCharCode = p22.uint32;
37437      this.endCharCode = p22.uint32;
37438      this.glyphID = p22.uint32;
37439    }
37440  };
37441  var Format14 = class extends Subtable {
37442    constructor(p22, platformID, encodingID) {
37443      super(p22, platformID, encodingID);
37444      this.subTableStart = p22.currentPosition;
37445      this.format = 14;
37446      this.length = p22.uint32;
37447      this.numVarSelectorRecords = p22.uint32;
37448      lazy$1(
37449        this,
37450        `varSelectors`,
37451        () => [...new Array(this.numVarSelectorRecords)].map(
37452          (_) => new VariationSelector(p22)
37453        )
37454      );
37455    }
37456    supports() {
37457      console.warn(`supports not implemented for cmap subtable format 14`);
37458      return 0;
37459    }
37460    getSupportedCharCodes() {
37461      console.warn(
37462        `getSupportedCharCodes not implemented for cmap subtable format 14`
37463      );
37464      return [];
37465    }
37466    reverse(glyphID) {
37467      console.warn(`reverse not implemented for cmap subtable format 14`);
37468      return {};
37469    }
37470    supportsVariation(variation) {
37471      let v2 = this.varSelector.find(
37472        (uvs) => uvs.varSelector === variation
37473      );
37474      return v2 ? v2 : false;
37475    }
37476    getSupportedVariations() {
37477      return this.varSelectors.map((v2) => v2.varSelector);
37478    }
37479  };
37480  var VariationSelector = class {
37481    constructor(p22) {
37482      this.varSelector = p22.uint24;
37483      this.defaultUVSOffset = p22.Offset32;
37484      this.nonDefaultUVSOffset = p22.Offset32;
37485    }
37486  };
37487  function createSubTable(parser, platformID, encodingID) {
37488    const format = parser.uint16;
37489    if (format === 0) return new Format0(parser, platformID, encodingID);
37490    if (format === 2) return new Format2(parser, platformID, encodingID);
37491    if (format === 4) return new Format4(parser, platformID, encodingID);
37492    if (format === 6) return new Format6(parser, platformID, encodingID);
37493    if (format === 8) return new Format8(parser, platformID, encodingID);
37494    if (format === 10) return new Format10(parser, platformID, encodingID);
37495    if (format === 12) return new Format12(parser, platformID, encodingID);
37496    if (format === 13) return new Format13(parser, platformID, encodingID);
37497    if (format === 14) return new Format14(parser, platformID, encodingID);
37498    return {};
37499  }
37500  var cmap = class extends SimpleTable {
37501    constructor(dict, dataview) {
37502      const { p: p22 } = super(dict, dataview);
37503      this.version = p22.uint16;
37504      this.numTables = p22.uint16;
37505      this.encodingRecords = [...new Array(this.numTables)].map(
37506        (_) => new EncodingRecord(p22, this.tableStart)
37507      );
37508    }
37509    getSubTable(tableID) {
37510      return this.encodingRecords[tableID].table;
37511    }
37512    getSupportedEncodings() {
37513      return this.encodingRecords.map((r2) => ({
37514        platformID: r2.platformID,
37515        encodingId: r2.encodingID
37516      }));
37517    }
37518    getSupportedCharCodes(platformID, encodingID) {
37519      const recordID = this.encodingRecords.findIndex(
37520        (r2) => r2.platformID === platformID && r2.encodingID === encodingID
37521      );
37522      if (recordID === -1) return false;
37523      const subtable = this.getSubTable(recordID);
37524      return subtable.getSupportedCharCodes();
37525    }
37526    reverse(glyphid) {
37527      for (let i = 0; i < this.numTables; i++) {
37528        let code = this.getSubTable(i).reverse(glyphid);
37529        if (code) return code;
37530      }
37531    }
37532    getGlyphId(char) {
37533      let last = 0;
37534      this.encodingRecords.some((_, tableID) => {
37535        let t = this.getSubTable(tableID);
37536        if (!t.getGlyphId) return false;
37537        last = t.getGlyphId(char);
37538        return last !== 0;
37539      });
37540      return last;
37541    }
37542    supports(char) {
37543      return this.encodingRecords.some((_, tableID) => {
37544        const t = this.getSubTable(tableID);
37545        return t.supports && t.supports(char) !== false;
37546      });
37547    }
37548    supportsVariation(variation) {
37549      return this.encodingRecords.some((_, tableID) => {
37550        const t = this.getSubTable(tableID);
37551        return t.supportsVariation && t.supportsVariation(variation) !== false;
37552      });
37553    }
37554  };
37555  var EncodingRecord = class {
37556    constructor(p22, tableStart) {
37557      const platformID = this.platformID = p22.uint16;
37558      const encodingID = this.encodingID = p22.uint16;
37559      const offset4 = this.offset = p22.Offset32;
37560      lazy$1(this, `table`, () => {
37561        p22.currentPosition = tableStart + offset4;
37562        return createSubTable(p22, platformID, encodingID);
37563      });
37564    }
37565  };
37566  var cmap$1 = Object.freeze({ __proto__: null, cmap });
37567  var head = class extends SimpleTable {
37568    constructor(dict, dataview) {
37569      const { p: p22 } = super(dict, dataview);
37570      this.load({
37571        majorVersion: p22.uint16,
37572        minorVersion: p22.uint16,
37573        fontRevision: p22.fixed,
37574        checkSumAdjustment: p22.uint32,
37575        magicNumber: p22.uint32,
37576        flags: p22.flags(16),
37577        unitsPerEm: p22.uint16,
37578        created: p22.longdatetime,
37579        modified: p22.longdatetime,
37580        xMin: p22.int16,
37581        yMin: p22.int16,
37582        xMax: p22.int16,
37583        yMax: p22.int16,
37584        macStyle: p22.flags(16),
37585        lowestRecPPEM: p22.uint16,
37586        fontDirectionHint: p22.uint16,
37587        indexToLocFormat: p22.uint16,
37588        glyphDataFormat: p22.uint16
37589      });
37590    }
37591  };
37592  var head$1 = Object.freeze({ __proto__: null, head });
37593  var hhea = class extends SimpleTable {
37594    constructor(dict, dataview) {
37595      const { p: p22 } = super(dict, dataview);
37596      this.majorVersion = p22.uint16;
37597      this.minorVersion = p22.uint16;
37598      this.ascender = p22.fword;
37599      this.descender = p22.fword;
37600      this.lineGap = p22.fword;
37601      this.advanceWidthMax = p22.ufword;
37602      this.minLeftSideBearing = p22.fword;
37603      this.minRightSideBearing = p22.fword;
37604      this.xMaxExtent = p22.fword;
37605      this.caretSlopeRise = p22.int16;
37606      this.caretSlopeRun = p22.int16;
37607      this.caretOffset = p22.int16;
37608      p22.int16;
37609      p22.int16;
37610      p22.int16;
37611      p22.int16;
37612      this.metricDataFormat = p22.int16;
37613      this.numberOfHMetrics = p22.uint16;
37614      p22.verifyLength();
37615    }
37616  };
37617  var hhea$1 = Object.freeze({ __proto__: null, hhea });
37618  var hmtx = class extends SimpleTable {
37619    constructor(dict, dataview, tables) {
37620      const { p: p22 } = super(dict, dataview);
37621      const numberOfHMetrics = tables.hhea.numberOfHMetrics;
37622      const numGlyphs = tables.maxp.numGlyphs;
37623      const metricsStart = p22.currentPosition;
37624      lazy$1(this, `hMetrics`, () => {
37625        p22.currentPosition = metricsStart;
37626        return [...new Array(numberOfHMetrics)].map(
37627          (_) => new LongHorMetric(p22.uint16, p22.int16)
37628        );
37629      });
37630      if (numberOfHMetrics < numGlyphs) {
37631        const lsbStart = metricsStart + numberOfHMetrics * 4;
37632        lazy$1(this, `leftSideBearings`, () => {
37633          p22.currentPosition = lsbStart;
37634          return [...new Array(numGlyphs - numberOfHMetrics)].map(
37635            (_) => p22.int16
37636          );
37637        });
37638      }
37639    }
37640  };
37641  var LongHorMetric = class {
37642    constructor(w2, b) {
37643      this.advanceWidth = w2;
37644      this.lsb = b;
37645    }
37646  };
37647  var hmtx$1 = Object.freeze({ __proto__: null, hmtx });
37648  var maxp = class extends SimpleTable {
37649    constructor(dict, dataview) {
37650      const { p: p22 } = super(dict, dataview);
37651      this.version = p22.legacyFixed;
37652      this.numGlyphs = p22.uint16;
37653      if (this.version === 1) {
37654        this.maxPoints = p22.uint16;
37655        this.maxContours = p22.uint16;
37656        this.maxCompositePoints = p22.uint16;
37657        this.maxCompositeContours = p22.uint16;
37658        this.maxZones = p22.uint16;
37659        this.maxTwilightPoints = p22.uint16;
37660        this.maxStorage = p22.uint16;
37661        this.maxFunctionDefs = p22.uint16;
37662        this.maxInstructionDefs = p22.uint16;
37663        this.maxStackElements = p22.uint16;
37664        this.maxSizeOfInstructions = p22.uint16;
37665        this.maxComponentElements = p22.uint16;
37666        this.maxComponentDepth = p22.uint16;
37667      }
37668      p22.verifyLength();
37669    }
37670  };
37671  var maxp$1 = Object.freeze({ __proto__: null, maxp });
37672  var name = class extends SimpleTable {
37673    constructor(dict, dataview) {
37674      const { p: p22 } = super(dict, dataview);
37675      this.format = p22.uint16;
37676      this.count = p22.uint16;
37677      this.stringOffset = p22.Offset16;
37678      this.nameRecords = [...new Array(this.count)].map(
37679        (_) => new NameRecord(p22, this)
37680      );
37681      if (this.format === 1) {
37682        this.langTagCount = p22.uint16;
37683        this.langTagRecords = [...new Array(this.langTagCount)].map(
37684          (_) => new LangTagRecord(p22.uint16, p22.Offset16)
37685        );
37686      }
37687      this.stringStart = this.tableStart + this.stringOffset;
37688    }
37689    get(nameID) {
37690      let record = this.nameRecords.find(
37691        (record2) => record2.nameID === nameID
37692      );
37693      if (record) return record.string;
37694    }
37695  };
37696  var LangTagRecord = class {
37697    constructor(length, offset4) {
37698      this.length = length;
37699      this.offset = offset4;
37700    }
37701  };
37702  var NameRecord = class {
37703    constructor(p22, nameTable) {
37704      this.platformID = p22.uint16;
37705      this.encodingID = p22.uint16;
37706      this.languageID = p22.uint16;
37707      this.nameID = p22.uint16;
37708      this.length = p22.uint16;
37709      this.offset = p22.Offset16;
37710      lazy$1(this, `string`, () => {
37711        p22.currentPosition = nameTable.stringStart + this.offset;
37712        return decodeString(p22, this);
37713      });
37714    }
37715  };
37716  function decodeString(p22, record) {
37717    const { platformID, length } = record;
37718    if (length === 0) return ``;
37719    if (platformID === 0 || platformID === 3) {
37720      const str2 = [];
37721      for (let i = 0, e = length / 2; i < e; i++)
37722        str2[i] = String.fromCharCode(p22.uint16);
37723      return str2.join(``);
37724    }
37725    const bytes = p22.readBytes(length);
37726    const str = [];
37727    bytes.forEach(function(b, i) {
37728      str[i] = String.fromCharCode(b);
37729    });
37730    return str.join(``);
37731  }
37732  var name$1 = Object.freeze({ __proto__: null, name });
37733  var OS2 = class extends SimpleTable {
37734    constructor(dict, dataview) {
37735      const { p: p22 } = super(dict, dataview);
37736      this.version = p22.uint16;
37737      this.xAvgCharWidth = p22.int16;
37738      this.usWeightClass = p22.uint16;
37739      this.usWidthClass = p22.uint16;
37740      this.fsType = p22.uint16;
37741      this.ySubscriptXSize = p22.int16;
37742      this.ySubscriptYSize = p22.int16;
37743      this.ySubscriptXOffset = p22.int16;
37744      this.ySubscriptYOffset = p22.int16;
37745      this.ySuperscriptXSize = p22.int16;
37746      this.ySuperscriptYSize = p22.int16;
37747      this.ySuperscriptXOffset = p22.int16;
37748      this.ySuperscriptYOffset = p22.int16;
37749      this.yStrikeoutSize = p22.int16;
37750      this.yStrikeoutPosition = p22.int16;
37751      this.sFamilyClass = p22.int16;
37752      this.panose = [...new Array(10)].map((_) => p22.uint8);
37753      this.ulUnicodeRange1 = p22.flags(32);
37754      this.ulUnicodeRange2 = p22.flags(32);
37755      this.ulUnicodeRange3 = p22.flags(32);
37756      this.ulUnicodeRange4 = p22.flags(32);
37757      this.achVendID = p22.tag;
37758      this.fsSelection = p22.uint16;
37759      this.usFirstCharIndex = p22.uint16;
37760      this.usLastCharIndex = p22.uint16;
37761      this.sTypoAscender = p22.int16;
37762      this.sTypoDescender = p22.int16;
37763      this.sTypoLineGap = p22.int16;
37764      this.usWinAscent = p22.uint16;
37765      this.usWinDescent = p22.uint16;
37766      if (this.version === 0) return p22.verifyLength();
37767      this.ulCodePageRange1 = p22.flags(32);
37768      this.ulCodePageRange2 = p22.flags(32);
37769      if (this.version === 1) return p22.verifyLength();
37770      this.sxHeight = p22.int16;
37771      this.sCapHeight = p22.int16;
37772      this.usDefaultChar = p22.uint16;
37773      this.usBreakChar = p22.uint16;
37774      this.usMaxContext = p22.uint16;
37775      if (this.version <= 4) return p22.verifyLength();
37776      this.usLowerOpticalPointSize = p22.uint16;
37777      this.usUpperOpticalPointSize = p22.uint16;
37778      if (this.version === 5) return p22.verifyLength();
37779    }
37780  };
37781  var OS2$1 = Object.freeze({ __proto__: null, OS2 });
37782  var post = class extends SimpleTable {
37783    constructor(dict, dataview) {
37784      const { p: p22 } = super(dict, dataview);
37785      this.version = p22.legacyFixed;
37786      this.italicAngle = p22.fixed;
37787      this.underlinePosition = p22.fword;
37788      this.underlineThickness = p22.fword;
37789      this.isFixedPitch = p22.uint32;
37790      this.minMemType42 = p22.uint32;
37791      this.maxMemType42 = p22.uint32;
37792      this.minMemType1 = p22.uint32;
37793      this.maxMemType1 = p22.uint32;
37794      if (this.version === 1 || this.version === 3) return p22.verifyLength();
37795      this.numGlyphs = p22.uint16;
37796      if (this.version === 2) {
37797        this.glyphNameIndex = [...new Array(this.numGlyphs)].map(
37798          (_) => p22.uint16
37799        );
37800        this.namesOffset = p22.currentPosition;
37801        this.glyphNameOffsets = [1];
37802        for (let i = 0; i < this.numGlyphs; i++) {
37803          let index2 = this.glyphNameIndex[i];
37804          if (index2 < macStrings.length) {
37805            this.glyphNameOffsets.push(this.glyphNameOffsets[i]);
37806            continue;
37807          }
37808          let bytelength = p22.int8;
37809          p22.skip(bytelength);
37810          this.glyphNameOffsets.push(
37811            this.glyphNameOffsets[i] + bytelength + 1
37812          );
37813        }
37814      }
37815      if (this.version === 2.5) {
37816        this.offset = [...new Array(this.numGlyphs)].map(
37817          (_) => p22.int8
37818        );
37819      }
37820    }
37821    getGlyphName(glyphid) {
37822      if (this.version !== 2) {
37823        console.warn(
37824          `post table version $this.version} does not support glyph name lookups`
37825        );
37826        return ``;
37827      }
37828      let index2 = this.glyphNameIndex[glyphid];
37829      if (index2 < 258) return macStrings[index2];
37830      let offset4 = this.glyphNameOffsets[glyphid];
37831      let next = this.glyphNameOffsets[glyphid + 1];
37832      let len = next - offset4 - 1;
37833      if (len === 0) return `.notdef.`;
37834      this.parser.currentPosition = this.namesOffset + offset4;
37835      const data = this.parser.readBytes(
37836        len,
37837        this.namesOffset + offset4,
37838        8,
37839        true
37840      );
37841      return data.map((b) => String.fromCharCode(b)).join(``);
37842    }
37843  };
37844  var macStrings = [
37845    `.notdef`,
37846    `.null`,
37847    `nonmarkingreturn`,
37848    `space`,
37849    `exclam`,
37850    `quotedbl`,
37851    `numbersign`,
37852    `dollar`,
37853    `percent`,
37854    `ampersand`,
37855    `quotesingle`,
37856    `parenleft`,
37857    `parenright`,
37858    `asterisk`,
37859    `plus`,
37860    `comma`,
37861    `hyphen`,
37862    `period`,
37863    `slash`,
37864    `zero`,
37865    `one`,
37866    `two`,
37867    `three`,
37868    `four`,
37869    `five`,
37870    `six`,
37871    `seven`,
37872    `eight`,
37873    `nine`,
37874    `colon`,
37875    `semicolon`,
37876    `less`,
37877    `equal`,
37878    `greater`,
37879    `question`,
37880    `at`,
37881    `A`,
37882    `B`,
37883    `C`,
37884    `D`,
37885    `E`,
37886    `F`,
37887    `G`,
37888    `H`,
37889    `I`,
37890    `J`,
37891    `K`,
37892    `L`,
37893    `M`,
37894    `N`,
37895    `O`,
37896    `P`,
37897    `Q`,
37898    `R`,
37899    `S`,
37900    `T`,
37901    `U`,
37902    `V`,
37903    `W`,
37904    `X`,
37905    `Y`,
37906    `Z`,
37907    `bracketleft`,
37908    `backslash`,
37909    `bracketright`,
37910    `asciicircum`,
37911    `underscore`,
37912    `grave`,
37913    `a`,
37914    `b`,
37915    `c`,
37916    `d`,
37917    `e`,
37918    `f`,
37919    `g`,
37920    `h`,
37921    `i`,
37922    `j`,
37923    `k`,
37924    `l`,
37925    `m`,
37926    `n`,
37927    `o`,
37928    `p`,
37929    `q`,
37930    `r`,
37931    `s`,
37932    `t`,
37933    `u`,
37934    `v`,
37935    `w`,
37936    `x`,
37937    `y`,
37938    `z`,
37939    `braceleft`,
37940    `bar`,
37941    `braceright`,
37942    `asciitilde`,
37943    `Adieresis`,
37944    `Aring`,
37945    `Ccedilla`,
37946    `Eacute`,
37947    `Ntilde`,
37948    `Odieresis`,
37949    `Udieresis`,
37950    `aacute`,
37951    `agrave`,
37952    `acircumflex`,
37953    `adieresis`,
37954    `atilde`,
37955    `aring`,
37956    `ccedilla`,
37957    `eacute`,
37958    `egrave`,
37959    `ecircumflex`,
37960    `edieresis`,
37961    `iacute`,
37962    `igrave`,
37963    `icircumflex`,
37964    `idieresis`,
37965    `ntilde`,
37966    `oacute`,
37967    `ograve`,
37968    `ocircumflex`,
37969    `odieresis`,
37970    `otilde`,
37971    `uacute`,
37972    `ugrave`,
37973    `ucircumflex`,
37974    `udieresis`,
37975    `dagger`,
37976    `degree`,
37977    `cent`,
37978    `sterling`,
37979    `section`,
37980    `bullet`,
37981    `paragraph`,
37982    `germandbls`,
37983    `registered`,
37984    `copyright`,
37985    `trademark`,
37986    `acute`,
37987    `dieresis`,
37988    `notequal`,
37989    `AE`,
37990    `Oslash`,
37991    `infinity`,
37992    `plusminus`,
37993    `lessequal`,
37994    `greaterequal`,
37995    `yen`,
37996    `mu`,
37997    `partialdiff`,
37998    `summation`,
37999    `product`,
38000    `pi`,
38001    `integral`,
38002    `ordfeminine`,
38003    `ordmasculine`,
38004    `Omega`,
38005    `ae`,
38006    `oslash`,
38007    `questiondown`,
38008    `exclamdown`,
38009    `logicalnot`,
38010    `radical`,
38011    `florin`,
38012    `approxequal`,
38013    `Delta`,
38014    `guillemotleft`,
38015    `guillemotright`,
38016    `ellipsis`,
38017    `nonbreakingspace`,
38018    `Agrave`,
38019    `Atilde`,
38020    `Otilde`,
38021    `OE`,
38022    `oe`,
38023    `endash`,
38024    `emdash`,
38025    `quotedblleft`,
38026    `quotedblright`,
38027    `quoteleft`,
38028    `quoteright`,
38029    `divide`,
38030    `lozenge`,
38031    `ydieresis`,
38032    `Ydieresis`,
38033    `fraction`,
38034    `currency`,
38035    `guilsinglleft`,
38036    `guilsinglright`,
38037    `fi`,
38038    `fl`,
38039    `daggerdbl`,
38040    `periodcentered`,
38041    `quotesinglbase`,
38042    `quotedblbase`,
38043    `perthousand`,
38044    `Acircumflex`,
38045    `Ecircumflex`,
38046    `Aacute`,
38047    `Edieresis`,
38048    `Egrave`,
38049    `Iacute`,
38050    `Icircumflex`,
38051    `Idieresis`,
38052    `Igrave`,
38053    `Oacute`,
38054    `Ocircumflex`,
38055    `apple`,
38056    `Ograve`,
38057    `Uacute`,
38058    `Ucircumflex`,
38059    `Ugrave`,
38060    `dotlessi`,
38061    `circumflex`,
38062    `tilde`,
38063    `macron`,
38064    `breve`,
38065    `dotaccent`,
38066    `ring`,
38067    `cedilla`,
38068    `hungarumlaut`,
38069    `ogonek`,
38070    `caron`,
38071    `Lslash`,
38072    `lslash`,
38073    `Scaron`,
38074    `scaron`,
38075    `Zcaron`,
38076    `zcaron`,
38077    `brokenbar`,
38078    `Eth`,
38079    `eth`,
38080    `Yacute`,
38081    `yacute`,
38082    `Thorn`,
38083    `thorn`,
38084    `minus`,
38085    `multiply`,
38086    `onesuperior`,
38087    `twosuperior`,
38088    `threesuperior`,
38089    `onehalf`,
38090    `onequarter`,
38091    `threequarters`,
38092    `franc`,
38093    `Gbreve`,
38094    `gbreve`,
38095    `Idotaccent`,
38096    `Scedilla`,
38097    `scedilla`,
38098    `Cacute`,
38099    `cacute`,
38100    `Ccaron`,
38101    `ccaron`,
38102    `dcroat`
38103  ];
38104  var post$1 = Object.freeze({ __proto__: null, post });
38105  var BASE = class extends SimpleTable {
38106    constructor(dict, dataview) {
38107      const { p: p22 } = super(dict, dataview);
38108      this.majorVersion = p22.uint16;
38109      this.minorVersion = p22.uint16;
38110      this.horizAxisOffset = p22.Offset16;
38111      this.vertAxisOffset = p22.Offset16;
38112      lazy$1(
38113        this,
38114        `horizAxis`,
38115        () => new AxisTable(
38116          { offset: dict.offset + this.horizAxisOffset },
38117          dataview
38118        )
38119      );
38120      lazy$1(
38121        this,
38122        `vertAxis`,
38123        () => new AxisTable(
38124          { offset: dict.offset + this.vertAxisOffset },
38125          dataview
38126        )
38127      );
38128      if (this.majorVersion === 1 && this.minorVersion === 1) {
38129        this.itemVarStoreOffset = p22.Offset32;
38130        lazy$1(
38131          this,
38132          `itemVarStore`,
38133          () => new AxisTable(
38134            { offset: dict.offset + this.itemVarStoreOffset },
38135            dataview
38136          )
38137        );
38138      }
38139    }
38140  };
38141  var AxisTable = class extends SimpleTable {
38142    constructor(dict, dataview) {
38143      const { p: p22 } = super(dict, dataview, `AxisTable`);
38144      this.baseTagListOffset = p22.Offset16;
38145      this.baseScriptListOffset = p22.Offset16;
38146      lazy$1(
38147        this,
38148        `baseTagList`,
38149        () => new BaseTagListTable(
38150          { offset: dict.offset + this.baseTagListOffset },
38151          dataview
38152        )
38153      );
38154      lazy$1(
38155        this,
38156        `baseScriptList`,
38157        () => new BaseScriptListTable(
38158          { offset: dict.offset + this.baseScriptListOffset },
38159          dataview
38160        )
38161      );
38162    }
38163  };
38164  var BaseTagListTable = class extends SimpleTable {
38165    constructor(dict, dataview) {
38166      const { p: p22 } = super(dict, dataview, `BaseTagListTable`);
38167      this.baseTagCount = p22.uint16;
38168      this.baselineTags = [...new Array(this.baseTagCount)].map(
38169        (_) => p22.tag
38170      );
38171    }
38172  };
38173  var BaseScriptListTable = class extends SimpleTable {
38174    constructor(dict, dataview) {
38175      const { p: p22 } = super(dict, dataview, `BaseScriptListTable`);
38176      this.baseScriptCount = p22.uint16;
38177      const recordStart = p22.currentPosition;
38178      lazy$1(this, `baseScriptRecords`, () => {
38179        p22.currentPosition = recordStart;
38180        return [...new Array(this.baseScriptCount)].map(
38181          (_) => new BaseScriptRecord(this.start, p22)
38182        );
38183      });
38184    }
38185  };
38186  var BaseScriptRecord = class {
38187    constructor(baseScriptListTableStart, p22) {
38188      this.baseScriptTag = p22.tag;
38189      this.baseScriptOffset = p22.Offset16;
38190      lazy$1(this, `baseScriptTable`, () => {
38191        p22.currentPosition = baseScriptListTableStart + this.baseScriptOffset;
38192        return new BaseScriptTable(p22);
38193      });
38194    }
38195  };
38196  var BaseScriptTable = class {
38197    constructor(p22) {
38198      this.start = p22.currentPosition;
38199      this.baseValuesOffset = p22.Offset16;
38200      this.defaultMinMaxOffset = p22.Offset16;
38201      this.baseLangSysCount = p22.uint16;
38202      this.baseLangSysRecords = [...new Array(this.baseLangSysCount)].map(
38203        (_) => new BaseLangSysRecord(this.start, p22)
38204      );
38205      lazy$1(this, `baseValues`, () => {
38206        p22.currentPosition = this.start + this.baseValuesOffset;
38207        return new BaseValuesTable(p22);
38208      });
38209      lazy$1(this, `defaultMinMax`, () => {
38210        p22.currentPosition = this.start + this.defaultMinMaxOffset;
38211        return new MinMaxTable(p22);
38212      });
38213    }
38214  };
38215  var BaseLangSysRecord = class {
38216    constructor(baseScriptTableStart, p22) {
38217      this.baseLangSysTag = p22.tag;
38218      this.minMaxOffset = p22.Offset16;
38219      lazy$1(this, `minMax`, () => {
38220        p22.currentPosition = baseScriptTableStart + this.minMaxOffset;
38221        return new MinMaxTable(p22);
38222      });
38223    }
38224  };
38225  var BaseValuesTable = class {
38226    constructor(p22) {
38227      this.parser = p22;
38228      this.start = p22.currentPosition;
38229      this.defaultBaselineIndex = p22.uint16;
38230      this.baseCoordCount = p22.uint16;
38231      this.baseCoords = [...new Array(this.baseCoordCount)].map(
38232        (_) => p22.Offset16
38233      );
38234    }
38235    getTable(id) {
38236      this.parser.currentPosition = this.start + this.baseCoords[id];
38237      return new BaseCoordTable(this.parser);
38238    }
38239  };
38240  var MinMaxTable = class {
38241    constructor(p22) {
38242      this.minCoord = p22.Offset16;
38243      this.maxCoord = p22.Offset16;
38244      this.featMinMaxCount = p22.uint16;
38245      const recordStart = p22.currentPosition;
38246      lazy$1(this, `featMinMaxRecords`, () => {
38247        p22.currentPosition = recordStart;
38248        return [...new Array(this.featMinMaxCount)].map(
38249          (_) => new FeatMinMaxRecord(p22)
38250        );
38251      });
38252    }
38253  };
38254  var FeatMinMaxRecord = class {
38255    constructor(p22) {
38256      this.featureTableTag = p22.tag;
38257      this.minCoord = p22.Offset16;
38258      this.maxCoord = p22.Offset16;
38259    }
38260  };
38261  var BaseCoordTable = class {
38262    constructor(p22) {
38263      this.baseCoordFormat = p22.uint16;
38264      this.coordinate = p22.int16;
38265      if (this.baseCoordFormat === 2) {
38266        this.referenceGlyph = p22.uint16;
38267        this.baseCoordPoint = p22.uint16;
38268      }
38269      if (this.baseCoordFormat === 3) {
38270        this.deviceTable = p22.Offset16;
38271      }
38272    }
38273  };
38274  var BASE$1 = Object.freeze({ __proto__: null, BASE });
38275  var ClassDefinition = class {
38276    constructor(p22) {
38277      this.classFormat = p22.uint16;
38278      if (this.classFormat === 1) {
38279        this.startGlyphID = p22.uint16;
38280        this.glyphCount = p22.uint16;
38281        this.classValueArray = [...new Array(this.glyphCount)].map(
38282          (_) => p22.uint16
38283        );
38284      }
38285      if (this.classFormat === 2) {
38286        this.classRangeCount = p22.uint16;
38287        this.classRangeRecords = [
38288          ...new Array(this.classRangeCount)
38289        ].map((_) => new ClassRangeRecord(p22));
38290      }
38291    }
38292  };
38293  var ClassRangeRecord = class {
38294    constructor(p22) {
38295      this.startGlyphID = p22.uint16;
38296      this.endGlyphID = p22.uint16;
38297      this.class = p22.uint16;
38298    }
38299  };
38300  var CoverageTable = class extends ParsedData {
38301    constructor(p22) {
38302      super(p22);
38303      this.coverageFormat = p22.uint16;
38304      if (this.coverageFormat === 1) {
38305        this.glyphCount = p22.uint16;
38306        this.glyphArray = [...new Array(this.glyphCount)].map(
38307          (_) => p22.uint16
38308        );
38309      }
38310      if (this.coverageFormat === 2) {
38311        this.rangeCount = p22.uint16;
38312        this.rangeRecords = [...new Array(this.rangeCount)].map(
38313          (_) => new CoverageRangeRecord(p22)
38314        );
38315      }
38316    }
38317  };
38318  var CoverageRangeRecord = class {
38319    constructor(p22) {
38320      this.startGlyphID = p22.uint16;
38321      this.endGlyphID = p22.uint16;
38322      this.startCoverageIndex = p22.uint16;
38323    }
38324  };
38325  var ItemVariationStoreTable = class {
38326    constructor(table, p22) {
38327      this.table = table;
38328      this.parser = p22;
38329      this.start = p22.currentPosition;
38330      this.format = p22.uint16;
38331      this.variationRegionListOffset = p22.Offset32;
38332      this.itemVariationDataCount = p22.uint16;
38333      this.itemVariationDataOffsets = [
38334        ...new Array(this.itemVariationDataCount)
38335      ].map((_) => p22.Offset32);
38336    }
38337  };
38338  var GDEF = class extends SimpleTable {
38339    constructor(dict, dataview) {
38340      const { p: p22 } = super(dict, dataview);
38341      this.majorVersion = p22.uint16;
38342      this.minorVersion = p22.uint16;
38343      this.glyphClassDefOffset = p22.Offset16;
38344      lazy$1(this, `glyphClassDefs`, () => {
38345        if (this.glyphClassDefOffset === 0) return void 0;
38346        p22.currentPosition = this.tableStart + this.glyphClassDefOffset;
38347        return new ClassDefinition(p22);
38348      });
38349      this.attachListOffset = p22.Offset16;
38350      lazy$1(this, `attachList`, () => {
38351        if (this.attachListOffset === 0) return void 0;
38352        p22.currentPosition = this.tableStart + this.attachListOffset;
38353        return new AttachList(p22);
38354      });
38355      this.ligCaretListOffset = p22.Offset16;
38356      lazy$1(this, `ligCaretList`, () => {
38357        if (this.ligCaretListOffset === 0) return void 0;
38358        p22.currentPosition = this.tableStart + this.ligCaretListOffset;
38359        return new LigCaretList(p22);
38360      });
38361      this.markAttachClassDefOffset = p22.Offset16;
38362      lazy$1(this, `markAttachClassDef`, () => {
38363        if (this.markAttachClassDefOffset === 0) return void 0;
38364        p22.currentPosition = this.tableStart + this.markAttachClassDefOffset;
38365        return new ClassDefinition(p22);
38366      });
38367      if (this.minorVersion >= 2) {
38368        this.markGlyphSetsDefOffset = p22.Offset16;
38369        lazy$1(this, `markGlyphSetsDef`, () => {
38370          if (this.markGlyphSetsDefOffset === 0) return void 0;
38371          p22.currentPosition = this.tableStart + this.markGlyphSetsDefOffset;
38372          return new MarkGlyphSetsTable(p22);
38373        });
38374      }
38375      if (this.minorVersion === 3) {
38376        this.itemVarStoreOffset = p22.Offset32;
38377        lazy$1(this, `itemVarStore`, () => {
38378          if (this.itemVarStoreOffset === 0) return void 0;
38379          p22.currentPosition = this.tableStart + this.itemVarStoreOffset;
38380          return new ItemVariationStoreTable(p22);
38381        });
38382      }
38383    }
38384  };
38385  var AttachList = class extends ParsedData {
38386    constructor(p22) {
38387      super(p22);
38388      this.coverageOffset = p22.Offset16;
38389      this.glyphCount = p22.uint16;
38390      this.attachPointOffsets = [...new Array(this.glyphCount)].map(
38391        (_) => p22.Offset16
38392      );
38393    }
38394    getPoint(pointID) {
38395      this.parser.currentPosition = this.start + this.attachPointOffsets[pointID];
38396      return new AttachPoint(this.parser);
38397    }
38398  };
38399  var AttachPoint = class {
38400    constructor(p22) {
38401      this.pointCount = p22.uint16;
38402      this.pointIndices = [...new Array(this.pointCount)].map(
38403        (_) => p22.uint16
38404      );
38405    }
38406  };
38407  var LigCaretList = class extends ParsedData {
38408    constructor(p22) {
38409      super(p22);
38410      this.coverageOffset = p22.Offset16;
38411      lazy$1(this, `coverage`, () => {
38412        p22.currentPosition = this.start + this.coverageOffset;
38413        return new CoverageTable(p22);
38414      });
38415      this.ligGlyphCount = p22.uint16;
38416      this.ligGlyphOffsets = [...new Array(this.ligGlyphCount)].map(
38417        (_) => p22.Offset16
38418      );
38419    }
38420    getLigGlyph(ligGlyphID) {
38421      this.parser.currentPosition = this.start + this.ligGlyphOffsets[ligGlyphID];
38422      return new LigGlyph(this.parser);
38423    }
38424  };
38425  var LigGlyph = class extends ParsedData {
38426    constructor(p22) {
38427      super(p22);
38428      this.caretCount = p22.uint16;
38429      this.caretValueOffsets = [...new Array(this.caretCount)].map(
38430        (_) => p22.Offset16
38431      );
38432    }
38433    getCaretValue(caretID) {
38434      this.parser.currentPosition = this.start + this.caretValueOffsets[caretID];
38435      return new CaretValue(this.parser);
38436    }
38437  };
38438  var CaretValue = class {
38439    constructor(p22) {
38440      this.caretValueFormat = p22.uint16;
38441      if (this.caretValueFormat === 1) {
38442        this.coordinate = p22.int16;
38443      }
38444      if (this.caretValueFormat === 2) {
38445        this.caretValuePointIndex = p22.uint16;
38446      }
38447      if (this.caretValueFormat === 3) {
38448        this.coordinate = p22.int16;
38449        this.deviceOffset = p22.Offset16;
38450      }
38451    }
38452  };
38453  var MarkGlyphSetsTable = class extends ParsedData {
38454    constructor(p22) {
38455      super(p22);
38456      this.markGlyphSetTableFormat = p22.uint16;
38457      this.markGlyphSetCount = p22.uint16;
38458      this.coverageOffsets = [...new Array(this.markGlyphSetCount)].map(
38459        (_) => p22.Offset32
38460      );
38461    }
38462    getMarkGlyphSet(markGlyphSetID) {
38463      this.parser.currentPosition = this.start + this.coverageOffsets[markGlyphSetID];
38464      return new CoverageTable(this.parser);
38465    }
38466  };
38467  var GDEF$1 = Object.freeze({ __proto__: null, GDEF });
38468  var ScriptList = class extends ParsedData {
38469    static EMPTY = { scriptCount: 0, scriptRecords: [] };
38470    constructor(p22) {
38471      super(p22);
38472      this.scriptCount = p22.uint16;
38473      this.scriptRecords = [...new Array(this.scriptCount)].map(
38474        (_) => new ScriptRecord(p22)
38475      );
38476    }
38477  };
38478  var ScriptRecord = class {
38479    constructor(p22) {
38480      this.scriptTag = p22.tag;
38481      this.scriptOffset = p22.Offset16;
38482    }
38483  };
38484  var ScriptTable = class extends ParsedData {
38485    constructor(p22) {
38486      super(p22);
38487      this.defaultLangSys = p22.Offset16;
38488      this.langSysCount = p22.uint16;
38489      this.langSysRecords = [...new Array(this.langSysCount)].map(
38490        (_) => new LangSysRecord(p22)
38491      );
38492    }
38493  };
38494  var LangSysRecord = class {
38495    constructor(p22) {
38496      this.langSysTag = p22.tag;
38497      this.langSysOffset = p22.Offset16;
38498    }
38499  };
38500  var LangSysTable = class {
38501    constructor(p22) {
38502      this.lookupOrder = p22.Offset16;
38503      this.requiredFeatureIndex = p22.uint16;
38504      this.featureIndexCount = p22.uint16;
38505      this.featureIndices = [...new Array(this.featureIndexCount)].map(
38506        (_) => p22.uint16
38507      );
38508    }
38509  };
38510  var FeatureList = class extends ParsedData {
38511    static EMPTY = { featureCount: 0, featureRecords: [] };
38512    constructor(p22) {
38513      super(p22);
38514      this.featureCount = p22.uint16;
38515      this.featureRecords = [...new Array(this.featureCount)].map(
38516        (_) => new FeatureRecord(p22)
38517      );
38518    }
38519  };
38520  var FeatureRecord = class {
38521    constructor(p22) {
38522      this.featureTag = p22.tag;
38523      this.featureOffset = p22.Offset16;
38524    }
38525  };
38526  var FeatureTable = class extends ParsedData {
38527    constructor(p22) {
38528      super(p22);
38529      this.featureParams = p22.Offset16;
38530      this.lookupIndexCount = p22.uint16;
38531      this.lookupListIndices = [...new Array(this.lookupIndexCount)].map(
38532        (_) => p22.uint16
38533      );
38534    }
38535    getFeatureParams() {
38536      if (this.featureParams > 0) {
38537        const p22 = this.parser;
38538        p22.currentPosition = this.start + this.featureParams;
38539        const tag = this.featureTag;
38540        if (tag === `size`) return new Size(p22);
38541        if (tag.startsWith(`cc`)) return new CharacterVariant(p22);
38542        if (tag.startsWith(`ss`)) return new StylisticSet(p22);
38543      }
38544    }
38545  };
38546  var CharacterVariant = class {
38547    constructor(p22) {
38548      this.format = p22.uint16;
38549      this.featUiLabelNameId = p22.uint16;
38550      this.featUiTooltipTextNameId = p22.uint16;
38551      this.sampleTextNameId = p22.uint16;
38552      this.numNamedParameters = p22.uint16;
38553      this.firstParamUiLabelNameId = p22.uint16;
38554      this.charCount = p22.uint16;
38555      this.character = [...new Array(this.charCount)].map(
38556        (_) => p22.uint24
38557      );
38558    }
38559  };
38560  var Size = class {
38561    constructor(p22) {
38562      this.designSize = p22.uint16;
38563      this.subfamilyIdentifier = p22.uint16;
38564      this.subfamilyNameID = p22.uint16;
38565      this.smallEnd = p22.uint16;
38566      this.largeEnd = p22.uint16;
38567    }
38568  };
38569  var StylisticSet = class {
38570    constructor(p22) {
38571      this.version = p22.uint16;
38572      this.UINameID = p22.uint16;
38573    }
38574  };
38575  function undoCoverageOffsetParsing(instance) {
38576    instance.parser.currentPosition -= 2;
38577    delete instance.coverageOffset;
38578    delete instance.getCoverageTable;
38579  }
38580  var LookupType$1 = class extends ParsedData {
38581    constructor(p22) {
38582      super(p22);
38583      this.substFormat = p22.uint16;
38584      this.coverageOffset = p22.Offset16;
38585    }
38586    getCoverageTable() {
38587      let p22 = this.parser;
38588      p22.currentPosition = this.start + this.coverageOffset;
38589      return new CoverageTable(p22);
38590    }
38591  };
38592  var SubstLookupRecord = class {
38593    constructor(p22) {
38594      this.glyphSequenceIndex = p22.uint16;
38595      this.lookupListIndex = p22.uint16;
38596    }
38597  };
38598  var LookupType1$1 = class extends LookupType$1 {
38599    constructor(p22) {
38600      super(p22);
38601      this.deltaGlyphID = p22.int16;
38602    }
38603  };
38604  var LookupType2$1 = class extends LookupType$1 {
38605    constructor(p22) {
38606      super(p22);
38607      this.sequenceCount = p22.uint16;
38608      this.sequenceOffsets = [...new Array(this.sequenceCount)].map(
38609        (_) => p22.Offset16
38610      );
38611    }
38612    getSequence(index2) {
38613      let p22 = this.parser;
38614      p22.currentPosition = this.start + this.sequenceOffsets[index2];
38615      return new SequenceTable(p22);
38616    }
38617  };
38618  var SequenceTable = class {
38619    constructor(p22) {
38620      this.glyphCount = p22.uint16;
38621      this.substituteGlyphIDs = [...new Array(this.glyphCount)].map(
38622        (_) => p22.uint16
38623      );
38624    }
38625  };
38626  var LookupType3$1 = class extends LookupType$1 {
38627    constructor(p22) {
38628      super(p22);
38629      this.alternateSetCount = p22.uint16;
38630      this.alternateSetOffsets = [
38631        ...new Array(this.alternateSetCount)
38632      ].map((_) => p22.Offset16);
38633    }
38634    getAlternateSet(index2) {
38635      let p22 = this.parser;
38636      p22.currentPosition = this.start + this.alternateSetOffsets[index2];
38637      return new AlternateSetTable(p22);
38638    }
38639  };
38640  var AlternateSetTable = class {
38641    constructor(p22) {
38642      this.glyphCount = p22.uint16;
38643      this.alternateGlyphIDs = [...new Array(this.glyphCount)].map(
38644        (_) => p22.uint16
38645      );
38646    }
38647  };
38648  var LookupType4$1 = class extends LookupType$1 {
38649    constructor(p22) {
38650      super(p22);
38651      this.ligatureSetCount = p22.uint16;
38652      this.ligatureSetOffsets = [...new Array(this.ligatureSetCount)].map(
38653        (_) => p22.Offset16
38654      );
38655    }
38656    getLigatureSet(index2) {
38657      let p22 = this.parser;
38658      p22.currentPosition = this.start + this.ligatureSetOffsets[index2];
38659      return new LigatureSetTable(p22);
38660    }
38661  };
38662  var LigatureSetTable = class extends ParsedData {
38663    constructor(p22) {
38664      super(p22);
38665      this.ligatureCount = p22.uint16;
38666      this.ligatureOffsets = [...new Array(this.ligatureCount)].map(
38667        (_) => p22.Offset16
38668      );
38669    }
38670    getLigature(index2) {
38671      let p22 = this.parser;
38672      p22.currentPosition = this.start + this.ligatureOffsets[index2];
38673      return new LigatureTable(p22);
38674    }
38675  };
38676  var LigatureTable = class {
38677    constructor(p22) {
38678      this.ligatureGlyph = p22.uint16;
38679      this.componentCount = p22.uint16;
38680      this.componentGlyphIDs = [
38681        ...new Array(this.componentCount - 1)
38682      ].map((_) => p22.uint16);
38683    }
38684  };
38685  var LookupType5$1 = class extends LookupType$1 {
38686    constructor(p22) {
38687      super(p22);
38688      if (this.substFormat === 1) {
38689        this.subRuleSetCount = p22.uint16;
38690        this.subRuleSetOffsets = [
38691          ...new Array(this.subRuleSetCount)
38692        ].map((_) => p22.Offset16);
38693      }
38694      if (this.substFormat === 2) {
38695        this.classDefOffset = p22.Offset16;
38696        this.subClassSetCount = p22.uint16;
38697        this.subClassSetOffsets = [
38698          ...new Array(this.subClassSetCount)
38699        ].map((_) => p22.Offset16);
38700      }
38701      if (this.substFormat === 3) {
38702        undoCoverageOffsetParsing(this);
38703        this.glyphCount = p22.uint16;
38704        this.substitutionCount = p22.uint16;
38705        this.coverageOffsets = [...new Array(this.glyphCount)].map(
38706          (_) => p22.Offset16
38707        );
38708        this.substLookupRecords = [
38709          ...new Array(this.substitutionCount)
38710        ].map((_) => new SubstLookupRecord(p22));
38711      }
38712    }
38713    getSubRuleSet(index2) {
38714      if (this.substFormat !== 1)
38715        throw new Error(
38716          `lookup type 5.$this.substFormat} has no subrule sets.`
38717        );
38718      let p22 = this.parser;
38719      p22.currentPosition = this.start + this.subRuleSetOffsets[index2];
38720      return new SubRuleSetTable(p22);
38721    }
38722    getSubClassSet(index2) {
38723      if (this.substFormat !== 2)
38724        throw new Error(
38725          `lookup type 5.$this.substFormat} has no subclass sets.`
38726        );
38727      let p22 = this.parser;
38728      p22.currentPosition = this.start + this.subClassSetOffsets[index2];
38729      return new SubClassSetTable(p22);
38730    }
38731    getCoverageTable(index2) {
38732      if (this.substFormat !== 3 && !index2)
38733        return super.getCoverageTable();
38734      if (!index2)
38735        throw new Error(
38736          `lookup type 5.$this.substFormat} requires an coverage table index.`
38737        );
38738      let p22 = this.parser;
38739      p22.currentPosition = this.start + this.coverageOffsets[index2];
38740      return new CoverageTable(p22);
38741    }
38742  };
38743  var SubRuleSetTable = class extends ParsedData {
38744    constructor(p22) {
38745      super(p22);
38746      this.subRuleCount = p22.uint16;
38747      this.subRuleOffsets = [...new Array(this.subRuleCount)].map(
38748        (_) => p22.Offset16
38749      );
38750    }
38751    getSubRule(index2) {
38752      let p22 = this.parser;
38753      p22.currentPosition = this.start + this.subRuleOffsets[index2];
38754      return new SubRuleTable(p22);
38755    }
38756  };
38757  var SubRuleTable = class {
38758    constructor(p22) {
38759      this.glyphCount = p22.uint16;
38760      this.substitutionCount = p22.uint16;
38761      this.inputSequence = [...new Array(this.glyphCount - 1)].map(
38762        (_) => p22.uint16
38763      );
38764      this.substLookupRecords = [
38765        ...new Array(this.substitutionCount)
38766      ].map((_) => new SubstLookupRecord(p22));
38767    }
38768  };
38769  var SubClassSetTable = class extends ParsedData {
38770    constructor(p22) {
38771      super(p22);
38772      this.subClassRuleCount = p22.uint16;
38773      this.subClassRuleOffsets = [
38774        ...new Array(this.subClassRuleCount)
38775      ].map((_) => p22.Offset16);
38776    }
38777    getSubClass(index2) {
38778      let p22 = this.parser;
38779      p22.currentPosition = this.start + this.subClassRuleOffsets[index2];
38780      return new SubClassRuleTable(p22);
38781    }
38782  };
38783  var SubClassRuleTable = class extends SubRuleTable {
38784    constructor(p22) {
38785      super(p22);
38786    }
38787  };
38788  var LookupType6$1 = class extends LookupType$1 {
38789    constructor(p22) {
38790      super(p22);
38791      if (this.substFormat === 1) {
38792        this.chainSubRuleSetCount = p22.uint16;
38793        this.chainSubRuleSetOffsets = [
38794          ...new Array(this.chainSubRuleSetCount)
38795        ].map((_) => p22.Offset16);
38796      }
38797      if (this.substFormat === 2) {
38798        this.backtrackClassDefOffset = p22.Offset16;
38799        this.inputClassDefOffset = p22.Offset16;
38800        this.lookaheadClassDefOffset = p22.Offset16;
38801        this.chainSubClassSetCount = p22.uint16;
38802        this.chainSubClassSetOffsets = [
38803          ...new Array(this.chainSubClassSetCount)
38804        ].map((_) => p22.Offset16);
38805      }
38806      if (this.substFormat === 3) {
38807        undoCoverageOffsetParsing(this);
38808        this.backtrackGlyphCount = p22.uint16;
38809        this.backtrackCoverageOffsets = [
38810          ...new Array(this.backtrackGlyphCount)
38811        ].map((_) => p22.Offset16);
38812        this.inputGlyphCount = p22.uint16;
38813        this.inputCoverageOffsets = [
38814          ...new Array(this.inputGlyphCount)
38815        ].map((_) => p22.Offset16);
38816        this.lookaheadGlyphCount = p22.uint16;
38817        this.lookaheadCoverageOffsets = [
38818          ...new Array(this.lookaheadGlyphCount)
38819        ].map((_) => p22.Offset16);
38820        this.seqLookupCount = p22.uint16;
38821        this.seqLookupRecords = [
38822          ...new Array(this.substitutionCount)
38823        ].map((_) => new SequenceLookupRecord(p22));
38824      }
38825    }
38826    getChainSubRuleSet(index2) {
38827      if (this.substFormat !== 1)
38828        throw new Error(
38829          `lookup type 6.$this.substFormat} has no chainsubrule sets.`
38830        );
38831      let p22 = this.parser;
38832      p22.currentPosition = this.start + this.chainSubRuleSetOffsets[index2];
38833      return new ChainSubRuleSetTable(p22);
38834    }
38835    getChainSubClassSet(index2) {
38836      if (this.substFormat !== 2)
38837        throw new Error(
38838          `lookup type 6.$this.substFormat} has no chainsubclass sets.`
38839        );
38840      let p22 = this.parser;
38841      p22.currentPosition = this.start + this.chainSubClassSetOffsets[index2];
38842      return new ChainSubClassSetTable(p22);
38843    }
38844    getCoverageFromOffset(offset4) {
38845      if (this.substFormat !== 3)
38846        throw new Error(
38847          `lookup type 6.$this.substFormat} does not use contextual coverage offsets.`
38848        );
38849      let p22 = this.parser;
38850      p22.currentPosition = this.start + offset4;
38851      return new CoverageTable(p22);
38852    }
38853  };
38854  var ChainSubRuleSetTable = class extends ParsedData {
38855    constructor(p22) {
38856      super(p22);
38857      this.chainSubRuleCount = p22.uint16;
38858      this.chainSubRuleOffsets = [
38859        ...new Array(this.chainSubRuleCount)
38860      ].map((_) => p22.Offset16);
38861    }
38862    getSubRule(index2) {
38863      let p22 = this.parser;
38864      p22.currentPosition = this.start + this.chainSubRuleOffsets[index2];
38865      return new ChainSubRuleTable(p22);
38866    }
38867  };
38868  var ChainSubRuleTable = class {
38869    constructor(p22) {
38870      this.backtrackGlyphCount = p22.uint16;
38871      this.backtrackSequence = [
38872        ...new Array(this.backtrackGlyphCount)
38873      ].map((_) => p22.uint16);
38874      this.inputGlyphCount = p22.uint16;
38875      this.inputSequence = [...new Array(this.inputGlyphCount - 1)].map(
38876        (_) => p22.uint16
38877      );
38878      this.lookaheadGlyphCount = p22.uint16;
38879      this.lookAheadSequence = [
38880        ...new Array(this.lookAheadGlyphCount)
38881      ].map((_) => p22.uint16);
38882      this.substitutionCount = p22.uint16;
38883      this.substLookupRecords = [...new Array(this.SubstCount)].map(
38884        (_) => new SubstLookupRecord(p22)
38885      );
38886    }
38887  };
38888  var ChainSubClassSetTable = class extends ParsedData {
38889    constructor(p22) {
38890      super(p22);
38891      this.chainSubClassRuleCount = p22.uint16;
38892      this.chainSubClassRuleOffsets = [
38893        ...new Array(this.chainSubClassRuleCount)
38894      ].map((_) => p22.Offset16);
38895    }
38896    getSubClass(index2) {
38897      let p22 = this.parser;
38898      p22.currentPosition = this.start + this.chainSubRuleOffsets[index2];
38899      return new ChainSubClassRuleTable(p22);
38900    }
38901  };
38902  var ChainSubClassRuleTable = class {
38903    constructor(p22) {
38904      this.backtrackGlyphCount = p22.uint16;
38905      this.backtrackSequence = [
38906        ...new Array(this.backtrackGlyphCount)
38907      ].map((_) => p22.uint16);
38908      this.inputGlyphCount = p22.uint16;
38909      this.inputSequence = [...new Array(this.inputGlyphCount - 1)].map(
38910        (_) => p22.uint16
38911      );
38912      this.lookaheadGlyphCount = p22.uint16;
38913      this.lookAheadSequence = [
38914        ...new Array(this.lookAheadGlyphCount)
38915      ].map((_) => p22.uint16);
38916      this.substitutionCount = p22.uint16;
38917      this.substLookupRecords = [
38918        ...new Array(this.substitutionCount)
38919      ].map((_) => new SequenceLookupRecord(p22));
38920    }
38921  };
38922  var SequenceLookupRecord = class extends ParsedData {
38923    constructor(p22) {
38924      super(p22);
38925      this.sequenceIndex = p22.uint16;
38926      this.lookupListIndex = p22.uint16;
38927    }
38928  };
38929  var LookupType7$1 = class extends ParsedData {
38930    constructor(p22) {
38931      super(p22);
38932      this.substFormat = p22.uint16;
38933      this.extensionLookupType = p22.uint16;
38934      this.extensionOffset = p22.Offset32;
38935    }
38936  };
38937  var LookupType8$1 = class extends LookupType$1 {
38938    constructor(p22) {
38939      super(p22);
38940      this.backtrackGlyphCount = p22.uint16;
38941      this.backtrackCoverageOffsets = [
38942        ...new Array(this.backtrackGlyphCount)
38943      ].map((_) => p22.Offset16);
38944      this.lookaheadGlyphCount = p22.uint16;
38945      this.lookaheadCoverageOffsets = [
38946        new Array(this.lookaheadGlyphCount)
38947      ].map((_) => p22.Offset16);
38948      this.glyphCount = p22.uint16;
38949      this.substituteGlyphIDs = [...new Array(this.glyphCount)].map(
38950        (_) => p22.uint16
38951      );
38952    }
38953  };
38954  var GSUBtables = {
38955    buildSubtable: function(type, p22) {
38956      const subtable = new [
38957        void 0,
38958        LookupType1$1,
38959        LookupType2$1,
38960        LookupType3$1,
38961        LookupType4$1,
38962        LookupType5$1,
38963        LookupType6$1,
38964        LookupType7$1,
38965        LookupType8$1
38966      ][type](p22);
38967      subtable.type = type;
38968      return subtable;
38969    }
38970  };
38971  var LookupType = class extends ParsedData {
38972    constructor(p22) {
38973      super(p22);
38974    }
38975  };
38976  var LookupType1 = class extends LookupType {
38977    constructor(p22) {
38978      super(p22);
38979      console.log(`lookup type 1`);
38980    }
38981  };
38982  var LookupType2 = class extends LookupType {
38983    constructor(p22) {
38984      super(p22);
38985      console.log(`lookup type 2`);
38986    }
38987  };
38988  var LookupType3 = class extends LookupType {
38989    constructor(p22) {
38990      super(p22);
38991      console.log(`lookup type 3`);
38992    }
38993  };
38994  var LookupType4 = class extends LookupType {
38995    constructor(p22) {
38996      super(p22);
38997      console.log(`lookup type 4`);
38998    }
38999  };
39000  var LookupType5 = class extends LookupType {
39001    constructor(p22) {
39002      super(p22);
39003      console.log(`lookup type 5`);
39004    }
39005  };
39006  var LookupType6 = class extends LookupType {
39007    constructor(p22) {
39008      super(p22);
39009      console.log(`lookup type 6`);
39010    }
39011  };
39012  var LookupType7 = class extends LookupType {
39013    constructor(p22) {
39014      super(p22);
39015      console.log(`lookup type 7`);
39016    }
39017  };
39018  var LookupType8 = class extends LookupType {
39019    constructor(p22) {
39020      super(p22);
39021      console.log(`lookup type 8`);
39022    }
39023  };
39024  var LookupType9 = class extends LookupType {
39025    constructor(p22) {
39026      super(p22);
39027      console.log(`lookup type 9`);
39028    }
39029  };
39030  var GPOStables = {
39031    buildSubtable: function(type, p22) {
39032      const subtable = new [
39033        void 0,
39034        LookupType1,
39035        LookupType2,
39036        LookupType3,
39037        LookupType4,
39038        LookupType5,
39039        LookupType6,
39040        LookupType7,
39041        LookupType8,
39042        LookupType9
39043      ][type](p22);
39044      subtable.type = type;
39045      return subtable;
39046    }
39047  };
39048  var LookupList = class extends ParsedData {
39049    static EMPTY = { lookupCount: 0, lookups: [] };
39050    constructor(p22) {
39051      super(p22);
39052      this.lookupCount = p22.uint16;
39053      this.lookups = [...new Array(this.lookupCount)].map(
39054        (_) => p22.Offset16
39055      );
39056    }
39057  };
39058  var LookupTable = class extends ParsedData {
39059    constructor(p22, type) {
39060      super(p22);
39061      this.ctType = type;
39062      this.lookupType = p22.uint16;
39063      this.lookupFlag = p22.uint16;
39064      this.subTableCount = p22.uint16;
39065      this.subtableOffsets = [...new Array(this.subTableCount)].map(
39066        (_) => p22.Offset16
39067      );
39068      this.markFilteringSet = p22.uint16;
39069    }
39070    get rightToLeft() {
39071      return this.lookupFlag & true;
39072    }
39073    get ignoreBaseGlyphs() {
39074      return this.lookupFlag & true;
39075    }
39076    get ignoreLigatures() {
39077      return this.lookupFlag & true;
39078    }
39079    get ignoreMarks() {
39080      return this.lookupFlag & true;
39081    }
39082    get useMarkFilteringSet() {
39083      return this.lookupFlag & true;
39084    }
39085    get markAttachmentType() {
39086      return this.lookupFlag & true;
39087    }
39088    getSubTable(index2) {
39089      const builder = this.ctType === `GSUB` ? GSUBtables : GPOStables;
39090      this.parser.currentPosition = this.start + this.subtableOffsets[index2];
39091      return builder.buildSubtable(this.lookupType, this.parser);
39092    }
39093  };
39094  var CommonLayoutTable = class extends SimpleTable {
39095    constructor(dict, dataview, name2) {
39096      const { p: p22, tableStart } = super(dict, dataview, name2);
39097      this.majorVersion = p22.uint16;
39098      this.minorVersion = p22.uint16;
39099      this.scriptListOffset = p22.Offset16;
39100      this.featureListOffset = p22.Offset16;
39101      this.lookupListOffset = p22.Offset16;
39102      if (this.majorVersion === 1 && this.minorVersion === 1) {
39103        this.featureVariationsOffset = p22.Offset32;
39104      }
39105      const no_content = !(this.scriptListOffset || this.featureListOffset || this.lookupListOffset);
39106      lazy$1(this, `scriptList`, () => {
39107        if (no_content) return ScriptList.EMPTY;
39108        p22.currentPosition = tableStart + this.scriptListOffset;
39109        return new ScriptList(p22);
39110      });
39111      lazy$1(this, `featureList`, () => {
39112        if (no_content) return FeatureList.EMPTY;
39113        p22.currentPosition = tableStart + this.featureListOffset;
39114        return new FeatureList(p22);
39115      });
39116      lazy$1(this, `lookupList`, () => {
39117        if (no_content) return LookupList.EMPTY;
39118        p22.currentPosition = tableStart + this.lookupListOffset;
39119        return new LookupList(p22);
39120      });
39121      if (this.featureVariationsOffset) {
39122        lazy$1(this, `featureVariations`, () => {
39123          if (no_content) return FeatureVariations.EMPTY;
39124          p22.currentPosition = tableStart + this.featureVariationsOffset;
39125          return new FeatureVariations(p22);
39126        });
39127      }
39128    }
39129    getSupportedScripts() {
39130      return this.scriptList.scriptRecords.map((r2) => r2.scriptTag);
39131    }
39132    getScriptTable(scriptTag) {
39133      let record = this.scriptList.scriptRecords.find(
39134        (r2) => r2.scriptTag === scriptTag
39135      );
39136      this.parser.currentPosition = this.scriptList.start + record.scriptOffset;
39137      let table = new ScriptTable(this.parser);
39138      table.scriptTag = scriptTag;
39139      return table;
39140    }
39141    ensureScriptTable(arg) {
39142      if (typeof arg === "string") {
39143        return this.getScriptTable(arg);
39144      }
39145      return arg;
39146    }
39147    getSupportedLangSys(scriptTable) {
39148      scriptTable = this.ensureScriptTable(scriptTable);
39149      const hasDefault = scriptTable.defaultLangSys !== 0;
39150      const supported = scriptTable.langSysRecords.map(
39151        (l2) => l2.langSysTag
39152      );
39153      if (hasDefault) supported.unshift(`dflt`);
39154      return supported;
39155    }
39156    getDefaultLangSysTable(scriptTable) {
39157      scriptTable = this.ensureScriptTable(scriptTable);
39158      let offset4 = scriptTable.defaultLangSys;
39159      if (offset4 !== 0) {
39160        this.parser.currentPosition = scriptTable.start + offset4;
39161        let table = new LangSysTable(this.parser);
39162        table.langSysTag = ``;
39163        table.defaultForScript = scriptTable.scriptTag;
39164        return table;
39165      }
39166    }
39167    getLangSysTable(scriptTable, langSysTag = `dflt`) {
39168      if (langSysTag === `dflt`)
39169        return this.getDefaultLangSysTable(scriptTable);
39170      scriptTable = this.ensureScriptTable(scriptTable);
39171      let record = scriptTable.langSysRecords.find(
39172        (l2) => l2.langSysTag === langSysTag
39173      );
39174      this.parser.currentPosition = scriptTable.start + record.langSysOffset;
39175      let table = new LangSysTable(this.parser);
39176      table.langSysTag = langSysTag;
39177      return table;
39178    }
39179    getFeatures(langSysTable) {
39180      return langSysTable.featureIndices.map(
39181        (index2) => this.getFeature(index2)
39182      );
39183    }
39184    getFeature(indexOrTag) {
39185      let record;
39186      if (parseInt(indexOrTag) == indexOrTag) {
39187        record = this.featureList.featureRecords[indexOrTag];
39188      } else {
39189        record = this.featureList.featureRecords.find(
39190          (f) => f.featureTag === indexOrTag
39191        );
39192      }
39193      if (!record) return;
39194      this.parser.currentPosition = this.featureList.start + record.featureOffset;
39195      let table = new FeatureTable(this.parser);
39196      table.featureTag = record.featureTag;
39197      return table;
39198    }
39199    getLookups(featureTable) {
39200      return featureTable.lookupListIndices.map(
39201        (index2) => this.getLookup(index2)
39202      );
39203    }
39204    getLookup(lookupIndex, type) {
39205      let lookupOffset = this.lookupList.lookups[lookupIndex];
39206      this.parser.currentPosition = this.lookupList.start + lookupOffset;
39207      return new LookupTable(this.parser, type);
39208    }
39209  };
39210  var GSUB = class extends CommonLayoutTable {
39211    constructor(dict, dataview) {
39212      super(dict, dataview, `GSUB`);
39213    }
39214    getLookup(lookupIndex) {
39215      return super.getLookup(lookupIndex, `GSUB`);
39216    }
39217  };
39218  var GSUB$1 = Object.freeze({ __proto__: null, GSUB });
39219  var GPOS = class extends CommonLayoutTable {
39220    constructor(dict, dataview) {
39221      super(dict, dataview, `GPOS`);
39222    }
39223    getLookup(lookupIndex) {
39224      return super.getLookup(lookupIndex, `GPOS`);
39225    }
39226  };
39227  var GPOS$1 = Object.freeze({ __proto__: null, GPOS });
39228  var SVG23 = class extends SimpleTable {
39229    constructor(dict, dataview) {
39230      const { p: p22 } = super(dict, dataview);
39231      this.version = p22.uint16;
39232      this.offsetToSVGDocumentList = p22.Offset32;
39233      p22.currentPosition = this.tableStart + this.offsetToSVGDocumentList;
39234      this.documentList = new SVGDocumentList(p22);
39235    }
39236  };
39237  var SVGDocumentList = class extends ParsedData {
39238    constructor(p22) {
39239      super(p22);
39240      this.numEntries = p22.uint16;
39241      this.documentRecords = [...new Array(this.numEntries)].map(
39242        (_) => new SVGDocumentRecord(p22)
39243      );
39244    }
39245    getDocument(documentID) {
39246      let record = this.documentRecords[documentID];
39247      if (!record) return "";
39248      let offset4 = this.start + record.svgDocOffset;
39249      this.parser.currentPosition = offset4;
39250      return this.parser.readBytes(record.svgDocLength);
39251    }
39252    getDocumentForGlyph(glyphID) {
39253      let id = this.documentRecords.findIndex(
39254        (d) => d.startGlyphID <= glyphID && glyphID <= d.endGlyphID
39255      );
39256      if (id === -1) return "";
39257      return this.getDocument(id);
39258    }
39259  };
39260  var SVGDocumentRecord = class {
39261    constructor(p22) {
39262      this.startGlyphID = p22.uint16;
39263      this.endGlyphID = p22.uint16;
39264      this.svgDocOffset = p22.Offset32;
39265      this.svgDocLength = p22.uint32;
39266    }
39267  };
39268  var SVG$1 = Object.freeze({ __proto__: null, SVG: SVG23 });
39269  var fvar = class extends SimpleTable {
39270    constructor(dict, dataview) {
39271      const { p: p22 } = super(dict, dataview);
39272      this.majorVersion = p22.uint16;
39273      this.minorVersion = p22.uint16;
39274      this.axesArrayOffset = p22.Offset16;
39275      p22.uint16;
39276      this.axisCount = p22.uint16;
39277      this.axisSize = p22.uint16;
39278      this.instanceCount = p22.uint16;
39279      this.instanceSize = p22.uint16;
39280      const axisStart = this.tableStart + this.axesArrayOffset;
39281      lazy$1(this, `axes`, () => {
39282        p22.currentPosition = axisStart;
39283        return [...new Array(this.axisCount)].map(
39284          (_) => new VariationAxisRecord(p22)
39285        );
39286      });
39287      const instanceStart = axisStart + this.axisCount * this.axisSize;
39288      lazy$1(this, `instances`, () => {
39289        let instances = [];
39290        for (let i = 0; i < this.instanceCount; i++) {
39291          p22.currentPosition = instanceStart + i * this.instanceSize;
39292          instances.push(
39293            new InstanceRecord(p22, this.axisCount, this.instanceSize)
39294          );
39295        }
39296        return instances;
39297      });
39298    }
39299    getSupportedAxes() {
39300      return this.axes.map((a) => a.tag);
39301    }
39302    getAxis(name2) {
39303      return this.axes.find((a) => a.tag === name2);
39304    }
39305  };
39306  var VariationAxisRecord = class {
39307    constructor(p22) {
39308      this.tag = p22.tag;
39309      this.minValue = p22.fixed;
39310      this.defaultValue = p22.fixed;
39311      this.maxValue = p22.fixed;
39312      this.flags = p22.flags(16);
39313      this.axisNameID = p22.uint16;
39314    }
39315  };
39316  var InstanceRecord = class {
39317    constructor(p22, axisCount, size4) {
39318      let start = p22.currentPosition;
39319      this.subfamilyNameID = p22.uint16;
39320      p22.uint16;
39321      this.coordinates = [...new Array(axisCount)].map(
39322        (_) => p22.fixed
39323      );
39324      if (p22.currentPosition - start < size4) {
39325        this.postScriptNameID = p22.uint16;
39326      }
39327    }
39328  };
39329  var fvar$1 = Object.freeze({ __proto__: null, fvar });
39330  var cvt = class extends SimpleTable {
39331    constructor(dict, dataview) {
39332      const { p: p22 } = super(dict, dataview);
39333      const n = dict.length / 2;
39334      lazy$1(
39335        this,
39336        `items`,
39337        () => [...new Array(n)].map((_) => p22.fword)
39338      );
39339    }
39340  };
39341  var cvt$1 = Object.freeze({ __proto__: null, cvt });
39342  var fpgm = class extends SimpleTable {
39343    constructor(dict, dataview) {
39344      const { p: p22 } = super(dict, dataview);
39345      lazy$1(
39346        this,
39347        `instructions`,
39348        () => [...new Array(dict.length)].map((_) => p22.uint8)
39349      );
39350    }
39351  };
39352  var fpgm$1 = Object.freeze({ __proto__: null, fpgm });
39353  var gasp = class extends SimpleTable {
39354    constructor(dict, dataview) {
39355      const { p: p22 } = super(dict, dataview);
39356      this.version = p22.uint16;
39357      this.numRanges = p22.uint16;
39358      const getter = () => [...new Array(this.numRanges)].map(
39359        (_) => new GASPRange(p22)
39360      );
39361      lazy$1(this, `gaspRanges`, getter);
39362    }
39363  };
39364  var GASPRange = class {
39365    constructor(p22) {
39366      this.rangeMaxPPEM = p22.uint16;
39367      this.rangeGaspBehavior = p22.uint16;
39368    }
39369  };
39370  var gasp$1 = Object.freeze({ __proto__: null, gasp });
39371  var glyf = class extends SimpleTable {
39372    constructor(dict, dataview) {
39373      super(dict, dataview);
39374    }
39375    getGlyphData(offset4, length) {
39376      this.parser.currentPosition = this.tableStart + offset4;
39377      return this.parser.readBytes(length);
39378    }
39379  };
39380  var glyf$1 = Object.freeze({ __proto__: null, glyf });
39381  var loca = class extends SimpleTable {
39382    constructor(dict, dataview, tables) {
39383      const { p: p22 } = super(dict, dataview);
39384      const n = tables.maxp.numGlyphs + 1;
39385      if (tables.head.indexToLocFormat === 0) {
39386        this.x2 = true;
39387        lazy$1(
39388          this,
39389          `offsets`,
39390          () => [...new Array(n)].map((_) => p22.Offset16)
39391        );
39392      } else {
39393        lazy$1(
39394          this,
39395          `offsets`,
39396          () => [...new Array(n)].map((_) => p22.Offset32)
39397        );
39398      }
39399    }
39400    getGlyphDataOffsetAndLength(glyphID) {
39401      let offset4 = this.offsets[glyphID] * this.x2 ? 2 : 1;
39402      let nextOffset = this.offsets[glyphID + 1] * this.x2 ? 2 : 1;
39403      return { offset: offset4, length: nextOffset - offset4 };
39404    }
39405  };
39406  var loca$1 = Object.freeze({ __proto__: null, loca });
39407  var prep = class extends SimpleTable {
39408    constructor(dict, dataview) {
39409      const { p: p22 } = super(dict, dataview);
39410      lazy$1(
39411        this,
39412        `instructions`,
39413        () => [...new Array(dict.length)].map((_) => p22.uint8)
39414      );
39415    }
39416  };
39417  var prep$1 = Object.freeze({ __proto__: null, prep });
39418  var CFF = class extends SimpleTable {
39419    constructor(dict, dataview) {
39420      const { p: p22 } = super(dict, dataview);
39421      lazy$1(this, `data`, () => p22.readBytes());
39422    }
39423  };
39424  var CFF$1 = Object.freeze({ __proto__: null, CFF });
39425  var CFF2 = class extends SimpleTable {
39426    constructor(dict, dataview) {
39427      const { p: p22 } = super(dict, dataview);
39428      lazy$1(this, `data`, () => p22.readBytes());
39429    }
39430  };
39431  var CFF2$1 = Object.freeze({ __proto__: null, CFF2 });
39432  var VORG = class extends SimpleTable {
39433    constructor(dict, dataview) {
39434      const { p: p22 } = super(dict, dataview);
39435      this.majorVersion = p22.uint16;
39436      this.minorVersion = p22.uint16;
39437      this.defaultVertOriginY = p22.int16;
39438      this.numVertOriginYMetrics = p22.uint16;
39439      lazy$1(
39440        this,
39441        `vertORiginYMetrics`,
39442        () => [...new Array(this.numVertOriginYMetrics)].map(
39443          (_) => new VertOriginYMetric(p22)
39444        )
39445      );
39446    }
39447  };
39448  var VertOriginYMetric = class {
39449    constructor(p22) {
39450      this.glyphIndex = p22.uint16;
39451      this.vertOriginY = p22.int16;
39452    }
39453  };
39454  var VORG$1 = Object.freeze({ __proto__: null, VORG });
39455  var BitmapSize = class {
39456    constructor(p22) {
39457      this.indexSubTableArrayOffset = p22.Offset32;
39458      this.indexTablesSize = p22.uint32;
39459      this.numberofIndexSubTables = p22.uint32;
39460      this.colorRef = p22.uint32;
39461      this.hori = new SbitLineMetrics(p22);
39462      this.vert = new SbitLineMetrics(p22);
39463      this.startGlyphIndex = p22.uint16;
39464      this.endGlyphIndex = p22.uint16;
39465      this.ppemX = p22.uint8;
39466      this.ppemY = p22.uint8;
39467      this.bitDepth = p22.uint8;
39468      this.flags = p22.int8;
39469    }
39470  };
39471  var BitmapScale = class {
39472    constructor(p22) {
39473      this.hori = new SbitLineMetrics(p22);
39474      this.vert = new SbitLineMetrics(p22);
39475      this.ppemX = p22.uint8;
39476      this.ppemY = p22.uint8;
39477      this.substitutePpemX = p22.uint8;
39478      this.substitutePpemY = p22.uint8;
39479    }
39480  };
39481  var SbitLineMetrics = class {
39482    constructor(p22) {
39483      this.ascender = p22.int8;
39484      this.descender = p22.int8;
39485      this.widthMax = p22.uint8;
39486      this.caretSlopeNumerator = p22.int8;
39487      this.caretSlopeDenominator = p22.int8;
39488      this.caretOffset = p22.int8;
39489      this.minOriginSB = p22.int8;
39490      this.minAdvanceSB = p22.int8;
39491      this.maxBeforeBL = p22.int8;
39492      this.minAfterBL = p22.int8;
39493      this.pad1 = p22.int8;
39494      this.pad2 = p22.int8;
39495    }
39496  };
39497  var EBLC = class extends SimpleTable {
39498    constructor(dict, dataview, name2) {
39499      const { p: p22 } = super(dict, dataview, name2);
39500      this.majorVersion = p22.uint16;
39501      this.minorVersion = p22.uint16;
39502      this.numSizes = p22.uint32;
39503      lazy$1(
39504        this,
39505        `bitMapSizes`,
39506        () => [...new Array(this.numSizes)].map(
39507          (_) => new BitmapSize(p22)
39508        )
39509      );
39510    }
39511  };
39512  var EBLC$1 = Object.freeze({ __proto__: null, EBLC });
39513  var EBDT = class extends SimpleTable {
39514    constructor(dict, dataview, name2) {
39515      const { p: p22 } = super(dict, dataview, name2);
39516      this.majorVersion = p22.uint16;
39517      this.minorVersion = p22.uint16;
39518    }
39519  };
39520  var EBDT$1 = Object.freeze({ __proto__: null, EBDT });
39521  var EBSC = class extends SimpleTable {
39522    constructor(dict, dataview) {
39523      const { p: p22 } = super(dict, dataview);
39524      this.majorVersion = p22.uint16;
39525      this.minorVersion = p22.uint16;
39526      this.numSizes = p22.uint32;
39527      lazy$1(
39528        this,
39529        `bitmapScales`,
39530        () => [...new Array(this.numSizes)].map(
39531          (_) => new BitmapScale(p22)
39532        )
39533      );
39534    }
39535  };
39536  var EBSC$1 = Object.freeze({ __proto__: null, EBSC });
39537  var CBLC = class extends EBLC {
39538    constructor(dict, dataview) {
39539      super(dict, dataview, `CBLC`);
39540    }
39541  };
39542  var CBLC$1 = Object.freeze({ __proto__: null, CBLC });
39543  var CBDT = class extends EBDT {
39544    constructor(dict, dataview) {
39545      super(dict, dataview, `CBDT`);
39546    }
39547  };
39548  var CBDT$1 = Object.freeze({ __proto__: null, CBDT });
39549  var sbix = class extends SimpleTable {
39550    constructor(dict, dataview) {
39551      const { p: p22 } = super(dict, dataview);
39552      this.version = p22.uint16;
39553      this.flags = p22.flags(16);
39554      this.numStrikes = p22.uint32;
39555      lazy$1(
39556        this,
39557        `strikeOffsets`,
39558        () => [...new Array(this.numStrikes)].map((_) => p22.Offset32)
39559      );
39560    }
39561  };
39562  var sbix$1 = Object.freeze({ __proto__: null, sbix });
39563  var COLR = class extends SimpleTable {
39564    constructor(dict, dataview) {
39565      const { p: p22 } = super(dict, dataview);
39566      this.version = p22.uint16;
39567      this.numBaseGlyphRecords = p22.uint16;
39568      this.baseGlyphRecordsOffset = p22.Offset32;
39569      this.layerRecordsOffset = p22.Offset32;
39570      this.numLayerRecords = p22.uint16;
39571    }
39572    getBaseGlyphRecord(glyphID) {
39573      let start = this.tableStart + this.baseGlyphRecordsOffset;
39574      this.parser.currentPosition = start;
39575      let first = new BaseGlyphRecord(this.parser);
39576      let firstID = first.gID;
39577      let end = this.tableStart + this.layerRecordsOffset - 6;
39578      this.parser.currentPosition = end;
39579      let last = new BaseGlyphRecord(this.parser);
39580      let lastID = last.gID;
39581      if (firstID === glyphID) return first;
39582      if (lastID === glyphID) return last;
39583      while (true) {
39584        if (start === end) break;
39585        let mid = start + (end - start) / 12;
39586        this.parser.currentPosition = mid;
39587        let middle = new BaseGlyphRecord(this.parser);
39588        let midID = middle.gID;
39589        if (midID === glyphID) return middle;
39590        else if (midID > glyphID) {
39591          end = mid;
39592        } else if (midID < glyphID) {
39593          start = mid;
39594        }
39595      }
39596      return false;
39597    }
39598    getLayers(glyphID) {
39599      let record = this.getBaseGlyphRecord(glyphID);
39600      this.parser.currentPosition = this.tableStart + this.layerRecordsOffset + 4 * record.firstLayerIndex;
39601      return [...new Array(record.numLayers)].map(
39602        (_) => new LayerRecord(p)
39603      );
39604    }
39605  };
39606  var BaseGlyphRecord = class {
39607    constructor(p22) {
39608      this.gID = p22.uint16;
39609      this.firstLayerIndex = p22.uint16;
39610      this.numLayers = p22.uint16;
39611    }
39612  };
39613  var LayerRecord = class {
39614    constructor(p22) {
39615      this.gID = p22.uint16;
39616      this.paletteIndex = p22.uint16;
39617    }
39618  };
39619  var COLR$1 = Object.freeze({ __proto__: null, COLR });
39620  var CPAL = class extends SimpleTable {
39621    constructor(dict, dataview) {
39622      const { p: p22 } = super(dict, dataview);
39623      this.version = p22.uint16;
39624      this.numPaletteEntries = p22.uint16;
39625      const numPalettes = this.numPalettes = p22.uint16;
39626      this.numColorRecords = p22.uint16;
39627      this.offsetFirstColorRecord = p22.Offset32;
39628      this.colorRecordIndices = [...new Array(this.numPalettes)].map(
39629        (_) => p22.uint16
39630      );
39631      lazy$1(this, `colorRecords`, () => {
39632        p22.currentPosition = this.tableStart + this.offsetFirstColorRecord;
39633        return [...new Array(this.numColorRecords)].map(
39634          (_) => new ColorRecord(p22)
39635        );
39636      });
39637      if (this.version === 1) {
39638        this.offsetPaletteTypeArray = p22.Offset32;
39639        this.offsetPaletteLabelArray = p22.Offset32;
39640        this.offsetPaletteEntryLabelArray = p22.Offset32;
39641        lazy$1(this, `paletteTypeArray`, () => {
39642          p22.currentPosition = this.tableStart + this.offsetPaletteTypeArray;
39643          return new PaletteTypeArray(p22, numPalettes);
39644        });
39645        lazy$1(this, `paletteLabelArray`, () => {
39646          p22.currentPosition = this.tableStart + this.offsetPaletteLabelArray;
39647          return new PaletteLabelsArray(p22, numPalettes);
39648        });
39649        lazy$1(this, `paletteEntryLabelArray`, () => {
39650          p22.currentPosition = this.tableStart + this.offsetPaletteEntryLabelArray;
39651          return new PaletteEntryLabelArray(p22, numPalettes);
39652        });
39653      }
39654    }
39655  };
39656  var ColorRecord = class {
39657    constructor(p22) {
39658      this.blue = p22.uint8;
39659      this.green = p22.uint8;
39660      this.red = p22.uint8;
39661      this.alpha = p22.uint8;
39662    }
39663  };
39664  var PaletteTypeArray = class {
39665    constructor(p22, numPalettes) {
39666      this.paletteTypes = [...new Array(numPalettes)].map(
39667        (_) => p22.uint32
39668      );
39669    }
39670  };
39671  var PaletteLabelsArray = class {
39672    constructor(p22, numPalettes) {
39673      this.paletteLabels = [...new Array(numPalettes)].map(
39674        (_) => p22.uint16
39675      );
39676    }
39677  };
39678  var PaletteEntryLabelArray = class {
39679    constructor(p22, numPalettes) {
39680      this.paletteEntryLabels = [...new Array(numPalettes)].map(
39681        (_) => p22.uint16
39682      );
39683    }
39684  };
39685  var CPAL$1 = Object.freeze({ __proto__: null, CPAL });
39686  var DSIG = class extends SimpleTable {
39687    constructor(dict, dataview) {
39688      const { p: p22 } = super(dict, dataview);
39689      this.version = p22.uint32;
39690      this.numSignatures = p22.uint16;
39691      this.flags = p22.uint16;
39692      this.signatureRecords = [...new Array(this.numSignatures)].map(
39693        (_) => new SignatureRecord(p22)
39694      );
39695    }
39696    getData(signatureID) {
39697      const record = this.signatureRecords[signatureID];
39698      this.parser.currentPosition = this.tableStart + record.offset;
39699      return new SignatureBlockFormat1(this.parser);
39700    }
39701  };
39702  var SignatureRecord = class {
39703    constructor(p22) {
39704      this.format = p22.uint32;
39705      this.length = p22.uint32;
39706      this.offset = p22.Offset32;
39707    }
39708  };
39709  var SignatureBlockFormat1 = class {
39710    constructor(p22) {
39711      p22.uint16;
39712      p22.uint16;
39713      this.signatureLength = p22.uint32;
39714      this.signature = p22.readBytes(this.signatureLength);
39715    }
39716  };
39717  var DSIG$1 = Object.freeze({ __proto__: null, DSIG });
39718  var hdmx = class extends SimpleTable {
39719    constructor(dict, dataview, tables) {
39720      const { p: p22 } = super(dict, dataview);
39721      const numGlyphs = tables.hmtx.numGlyphs;
39722      this.version = p22.uint16;
39723      this.numRecords = p22.int16;
39724      this.sizeDeviceRecord = p22.int32;
39725      this.records = [...new Array(numRecords)].map(
39726        (_) => new DeviceRecord(p22, numGlyphs)
39727      );
39728    }
39729  };
39730  var DeviceRecord = class {
39731    constructor(p22, numGlyphs) {
39732      this.pixelSize = p22.uint8;
39733      this.maxWidth = p22.uint8;
39734      this.widths = p22.readBytes(numGlyphs);
39735    }
39736  };
39737  var hdmx$1 = Object.freeze({ __proto__: null, hdmx });
39738  var kern = class extends SimpleTable {
39739    constructor(dict, dataview) {
39740      const { p: p22 } = super(dict, dataview);
39741      this.version = p22.uint16;
39742      this.nTables = p22.uint16;
39743      lazy$1(this, `tables`, () => {
39744        let offset4 = this.tableStart + 4;
39745        const tables = [];
39746        for (let i = 0; i < this.nTables; i++) {
39747          p22.currentPosition = offset4;
39748          let subtable = new KernSubTable(p22);
39749          tables.push(subtable);
39750          offset4 += subtable;
39751        }
39752        return tables;
39753      });
39754    }
39755  };
39756  var KernSubTable = class {
39757    constructor(p22) {
39758      this.version = p22.uint16;
39759      this.length = p22.uint16;
39760      this.coverage = p22.flags(8);
39761      this.format = p22.uint8;
39762      if (this.format === 0) {
39763        this.nPairs = p22.uint16;
39764        this.searchRange = p22.uint16;
39765        this.entrySelector = p22.uint16;
39766        this.rangeShift = p22.uint16;
39767        lazy$1(
39768          this,
39769          `pairs`,
39770          () => [...new Array(this.nPairs)].map((_) => new Pair(p22))
39771        );
39772      }
39773      if (this.format === 2) {
39774        console.warn(
39775          `Kern subtable format 2 is not supported: this parser currently only parses universal table data.`
39776        );
39777      }
39778    }
39779    get horizontal() {
39780      return this.coverage[0];
39781    }
39782    get minimum() {
39783      return this.coverage[1];
39784    }
39785    get crossstream() {
39786      return this.coverage[2];
39787    }
39788    get override() {
39789      return this.coverage[3];
39790    }
39791  };
39792  var Pair = class {
39793    constructor(p22) {
39794      this.left = p22.uint16;
39795      this.right = p22.uint16;
39796      this.value = p22.fword;
39797    }
39798  };
39799  var kern$1 = Object.freeze({ __proto__: null, kern });
39800  var LTSH = class extends SimpleTable {
39801    constructor(dict, dataview) {
39802      const { p: p22 } = super(dict, dataview);
39803      this.version = p22.uint16;
39804      this.numGlyphs = p22.uint16;
39805      this.yPels = p22.readBytes(this.numGlyphs);
39806    }
39807  };
39808  var LTSH$1 = Object.freeze({ __proto__: null, LTSH });
39809  var MERG = class extends SimpleTable {
39810    constructor(dict, dataview) {
39811      const { p: p22 } = super(dict, dataview);
39812      this.version = p22.uint16;
39813      this.mergeClassCount = p22.uint16;
39814      this.mergeDataOffset = p22.Offset16;
39815      this.classDefCount = p22.uint16;
39816      this.offsetToClassDefOffsets = p22.Offset16;
39817      lazy$1(
39818        this,
39819        `mergeEntryMatrix`,
39820        () => [...new Array(this.mergeClassCount)].map(
39821          (_) => p22.readBytes(this.mergeClassCount)
39822        )
39823      );
39824      console.warn(`Full MERG parsing is currently not supported.`);
39825      console.warn(
39826        `If you need this table parsed, please file an issue, or better yet, a PR.`
39827      );
39828    }
39829  };
39830  var MERG$1 = Object.freeze({ __proto__: null, MERG });
39831  var meta = class extends SimpleTable {
39832    constructor(dict, dataview) {
39833      const { p: p22 } = super(dict, dataview);
39834      this.version = p22.uint32;
39835      this.flags = p22.uint32;
39836      p22.uint32;
39837      this.dataMapsCount = p22.uint32;
39838      this.dataMaps = [...new Array(this.dataMapsCount)].map(
39839        (_) => new DataMap(this.tableStart, p22)
39840      );
39841    }
39842  };
39843  var DataMap = class {
39844    constructor(tableStart, p22) {
39845      this.tableStart = tableStart;
39846      this.parser = p22;
39847      this.tag = p22.tag;
39848      this.dataOffset = p22.Offset32;
39849      this.dataLength = p22.uint32;
39850    }
39851    getData() {
39852      this.parser.currentField = this.tableStart + this.dataOffset;
39853      return this.parser.readBytes(this.dataLength);
39854    }
39855  };
39856  var meta$1 = Object.freeze({ __proto__: null, meta });
39857  var PCLT = class extends SimpleTable {
39858    constructor(dict, dataview) {
39859      super(dict, dataview);
39860      console.warn(
39861        `This font uses a PCLT table, which is currently not supported by this parser.`
39862      );
39863      console.warn(
39864        `If you need this table parsed, please file an issue, or better yet, a PR.`
39865      );
39866    }
39867  };
39868  var PCLT$1 = Object.freeze({ __proto__: null, PCLT });
39869  var VDMX = class extends SimpleTable {
39870    constructor(dict, dataview) {
39871      const { p: p22 } = super(dict, dataview);
39872      this.version = p22.uint16;
39873      this.numRecs = p22.uint16;
39874      this.numRatios = p22.uint16;
39875      this.ratRanges = [...new Array(this.numRatios)].map(
39876        (_) => new RatioRange(p22)
39877      );
39878      this.offsets = [...new Array(this.numRatios)].map(
39879        (_) => p22.Offset16
39880      );
39881      this.VDMXGroups = [...new Array(this.numRecs)].map(
39882        (_) => new VDMXGroup(p22)
39883      );
39884    }
39885  };
39886  var RatioRange = class {
39887    constructor(p22) {
39888      this.bCharSet = p22.uint8;
39889      this.xRatio = p22.uint8;
39890      this.yStartRatio = p22.uint8;
39891      this.yEndRatio = p22.uint8;
39892    }
39893  };
39894  var VDMXGroup = class {
39895    constructor(p22) {
39896      this.recs = p22.uint16;
39897      this.startsz = p22.uint8;
39898      this.endsz = p22.uint8;
39899      this.records = [...new Array(this.recs)].map(
39900        (_) => new vTable(p22)
39901      );
39902    }
39903  };
39904  var vTable = class {
39905    constructor(p22) {
39906      this.yPelHeight = p22.uint16;
39907      this.yMax = p22.int16;
39908      this.yMin = p22.int16;
39909    }
39910  };
39911  var VDMX$1 = Object.freeze({ __proto__: null, VDMX });
39912  var vhea = class extends SimpleTable {
39913    constructor(dict, dataview) {
39914      const { p: p22 } = super(dict, dataview);
39915      this.version = p22.fixed;
39916      this.ascent = this.vertTypoAscender = p22.int16;
39917      this.descent = this.vertTypoDescender = p22.int16;
39918      this.lineGap = this.vertTypoLineGap = p22.int16;
39919      this.advanceHeightMax = p22.int16;
39920      this.minTopSideBearing = p22.int16;
39921      this.minBottomSideBearing = p22.int16;
39922      this.yMaxExtent = p22.int16;
39923      this.caretSlopeRise = p22.int16;
39924      this.caretSlopeRun = p22.int16;
39925      this.caretOffset = p22.int16;
39926      this.reserved = p22.int16;
39927      this.reserved = p22.int16;
39928      this.reserved = p22.int16;
39929      this.reserved = p22.int16;
39930      this.metricDataFormat = p22.int16;
39931      this.numOfLongVerMetrics = p22.uint16;
39932      p22.verifyLength();
39933    }
39934  };
39935  var vhea$1 = Object.freeze({ __proto__: null, vhea });
39936  var vmtx = class extends SimpleTable {
39937    constructor(dict, dataview, tables) {
39938      super(dict, dataview);
39939      const numOfLongVerMetrics = tables.vhea.numOfLongVerMetrics;
39940      const numGlyphs = tables.maxp.numGlyphs;
39941      const metricsStart = p.currentPosition;
39942      lazy(this, `vMetrics`, () => {
39943        p.currentPosition = metricsStart;
39944        return [...new Array(numOfLongVerMetrics)].map(
39945          (_) => new LongVertMetric(p.uint16, p.int16)
39946        );
39947      });
39948      if (numOfLongVerMetrics < numGlyphs) {
39949        const tsbStart = metricsStart + numOfLongVerMetrics * 4;
39950        lazy(this, `topSideBearings`, () => {
39951          p.currentPosition = tsbStart;
39952          return [...new Array(numGlyphs - numOfLongVerMetrics)].map(
39953            (_) => p.int16
39954          );
39955        });
39956      }
39957    }
39958  };
39959  var LongVertMetric = class {
39960    constructor(h, b) {
39961      this.advanceHeight = h;
39962      this.topSideBearing = b;
39963    }
39964  };
39965  var vmtx$1 = Object.freeze({ __proto__: null, vmtx });
39966  
39967  // packages/global-styles-ui/build-module/font-library/utils/make-families-from-faces.mjs
39968  function makeFamiliesFromFaces(fontFaces) {
39969    const fontFamiliesObject = fontFaces.reduce(
39970      (acc, item) => {
39971        if (!acc[item.fontFamily]) {
39972          acc[item.fontFamily] = {
39973            name: item.fontFamily,
39974            fontFamily: item.fontFamily,
39975            slug: kebabCase(item.fontFamily.toLowerCase()),
39976            fontFace: []
39977          };
39978        }
39979        acc[item.fontFamily].fontFace.push(item);
39980        return acc;
39981      },
39982      {}
39983    );
39984    return Object.values(fontFamiliesObject);
39985  }
39986  
39987  // packages/global-styles-ui/build-module/font-library/upload-fonts.mjs
39988  var import_jsx_runtime153 = __toESM(require_jsx_runtime(), 1);
39989  function UploadFonts() {
39990    const { installFonts } = (0, import_element83.useContext)(FontLibraryContext);
39991    const [isUploading, setIsUploading] = (0, import_element83.useState)(false);
39992    const [notice, setNotice] = (0, import_element83.useState)(null);
39993    const handleDropZone = (files) => {
39994      handleFilesUpload(files);
39995    };
39996    const onFilesUpload = (event) => {
39997      handleFilesUpload(event.target.files);
39998    };
39999    const handleFilesUpload = async (files) => {
40000      if (!files) {
40001        return;
40002      }
40003      setNotice(null);
40004      setIsUploading(true);
40005      const uniqueFilenames = /* @__PURE__ */ new Set();
40006      const selectedFiles = [...files];
40007      let hasInvalidFiles = false;
40008      const checkFilesPromises = selectedFiles.map(async (file) => {
40009        const isFont = await isFontFile(file);
40010        if (!isFont) {
40011          hasInvalidFiles = true;
40012          return null;
40013        }
40014        if (uniqueFilenames.has(file.name)) {
40015          return null;
40016        }
40017        const fileExtension = (((file.name ?? "").split(".") ?? []).pop() ?? "").toLowerCase();
40018        if (ALLOWED_FILE_EXTENSIONS.includes(fileExtension)) {
40019          uniqueFilenames.add(file.name);
40020          return file;
40021        }
40022        return null;
40023      });
40024      const allowedFiles = (await Promise.all(checkFilesPromises)).filter((file) => null !== file);
40025      if (allowedFiles.length > 0) {
40026        loadFiles(allowedFiles);
40027      } else {
40028        const message = hasInvalidFiles ? (0, import_i18n27.__)("Sorry, you are not allowed to upload this file type.") : (0, import_i18n27.__)("No fonts found to install.");
40029        setNotice({
40030          type: "error",
40031          message
40032        });
40033        setIsUploading(false);
40034      }
40035    };
40036    const loadFiles = async (files) => {
40037      const fontFacesLoaded = await Promise.all(
40038        files.map(async (fontFile) => {
40039          const fontFaceData = await getFontFaceMetadata(fontFile);
40040          await loadFontFaceInBrowser(
40041            fontFaceData,
40042            fontFaceData.file,
40043            "all"
40044          );
40045          return fontFaceData;
40046        })
40047      );
40048      handleInstall(fontFacesLoaded);
40049    };
40050    async function isFontFile(file) {
40051      const font2 = new Font("Uploaded Font");
40052      try {
40053        const buffer = await readFileAsArrayBuffer(file);
40054        await font2.fromDataBuffer(buffer, "font");
40055        return true;
40056      } catch {
40057        return false;
40058      }
40059    }
40060    async function readFileAsArrayBuffer(file) {
40061      return new Promise((resolve, reject) => {
40062        const reader = new window.FileReader();
40063        reader.readAsArrayBuffer(file);
40064        reader.onload = () => resolve(reader.result);
40065        reader.onerror = reject;
40066      });
40067    }
40068    const getFontFaceMetadata = async (fontFile) => {
40069      const buffer = await readFileAsArrayBuffer(fontFile);
40070      const fontObj = new Font("Uploaded Font");
40071      fontObj.fromDataBuffer(buffer, fontFile.name);
40072      const onloadEvent = await new Promise(
40073        (resolve) => fontObj.onload = resolve
40074      );
40075      const font2 = onloadEvent.detail.font;
40076      const { name: name2 } = font2.opentype.tables;
40077      const fontName = name2.get(16) || name2.get(1);
40078      const isItalic = name2.get(2).toLowerCase().includes("italic");
40079      const fontWeight = font2.opentype.tables["OS/2"].usWeightClass || "normal";
40080      const isVariable = !!font2.opentype.tables.fvar;
40081      const weightAxis = isVariable && font2.opentype.tables.fvar.axes.find(
40082        ({ tag }) => tag === "wght"
40083      );
40084      const weightRange = weightAxis ? `$weightAxis.minValue} $weightAxis.maxValue}` : null;
40085      return {
40086        file: fontFile,
40087        fontFamily: fontName,
40088        fontStyle: isItalic ? "italic" : "normal",
40089        fontWeight: weightRange || fontWeight
40090      };
40091    };
40092    const handleInstall = async (fontFaces) => {
40093      const fontFamilies = makeFamiliesFromFaces(fontFaces);
40094      try {
40095        await installFonts(fontFamilies);
40096        setNotice({
40097          type: "success",
40098          message: (0, import_i18n27.__)("Fonts were installed successfully.")
40099        });
40100      } catch (error2) {
40101        const typedError = error2;
40102        setNotice({
40103          type: "error",
40104          message: typedError.message,
40105          errors: typedError?.installationErrors
40106        });
40107      }
40108      setIsUploading(false);
40109    };
40110    return /* @__PURE__ */ (0, import_jsx_runtime153.jsxs)("div", { className: "font-library__tabpanel-layout", children: [
40111      /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_components26.DropZone, { onFilesDrop: handleDropZone }),
40112      /* @__PURE__ */ (0, import_jsx_runtime153.jsxs)(import_components26.__experimentalVStack, { className: "font-library__local-fonts", justify: "start", children: [
40113        notice && /* @__PURE__ */ (0, import_jsx_runtime153.jsxs)(
40114          import_components26.Notice,
40115          {
40116            status: notice.type,
40117            __unstableHTML: true,
40118            onRemove: () => setNotice(null),
40119            children: [
40120              notice.message,
40121              notice.errors && /* @__PURE__ */ (0, import_jsx_runtime153.jsx)("ul", { children: notice.errors.map((error2, index2) => /* @__PURE__ */ (0, import_jsx_runtime153.jsx)("li", { children: error2 }, index2)) })
40122            ]
40123          }
40124        ),
40125        isUploading && /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_components26.FlexItem, { children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)("div", { className: "font-library__upload-area", children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
40126          progress_exports.Root,
40127          {
40128            value: null,
40129            "aria-label": (0, import_i18n27.__)("Uploading fonts"),
40130            children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(progress_exports.Track, { children: /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(progress_exports.Indicator, {}) })
40131          }
40132        ) }) }),
40133        !isUploading && /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
40134          import_components26.FormFileUpload,
40135          {
40136            accept: ALLOWED_FILE_EXTENSIONS.map(
40137              (ext) => `.$ext}`
40138            ).join(","),
40139            multiple: true,
40140            onChange: onFilesUpload,
40141            render: ({ openFileDialog }) => /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(
40142              import_components26.Button,
40143              {
40144                __next40pxDefaultSize: true,
40145                className: "font-library__upload-area",
40146                onClick: openFileDialog,
40147                children: (0, import_i18n27.__)("Upload font")
40148              }
40149            )
40150          }
40151        ),
40152        /* @__PURE__ */ (0, import_jsx_runtime153.jsx)(import_components26.__experimentalText, { className: "font-library__upload-area__text", children: (0, import_i18n27.__)(
40153          "Uploaded fonts appear in your library and can be used in your theme. Supported formats: .ttf, .otf, .woff, and .woff2."
40154        ) })
40155      ] })
40156    ] });
40157  }
40158  var upload_fonts_default = UploadFonts;
40159  
40160  // packages/global-styles-ui/build-module/font-library/modal.mjs
40161  var import_jsx_runtime154 = __toESM(require_jsx_runtime(), 1);
40162  var { Tabs } = unlock3(import_components27.privateApis);
40163  var DEFAULT_TAB = {
40164    id: "installed-fonts",
40165    title: (0, import_i18n28._x)("Library", "Font library")
40166  };
40167  var UPLOAD_TAB = {
40168    id: "upload-fonts",
40169    title: (0, import_i18n28._x)("Upload", "noun")
40170  };
40171  
40172  // packages/global-styles-ui/build-module/font-family-item.mjs
40173  var import_i18n29 = __toESM(require_i18n(), 1);
40174  var import_components28 = __toESM(require_components(), 1);
40175  var import_element84 = __toESM(require_element(), 1);
40176  var import_jsx_runtime155 = __toESM(require_jsx_runtime(), 1);
40177  
40178  // packages/global-styles-ui/build-module/font-families.mjs
40179  var import_jsx_runtime156 = __toESM(require_jsx_runtime(), 1);
40180  
40181  // packages/global-styles-ui/build-module/font-sizes/font-sizes-count.mjs
40182  var import_i18n31 = __toESM(require_i18n(), 1);
40183  var import_components30 = __toESM(require_components(), 1);
40184  var import_jsx_runtime157 = __toESM(require_jsx_runtime(), 1);
40185  
40186  // packages/global-styles-ui/build-module/text-shadows.mjs
40187  var import_i18n32 = __toESM(require_i18n(), 1);
40188  var import_components31 = __toESM(require_components(), 1);
40189  var import_jsx_runtime158 = __toESM(require_jsx_runtime(), 1);
40190  
40191  // packages/global-styles-ui/build-module/screen-typography.mjs
40192  var import_jsx_runtime159 = __toESM(require_jsx_runtime(), 1);
40193  
40194  // packages/global-styles-ui/build-module/screen-colors.mjs
40195  var import_i18n35 = __toESM(require_i18n(), 1);
40196  var import_components33 = __toESM(require_components(), 1);
40197  
40198  // packages/global-styles-ui/build-module/palette.mjs
40199  var import_components32 = __toESM(require_components(), 1);
40200  var import_i18n34 = __toESM(require_i18n(), 1);
40201  var import_element87 = __toESM(require_element(), 1);
40202  
40203  // packages/global-styles-ui/build-module/color-indicator-wrapper.mjs
40204  var import_jsx_runtime160 = __toESM(require_jsx_runtime(), 1);
40205  
40206  // packages/global-styles-ui/build-module/palette.mjs
40207  var import_jsx_runtime161 = __toESM(require_jsx_runtime(), 1);
40208  
40209  // packages/global-styles-ui/build-module/screen-colors.mjs
40210  var import_jsx_runtime162 = __toESM(require_jsx_runtime(), 1);
40211  
40212  // packages/global-styles-ui/build-module/screen-color-palette.mjs
40213  var import_i18n39 = __toESM(require_i18n(), 1);
40214  
40215  // packages/global-styles-ui/build-module/color-palette-panel.mjs
40216  var import_compose6 = __toESM(require_compose(), 1);
40217  var import_components36 = __toESM(require_components(), 1);
40218  var import_i18n36 = __toESM(require_i18n(), 1);
40219  
40220  // packages/global-styles-ui/build-module/variations/variations-color.mjs
40221  var import_components35 = __toESM(require_components(), 1);
40222  
40223  // packages/global-styles-ui/build-module/preview-colors.mjs
40224  var import_components34 = __toESM(require_components(), 1);
40225  
40226  // packages/global-styles-ui/build-module/preset-colors.mjs
40227  var import_jsx_runtime163 = __toESM(require_jsx_runtime(), 1);
40228  function PresetColors() {
40229    const { paletteColors } = useStylesPreviewColors();
40230    return paletteColors.slice(0, 4).map(({ slug, color }, index2) => /* @__PURE__ */ (0, import_jsx_runtime163.jsx)(
40231      "div",
40232      {
40233        style: {
40234          flexGrow: 1,
40235          height: "100%",
40236          background: color
40237        }
40238      },
40239      `$slug}-$index2}`
40240    ));
40241  }
40242  
40243  // packages/global-styles-ui/build-module/preview-colors.mjs
40244  var import_jsx_runtime164 = __toESM(require_jsx_runtime(), 1);
40245  var firstFrameVariants2 = {
40246    start: {
40247      scale: 1,
40248      opacity: 1
40249    },
40250    hover: {
40251      scale: 0,
40252      opacity: 0
40253    }
40254  };
40255  var StylesPreviewColors = ({
40256    label,
40257    isFocused,
40258    withHoverView
40259  }) => {
40260    return /* @__PURE__ */ (0, import_jsx_runtime164.jsx)(
40261      preview_wrapper_default,
40262      {
40263        label,
40264        isFocused,
40265        withHoverView,
40266        children: ({ key }) => /* @__PURE__ */ (0, import_jsx_runtime164.jsx)(
40267          import_components34.__unstableMotion.div,
40268          {
40269            variants: firstFrameVariants2,
40270            style: {
40271              height: "100%",
40272              overflow: "hidden"
40273            },
40274            children: /* @__PURE__ */ (0, import_jsx_runtime164.jsx)(
40275              import_components34.__experimentalHStack,
40276              {
40277                spacing: 0,
40278                justify: "center",
40279                style: {
40280                  height: "100%",
40281                  overflow: "hidden"
40282                },
40283                children: /* @__PURE__ */ (0, import_jsx_runtime164.jsx)(PresetColors, {})
40284              }
40285            )
40286          },
40287          key
40288        )
40289      }
40290    );
40291  };
40292  var preview_colors_default = StylesPreviewColors;
40293  
40294  // packages/global-styles-ui/build-module/variations/variations-color.mjs
40295  var import_jsx_runtime165 = __toESM(require_jsx_runtime(), 1);
40296  var propertiesToFilter2 = ["color"];
40297  function ColorVariations({
40298    title,
40299    gap = 2
40300  }) {
40301    const colorVariations = useCurrentMergeThemeStyleVariationsWithUserConfig(propertiesToFilter2);
40302    if (colorVariations?.length <= 1) {
40303      return null;
40304    }
40305    return /* @__PURE__ */ (0, import_jsx_runtime165.jsxs)(import_components35.__experimentalVStack, { spacing: 3, children: [
40306      title && /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(Subtitle, { level: 3, children: title }),
40307      /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(import_components35.__experimentalGrid, { gap, children: colorVariations.map((variation, index2) => /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(
40308        Variation,
40309        {
40310          variation,
40311          isPill: true,
40312          properties: propertiesToFilter2,
40313          showTooltip: true,
40314          children: () => /* @__PURE__ */ (0, import_jsx_runtime165.jsx)(preview_colors_default, {})
40315        },
40316        index2
40317      )) })
40318    ] });
40319  }
40320  
40321  // packages/global-styles-ui/build-module/color-palette-panel.mjs
40322  var import_jsx_runtime166 = __toESM(require_jsx_runtime(), 1);
40323  
40324  // packages/global-styles-ui/build-module/gradients-palette-panel.mjs
40325  var import_compose7 = __toESM(require_compose(), 1);
40326  var import_components37 = __toESM(require_components(), 1);
40327  var import_i18n37 = __toESM(require_i18n(), 1);
40328  var import_jsx_runtime167 = __toESM(require_jsx_runtime(), 1);
40329  
40330  // packages/global-styles-ui/build-module/duotone-palette-panel.mjs
40331  var import_compose8 = __toESM(require_compose(), 1);
40332  var import_element88 = __toESM(require_element(), 1);
40333  var import_components38 = __toESM(require_components(), 1);
40334  var import_i18n38 = __toESM(require_i18n(), 1);
40335  var import_jsx_runtime168 = __toESM(require_jsx_runtime(), 1);
40336  
40337  // packages/global-styles-ui/build-module/screen-color-palette.mjs
40338  var import_jsx_runtime169 = __toESM(require_jsx_runtime(), 1);
40339  
40340  // packages/global-styles-ui/build-module/screen-background.mjs
40341  var import_i18n40 = __toESM(require_i18n(), 1);
40342  var import_block_editor9 = __toESM(require_block_editor(), 1);
40343  var import_components39 = __toESM(require_components(), 1);
40344  
40345  // packages/global-styles-ui/build-module/background-panel.mjs
40346  var import_block_editor8 = __toESM(require_block_editor(), 1);
40347  var import_jsx_runtime170 = __toESM(require_jsx_runtime(), 1);
40348  var { BackgroundPanel: StylesBackgroundPanel3 } = unlock3(
40349    import_block_editor8.privateApis
40350  );
40351  
40352  // packages/global-styles-ui/build-module/screen-background.mjs
40353  var import_jsx_runtime171 = __toESM(require_jsx_runtime(), 1);
40354  var { useHasBackgroundPanel: useHasBackgroundPanel5 } = unlock3(import_block_editor9.privateApis);
40355  
40356  // packages/global-styles-ui/build-module/shadows-panel.mjs
40357  var import_i18n43 = __toESM(require_i18n(), 1);
40358  
40359  // packages/global-styles-ui/build-module/presets/preset-group.mjs
40360  var import_components41 = __toESM(require_components(), 1);
40361  var import_i18n42 = __toESM(require_i18n(), 1);
40362  var import_element89 = __toESM(require_element(), 1);
40363  
40364  // packages/global-styles-ui/build-module/presets/dialogs/confirm-reset-dialog.mjs
40365  var import_components40 = __toESM(require_components(), 1);
40366  var import_i18n41 = __toESM(require_i18n(), 1);
40367  var import_jsx_runtime172 = __toESM(require_jsx_runtime(), 1);
40368  
40369  // packages/global-styles-ui/build-module/presets/preset-group.mjs
40370  var import_jsx_runtime173 = __toESM(require_jsx_runtime(), 1);
40371  
40372  // packages/global-styles-ui/build-module/shadows-panel.mjs
40373  var import_jsx_runtime174 = __toESM(require_jsx_runtime(), 1);
40374  
40375  // packages/global-styles-ui/build-module/shadows-edit-panel.mjs
40376  var import_components45 = __toESM(require_components(), 1);
40377  var import_i18n46 = __toESM(require_i18n(), 1);
40378  var import_element91 = __toESM(require_element(), 1);
40379  
40380  // packages/global-styles-ui/build-module/presets/preset-edit-header.mjs
40381  var import_components42 = __toESM(require_components(), 1);
40382  var import_jsx_runtime175 = __toESM(require_jsx_runtime(), 1);
40383  
40384  // packages/global-styles-ui/build-module/presets/dialogs/confirm-delete-dialog.mjs
40385  var import_components43 = __toESM(require_components(), 1);
40386  var import_i18n44 = __toESM(require_i18n(), 1);
40387  var import_jsx_runtime176 = __toESM(require_jsx_runtime(), 1);
40388  
40389  // packages/global-styles-ui/build-module/presets/dialogs/rename-dialog.mjs
40390  var import_components44 = __toESM(require_components(), 1);
40391  var import_i18n45 = __toESM(require_i18n(), 1);
40392  var import_element90 = __toESM(require_element(), 1);
40393  var import_jsx_runtime177 = __toESM(require_jsx_runtime(), 1);
40394  
40395  // packages/global-styles-ui/build-module/shadows-edit-panel.mjs
40396  var import_jsx_runtime178 = __toESM(require_jsx_runtime(), 1);
40397  
40398  // packages/global-styles-ui/build-module/screen-shadows.mjs
40399  var import_jsx_runtime179 = __toESM(require_jsx_runtime(), 1);
40400  
40401  // packages/global-styles-ui/build-module/screen-text-shadows.mjs
40402  var import_i18n47 = __toESM(require_i18n(), 1);
40403  var import_jsx_runtime180 = __toESM(require_jsx_runtime(), 1);
40404  
40405  // packages/global-styles-ui/build-module/screen-text-shadows-edit.mjs
40406  var import_components46 = __toESM(require_components(), 1);
40407  var import_i18n48 = __toESM(require_i18n(), 1);
40408  var import_element92 = __toESM(require_element(), 1);
40409  var import_jsx_runtime181 = __toESM(require_jsx_runtime(), 1);
40410  
40411  // packages/global-styles-ui/build-module/screen-layout.mjs
40412  var import_i18n49 = __toESM(require_i18n(), 1);
40413  var import_block_editor11 = __toESM(require_block_editor(), 1);
40414  
40415  // packages/global-styles-ui/build-module/dimensions-panel.mjs
40416  var import_block_editor10 = __toESM(require_block_editor(), 1);
40417  var import_element93 = __toESM(require_element(), 1);
40418  var import_jsx_runtime182 = __toESM(require_jsx_runtime(), 1);
40419  var { useSettingsForBlockElement: useSettingsForBlockElement5, DimensionsPanel: StylesDimensionsPanel3 } = unlock3(import_block_editor10.privateApis);
40420  
40421  // packages/global-styles-ui/build-module/screen-layout.mjs
40422  var import_jsx_runtime183 = __toESM(require_jsx_runtime(), 1);
40423  var { useHasDimensionsPanel: useHasDimensionsPanel5, useSettingsForBlockElement: useSettingsForBlockElement6 } = unlock3(
40424    import_block_editor11.privateApis
40425  );
40426  
40427  // packages/global-styles-ui/build-module/screen-style-variations.mjs
40428  var import_components49 = __toESM(require_components(), 1);
40429  var import_i18n52 = __toESM(require_i18n(), 1);
40430  
40431  // packages/global-styles-ui/build-module/style-variations-content.mjs
40432  var import_i18n51 = __toESM(require_i18n(), 1);
40433  var import_components48 = __toESM(require_components(), 1);
40434  
40435  // packages/global-styles-ui/build-module/style-variations-container.mjs
40436  var import_core_data8 = __toESM(require_core_data(), 1);
40437  var import_data9 = __toESM(require_data(), 1);
40438  var import_element94 = __toESM(require_element(), 1);
40439  var import_components47 = __toESM(require_components(), 1);
40440  var import_i18n50 = __toESM(require_i18n(), 1);
40441  var import_jsx_runtime184 = __toESM(require_jsx_runtime(), 1);
40442  function StyleVariationsContainer({
40443    gap = 2
40444  }) {
40445    const { user } = (0, import_element94.useContext)(GlobalStylesContext);
40446    const userStyles = user?.styles;
40447    const variations = (0, import_data9.useSelect)((select) => {
40448      const result = select(
40449        import_core_data8.store
40450      ).__experimentalGetCurrentThemeGlobalStylesVariations();
40451      return Array.isArray(result) ? result : void 0;
40452    }, []);
40453    const fullStyleVariations = variations?.filter(
40454      (variation) => {
40455        return !isVariationWithProperties(variation, ["color"]) && !isVariationWithProperties(variation, [
40456          "typography",
40457          "spacing"
40458        ]);
40459      }
40460    );
40461    const themeVariations = (0, import_element94.useMemo)(() => {
40462      const withEmptyVariation = [
40463        {
40464          title: (0, import_i18n50.__)("Default"),
40465          settings: {},
40466          styles: {}
40467        },
40468        ...fullStyleVariations ?? []
40469      ];
40470      return [
40471        ...withEmptyVariation.map((variation) => {
40472          const blockStyles = variation?.styles?.blocks ? { ...variation.styles.blocks } : {};
40473          if (userStyles?.blocks) {
40474            Object.keys(userStyles.blocks).forEach((blockName) => {
40475              if (userStyles.blocks?.[blockName]?.css) {
40476                const variationBlockStyles = blockStyles[blockName] || {};
40477                const customCSS = {
40478                  css: `$blockStyles[blockName]?.css || ""} $userStyles.blocks?.[blockName]?.css?.trim() || ""}`
40479                };
40480                blockStyles[blockName] = {
40481                  ...variationBlockStyles,
40482                  ...customCSS
40483                };
40484              }
40485            });
40486          }
40487          const css = userStyles?.css || variation.styles?.css ? {
40488            css: `$variation.styles?.css || ""} $userStyles?.css || ""}`
40489          } : {};
40490          const blocks = Object.keys(blockStyles).length > 0 ? { blocks: blockStyles } : {};
40491          const styles = {
40492            ...variation.styles,
40493            ...css,
40494            ...blocks
40495          };
40496          return {
40497            ...variation,
40498            settings: variation.settings ?? {},
40499            styles
40500          };
40501        })
40502      ];
40503    }, [fullStyleVariations, userStyles?.blocks, userStyles?.css]);
40504    if (!fullStyleVariations || fullStyleVariations.length < 1) {
40505      return null;
40506    }
40507    return /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
40508      import_components47.__experimentalGrid,
40509      {
40510        columns: 2,
40511        className: "global-styles-ui-style-variations-container",
40512        gap,
40513        children: themeVariations.map(
40514          (variation, index2) => /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(Variation, { variation, children: (isFocused) => /* @__PURE__ */ (0, import_jsx_runtime184.jsx)(
40515            preview_styles_default,
40516            {
40517              label: variation?.title,
40518              withHoverView: true,
40519              isFocused,
40520              variation
40521            }
40522          ) }, index2)
40523        )
40524      }
40525    );
40526  }
40527  var style_variations_container_default = StyleVariationsContainer;
40528  
40529  // packages/global-styles-ui/build-module/style-variations-content.mjs
40530  var import_jsx_runtime185 = __toESM(require_jsx_runtime(), 1);
40531  
40532  // packages/global-styles-ui/build-module/screen-style-variations.mjs
40533  var import_jsx_runtime186 = __toESM(require_jsx_runtime(), 1);
40534  
40535  // packages/global-styles-ui/build-module/screen-css.mjs
40536  var import_i18n53 = __toESM(require_i18n(), 1);
40537  var import_components50 = __toESM(require_components(), 1);
40538  var import_block_editor12 = __toESM(require_block_editor(), 1);
40539  var import_jsx_runtime187 = __toESM(require_jsx_runtime(), 1);
40540  var { AdvancedPanel: StylesAdvancedPanel3 } = unlock3(import_block_editor12.privateApis);
40541  
40542  // packages/global-styles-ui/build-module/screen-revisions/index.mjs
40543  var import_i18n55 = __toESM(require_i18n(), 1);
40544  var import_components51 = __toESM(require_components(), 1);
40545  var import_element97 = __toESM(require_element(), 1);
40546  
40547  // packages/global-styles-ui/build-module/screen-revisions/use-global-styles-revisions.mjs
40548  var import_data10 = __toESM(require_data(), 1);
40549  var import_core_data9 = __toESM(require_core_data(), 1);
40550  var import_element95 = __toESM(require_element(), 1);
40551  
40552  // packages/global-styles-ui/build-module/screen-revisions/revisions-list.mjs
40553  var import_i18n54 = __toESM(require_i18n(), 1);
40554  var import_date = __toESM(require_date(), 1);
40555  var import_core_data10 = __toESM(require_core_data(), 1);
40556  var import_data11 = __toESM(require_data(), 1);
40557  var import_element96 = __toESM(require_element(), 1);
40558  var import_jsx_runtime188 = __toESM(require_jsx_runtime(), 1);
40559  var DAY_IN_MILLISECONDS = 60 * 60 * 1e3 * 24;
40560  
40561  // packages/global-styles-ui/build-module/screen-revisions/index.mjs
40562  var import_jsx_runtime189 = __toESM(require_jsx_runtime(), 1);
40563  
40564  // packages/global-styles-ui/build-module/font-sizes/font-sizes.mjs
40565  var import_i18n56 = __toESM(require_i18n(), 1);
40566  var import_components52 = __toESM(require_components(), 1);
40567  var import_jsx_runtime190 = __toESM(require_jsx_runtime(), 1);
40568  
40569  // packages/global-styles-ui/build-module/font-sizes/font-size.mjs
40570  var import_i18n58 = __toESM(require_i18n(), 1);
40571  var import_components54 = __toESM(require_components(), 1);
40572  var import_element98 = __toESM(require_element(), 1);
40573  
40574  // packages/global-styles-ui/build-module/font-sizes/font-size-preview.mjs
40575  var import_block_editor13 = __toESM(require_block_editor(), 1);
40576  var import_i18n57 = __toESM(require_i18n(), 1);
40577  var import_jsx_runtime191 = __toESM(require_jsx_runtime(), 1);
40578  
40579  // packages/global-styles-ui/build-module/size-control/index.mjs
40580  var import_components53 = __toESM(require_components(), 1);
40581  var import_jsx_runtime192 = __toESM(require_jsx_runtime(), 1);
40582  
40583  // packages/global-styles-ui/build-module/font-sizes/font-size.mjs
40584  var import_jsx_runtime193 = __toESM(require_jsx_runtime(), 1);
40585  
40586  // packages/global-styles-ui/build-module/global-styles-ui.mjs
40587  var import_jsx_runtime194 = __toESM(require_jsx_runtime(), 1);
40588  
40589  // packages/global-styles-ui/build-module/with-global-styles-provider.mjs
40590  var import_jsx_runtime195 = __toESM(require_jsx_runtime(), 1);
40591  function withGlobalStylesProvider(Component) {
40592    return function WrappedComponent({
40593      value,
40594      baseValue,
40595      onChange,
40596      ...props
40597    }) {
40598      return /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(
40599        GlobalStylesProvider,
40600        {
40601          value,
40602          baseValue,
40603          onChange,
40604          children: /* @__PURE__ */ (0, import_jsx_runtime195.jsx)(Component, { ...props })
40605        }
40606      );
40607    };
40608  }
40609  
40610  // packages/global-styles-ui/build-module/style-variations.mjs
40611  var StyleVariations = withGlobalStylesProvider(style_variations_container_default);
40612  
40613  // packages/global-styles-ui/build-module/color-variations.mjs
40614  var ColorVariations2 = withGlobalStylesProvider(ColorVariations);
40615  
40616  // packages/global-styles-ui/build-module/typography-variations.mjs
40617  var TypographyVariations2 = withGlobalStylesProvider(TypographyVariations);
40618  
40619  // packages/global-styles-ui/build-module/font-library/font-library.mjs
40620  var import_jsx_runtime196 = __toESM(require_jsx_runtime(), 1);
40621  function FontLibrary({
40622    value,
40623    baseValue,
40624    onChange,
40625    activeTab = "installed-fonts"
40626  }) {
40627    let content;
40628    switch (activeTab) {
40629      case "upload-fonts":
40630        content = /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(upload_fonts_default, {});
40631        break;
40632      case "installed-fonts":
40633        content = /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(installed_fonts_default, {});
40634        break;
40635      default:
40636        content = /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(font_collection_default, { slug: activeTab });
40637    }
40638    return /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(
40639      GlobalStylesProvider,
40640      {
40641        value,
40642        baseValue,
40643        onChange,
40644        children: /* @__PURE__ */ (0, import_jsx_runtime196.jsx)(context_default, { children: content })
40645      }
40646    );
40647  }
40648  
40649  // routes/font-list/lock-unlock.ts
40650  var import_private_apis5 = __toESM(require_private_apis());
40651  var { unlock: unlock4 } = (0, import_private_apis5.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
40652    "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
40653    "@wordpress/font-list-route"
40654  );
40655  
40656  // routes/font-list/style.scss
40657  if (typeof document !== "undefined" && (typeof process === "undefined" || true) && !document.head.querySelector("style[data-wp-hash='cdd5f8ebb6']")) {
40658    const style = document.createElement("style");
40659    style.setAttribute("data-wp-hash", "cdd5f8ebb6");
40660    style.appendChild(document.createTextNode("@media (min-width:782px){.font-library-modal.font-library-modal{width:65vw}}.font-library-modal .components-modal__header{border-bottom:none}.font-library-modal .components-modal__content{margin-bottom:90px;padding:0}.font-library-modal .font-library__subtitle{font-size:11px;font-weight:var(--wpds-typography-font-weight-emphasis,600);text-transform:uppercase}.font-library-modal__tab-panel{height:calc(100% - 50px)}.font-library__tabpanel-layout{display:flex;flex-direction:column;height:100%}.font-library__tabpanel-layout>div{flex-grow:1}.font-library__tabpanel-layout .font-library__loading{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;left:0;padding-top:124px;position:absolute;top:0;width:100%}.font-library__footer,.font-library__tabpanel-layout .components-navigator-screen{padding:24px;width:100%}.font-library__footer{background-color:#fff;border-top:1px solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);bottom:0;box-sizing:border-box;flex-grow:0!important;flex-shrink:0;height:90px;position:absolute}.font-library__page-selection{font-size:11px;font-weight:var(--wpds-typography-font-weight-emphasis,600);text-transform:uppercase}.font-library__page-selection-trigger{font-size:inherit}.font-library__page-selection-trigger button{font-weight:inherit}.font-library__search{width:240px}.font-library__fonts-title{font-size:11px;font-weight:var(--wpds-typography-font-weight-emphasis,600);margin-bottom:0;margin-top:0;text-transform:uppercase}.font-library__fonts-list{list-style:none;margin-bottom:0;margin-top:0;padding:0}.font-library__fonts-list-item{margin-bottom:0}.font-library__font-demo{position:relative}.font-library__font-card{border:1px solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);box-sizing:border-box;height:auto!important;margin-top:-1px;padding:16px;width:100%}.font-library__font-card:hover{background-color:#f0f0f0}.font-library__font-card:focus{position:relative}.font-library__font-card .font-library__font-card__name{font-weight:700}.font-library__font-card .font-library__font-card__count{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}.font-library__font-card .font-library__font-variant_demo-image{display:block;height:24px;width:auto}@media not (prefers-reduced-motion){.font-library__font-card .font-library__font-variant_demo-image{transition:opacity var(--wpds-motion-duration-lg,.3s) var(--wpds-motion-easing-subtle,cubic-bezier(.15,0,.15,1))}}.font-library__font-card .font-library__font-variant_demo-image.is-loading{left:0;opacity:0;position:absolute;top:0}.font-library__font-card .font-library__font-variant-demo-skeleton{border-radius:var(--wpds-border-radius-sm,2px);height:24px}.font-library__font-card .font-library__font-variant_demo-text{flex-shrink:0;white-space:nowrap}@media not (prefers-reduced-motion){.font-library__font-card .font-library__font-variant_demo-text{transition:opacity .3s ease-in-out}}.font-library-modal__tablist-container{background:#fff;border-bottom:1px solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);position:sticky;top:0;z-index:1}.font-library__upload-area{align-items:center;display:flex;height:256px!important;justify-content:center;width:100%}button.font-library__upload-area{background-color:#f0f0f0}.font-library__local-fonts{margin:24px auto;width:80%}.font-library__local-fonts .font-library__upload-area__text{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}.font-library__google-fonts-confirm{align-items:center;display:flex;justify-content:center;margin-top:64px}.font-library__google-fonts-confirm p{line-height:1.4}.font-library__google-fonts-confirm h2{font-size:1.2rem;font-weight:400}.font-library__google-fonts-confirm .components-card{padding:16px;width:400px}.font-library__google-fonts-confirm .components-button{justify-content:center;width:100%}.font-library__select-all{padding:16px 16px 16px 17px}.font-library__select-all .components-checkbox-control__label{padding-left:16px}.global-styles-ui-screen-revisions{display:flex;flex-direction:column;flex-grow:1;min-height:0}.global-styles-ui-screen-revisions__actions{margin-inline-start:auto}.global-styles-ui-screen-revisions__date{font-size:12px;font-weight:var(--wpds-typography-font-weight-emphasis,600);text-transform:uppercase}.global-styles-ui-screen-revisions__description{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.global-styles-ui-screen-revisions__changes,.global-styles-ui-screen-revisions__meta{color:#2f2f2f;font-size:12px}.global-styles-ui-screen-revisions__meta{align-items:center;display:flex;justify-content:start;text-align:left;width:100%}.global-styles-ui-screen-revisions__meta img{border-radius:100%;height:16px;margin-right:8px;width:16px}.global-styles-ui-screen-revisions__changes{line-height:1.4;list-style:disc;margin:0 0 0 12px;text-align:left}.global-styles-ui-screen-revisions__changes li{margin-bottom:4px}.global-styles-ui-variations_item{box-sizing:border-box;cursor:var(--wpds-cursor-control,pointer)}.global-styles-ui-variations_item .global-styles-ui-variations_item-preview{border-radius:2px;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px;overflow:hidden;position:relative}@media not (prefers-reduced-motion){.global-styles-ui-variations_item .global-styles-ui-variations_item-preview{transition:outline .1s linear}}.global-styles-ui-variations_item .global-styles-ui-variations_item-preview.is-pill{height:32px}.global-styles-ui-variations_item .global-styles-ui-variations_item-preview.is-pill .block-editor-iframe__scale-container{overflow:hidden}.global-styles-ui-variations_item:not(.is-active):hover .global-styles-ui-variations_item-preview{outline-color:rgba(0,0,0,.3)}.global-styles-ui-variations_item.is-active .global-styles-ui-variations_item-preview,.global-styles-ui-variations_item:focus-visible .global-styles-ui-variations_item-preview{outline-color:#1e1e1e;outline-offset:1px;outline-width:var(--wp-admin-border-width-focus)}.global-styles-ui-variations_item:focus-visible .global-styles-ui-variations_item-preview{outline-color:var(--wp-admin-theme-color)}.global-styles-ui-preview__wrapper{display:block;max-width:100%;width:100%}.global-styles-ui-preview__wrapper.is-hoverable{cursor:var(--wpds-cursor-control,pointer)}.global-styles-ui-typography-preview{align-items:center;background:#f0f0f0;border-radius:2px;display:flex;justify-content:center;margin-bottom:20px;min-height:100px;overflow:hidden}.global-styles-ui-element-preview{background:#f0f0f0;border-radius:2px;flex-shrink:0;height:120px;margin:0 16px 20px;overflow:hidden}.global-styles-ui-element-preview iframe{border:0;display:block;height:100%;width:100%}.global-styles-ui-font-size__item{line-break:anywhere;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-styles-ui-font-size__item-value{color:#757575}.global-styles-ui-screen-typography__indicator{align-items:center;border-radius:2px;display:flex!important;font-size:14px;height:24px;justify-content:center;width:24px}.global-styles-ui-block-types-filter{margin-bottom:16px;padding:0 16px}.global-styles-ui-block-types-search{flex-grow:1}.global-styles-ui-block-types-item-list{margin-inline:4px}.global-styles-ui-block-types-item-list .global-styles-ui-block-types-item__icon{min-width:24px}.global-styles-ui-block-types-item-list__no-results{padding-top:16px}.global-styles-ui-block-types-group+.global-styles-ui-block-types-group{margin-top:12px}.global-styles-ui-block-types-group:last-child{padding-bottom:12px}.global-styles-ui-block-types-group__title{margin-bottom:12px;padding:0 16px}.global-styles-ui-screen-typography__font-variants-count{color:#757575}.global-styles-ui-font-families__manage-fonts{justify-content:center}.global-styles-ui-screen .color-block-support-panel{border-top:none;padding-left:0;padding-right:0;padding-top:0;row-gap:12px}.global-styles-ui-header{line-height:1.9!important;margin-bottom:0!important}.global-styles-ui-subtitle{font-size:11px!important;font-weight:var(--wpds-typography-font-weight-emphasis,600)!important;margin-bottom:0!important;text-transform:uppercase}.global-styles-ui-section-title{color:#2f2f2f;font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:1.2;margin:0;padding:16px 16px 0}.global-styles-ui-icon-with-current-color{fill:currentColor}.global-styles-ui__color-indicator-wrapper{align-items:center;display:flex;flex-shrink:0;height:24px}.global-styles-ui__palette-preview{display:inline-flex}.global-styles-ui__palette-preview>*+*{margin-inline-start:-8px}.global-styles-ui__shadows-panel__options-container,.global-styles-ui__typography-panel__options-container{height:24px}.global-styles-ui__block-preview-panel{border:1px solid #ddd;border-radius:2px;overflow:hidden;position:relative;width:100%}.global-styles-ui__shadow-preview-panel,.global-styles-ui__text-shadow-preview-panel{background-image:repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0),repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0);background-position:0 0,8px 8px;background-size:16px 16px;border:1px solid #ddd;border-radius:2px;height:144px;overflow:auto}.global-styles-ui__shadow-preview-block{background-color:#fff;border:1px solid #ddd;border-radius:2px;height:60px;width:60%}.global-styles-ui__text-shadow-preview-panel{margin-block:-8px 16px}.global-styles-ui__text-shadow-preview-text{font-size:24px}.global-styles-ui__text-shadow-editor__header{margin-block-end:8px}.global-styles-ui__text-shadow-editor__inputs{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.global-styles-ui__shadow-editor__dropdown-content,.global-styles-ui__text-shadow-editor__dropdown-content{width:280px}.global-styles-ui__shadow-editor-panel,.global-styles-ui__text-shadow-editor-panel{margin-bottom:4px}.global-styles-ui__shadow-editor__dropdown,.global-styles-ui__text-shadow-editor__dropdown{position:relative;width:100%}.global-styles-ui__shadow-editor__dropdown-toggle,.global-styles-ui__text-shadow-editor__dropdown-toggle{border-radius:inherit;height:auto;padding-bottom:8px;padding-top:8px;text-align:left;width:100%}.global-styles-ui__shadow-editor__dropdown-toggle.is-open,.global-styles-ui__text-shadow-editor__dropdown-toggle.is-open{background:#f0f0f0;color:var(--wp-admin-theme-color)}.global-styles-ui__shadow-editor__remove-button,.global-styles-ui__text-shadow-editor__remove-button{opacity:0;position:absolute;right:8px;top:8px}.global-styles-ui__shadow-editor__dropdown-toggle:hover+.global-styles-ui__shadow-editor__remove-button,.global-styles-ui__shadow-editor__dropdown-toggle:hover+.global-styles-ui__text-shadow-editor__remove-button,.global-styles-ui__shadow-editor__remove-button:focus,.global-styles-ui__shadow-editor__remove-button:hover,.global-styles-ui__text-shadow-editor__dropdown-toggle:hover+.global-styles-ui__shadow-editor__remove-button,.global-styles-ui__text-shadow-editor__dropdown-toggle:hover+.global-styles-ui__text-shadow-editor__remove-button,.global-styles-ui__text-shadow-editor__remove-button:focus,.global-styles-ui__text-shadow-editor__remove-button:hover{opacity:1}@media (hover:none){.global-styles-ui__shadow-editor__remove-button,.global-styles-ui__text-shadow-editor__remove-button{opacity:1}}.global-styles-ui-screen-css{display:flex;flex:1 1 auto;flex-direction:column;margin:16px}.global-styles-ui-screen-css .block-editor-global-styles-advanced-panel{flex:1 1 auto}.global-styles-ui-screen-css .block-editor-global-styles-advanced-panel__custom-css-input,.global-styles-ui-screen-css .block-editor-global-styles-advanced-panel__custom-css-input .components-base-control__field{display:flex;flex:1 1 auto;flex-direction:column}.global-styles-ui-screen-css .block-editor-global-styles-advanced-panel__custom-css-input textarea{flex:1 1 auto}.global-styles-ui-screen-css-help-link{display:inline-block;margin-top:8px}.global-styles-ui-screen-variations{border-top:1px solid #ddd;margin-top:16px}.global-styles-ui-screen-variations>*{margin:24px 16px}.global-styles-ui-sidebar__navigator-provider{height:100%}.global-styles-ui-sidebar__navigator-screen{display:flex;flex-direction:column;height:100%}.global-styles-ui-color-palette__tablist-container{border-bottom:1px solid #ddd}.global-styles-ui-color-palette__tablist{margin-bottom:-1px}.global-styles-ui-sidebar__navigator-screen .single-column{grid-column:span 1}.global-styles-ui-screen-root.global-styles-ui-screen-root,.global-styles-ui-screen-style-variations.global-styles-ui-screen-style-variations{background:unset;color:inherit}.global-styles-ui-sidebar__panel .block-editor-block-icon svg{fill:currentColor}.global-styles-ui-screen-root__active-style-tile.global-styles-ui-screen-root__active-style-tile,.global-styles-ui-screen-root__active-style-tile.global-styles-ui-screen-root__active-style-tile .global-styles-ui-screen-root__active-style-tile-preview{border-radius:2px}.global-styles-ui-screen-root__active-style-tile-preview{clip-path:border-box}.global-styles-ui-color-palette-panel,.global-styles-ui-duotone-palette-panel,.global-styles-ui-gradient-palette-panel{padding:16px}.font-library-page__content{display:flex;flex-direction:column;flex-grow:1;min-height:0}.font-library-page:has(.font-library__footer) .font-library-page__content{padding-bottom:90px}.font-library-page__tablist{border-bottom:1px solid #f0f0f0;flex-shrink:0;padding:0 24px}.font-library-page__tab-panel{flex-grow:1;min-height:0;overflow:auto}"));
40661    document.head.appendChild(style);
40662  }
40663  
40664  // routes/font-list/stage.tsx
40665  var import_jsx_runtime197 = __toESM(require_jsx_runtime());
40666  var { Tabs: Tabs2 } = unlock4(import_components56.privateApis);
40667  var { useGlobalStyles } = unlock4(import_editor.privateApis);
40668  function FontLibraryPage() {
40669    const { records: collections = [] } = (0, import_core_data11.useEntityRecords)("root", "fontCollection", {
40670      _fields: "slug,name,description"
40671    });
40672    const [activeTab, setActiveTab] = (0, import_element100.useState)("installed-fonts");
40673    const { base, user, setUser, isReady } = useGlobalStyles();
40674    const canUserCreate = (0, import_data13.useSelect)((select) => {
40675      return select(import_core_data11.store).canUser("create", {
40676        kind: "postType",
40677        name: "wp_font_family"
40678      });
40679    }, []);
40680    if (!isReady) {
40681      return null;
40682    }
40683    const tabs = [
40684      {
40685        id: "installed-fonts",
40686        title: (0, import_i18n59._x)("Library", "Font library")
40687      }
40688    ];
40689    if (canUserCreate) {
40690      tabs.push({
40691        id: "upload-fonts",
40692        title: (0, import_i18n59._x)("Upload", "noun")
40693      });
40694      tabs.push(
40695        ...(collections || []).map(({ slug, name: name2 }) => ({
40696          id: slug,
40697          title: collections && collections.length === 1 && slug === "google-fonts" ? (0, import_i18n59.__)("Install Fonts") : name2
40698        }))
40699      );
40700    }
40701    return /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(page_default, { title: (0, import_i18n59.__)("Fonts"), className: "font-library-page", children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)("div", { className: "font-library-page__content", children: /* @__PURE__ */ (0, import_jsx_runtime197.jsxs)(
40702      Tabs2,
40703      {
40704        selectedTabId: activeTab,
40705        onSelect: (tabId) => setActiveTab(tabId),
40706        children: [
40707          /* @__PURE__ */ (0, import_jsx_runtime197.jsx)("div", { className: "font-library-page__tablist", children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(Tabs2.TabList, { children: tabs.map(({ id, title }) => /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(Tabs2.Tab, { tabId: id, children: title }, id)) }) }),
40708          tabs.map(({ id }) => /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(
40709            Tabs2.TabPanel,
40710            {
40711              tabId: id,
40712              focusable: false,
40713              className: "font-library-page__tab-panel",
40714              children: /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(
40715                FontLibrary,
40716                {
40717                  value: user,
40718                  baseValue: base,
40719                  onChange: setUser,
40720                  activeTab: id
40721                }
40722              )
40723            },
40724            id
40725          ))
40726        ]
40727      }
40728    ) }) });
40729  }
40730  function Stage() {
40731    return /* @__PURE__ */ (0, import_jsx_runtime197.jsx)(FontLibraryPage, {});
40732  }
40733  var stage = Stage;
40734  export {
40735    stage
40736  };
40737  /*! Bundled license information:
40738  
40739  use-sync-external-store/cjs/use-sync-external-store-shim.development.js:
40740    (**
40741     * @license React
40742     * use-sync-external-store-shim.development.js
40743     *
40744     * Copyright (c) Meta Platforms, Inc. and affiliates.
40745     *
40746     * This source code is licensed under the MIT license found in the
40747     * LICENSE file in the root directory of this source tree.
40748     *)
40749  
40750  use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js:
40751    (**
40752     * @license React
40753     * use-sync-external-store-shim/with-selector.development.js
40754     *
40755     * Copyright (c) Meta Platforms, Inc. and affiliates.
40756     *
40757     * This source code is licensed under the MIT license found in the
40758     * LICENSE file in the root directory of this source tree.
40759     *)
40760  
40761  is-plain-object/dist/is-plain-object.mjs:
40762    (*!
40763     * is-plain-object <https://github.com/jonschlinkert/is-plain-object>
40764     *
40765     * Copyright (c) 2014-2017, Jon Schlinkert.
40766     * Released under the MIT License.
40767     *)
40768  */


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