[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

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

   1  (function() {
   2  var wp;
   3  (wp ||= {}).widgets = (() => {
   4    var __create = Object.create;
   5    var __defProp = Object.defineProperty;
   6    var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
   7    var __getOwnPropNames = Object.getOwnPropertyNames;
   8    var __getProtoOf = Object.getPrototypeOf;
   9    var __hasOwnProp = Object.prototype.hasOwnProperty;
  10    var __commonJS = (cb, mod) => function __require() {
  11      return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
  12    };
  13    var __export = (target, all) => {
  14      for (var name3 in all)
  15        __defProp(target, name3, { get: all[name3], enumerable: true });
  16    };
  17    var __copyProps = (to, from, except, desc) => {
  18      if (from && typeof from === "object" || typeof from === "function") {
  19        for (let key of __getOwnPropNames(from))
  20          if (!__hasOwnProp.call(to, key) && key !== except)
  21            __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  22      }
  23      return to;
  24    };
  25    var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  26      // If the importer is in node compatibility mode or this is not an ESM
  27      // file that has been converted to a CommonJS file using a Babel-
  28      // compatible transform (i.e. "__esModule" has not been set), then set
  29      // "default" to the CommonJS "module.exports" for node compatibility.
  30      isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  31      mod
  32    ));
  33    var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
  34  
  35    // package-external:@wordpress/blocks
  36    var require_blocks = __commonJS({
  37      "package-external:@wordpress/blocks"(exports, module) {
  38        module.exports = window.wp.blocks;
  39      }
  40    });
  41  
  42    // package-external:@wordpress/element
  43    var require_element = __commonJS({
  44      "package-external:@wordpress/element"(exports, module) {
  45        module.exports = window.wp.element;
  46      }
  47    });
  48  
  49    // package-external:@wordpress/primitives
  50    var require_primitives = __commonJS({
  51      "package-external:@wordpress/primitives"(exports, module) {
  52        module.exports = window.wp.primitives;
  53      }
  54    });
  55  
  56    // vendor-external:react/jsx-runtime
  57    var require_jsx_runtime = __commonJS({
  58      "vendor-external:react/jsx-runtime"(exports, module) {
  59        module.exports = window.ReactJSXRuntime;
  60      }
  61    });
  62  
  63    // package-external:@wordpress/block-editor
  64    var require_block_editor = __commonJS({
  65      "package-external:@wordpress/block-editor"(exports, module) {
  66        module.exports = window.wp.blockEditor;
  67      }
  68    });
  69  
  70    // package-external:@wordpress/components
  71    var require_components = __commonJS({
  72      "package-external:@wordpress/components"(exports, module) {
  73        module.exports = window.wp.components;
  74      }
  75    });
  76  
  77    // package-external:@wordpress/i18n
  78    var require_i18n = __commonJS({
  79      "package-external:@wordpress/i18n"(exports, module) {
  80        module.exports = window.wp.i18n;
  81      }
  82    });
  83  
  84    // package-external:@wordpress/core-data
  85    var require_core_data = __commonJS({
  86      "package-external:@wordpress/core-data"(exports, module) {
  87        module.exports = window.wp.coreData;
  88      }
  89    });
  90  
  91    // vendor-external:react
  92    var require_react = __commonJS({
  93      "vendor-external:react"(exports, module) {
  94        module.exports = window.React;
  95      }
  96    });
  97  
  98    // vendor-external:react-dom
  99    var require_react_dom = __commonJS({
 100      "vendor-external:react-dom"(exports, module) {
 101        module.exports = window.ReactDOM;
 102      }
 103    });
 104  
 105    // 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
 106    var require_use_sync_external_store_shim_development = __commonJS({
 107      "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) {
 108        "use strict";
 109        (function() {
 110          function is(x, y) {
 111            return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
 112          }
 113          function useSyncExternalStore$2(subscribe2, getSnapshot) {
 114            didWarnOld18Alpha || void 0 === React88.startTransition || (didWarnOld18Alpha = true, console.error(
 115              "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."
 116            ));
 117            var value = getSnapshot();
 118            if (!didWarnUncachedGetSnapshot) {
 119              var cachedValue = getSnapshot();
 120              objectIs(value, cachedValue) || (console.error(
 121                "The result of getSnapshot should be cached to avoid an infinite loop"
 122              ), didWarnUncachedGetSnapshot = true);
 123            }
 124            cachedValue = useState22({
 125              inst: { value, getSnapshot }
 126            });
 127            var inst = cachedValue[0].inst, forceUpdate = cachedValue[1];
 128            useLayoutEffect3(
 129              function() {
 130                inst.value = value;
 131                inst.getSnapshot = getSnapshot;
 132                checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 133              },
 134              [subscribe2, value, getSnapshot]
 135            );
 136            useEffect15(
 137              function() {
 138                checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 139                return subscribe2(function() {
 140                  checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 141                });
 142              },
 143              [subscribe2]
 144            );
 145            useDebugValue2(value);
 146            return value;
 147          }
 148          function checkIfSnapshotChanged(inst) {
 149            var latestGetSnapshot = inst.getSnapshot;
 150            inst = inst.value;
 151            try {
 152              var nextValue = latestGetSnapshot();
 153              return !objectIs(inst, nextValue);
 154            } catch (error2) {
 155              return true;
 156            }
 157          }
 158          function useSyncExternalStore$1(subscribe2, getSnapshot) {
 159            return getSnapshot();
 160          }
 161          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
 162          var React88 = require_react(), objectIs = "function" === typeof Object.is ? Object.is : is, useState22 = React88.useState, useEffect15 = React88.useEffect, useLayoutEffect3 = React88.useLayoutEffect, useDebugValue2 = React88.useDebugValue, didWarnOld18Alpha = false, didWarnUncachedGetSnapshot = false, shim = "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2;
 163          exports.useSyncExternalStore = void 0 !== React88.useSyncExternalStore ? React88.useSyncExternalStore : shim;
 164          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
 165        })();
 166      }
 167    });
 168  
 169    // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/index.js
 170    var require_shim = __commonJS({
 171      "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/index.js"(exports, module) {
 172        "use strict";
 173        if (false) {
 174          module.exports = null;
 175        } else {
 176          module.exports = require_use_sync_external_store_shim_development();
 177        }
 178      }
 179    });
 180  
 181    // 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
 182    var require_with_selector_development = __commonJS({
 183      "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) {
 184        "use strict";
 185        (function() {
 186          function is(x, y) {
 187            return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
 188          }
 189          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
 190          var React88 = require_react(), shim = require_shim(), objectIs = "function" === typeof Object.is ? Object.is : is, useSyncExternalStore2 = shim.useSyncExternalStore, useRef36 = React88.useRef, useEffect15 = React88.useEffect, useMemo23 = React88.useMemo, useDebugValue2 = React88.useDebugValue;
 191          exports.useSyncExternalStoreWithSelector = function(subscribe2, getSnapshot, getServerSnapshot, selector, isEqual) {
 192            var instRef = useRef36(null);
 193            if (null === instRef.current) {
 194              var inst = { hasValue: false, value: null };
 195              instRef.current = inst;
 196            } else inst = instRef.current;
 197            instRef = useMemo23(
 198              function() {
 199                function memoizedSelector(nextSnapshot) {
 200                  if (!hasMemo) {
 201                    hasMemo = true;
 202                    memoizedSnapshot = nextSnapshot;
 203                    nextSnapshot = selector(nextSnapshot);
 204                    if (void 0 !== isEqual && inst.hasValue) {
 205                      var currentSelection = inst.value;
 206                      if (isEqual(currentSelection, nextSnapshot))
 207                        return memoizedSelection = currentSelection;
 208                    }
 209                    return memoizedSelection = nextSnapshot;
 210                  }
 211                  currentSelection = memoizedSelection;
 212                  if (objectIs(memoizedSnapshot, nextSnapshot))
 213                    return currentSelection;
 214                  var nextSelection = selector(nextSnapshot);
 215                  if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))
 216                    return memoizedSnapshot = nextSnapshot, currentSelection;
 217                  memoizedSnapshot = nextSnapshot;
 218                  return memoizedSelection = nextSelection;
 219                }
 220                var hasMemo = false, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot;
 221                return [
 222                  function() {
 223                    return memoizedSelector(getSnapshot());
 224                  },
 225                  null === maybeGetServerSnapshot ? void 0 : function() {
 226                    return memoizedSelector(maybeGetServerSnapshot());
 227                  }
 228                ];
 229              },
 230              [getSnapshot, getServerSnapshot, selector, isEqual]
 231            );
 232            var value = useSyncExternalStore2(subscribe2, instRef[0], instRef[1]);
 233            useEffect15(
 234              function() {
 235                inst.hasValue = true;
 236                inst.value = value;
 237              },
 238              [value]
 239            );
 240            useDebugValue2(value);
 241            return value;
 242          };
 243          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
 244        })();
 245      }
 246    });
 247  
 248    // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/with-selector.js
 249    var require_with_selector = __commonJS({
 250      "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/with-selector.js"(exports, module) {
 251        "use strict";
 252        if (false) {
 253          module.exports = null;
 254        } else {
 255          module.exports = require_with_selector_development();
 256        }
 257      }
 258    });
 259  
 260    // package-external:@wordpress/compose
 261    var require_compose = __commonJS({
 262      "package-external:@wordpress/compose"(exports, module) {
 263        module.exports = window.wp.compose;
 264      }
 265    });
 266  
 267    // package-external:@wordpress/data
 268    var require_data = __commonJS({
 269      "package-external:@wordpress/data"(exports, module) {
 270        module.exports = window.wp.data;
 271      }
 272    });
 273  
 274    // package-external:@wordpress/notices
 275    var require_notices = __commonJS({
 276      "package-external:@wordpress/notices"(exports, module) {
 277        module.exports = window.wp.notices;
 278      }
 279    });
 280  
 281    // package-external:@wordpress/api-fetch
 282    var require_api_fetch = __commonJS({
 283      "package-external:@wordpress/api-fetch"(exports, module) {
 284        module.exports = window.wp.apiFetch;
 285      }
 286    });
 287  
 288    // packages/widgets/build-module/index.mjs
 289    var index_exports = {};
 290    __export(index_exports, {
 291      MoveToWidgetArea: () => MoveToWidgetArea,
 292      addWidgetIdToBlock: () => addWidgetIdToBlock,
 293      getWidgetIdFromBlock: () => getWidgetIdFromBlock,
 294      registerLegacyWidgetBlock: () => registerLegacyWidgetBlock,
 295      registerLegacyWidgetVariations: () => registerLegacyWidgetVariations,
 296      registerWidgetGroupBlock: () => registerWidgetGroupBlock
 297    });
 298    var import_blocks5 = __toESM(require_blocks(), 1);
 299  
 300    // packages/widgets/build-module/blocks/legacy-widget/index.mjs
 301    var legacy_widget_exports = {};
 302    __export(legacy_widget_exports, {
 303      metadata: () => block_default,
 304      name: () => name,
 305      settings: () => settings
 306    });
 307  
 308    // packages/icons/build-module/library/brush.mjs
 309    var import_primitives = __toESM(require_primitives(), 1);
 310    var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
 311    var brush_default = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_primitives.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_runtime.jsx)(import_primitives.Path, { d: "M17 15.25L17.5858 14.6642C18.3668 13.8832 18.3668 12.6168 17.5858 11.8358L16.7071 10.9571C16.3166 10.5666 16.3166 9.93342 16.7071 9.54289L20 6.25C20.5523 5.69772 20.5523 4.80228 20 4.25C19.4477 3.69772 18.5523 3.69771 18 4.25L14.7071 7.54289C14.3166 7.93342 13.6834 7.93342 13.2929 7.54289L12.4142 6.66421C11.6332 5.88316 10.3668 5.88316 9.58579 6.66421L9 7.25M17 15.25L14.1213 18.1287C12.9497 19.3003 11.0503 19.3003 9.87868 18.1287L8 16.25M17 15.25L9 7.25M9 7.25L4 12.25L6 14.25M6 14.25L8 12.25M6 14.25L8 16.25M8 16.25L10 14.25" }) });
 312  
 313    // packages/icons/build-module/library/check.mjs
 314    var import_primitives2 = __toESM(require_primitives(), 1);
 315    var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
 316    var check_default = /* @__PURE__ */ (0, import_jsx_runtime2.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_runtime2.jsx)(import_primitives2.Path, { d: "M7 12L10 15L17 8" }) });
 317  
 318    // packages/icons/build-module/library/chevron-down.mjs
 319    var import_primitives3 = __toESM(require_primitives(), 1);
 320    var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
 321    var chevron_down_default = /* @__PURE__ */ (0, import_jsx_runtime3.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_runtime3.jsx)(import_primitives3.Path, { d: "M7 11L12 15L17 11" }) });
 322  
 323    // packages/icons/build-module/library/group.mjs
 324    var import_primitives4 = __toESM(require_primitives(), 1);
 325    var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
 326    var group_default = /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_primitives4.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
 327      /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_primitives4.Path, { d: "M4.75 11C4.75 10.3096 5.30964 9.75 6 9.75H13C13.6904 9.75 14.25 10.3096 14.25 11V18C14.25 18.6904 13.6904 19.25 13 19.25H6C5.30964 19.25 4.75 18.6904 4.75 18V11Z" }),
 328      /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_primitives4.Path, { d: "M9.75 6C9.75 5.30964 10.3096 4.75 11 4.75H18C18.6904 4.75 19.25 5.30964 19.25 6V13C19.25 13.6904 18.6904 14.25 18 14.25H11C10.3096 14.25 9.75 13.6904 9.75 13V6Z" })
 329    ] });
 330  
 331    // packages/icons/build-module/library/move-to.mjs
 332    var import_primitives5 = __toESM(require_primitives(), 1);
 333    var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
 334    var move_to_default = /* @__PURE__ */ (0, import_jsx_runtime5.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_runtime5.jsx)(import_primitives5.Path, { d: "M11 4H15C16.933 4 18.5 5.567 18.5 7.5C18.5 9.433 16.933 11 15 11H8.5C6.567 11 5 12.567 5 14.5C5 16.433 6.567 18 8.5 18H11H17M14 21L17 18L14 15" }) });
 335  
 336    // packages/icons/build-module/library/widget.mjs
 337    var import_primitives6 = __toESM(require_primitives(), 1);
 338    var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);
 339    var widget_default = /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_primitives6.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
 340      /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_primitives6.Path, { d: "M19.25 8.25V7C19.25 6.30964 18.6904 5.75 18 5.75H17M7 5.75H6C5.30964 5.75 4.75 6.30964 4.75 7V8.25L4.75 19C4.75 19.6904 5.30964 20.25 6 20.25H18C18.6904 20.25 19.25 19.6904 19.25 19V8.25M19.25 8.25H4.75M7.25 11.75H9.25M11 11.75H13M14.75 11.75H16.75M7 5.75V3M7 5.75H17M17 5.75V3" }),
 341      /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_primitives6.Path, { d: "M18 5.75H6C5.30964 5.75 4.75 6.30964 4.75 7V8.25H19.25V7C19.25 6.30964 18.6904 5.75 18 5.75Z", fill: "currentColor" })
 342    ] });
 343  
 344    // packages/widgets/build-module/blocks/legacy-widget/block.json
 345    var block_default = {
 346      $schema: "https://schemas.wp.org/trunk/block.json",
 347      apiVersion: 3,
 348      name: "core/legacy-widget",
 349      title: "Legacy Widget",
 350      category: "widgets",
 351      description: "Display a legacy widget.",
 352      textdomain: "default",
 353      attributes: {
 354        id: {
 355          type: "string",
 356          default: null
 357        },
 358        idBase: {
 359          type: "string",
 360          default: null
 361        },
 362        instance: {
 363          type: "object",
 364          default: null
 365        }
 366      },
 367      supports: {
 368        html: false,
 369        customClassName: false,
 370        reusable: false
 371      },
 372      editorStyle: "wp-block-legacy-widget-editor"
 373    };
 374  
 375    // node_modules/.store/clsx@2.1.1-XOLP1vUL9vEGfpiXm37fAw/node_modules/clsx/dist/clsx.mjs
 376    function r(e) {
 377      var t, f, n = "";
 378      if ("string" == typeof e || "number" == typeof e) n += e;
 379      else if ("object" == typeof e) if (Array.isArray(e)) {
 380        var o = e.length;
 381        for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
 382      } else for (f in e) e[f] && (n && (n += " "), n += f);
 383      return n;
 384    }
 385    function clsx() {
 386      for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
 387      return n;
 388    }
 389    var clsx_default = clsx;
 390  
 391    // packages/widgets/build-module/blocks/legacy-widget/edit/index.mjs
 392    var import_block_editor3 = __toESM(require_block_editor(), 1);
 393    var import_components5 = __toESM(require_components(), 1);
 394    var import_i18n10 = __toESM(require_i18n(), 1);
 395    var import_element37 = __toESM(require_element(), 1);
 396    var import_core_data2 = __toESM(require_core_data(), 1);
 397  
 398    // packages/widgets/build-module/blocks/legacy-widget/edit/widget-type-selector.mjs
 399    var import_components = __toESM(require_components(), 1);
 400  
 401    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useRenderElement.mjs
 402    var React4 = __toESM(require_react(), 1);
 403  
 404    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useRefWithInit.mjs
 405    var React = __toESM(require_react(), 1);
 406    var UNINITIALIZED = {};
 407    function useRefWithInit(init, initArg) {
 408      const ref = React.useRef(UNINITIALIZED);
 409      if (ref.current === UNINITIALIZED) {
 410        ref.current = init(initArg);
 411      }
 412      return ref;
 413    }
 414  
 415    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useMergedRefs.mjs
 416    function useMergedRefs(a, b, c, d) {
 417      const forkRef = useRefWithInit(createForkRef).current;
 418      if (didChange(forkRef, a, b, c, d)) {
 419        update(forkRef, [a, b, c, d]);
 420      }
 421      return forkRef.callback;
 422    }
 423    function useMergedRefsN(refs) {
 424      const forkRef = useRefWithInit(createForkRef).current;
 425      if (didChangeN(forkRef, refs)) {
 426        update(forkRef, refs);
 427      }
 428      return forkRef.callback;
 429    }
 430    function createForkRef() {
 431      return {
 432        callback: null,
 433        cleanup: null,
 434        refs: []
 435      };
 436    }
 437    function didChange(forkRef, a, b, c, d) {
 438      return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c || forkRef.refs[3] !== d;
 439    }
 440    function didChangeN(forkRef, newRefs) {
 441      return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index2) => ref !== newRefs[index2]);
 442    }
 443    function update(forkRef, refs) {
 444      forkRef.refs = refs;
 445      if (refs.every((ref) => ref == null)) {
 446        forkRef.callback = null;
 447        return;
 448      }
 449      forkRef.callback = (instance) => {
 450        if (forkRef.cleanup) {
 451          forkRef.cleanup();
 452          forkRef.cleanup = null;
 453        }
 454        if (instance != null) {
 455          const cleanupCallbacks = Array(refs.length).fill(null);
 456          for (let i = 0; i < refs.length; i += 1) {
 457            const ref = refs[i];
 458            if (ref == null) {
 459              continue;
 460            }
 461            switch (typeof ref) {
 462              case "function": {
 463                const refCleanup = ref(instance);
 464                if (typeof refCleanup === "function") {
 465                  cleanupCallbacks[i] = refCleanup;
 466                }
 467                break;
 468              }
 469              case "object": {
 470                ref.current = instance;
 471                break;
 472              }
 473              default:
 474            }
 475          }
 476          forkRef.cleanup = () => {
 477            for (let i = 0; i < refs.length; i += 1) {
 478              const ref = refs[i];
 479              if (ref == null) {
 480                continue;
 481              }
 482              switch (typeof ref) {
 483                case "function": {
 484                  const cleanupCallback = cleanupCallbacks[i];
 485                  if (typeof cleanupCallback === "function") {
 486                    cleanupCallback();
 487                  } else {
 488                    void ref(null);
 489                  }
 490                  break;
 491                }
 492                case "object": {
 493                  ref.current = null;
 494                  break;
 495                }
 496                default:
 497              }
 498            }
 499          };
 500        }
 501      };
 502    }
 503  
 504    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/getReactElementRef.mjs
 505    var React3 = __toESM(require_react(), 1);
 506  
 507    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/reactVersion.mjs
 508    var React2 = __toESM(require_react(), 1);
 509    var majorVersion = parseInt(React2.version, 10);
 510    function isReactVersionAtLeast(reactVersionToCheck) {
 511      return majorVersion >= reactVersionToCheck;
 512    }
 513  
 514    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/getReactElementRef.mjs
 515    function getReactElementRef(element) {
 516      if (!/* @__PURE__ */ React3.isValidElement(element)) {
 517        return null;
 518      }
 519      const reactElement = element;
 520      const propsWithRef = reactElement.props;
 521      return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;
 522    }
 523  
 524    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/mergeObjects.mjs
 525    function mergeObjects(a, b) {
 526      if (a && !b) {
 527        return a;
 528      }
 529      if (!a && b) {
 530        return b;
 531      }
 532      if (a || b) {
 533        return {
 534          ...a,
 535          ...b
 536        };
 537      }
 538      return void 0;
 539    }
 540  
 541    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/createLogOnce.mjs
 542    var loggedMessages;
 543    if (true) {
 544      loggedMessages = /* @__PURE__ */ new Set();
 545    }
 546    function createLogOnce(severity, prefix) {
 547      return function logOnce(...messages) {
 548        if (true) {
 549          const message = messages.join(" ");
 550          const output = prefix ? `$prefix}: $message}` : message;
 551          const key = `$severity}:$output}`;
 552          if (!loggedMessages.has(key)) {
 553            loggedMessages.add(key);
 554            if (severity === "warn") {
 555              console.warn(output);
 556            } else {
 557              console.error(output);
 558            }
 559          }
 560        }
 561      };
 562    }
 563  
 564    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/warn.mjs
 565    var warn = createLogOnce("warn", "Base UI");
 566  
 567    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/empty.mjs
 568    function NOOP() {
 569    }
 570    var EMPTY_ARRAY = Object.freeze([]);
 571    var EMPTY_OBJECT = Object.freeze({});
 572  
 573    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/getStateAttributesProps.mjs
 574    function getStateAttributesProps(state, customMapping) {
 575      const props = {};
 576      for (const key in state) {
 577        const value = state[key];
 578        if (customMapping?.hasOwnProperty(key)) {
 579          const customProps = customMapping[key](value);
 580          if (customProps != null) {
 581            Object.assign(props, customProps);
 582          }
 583          continue;
 584        }
 585        if (value === true) {
 586          props[`data-$key.toLowerCase()}`] = "";
 587        } else if (value) {
 588          props[`data-$key.toLowerCase()}`] = value.toString();
 589        }
 590      }
 591      return props;
 592    }
 593  
 594    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveClassName.mjs
 595    function resolveClassName(className, state) {
 596      return typeof className === "function" ? className(state) : className;
 597    }
 598  
 599    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveStyle.mjs
 600    function resolveStyle(style, state) {
 601      return typeof style === "function" ? style(state) : style;
 602    }
 603  
 604    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/merge-props/mergeProps.mjs
 605    var EMPTY_PROPS = {};
 606    function mergeProps(a, b, c, d, e) {
 607      if (!c && !d && !e && !a) {
 608        return createInitialMergedProps(b);
 609      }
 610      let merged = createInitialMergedProps(a);
 611      if (b) {
 612        merged = mergeInto(merged, b);
 613      }
 614      if (c) {
 615        merged = mergeInto(merged, c);
 616      }
 617      if (d) {
 618        merged = mergeInto(merged, d);
 619      }
 620      if (e) {
 621        merged = mergeInto(merged, e);
 622      }
 623      return merged;
 624    }
 625    function mergePropsN(props) {
 626      if (props.length === 0) {
 627        return EMPTY_PROPS;
 628      }
 629      if (props.length === 1) {
 630        return createInitialMergedProps(props[0]);
 631      }
 632      let merged = createInitialMergedProps(props[0]);
 633      for (let i = 1; i < props.length; i += 1) {
 634        merged = mergeInto(merged, props[i]);
 635      }
 636      return merged;
 637    }
 638    function createInitialMergedProps(inputProps) {
 639      if (isPropsGetter(inputProps)) {
 640        return {
 641          ...inputProps(EMPTY_PROPS)
 642        };
 643      }
 644      return copyInitialProps(inputProps);
 645    }
 646    function mergeInto(merged, inputProps) {
 647      if (isPropsGetter(inputProps)) {
 648        return inputProps(merged);
 649      }
 650      return mutablyMergeInto(merged, inputProps);
 651    }
 652    function copyInitialProps(inputProps) {
 653      const copiedProps = {
 654        ...inputProps
 655      };
 656      for (const propName in copiedProps) {
 657        const propValue = copiedProps[propName];
 658        if (isEventHandler(propName, propValue)) {
 659          copiedProps[propName] = wrapEventHandler(propValue);
 660        }
 661      }
 662      return copiedProps;
 663    }
 664    function mutablyMergeInto(mergedProps, externalProps) {
 665      if (!externalProps) {
 666        return mergedProps;
 667      }
 668      for (const propName in externalProps) {
 669        const externalPropValue = externalProps[propName];
 670        switch (propName) {
 671          case "style": {
 672            mergedProps[propName] = mergeObjects(mergedProps.style, externalPropValue);
 673            break;
 674          }
 675          case "className": {
 676            mergedProps[propName] = mergeClassNames(mergedProps.className, externalPropValue);
 677            break;
 678          }
 679          default: {
 680            if (isEventHandler(propName, externalPropValue)) {
 681              mergedProps[propName] = mergeEventHandlers(mergedProps[propName], externalPropValue);
 682            } else {
 683              mergedProps[propName] = externalPropValue;
 684            }
 685          }
 686        }
 687      }
 688      return mergedProps;
 689    }
 690    function isEventHandler(key, value) {
 691      const code0 = key.charCodeAt(0);
 692      const code1 = key.charCodeAt(1);
 693      const code2 = key.charCodeAt(2);
 694      return code0 === 111 && code1 === 110 && code2 >= 65 && code2 <= 90 && (typeof value === "function" || typeof value === "undefined");
 695    }
 696    function isPropsGetter(inputProps) {
 697      return typeof inputProps === "function";
 698    }
 699    function mergeEventHandlers(ourHandler, theirHandler) {
 700      if (!theirHandler) {
 701        return ourHandler;
 702      }
 703      if (!ourHandler) {
 704        return wrapEventHandler(theirHandler);
 705      }
 706      return (...args) => {
 707        const event = args[0];
 708        if (isSyntheticEvent(event)) {
 709          const baseUIEvent = event;
 710          makeEventPreventable(baseUIEvent);
 711          const result2 = theirHandler(...args);
 712          if (!baseUIEvent.baseUIHandlerPrevented) {
 713            ourHandler?.(...args);
 714          }
 715          return result2;
 716        }
 717        const result = theirHandler(...args);
 718        ourHandler?.(...args);
 719        return result;
 720      };
 721    }
 722    function wrapEventHandler(handler) {
 723      if (!handler) {
 724        return handler;
 725      }
 726      return (...args) => {
 727        const event = args[0];
 728        if (isSyntheticEvent(event)) {
 729          makeEventPreventable(event);
 730        }
 731        return handler(...args);
 732      };
 733    }
 734    function makeEventPreventable(event) {
 735      event.preventBaseUIHandler = () => {
 736        event.baseUIHandlerPrevented = true;
 737      };
 738      return event;
 739    }
 740    function mergeClassNames(ourClassName, theirClassName) {
 741      if (theirClassName) {
 742        if (ourClassName) {
 743          return theirClassName + " " + ourClassName;
 744        }
 745        return theirClassName;
 746      }
 747      return ourClassName;
 748    }
 749    function isSyntheticEvent(event) {
 750      return event != null && typeof event === "object" && "nativeEvent" in event;
 751    }
 752  
 753    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useRenderElement.mjs
 754    var import_react = __toESM(require_react(), 1);
 755    function useRenderElement(element, componentProps, params = {}) {
 756      let renderProp = componentProps.render;
 757      if (params.enabled !== false) {
 758        renderProp = unwrapLazyRenderProp(renderProp);
 759      }
 760      const outProps = useRenderElementProps(componentProps, params, renderProp);
 761      if (params.enabled === false) {
 762        return null;
 763      }
 764      const state = params.state ?? EMPTY_OBJECT;
 765      return evaluateRenderProp(element, renderProp, outProps, state);
 766    }
 767    function useRenderElementProps(componentProps, params, renderProp) {
 768      const {
 769        className: classNameProp,
 770        style: styleProp
 771      } = componentProps;
 772      const {
 773        state = EMPTY_OBJECT,
 774        ref,
 775        props,
 776        stateAttributesMapping: stateAttributesMapping6,
 777        enabled = true
 778      } = params;
 779      const className = enabled ? resolveClassName(classNameProp, state) : void 0;
 780      const style = enabled ? resolveStyle(styleProp, state) : void 0;
 781      const stateProps = enabled ? getStateAttributesProps(state, stateAttributesMapping6) : EMPTY_OBJECT;
 782      const resolvedProps = enabled && props ? resolveRenderFunctionProps(props) : void 0;
 783      const outProps = enabled ? mergeObjects(stateProps, resolvedProps) ?? {} : EMPTY_OBJECT;
 784      if (typeof document !== "undefined") {
 785        if (!enabled) {
 786          void useMergedRefs(null, null);
 787        } else if (Array.isArray(ref)) {
 788          outProps.ref = useMergedRefsN([outProps.ref, getReactElementRef(renderProp), ...ref]);
 789        } else {
 790          outProps.ref = useMergedRefs(outProps.ref, getReactElementRef(renderProp), ref);
 791        }
 792      }
 793      if (!enabled) {
 794        return EMPTY_OBJECT;
 795      }
 796      if (className !== void 0) {
 797        outProps.className = mergeClassNames(outProps.className, className);
 798      }
 799      if (style !== void 0) {
 800        outProps.style = mergeObjects(outProps.style, style);
 801      }
 802      return outProps;
 803    }
 804    function resolveRenderFunctionProps(props) {
 805      if (Array.isArray(props)) {
 806        return mergePropsN(props);
 807      }
 808      return mergeProps(void 0, props);
 809    }
 810    var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy");
 811    var COMPONENT_IDENTIFIER_PATTERN = /^[A-Z][A-Za-z0-9$]*$/;
 812    var LOWERCASE_CHARACTER_PATTERN = /[a-z]/;
 813    function unwrapLazyRenderProp(render) {
 814      if (render?.$$typeof !== REACT_LAZY_TYPE) {
 815        return render;
 816      }
 817      const unwrapped = React4.Children.toArray(render)[0];
 818      return /* @__PURE__ */ React4.isValidElement(unwrapped) ? unwrapped : render;
 819    }
 820    function evaluateRenderProp(element, render, props, state) {
 821      if (render) {
 822        if (typeof render === "function") {
 823          if (true) {
 824            warnIfRenderPropLooksLikeComponent(render);
 825          }
 826          return render(props, state);
 827        }
 828        const mergedProps = mergeProps(props, render.props);
 829        mergedProps.ref = props.ref;
 830        if (true) {
 831          if (!/* @__PURE__ */ React4.isValidElement(render)) {
 832            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"));
 833          }
 834        }
 835        return /* @__PURE__ */ React4.cloneElement(render, mergedProps);
 836      }
 837      return renderTag(element, props);
 838    }
 839    function warnIfRenderPropLooksLikeComponent(renderFn) {
 840      const functionName = renderFn.name;
 841      if (functionName.length === 0) {
 842        return;
 843      }
 844      if (!COMPONENT_IDENTIFIER_PATTERN.test(functionName)) {
 845        return;
 846      }
 847      if (!LOWERCASE_CHARACTER_PATTERN.test(functionName)) {
 848        return;
 849      }
 850      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");
 851    }
 852    function renderTag(Tag, props) {
 853      if (Tag === "button") {
 854        return /* @__PURE__ */ (0, import_react.createElement)("button", {
 855          type: "button",
 856          ...props,
 857          key: props.key
 858        });
 859      }
 860      if (Tag === "img") {
 861        return /* @__PURE__ */ (0, import_react.createElement)("img", {
 862          alt: "",
 863          ...props,
 864          key: props.key
 865        });
 866      }
 867      return /* @__PURE__ */ React4.createElement(Tag, props);
 868    }
 869  
 870    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/safeReact.mjs
 871    var React5 = __toESM(require_react(), 1);
 872    var SafeReact = {
 873      ...React5
 874    };
 875  
 876    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useStableCallback.mjs
 877    var useInsertionEffect = SafeReact.useInsertionEffect;
 878    var useSafeInsertionEffect = (
 879      // React 17 doesn't have useInsertionEffect.
 880      useInsertionEffect && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
 881      useInsertionEffect !== SafeReact.useLayoutEffect ? useInsertionEffect : (fn) => fn()
 882    );
 883    function useStableCallback(callback) {
 884      const stable = useRefWithInit(createStableCallback).current;
 885      stable.next = callback;
 886      useSafeInsertionEffect(stable.effect);
 887      return stable.trampoline;
 888    }
 889    function createStableCallback() {
 890      const stable = {
 891        next: void 0,
 892        callback: assertNotCalled,
 893        trampoline: (...args) => stable.callback?.(...args),
 894        effect: () => {
 895          stable.callback = stable.next;
 896        }
 897      };
 898      return stable;
 899    }
 900    function assertNotCalled() {
 901      if (true) {
 902        throw (
 903          /* minify-error-disabled */
 904          new Error("Base UI: Cannot call an event handler while rendering.")
 905        );
 906      }
 907    }
 908  
 909    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useIsoLayoutEffect.mjs
 910    var React6 = __toESM(require_react(), 1);
 911    var noop = () => {
 912    };
 913    var useIsoLayoutEffect = typeof document !== "undefined" ? React6.useLayoutEffect : noop;
 914  
 915    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
 916    var React8 = __toESM(require_react(), 1);
 917  
 918    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
 919    var ReactDOM = __toESM(require_react_dom(), 1);
 920  
 921    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useOnMount.mjs
 922    var React7 = __toESM(require_react(), 1);
 923    function useOnMount(fn) {
 924      React7.useEffect(fn, EMPTY_ARRAY);
 925    }
 926  
 927    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useAnimationFrame.mjs
 928    var EMPTY = null;
 929    var LAST_RAF = globalThis.requestAnimationFrame;
 930    var Scheduler = class {
 931      /* This implementation uses an array as a backing data-structure for frame callbacks.
 932       * It allows `O(1)` callback cancelling by inserting a `null` in the array, though it
 933       * never calls the native `cancelAnimationFrame` if there are no frames left. This can
 934       * be much more efficient if there is a call pattern that alterns as
 935       * "request-cancel-request-cancel-…".
 936       * But in the case of "request-request-…-cancel-cancel-…", it leaves the final animation
 937       * frame to run anyway. We turn that frame into a `O(1)` no-op via `callbacksCount`. */
 938      callbacks = [];
 939      callbacksCount = 0;
 940      nextId = 1;
 941      startId = 1;
 942      isScheduled = false;
 943      tick = (timestamp) => {
 944        this.isScheduled = false;
 945        const currentCallbacks = this.callbacks;
 946        const currentCallbacksCount = this.callbacksCount;
 947        this.callbacks = [];
 948        this.callbacksCount = 0;
 949        this.startId = this.nextId;
 950        if (currentCallbacksCount > 0) {
 951          for (let i = 0; i < currentCallbacks.length; i += 1) {
 952            currentCallbacks[i]?.(timestamp);
 953          }
 954        }
 955      };
 956      request(fn) {
 957        const id = this.nextId;
 958        this.nextId += 1;
 959        this.callbacks.push(fn);
 960        this.callbacksCount += 1;
 961        const didRAFChange = LAST_RAF !== requestAnimationFrame && (LAST_RAF = requestAnimationFrame, true);
 962        if (!this.isScheduled || didRAFChange) {
 963          requestAnimationFrame(this.tick);
 964          this.isScheduled = true;
 965        }
 966        return id;
 967      }
 968      cancel(id) {
 969        const index2 = id - this.startId;
 970        if (index2 < 0 || index2 >= this.callbacks.length) {
 971          return;
 972        }
 973        if (this.callbacks[index2] === null) {
 974          return;
 975        }
 976        this.callbacks[index2] = null;
 977        this.callbacksCount -= 1;
 978      }
 979    };
 980    var scheduler = new Scheduler();
 981    var AnimationFrame = class _AnimationFrame {
 982      static create() {
 983        return new _AnimationFrame();
 984      }
 985      static request(fn) {
 986        return scheduler.request(fn);
 987      }
 988      static cancel(id) {
 989        return scheduler.cancel(id);
 990      }
 991      currentId = EMPTY;
 992      /**
 993       * Executes `fn` after `delay`, clearing any previously scheduled call.
 994       */
 995      request(fn) {
 996        this.cancel();
 997        this.currentId = scheduler.request(() => {
 998          this.currentId = EMPTY;
 999          fn();
1000        });
1001      }
1002      cancel = () => {
1003        if (this.currentId !== EMPTY) {
1004          scheduler.cancel(this.currentId);
1005          this.currentId = EMPTY;
1006        }
1007      };
1008      disposeEffect = () => {
1009        return this.cancel;
1010      };
1011    };
1012    function useAnimationFrame() {
1013      const timeout = useRefWithInit(AnimationFrame.create).current;
1014      useOnMount(timeout.disposeEffect);
1015      return timeout;
1016    }
1017  
1018    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveRef.mjs
1019    function resolveRef(maybeRef) {
1020      if (maybeRef == null) {
1021        return maybeRef;
1022      }
1023      return "current" in maybeRef ? maybeRef.current : maybeRef;
1024    }
1025  
1026    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getFiniteAnimations.mjs
1027    function getFiniteAnimations(element, options) {
1028      return element.getAnimations(options).filter((animation) => {
1029        const timing = animation.effect?.getTiming();
1030        return timing?.duration !== Infinity && timing?.iterations !== Infinity;
1031      });
1032    }
1033  
1034    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/TransitionStatusDataAttributes.mjs
1035    var startingStyle = "data-starting-style";
1036    var endingStyle = "data-ending-style";
1037  
1038    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
1039    var pendingCallbacks = null;
1040    function flushBeforePaint(fn) {
1041      if (!pendingCallbacks) {
1042        const callbacks = [];
1043        pendingCallbacks = callbacks;
1044        queueMicrotask(() => {
1045          pendingCallbacks = null;
1046          ReactDOM.flushSync(() => {
1047            for (const callback of callbacks) {
1048              callback();
1049            }
1050          });
1051        });
1052      }
1053      pendingCallbacks.push(fn);
1054    }
1055    function useAnimationsFinished(elementOrRef, waitForStartingStyleRemoved = false, batch = false) {
1056      const frame = useAnimationFrame();
1057      return useStableCallback((fnToExecute, signal = null) => {
1058        frame.cancel();
1059        const element = resolveRef(elementOrRef);
1060        if (element == null) {
1061          return;
1062        }
1063        const resolvedElement = element;
1064        const done = () => {
1065          if (!batch) {
1066            ReactDOM.flushSync(fnToExecute);
1067            return;
1068          }
1069          flushBeforePaint(() => {
1070            if (!signal?.aborted) {
1071              fnToExecute();
1072            }
1073          });
1074        };
1075        if (typeof resolvedElement.getAnimations !== "function" || globalThis.BASE_UI_ANIMATIONS_DISABLED) {
1076          fnToExecute();
1077          return;
1078        }
1079        function exec() {
1080          Promise.all(getFiniteAnimations(resolvedElement).map((animation) => animation.finished.then(NOOP))).then(() => {
1081            if (!signal?.aborted) {
1082              done();
1083            }
1084          }, () => {
1085            if (signal?.aborted) {
1086              return;
1087            }
1088            const currentAnimations = getFiniteAnimations(resolvedElement);
1089            if (currentAnimations.some((animation) => animation.pending || animation.playState !== "finished")) {
1090              exec();
1091              return;
1092            }
1093            done();
1094          });
1095        }
1096        if (waitForStartingStyleRemoved) {
1097          const startingStyleAttribute = startingStyle;
1098          if (!resolvedElement.hasAttribute(startingStyleAttribute)) {
1099            frame.request(exec);
1100            return;
1101          }
1102          const attributeObserver = new MutationObserver(() => {
1103            if (!resolvedElement.hasAttribute(startingStyleAttribute)) {
1104              attributeObserver.disconnect();
1105              exec();
1106            }
1107          });
1108          attributeObserver.observe(resolvedElement, {
1109            attributes: true,
1110            attributeFilter: [startingStyleAttribute]
1111          });
1112          signal?.addEventListener("abort", () => attributeObserver.disconnect(), {
1113            once: true
1114          });
1115          return;
1116        }
1117        frame.request(exec);
1118      });
1119    }
1120  
1121    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
1122    function useOpenChangeComplete(parameters) {
1123      const {
1124        enabled = true,
1125        open: open2,
1126        ref,
1127        batch = false,
1128        onComplete: onCompleteParam
1129      } = parameters;
1130      const onComplete = useStableCallback(onCompleteParam);
1131      const runOnceAnimationsFinish = useAnimationsFinished(ref, open2, batch);
1132      React8.useEffect(() => {
1133        if (!enabled) {
1134          return void 0;
1135        }
1136        const abortController = new AbortController();
1137        runOnceAnimationsFinish(onComplete, abortController.signal);
1138        return () => {
1139          abortController.abort();
1140        };
1141      }, [enabled, open2, onComplete, runOnceAnimationsFinish]);
1142    }
1143  
1144    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/stateAttributesMapping.mjs
1145    var STARTING_HOOK = {
1146      [startingStyle]: ""
1147    };
1148    var ENDING_HOOK = {
1149      [endingStyle]: ""
1150    };
1151    var transitionStatusMapping = {
1152      transitionStatus(value) {
1153        if (value === "starting") {
1154          return STARTING_HOOK;
1155        }
1156        if (value === "ending") {
1157          return ENDING_HOOK;
1158        }
1159        return null;
1160      }
1161    };
1162  
1163    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useTransitionStatus.mjs
1164    var React9 = __toESM(require_react(), 1);
1165    function useTransitionStatus(open2, enableIdleState = false, deferEndingState = false, animateInitialOpen = false) {
1166      const [transitionStatus, setTransitionStatus] = React9.useState(open2 && enableIdleState ? "idle" : void 0);
1167      const [mounted, setMounted] = React9.useState(open2 && !animateInitialOpen);
1168      if (open2 && !mounted) {
1169        setMounted(true);
1170        setTransitionStatus("starting");
1171      }
1172      if (!open2 && mounted && transitionStatus !== "ending" && !deferEndingState) {
1173        setTransitionStatus("ending");
1174      }
1175      if (!open2 && !mounted && transitionStatus === "ending") {
1176        setTransitionStatus(void 0);
1177      }
1178      useIsoLayoutEffect(() => {
1179        if (!open2 && mounted && transitionStatus !== "ending" && deferEndingState) {
1180          const frame = AnimationFrame.request(() => {
1181            setTransitionStatus("ending");
1182          });
1183          return () => {
1184            AnimationFrame.cancel(frame);
1185          };
1186        }
1187        return void 0;
1188      }, [open2, mounted, transitionStatus, deferEndingState]);
1189      useIsoLayoutEffect(() => {
1190        if (!open2 || enableIdleState || transitionStatus === void 0) {
1191          return void 0;
1192        }
1193        const frame = AnimationFrame.request(() => {
1194          setTransitionStatus(void 0);
1195        });
1196        return () => {
1197          AnimationFrame.cancel(frame);
1198        };
1199      }, [enableIdleState, open2, transitionStatus]);
1200      useIsoLayoutEffect(() => {
1201        if (!open2 || !enableIdleState) {
1202          return void 0;
1203        }
1204        if (open2 && mounted && transitionStatus !== "idle") {
1205          setTransitionStatus("starting");
1206        }
1207        const frame = AnimationFrame.request(() => {
1208          setTransitionStatus("idle");
1209        });
1210        return () => {
1211          AnimationFrame.cancel(frame);
1212        };
1213      }, [enableIdleState, open2, mounted, transitionStatus]);
1214      return {
1215        mounted,
1216        setMounted,
1217        transitionStatus
1218      };
1219    }
1220  
1221    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useTimeout.mjs
1222    var EMPTY2 = 0;
1223    var Timeout = class _Timeout {
1224      static create() {
1225        return new _Timeout();
1226      }
1227      currentId = EMPTY2;
1228      /**
1229       * Executes `fn` after `delay`, clearing any previously scheduled call.
1230       */
1231      start(delay, fn) {
1232        this.clear();
1233        this.currentId = setTimeout(() => {
1234          this.currentId = EMPTY2;
1235          fn();
1236        }, delay);
1237      }
1238      isStarted() {
1239        return this.currentId !== EMPTY2;
1240      }
1241      clear = () => {
1242        if (this.currentId !== EMPTY2) {
1243          clearTimeout(this.currentId);
1244          this.currentId = EMPTY2;
1245        }
1246      };
1247      disposeEffect = () => {
1248        return this.clear;
1249      };
1250    };
1251    function useTimeout() {
1252      const timeout = useRefWithInit(Timeout.create).current;
1253      useOnMount(timeout.disposeEffect);
1254      return timeout;
1255    }
1256  
1257    // packages/ui/build-module/icon/icon.mjs
1258    var import_element = __toESM(require_element(), 1);
1259    var import_primitives7 = __toESM(require_primitives(), 1);
1260    var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1);
1261    var Icon = (0, import_element.forwardRef)(
1262      function UnforwardedIcon({ icon, size: size4 = 24, style, ...restProps }, ref) {
1263        const mergedStyle = icon.props.style || style ? { ...icon.props.style, ...style } : void 0;
1264        return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1265          import_primitives7.SVG,
1266          {
1267            ref,
1268            ...icon.props,
1269            ...restProps,
1270            ...mergedStyle ? { style: mergedStyle } : {},
1271            width: size4,
1272            height: size4
1273          }
1274        );
1275      }
1276    );
1277  
1278    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useControlled.mjs
1279    var React10 = __toESM(require_react(), 1);
1280  
1281    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/error.mjs
1282    var error = createLogOnce("error", "Base UI");
1283  
1284    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useControlled.mjs
1285    function useControlled({
1286      controlled,
1287      default: defaultProp,
1288      name: name3,
1289      state = "value"
1290    }) {
1291      const {
1292        current: isControlled
1293      } = React10.useRef(controlled !== void 0);
1294      const [valueState, setValue] = React10.useState(() => defaultProp);
1295      const value = isControlled && controlled !== void 0 ? controlled : valueState;
1296      if (true) {
1297        React10.useEffect(() => {
1298          if (isControlled !== (controlled !== void 0)) {
1299            error([`A component is changing the $isControlled ? "" : "un"}controlled $state} state of $name3} to be $isControlled ? "un" : ""}controlled.`, "Elements should not switch from uncontrolled to controlled (or vice versa).", `Decide between using a controlled or uncontrolled $name3} 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"));
1300          }
1301        }, [state, name3, controlled]);
1302        const {
1303          current: defaultValue
1304        } = React10.useRef(defaultProp);
1305        React10.useEffect(() => {
1306          if (!isControlled && serializeToDevModeString(defaultValue) !== serializeToDevModeString(defaultProp)) {
1307            error([`A component is changing the default $state} state of an uncontrolled $name3} after being initialized. To suppress this warning opt to use a controlled $name3}.`].join("\n"));
1308          }
1309        }, [defaultProp]);
1310      }
1311      const setValueIfUncontrolled = React10.useCallback((newValue) => {
1312        if (!isControlled) {
1313          setValue(newValue);
1314        }
1315      }, []);
1316      return [value, setValueIfUncontrolled];
1317    }
1318    function serializeToDevModeString(input) {
1319      let nextId = 0;
1320      const seen = /* @__PURE__ */ new WeakMap();
1321      try {
1322        const result = JSON.stringify(input, function replacer(key, value) {
1323          if (key === "_owner" && this != null && typeof this === "object" && "$$typeof" in this) {
1324            return void 0;
1325          }
1326          if (typeof value === "bigint") {
1327            return `__bigint__:$value}`;
1328          }
1329          if (value !== null && typeof value === "object") {
1330            const id = seen.get(value);
1331            if (id !== void 0) {
1332              return `__object__:$id}`;
1333            }
1334            seen.set(value, nextId);
1335            nextId += 1;
1336          }
1337          return value;
1338        });
1339        return result ?? `__top__:$typeof input}`;
1340      } catch {
1341        return "__unserializable__";
1342      }
1343    }
1344  
1345    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeList.mjs
1346    var React12 = __toESM(require_react(), 1);
1347  
1348    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeListContext.mjs
1349    var React11 = __toESM(require_react(), 1);
1350    var CompositeListContext = /* @__PURE__ */ React11.createContext({
1351      register: () => {
1352      },
1353      unregister: () => {
1354      },
1355      subscribeMapChange: () => () => {
1356      },
1357      nextIndexRef: {
1358        current: 0
1359      }
1360    });
1361    if (true) CompositeListContext.displayName = "CompositeListContext";
1362    function useCompositeListContext() {
1363      return React11.useContext(CompositeListContext);
1364    }
1365  
1366    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeList.mjs
1367    var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1);
1368    function CompositeList(props) {
1369      const {
1370        children,
1371        elementsRef,
1372        labelsRef,
1373        onMapChange: onMapChangeProp
1374      } = props;
1375      const onMapChange = useStableCallback(onMapChangeProp);
1376      const [, setMapTick] = React12.useState(0);
1377      const listeners = useRefWithInit(createListeners).current;
1378      const map = useRefWithInit(createMap).current;
1379      const nextIndexRef = React12.useRef(0);
1380      const isDirtyRef = React12.useRef(true);
1381      const itemsRef = React12.useRef(null);
1382      const mutationObserverRef = React12.useRef(null);
1383      const scheduleMapUpdate = useStableCallback(() => {
1384        if (isDirtyRef.current) {
1385          return;
1386        }
1387        isDirtyRef.current = true;
1388        setMapTick((tick) => tick + 1);
1389      });
1390      const register2 = useStableCallback((node, registration) => {
1391        map.set(node, registration);
1392        scheduleMapUpdate();
1393      });
1394      const unregister = useStableCallback((node) => {
1395        map.delete(node);
1396        scheduleMapUpdate();
1397      });
1398      const syncRefs = useStableCallback((items) => {
1399        const nextMap = /* @__PURE__ */ new Map();
1400        elementsRef.current.length = 0;
1401        if (labelsRef) {
1402          labelsRef.current.length = 0;
1403        }
1404        items.forEach((item) => {
1405          nextMap.set(item.element, {
1406            ...item.registration.metadata ?? {},
1407            index: item.index
1408          });
1409          elementsRef.current[item.index] = item.element;
1410          if (labelsRef) {
1411            labelsRef.current[item.index] = item.registration.label !== void 0 ? item.registration.label : item.registration.textRef?.current?.textContent ?? item.element.textContent;
1412          }
1413        });
1414        nextIndexRef.current = elementsRef.current.length;
1415        return nextMap;
1416      });
1417      function observe(sortedNodes) {
1418        mutationObserverRef.current?.disconnect();
1419        mutationObserverRef.current = null;
1420        if (typeof MutationObserver !== "function" || sortedNodes.length < 2) {
1421          return;
1422        }
1423        const mutationObserver = new MutationObserver((entries) => {
1424          if (!hasMovedNode(entries)) {
1425            return;
1426          }
1427          let previousConnectedNode = null;
1428          for (const node of sortedNodes) {
1429            if (!node.isConnected) {
1430              continue;
1431            }
1432            if (previousConnectedNode && sortByDocumentPosition(previousConnectedNode, node) > 0) {
1433              mutationObserver.disconnect();
1434              scheduleMapUpdate();
1435              return;
1436            }
1437            previousConnectedNode = node;
1438          }
1439        });
1440        mutationObserverRef.current = mutationObserver;
1441        const roots = /* @__PURE__ */ new Set();
1442        for (let i = 1; i < sortedNodes.length; i += 1) {
1443          const root = getCommonAncestor(sortedNodes[i - 1], sortedNodes[i]);
1444          if (root) {
1445            roots.add(root);
1446          }
1447        }
1448        roots.forEach((root) => mutationObserver.observe(root, {
1449          childList: true
1450        }));
1451      }
1452      const flush = useStableCallback(() => {
1453        const [items, automaticNodes] = getCompositeListSnapshot(map);
1454        const nextMap = syncRefs(items);
1455        const previousItems = itemsRef.current;
1456        const changed = !previousItems || previousItems.length !== items.length || items.some((item, index2) => {
1457          const previousItem = previousItems[index2];
1458          return item.index !== previousItem.index || item.element !== previousItem.element || item.registration.index !== previousItem.registration.index || item.registration.metadata !== previousItem.registration.metadata;
1459        });
1460        observe(automaticNodes);
1461        itemsRef.current = items;
1462        isDirtyRef.current = false;
1463        if (!changed) {
1464          return;
1465        }
1466        listeners.forEach((listener) => listener(nextMap));
1467        onMapChange(nextMap);
1468      });
1469      useIsoLayoutEffect(() => {
1470        if (!isDirtyRef.current && itemsRef.current) {
1471          syncRefs(itemsRef.current);
1472        }
1473        return () => {
1474          elementsRef.current = [];
1475          if (labelsRef) {
1476            labelsRef.current = [];
1477          }
1478        };
1479      }, [elementsRef, labelsRef, syncRefs]);
1480      useIsoLayoutEffect(() => {
1481        if (isDirtyRef.current) {
1482          flush();
1483        }
1484      });
1485      useIsoLayoutEffect(() => {
1486        return () => {
1487          mutationObserverRef.current?.disconnect();
1488          isDirtyRef.current = true;
1489        };
1490      }, []);
1491      const subscribeMapChange = useStableCallback((fn) => {
1492        listeners.add(fn);
1493        return () => {
1494          listeners.delete(fn);
1495        };
1496      });
1497      const contextValue = React12.useMemo(() => ({
1498        register: register2,
1499        unregister,
1500        subscribeMapChange,
1501        nextIndexRef
1502      }), [register2, unregister, subscribeMapChange, nextIndexRef]);
1503      return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CompositeListContext.Provider, {
1504        value: contextValue,
1505        children
1506      });
1507    }
1508    function createMap() {
1509      return /* @__PURE__ */ new Map();
1510    }
1511    function createListeners() {
1512      return /* @__PURE__ */ new Set();
1513    }
1514    function getCompositeListSnapshot(map) {
1515      const reservedIndices = /* @__PURE__ */ new Set();
1516      const items = [];
1517      const automaticItems = [];
1518      map.forEach((registration, node) => {
1519        if (!node.isConnected) {
1520          return;
1521        }
1522        const index2 = registration.index;
1523        const item = {
1524          index: index2 ?? -1,
1525          element: node,
1526          registration
1527        };
1528        if (index2 === null) {
1529          automaticItems.push(item);
1530        } else if (index2 >= 0) {
1531          reservedIndices.add(index2);
1532          items.push(item);
1533        }
1534      });
1535      let nextAutomaticIndex = 0;
1536      automaticItems.sort((a, b) => sortByDocumentPosition(a.element, b.element));
1537      automaticItems.forEach((item) => {
1538        while (reservedIndices.has(nextAutomaticIndex)) {
1539          nextAutomaticIndex += 1;
1540        }
1541        item.index = nextAutomaticIndex;
1542        items.push(item);
1543        nextAutomaticIndex += 1;
1544      });
1545      if (reservedIndices.size > 0) {
1546        items.sort((a, b) => a.index - b.index);
1547      }
1548      return [items, automaticItems.map((item) => item.element)];
1549    }
1550    function getCommonAncestor(firstNode, lastNode) {
1551      let ancestor = firstNode.parentElement;
1552      while (ancestor && !ancestor.contains(lastNode)) {
1553        ancestor = ancestor.parentElement;
1554      }
1555      return ancestor;
1556    }
1557    function hasMovedNode(entries) {
1558      for (const entry of entries) {
1559        for (let i = 0; i < entry.removedNodes.length; i += 1) {
1560          if (entry.removedNodes[i].isConnected) {
1561            return true;
1562          }
1563        }
1564      }
1565      return false;
1566    }
1567    function sortByDocumentPosition(a, b) {
1568      if (a.nextElementSibling === b) {
1569        return -1;
1570      }
1571      if (b.nextElementSibling === a) {
1572        return 1;
1573      }
1574      return a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;
1575    }
1576  
1577    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useId.mjs
1578    var React14 = __toESM(require_react(), 1);
1579  
1580    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useForcedRerendering.mjs
1581    var React13 = __toESM(require_react(), 1);
1582    function useForcedRerendering() {
1583      const [, setState] = React13.useState({});
1584      return React13.useCallback(() => {
1585        setState({});
1586      }, []);
1587    }
1588  
1589    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useId.mjs
1590    var globalId = 0;
1591    function useGlobalId(idOverride, prefix = "mui") {
1592      const defaultId = React14.useRef(void 0);
1593      const forceRerender = useForcedRerendering();
1594      const id = idOverride ?? defaultId.current;
1595      React14.useEffect(() => {
1596        if (defaultId.current == null) {
1597          globalId += 1;
1598          defaultId.current = `$prefix}-$globalId}`;
1599          if (idOverride == null) {
1600            forceRerender();
1601          }
1602        }
1603      }, [idOverride, prefix, forceRerender]);
1604      return id;
1605    }
1606    var maybeReactUseId = SafeReact.useId;
1607    function useId(idOverride, prefix) {
1608      if (maybeReactUseId !== void 0) {
1609        const reactId = maybeReactUseId();
1610        return idOverride ?? (prefix ? `$prefix}-$reactId}` : reactId);
1611      }
1612      return useGlobalId(idOverride, prefix);
1613    }
1614  
1615    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useBaseUiId.mjs
1616    function useBaseUiId(idOverride) {
1617      return useId(idOverride, "base-ui");
1618    }
1619  
1620    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/createBaseUIEventDetails.mjs
1621    function createChangeEventDetails(reason, event, trigger, customProperties) {
1622      let canceled = false;
1623      let allowPropagation = false;
1624      const custom = customProperties ?? EMPTY_OBJECT;
1625      const details = {
1626        reason,
1627        event: event ?? new Event("base-ui"),
1628        cancel() {
1629          canceled = true;
1630        },
1631        allowPropagation() {
1632          allowPropagation = true;
1633        },
1634        get isCanceled() {
1635          return canceled;
1636        },
1637        get isPropagationAllowed() {
1638          return allowPropagation;
1639        },
1640        trigger,
1641        ...custom
1642      };
1643      return details;
1644    }
1645  
1646    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/reason-parts.mjs
1647    var reason_parts_exports = {};
1648    __export(reason_parts_exports, {
1649      cancelOpen: () => cancelOpen,
1650      chipRemovePress: () => chipRemovePress,
1651      clearPress: () => clearPress,
1652      closePress: () => closePress,
1653      closeWatcher: () => closeWatcher,
1654      decrementPress: () => decrementPress,
1655      disabled: () => disabled,
1656      drag: () => drag,
1657      escapeKey: () => escapeKey,
1658      focusOut: () => focusOut,
1659      imperativeAction: () => imperativeAction,
1660      incrementPress: () => incrementPress,
1661      initial: () => initial,
1662      inputBlur: () => inputBlur,
1663      inputChange: () => inputChange,
1664      inputClear: () => inputClear,
1665      inputPaste: () => inputPaste,
1666      inputPress: () => inputPress,
1667      itemPress: () => itemPress,
1668      keyboard: () => keyboard,
1669      linkPress: () => linkPress,
1670      listNavigation: () => listNavigation,
1671      missing: () => missing,
1672      none: () => none,
1673      outsidePress: () => outsidePress,
1674      pointer: () => pointer,
1675      popupClose: () => popupClose,
1676      scrub: () => scrub,
1677      siblingOpen: () => siblingOpen,
1678      swipe: () => swipe,
1679      trackPress: () => trackPress,
1680      triggerFocus: () => triggerFocus,
1681      triggerHover: () => triggerHover,
1682      triggerPress: () => triggerPress,
1683      wheel: () => wheel,
1684      windowResize: () => windowResize
1685    });
1686    var none = "none";
1687    var triggerPress = "trigger-press";
1688    var triggerHover = "trigger-hover";
1689    var triggerFocus = "trigger-focus";
1690    var outsidePress = "outside-press";
1691    var itemPress = "item-press";
1692    var closePress = "close-press";
1693    var linkPress = "link-press";
1694    var clearPress = "clear-press";
1695    var chipRemovePress = "chip-remove-press";
1696    var trackPress = "track-press";
1697    var incrementPress = "increment-press";
1698    var decrementPress = "decrement-press";
1699    var inputChange = "input-change";
1700    var inputClear = "input-clear";
1701    var inputBlur = "input-blur";
1702    var inputPaste = "input-paste";
1703    var inputPress = "input-press";
1704    var focusOut = "focus-out";
1705    var escapeKey = "escape-key";
1706    var closeWatcher = "close-watcher";
1707    var listNavigation = "list-navigation";
1708    var keyboard = "keyboard";
1709    var pointer = "pointer";
1710    var drag = "drag";
1711    var wheel = "wheel";
1712    var scrub = "scrub";
1713    var popupClose = "popup-close";
1714    var cancelOpen = "cancel-open";
1715    var siblingOpen = "sibling-open";
1716    var disabled = "disabled";
1717    var missing = "missing";
1718    var initial = "initial";
1719    var imperativeAction = "imperative-action";
1720    var swipe = "swipe";
1721    var windowResize = "window-resize";
1722  
1723    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/useCompositeListItem.mjs
1724    var React15 = __toESM(require_react(), 1);
1725    function useCompositeListItem(params = {}) {
1726      const {
1727        guess,
1728        label,
1729        metadata,
1730        textRef,
1731        index: externalIndex
1732      } = params;
1733      const {
1734        register: register2,
1735        unregister,
1736        subscribeMapChange,
1737        nextIndexRef
1738      } = useCompositeListContext();
1739      const indexRef = React15.useRef(-1);
1740      const [internalIndex, setInternalIndex] = React15.useState(externalIndex == null && guess ? () => {
1741        if (indexRef.current === -1) {
1742          const newIndex = nextIndexRef.current;
1743          nextIndexRef.current += 1;
1744          indexRef.current = newIndex;
1745        }
1746        return indexRef.current;
1747      } : -1);
1748      const index2 = externalIndex ?? internalIndex;
1749      const componentRef = React15.useRef(null);
1750      const ref = React15.useCallback((node) => {
1751        const previousNode = componentRef.current;
1752        if (previousNode) {
1753          unregister(previousNode);
1754        }
1755        componentRef.current = node;
1756        if (node) {
1757          register2(node, {
1758            metadata: metadata ?? null,
1759            index: externalIndex ?? null,
1760            label,
1761            textRef
1762          });
1763        }
1764      }, [externalIndex, register2, unregister, metadata, label, textRef]);
1765      useIsoLayoutEffect(() => {
1766        if (externalIndex != null) {
1767          return void 0;
1768        }
1769        return subscribeMapChange((map) => {
1770          const i = componentRef.current ? map.get(componentRef.current)?.index : null;
1771          if (i != null) {
1772            setInternalIndex(i);
1773          }
1774        });
1775      }, [externalIndex, subscribeMapChange]);
1776      return {
1777        ref,
1778        index: index2
1779      };
1780    }
1781  
1782    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/use-button/useButton.mjs
1783    var React18 = __toESM(require_react(), 1);
1784  
1785    // node_modules/.store/@floating-ui/utils@0.2.12-gOxTzMf36nCrbeHpEew-rw/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
1786    function hasWindow() {
1787      return typeof window !== "undefined";
1788    }
1789    function getNodeName(node) {
1790      if (isNode(node)) {
1791        return (node.nodeName || "").toLowerCase();
1792      }
1793      return "#document";
1794    }
1795    function getWindow(node) {
1796      var _node$ownerDocument;
1797      return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
1798    }
1799    function getDocumentElement(node) {
1800      var _ref;
1801      return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
1802    }
1803    function isNode(value) {
1804      if (!hasWindow()) {
1805        return false;
1806      }
1807      return value instanceof Node || value instanceof getWindow(value).Node;
1808    }
1809    function isElement(value) {
1810      if (!hasWindow()) {
1811        return false;
1812      }
1813      return value instanceof Element || value instanceof getWindow(value).Element;
1814    }
1815    function isHTMLElement(value) {
1816      if (!hasWindow()) {
1817        return false;
1818      }
1819      return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
1820    }
1821    function isShadowRoot(value) {
1822      if (!hasWindow() || typeof ShadowRoot === "undefined") {
1823        return false;
1824      }
1825      return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
1826    }
1827    function isOverflowElement(element) {
1828      const {
1829        overflow,
1830        overflowX,
1831        overflowY,
1832        display
1833      } = getComputedStyle2(element);
1834      return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
1835    }
1836    function isTableElement(element) {
1837      return /^(table|td|th)$/.test(getNodeName(element));
1838    }
1839    function isTopLayer(element) {
1840      try {
1841        if (element.matches(":popover-open")) {
1842          return true;
1843        }
1844      } catch (_e) {
1845      }
1846      try {
1847        return element.matches(":modal");
1848      } catch (_e) {
1849        return false;
1850      }
1851    }
1852    var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
1853    var containRe = /paint|layout|strict|content/;
1854    var isNotNone = (value) => !!value && value !== "none";
1855    var isWebKitValue;
1856    function isContainingBlock(elementOrCss) {
1857      const css = isElement(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss;
1858      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 || "");
1859    }
1860    function getContainingBlock(element) {
1861      let currentNode = getParentNode(element);
1862      while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
1863        if (isContainingBlock(currentNode)) {
1864          return currentNode;
1865        } else if (isTopLayer(currentNode)) {
1866          return null;
1867        }
1868        currentNode = getParentNode(currentNode);
1869      }
1870      return null;
1871    }
1872    function isWebKit() {
1873      if (isWebKitValue == null) {
1874        isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
1875      }
1876      return isWebKitValue;
1877    }
1878    function isLastTraversableNode(node) {
1879      return /^(html|body|#document)$/.test(getNodeName(node));
1880    }
1881    function getComputedStyle2(element) {
1882      return getWindow(element).getComputedStyle(element);
1883    }
1884    function getNodeScroll(element) {
1885      if (isElement(element)) {
1886        return {
1887          scrollLeft: element.scrollLeft,
1888          scrollTop: element.scrollTop
1889        };
1890      }
1891      return {
1892        scrollLeft: element.scrollX,
1893        scrollTop: element.scrollY
1894      };
1895    }
1896    function getParentNode(node) {
1897      if (getNodeName(node) === "html") {
1898        return node;
1899      }
1900      const result = (
1901        // Step into the shadow DOM of the parent of a slotted node.
1902        node.assignedSlot || // DOM Element detected.
1903        node.parentNode || // ShadowRoot detected.
1904        isShadowRoot(node) && node.host || // Fallback.
1905        getDocumentElement(node)
1906      );
1907      return isShadowRoot(result) ? result.host : result;
1908    }
1909    function getNearestOverflowAncestor(node) {
1910      const parentNode = getParentNode(node);
1911      if (isLastTraversableNode(parentNode)) {
1912        return (node.ownerDocument || node).body;
1913      }
1914      if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
1915        return parentNode;
1916      }
1917      return getNearestOverflowAncestor(parentNode);
1918    }
1919    function getOverflowAncestors(node, list, traverseIframes) {
1920      var _node$ownerDocument2;
1921      if (list === void 0) {
1922        list = [];
1923      }
1924      if (traverseIframes === void 0) {
1925        traverseIframes = true;
1926      }
1927      const scrollableAncestor = getNearestOverflowAncestor(node);
1928      const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
1929      const win = getWindow(scrollableAncestor);
1930      if (isBody) {
1931        const frameElement = getFrameElement(win);
1932        return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
1933      } else {
1934        return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
1935      }
1936    }
1937    function getFrameElement(win) {
1938      return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
1939    }
1940  
1941    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/root/CompositeRootContext.mjs
1942    var React16 = __toESM(require_react(), 1);
1943    var CompositeRootContext = /* @__PURE__ */ React16.createContext(void 0);
1944    if (true) CompositeRootContext.displayName = "CompositeRootContext";
1945    function useCompositeRootContext(optional = false) {
1946      const context = React16.useContext(CompositeRootContext);
1947      if (context === void 0 && !optional) {
1948        throw new Error(true ? "Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>." : formatErrorMessage_default(16));
1949      }
1950      return context;
1951    }
1952  
1953    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useFocusableWhenDisabled.mjs
1954    var React17 = __toESM(require_react(), 1);
1955    function useFocusableWhenDisabled(parameters) {
1956      const {
1957        focusableWhenDisabled,
1958        disabled: disabled2,
1959        composite = false,
1960        tabIndex: tabIndexProp = 0,
1961        isNativeButton
1962      } = parameters;
1963      const isFocusableComposite = composite && focusableWhenDisabled !== false;
1964      const isNonFocusableComposite = composite && focusableWhenDisabled === false;
1965      const props = React17.useMemo(() => {
1966        const additionalProps = {
1967          // allow Tabbing away from focusableWhenDisabled elements
1968          onKeyDown(event) {
1969            if (disabled2 && focusableWhenDisabled && event.key !== "Tab") {
1970              event.preventDefault();
1971            }
1972          }
1973        };
1974        if (!composite) {
1975          additionalProps.tabIndex = tabIndexProp;
1976          if (!isNativeButton && disabled2) {
1977            additionalProps.tabIndex = focusableWhenDisabled ? tabIndexProp : -1;
1978          }
1979        }
1980        if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled2) {
1981          additionalProps["aria-disabled"] = disabled2;
1982        }
1983        if (isNativeButton && (!focusableWhenDisabled || isNonFocusableComposite)) {
1984          additionalProps.disabled = disabled2;
1985        }
1986        return additionalProps;
1987      }, [composite, disabled2, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);
1988      return {
1989        props
1990      };
1991    }
1992  
1993    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/owner.mjs
1994    function ownerDocument(node) {
1995      return node?.ownerDocument || document;
1996    }
1997  
1998    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/dispatchClickWithModifiers.mjs
1999    function dispatchClickWithModifiers(target, sourceEvent, {
2000      detail = 0,
2001      pointerType = ""
2002    } = {}) {
2003      target.dispatchEvent(new (getWindow(target)).PointerEvent("click", {
2004        bubbles: true,
2005        cancelable: true,
2006        composed: true,
2007        detail,
2008        pointerType,
2009        shiftKey: sourceEvent.shiftKey,
2010        ctrlKey: sourceEvent.ctrlKey,
2011        altKey: sourceEvent.altKey,
2012        metaKey: sourceEvent.metaKey
2013      }));
2014    }
2015  
2016    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/use-button/useButton.mjs
2017    function useButton(parameters = {}) {
2018      const {
2019        disabled: disabled2 = false,
2020        focusableWhenDisabled,
2021        tabIndex = 0,
2022        native: isNativeButton = true,
2023        composite: compositeProp
2024      } = parameters;
2025      const elementRef = React18.useRef(null);
2026      const compositeRootContext = useCompositeRootContext(true);
2027      const isCompositeItem = compositeProp ?? compositeRootContext !== void 0;
2028      const {
2029        props: focusableWhenDisabledProps
2030      } = useFocusableWhenDisabled({
2031        focusableWhenDisabled,
2032        disabled: disabled2,
2033        composite: isCompositeItem,
2034        tabIndex,
2035        isNativeButton
2036      });
2037      if (true) {
2038        React18.useEffect(() => {
2039          if (!elementRef.current) {
2040            return;
2041          }
2042          const isButtonTag = isButtonElement(elementRef.current);
2043          if (isNativeButton) {
2044            if (!isButtonTag) {
2045              const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
2046              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`.";
2047              error(`$message}$ownerStackMessage}`);
2048            }
2049          } else if (isButtonTag) {
2050            const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
2051            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`.";
2052            error(`$message}$ownerStackMessage}`);
2053          }
2054        }, [isNativeButton]);
2055      }
2056      const updateDisabled = React18.useCallback(() => {
2057        const element = elementRef.current;
2058        if (!isButtonElement(element)) {
2059          return;
2060        }
2061        if (isCompositeItem && disabled2 && focusableWhenDisabledProps.disabled === void 0 && element.disabled) {
2062          element.disabled = false;
2063        }
2064      }, [disabled2, focusableWhenDisabledProps.disabled, isCompositeItem]);
2065      useIsoLayoutEffect(updateDisabled, [updateDisabled]);
2066      const getButtonProps = React18.useCallback((externalProps = {}) => {
2067        const {
2068          onClick: externalOnClick,
2069          onMouseDown: externalOnMouseDown,
2070          onKeyUp: externalOnKeyUp,
2071          onKeyDown: externalOnKeyDown,
2072          onPointerDown: externalOnPointerDown,
2073          ...otherExternalProps
2074        } = externalProps;
2075        return mergeProps({
2076          onClick(event) {
2077            if (disabled2) {
2078              event.preventDefault();
2079              return;
2080            }
2081            externalOnClick?.(event);
2082          },
2083          onMouseDown(event) {
2084            if (!disabled2) {
2085              externalOnMouseDown?.(event);
2086            }
2087          },
2088          onKeyDown(event) {
2089            if (disabled2) {
2090              return;
2091            }
2092            makeEventPreventable(event);
2093            externalOnKeyDown?.(event);
2094            if (event.baseUIHandlerPrevented) {
2095              return;
2096            }
2097            const isCurrentTarget = event.target === event.currentTarget;
2098            const currentTarget = event.currentTarget;
2099            const isButton = isButtonElement(currentTarget);
2100            const isLink = !isNativeButton && isValidLinkElement(currentTarget);
2101            const shouldClick = isCurrentTarget && (isNativeButton ? isButton : !isLink);
2102            const isEnterKey = event.key === "Enter";
2103            const isSpaceKey = event.key === " ";
2104            const role = currentTarget.getAttribute("role");
2105            const isTextNavigationRole = role?.startsWith("menuitem") || role === "option" || role === "gridcell";
2106            if (isCurrentTarget && isCompositeItem && isSpaceKey) {
2107              if (event.defaultPrevented && isTextNavigationRole) {
2108                return;
2109              }
2110              event.preventDefault();
2111              if (!isNativeButton || isButton) {
2112                event.preventBaseUIHandler();
2113                dispatchClickWithModifiers(currentTarget, event);
2114              }
2115              return;
2116            }
2117            if (!shouldClick || isNativeButton || !isSpaceKey && !isEnterKey) {
2118              if (isCurrentTarget && isLink && isSpaceKey) {
2119                event.preventDefault();
2120              }
2121              return;
2122            }
2123            if (event.defaultPrevented) {
2124              return;
2125            }
2126            event.preventDefault();
2127            if (isEnterKey) {
2128              event.preventBaseUIHandler();
2129              dispatchClickWithModifiers(currentTarget, event);
2130            }
2131          },
2132          onKeyUp(event) {
2133            if (disabled2) {
2134              return;
2135            }
2136            makeEventPreventable(event);
2137            externalOnKeyUp?.(event);
2138            if (event.target === event.currentTarget && isNativeButton && isCompositeItem && isButtonElement(event.currentTarget) && event.key === " ") {
2139              event.preventDefault();
2140              return;
2141            }
2142            if (event.baseUIHandlerPrevented) {
2143              return;
2144            }
2145            if (event.target === event.currentTarget && !isNativeButton && !isCompositeItem && !event.defaultPrevented && event.key === " ") {
2146              event.preventBaseUIHandler();
2147              dispatchClickWithModifiers(event.currentTarget, event);
2148            }
2149          },
2150          onPointerDown(event) {
2151            if (disabled2) {
2152              event.preventDefault();
2153              return;
2154            }
2155            externalOnPointerDown?.(event);
2156          }
2157        }, isNativeButton ? {
2158          type: "button"
2159        } : {
2160          role: "button"
2161        }, focusableWhenDisabledProps, otherExternalProps);
2162      }, [disabled2, focusableWhenDisabledProps, isCompositeItem, isNativeButton]);
2163      const buttonRef = useStableCallback((element) => {
2164        elementRef.current = element;
2165        updateDisabled();
2166      });
2167      return {
2168        getButtonProps,
2169        buttonRef
2170      };
2171    }
2172    function isButtonElement(elem) {
2173      return isHTMLElement(elem) && elem.tagName === "BUTTON";
2174    }
2175    function isValidLinkElement(elem) {
2176      return isHTMLElement(elem) && elem.tagName === "A" && Boolean(elem.href);
2177    }
2178  
2179    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/addEventListener.mjs
2180    function addEventListener(target, type, listener, options) {
2181      target.addEventListener(type, listener, options);
2182      return () => {
2183        target.removeEventListener(type, listener, options);
2184      };
2185    }
2186  
2187    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useValueAsRef.mjs
2188    function useValueAsRef(value) {
2189      const latest = useRefWithInit(createLatestRef, value).current;
2190      latest.next = value;
2191      useIsoLayoutEffect(latest.effect);
2192      return latest;
2193    }
2194    function createLatestRef(value) {
2195      const latest = {
2196        current: value,
2197        next: value,
2198        effect: () => {
2199          latest.current = latest.next;
2200        }
2201      };
2202      return latest;
2203    }
2204  
2205    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/parts.mjs
2206    var parts_exports = {};
2207    __export(parts_exports, {
2208      engine: () => engine_exports,
2209      env: () => env_exports,
2210      mediaQuery: () => media_query_exports,
2211      os: () => os_exports,
2212      screenReader: () => screen_reader_exports
2213    });
2214  
2215    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/os.mjs
2216    var os_exports = {};
2217    __export(os_exports, {
2218      android: () => android,
2219      apple: () => apple,
2220      ios: () => ios,
2221      linux: () => linux,
2222      mac: () => mac,
2223      windows: () => windows
2224    });
2225  
2226    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/shared.mjs
2227    function readRawData() {
2228      if (typeof navigator === "undefined") {
2229        return {
2230          userAgent: "",
2231          platform: "",
2232          maxTouchPoints: 0
2233        };
2234      }
2235      if (true) {
2236        const uaData = navigator.userAgentData;
2237        if (uaData && Array.isArray(uaData.brands)) {
2238          return {
2239            userAgent: uaData.brands.map(({
2240              brand,
2241              version: version2
2242            }) => `$brand}/$version2}`).join(" "),
2243            platform: uaData.platform ?? navigator.platform ?? "",
2244            maxTouchPoints: navigator.maxTouchPoints ?? 0
2245          };
2246        }
2247      }
2248      return {
2249        userAgent: navigator.userAgent,
2250        platform: navigator.platform ?? "",
2251        maxTouchPoints: navigator.maxTouchPoints ?? 0
2252      };
2253    }
2254    var {
2255      userAgent,
2256      platform,
2257      maxTouchPoints
2258    } = readRawData();
2259    var lowerUserAgent = userAgent.toLowerCase();
2260    var lowerPlatform = platform.toLowerCase();
2261  
2262    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/os.mjs
2263    var ios = /^i(os$|p)/.test(lowerPlatform) || lowerPlatform === "macintel" && maxTouchPoints > 1;
2264    var ANDROID_STRING = "android";
2265    var android = lowerPlatform === ANDROID_STRING || lowerUserAgent.includes(ANDROID_STRING);
2266    var mac = !ios && lowerPlatform.startsWith("mac");
2267    var windows = lowerPlatform.startsWith("win");
2268    var linux = !android && /^(linux|chrome os)/.test(lowerPlatform);
2269    var apple = mac || ios;
2270  
2271    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/engine.mjs
2272    var engine_exports = {};
2273    __export(engine_exports, {
2274      blink: () => blink,
2275      gecko: () => gecko,
2276      webkit: () => webkit
2277    });
2278    var webkit = typeof CSS !== "undefined" && !!CSS.supports?.("-webkit-backdrop-filter:none");
2279    var gecko = !webkit && lowerUserAgent.includes("firefox");
2280    var blink = !webkit && lowerUserAgent.includes("chrom");
2281  
2282    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/screen-reader.mjs
2283    var screen_reader_exports = {};
2284    __export(screen_reader_exports, {
2285      voiceOver: () => voiceOver
2286    });
2287    var voiceOver = apple;
2288  
2289    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/env.mjs
2290    var env_exports = {};
2291    __export(env_exports, {
2292      jsdom: () => jsdom
2293    });
2294    var jsdom = /jsdom|happydom/.test(lowerUserAgent);
2295  
2296    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/media-query.mjs
2297    var media_query_exports = {};
2298    __export(media_query_exports, {
2299      iOS: () => iOS
2300    });
2301    var iOS = "@supports (-webkit-touch-callout: none)";
2302  
2303    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useScrollLock.mjs
2304    var originalHtmlStyles = {};
2305    var originalBodyStyles = {};
2306    var originalHtmlScrollBehavior = "";
2307    function getViewportScroller(html, body) {
2308      return isOverflowElement(html) ? html : body;
2309    }
2310    function isPageScrollLocked(win, html, body) {
2311      return /hidden|clip/.test(win.getComputedStyle(getViewportScroller(html, body)).overflowY);
2312    }
2313    function hasInsetScrollbars(referenceElement) {
2314      if (typeof document === "undefined") {
2315        return false;
2316      }
2317      const doc = ownerDocument(referenceElement);
2318      const win = getWindow(doc);
2319      return win.innerWidth - doc.documentElement.clientWidth > 0;
2320    }
2321    function supportsStableScrollbarGutter(referenceElement) {
2322      const supported = typeof CSS !== "undefined" && CSS.supports && CSS.supports("scrollbar-gutter", "stable");
2323      if (!supported || typeof document === "undefined") {
2324        return false;
2325      }
2326      const doc = ownerDocument(referenceElement);
2327      const html = doc.documentElement;
2328      const body = doc.body;
2329      const scrollContainer = getViewportScroller(html, body);
2330      const originalScrollContainerOverflowY = scrollContainer.style.overflowY;
2331      const originalHtmlStyleGutter = html.style.scrollbarGutter;
2332      html.style.scrollbarGutter = "stable";
2333      scrollContainer.style.overflowY = "scroll";
2334      const before = scrollContainer.offsetWidth;
2335      scrollContainer.style.overflowY = "hidden";
2336      const after = scrollContainer.offsetWidth;
2337      scrollContainer.style.overflowY = originalScrollContainerOverflowY;
2338      html.style.scrollbarGutter = originalHtmlStyleGutter;
2339      return before === after;
2340    }
2341    function preventScrollOverlayScrollbars(referenceElement) {
2342      const doc = ownerDocument(referenceElement);
2343      const html = doc.documentElement;
2344      const body = doc.body;
2345      const elementToLock = getViewportScroller(html, body);
2346      const originalElementToLockStyles = {
2347        overflowY: elementToLock.style.overflowY,
2348        overflowX: elementToLock.style.overflowX
2349      };
2350      Object.assign(elementToLock.style, {
2351        overflowY: "hidden",
2352        overflowX: "hidden"
2353      });
2354      return () => {
2355        Object.assign(elementToLock.style, originalElementToLockStyles);
2356      };
2357    }
2358    function preventScrollInsetScrollbars(referenceElement) {
2359      const doc = ownerDocument(referenceElement);
2360      const html = doc.documentElement;
2361      const body = doc.body;
2362      const win = getWindow(html);
2363      let scrollTop = 0;
2364      let scrollLeft = 0;
2365      let updateGutterOnly = false;
2366      const resizeFrame = AnimationFrame.create();
2367      if (parts_exports.engine.webkit && (win.visualViewport?.scale ?? 1) !== 1) {
2368        return () => {
2369        };
2370      }
2371      function lockScroll() {
2372        const htmlStyles = win.getComputedStyle(html);
2373        const bodyStyles = win.getComputedStyle(body);
2374        const htmlScrollbarGutterValue = htmlStyles.scrollbarGutter || "";
2375        const hasBothEdges = htmlScrollbarGutterValue.includes("both-edges");
2376        const scrollbarGutterValue = hasBothEdges ? "stable both-edges" : "stable";
2377        scrollTop = html.scrollTop;
2378        scrollLeft = html.scrollLeft;
2379        originalHtmlStyles = {
2380          scrollbarGutter: html.style.scrollbarGutter,
2381          overflowY: html.style.overflowY,
2382          overflowX: html.style.overflowX
2383        };
2384        originalHtmlScrollBehavior = html.style.scrollBehavior;
2385        originalBodyStyles = {
2386          position: body.style.position,
2387          height: body.style.height,
2388          width: body.style.width,
2389          boxSizing: body.style.boxSizing,
2390          overflowY: body.style.overflowY,
2391          overflowX: body.style.overflowX,
2392          scrollBehavior: body.style.scrollBehavior
2393        };
2394        const isScrollableY = html.scrollHeight > html.clientHeight;
2395        const isScrollableX = html.scrollWidth > html.clientWidth;
2396        const hasConstantOverflowY = htmlStyles.overflowY === "scroll" || bodyStyles.overflowY === "scroll";
2397        const hasConstantOverflowX = htmlStyles.overflowX === "scroll" || bodyStyles.overflowX === "scroll";
2398        const scrollbarWidth = Math.max(0, win.innerWidth - body.clientWidth);
2399        const scrollbarHeight = Math.max(0, win.innerHeight - body.clientHeight);
2400        const marginY = parseFloat(bodyStyles.marginTop) + parseFloat(bodyStyles.marginBottom);
2401        const marginX = parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight);
2402        const elementToLock = getViewportScroller(html, body);
2403        updateGutterOnly = supportsStableScrollbarGutter(referenceElement);
2404        if (updateGutterOnly) {
2405          html.style.scrollbarGutter = scrollbarGutterValue;
2406          elementToLock.style.overflowY = "hidden";
2407          elementToLock.style.overflowX = "hidden";
2408          return;
2409        }
2410        Object.assign(html.style, {
2411          scrollbarGutter: scrollbarGutterValue,
2412          overflowY: "hidden",
2413          overflowX: "hidden"
2414        });
2415        if (isScrollableY || hasConstantOverflowY) {
2416          html.style.overflowY = "scroll";
2417        }
2418        if (isScrollableX || hasConstantOverflowX) {
2419          html.style.overflowX = "scroll";
2420        }
2421        Object.assign(body.style, {
2422          position: "relative",
2423          height: marginY || scrollbarHeight ? `calc(100dvh - $marginY + scrollbarHeight}px)` : "100dvh",
2424          width: marginX || scrollbarWidth ? `calc(100vw - $marginX + scrollbarWidth}px)` : "100vw",
2425          boxSizing: "border-box",
2426          // Assign the longhands that `cleanup` restores, so nothing is left behind.
2427          overflowY: "hidden",
2428          overflowX: "hidden",
2429          scrollBehavior: "unset"
2430        });
2431        body.scrollTop = scrollTop;
2432        body.scrollLeft = scrollLeft;
2433        html.setAttribute("data-base-ui-scroll-locked", "");
2434        html.style.scrollBehavior = "unset";
2435      }
2436      function cleanup() {
2437        Object.assign(html.style, originalHtmlStyles);
2438        Object.assign(body.style, originalBodyStyles);
2439        if (!updateGutterOnly) {
2440          html.scrollTop = scrollTop;
2441          html.scrollLeft = scrollLeft;
2442          html.removeAttribute("data-base-ui-scroll-locked");
2443          html.style.scrollBehavior = originalHtmlScrollBehavior;
2444        }
2445      }
2446      function handleResize() {
2447        cleanup();
2448        resizeFrame.request(lockScroll);
2449      }
2450      lockScroll();
2451      const unsubscribeResize = addEventListener(win, "resize", handleResize);
2452      return () => {
2453        resizeFrame.cancel();
2454        cleanup();
2455        if (typeof win.removeEventListener === "function") {
2456          unsubscribeResize();
2457        }
2458      };
2459    }
2460    var ScrollLocker = class {
2461      lockCount = 0;
2462      restore = null;
2463      timeoutLock = Timeout.create();
2464      timeoutUnlock = Timeout.create();
2465      acquire(referenceElement) {
2466        this.lockCount += 1;
2467        if (this.lockCount === 1 && this.restore === null) {
2468          this.timeoutLock.start(0, () => this.lock(referenceElement));
2469        }
2470        return this.release;
2471      }
2472      release = () => {
2473        this.lockCount -= 1;
2474        if (this.lockCount === 0 && this.restore) {
2475          this.timeoutUnlock.start(0, this.unlock);
2476        }
2477      };
2478      unlock = () => {
2479        if (this.lockCount === 0 && this.restore) {
2480          this.restore?.();
2481          this.restore = null;
2482        }
2483      };
2484      lock(referenceElement) {
2485        if (this.lockCount === 0 || this.restore !== null) {
2486          return;
2487        }
2488        const doc = ownerDocument(referenceElement);
2489        const html = doc.documentElement;
2490        const body = doc.body;
2491        const win = getWindow(html);
2492        if (isPageScrollLocked(win, html, body)) {
2493          const observer = new win.MutationObserver(() => {
2494            if (isPageScrollLocked(win, html, body)) {
2495              return;
2496            }
2497            observer.disconnect();
2498            this.restore = null;
2499            this.lock(referenceElement);
2500          });
2501          const options = {
2502            attributes: true
2503          };
2504          observer.observe(html, options);
2505          observer.observe(body, options);
2506          this.restore = () => observer.disconnect();
2507          return;
2508        }
2509        const hasOverlayScrollbars = parts_exports.os.ios || !hasInsetScrollbars(referenceElement);
2510        this.restore = hasOverlayScrollbars ? preventScrollOverlayScrollbars(referenceElement) : preventScrollInsetScrollbars(referenceElement);
2511      }
2512    };
2513    var SCROLL_LOCKER = new ScrollLocker();
2514    function useScrollLock(enabled = true, referenceElement = null) {
2515      useIsoLayoutEffect(() => {
2516        if (!enabled) {
2517          return void 0;
2518        }
2519        return SCROLL_LOCKER.acquire(referenceElement);
2520      }, [enabled, referenceElement]);
2521    }
2522  
2523    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/event.mjs
2524    function stopEvent(event) {
2525      event.preventDefault();
2526      event.stopPropagation();
2527    }
2528    function isReactEvent(event) {
2529      return "nativeEvent" in event;
2530    }
2531    function isVirtualClick(event) {
2532      if (event.pointerType === "" && event.isTrusted) {
2533        return true;
2534      }
2535      if (parts_exports.os.android && event.pointerType) {
2536        return event.type === "click" && event.buttons === 1;
2537      }
2538      return event.detail === 0 && !event.pointerType;
2539    }
2540    function isVirtualPointerEvent(event) {
2541      if (parts_exports.env.jsdom) {
2542        return false;
2543      }
2544      return !parts_exports.os.android && event.width === 0 && event.height === 0 || // Chrome synthesizes a screen reader press (TalkBack, VoiceOver, NVDA) as a 1x1 mouse
2545      // `pointerdown` with no pressure. TalkBack can report a pressed button, while desktop
2546      // mouse presses can report no pressure, so only require no pressed button off Android.
2547      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.
2548      event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "touch";
2549    }
2550    function isMouseLikePointerType(pointerType, strict) {
2551      const values = ["mouse", "pen"];
2552      if (!strict) {
2553        values.push("", void 0);
2554      }
2555      return values.includes(pointerType);
2556    }
2557    function isClickLikeEvent(event) {
2558      const type = event.type;
2559      return type === "click" || type === "mousedown" || type === "keydown" || type === "keyup";
2560    }
2561  
2562    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/shadowDom.mjs
2563    function activeElement(doc) {
2564      let element = doc.activeElement;
2565      while (element?.shadowRoot?.activeElement != null) {
2566        element = element.shadowRoot.activeElement;
2567      }
2568      return element;
2569    }
2570    function contains(parent, child) {
2571      if (!parent || !child) {
2572        return false;
2573      }
2574      const rootNode = child.getRootNode?.();
2575      if (parent.contains(child)) {
2576        return true;
2577      }
2578      if (rootNode && isShadowRoot(rootNode)) {
2579        let next = child;
2580        while (next) {
2581          if (parent === next) {
2582            return true;
2583          }
2584          next = next.parentNode || next.host;
2585        }
2586      }
2587      return false;
2588    }
2589    function closest(node, selector) {
2590      let current = node;
2591      while (current) {
2592        if (isElement(current) && current.matches(selector)) {
2593          return current;
2594        }
2595        current = current.assignedSlot ?? current.parentNode ?? (isShadowRoot(current) ? current.host : null);
2596      }
2597      return null;
2598    }
2599    function getTarget(event) {
2600      if ("composedPath" in event) {
2601        return event.composedPath()[0] ?? event.target;
2602      }
2603      return event.target;
2604    }
2605  
2606    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/constants.mjs
2607    var FOCUSABLE_ATTRIBUTE = "data-base-ui-focusable";
2608    var TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
2609    var ARROW_LEFT = "ArrowLeft";
2610    var ARROW_RIGHT = "ArrowRight";
2611    var ARROW_UP = "ArrowUp";
2612    var ARROW_DOWN = "ArrowDown";
2613  
2614    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPopupDataAttributes.mjs
2615    var open = "data-open";
2616    var closed = "data-closed";
2617    var anchorHidden = "data-anchor-hidden";
2618  
2619    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonTriggerDataAttributes.mjs
2620    var CommonTriggerDataAttributes_exports = {};
2621    __export(CommonTriggerDataAttributes_exports, {
2622      popupOpen: () => popupOpen,
2623      pressed: () => pressed
2624    });
2625    var popupOpen = "data-popup-open";
2626    var pressed = "data-pressed";
2627  
2628    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popupStateMapping.mjs
2629    var TRIGGER_HOOK = {
2630      [popupOpen]: ""
2631    };
2632    var PRESSABLE_TRIGGER_HOOK = {
2633      [popupOpen]: "",
2634      [pressed]: ""
2635    };
2636    var POPUP_OPEN_HOOK = {
2637      [open]: ""
2638    };
2639    var POPUP_CLOSED_HOOK = {
2640      [closed]: ""
2641    };
2642    var ANCHOR_HIDDEN_HOOK = {
2643      [anchorHidden]: ""
2644    };
2645    var triggerOpenStateMapping = {
2646      open(value) {
2647        if (value) {
2648          return TRIGGER_HOOK;
2649        }
2650        return null;
2651      }
2652    };
2653    var pressableTriggerOpenStateMapping = {
2654      open(value) {
2655        if (value) {
2656          return PRESSABLE_TRIGGER_HOOK;
2657        }
2658        return null;
2659      }
2660    };
2661    var popupStateMapping = {
2662      open(value) {
2663        if (value) {
2664          return POPUP_OPEN_HOOK;
2665        }
2666        return POPUP_CLOSED_HOOK;
2667      },
2668      anchorHidden(value) {
2669        if (value) {
2670          return ANCHOR_HIDDEN_HOOK;
2671        }
2672        return null;
2673      }
2674    };
2675    var popupTransitionStateMapping = {
2676      ...popupStateMapping,
2677      ...transitionStatusMapping
2678    };
2679  
2680    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/element.mjs
2681    function isEventTargetWithin(event, node) {
2682      if (node == null) {
2683        return false;
2684      }
2685      if ("composedPath" in event) {
2686        return event.composedPath().includes(node);
2687      }
2688      const eventAgain = event;
2689      return eventAgain.target != null && node.contains(eventAgain.target);
2690    }
2691    function isRootElement(element) {
2692      return element.matches("html,body");
2693    }
2694    function isTypeableElement(element) {
2695      return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
2696    }
2697    function isTypeableCombobox(element) {
2698      if (!element) {
2699        return false;
2700      }
2701      return element.getAttribute("role") === "combobox" && isTypeableElement(element);
2702    }
2703    function getFloatingFocusElement(floatingElement) {
2704      if (!floatingElement) {
2705        return null;
2706      }
2707      return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(`[$FOCUSABLE_ATTRIBUTE}]`) || floatingElement;
2708    }
2709  
2710    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingFocusManager.mjs
2711    var React22 = __toESM(require_react(), 1);
2712  
2713    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/mergeCleanups.mjs
2714    function mergeCleanups(...cleanups) {
2715      return () => {
2716        for (let i = 0; i < cleanups.length; i += 1) {
2717          const cleanup = cleanups[i];
2718          if (cleanup) {
2719            cleanup();
2720          }
2721        }
2722      };
2723    }
2724  
2725    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FocusGuard.mjs
2726    var React19 = __toESM(require_react(), 1);
2727  
2728    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/visuallyHidden.mjs
2729    var visuallyHiddenBase = {
2730      clipPath: "inset(50%)",
2731      overflow: "hidden",
2732      whiteSpace: "nowrap",
2733      border: 0,
2734      padding: 0,
2735      width: 1,
2736      height: 1,
2737      margin: -1
2738    };
2739    var visuallyHidden = {
2740      ...visuallyHiddenBase,
2741      position: "fixed",
2742      margin: 0,
2743      top: 0,
2744      left: 0
2745    };
2746    var visuallyHiddenInput = {
2747      ...visuallyHiddenBase,
2748      position: "absolute"
2749    };
2750  
2751    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FocusGuard.mjs
2752    var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1);
2753    var FocusGuard = /* @__PURE__ */ React19.forwardRef(function FocusGuard2(props, ref) {
2754      const [role, setRole] = React19.useState();
2755      useIsoLayoutEffect(() => {
2756        if (parts_exports.screenReader.voiceOver && parts_exports.engine.webkit) {
2757          setRole("button");
2758        }
2759      }, []);
2760      const restProps = {
2761        tabIndex: 0,
2762        // Role is only for VoiceOver
2763        role
2764      };
2765      return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", {
2766        ...props,
2767        ref,
2768        style: visuallyHidden,
2769        "aria-hidden": role ? void 0 : true,
2770        ...restProps,
2771        "data-base-ui-focus-guard": ""
2772      });
2773    });
2774    if (true) FocusGuard.displayName = "FocusGuard";
2775  
2776    // node_modules/.store/@floating-ui/utils@0.2.12-gOxTzMf36nCrbeHpEew-rw/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
2777    var min = Math.min;
2778    var max = Math.max;
2779    var round = Math.round;
2780    var floor = Math.floor;
2781    var createCoords = (v) => ({
2782      x: v,
2783      y: v
2784    });
2785    var oppositeSideMap = {
2786      left: "right",
2787      right: "left",
2788      bottom: "top",
2789      top: "bottom"
2790    };
2791    function clamp(start, value, end) {
2792      return max(start, min(value, end));
2793    }
2794    function evaluate(value, param) {
2795      return typeof value === "function" ? value(param) : value;
2796    }
2797    function getSide(placement) {
2798      return placement.split("-")[0];
2799    }
2800    function getAlignment(placement) {
2801      return placement.split("-")[1];
2802    }
2803    function getOppositeAxis(axis) {
2804      return axis === "x" ? "y" : "x";
2805    }
2806    function getAxisLength(axis) {
2807      return axis === "y" ? "height" : "width";
2808    }
2809    function getSideAxis(placement) {
2810      const firstChar = placement[0];
2811      return firstChar === "t" || firstChar === "b" ? "y" : "x";
2812    }
2813    function getAlignmentAxis(placement) {
2814      return getOppositeAxis(getSideAxis(placement));
2815    }
2816    function getAlignmentSides(placement, rects, rtl) {
2817      if (rtl === void 0) {
2818        rtl = false;
2819      }
2820      const alignment = getAlignment(placement);
2821      const alignmentAxis = getAlignmentAxis(placement);
2822      const length = getAxisLength(alignmentAxis);
2823      let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top";
2824      if (rects.reference[length] > rects.floating[length]) {
2825        mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
2826      }
2827      return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];
2828    }
2829    function getExpandedPlacements(placement) {
2830      const oppositePlacement = getOppositePlacement(placement);
2831      return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
2832    }
2833    function getOppositeAlignmentPlacement(placement) {
2834      return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start");
2835    }
2836    var lrPlacement = ["left", "right"];
2837    var rlPlacement = ["right", "left"];
2838    var tbPlacement = ["top", "bottom"];
2839    var btPlacement = ["bottom", "top"];
2840    function getSideList(side, isStart, rtl) {
2841      switch (side) {
2842        case "top":
2843        case "bottom":
2844          if (rtl) return isStart ? rlPlacement : lrPlacement;
2845          return isStart ? lrPlacement : rlPlacement;
2846        case "left":
2847        case "right":
2848          return isStart ? tbPlacement : btPlacement;
2849        default:
2850          return [];
2851      }
2852    }
2853    function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
2854      const alignment = getAlignment(placement);
2855      let list = getSideList(getSide(placement), direction === "start", rtl);
2856      if (alignment) {
2857        list = list.map((side) => side + "-" + alignment);
2858        if (flipAlignment) {
2859          list = list.concat(list.map(getOppositeAlignmentPlacement));
2860        }
2861      }
2862      return list;
2863    }
2864    function getOppositePlacement(placement) {
2865      const side = getSide(placement);
2866      return oppositeSideMap[side] + placement.slice(side.length);
2867    }
2868    function expandPaddingObject(padding) {
2869      var _padding$top, _padding$right, _padding$bottom, _padding$left;
2870      return {
2871        top: (_padding$top = padding.top) != null ? _padding$top : 0,
2872        right: (_padding$right = padding.right) != null ? _padding$right : 0,
2873        bottom: (_padding$bottom = padding.bottom) != null ? _padding$bottom : 0,
2874        left: (_padding$left = padding.left) != null ? _padding$left : 0
2875      };
2876    }
2877    function getPaddingObject(padding) {
2878      return typeof padding !== "number" ? expandPaddingObject(padding) : {
2879        top: padding,
2880        right: padding,
2881        bottom: padding,
2882        left: padding
2883      };
2884    }
2885    function rectToClientRect(rect) {
2886      const {
2887        x,
2888        y,
2889        width,
2890        height
2891      } = rect;
2892      return {
2893        width,
2894        height,
2895        top: y,
2896        left: x,
2897        right: x + width,
2898        bottom: y + height,
2899        x,
2900        y
2901      };
2902    }
2903  
2904    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/composite.mjs
2905    function isIndexOutOfListBounds(list, index2) {
2906      return index2 < 0 || index2 >= list.length;
2907    }
2908    function getMinListIndex(listRef, disabledIndices) {
2909      return findNonDisabledListIndex(listRef.current, {
2910        disabledIndices
2911      });
2912    }
2913    function getMaxListIndex(listRef, disabledIndices) {
2914      return findNonDisabledListIndex(listRef.current, {
2915        decrement: true,
2916        startingIndex: listRef.current.length,
2917        disabledIndices
2918      });
2919    }
2920    function getNextListIndex(list, currentIndex, options) {
2921      const {
2922        decrement,
2923        loopFocus,
2924        allowEscape,
2925        disabledIndices,
2926        minIndex,
2927        maxIndex
2928      } = options;
2929      const step = () => findNonDisabledListIndex(list, {
2930        startingIndex: currentIndex,
2931        decrement,
2932        disabledIndices
2933      });
2934      let index2;
2935      let wrapped = false;
2936      if (!loopFocus) {
2937        index2 = decrement ? Math.max(minIndex, step()) : Math.min(maxIndex, step());
2938      } else if (decrement ? currentIndex <= minIndex : currentIndex >= maxIndex) {
2939        const outside = decrement ? -1 : list.length;
2940        if (allowEscape && currentIndex !== outside) {
2941          index2 = -1;
2942        } else {
2943          index2 = decrement ? maxIndex : minIndex;
2944          wrapped = true;
2945        }
2946      } else {
2947        index2 = step();
2948      }
2949      return {
2950        index: isIndexOutOfListBounds(list, index2) ? -1 : index2,
2951        wrapped
2952      };
2953    }
2954    function findNonDisabledListIndex(list, {
2955      startingIndex = -1,
2956      decrement = false,
2957      disabledIndices,
2958      amount = 1
2959    } = {}) {
2960      let index2 = startingIndex;
2961      do {
2962        index2 += decrement ? -amount : amount;
2963      } while (index2 >= 0 && index2 <= list.length - 1 && isListIndexDisabled(list, index2, disabledIndices));
2964      return index2;
2965    }
2966    function isListIndexDisabled(list, index2, disabledIndices) {
2967      const isExplicitlyDisabled = typeof disabledIndices === "function" ? disabledIndices(index2) : disabledIndices?.includes(index2) ?? false;
2968      if (isExplicitlyDisabled) {
2969        return true;
2970      }
2971      const element = list[index2];
2972      if (!element) {
2973        return false;
2974      }
2975      if (!isElementVisible(element)) {
2976        return true;
2977      }
2978      if (element.matches(":disabled")) {
2979        return true;
2980      }
2981      return !disabledIndices && (element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true");
2982    }
2983    function isHiddenByStyles(styles) {
2984      return styles.visibility === "hidden" || styles.visibility === "collapse";
2985    }
2986    function isElementVisible(element, styles = element ? getComputedStyle2(element) : null) {
2987      if (!element || !element.isConnected || !styles || isHiddenByStyles(styles)) {
2988        return false;
2989      }
2990      if (typeof element.checkVisibility === "function") {
2991        return element.checkVisibility();
2992      }
2993      return styles.display !== "none" && styles.display !== "contents";
2994    }
2995  
2996    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/tabbable.mjs
2997    var CANDIDATE_SELECTOR = 'a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]';
2998    function getParentElement(element) {
2999      const assignedSlot = element.assignedSlot;
3000      if (assignedSlot) {
3001        return assignedSlot;
3002      }
3003      if (element.parentElement) {
3004        return element.parentElement;
3005      }
3006      const rootNode = element.getRootNode();
3007      return isShadowRoot(rootNode) ? rootNode.host : null;
3008    }
3009    function getDetailsSummary(details) {
3010      for (const child of Array.from(details.children)) {
3011        if (getNodeName(child) === "summary") {
3012          return child;
3013        }
3014      }
3015      return null;
3016    }
3017    function isWithinOpenDetailsSummary(element, details) {
3018      const summary = getDetailsSummary(details);
3019      return !!summary && (element === summary || contains(summary, element));
3020    }
3021    function isFocusableCandidate(element) {
3022      const nodeName = element ? getNodeName(element) : "";
3023      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");
3024    }
3025    function isFocusableElement(element) {
3026      if (!isFocusableCandidate(element) || !element.isConnected || element.matches(":disabled")) {
3027        return false;
3028      }
3029      for (let current = element; current; current = getParentElement(current)) {
3030        const isAncestor = current !== element;
3031        const isSlot = getNodeName(current) === "slot";
3032        if (current.hasAttribute("inert")) {
3033          return false;
3034        }
3035        if (isAncestor && getNodeName(current) === "details" && !current.open && !isWithinOpenDetailsSummary(element, current) || current.hasAttribute("hidden") || !isSlot && !isVisibleInTabbableTree(current, isAncestor)) {
3036          return false;
3037        }
3038      }
3039      return true;
3040    }
3041    function isVisibleInTabbableTree(element, isAncestor) {
3042      const styles = getComputedStyle2(element);
3043      if (!isAncestor) {
3044        return isElementVisible(element, styles);
3045      }
3046      return styles.display !== "none";
3047    }
3048    function getTabIndex(element) {
3049      const tabIndex = element.tabIndex;
3050      if (tabIndex < 0) {
3051        const nodeName = getNodeName(element);
3052        if (nodeName === "details" || nodeName === "audio" || nodeName === "video" || isHTMLElement(element) && element.isContentEditable) {
3053          return 0;
3054        }
3055      }
3056      return tabIndex;
3057    }
3058    function getNamedRadioInput(element) {
3059      if (getNodeName(element) !== "input") {
3060        return null;
3061      }
3062      const input = element;
3063      return input.type === "radio" && input.name !== "" ? input : null;
3064    }
3065    function isTabbableRadio(element, candidates) {
3066      const input = getNamedRadioInput(element);
3067      if (!input) {
3068        return true;
3069      }
3070      const checkedRadio = candidates.find((candidate) => {
3071        const radio = getNamedRadioInput(candidate);
3072        return radio?.name === input.name && radio.form === input.form && radio.checked;
3073      });
3074      if (checkedRadio) {
3075        return checkedRadio === input;
3076      }
3077      return candidates.find((candidate) => {
3078        const radio = getNamedRadioInput(candidate);
3079        return radio?.name === input.name && radio.form === input.form;
3080      }) === input;
3081    }
3082    function getComposedChildren(container) {
3083      if (isHTMLElement(container) && getNodeName(container) === "slot") {
3084        const assignedElements = container.assignedElements({
3085          flatten: true
3086        });
3087        if (assignedElements.length > 0) {
3088          return assignedElements;
3089        }
3090      }
3091      if (isHTMLElement(container) && container.shadowRoot) {
3092        return Array.from(container.shadowRoot.children);
3093      }
3094      return Array.from(container.children);
3095    }
3096    function appendCandidates(container, list) {
3097      getComposedChildren(container).forEach((child) => {
3098        if (isFocusableCandidate(child)) {
3099          list.push(child);
3100        }
3101        appendCandidates(child, list);
3102      });
3103    }
3104    function appendMatchingElements(container, selector, list) {
3105      getComposedChildren(container).forEach((child) => {
3106        if (isHTMLElement(child) && child.matches(selector)) {
3107          list.push(child);
3108        }
3109        appendMatchingElements(child, selector, list);
3110      });
3111    }
3112    function isTabbable(element) {
3113      return isFocusableElement(element) && getTabIndex(element) >= 0;
3114    }
3115    function focusable(container) {
3116      const candidates = [];
3117      appendCandidates(container, candidates);
3118      return candidates.filter(isFocusableElement);
3119    }
3120    function tabbable(container) {
3121      const candidates = focusable(container);
3122      return candidates.filter((element) => getTabIndex(element) >= 0 && isTabbableRadio(element, candidates));
3123    }
3124    function getTabbableIn(container, dir) {
3125      const list = tabbable(container);
3126      const len = list.length;
3127      if (len === 0) {
3128        return void 0;
3129      }
3130      const active = activeElement(ownerDocument(container));
3131      const index2 = list.indexOf(active);
3132      const nextIndex = index2 === -1 ? dir === 1 ? 0 : len - 1 : index2 + dir;
3133      return list[nextIndex];
3134    }
3135    function getNextTabbable(referenceElement) {
3136      return getTabbableIn(ownerDocument(referenceElement).body, 1) || referenceElement;
3137    }
3138    function getPreviousTabbable(referenceElement) {
3139      return getTabbableIn(ownerDocument(referenceElement).body, -1) || referenceElement;
3140    }
3141    function isOutsideEvent(event, container) {
3142      const containerElement = container || event.currentTarget;
3143      const relatedTarget = event.relatedTarget;
3144      return !relatedTarget || !contains(containerElement, relatedTarget);
3145    }
3146    function disableFocusInside(container) {
3147      const tabbableElements = tabbable(container);
3148      tabbableElements.forEach((element) => {
3149        element.dataset.tabindex = element.getAttribute("tabindex") || "";
3150        element.setAttribute("tabindex", "-1");
3151      });
3152    }
3153    function enableFocusInside(container) {
3154      const elements = [];
3155      appendMatchingElements(container, "[data-tabindex]", elements);
3156      elements.forEach((element) => {
3157        const tabindex = element.dataset.tabindex;
3158        delete element.dataset.tabindex;
3159        if (tabindex) {
3160          element.setAttribute("tabindex", tabindex);
3161        } else {
3162          element.removeAttribute("tabindex");
3163        }
3164      });
3165    }
3166  
3167    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/nodes.mjs
3168    function getNodeChildren(nodes, id, onlyOpenChildren = true) {
3169      const directChildren = nodes.filter((node) => node.parentId === id);
3170      return directChildren.flatMap((child) => [...!onlyOpenChildren || child.context?.open ? [child] : [], ...getNodeChildren(nodes, child.id, onlyOpenChildren)]);
3171    }
3172    function getNodeAncestors(nodes, id) {
3173      let allAncestors = [];
3174      let currentParentId = nodes.find((node) => node.id === id)?.parentId;
3175      while (currentParentId) {
3176        const currentNode = nodes.find((node) => node.id === currentParentId);
3177        currentParentId = currentNode?.parentId;
3178        if (currentNode) {
3179          allAncestors = allAncestors.concat(currentNode);
3180        }
3181      }
3182      return allAncestors;
3183    }
3184  
3185    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/createAttribute.mjs
3186    function createAttribute(name3) {
3187      return `data-base-ui-$name3}`;
3188    }
3189  
3190    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/enqueueFocus.mjs
3191    var rafId = 0;
3192    function enqueueFocus(el2, options = {}) {
3193      const {
3194        preventScroll = false,
3195        sync = false,
3196        shouldFocus
3197      } = options;
3198      cancelAnimationFrame(rafId);
3199      function exec() {
3200        if (shouldFocus && !shouldFocus()) {
3201          return;
3202        }
3203        el2?.focus({
3204          preventScroll
3205        });
3206      }
3207      if (sync) {
3208        exec();
3209        return NOOP;
3210      }
3211      const currentRafId = requestAnimationFrame(exec);
3212      rafId = currentRafId;
3213      return () => {
3214        if (rafId === currentRafId) {
3215          cancelAnimationFrame(currentRafId);
3216          rafId = 0;
3217        }
3218      };
3219    }
3220  
3221    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/markOthers.mjs
3222    var markerName = "data-base-ui-inert";
3223    var ariaHiddenCounterMap = /* @__PURE__ */ new WeakMap();
3224    var uncontrolledElementsSet = /* @__PURE__ */ new WeakSet();
3225    var markerCounterMap = /* @__PURE__ */ new WeakMap();
3226    var lockCount = 0;
3227    function unwrapHost(node) {
3228      if (!node) {
3229        return null;
3230      }
3231      return isShadowRoot(node) ? node.host : unwrapHost(node.parentNode);
3232    }
3233    var correctElements = (parent, targets) => targets.map((target) => {
3234      if (parent.contains(target)) {
3235        return target;
3236      }
3237      const correctedTarget = unwrapHost(target);
3238      if (parent.contains(correctedTarget)) {
3239        return correctedTarget;
3240      }
3241      return null;
3242    }).filter((x) => x != null);
3243    var buildKeepSet = (targets) => {
3244      const keep = /* @__PURE__ */ new Set();
3245      targets.forEach((target) => {
3246        let node = target;
3247        while (node && !keep.has(node)) {
3248          keep.add(node);
3249          node = node.parentNode;
3250        }
3251      });
3252      return keep;
3253    };
3254    var collectOutsideElements = (root, keepElements, stopElements) => {
3255      const outside = [];
3256      const walk = (parent) => {
3257        if (!parent || stopElements.has(parent)) {
3258          return;
3259        }
3260        Array.from(parent.children).forEach((node) => {
3261          if (getNodeName(node) === "script") {
3262            return;
3263          }
3264          if (keepElements.has(node)) {
3265            walk(node);
3266          } else {
3267            outside.push(node);
3268          }
3269        });
3270      };
3271      walk(root);
3272      return outside;
3273    };
3274    function applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, {
3275      mark = true
3276    }) {
3277      const avoidElements = correctElements(body, uncorrectedAvoidElements);
3278      const markerTargets = mark ? collectOutsideElements(body, buildKeepSet(avoidElements), new Set(avoidElements)) : [];
3279      const hiddenElements = [];
3280      const markedElements = [];
3281      if (ariaHidden) {
3282        const ariaLiveElements = correctElements(body, Array.from(body.querySelectorAll("[aria-live]")));
3283        const controlElements = avoidElements.concat(ariaLiveElements);
3284        const controlTargets = collectOutsideElements(body, buildKeepSet(controlElements), new Set(controlElements));
3285        controlTargets.forEach((node) => {
3286          const attr2 = node.getAttribute("aria-hidden");
3287          const alreadyHidden = attr2 !== null && attr2 !== "false";
3288          const counterValue = (ariaHiddenCounterMap.get(node) || 0) + 1;
3289          ariaHiddenCounterMap.set(node, counterValue);
3290          hiddenElements.push(node);
3291          if (counterValue === 1 && alreadyHidden) {
3292            uncontrolledElementsSet.add(node);
3293          }
3294          if (!alreadyHidden) {
3295            node.setAttribute("aria-hidden", "true");
3296          }
3297        });
3298      }
3299      if (mark) {
3300        markerTargets.forEach((node) => {
3301          const markerValue = (markerCounterMap.get(node) || 0) + 1;
3302          markerCounterMap.set(node, markerValue);
3303          markedElements.push(node);
3304          if (markerValue === 1) {
3305            node.setAttribute(markerName, "");
3306          }
3307        });
3308      }
3309      lockCount += 1;
3310      return () => {
3311        hiddenElements.forEach((element) => {
3312          const counterValue = (ariaHiddenCounterMap.get(element) || 0) - 1;
3313          ariaHiddenCounterMap.set(element, counterValue);
3314          if (!counterValue) {
3315            if (!uncontrolledElementsSet.has(element)) {
3316              element.removeAttribute("aria-hidden");
3317            }
3318            uncontrolledElementsSet.delete(element);
3319          }
3320        });
3321        if (mark) {
3322          markedElements.forEach((element) => {
3323            const markerValue = (markerCounterMap.get(element) || 0) - 1;
3324            markerCounterMap.set(element, markerValue);
3325            if (!markerValue) {
3326              element.removeAttribute(markerName);
3327            }
3328          });
3329        }
3330        lockCount -= 1;
3331        if (!lockCount) {
3332          ariaHiddenCounterMap = /* @__PURE__ */ new WeakMap();
3333          uncontrolledElementsSet = /* @__PURE__ */ new WeakSet();
3334          markerCounterMap = /* @__PURE__ */ new WeakMap();
3335        }
3336      };
3337    }
3338    function markOthers(avoidElements, options = {}) {
3339      const {
3340        ariaHidden = false,
3341        mark = true
3342      } = options;
3343      const body = ownerDocument(avoidElements[0]).body;
3344      return applyAttributeToOthers(avoidElements, body, ariaHidden, {
3345        mark
3346      });
3347    }
3348  
3349    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs
3350    var React20 = __toESM(require_react(), 1);
3351    var ReactDOM2 = __toESM(require_react_dom(), 1);
3352  
3353    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/constants.mjs
3354    var DISABLED_TRANSITIONS_STYLE = {
3355      style: {
3356        transition: "none"
3357      }
3358    };
3359    var CLICK_TRIGGER_IDENTIFIER = "data-base-ui-click-trigger";
3360    var BASE_UI_SWIPE_IGNORE_ATTRIBUTE = "data-base-ui-swipe-ignore";
3361    var LEGACY_SWIPE_IGNORE_ATTRIBUTE = "data-swipe-ignore";
3362    var BASE_UI_SWIPE_IGNORE_SELECTOR = `[$BASE_UI_SWIPE_IGNORE_ATTRIBUTE}]`;
3363    var LEGACY_SWIPE_IGNORE_SELECTOR = `[$LEGACY_SWIPE_IGNORE_ATTRIBUTE}]`;
3364    var DROPDOWN_COLLISION_AVOIDANCE = {
3365      fallbackAxisSide: "none"
3366    };
3367    var ownerVisuallyHidden = {
3368      clipPath: "inset(50%)",
3369      position: "fixed",
3370      top: 0,
3371      left: 0
3372    };
3373  
3374    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs
3375    var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1);
3376    var PortalContext = /* @__PURE__ */ React20.createContext(null);
3377    if (true) PortalContext.displayName = "PortalContext";
3378    var usePortalContext = () => React20.useContext(PortalContext);
3379    var attr = createAttribute("portal");
3380    function useFloatingPortalNode(props = {}) {
3381      const {
3382        ref,
3383        container: containerProp,
3384        componentProps = EMPTY_OBJECT,
3385        elementProps
3386      } = props;
3387      const uniqueId = useId();
3388      const portalContext = usePortalContext();
3389      const parentPortalNode = portalContext?.portalNode;
3390      const [containerElement, setContainerElement] = React20.useState(null);
3391      const [portalNode, setPortalNode] = React20.useState(null);
3392      const setPortalNodeRef = useStableCallback((node) => {
3393        if (node !== null) {
3394          setPortalNode(node);
3395        }
3396      });
3397      const containerRef = React20.useRef(null);
3398      useIsoLayoutEffect(() => {
3399        if (containerProp === null) {
3400          if (containerRef.current) {
3401            containerRef.current = null;
3402            setPortalNode(null);
3403            setContainerElement(null);
3404          }
3405          return;
3406        }
3407        const resolvedContainer = (containerProp && (isNode(containerProp) ? containerProp : containerProp.current)) ?? parentPortalNode ?? document.body;
3408        if (resolvedContainer == null) {
3409          if (containerRef.current) {
3410            containerRef.current = null;
3411            setPortalNode(null);
3412            setContainerElement(null);
3413          }
3414          return;
3415        }
3416        if (containerRef.current !== resolvedContainer) {
3417          containerRef.current = resolvedContainer;
3418          setPortalNode(null);
3419          setContainerElement(resolvedContainer);
3420        }
3421      }, [containerProp, parentPortalNode]);
3422      const portalElement = useRenderElement("div", componentProps, {
3423        ref: [ref, setPortalNodeRef],
3424        props: [{
3425          id: uniqueId,
3426          [attr]: ""
3427        }, elementProps]
3428      });
3429      const portalSubtree = containerElement && portalElement ? /* @__PURE__ */ ReactDOM2.createPortal(portalElement, containerElement) : null;
3430      return {
3431        node: portalNode,
3432        // `id` and `render` props can override or remove the generated ID. Use the exact
3433        // rendered value so `aria-owns` never points at an ID absent from the DOM.
3434        nodeId: /* @__PURE__ */ React20.isValidElement(portalElement) ? portalElement.props.id : void 0,
3435        subtree: portalSubtree
3436      };
3437    }
3438    var FloatingPortal = /* @__PURE__ */ React20.forwardRef(function FloatingPortal2(componentProps, forwardedRef) {
3439      const {
3440        render,
3441        className,
3442        style,
3443        children,
3444        container,
3445        portalOwnerRole,
3446        ...elementProps
3447      } = componentProps;
3448      const {
3449        node: portalNode,
3450        nodeId: portalNodeId,
3451        subtree: portalSubtree
3452      } = useFloatingPortalNode({
3453        container,
3454        ref: forwardedRef,
3455        componentProps,
3456        elementProps
3457      });
3458      const beforeOutsideRef = React20.useRef(null);
3459      const afterOutsideRef = React20.useRef(null);
3460      const beforeInsideRef = React20.useRef(null);
3461      const afterInsideRef = React20.useRef(null);
3462      const [focusManagerState, setFocusManagerState] = React20.useState(null);
3463      const focusInsideDisabledRef = React20.useRef(false);
3464      const modal = focusManagerState?.modal;
3465      const open2 = focusManagerState?.open;
3466      const shouldRenderGuards = !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode;
3467      React20.useEffect(() => {
3468        if (!portalNode || modal) {
3469          return void 0;
3470        }
3471        function onFocus(event) {
3472          if (portalNode && event.relatedTarget && isOutsideEvent(event)) {
3473            if (event.type === "focusin") {
3474              if (focusInsideDisabledRef.current) {
3475                enableFocusInside(portalNode);
3476                focusInsideDisabledRef.current = false;
3477              }
3478            } else {
3479              disableFocusInside(portalNode);
3480              focusInsideDisabledRef.current = true;
3481            }
3482          }
3483        }
3484        return mergeCleanups(addEventListener(portalNode, "focusin", onFocus, true), addEventListener(portalNode, "focusout", onFocus, true));
3485      }, [portalNode, modal]);
3486      useIsoLayoutEffect(() => {
3487        if (!portalNode || open2 !== true || !focusInsideDisabledRef.current) {
3488          return;
3489        }
3490        enableFocusInside(portalNode);
3491        focusInsideDisabledRef.current = false;
3492      }, [open2, portalNode]);
3493      const portalContextValue = React20.useMemo(() => ({
3494        beforeOutsideRef,
3495        afterOutsideRef,
3496        beforeInsideRef,
3497        afterInsideRef,
3498        portalNode,
3499        setFocusManagerState
3500      }), [portalNode]);
3501      return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(React20.Fragment, {
3502        children: [portalSubtree, /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(PortalContext.Provider, {
3503          value: portalContextValue,
3504          children: [shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(FocusGuard, {
3505            "data-type": "outside",
3506            ref: beforeOutsideRef,
3507            onFocus: (event) => {
3508              if (isOutsideEvent(event, portalNode)) {
3509                beforeInsideRef.current?.focus();
3510              } else {
3511                const domReference = focusManagerState ? focusManagerState.domReference : null;
3512                const prevTabbable = getPreviousTabbable(domReference);
3513                prevTabbable?.focus();
3514              }
3515            }
3516          }), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", {
3517            role: portalOwnerRole,
3518            "aria-owns": portalNodeId,
3519            style: ownerVisuallyHidden
3520          }), portalNode && /* @__PURE__ */ ReactDOM2.createPortal(children, portalNode), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(FocusGuard, {
3521            "data-type": "outside",
3522            ref: afterOutsideRef,
3523            onFocus: (event) => {
3524              if (isOutsideEvent(event, portalNode)) {
3525                afterInsideRef.current?.focus();
3526              } else {
3527                const domReference = focusManagerState ? focusManagerState.domReference : null;
3528                const nextTabbable = getNextTabbable(domReference);
3529                nextTabbable?.focus();
3530                if (focusManagerState?.closeOnFocusOut) {
3531                  focusManagerState?.onOpenChange(false, createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent));
3532                }
3533              }
3534            }
3535          })]
3536        })]
3537      });
3538    });
3539    if (true) FloatingPortal.displayName = "FloatingPortal";
3540  
3541    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs
3542    var React21 = __toESM(require_react(), 1);
3543  
3544    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/createEventEmitter.mjs
3545    function createEventEmitter() {
3546      const map = /* @__PURE__ */ new Map();
3547      return {
3548        emit(event, data) {
3549          map.get(event)?.forEach((listener) => listener(data));
3550        },
3551        on(event, listener) {
3552          if (!map.has(event)) {
3553            map.set(event, /* @__PURE__ */ new Set());
3554          }
3555          map.get(event).add(listener);
3556        },
3557        off(event, listener) {
3558          map.get(event)?.delete(listener);
3559        }
3560      };
3561    }
3562  
3563    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs
3564    var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1);
3565    var FloatingNodeContext = /* @__PURE__ */ React21.createContext(null);
3566    if (true) FloatingNodeContext.displayName = "FloatingNodeContext";
3567    var FloatingTreeContext = /* @__PURE__ */ React21.createContext(null);
3568    if (true) FloatingTreeContext.displayName = "FloatingTreeContext";
3569    var useFloatingParentNodeId = () => React21.useContext(FloatingNodeContext)?.id || null;
3570    var useFloatingTree = (externalTree) => {
3571      const contextTree = React21.useContext(FloatingTreeContext);
3572      return externalTree ?? contextTree;
3573    };
3574  
3575    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingFocusManager.mjs
3576    var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1);
3577    function getEventType(event, lastInteractionType) {
3578      const win = getWindow(getTarget(event));
3579      if (event instanceof win.KeyboardEvent) {
3580        return "keyboard";
3581      }
3582      if (event instanceof win.FocusEvent) {
3583        return lastInteractionType || "keyboard";
3584      }
3585      if ("pointerType" in event) {
3586        return event.pointerType || (isVirtualClick(event) ? "keyboard" : lastInteractionType || "mouse");
3587      }
3588      if ("touches" in event) {
3589        return "touch";
3590      }
3591      if (event instanceof win.MouseEvent) {
3592        return lastInteractionType || (event.detail === 0 ? "keyboard" : "mouse");
3593      }
3594      return "";
3595    }
3596    var LIST_LIMIT = 20;
3597    var previouslyFocusedElements = [];
3598    function clearDisconnectedPreviouslyFocusedElements() {
3599      previouslyFocusedElements = previouslyFocusedElements.filter((entry) => {
3600        return entry.deref()?.isConnected;
3601      });
3602    }
3603    function addPreviouslyFocusedElement(element) {
3604      clearDisconnectedPreviouslyFocusedElements();
3605      if (element && getNodeName(element) !== "body") {
3606        previouslyFocusedElements.push(new WeakRef(element));
3607        if (previouslyFocusedElements.length > LIST_LIMIT) {
3608          previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);
3609        }
3610      }
3611    }
3612    function getPreviouslyFocusedElement() {
3613      clearDisconnectedPreviouslyFocusedElements();
3614      return previouslyFocusedElements[previouslyFocusedElements.length - 1]?.deref();
3615    }
3616    function getFirstTabbableElement(container) {
3617      if (!container) {
3618        return null;
3619      }
3620      if (isTabbable(container)) {
3621        return container;
3622      }
3623      return tabbable(container)[0] || container;
3624    }
3625    function handleTabIndex(floatingFocusElement) {
3626      if (floatingFocusElement.hasAttribute("tabindex") && !floatingFocusElement.hasAttribute("data-tabindex")) {
3627        return;
3628      }
3629      if (!floatingFocusElement.getAttribute("role")?.includes("dialog")) {
3630        return;
3631      }
3632      const focusableElements = focusable(floatingFocusElement);
3633      const tabbableContent = focusableElements.filter((element) => {
3634        const dataTabIndex = element.getAttribute("data-tabindex") || "";
3635        return isTabbable(element) || element.hasAttribute("data-tabindex") && !dataTabIndex.startsWith("-");
3636      });
3637      const tabIndex = floatingFocusElement.getAttribute("tabindex");
3638      if (tabbableContent.length === 0) {
3639        if (tabIndex !== "0") {
3640          floatingFocusElement.setAttribute("tabindex", "0");
3641          floatingFocusElement.setAttribute("data-tabindex", "0");
3642        }
3643      } else if (tabIndex !== "-1" || floatingFocusElement.hasAttribute("data-tabindex") && floatingFocusElement.getAttribute("data-tabindex") !== "-1") {
3644        floatingFocusElement.setAttribute("tabindex", "-1");
3645        floatingFocusElement.setAttribute("data-tabindex", "-1");
3646      }
3647    }
3648    function FloatingFocusManager(props) {
3649      const {
3650        context: store,
3651        children,
3652        disabled: disabled2 = false,
3653        initialFocus = true,
3654        returnFocus = true,
3655        explicitReturnFocus,
3656        restoreFocus = false,
3657        modal = true,
3658        closeOnFocusOut = true,
3659        openInteractionType = "",
3660        nextFocusableElement,
3661        previousFocusableElement,
3662        beforeContentFocusGuardRef,
3663        externalTree,
3664        getInsideElements
3665      } = props;
3666      const open2 = store.useState("open");
3667      const domReference = store.useState("domReferenceElement");
3668      const floating = store.useState("floatingElement");
3669      const {
3670        events,
3671        dataRef
3672      } = store.context;
3673      const getNodeId = useStableCallback(() => dataRef.current.floatingContext?.nodeId);
3674      const ignoreInitialFocus = initialFocus === false;
3675      const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;
3676      const initialFocusRef = useValueAsRef(initialFocus);
3677      const returnFocusRef = useValueAsRef(returnFocus);
3678      const explicitReturnFocusRef = useValueAsRef(explicitReturnFocus);
3679      const openInteractionTypeRef = useValueAsRef(openInteractionType);
3680      const openRef = useValueAsRef(open2);
3681      const tree = useFloatingTree(externalTree);
3682      const portalContext = usePortalContext();
3683      const preventReturnFocusRef = React22.useRef(false);
3684      const isPointerDownRef = React22.useRef(false);
3685      const pointerDownOutsideRef = React22.useRef(false);
3686      const lastFocusedTabbableRef = React22.useRef(null);
3687      const closeTypeRef = React22.useRef("");
3688      const lastInteractionTypeRef = React22.useRef("");
3689      const beforeGuardRef = React22.useRef(null);
3690      const afterGuardRef = React22.useRef(null);
3691      const mergedBeforeGuardRef = useMergedRefs(beforeGuardRef, beforeContentFocusGuardRef, portalContext?.beforeInsideRef);
3692      const mergedAfterGuardRef = useMergedRefs(afterGuardRef, portalContext?.afterInsideRef);
3693      const blurTimeout = useTimeout();
3694      const pointerDownTimeout = useTimeout();
3695      const restoreFocusFrame = useAnimationFrame();
3696      const isInsidePortal = portalContext != null;
3697      const floatingFocusElement = getFloatingFocusElement(floating);
3698      const getTabbableContent = useStableCallback((container = floatingFocusElement) => {
3699        return container ? tabbable(container) : [];
3700      });
3701      const getResolvedInsideElements = useStableCallback(() => getInsideElements?.().filter((element) => element != null) ?? []);
3702      React22.useEffect(() => {
3703        if (disabled2 || !modal) {
3704          return void 0;
3705        }
3706        function onKeyDown(event) {
3707          if (event.key === "Tab") {
3708            if (contains(floatingFocusElement, activeElement(ownerDocument(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {
3709              stopEvent(event);
3710            }
3711          }
3712        }
3713        const doc = ownerDocument(floatingFocusElement);
3714        return addEventListener(doc, "keydown", onKeyDown);
3715      }, [disabled2, floatingFocusElement, modal, isUntrappedTypeableCombobox, getTabbableContent]);
3716      React22.useEffect(() => {
3717        if (disabled2 || !open2) {
3718          return void 0;
3719        }
3720        const doc = ownerDocument(floatingFocusElement);
3721        function clearPointerDownOutside() {
3722          pointerDownOutsideRef.current = false;
3723        }
3724        function onPointerDown(event) {
3725          const target = getTarget(event);
3726          const insideElements = getResolvedInsideElements();
3727          const pointerTargetInside = contains(floating, target) || contains(domReference, target) || contains(portalContext?.portalNode, target) || insideElements.some((element) => element === target || contains(element, target));
3728          pointerDownOutsideRef.current = !pointerTargetInside;
3729          lastInteractionTypeRef.current = event.pointerType || "keyboard";
3730          if (closest(target, `[$CLICK_TRIGGER_IDENTIFIER}]`)) {
3731            isPointerDownRef.current = true;
3732            pointerDownTimeout.start(0, () => {
3733              isPointerDownRef.current = false;
3734            });
3735          }
3736        }
3737        function onKeyDown() {
3738          lastInteractionTypeRef.current = "keyboard";
3739        }
3740        return mergeCleanups(
3741          addEventListener(doc, "pointerdown", onPointerDown, true),
3742          addEventListener(doc, "pointerup", clearPointerDownOutside, true),
3743          addEventListener(doc, "pointercancel", clearPointerDownOutside, true),
3744          addEventListener(doc, "keydown", onKeyDown, true),
3745          // Avoid a stale `true` leaking into the next open (e.g. keep-mounted popups)
3746          // if the popup dismissed between pointerdown and pointerup.
3747          clearPointerDownOutside
3748        );
3749      }, [disabled2, floating, domReference, floatingFocusElement, open2, portalContext, pointerDownTimeout, getResolvedInsideElements]);
3750      React22.useEffect(() => {
3751        if (disabled2 || !closeOnFocusOut) {
3752          return void 0;
3753        }
3754        const doc = ownerDocument(floatingFocusElement);
3755        function handlePointerDown() {
3756          isPointerDownRef.current = true;
3757          pointerDownTimeout.start(0, () => {
3758            isPointerDownRef.current = false;
3759          });
3760        }
3761        function handleFocusIn(event) {
3762          const target = getTarget(event);
3763          if (isTabbable(target)) {
3764            lastFocusedTabbableRef.current = target;
3765          }
3766        }
3767        function handleFocusOutside(event) {
3768          const relatedTarget = event.relatedTarget;
3769          const currentTarget = event.currentTarget;
3770          const target = getTarget(event);
3771          if (modal && relatedTarget == null && target != null && contains(floating, target)) {
3772            addPreviouslyFocusedElement(target);
3773          }
3774          queueMicrotask(() => {
3775            const nodeId = getNodeId();
3776            const triggers = store.context.triggerElements;
3777            const insideElements = getResolvedInsideElements();
3778            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);
3779            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)));
3780            if (currentTarget === domReference && floatingFocusElement) {
3781              handleTabIndex(floatingFocusElement);
3782            }
3783            if (restoreFocus && currentTarget !== domReference && !isElementVisible(target) && activeElement(doc) === doc.body) {
3784              if (isHTMLElement(floatingFocusElement)) {
3785                floatingFocusElement.focus();
3786                if (restoreFocus === "popup") {
3787                  restoreFocusFrame.request(() => {
3788                    floatingFocusElement.focus();
3789                  });
3790                  return;
3791                }
3792              }
3793              const tabbableContent = getTabbableContent();
3794              const prevTabbable = lastFocusedTabbableRef.current;
3795              const nodeToFocus = (prevTabbable && tabbableContent.includes(prevTabbable) ? prevTabbable : null) || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;
3796              if (isHTMLElement(nodeToFocus)) {
3797                nodeToFocus.focus();
3798              }
3799            }
3800            if (dataRef.current.insideReactTree) {
3801              dataRef.current.insideReactTree = false;
3802              return;
3803            }
3804            if ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current && // Fix React 18 Strict Mode returnFocus due to double rendering.
3805            // For an "untrapped" typeable combobox (input role=combobox with
3806            // initialFocus=false), re-opening the popup and tabbing out should still close it even
3807            // when the previously focused element (e.g. the next tabbable outside the popup) is
3808            // focused again. Otherwise, the popup remains open on the second Tab sequence:
3809            // click input -> Tab (closes) -> click input -> Tab.
3810            // Allow closing when `isUntrappedTypeableCombobox` regardless of the previously focused element.
3811            (isUntrappedTypeableCombobox || relatedTarget !== getPreviouslyFocusedElement())) {
3812              preventReturnFocusRef.current = true;
3813              store.setOpen(false, createChangeEventDetails(reason_parts_exports.focusOut, event));
3814            }
3815          });
3816        }
3817        function markInsideReactTree() {
3818          if (pointerDownOutsideRef.current) {
3819            return;
3820          }
3821          dataRef.current.insideReactTree = true;
3822          blurTimeout.start(0, () => {
3823            dataRef.current.insideReactTree = false;
3824          });
3825        }
3826        const domReferenceElement = isHTMLElement(domReference) ? domReference : null;
3827        if (!floating && !domReferenceElement) {
3828          return void 0;
3829        }
3830        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));
3831      }, [disabled2, domReference, floating, floatingFocusElement, modal, tree, portalContext, store, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox, getNodeId, dataRef, blurTimeout, pointerDownTimeout, restoreFocusFrame, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);
3832      React22.useEffect(() => {
3833        if (disabled2 || !floating || !open2) {
3834          return void 0;
3835        }
3836        const portalNodes = Array.from(portalContext?.portalNode?.querySelectorAll(`[$createAttribute("portal")}]`) || []);
3837        const ancestors = tree ? getNodeAncestors(tree.nodesRef.current, getNodeId()) : [];
3838        const rootAncestorComboboxDomReference = ancestors.find((node) => isTypeableCombobox(node.context?.elements.domReference || null))?.context?.elements.domReference;
3839        const controlInsideElements = [floating, ...portalNodes, beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, ...getResolvedInsideElements()];
3840        const insideElements = [...controlInsideElements, rootAncestorComboboxDomReference, resolveRef(previousFocusableElement), resolveRef(nextFocusableElement), isUntrappedTypeableCombobox ? domReference : null].filter((x) => x != null);
3841        const ariaHiddenCleanup = markOthers(insideElements, {
3842          ariaHidden: modal || isUntrappedTypeableCombobox,
3843          mark: false
3844        });
3845        const markerInsideElements = [floating, ...portalNodes].filter((x) => x != null);
3846        const markerCleanup = markOthers(markerInsideElements);
3847        return () => {
3848          markerCleanup();
3849          ariaHiddenCleanup();
3850        };
3851      }, [open2, disabled2, domReference, floating, modal, portalContext, isUntrappedTypeableCombobox, tree, getNodeId, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);
3852      useIsoLayoutEffect(() => {
3853        if (!open2 || disabled2 || !isHTMLElement(floatingFocusElement)) {
3854          return;
3855        }
3856        closeTypeRef.current = "";
3857        lastInteractionTypeRef.current = "";
3858        const doc = ownerDocument(floatingFocusElement);
3859        const previouslyFocusedElement = activeElement(doc);
3860        queueMicrotask(() => {
3861          const initialFocusValueOrFn = initialFocusRef.current;
3862          const resolvedInitialFocus = typeof initialFocusValueOrFn === "function" ? initialFocusValueOrFn(openInteractionTypeRef.current || "") : initialFocusValueOrFn;
3863          if (resolvedInitialFocus === void 0 || resolvedInitialFocus === false) {
3864            return;
3865          }
3866          const focusAlreadyInsideFloatingEl = contains(floatingFocusElement, previouslyFocusedElement);
3867          if (focusAlreadyInsideFloatingEl) {
3868            return;
3869          }
3870          let focusableElements = null;
3871          const getDefaultFocusElement = () => {
3872            if (focusableElements == null) {
3873              focusableElements = getTabbableContent(floatingFocusElement);
3874            }
3875            return focusableElements[0] || floatingFocusElement;
3876          };
3877          let elToFocus;
3878          if (resolvedInitialFocus === true || resolvedInitialFocus === null) {
3879            elToFocus = getDefaultFocusElement();
3880          } else {
3881            elToFocus = resolveRef(resolvedInitialFocus);
3882          }
3883          elToFocus = elToFocus || getDefaultFocusElement();
3884          const hadFocusInside = contains(floatingFocusElement, activeElement(doc));
3885          const openEvent = dataRef.current.openEvent;
3886          const openedByVirtualPress = openEvent?.type === "mousedown" && isVirtualClick(openEvent);
3887          void enqueueFocus(elToFocus, {
3888            sync: openedByVirtualPress,
3889            preventScroll: elToFocus === floatingFocusElement,
3890            shouldFocus() {
3891              if (!openRef.current) {
3892                return false;
3893              }
3894              if (hadFocusInside) {
3895                return true;
3896              }
3897              const currentActiveElement = activeElement(doc);
3898              const focusMovedInside = currentActiveElement !== elToFocus && contains(floatingFocusElement, currentActiveElement);
3899              return !focusMovedInside;
3900            }
3901          });
3902        });
3903      }, [disabled2, open2, floatingFocusElement, getTabbableContent, initialFocusRef, openInteractionTypeRef, openRef, dataRef]);
3904      const pendingReturnFocusRef = React22.useRef(null);
3905      useIsoLayoutEffect(() => {
3906        if (disabled2 || !floatingFocusElement) {
3907          pendingReturnFocusRef.current = null;
3908          return void 0;
3909        }
3910        if (pendingReturnFocusRef.current) {
3911          pendingReturnFocusRef.current.cancelled = true;
3912          pendingReturnFocusRef.current = null;
3913        }
3914        const doc = ownerDocument(floatingFocusElement);
3915        const elementFocusedBeforeOpen = activeElement(doc);
3916        const preferPreviousFocus = openInteractionTypeRef.current == null;
3917        addPreviouslyFocusedElement(elementFocusedBeforeOpen);
3918        function onOpenChangeLocal(details) {
3919          if (!details.open) {
3920            closeTypeRef.current = getEventType(details.nativeEvent, lastInteractionTypeRef.current);
3921          }
3922          if (details.reason === reason_parts_exports.focusOut && details.triggerElement?.hasAttribute(createAttribute("focus-guard")) || details.reason === reason_parts_exports.triggerHover && details.nativeEvent.type === "mouseleave") {
3923            preventReturnFocusRef.current = true;
3924          }
3925          if (details.reason !== reason_parts_exports.outsidePress) {
3926            return;
3927          }
3928          if (details.nested) {
3929            preventReturnFocusRef.current = false;
3930          } else if (isVirtualClick(details.nativeEvent) || isVirtualPointerEvent(details.nativeEvent)) {
3931            preventReturnFocusRef.current = false;
3932          } else {
3933            let isPreventScrollSupported = false;
3934            ownerDocument(floatingFocusElement).createElement("div").focus({
3935              get preventScroll() {
3936                isPreventScrollSupported = true;
3937                return false;
3938              }
3939            });
3940            if (isPreventScrollSupported) {
3941              preventReturnFocusRef.current = false;
3942            } else {
3943              preventReturnFocusRef.current = true;
3944            }
3945          }
3946        }
3947        events.on("openchange", onOpenChangeLocal);
3948        function getReturnElement(closeType) {
3949          const returnFocusValueOrFn = returnFocusRef.current;
3950          let resolvedReturnFocusValue = typeof returnFocusValueOrFn === "function" ? returnFocusValueOrFn(closeType) : returnFocusValueOrFn;
3951          if (resolvedReturnFocusValue === void 0 || resolvedReturnFocusValue === false) {
3952            return null;
3953          }
3954          if (resolvedReturnFocusValue === null) {
3955            resolvedReturnFocusValue = true;
3956          }
3957          const referenceReturnElement = domReference?.isConnected ? domReference : null;
3958          const previousReturnElement = elementFocusedBeforeOpen?.isConnected && getNodeName(elementFocusedBeforeOpen) !== "body" ? elementFocusedBeforeOpen : null;
3959          let defaultReturnElement = preferPreviousFocus ? previousReturnElement || referenceReturnElement : referenceReturnElement || previousReturnElement;
3960          if (!defaultReturnElement) {
3961            defaultReturnElement = getPreviouslyFocusedElement() || null;
3962          }
3963          if (typeof resolvedReturnFocusValue === "boolean") {
3964            return defaultReturnElement;
3965          }
3966          return resolveRef(resolvedReturnFocusValue) || defaultReturnElement || null;
3967        }
3968        return () => {
3969          events.off("openchange", onOpenChangeLocal);
3970          const activeEl = activeElement(doc);
3971          const insideElements = getResolvedInsideElements();
3972          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));
3973          const returnFocusValueOrFn = returnFocusRef.current;
3974          const closeType = closeTypeRef.current;
3975          const returnElement = getReturnElement(closeType);
3976          const job = {
3977            cancelled: false
3978          };
3979          pendingReturnFocusRef.current = job;
3980          queueMicrotask(() => {
3981            if (pendingReturnFocusRef.current === job) {
3982              pendingReturnFocusRef.current = null;
3983            }
3984            const tabbableReturnElement = getFirstTabbableElement(returnElement);
3985            const hasExplicitReturnFocus = (
3986              // eslint-disable-next-line react-hooks/exhaustive-deps
3987              explicitReturnFocusRef.current ?? typeof returnFocusValueOrFn !== "boolean"
3988            );
3989            if (!job.cancelled && returnFocusValueOrFn && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && // If the focus moved somewhere else after mount, avoid returning focus
3990            // since it likely entered a different element which should be
3991            // respected: https://github.com/floating-ui/floating-ui/issues/2607
3992            (!hasExplicitReturnFocus && tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {
3993              const focusOptions = {
3994                preventScroll: true
3995              };
3996              if (closeType === "keyboard") {
3997                focusOptions.focusVisible = true;
3998              }
3999              tabbableReturnElement.focus(focusOptions);
4000            }
4001            preventReturnFocusRef.current = false;
4002          });
4003        };
4004      }, [disabled2, floating, floatingFocusElement, returnFocusRef, explicitReturnFocusRef, openInteractionTypeRef, events, tree, domReference, getNodeId, getResolvedInsideElements]);
4005      useIsoLayoutEffect(() => {
4006        if (!parts_exports.engine.webkit || open2 || !floating) {
4007          return;
4008        }
4009        const activeEl = activeElement(ownerDocument(floating));
4010        if (!isHTMLElement(activeEl) || !isTypeableElement(activeEl)) {
4011          return;
4012        }
4013        if (contains(floating, activeEl)) {
4014          activeEl.blur();
4015        }
4016      }, [open2, floating]);
4017      useIsoLayoutEffect(() => {
4018        if (disabled2 || !portalContext) {
4019          return void 0;
4020        }
4021        portalContext.setFocusManagerState({
4022          modal,
4023          closeOnFocusOut,
4024          open: open2,
4025          onOpenChange: store.setOpen,
4026          domReference
4027        });
4028        return () => {
4029          portalContext.setFocusManagerState(null);
4030        };
4031      }, [disabled2, portalContext, modal, open2, store, closeOnFocusOut, domReference]);
4032      useIsoLayoutEffect(() => {
4033        if (disabled2 || !floatingFocusElement) {
4034          return void 0;
4035        }
4036        handleTabIndex(floatingFocusElement);
4037        return () => {
4038          queueMicrotask(clearDisconnectedPreviouslyFocusedElements);
4039        };
4040      }, [disabled2, floatingFocusElement]);
4041      const shouldRenderGuards = !disabled2 && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);
4042      return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(React22.Fragment, {
4043        children: [shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(FocusGuard, {
4044          "data-type": "inside",
4045          ref: mergedBeforeGuardRef,
4046          onFocus: (event) => {
4047            if (modal) {
4048              const els = getTabbableContent();
4049              void enqueueFocus(els[els.length - 1]);
4050            } else if (portalContext?.portalNode) {
4051              preventReturnFocusRef.current = false;
4052              if (isOutsideEvent(event, portalContext.portalNode)) {
4053                const nextTabbable = getNextTabbable(domReference);
4054                nextTabbable?.focus();
4055              } else {
4056                resolveRef(previousFocusableElement ?? portalContext.beforeOutsideRef)?.focus();
4057              }
4058            }
4059          }
4060        }), children, shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(FocusGuard, {
4061          "data-type": "inside",
4062          ref: mergedAfterGuardRef,
4063          onFocus: (event) => {
4064            if (modal) {
4065              void enqueueFocus(getTabbableContent()[0]);
4066            } else if (portalContext?.portalNode) {
4067              if (closeOnFocusOut) {
4068                preventReturnFocusRef.current = true;
4069              }
4070              if (isOutsideEvent(event, portalContext.portalNode)) {
4071                const prevTabbable = getPreviousTabbable(domReference);
4072                prevTabbable?.focus();
4073              } else {
4074                resolveRef(nextFocusableElement ?? portalContext.afterOutsideRef)?.focus();
4075              }
4076            }
4077          }
4078        })]
4079      });
4080    }
4081  
4082    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useClick.mjs
4083    var React23 = __toESM(require_react(), 1);
4084    function useClick(store, props = {}) {
4085      const {
4086        enabled = true,
4087        event: eventOption = "click",
4088        toggle = true,
4089        ignoreMouse = false,
4090        stickIfOpen = true,
4091        touchOpenDelay = 0,
4092        reason = reason_parts_exports.triggerPress
4093      } = props;
4094      const dataRef = store.context.dataRef;
4095      const pointerTypeRef = React23.useRef(void 0);
4096      const frame = useAnimationFrame();
4097      const touchOpenTimeout = useTimeout();
4098      const reference = React23.useMemo(() => {
4099        function setOpenWithTouchDelay(nextOpen, nativeEvent, target, pointerType) {
4100          const details = createChangeEventDetails(reason, nativeEvent, target);
4101          if (nextOpen && pointerType === "touch" && touchOpenDelay > 0) {
4102            touchOpenTimeout.start(touchOpenDelay, () => {
4103              store.setOpen(true, details);
4104            });
4105          } else {
4106            store.setOpen(nextOpen, details);
4107          }
4108        }
4109        function getNextOpen(open2, currentTarget, isClickLikeOpenEvent) {
4110          const openEvent = dataRef.current.openEvent;
4111          const hasClickedOnInactiveTrigger = store.select("domReferenceElement") !== currentTarget;
4112          if (open2 && hasClickedOnInactiveTrigger) {
4113            return true;
4114          }
4115          if (!open2) {
4116            return true;
4117          }
4118          if (!toggle) {
4119            return true;
4120          }
4121          if (openEvent && (typeof stickIfOpen === "function" ? stickIfOpen() : stickIfOpen)) {
4122            return !isClickLikeOpenEvent(openEvent.type);
4123          }
4124          return false;
4125        }
4126        return {
4127          onPointerDown(event) {
4128            pointerTypeRef.current = isMouseLikePointerType(event.pointerType, true) && isVirtualPointerEvent(event.nativeEvent) ? "virtual" : event.pointerType;
4129          },
4130          onMouseDown(event) {
4131            const pointerType = pointerTypeRef.current;
4132            const nativeEvent = event.nativeEvent;
4133            const open2 = store.select("open");
4134            if (event.button !== 0 || eventOption === "click" || isMouseLikePointerType(pointerType, true) && ignoreMouse) {
4135              return;
4136            }
4137            const nextOpen = getNextOpen(open2, event.currentTarget, (openEventType) => openEventType === "click" || openEventType === "mousedown");
4138            const target = getTarget(nativeEvent);
4139            const isTypeable = isTypeableElement(target);
4140            if (isTypeable || pointerType === "virtual") {
4141              setOpenWithTouchDelay(nextOpen, nativeEvent, isTypeable ? target : event.currentTarget, pointerType);
4142              return;
4143            }
4144            const eventCurrentTarget = event.currentTarget;
4145            frame.request(() => {
4146              setOpenWithTouchDelay(nextOpen, nativeEvent, eventCurrentTarget, pointerType);
4147            });
4148          },
4149          onClick(event) {
4150            if (eventOption === "mousedown-only") {
4151              return;
4152            }
4153            const pointerType = pointerTypeRef.current;
4154            if (eventOption === "mousedown" && pointerType) {
4155              pointerTypeRef.current = void 0;
4156              return;
4157            }
4158            if (isMouseLikePointerType(pointerType, true) && ignoreMouse) {
4159              return;
4160            }
4161            const open2 = store.select("open");
4162            const nextOpen = getNextOpen(open2, event.currentTarget, (openEventType) => openEventType === "click" || openEventType === "mousedown" || openEventType === "keydown" || openEventType === "keyup");
4163            setOpenWithTouchDelay(nextOpen, event.nativeEvent, event.currentTarget, pointerType);
4164          },
4165          onKeyDown() {
4166            pointerTypeRef.current = void 0;
4167          }
4168        };
4169      }, [dataRef, eventOption, ignoreMouse, reason, store, stickIfOpen, toggle, frame, touchOpenTimeout, touchOpenDelay]);
4170      return React23.useMemo(() => enabled ? {
4171        reference
4172      } : EMPTY_OBJECT, [enabled, reference]);
4173    }
4174  
4175    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useDismiss.mjs
4176    var React24 = __toESM(require_react(), 1);
4177    function alwaysFalse() {
4178      return false;
4179    }
4180    function normalizeProp(normalizable) {
4181      return {
4182        escapeKey: typeof normalizable === "boolean" ? normalizable : normalizable?.escapeKey ?? false,
4183        outsidePress: typeof normalizable === "boolean" ? normalizable : normalizable?.outsidePress ?? true
4184      };
4185    }
4186    function useDismiss(store, props = {}) {
4187      const {
4188        enabled = true,
4189        escapeKey: escapeKey2 = true,
4190        outsidePress: outsidePressProp = true,
4191        outsidePressEvent = "sloppy",
4192        referencePress = alwaysFalse,
4193        bubbles,
4194        externalTree
4195      } = props;
4196      const open2 = store.useState("open");
4197      const floatingElement = store.useState("floatingElement");
4198      const {
4199        dataRef,
4200        events
4201      } = store.context;
4202      const tree = useFloatingTree(externalTree);
4203      const outsidePressFn = useStableCallback(typeof outsidePressProp === "function" ? outsidePressProp : () => false);
4204      const outsidePress2 = typeof outsidePressProp === "function" ? outsidePressFn : outsidePressProp;
4205      const outsidePressEnabled = outsidePress2 !== false;
4206      const getOutsidePressEventProp = useStableCallback(() => outsidePressEvent);
4207      const {
4208        escapeKey: escapeKeyBubbles,
4209        outsidePress: outsidePressBubbles
4210      } = normalizeProp(bubbles);
4211      const pressStartedInsideRef = React24.useRef(false);
4212      const pressStartPreventedRef = React24.useRef(false);
4213      const suppressNextOutsideClickRef = React24.useRef(false);
4214      const sawPressWhileOpenRef = React24.useRef(false);
4215      const isComposingRef = React24.useRef(false);
4216      const currentPointerTypeRef = React24.useRef("");
4217      const touchStateRef = React24.useRef(null);
4218      const cancelDismissOnEndTimeout = useTimeout();
4219      const clearInsideReactTreeTimeout = useTimeout();
4220      const compositionTimeout = useTimeout();
4221      const clearInsideReactTree = useStableCallback(() => {
4222        clearInsideReactTreeTimeout.clear();
4223        dataRef.current.insideReactTree = false;
4224      });
4225      const hasBlockingChild = useStableCallback((bubbleKey) => {
4226        const nodeId = dataRef.current.floatingContext?.nodeId;
4227        const children = tree ? getNodeChildren(tree.nodesRef.current, nodeId) : [];
4228        return children.some((child) => child.context?.open && !child.context.dataRef.current[bubbleKey]);
4229      });
4230      const isEventWithinOwnElements = useStableCallback((event) => {
4231        return isEventTargetWithin(event, store.select("floatingElement")) || isEventTargetWithin(event, store.select("domReferenceElement"));
4232      });
4233      const closeOnReferencePress = useStableCallback((event) => {
4234        if (!referencePress()) {
4235          return;
4236        }
4237        store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerPress, event.nativeEvent));
4238      });
4239      const closeOnEscapeKeyDown = useStableCallback((event) => {
4240        if (!open2 || !enabled || !escapeKey2 || event.key !== "Escape") {
4241          return;
4242        }
4243        const native = isReactEvent(event) ? event.nativeEvent : event;
4244        if (isComposingRef.current || native.isComposing) {
4245          return;
4246        }
4247        if (!escapeKeyBubbles && hasBlockingChild("__escapeKeyBubbles")) {
4248          return;
4249        }
4250        const eventDetails = createChangeEventDetails(reason_parts_exports.escapeKey, native);
4251        store.setOpen(false, eventDetails);
4252        if (!eventDetails.isCanceled) {
4253          event.preventDefault();
4254        }
4255        if (!escapeKeyBubbles && !eventDetails.isPropagationAllowed) {
4256          event.stopPropagation();
4257        }
4258      });
4259      const markInsideReactTree = useStableCallback(() => {
4260        dataRef.current.insideReactTree = true;
4261        clearInsideReactTreeTimeout.start(0, clearInsideReactTree);
4262      });
4263      const markPressStartedInsideReactTree = useStableCallback((event) => {
4264        if (!open2 || !enabled || event.button !== 0) {
4265          return;
4266        }
4267        const target = getTarget(event.nativeEvent);
4268        if (!contains(store.select("floatingElement"), target)) {
4269          return;
4270        }
4271        if (!pressStartedInsideRef.current) {
4272          pressStartedInsideRef.current = true;
4273          pressStartPreventedRef.current = false;
4274        }
4275      });
4276      const markInsidePressStartPrevented = useStableCallback((event) => {
4277        if (!open2 || !enabled) {
4278          return;
4279        }
4280        if (!(event.defaultPrevented || event.nativeEvent.defaultPrevented)) {
4281          return;
4282        }
4283        if (pressStartedInsideRef.current) {
4284          pressStartPreventedRef.current = true;
4285        }
4286      });
4287      React24.useEffect(() => {
4288        function handleOpenChange(details) {
4289          if (!details.open) {
4290            sawPressWhileOpenRef.current = false;
4291          }
4292        }
4293        events.on("openchange", handleOpenChange);
4294        return () => {
4295          events.off("openchange", handleOpenChange);
4296        };
4297      }, [events]);
4298      React24.useEffect(() => clearInsideReactTree, [clearInsideReactTree]);
4299      React24.useEffect(() => {
4300        if (!open2 || !enabled) {
4301          if (!open2) {
4302            sawPressWhileOpenRef.current = false;
4303            isComposingRef.current = false;
4304            currentPointerTypeRef.current = "";
4305            touchStateRef.current = null;
4306          }
4307          return clearInsideReactTree;
4308        }
4309        dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;
4310        dataRef.current.__outsidePressBubbles = outsidePressBubbles;
4311        const preventedPressSuppressionTimeout = new Timeout();
4312        const doc = ownerDocument(floatingElement);
4313        function handleCompositionStart() {
4314          compositionTimeout.clear();
4315          isComposingRef.current = true;
4316        }
4317        function handleCompositionEnd() {
4318          isComposingRef.current = true;
4319          compositionTimeout.start(
4320            // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.
4321            // Only apply to WebKit for the test to remain 0ms.
4322            parts_exports.engine.webkit ? 5 : 0,
4323            () => {
4324              isComposingRef.current = false;
4325            }
4326          );
4327        }
4328        function suppressImmediateOutsideClickAfterPreventedStart() {
4329          suppressNextOutsideClickRef.current = true;
4330          preventedPressSuppressionTimeout.start(0, () => {
4331            suppressNextOutsideClickRef.current = false;
4332          });
4333        }
4334        function resetPressStartState() {
4335          pressStartedInsideRef.current = false;
4336          pressStartPreventedRef.current = false;
4337        }
4338        function getOutsidePressEvent() {
4339          const type = currentPointerTypeRef.current;
4340          const computedType = type === "pen" || !type ? "mouse" : type;
4341          const outsidePressEventValue = getOutsidePressEventProp();
4342          const resolved = typeof outsidePressEventValue === "function" ? outsidePressEventValue() : outsidePressEventValue;
4343          if (typeof resolved === "string") {
4344            return resolved;
4345          }
4346          return resolved[computedType];
4347        }
4348        function shouldIgnoreEvent(event) {
4349          const computedOutsidePressEvent = getOutsidePressEvent();
4350          return computedOutsidePressEvent === "intentional" && event.type !== "click" || computedOutsidePressEvent === "sloppy" && event.type === "click";
4351        }
4352        function isEventWithinFloatingTree(event) {
4353          const nodeId = dataRef.current.floatingContext?.nodeId;
4354          const targetIsInsideChildren = tree && getNodeChildren(tree.nodesRef.current, nodeId).some((node) => isEventTargetWithin(event, node.context?.elements.floating));
4355          return isEventWithinOwnElements(event) || targetIsInsideChildren;
4356        }
4357        function closeOnPressOutside(event) {
4358          if (shouldIgnoreEvent(event)) {
4359            if (event.type !== "click" && !isEventWithinOwnElements(event)) {
4360              preventedPressSuppressionTimeout.clear();
4361              suppressNextOutsideClickRef.current = false;
4362            }
4363            clearInsideReactTree();
4364            return;
4365          }
4366          if (dataRef.current.insideReactTree) {
4367            clearInsideReactTree();
4368            return;
4369          }
4370          const target = getTarget(event);
4371          const inertSelector = `[$createAttribute("inert")}]`;
4372          const targetRoot = isElement(target) ? target.getRootNode() : null;
4373          const markers = Array.from((isShadowRoot(targetRoot) ? targetRoot : ownerDocument(store.select("floatingElement"))).querySelectorAll(inertSelector));
4374          const triggers = store.context.triggerElements;
4375          if (target && (triggers.hasElement(target) || triggers.hasMatchingElement((trigger) => contains(trigger, target)))) {
4376            return;
4377          }
4378          let targetRootAncestor = isElement(target) ? target : null;
4379          while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {
4380            const nextParent = getParentNode(targetRootAncestor);
4381            if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {
4382              break;
4383            }
4384            targetRootAncestor = nextParent;
4385          }
4386          if (markers.length && isElement(target) && !isRootElement(target) && // Clicked on a direct ancestor (e.g. FloatingOverlay).
4387          !contains(target, store.select("floatingElement")) && // If the target root element contains none of the markers, then the
4388          // element was injected after the floating element rendered.
4389          markers.every((marker) => !contains(targetRootAncestor, marker))) {
4390            return;
4391          }
4392          if (isHTMLElement(target) && !("touches" in event)) {
4393            const lastTraversableNode = isLastTraversableNode(target);
4394            const style = getComputedStyle2(target);
4395            const scrollRe = /auto|scroll/;
4396            const isScrollableX = lastTraversableNode || scrollRe.test(style.overflowX);
4397            const isScrollableY = lastTraversableNode || scrollRe.test(style.overflowY);
4398            const canScrollX = isScrollableX && target.clientWidth > 0 && target.scrollWidth > target.clientWidth;
4399            const canScrollY = isScrollableY && target.clientHeight > 0 && target.scrollHeight > target.clientHeight;
4400            const isRTL3 = style.direction === "rtl";
4401            const pressedVerticalScrollbar = canScrollY && (isRTL3 ? event.offsetX <= target.offsetWidth - target.clientWidth : event.offsetX > target.clientWidth);
4402            const pressedHorizontalScrollbar = canScrollX && event.offsetY > target.clientHeight;
4403            if (pressedVerticalScrollbar || pressedHorizontalScrollbar) {
4404              return;
4405            }
4406          }
4407          if (isEventWithinFloatingTree(event)) {
4408            return;
4409          }
4410          if (getOutsidePressEvent() === "intentional") {
4411            if (event.detail !== 0 && !isVirtualClick(event) && !sawPressWhileOpenRef.current) {
4412              return;
4413            }
4414            if (suppressNextOutsideClickRef.current) {
4415              preventedPressSuppressionTimeout.clear();
4416              suppressNextOutsideClickRef.current = false;
4417              return;
4418            }
4419          }
4420          if (typeof outsidePress2 === "function" && !outsidePress2(event)) {
4421            return;
4422          }
4423          if (hasBlockingChild("__outsidePressBubbles")) {
4424            return;
4425          }
4426          store.setOpen(false, createChangeEventDetails(reason_parts_exports.outsidePress, event));
4427          clearInsideReactTree();
4428        }
4429        function handlePointerDown(event) {
4430          if (getOutsidePressEvent() !== "sloppy" || event.pointerType === "touch" || !store.select("open") || !enabled || isEventWithinOwnElements(event)) {
4431            return;
4432          }
4433          closeOnPressOutside(event);
4434        }
4435        function handleTouchStart(event) {
4436          if (getOutsidePressEvent() !== "sloppy" || !store.select("open") || !enabled || isEventWithinOwnElements(event)) {
4437            return;
4438          }
4439          const touch = event.touches[0];
4440          if (touch) {
4441            touchStateRef.current = {
4442              startTime: Date.now(),
4443              startX: touch.clientX,
4444              startY: touch.clientY,
4445              dismissOnTouchEnd: false,
4446              dismissOnMouseDown: true
4447            };
4448            cancelDismissOnEndTimeout.start(1e3, () => {
4449              if (touchStateRef.current) {
4450                touchStateRef.current.dismissOnTouchEnd = false;
4451                touchStateRef.current.dismissOnMouseDown = false;
4452              }
4453            });
4454          }
4455        }
4456        function addTargetEventListenerOnce(event, listener) {
4457          const target = getTarget(event);
4458          if (!target) {
4459            return;
4460          }
4461          const unsubscribe2 = addEventListener(target, event.type, () => {
4462            listener(event);
4463            unsubscribe2();
4464          });
4465        }
4466        function handleTouchStartCapture(event) {
4467          currentPointerTypeRef.current = "touch";
4468          addTargetEventListenerOnce(event, handleTouchStart);
4469        }
4470        function closeOnPressOutsideCapture(event) {
4471          cancelDismissOnEndTimeout.clear();
4472          if (event.type === "pointerdown") {
4473            if (event.button === 0) {
4474              sawPressWhileOpenRef.current = true;
4475            }
4476            currentPointerTypeRef.current = event.pointerType;
4477          }
4478          if (event.type === "mousedown" && touchStateRef.current && !touchStateRef.current.dismissOnMouseDown) {
4479            return;
4480          }
4481          addTargetEventListenerOnce(event, (targetEvent) => {
4482            if (targetEvent.type === "pointerdown") {
4483              handlePointerDown(targetEvent);
4484            } else {
4485              closeOnPressOutside(targetEvent);
4486            }
4487          });
4488        }
4489        function handlePressEndCapture(event) {
4490          if (event.type === "pointercancel") {
4491            sawPressWhileOpenRef.current = false;
4492          }
4493          if (!pressStartedInsideRef.current) {
4494            return;
4495          }
4496          const pressStartedInsideDefaultPrevented = pressStartPreventedRef.current;
4497          resetPressStartState();
4498          if (getOutsidePressEvent() !== "intentional") {
4499            return;
4500          }
4501          if (event.type === "pointercancel") {
4502            if (pressStartedInsideDefaultPrevented) {
4503              suppressImmediateOutsideClickAfterPreventedStart();
4504            }
4505            return;
4506          }
4507          if (isEventWithinFloatingTree(event)) {
4508            return;
4509          }
4510          if (pressStartedInsideDefaultPrevented) {
4511            suppressImmediateOutsideClickAfterPreventedStart();
4512            return;
4513          }
4514          if (typeof outsidePress2 === "function" && !outsidePress2(event)) {
4515            return;
4516          }
4517          preventedPressSuppressionTimeout.clear();
4518          suppressNextOutsideClickRef.current = true;
4519          clearInsideReactTree();
4520        }
4521        function handleTouchMove(event) {
4522          if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) {
4523            return;
4524          }
4525          const touch = event.touches[0];
4526          if (!touch) {
4527            return;
4528          }
4529          const deltaX = Math.abs(touch.clientX - touchStateRef.current.startX);
4530          const deltaY = Math.abs(touch.clientY - touchStateRef.current.startY);
4531          const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
4532          if (distance > 5) {
4533            touchStateRef.current.dismissOnTouchEnd = true;
4534          }
4535          if (distance > 10) {
4536            closeOnPressOutside(event);
4537            cancelDismissOnEndTimeout.clear();
4538            touchStateRef.current = null;
4539          }
4540        }
4541        function handleTouchMoveCapture(event) {
4542          addTargetEventListenerOnce(event, handleTouchMove);
4543        }
4544        function handleTouchEnd(event) {
4545          if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) {
4546            return;
4547          }
4548          if (touchStateRef.current.dismissOnTouchEnd) {
4549            closeOnPressOutside(event);
4550          }
4551          cancelDismissOnEndTimeout.clear();
4552          touchStateRef.current = null;
4553        }
4554        function handleTouchEndCapture(event) {
4555          addTargetEventListenerOnce(event, handleTouchEnd);
4556        }
4557        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, {
4558          capture: true,
4559          passive: true
4560        }), addEventListener(doc, "touchmove", handleTouchMoveCapture, {
4561          capture: true,
4562          passive: true
4563        }), addEventListener(doc, "touchend", handleTouchEndCapture, {
4564          capture: true,
4565          passive: true
4566        })));
4567        return () => {
4568          unsubscribe();
4569          preventedPressSuppressionTimeout.clear();
4570          resetPressStartState();
4571          suppressNextOutsideClickRef.current = false;
4572        };
4573      }, [dataRef, floatingElement, escapeKey2, outsidePressEnabled, outsidePress2, open2, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, clearInsideReactTree, getOutsidePressEventProp, hasBlockingChild, isEventWithinOwnElements, tree, store, cancelDismissOnEndTimeout, compositionTimeout]);
4574      const reference = React24.useMemo(() => ({
4575        onKeyDown: closeOnEscapeKeyDown,
4576        onPointerDown: closeOnReferencePress,
4577        onClick: closeOnReferencePress
4578      }), [closeOnEscapeKeyDown, closeOnReferencePress]);
4579      const floating = React24.useMemo(() => ({
4580        onKeyDown: closeOnEscapeKeyDown,
4581        // `onMouseDown` may be blocked if `event.preventDefault()` is called in
4582        // `onPointerDown`, such as with <NumberField.ScrubArea>.
4583        // See https://github.com/mui/base-ui/pull/3379
4584        onPointerDown: markInsidePressStartPrevented,
4585        onMouseDown: markInsidePressStartPrevented,
4586        onClickCapture: markInsideReactTree,
4587        onMouseDownCapture(event) {
4588          markInsideReactTree();
4589          markPressStartedInsideReactTree(event);
4590        },
4591        onPointerDownCapture(event) {
4592          markInsideReactTree();
4593          markPressStartedInsideReactTree(event);
4594        },
4595        onMouseUpCapture: markInsideReactTree,
4596        onTouchEndCapture: markInsideReactTree,
4597        onTouchMoveCapture: markInsideReactTree
4598      }), [closeOnEscapeKeyDown, markInsideReactTree, markPressStartedInsideReactTree, markInsidePressStartPrevented]);
4599      return React24.useMemo(() => enabled ? {
4600        reference,
4601        floating,
4602        trigger: reference
4603      } : {}, [enabled, reference, floating]);
4604    }
4605  
4606    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs
4607    var React26 = __toESM(require_react(), 1);
4608    var ReactDOM3 = __toESM(require_react_dom(), 1);
4609  
4610    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useUnmountAfterClose.mjs
4611    var React25 = __toESM(require_react(), 1);
4612    function useUnmountAfterClose(parameters) {
4613      const {
4614        open: open2,
4615        ref,
4616        preventUnmountOnClose,
4617        setPreventUnmountOnClose: setPreventUnmountOnCloseParam,
4618        onUnmount,
4619        animateInitialOpen
4620      } = parameters;
4621      const setPreventUnmountOnClose = useStableCallback(setPreventUnmountOnCloseParam);
4622      const {
4623        mounted,
4624        setMounted,
4625        transitionStatus
4626      } = useTransitionStatus(open2, false, false, animateInitialOpen);
4627      const preventUnmountingOnClose = open2 ? false : preventUnmountOnClose;
4628      useIsoLayoutEffect(() => {
4629        if (open2) {
4630          setPreventUnmountOnClose(false);
4631        }
4632      }, [open2, setPreventUnmountOnClose]);
4633      const mountedRef = React25.useRef(mounted);
4634      const pendingUnmountRef = React25.useRef(false);
4635      const rerender = useForcedRerendering();
4636      const unmount = () => {
4637        mountedRef.current = false;
4638        setMounted(false);
4639        onUnmount();
4640      };
4641      useIsoLayoutEffect(() => {
4642        mountedRef.current = mounted;
4643        if (pendingUnmountRef.current) {
4644          pendingUnmountRef.current = false;
4645          if (!open2 && mounted) {
4646            unmount();
4647          }
4648        }
4649      });
4650      const forceUnmount = useStableCallback(() => {
4651        if (!mountedRef.current) {
4652          return;
4653        }
4654        if (open2) {
4655          pendingUnmountRef.current = true;
4656          rerender();
4657          return;
4658        }
4659        unmount();
4660      });
4661      useOpenChangeComplete({
4662        enabled: mounted && !open2 && !preventUnmountingOnClose,
4663        open: open2,
4664        ref,
4665        onComplete() {
4666          if (!open2) {
4667            forceUnmount();
4668          }
4669        }
4670      });
4671      return {
4672        mounted,
4673        transitionStatus,
4674        preventUnmountingOnClose,
4675        forceUnmount
4676      };
4677    }
4678  
4679    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs
4680    var FOCUSABLE_POPUP_PROPS = {
4681      tabIndex: -1,
4682      [FOCUSABLE_ATTRIBUTE]: ""
4683    };
4684    function attachPreventUnmountOnClose(eventDetails) {
4685      let preventUnmountOnClose = false;
4686      eventDetails.preventUnmountOnClose = () => {
4687        preventUnmountOnClose = true;
4688      };
4689      return () => preventUnmountOnClose;
4690    }
4691  
4692    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupTriggerMap.mjs
4693    var devElementIdsByMap;
4694    function getDevElementIds(map) {
4695      devElementIdsByMap ??= /* @__PURE__ */ new WeakMap();
4696      let elementIds = devElementIdsByMap.get(map);
4697      if (!elementIds) {
4698        elementIds = /* @__PURE__ */ new WeakMap();
4699        devElementIdsByMap.set(map, elementIds);
4700      }
4701      return elementIds;
4702    }
4703    var PopupTriggerMap = class {
4704      idMap = /* @__PURE__ */ new Map();
4705      /**
4706       * Adds a trigger element with the given ID.
4707       *
4708       * Note: The provided element is assumed to not be registered under multiple IDs.
4709       */
4710      add(id, element) {
4711        if (true) {
4712          const elementIds = getDevElementIds(this);
4713          const existingId = elementIds.get(element);
4714          if (existingId !== void 0 && existingId !== id) {
4715            throw new Error("Base UI: A trigger element cannot be registered under multiple IDs in PopupTriggerMap.");
4716          }
4717          const previousElement = this.idMap.get(id);
4718          if (previousElement !== void 0 && previousElement !== element) {
4719            elementIds.delete(previousElement);
4720          }
4721          elementIds.set(element, id);
4722        }
4723        this.idMap.set(id, element);
4724      }
4725      /**
4726       * Removes the trigger element with the given ID.
4727       */
4728      delete(id) {
4729        if (true) {
4730          const element = this.idMap.get(id);
4731          if (element !== void 0) {
4732            devElementIdsByMap?.get(this)?.delete(element);
4733          }
4734        }
4735        this.idMap.delete(id);
4736      }
4737      /**
4738       * Whether the given element is registered as a trigger.
4739       */
4740      hasElement(element) {
4741        for (const registered of this.idMap.values()) {
4742          if (registered === element) {
4743            return true;
4744          }
4745        }
4746        return false;
4747      }
4748      /**
4749       * Whether there is a registered trigger element matching the given predicate.
4750       */
4751      hasMatchingElement(predicate) {
4752        for (const element of this.idMap.values()) {
4753          if (predicate(element)) {
4754            return true;
4755          }
4756        }
4757        return false;
4758      }
4759      /**
4760       * Returns the trigger element associated with the given ID, or undefined if no such element exists.
4761       */
4762      getById(id) {
4763        return this.idMap.get(id);
4764      }
4765      /**
4766       * Returns an iterable of all registered trigger entries, where each entry is a tuple of [id, element].
4767       */
4768      entries() {
4769        return this.idMap.entries();
4770      }
4771      /**
4772       * Returns an iterable of all registered trigger elements.
4773       */
4774      elements() {
4775        return this.idMap.values();
4776      }
4777      /**
4778       * Returns the number of registered trigger elements.
4779       */
4780      get size() {
4781        return this.idMap.size;
4782      }
4783    };
4784  
4785    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/useStore.mjs
4786    var React28 = __toESM(require_react(), 1);
4787    var import_shim = __toESM(require_shim(), 1);
4788    var import_with_selector = __toESM(require_with_selector(), 1);
4789  
4790    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/fastHooks.mjs
4791    var React27 = __toESM(require_react(), 1);
4792    var hooks = [];
4793    var currentInstance = void 0;
4794    function getInstance() {
4795      return currentInstance;
4796    }
4797    function register(hook) {
4798      hooks.push(hook);
4799    }
4800  
4801    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/useStore.mjs
4802    var canUseRawUseSyncExternalStore = isReactVersionAtLeast(19);
4803    var useStoreImplementation = canUseRawUseSyncExternalStore ? useStoreFast : useStoreLegacy;
4804    function useStore(store, selector, a1, a2, a3) {
4805      return useStoreImplementation(store, selector, a1, a2, a3);
4806    }
4807    function useStoreR19(store, selector, a1, a2, a3) {
4808      const getSelection = React28.useCallback(() => selector(store.getSnapshot(), a1, a2, a3), [store, selector, a1, a2, a3]);
4809      return (0, import_shim.useSyncExternalStore)(store.subscribe, getSelection, getSelection);
4810    }
4811    register({
4812      before(instance) {
4813        instance.syncIndex = 0;
4814        if (!instance.didInitialize) {
4815          instance.syncTick = 1;
4816          instance.syncHooks = [];
4817          instance.didChangeStore = true;
4818          instance.getSnapshot = () => {
4819            let didChange2 = false;
4820            for (let i = 0; i < instance.syncHooks.length; i += 1) {
4821              const hook = instance.syncHooks[i];
4822              const value = hook.selector(hook.store.state, hook.a1, hook.a2, hook.a3);
4823              if (!Object.is(hook.value, value)) {
4824                didChange2 = true;
4825                hook.value = value;
4826              }
4827            }
4828            if (didChange2) {
4829              instance.syncTick += 1;
4830            }
4831            return instance.syncTick;
4832          };
4833        }
4834      },
4835      after(instance) {
4836        if (instance.syncHooks.length > 0) {
4837          if (instance.didChangeStore) {
4838            instance.didChangeStore = false;
4839            instance.subscribe = (onStoreChange) => {
4840              const stores = /* @__PURE__ */ new Set();
4841              for (const hook of instance.syncHooks) {
4842                stores.add(hook.store);
4843              }
4844              const unsubscribes = [];
4845              for (const store of stores) {
4846                unsubscribes.push(store.subscribe(onStoreChange));
4847              }
4848              return () => {
4849                for (const unsubscribe of unsubscribes) {
4850                  unsubscribe();
4851                }
4852              };
4853            };
4854          }
4855          (0, import_shim.useSyncExternalStore)(instance.subscribe, instance.getSnapshot, instance.getSnapshot);
4856        }
4857      }
4858    });
4859    function useStoreFast(store, selector, a1, a2, a3) {
4860      const instance = getInstance();
4861      if (!instance) {
4862        return useStoreR19(store, selector, a1, a2, a3);
4863      }
4864      const index2 = instance.syncIndex;
4865      instance.syncIndex += 1;
4866      let hook;
4867      if (!instance.didInitialize) {
4868        hook = {
4869          store,
4870          selector,
4871          a1,
4872          a2,
4873          a3,
4874          value: selector(store.getSnapshot(), a1, a2, a3)
4875        };
4876        instance.syncHooks.push(hook);
4877      } else {
4878        hook = instance.syncHooks[index2];
4879        if (hook.store !== store || hook.selector !== selector || !Object.is(hook.a1, a1) || !Object.is(hook.a2, a2) || !Object.is(hook.a3, a3)) {
4880          if (hook.store !== store) {
4881            instance.didChangeStore = true;
4882          }
4883          hook.store = store;
4884          hook.selector = selector;
4885          hook.a1 = a1;
4886          hook.a2 = a2;
4887          hook.a3 = a3;
4888          hook.value = selector(store.getSnapshot(), a1, a2, a3);
4889        }
4890      }
4891      return hook.value;
4892    }
4893    function useStoreLegacy(store, selector, a1, a2, a3) {
4894      return (0, import_with_selector.useSyncExternalStoreWithSelector)(store.subscribe, store.getSnapshot, store.getSnapshot, (state) => selector(state, a1, a2, a3));
4895    }
4896  
4897    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/Store.mjs
4898    var Store = class {
4899      /**
4900       * Creates a store with the given initial state, constructing the class it is called on.
4901       * Calling it on a generic base class (e.g. `ReactStore.create(...)`) constructs that
4902       * class but degrades the inferred instance type to `Store`; use `new` there instead.
4903       */
4904      static create(state) {
4905        return new this(state);
4906      }
4907      /**
4908       * The current state of the store.
4909       * This property is updated immediately when the state changes as a result of calling {@link setState}, {@link update}, or {@link set}.
4910       * 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).
4911       * The values can be used directly (to avoid subscribing to the store) in effects or event handlers.
4912       *
4913       * Do not modify properties in state directly. Instead, use the provided methods to ensure proper state management and listener notification.
4914       */
4915      // Internal state to handle recursive `setState()` calls
4916      constructor(state) {
4917        this.state = state;
4918        this.listeners = /* @__PURE__ */ new Set();
4919        this.updateTick = 0;
4920      }
4921      /**
4922       * Registers a listener that will be called whenever the store's state changes.
4923       *
4924       * @param fn The listener function to be called on state changes.
4925       * @returns A function to unsubscribe the listener.
4926       */
4927      subscribe = (fn) => {
4928        this.listeners.add(fn);
4929        return () => {
4930          this.listeners.delete(fn);
4931        };
4932      };
4933      /**
4934       * Returns the current state of the store.
4935       */
4936      getSnapshot = () => {
4937        return this.state;
4938      };
4939      /**
4940       * Updates the entire store's state and notifies all registered listeners.
4941       *
4942       * @param newState The new state to set for the store.
4943       */
4944      setState(newState) {
4945        if (this.state === newState) {
4946          return;
4947        }
4948        this.state = newState;
4949        this.updateTick += 1;
4950        const currentTick = this.updateTick;
4951        for (const listener of this.listeners) {
4952          if (currentTick !== this.updateTick) {
4953            return;
4954          }
4955          listener(newState);
4956        }
4957      }
4958      /**
4959       * Merges the provided changes into the current state and notifies listeners if there are changes.
4960       * Each value must match its state key. Pass an exact known subset rather than a broad
4961       * `Partial<State>`, which may contain `undefined` for required state fields.
4962       *
4963       * @param changes An object containing the changes to apply to the current state.
4964       */
4965      update(changes) {
4966        for (const key in changes) {
4967          if (!Object.is(this.state[key], changes[key])) {
4968            this.setState({
4969              ...this.state,
4970              ...changes
4971            });
4972            return;
4973          }
4974        }
4975      }
4976      /**
4977       * Sets a specific key in the store's state to a new value and notifies listeners if the value has changed.
4978       *
4979       * @param key The key in the store's state to update.
4980       * @param value The new value to set for the specified key.
4981       */
4982      set(key, value) {
4983        if (!Object.is(this.state[key], value)) {
4984          this.setState({
4985            ...this.state,
4986            [key]: value
4987          });
4988        }
4989      }
4990      /**
4991       * Gives the state a new reference and updates all registered listeners.
4992       */
4993      notifyAll() {
4994        const newState = {
4995          ...this.state
4996        };
4997        this.setState(newState);
4998      }
4999      use(selector, a1, a2, a3) {
5000        return useStore(this, selector, a1, a2, a3);
5001      }
5002    };
5003  
5004    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/ReactStore.mjs
5005    var React29 = __toESM(require_react(), 1);
5006    var ReactStore = class extends Store {
5007      /**
5008       * Creates a new ReactStore instance.
5009       *
5010       * @param state Initial state of the store.
5011       * @param context Non-reactive context values.
5012       * @param selectors Optional selectors for use with `useState`.
5013       */
5014      constructor(state, context = {}, selectors3) {
5015        super(state);
5016        this.context = context;
5017        this.selectors = selectors3;
5018      }
5019      /**
5020       * Non-reactive values such as refs, callbacks, etc.
5021       */
5022      /**
5023       * Synchronizes a single external value into the store.
5024       *
5025       * Note that the while the value in `state` is updated immediately, the value returned
5026       * by `useState` is updated before the next render (similarly to React's `useState`).
5027       */
5028      useSyncedValue(key, value) {
5029        React29.useDebugValue(key);
5030        const store = this;
5031        useIsoLayoutEffect(() => {
5032          if (store.state[key] !== value) {
5033            store.set(key, value);
5034          }
5035        }, [store, key, value]);
5036      }
5037      /**
5038       * Synchronizes a single external value into the store and
5039       * cleans it up (sets to `undefined`) on unmount.
5040       *
5041       * Note that the while the value in `state` is updated immediately, the value returned
5042       * by `useState` is updated before the next render (similarly to React's `useState`).
5043       */
5044      useSyncedValueWithCleanup(key, value) {
5045        const store = this;
5046        useIsoLayoutEffect(() => {
5047          if (store.state[key] !== value) {
5048            store.set(key, value);
5049          }
5050          return () => {
5051            store.set(key, void 0);
5052          };
5053        }, [store, key, value]);
5054      }
5055      /**
5056       * Synchronizes multiple external values into the store.
5057       * Each value must match its state key. Pass an exact known subset rather than a broad
5058       * `Partial<State>`, which may contain `undefined` for required state fields.
5059       *
5060       * Note that the while the values in `state` are updated immediately, the values returned
5061       * by `useState` are updated before the next render (similarly to React's `useState`).
5062       *
5063       * @param statePart An exact subset of state fields to synchronize. Unknown keys are not accepted.
5064       */
5065      useSyncedValues(statePart) {
5066        const store = this;
5067        if (true) {
5068          React29.useDebugValue(statePart, (p) => Object.keys(p));
5069          const keys = React29.useRef(Object.keys(statePart)).current;
5070          const nextKeys = Object.keys(statePart);
5071          if (keys.length !== nextKeys.length || keys.some((key, index2) => key !== nextKeys[index2])) {
5072            console.error("ReactStore.useSyncedValues expects the same prop keys on every render. Keys should be stable.");
5073          }
5074        }
5075        const dependencies = Object.values(statePart);
5076        useIsoLayoutEffect(() => {
5077          store.update(statePart);
5078        }, [store, ...dependencies]);
5079      }
5080      /**
5081       * Registers a controllable prop pair (`controlled`, `defaultValue`) for a specific key. If `controlled`
5082       * is non-undefined, the store's state at `key` is updated to match `controlled`.
5083       */
5084      useControlledProp(key, controlled) {
5085        React29.useDebugValue(key);
5086        const store = this;
5087        const isControlled = controlled !== void 0;
5088        useIsoLayoutEffect(() => {
5089          if (isControlled && !Object.is(store.state[key], controlled)) {
5090            store.setState({
5091              ...store.state,
5092              [key]: controlled
5093            });
5094          }
5095        }, [store, key, controlled, isControlled]);
5096        if (true) {
5097          const cache = this.controlledValues ??= /* @__PURE__ */ new Map();
5098          if (!cache.has(key)) {
5099            cache.set(key, isControlled);
5100          }
5101          const previouslyControlled = cache.get(key);
5102          if (previouslyControlled !== void 0 && previouslyControlled !== isControlled) {
5103            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).`);
5104          }
5105        }
5106      }
5107      /** Gets the current value from the store using a selector with the provided key.
5108       *
5109       * @param key Key of the selector to use.
5110       */
5111      select(key, a1, a2, a3) {
5112        const selector = this.selectors[key];
5113        return selector(this.state, a1, a2, a3);
5114      }
5115      /**
5116       * Returns a value from the store's state using a selector function.
5117       * Used to subscribe to specific parts of the state.
5118       * This methods causes a rerender whenever the selected state changes.
5119       *
5120       * @param key Key of the selector to use.
5121       */
5122      useState(key, a1, a2, a3) {
5123        React29.useDebugValue(key);
5124        return useStore(this, this.selectors[key], a1, a2, a3);
5125      }
5126      /**
5127       * Wraps a function with `useStableCallback` to ensure it has a stable reference
5128       * and assigns it to the context.
5129       *
5130       * @param key Key of the event callback. Must be a function in the context.
5131       * @param fn Function to assign.
5132       */
5133      useContextCallback(key, fn) {
5134        React29.useDebugValue(key);
5135        const stableFunction = useStableCallback(fn ?? NOOP);
5136        this.context[key] = stableFunction;
5137      }
5138      /**
5139       * Returns a stable setter function for a specific key in the store's state.
5140       * It's commonly used to pass as a ref callback to React elements.
5141       *
5142       * @param key Key of the state to set.
5143       */
5144      useStateSetter(key) {
5145        const ref = React29.useRef(void 0);
5146        if (ref.current === void 0) {
5147          ref.current = (value) => {
5148            this.set(key, value);
5149          };
5150        }
5151        return ref.current;
5152      }
5153      /**
5154       * Observes changes derived from the store's selectors and calls the listener when the selected value changes.
5155       *
5156       * @param key Key of the selector to observe.
5157       * @param listener Listener function called when the selector result changes.
5158       */
5159      observe(selector, listener) {
5160        let selectFn;
5161        if (typeof selector === "function") {
5162          selectFn = selector;
5163        } else {
5164          selectFn = this.selectors[selector];
5165        }
5166        let prevValue = selectFn(this.state);
5167        listener(prevValue, prevValue, this);
5168        return this.subscribe((nextState) => {
5169          const nextValue = selectFn(nextState);
5170          if (!Object.is(prevValue, nextValue)) {
5171            const oldValue = prevValue;
5172            prevValue = nextValue;
5173            listener(nextValue, oldValue, this);
5174          }
5175        });
5176      }
5177    };
5178  
5179    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingRootStore.mjs
5180    var selectors = {
5181      open: (state) => state.open,
5182      transitionStatus: (state) => state.transitionStatus,
5183      domReferenceElement: (state) => state.domReferenceElement,
5184      referenceElement: (state) => state.positionReference ?? state.referenceElement,
5185      floatingElement: (state) => state.floatingElement,
5186      floatingId: (state) => state.floatingId
5187    };
5188    var FloatingRootStore = class extends ReactStore {
5189      constructor(options) {
5190        const {
5191          syncOnly,
5192          nested,
5193          onOpenChange,
5194          triggerElements,
5195          ...initialState
5196        } = options;
5197        super({
5198          ...initialState,
5199          positionReference: initialState.referenceElement,
5200          domReferenceElement: initialState.referenceElement
5201        }, {
5202          onOpenChange,
5203          dataRef: {
5204            current: {}
5205          },
5206          events: createEventEmitter(),
5207          nested,
5208          triggerElements
5209        }, selectors);
5210        this.syncOnly = syncOnly;
5211      }
5212      /**
5213       * Syncs the event used by hover logic to distinguish hover-open from click-like interaction.
5214       */
5215      syncOpenEvent = (newOpen, event) => {
5216        if (!newOpen || !this.state.open || // Prevent a pending hover-open from overwriting a click-open event, while allowing
5217        // click events to upgrade a hover-open.
5218        event != null && isClickLikeEvent(event)) {
5219          this.context.dataRef.current.openEvent = newOpen ? event : void 0;
5220        }
5221      };
5222      /**
5223       * Runs the root-owned side effects for an open state change.
5224       */
5225      dispatchOpenChange = (newOpen, eventDetails) => {
5226        this.syncOpenEvent(newOpen, eventDetails.event);
5227        const details = {
5228          open: newOpen,
5229          reason: eventDetails.reason,
5230          nativeEvent: eventDetails.event,
5231          nested: this.context.nested,
5232          triggerElement: eventDetails.trigger
5233        };
5234        this.context.events.emit("openchange", details);
5235      };
5236      /**
5237       * Emits the `openchange` event through the internal event emitter and calls the `onOpenChange` handler with the provided arguments.
5238       *
5239       * @param newOpen The new open state.
5240       * @param eventDetails Details about the event that triggered the open state change.
5241       */
5242      setOpen = (newOpen, eventDetails) => {
5243        if (this.syncOnly) {
5244          this.context.onOpenChange?.(newOpen, eventDetails);
5245          return;
5246        }
5247        this.dispatchOpenChange(newOpen, eventDetails);
5248        this.context.onOpenChange?.(newOpen, eventDetails);
5249      };
5250    };
5251  
5252    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useFloatingRootContext.mjs
5253    function useFloatingRootContext(options) {
5254      const {
5255        open: open2 = false,
5256        onOpenChange,
5257        elements = {}
5258      } = options;
5259      const floatingId = useId();
5260      const nested = useFloatingParentNodeId() != null;
5261      if (true) {
5262        const optionDomReference = elements.reference;
5263        if (optionDomReference && !isElement(optionDomReference)) {
5264          console.error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `context.setPositionReference()`", "instead.");
5265        }
5266      }
5267      const store = useRefWithInit(() => new FloatingRootStore({
5268        open: open2,
5269        transitionStatus: void 0,
5270        onOpenChange,
5271        referenceElement: elements.reference ?? null,
5272        floatingElement: elements.floating ?? null,
5273        triggerElements: new PopupTriggerMap(),
5274        floatingId,
5275        syncOnly: false,
5276        nested
5277      })).current;
5278      useIsoLayoutEffect(() => {
5279        const valuesToSync = {
5280          open: open2,
5281          floatingId
5282        };
5283        if (elements.reference !== void 0) {
5284          valuesToSync.referenceElement = elements.reference;
5285          valuesToSync.domReferenceElement = isElement(elements.reference) ? elements.reference : null;
5286        }
5287        if (elements.floating !== void 0) {
5288          valuesToSync.floatingElement = elements.floating;
5289        }
5290        store.update(valuesToSync);
5291      }, [open2, floatingId, elements.reference, elements.floating, store]);
5292      store.context.onOpenChange = onOpenChange;
5293      store.context.nested = nested;
5294      return store;
5295    }
5296  
5297    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useListNavigation.mjs
5298    var React30 = __toESM(require_react(), 1);
5299    function isStationaryWebKitPointer(event) {
5300      return parts_exports.engine.webkit && event.movementX === 0 && event.movementY === 0;
5301    }
5302    function doSwitch(orientation, vertical, horizontal) {
5303      switch (orientation) {
5304        case "vertical":
5305          return vertical;
5306        case "horizontal":
5307          return horizontal;
5308        default:
5309          return vertical || horizontal;
5310      }
5311    }
5312    function isMainOrientationKey(key, orientation) {
5313      const vertical = key === ARROW_UP || key === ARROW_DOWN;
5314      const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;
5315      return doSwitch(orientation, vertical, horizontal);
5316    }
5317    function isMainOrientationToEndKey(key, orientation, rtl) {
5318      const vertical = key === ARROW_DOWN;
5319      const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;
5320      return doSwitch(orientation, vertical, horizontal) || key === "Enter" || key === " " || key === "";
5321    }
5322    function isCrossOrientationOpenKey(key, orientation, rtl) {
5323      const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;
5324      const horizontal = key === ARROW_DOWN;
5325      return doSwitch(orientation, vertical, horizontal);
5326    }
5327    function isCrossOrientationCloseKey(key, orientation, rtl, grid) {
5328      const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;
5329      const horizontal = key === ARROW_UP;
5330      if (orientation === "both" || orientation === "horizontal" && grid) {
5331        return key === "Escape";
5332      }
5333      return doSwitch(orientation, vertical, horizontal);
5334    }
5335    function useListNavigation(store, props) {
5336      const {
5337        listRef,
5338        activeIndex,
5339        onNavigate: onNavigateProp = () => {
5340        },
5341        enabled = true,
5342        selectedIndex = null,
5343        allowEscape = false,
5344        loopFocus = false,
5345        nested = false,
5346        rtl = false,
5347        virtual = false,
5348        focusItemOnOpen = "auto",
5349        focusItemOnHover = true,
5350        openOnArrowKeyDown = true,
5351        disabledIndices = void 0,
5352        orientation = "vertical",
5353        triggerOrientation = orientation,
5354        parentOrientation,
5355        id,
5356        resetOnPointerLeave = true,
5357        externalTree,
5358        nestedReturnFocusRef,
5359        grid: navigateGrid
5360      } = props;
5361      const isGrid = navigateGrid != null;
5362      if (true) {
5363        if (allowEscape) {
5364          if (!loopFocus) {
5365            console.warn("`useListNavigation` looping must be enabled to allow escaping.");
5366          }
5367          if (!virtual) {
5368            console.warn("`useListNavigation` must be virtual to allow escaping.");
5369          }
5370        }
5371        if (orientation === "vertical" && isGrid) {
5372          console.warn("In grid list navigation mode, the `orientation` should", 'be either "horizontal" or "both".');
5373        }
5374      }
5375      const open2 = store.useState("open");
5376      const floatingElement = store.useState("floatingElement");
5377      const domReferenceElement = store.useState("domReferenceElement");
5378      const dataRef = store.context.dataRef;
5379      const floatingFocusElement = getFloatingFocusElement(floatingElement);
5380      const typeableComboboxReference = isTypeableCombobox(domReferenceElement);
5381      const floatingFocusElementRef = useValueAsRef(floatingFocusElement);
5382      const parentId = useFloatingParentNodeId();
5383      const tree = useFloatingTree(externalTree);
5384      const focusItemOnOpenRef = React30.useRef(focusItemOnOpen);
5385      const indexRef = React30.useRef(selectedIndex ?? -1);
5386      const keyRef = React30.useRef(null);
5387      const isPointerModalityRef = React30.useRef(true);
5388      const onNavigate = useStableCallback((event) => {
5389        onNavigateProp(indexRef.current === -1 ? null : indexRef.current, event);
5390      });
5391      const previousMountedRef = React30.useRef(!!floatingElement);
5392      const previousOpenRef = React30.useRef(open2);
5393      const forceSyncFocusRef = React30.useRef(false);
5394      const forceScrollIntoViewRef = React30.useRef(false);
5395      const cancelQueuedFocusRef = React30.useRef(null);
5396      const disabledIndicesRef = useValueAsRef(disabledIndices);
5397      const latestOpenRef = useValueAsRef(open2);
5398      const selectedIndexRef = useValueAsRef(selectedIndex);
5399      const resetOnPointerLeaveRef = useValueAsRef(resetOnPointerLeave);
5400      const focusFrame = useAnimationFrame();
5401      const waitForListPopulatedFrame = useAnimationFrame();
5402      const focusItem = useStableCallback(() => {
5403        focusFrame.cancel();
5404        function runFocus(item2) {
5405          if (!virtual) {
5406            cancelQueuedFocusRef.current = enqueueFocus(item2, {
5407              sync: forceSyncFocusRef.current,
5408              preventScroll: true
5409            });
5410          }
5411        }
5412        const initialItem = listRef.current[indexRef.current];
5413        const forceScrollIntoView = forceScrollIntoViewRef.current;
5414        if (initialItem) {
5415          runFocus(initialItem);
5416        }
5417        const scheduler2 = forceSyncFocusRef.current ? (callback) => callback() : (callback) => focusFrame.request(callback);
5418        scheduler2(() => {
5419          const waitedItem = listRef.current[indexRef.current] || initialItem;
5420          if (!waitedItem) {
5421            return;
5422          }
5423          if (!initialItem) {
5424            runFocus(waitedItem);
5425          }
5426          const shouldScrollIntoView = (
5427            // eslint-disable-next-line @typescript-eslint/no-use-before-define
5428            item && (forceScrollIntoView || !isPointerModalityRef.current)
5429          );
5430          if (shouldScrollIntoView) {
5431            waitedItem.scrollIntoView?.({
5432              block: "nearest",
5433              inline: "nearest"
5434            });
5435          }
5436        });
5437      });
5438      useIsoLayoutEffect(() => {
5439        dataRef.current.orientation = orientation;
5440      }, [dataRef, orientation]);
5441      useIsoLayoutEffect(() => {
5442        if (!open2) {
5443          keyRef.current = null;
5444        }
5445        if (!open2 || focusItemOnOpen !== "auto") {
5446          focusItemOnOpenRef.current = focusItemOnOpen;
5447        }
5448      }, [open2, focusItemOnOpen]);
5449      useIsoLayoutEffect(() => {
5450        if (!enabled) {
5451          return;
5452        }
5453        if (open2 && floatingElement) {
5454          indexRef.current = selectedIndex ?? -1;
5455          if (focusItemOnOpenRef.current && selectedIndex != null) {
5456            forceScrollIntoViewRef.current = true;
5457            onNavigate();
5458          }
5459        } else if (previousMountedRef.current) {
5460          indexRef.current = -1;
5461          onNavigate();
5462        }
5463      }, [enabled, open2, floatingElement, selectedIndex, onNavigate]);
5464      useIsoLayoutEffect(() => {
5465        if (!enabled) {
5466          return;
5467        }
5468        if (!open2) {
5469          forceSyncFocusRef.current = false;
5470          return;
5471        }
5472        if (!floatingElement) {
5473          return;
5474        }
5475        if (activeIndex == null) {
5476          forceSyncFocusRef.current = false;
5477          if (selectedIndexRef.current != null) {
5478            return;
5479          }
5480          if (previousMountedRef.current) {
5481            indexRef.current = -1;
5482            focusItem();
5483          }
5484          if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {
5485            let runs = 0;
5486            const waitForListPopulated = () => {
5487              if (listRef.current[0] == null) {
5488                if (runs < 2) {
5489                  const scheduler2 = runs ? (callback) => waitForListPopulatedFrame.request(callback) : queueMicrotask;
5490                  scheduler2(waitForListPopulated);
5491                }
5492                runs += 1;
5493              } else {
5494                indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, triggerOrientation, rtl) || nested ? getMinListIndex(listRef) : getMaxListIndex(listRef);
5495                keyRef.current = null;
5496                onNavigate();
5497              }
5498            };
5499            waitForListPopulated();
5500          }
5501        } else if (!isIndexOutOfListBounds(listRef.current, activeIndex)) {
5502          indexRef.current = activeIndex;
5503          focusItem();
5504          forceScrollIntoViewRef.current = false;
5505        }
5506      }, [enabled, open2, floatingElement, activeIndex, selectedIndexRef, nested, listRef, triggerOrientation, rtl, onNavigate, focusItem, waitForListPopulatedFrame]);
5507      useIsoLayoutEffect(() => {
5508        if (!enabled || floatingElement || !tree || virtual || !previousMountedRef.current) {
5509          return;
5510        }
5511        const nodes = tree.nodesRef.current;
5512        const parent = nodes.find((node) => node.id === parentId)?.context?.elements.floating;
5513        const activeEl = activeElement(ownerDocument(domReferenceElement ?? parent ?? null));
5514        const treeContainsActiveEl = nodes.some((node) => node.context && contains(node.context.elements.floating, activeEl));
5515        if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {
5516          parent.focus({
5517            preventScroll: true
5518          });
5519        }
5520      }, [enabled, floatingElement, domReferenceElement, tree, parentId, virtual]);
5521      useIsoLayoutEffect(() => {
5522        previousOpenRef.current = open2;
5523        previousMountedRef.current = !!floatingElement;
5524      });
5525      const hasActiveIndex = activeIndex != null;
5526      const syncCurrentTarget = useStableCallback((event) => {
5527        if (!latestOpenRef.current) {
5528          return;
5529        }
5530        const index2 = listRef.current.indexOf(event.currentTarget);
5531        if (index2 !== -1 && (indexRef.current !== index2 || activeIndex !== index2)) {
5532          indexRef.current = index2;
5533          onNavigate(event);
5534        }
5535      });
5536      const getParentOrientation = useStableCallback(() => {
5537        return parentOrientation ?? tree?.nodesRef.current.find((node) => node.id === parentId)?.context?.dataRef?.current.orientation;
5538      });
5539      const getMinEnabledIndex = useStableCallback(() => {
5540        return getMinListIndex(listRef, disabledIndicesRef.current);
5541      });
5542      const commonOnKeyDown = useStableCallback((event) => {
5543        isPointerModalityRef.current = false;
5544        forceSyncFocusRef.current = true;
5545        if (event.which === 229) {
5546          return;
5547        }
5548        if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {
5549          return;
5550        }
5551        if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl, isGrid)) {
5552          if (!isMainOrientationKey(event.key, getParentOrientation())) {
5553            stopEvent(event);
5554          }
5555          store.setOpen(false, createChangeEventDetails(reason_parts_exports.listNavigation, event.nativeEvent));
5556          const returnElement = nestedReturnFocusRef?.current ?? domReferenceElement;
5557          if (isHTMLElement(returnElement)) {
5558            returnElement.focus();
5559          }
5560          return;
5561        }
5562        if (activeIndex != null && activeIndex !== indexRef.current && !isIndexOutOfListBounds(listRef.current, activeIndex)) {
5563          indexRef.current = activeIndex;
5564        }
5565        const currentIndex = indexRef.current;
5566        const minIndex = getMinListIndex(listRef, disabledIndices);
5567        const maxIndex = getMaxListIndex(listRef, disabledIndices);
5568        if (!typeableComboboxReference) {
5569          if (event.key === "Home") {
5570            stopEvent(event);
5571            indexRef.current = minIndex;
5572            onNavigate(event);
5573          }
5574          if (event.key === "End") {
5575            stopEvent(event);
5576            indexRef.current = maxIndex;
5577            onNavigate(event);
5578          }
5579        }
5580        if (navigateGrid != null) {
5581          const index2 = navigateGrid(event, indexRef.current, listRef, orientation, loopFocus, rtl, disabledIndices, minIndex, maxIndex);
5582          if (index2 != null && index2 !== indexRef.current) {
5583            indexRef.current = index2;
5584            onNavigate(event);
5585          }
5586          if (orientation === "both") {
5587            return;
5588          }
5589        }
5590        if (isMainOrientationKey(event.key, orientation)) {
5591          stopEvent(event);
5592          const focusedElement = activeElement(event.currentTarget.ownerDocument);
5593          if (open2 && !virtual && contains(event.currentTarget, focusedElement) && !listRef.current.some((item2) => item2 != null && contains(item2, focusedElement))) {
5594            indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;
5595            onNavigate(event);
5596            if (activeIndex === indexRef.current) {
5597              focusItem();
5598            }
5599            return;
5600          }
5601          const {
5602            index: index2,
5603            wrapped
5604          } = getNextListIndex(listRef.current, currentIndex, {
5605            decrement: !isMainOrientationToEndKey(event.key, orientation, rtl),
5606            loopFocus,
5607            allowEscape,
5608            disabledIndices,
5609            minIndex,
5610            maxIndex
5611          });
5612          if (wrapped) {
5613            forceSyncFocusRef.current = false;
5614          }
5615          indexRef.current = index2;
5616          onNavigate(event);
5617        }
5618      });
5619      const item = React30.useMemo(() => {
5620        const itemProps = {
5621          onFocus(event) {
5622            forceSyncFocusRef.current = true;
5623            syncCurrentTarget(event);
5624          },
5625          onClick({
5626            currentTarget
5627          }) {
5628            if (!virtual) {
5629              currentTarget.focus({
5630                preventScroll: true
5631              });
5632            }
5633          },
5634          onMouseMove(event) {
5635            if (isStationaryWebKitPointer(event)) {
5636              return;
5637            }
5638            forceSyncFocusRef.current = true;
5639            forceScrollIntoViewRef.current = false;
5640            if (focusItemOnHover) {
5641              syncCurrentTarget(event);
5642            }
5643          },
5644          onPointerLeave(event) {
5645            if (!latestOpenRef.current || !isPointerModalityRef.current || event.pointerType === "touch") {
5646              return;
5647            }
5648            forceSyncFocusRef.current = true;
5649            const relatedTarget = event.relatedTarget;
5650            if (!focusItemOnHover || listRef.current.includes(relatedTarget)) {
5651              return;
5652            }
5653            if (!resetOnPointerLeaveRef.current) {
5654              return;
5655            }
5656            cancelQueuedFocusRef.current?.();
5657            cancelQueuedFocusRef.current = null;
5658            indexRef.current = -1;
5659            onNavigate(event);
5660            if (!virtual) {
5661              const floatingFocusEl = floatingFocusElementRef.current;
5662              const activeEl = activeElement(ownerDocument(floatingFocusEl));
5663              if (floatingFocusEl && contains(floatingFocusEl, activeEl)) {
5664                floatingFocusEl.focus({
5665                  preventScroll: true
5666                });
5667              }
5668            }
5669          }
5670        };
5671        return itemProps;
5672      }, [syncCurrentTarget, latestOpenRef, floatingFocusElementRef, focusItemOnHover, listRef, onNavigate, resetOnPointerLeaveRef, virtual]);
5673      const ariaActiveDescendantProp = React30.useMemo(() => {
5674        return virtual && open2 && hasActiveIndex && {
5675          "aria-activedescendant": `$id}-$activeIndex}`
5676        };
5677      }, [virtual, open2, hasActiveIndex, id, activeIndex]);
5678      const floating = React30.useMemo(() => {
5679        return {
5680          ...!typeableComboboxReference ? ariaActiveDescendantProp : {},
5681          onKeyDown(event) {
5682            if (event.key === "Tab" && event.shiftKey && open2 && !virtual) {
5683              const target = getTarget(event.nativeEvent);
5684              if (target && !contains(floatingFocusElementRef.current, target)) {
5685                return;
5686              }
5687              stopEvent(event);
5688              const details = createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent);
5689              store.setOpen(false, details);
5690              const returnElement = nestedReturnFocusRef?.current ?? domReferenceElement;
5691              if (!details.isCanceled && isHTMLElement(returnElement)) {
5692                returnElement.focus();
5693              }
5694              return;
5695            }
5696            commonOnKeyDown(event);
5697          },
5698          onPointerMove(event) {
5699            if (isStationaryWebKitPointer(event)) {
5700              return;
5701            }
5702            isPointerModalityRef.current = true;
5703          }
5704        };
5705      }, [ariaActiveDescendantProp, commonOnKeyDown, floatingFocusElementRef, typeableComboboxReference, store, open2, virtual, domReferenceElement, nestedReturnFocusRef]);
5706      const trigger = React30.useMemo(() => {
5707        function openOnNavigationKeyDown(event) {
5708          store.setOpen(true, createChangeEventDetails(reason_parts_exports.listNavigation, event.nativeEvent, event.currentTarget));
5709        }
5710        function checkVirtualMouse(event) {
5711          if (focusItemOnOpen === "auto" && isVirtualClick(event.nativeEvent)) {
5712            focusItemOnOpenRef.current = !virtual;
5713          }
5714        }
5715        function checkVirtualPointer(event) {
5716          focusItemOnOpenRef.current = focusItemOnOpen;
5717          if (focusItemOnOpen === "auto" && isVirtualPointerEvent(event.nativeEvent)) {
5718            focusItemOnOpenRef.current = true;
5719          }
5720        }
5721        return {
5722          onKeyDown(event) {
5723            const currentOpen = store.select("open");
5724            isPointerModalityRef.current = false;
5725            const isArrowKey = event.key.startsWith("Arrow");
5726            const isParentCrossOpenKey = isCrossOrientationOpenKey(event.key, getParentOrientation(), rtl);
5727            const isMainKey = isMainOrientationKey(event.key, currentOpen ? orientation : triggerOrientation);
5728            const isNavigationKey = (nested ? isParentCrossOpenKey : isMainKey) || event.key === "Enter" || event.key.trim() === "";
5729            if (virtual && currentOpen && (!nested || isTypeableElement(event.currentTarget))) {
5730              return commonOnKeyDown(event);
5731            }
5732            if (!currentOpen && !openOnArrowKeyDown && isArrowKey) {
5733              return void 0;
5734            }
5735            if (isNavigationKey) {
5736              const isParentMainKey = isMainOrientationKey(event.key, getParentOrientation());
5737              keyRef.current = nested && isParentMainKey ? null : event.key;
5738            }
5739            if (nested) {
5740              if (isParentCrossOpenKey) {
5741                stopEvent(event);
5742                if (currentOpen) {
5743                  indexRef.current = getMinEnabledIndex();
5744                  onNavigate(event);
5745                  if (virtual) {
5746                    floatingFocusElementRef.current?.focus();
5747                  }
5748                } else {
5749                  openOnNavigationKeyDown(event);
5750                }
5751              }
5752              return void 0;
5753            }
5754            if (isMainKey) {
5755              if (selectedIndexRef.current != null) {
5756                indexRef.current = selectedIndexRef.current;
5757              }
5758              stopEvent(event);
5759              if (!currentOpen && openOnArrowKeyDown) {
5760                openOnNavigationKeyDown(event);
5761              } else {
5762                commonOnKeyDown(event);
5763              }
5764              if (currentOpen) {
5765                onNavigate(event);
5766              }
5767            }
5768            return void 0;
5769          },
5770          onFocus(event) {
5771            if (event.target !== event.currentTarget) {
5772              return;
5773            }
5774            if (store.select("open") && !virtual) {
5775              indexRef.current = -1;
5776              onNavigate(event);
5777            }
5778          },
5779          onPointerDown: checkVirtualPointer,
5780          onPointerEnter: checkVirtualPointer,
5781          onMouseDown: checkVirtualMouse,
5782          onClick: checkVirtualMouse
5783        };
5784      }, [commonOnKeyDown, focusItemOnOpen, getMinEnabledIndex, nested, onNavigate, store, openOnArrowKeyDown, orientation, triggerOrientation, getParentOrientation, rtl, selectedIndexRef, virtual, floatingFocusElementRef]);
5785      const reference = React30.useMemo(() => {
5786        return {
5787          ...ariaActiveDescendantProp,
5788          ...trigger
5789        };
5790      }, [ariaActiveDescendantProp, trigger]);
5791      return React30.useMemo(() => enabled ? {
5792        reference,
5793        floating,
5794        item,
5795        trigger
5796      } : {}, [enabled, reference, floating, trigger, item]);
5797    }
5798  
5799    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useTypeahead.mjs
5800    var React31 = __toESM(require_react(), 1);
5801    function useTypeahead(store, props) {
5802      const {
5803        listRef,
5804        elementsRef,
5805        activeIndex,
5806        onMatch: onMatchProp,
5807        disabledIndices,
5808        onTyping: onTypingProp,
5809        enabled = true,
5810        resetMs = 750,
5811        selectedIndex = null
5812      } = props;
5813      const onTyping = useStableCallback(onTypingProp);
5814      const open2 = store.useState("open");
5815      const timeout = useTimeout();
5816      const stringRef = React31.useRef("");
5817      const prevIndexRef = React31.useRef(selectedIndex ?? activeIndex ?? -1);
5818      const matchIndexRef = React31.useRef(null);
5819      const onKeyDown = useStableCallback((event) => {
5820        function getElement(index3) {
5821          return elementsRef?.current[index3];
5822        }
5823        function isItemAvailable(index3) {
5824          const element = getElement(index3);
5825          if (element && !isElementVisible(element) || element?.matches(":disabled")) {
5826            return false;
5827          }
5828          return disabledIndices == null || !isListIndexDisabled(EMPTY_ARRAY, index3, disabledIndices);
5829        }
5830        function getMatchingIndex(list, string, startIndex2 = 0) {
5831          if (list.length === 0) {
5832            return -1;
5833          }
5834          const normalizedStartIndex = (startIndex2 % list.length + list.length) % list.length;
5835          const lowerString = string.toLowerCase();
5836          for (let offset4 = 0; offset4 < list.length; offset4 += 1) {
5837            const index3 = (normalizedStartIndex + offset4) % list.length;
5838            const text = list[index3];
5839            if (!text?.toLowerCase().startsWith(lowerString) || !isItemAvailable(index3)) {
5840              continue;
5841            }
5842            return index3;
5843          }
5844          return -1;
5845        }
5846        const listContent = listRef.current;
5847        if (stringRef.current.length > 0 && event.key === " ") {
5848          stopEvent(event);
5849          onTyping?.(true);
5850        }
5851        if (stringRef.current.length > 0 && stringRef.current[0] !== " ") {
5852          if (getMatchingIndex(listContent, stringRef.current) === -1 && event.key !== " ") {
5853            onTyping?.(false);
5854          }
5855        }
5856        if (listContent == null || // Character key.
5857        event.key.length !== 1 || // Modifier key.
5858        event.ctrlKey || event.metaKey || event.altKey) {
5859          return;
5860        }
5861        if (open2 && event.key !== " ") {
5862          stopEvent(event);
5863          onTyping?.(true);
5864        }
5865        const isNewSession = stringRef.current === "";
5866        if (isNewSession) {
5867          prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;
5868        }
5869        const allowRapidSuccessionOfFirstLetter = listContent.every((text, index3) => text && isItemAvailable(index3) ? text[0]?.toLowerCase() !== text[1]?.toLowerCase() : true);
5870        if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {
5871          stringRef.current = "";
5872          prevIndexRef.current = matchIndexRef.current;
5873        }
5874        stringRef.current += event.key;
5875        timeout.start(resetMs, () => {
5876          stringRef.current = "";
5877          prevIndexRef.current = matchIndexRef.current;
5878          onTyping?.(false);
5879        });
5880        const prevIndex = isNewSession ? selectedIndex ?? activeIndex ?? -1 : prevIndexRef.current;
5881        const startIndex = (prevIndex ?? 0) + 1;
5882        const index2 = getMatchingIndex(listContent, stringRef.current, startIndex);
5883        if (index2 !== -1) {
5884          onMatchProp?.(index2, event);
5885          matchIndexRef.current = index2;
5886        } else if (event.key !== " ") {
5887          stringRef.current = "";
5888          onTyping?.(false);
5889        }
5890      });
5891      const onBlur = useStableCallback((event) => {
5892        const next = event.relatedTarget;
5893        const currentDomReferenceElement = store.select("domReferenceElement");
5894        const currentFloatingElement = store.select("floatingElement");
5895        const withinComposite = contains(currentDomReferenceElement, next) || contains(currentFloatingElement, next);
5896        if (withinComposite) {
5897          return;
5898        }
5899        timeout.clear();
5900        stringRef.current = "";
5901        prevIndexRef.current = matchIndexRef.current;
5902        onTyping?.(false);
5903      });
5904      useIsoLayoutEffect(() => {
5905        if (!open2 && selectedIndex !== null) {
5906          return;
5907        }
5908        timeout.clear();
5909        matchIndexRef.current = null;
5910        if (stringRef.current !== "") {
5911          stringRef.current = "";
5912          onTyping?.(false);
5913        }
5914      }, [open2, selectedIndex, timeout, onTyping]);
5915      const sharedProps = React31.useMemo(() => ({
5916        onKeyDown,
5917        onBlur
5918      }), [onKeyDown, onBlur]);
5919      return React31.useMemo(() => enabled ? {
5920        reference: sharedProps,
5921        floating: sharedProps
5922      } : {}, [enabled, sharedProps]);
5923    }
5924  
5925    // node_modules/.store/@floating-ui/core@1.8.0-3V8aS7jJHHGcsCINjP9-5A/node_modules/@floating-ui/core/dist/floating-ui.core.mjs
5926    function computeCoordsFromPlacement(_ref, placement, rtl) {
5927      let {
5928        reference,
5929        floating
5930      } = _ref;
5931      const sideAxis = getSideAxis(placement);
5932      const alignmentAxis = getAlignmentAxis(placement);
5933      const alignLength = getAxisLength(alignmentAxis);
5934      const side = getSide(placement);
5935      const isVertical = sideAxis === "y";
5936      const commonX = reference.x + reference.width / 2 - floating.width / 2;
5937      const commonY = reference.y + reference.height / 2 - floating.height / 2;
5938      const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
5939      let coords;
5940      switch (side) {
5941        case "top":
5942          coords = {
5943            x: commonX,
5944            y: reference.y - floating.height
5945          };
5946          break;
5947        case "bottom":
5948          coords = {
5949            x: commonX,
5950            y: reference.y + reference.height
5951          };
5952          break;
5953        case "right":
5954          coords = {
5955            x: reference.x + reference.width,
5956            y: commonY
5957          };
5958          break;
5959        case "left":
5960          coords = {
5961            x: reference.x - floating.width,
5962            y: commonY
5963          };
5964          break;
5965        default:
5966          coords = {
5967            x: reference.x,
5968            y: reference.y
5969          };
5970      }
5971      const alignment = getAlignment(placement);
5972      if (alignment) {
5973        coords[alignmentAxis] += commonAlign * (alignment === "end" ? 1 : -1) * (rtl && isVertical ? -1 : 1);
5974      }
5975      return coords;
5976    }
5977    async function detectOverflow(state, options) {
5978      var _await$platform$isEle;
5979      if (options === void 0) {
5980        options = {};
5981      }
5982      const {
5983        x,
5984        y,
5985        platform: platform3,
5986        rects,
5987        elements,
5988        strategy
5989      } = state;
5990      const {
5991        boundary = "clippingAncestors",
5992        rootBoundary = "viewport",
5993        elementContext = "floating",
5994        altBoundary = false,
5995        padding = 0
5996      } = evaluate(options, state);
5997      const paddingObject = getPaddingObject(padding);
5998      const altContext = elementContext === "floating" ? "reference" : "floating";
5999      const element = elements[altBoundary ? altContext : elementContext];
6000      const clippingClientRect = rectToClientRect(await platform3.getClippingRect({
6001        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)),
6002        boundary,
6003        rootBoundary,
6004        strategy
6005      }));
6006      const rect = elementContext === "floating" ? {
6007        x,
6008        y,
6009        width: rects.floating.width,
6010        height: rects.floating.height
6011      } : rects.reference;
6012      const offsetParent = await (platform3.getOffsetParent == null ? void 0 : platform3.getOffsetParent(elements.floating));
6013      const offsetScale = await (platform3.isElement == null ? void 0 : platform3.isElement(offsetParent)) && await (platform3.getScale == null ? void 0 : platform3.getScale(offsetParent)) || {
6014        x: 1,
6015        y: 1
6016      };
6017      const elementClientRect = rectToClientRect(platform3.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform3.convertOffsetParentRelativeRectToViewportRelativeRect({
6018        elements,
6019        rect,
6020        offsetParent,
6021        strategy
6022      }) : rect);
6023      return {
6024        top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
6025        bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
6026        left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
6027        right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
6028      };
6029    }
6030    var MAX_RESET_COUNT = 50;
6031    var computePosition = async (reference, floating, config) => {
6032      const {
6033        placement = "bottom",
6034        strategy = "absolute",
6035        middleware = [],
6036        platform: platform3
6037      } = config;
6038      const platformWithDetectOverflow = platform3.detectOverflow ? platform3 : {
6039        ...platform3,
6040        detectOverflow
6041      };
6042      const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(floating));
6043      let rects = await platform3.getElementRects({
6044        reference,
6045        floating,
6046        strategy
6047      });
6048      let {
6049        x,
6050        y
6051      } = computeCoordsFromPlacement(rects, placement, rtl);
6052      let statefulPlacement = placement;
6053      let resetCount = 0;
6054      const middlewareData = {};
6055      for (let i = 0; i < middleware.length; i++) {
6056        const currentMiddleware = middleware[i];
6057        if (!currentMiddleware) {
6058          continue;
6059        }
6060        const {
6061          name: name3,
6062          fn
6063        } = currentMiddleware;
6064        const {
6065          x: nextX,
6066          y: nextY,
6067          data,
6068          reset
6069        } = await fn({
6070          x,
6071          y,
6072          initialPlacement: placement,
6073          placement: statefulPlacement,
6074          strategy,
6075          middlewareData,
6076          rects,
6077          platform: platformWithDetectOverflow,
6078          elements: {
6079            reference,
6080            floating
6081          }
6082        });
6083        x = nextX != null ? nextX : x;
6084        y = nextY != null ? nextY : y;
6085        middlewareData[name3] = {
6086          ...middlewareData[name3],
6087          ...data
6088        };
6089        if (reset && resetCount < MAX_RESET_COUNT) {
6090          resetCount++;
6091          if (typeof reset === "object") {
6092            if (reset.placement) {
6093              statefulPlacement = reset.placement;
6094            }
6095            if (reset.rects) {
6096              rects = reset.rects === true ? await platform3.getElementRects({
6097                reference,
6098                floating,
6099                strategy
6100              }) : reset.rects;
6101            }
6102            ({
6103              x,
6104              y
6105            } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
6106          }
6107          i = -1;
6108        }
6109      }
6110      return {
6111        x,
6112        y,
6113        placement: statefulPlacement,
6114        strategy,
6115        middlewareData
6116      };
6117    };
6118    var flip = function(options) {
6119      if (options === void 0) {
6120        options = {};
6121      }
6122      return {
6123        name: "flip",
6124        options,
6125        async fn(state) {
6126          var _middlewareData$arrow, _middlewareData$flip;
6127          const {
6128            placement,
6129            middlewareData,
6130            rects,
6131            initialPlacement,
6132            platform: platform3,
6133            elements
6134          } = state;
6135          const {
6136            mainAxis: checkMainAxis = true,
6137            crossAxis: checkCrossAxis = true,
6138            fallbackPlacements: specifiedFallbackPlacements,
6139            fallbackStrategy = "bestFit",
6140            fallbackAxisSideDirection = "none",
6141            flipAlignment = true,
6142            ...detectOverflowOptions
6143          } = evaluate(options, state);
6144          if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
6145            return {};
6146          }
6147          const side = getSide(placement);
6148          const initialSideAxis = getSideAxis(initialPlacement);
6149          const isBasePlacement = getSide(initialPlacement) === initialPlacement;
6150          const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating));
6151          const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
6152          const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none";
6153          if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
6154            fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
6155          }
6156          const placements2 = [initialPlacement, ...fallbackPlacements];
6157          const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
6158          const overflows = [];
6159          let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
6160          if (checkMainAxis) {
6161            overflows.push(overflow[side]);
6162          }
6163          if (checkCrossAxis) {
6164            const sides2 = getAlignmentSides(placement, rects, rtl);
6165            overflows.push(overflow[sides2[0]], overflow[sides2[1]]);
6166          }
6167          overflowsData = [...overflowsData, {
6168            placement,
6169            overflows
6170          }];
6171          if (!overflows.every((side2) => side2 <= 0)) {
6172            var _middlewareData$flip2, _overflowsData$filter;
6173            const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
6174            const nextPlacement = placements2[nextIndex];
6175            if (nextPlacement) {
6176              const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false;
6177              if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis
6178              // overflows the main axis.
6179              overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
6180                return {
6181                  data: {
6182                    index: nextIndex,
6183                    overflows: overflowsData
6184                  },
6185                  reset: {
6186                    placement: nextPlacement
6187                  }
6188                };
6189              }
6190            }
6191            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;
6192            if (!resetPlacement) {
6193              switch (fallbackStrategy) {
6194                case "bestFit": {
6195                  var _overflowsData$filter2;
6196                  const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {
6197                    if (hasFallbackAxisSideDirection) {
6198                      const currentSideAxis = getSideAxis(d.placement);
6199                      return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal
6200                      // reading directions favoring greater width.
6201                      currentSideAxis === "y";
6202                    }
6203                    return true;
6204                  }).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];
6205                  if (placement2) {
6206                    resetPlacement = placement2;
6207                  }
6208                  break;
6209                }
6210                case "initialPlacement":
6211                  resetPlacement = initialPlacement;
6212                  break;
6213              }
6214            }
6215            if (placement !== resetPlacement) {
6216              return {
6217                reset: {
6218                  placement: resetPlacement
6219                }
6220              };
6221            }
6222          }
6223          return {};
6224        }
6225      };
6226    };
6227    var originSides = /* @__PURE__ */ new Set(["left", "top"]);
6228    async function convertValueToCoords(state, options) {
6229      const {
6230        placement,
6231        platform: platform3,
6232        elements
6233      } = state;
6234      const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating));
6235      const side = getSide(placement);
6236      const alignment = getAlignment(placement);
6237      const isVertical = getSideAxis(placement) === "y";
6238      const mainAxisMulti = originSides.has(side) ? -1 : 1;
6239      const crossAxisMulti = rtl && isVertical ? -1 : 1;
6240      const rawValue = evaluate(options, state);
6241      let {
6242        mainAxis,
6243        crossAxis,
6244        alignmentAxis
6245      } = typeof rawValue === "number" ? {
6246        mainAxis: rawValue,
6247        crossAxis: 0,
6248        alignmentAxis: null
6249      } : {
6250        mainAxis: rawValue.mainAxis || 0,
6251        crossAxis: rawValue.crossAxis || 0,
6252        alignmentAxis: rawValue.alignmentAxis
6253      };
6254      if (alignment && typeof alignmentAxis === "number") {
6255        crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis;
6256      }
6257      return isVertical ? {
6258        x: crossAxis * crossAxisMulti,
6259        y: mainAxis * mainAxisMulti
6260      } : {
6261        x: mainAxis * mainAxisMulti,
6262        y: crossAxis * crossAxisMulti
6263      };
6264    }
6265    var offset = function(options) {
6266      if (options === void 0) {
6267        options = 0;
6268      }
6269      return {
6270        name: "offset",
6271        options,
6272        async fn(state) {
6273          var _middlewareData$offse, _middlewareData$arrow;
6274          const {
6275            x,
6276            y,
6277            placement,
6278            middlewareData
6279          } = state;
6280          const diffCoords = await convertValueToCoords(state, options);
6281          if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
6282            return {};
6283          }
6284          return {
6285            x: x + diffCoords.x,
6286            y: y + diffCoords.y,
6287            data: {
6288              ...diffCoords,
6289              placement
6290            }
6291          };
6292        }
6293      };
6294    };
6295    var shift = function(options) {
6296      if (options === void 0) {
6297        options = {};
6298      }
6299      return {
6300        name: "shift",
6301        options,
6302        async fn(state) {
6303          const {
6304            x,
6305            y,
6306            placement,
6307            platform: platform3
6308          } = state;
6309          const {
6310            mainAxis: checkMainAxis = true,
6311            crossAxis: checkCrossAxis = false,
6312            limiter = {
6313              fn: (_ref) => {
6314                let {
6315                  x: x2,
6316                  y: y2
6317                } = _ref;
6318                return {
6319                  x: x2,
6320                  y: y2
6321                };
6322              }
6323            },
6324            ...detectOverflowOptions
6325          } = evaluate(options, state);
6326          const coords = {
6327            x,
6328            y
6329          };
6330          const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
6331          const crossAxis = getSideAxis(placement);
6332          const mainAxis = getOppositeAxis(crossAxis);
6333          let mainAxisCoord = coords[mainAxis];
6334          let crossAxisCoord = coords[crossAxis];
6335          const clampCoord = (axis, coord) => clamp(coord + overflow[axis === "y" ? "top" : "left"], coord, coord - overflow[axis === "y" ? "bottom" : "right"]);
6336          if (checkMainAxis) {
6337            mainAxisCoord = clampCoord(mainAxis, mainAxisCoord);
6338          }
6339          if (checkCrossAxis) {
6340            crossAxisCoord = clampCoord(crossAxis, crossAxisCoord);
6341          }
6342          const limitedCoords = limiter.fn({
6343            ...state,
6344            [mainAxis]: mainAxisCoord,
6345            [crossAxis]: crossAxisCoord
6346          });
6347          return {
6348            ...limitedCoords,
6349            data: {
6350              x: limitedCoords.x - x,
6351              y: limitedCoords.y - y,
6352              enabled: {
6353                [mainAxis]: checkMainAxis,
6354                [crossAxis]: checkCrossAxis
6355              }
6356            }
6357          };
6358        }
6359      };
6360    };
6361    var limitShift = function(options) {
6362      if (options === void 0) {
6363        options = {};
6364      }
6365      return {
6366        options,
6367        fn(state) {
6368          var _rawOffset$mainAxis, _rawOffset$crossAxis;
6369          const {
6370            x,
6371            y,
6372            placement,
6373            rects,
6374            middlewareData
6375          } = state;
6376          const {
6377            offset: offset4 = 0,
6378            mainAxis: checkMainAxis = true,
6379            crossAxis: checkCrossAxis = true
6380          } = evaluate(options, state);
6381          const coords = {
6382            x,
6383            y
6384          };
6385          const crossAxis = getSideAxis(placement);
6386          const mainAxis = getOppositeAxis(crossAxis);
6387          let mainAxisCoord = coords[mainAxis];
6388          let crossAxisCoord = coords[crossAxis];
6389          const rawOffset = evaluate(offset4, state);
6390          const computedOffset = typeof rawOffset === "number" ? {
6391            mainAxis: rawOffset,
6392            crossAxis: 0
6393          } : {
6394            mainAxis: (_rawOffset$mainAxis = rawOffset.mainAxis) != null ? _rawOffset$mainAxis : 0,
6395            crossAxis: (_rawOffset$crossAxis = rawOffset.crossAxis) != null ? _rawOffset$crossAxis : 0
6396          };
6397          if (checkMainAxis) {
6398            const len = mainAxis === "y" ? "height" : "width";
6399            const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;
6400            const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;
6401            if (mainAxisCoord < limitMin) {
6402              mainAxisCoord = limitMin;
6403            } else if (mainAxisCoord > limitMax) {
6404              mainAxisCoord = limitMax;
6405            }
6406          }
6407          if (checkCrossAxis) {
6408            var _middlewareData$offse, _middlewareData$offse2;
6409            const len = mainAxis === "y" ? "width" : "height";
6410            const isOriginSide = originSides.has(getSide(placement));
6411            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);
6412            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);
6413            if (crossAxisCoord < limitMin) {
6414              crossAxisCoord = limitMin;
6415            } else if (crossAxisCoord > limitMax) {
6416              crossAxisCoord = limitMax;
6417            }
6418          }
6419          return {
6420            [mainAxis]: mainAxisCoord,
6421            [crossAxis]: crossAxisCoord
6422          };
6423        }
6424      };
6425    };
6426    var size = function(options) {
6427      if (options === void 0) {
6428        options = {};
6429      }
6430      return {
6431        name: "size",
6432        options,
6433        async fn(state) {
6434          const {
6435            placement,
6436            rects,
6437            platform: platform3,
6438            elements
6439          } = state;
6440          const {
6441            apply = () => {
6442            },
6443            ...detectOverflowOptions
6444          } = evaluate(options, state);
6445          const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
6446          const side = getSide(placement);
6447          const alignment = getAlignment(placement);
6448          const isYAxis = getSideAxis(placement) === "y";
6449          const {
6450            width,
6451            height
6452          } = rects.floating;
6453          let heightSide;
6454          let widthSide;
6455          if (side === "top" || side === "bottom") {
6456            heightSide = side;
6457            widthSide = alignment === (await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating)) ? "start" : "end") ? "left" : "right";
6458          } else {
6459            widthSide = side;
6460            heightSide = alignment === "end" ? "top" : "bottom";
6461          }
6462          const maximumClippingHeight = height - overflow.top - overflow.bottom;
6463          const maximumClippingWidth = width - overflow.left - overflow.right;
6464          const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
6465          const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
6466          const shiftData = state.middlewareData.shift;
6467          const noShift = !shiftData;
6468          let availableHeight2 = overflowAvailableHeight;
6469          let availableWidth2 = overflowAvailableWidth;
6470          if (shiftData != null && shiftData.enabled.x) {
6471            availableWidth2 = maximumClippingWidth;
6472          }
6473          if (shiftData != null && shiftData.enabled.y) {
6474            availableHeight2 = maximumClippingHeight;
6475          }
6476          if (noShift && !alignment) {
6477            if (isYAxis) {
6478              availableWidth2 = width - 2 * max(overflow.left, overflow.right);
6479            } else {
6480              availableHeight2 = height - 2 * max(overflow.top, overflow.bottom);
6481            }
6482          }
6483          await apply({
6484            ...state,
6485            availableWidth: availableWidth2,
6486            availableHeight: availableHeight2
6487          });
6488          const nextDimensions = await platform3.getDimensions(elements.floating);
6489          if (width !== nextDimensions.width || height !== nextDimensions.height) {
6490            return {
6491              reset: {
6492                rects: true
6493              }
6494            };
6495          }
6496          return {};
6497        }
6498      };
6499    };
6500  
6501    // node_modules/.store/@floating-ui/dom@1.8.0-vHXcr4FgWneV0cgwFw-d7A/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
6502    function getCssDimensions(element) {
6503      const css = getComputedStyle2(element);
6504      let width = parseFloat(css.width) || 0;
6505      let height = parseFloat(css.height) || 0;
6506      const hasOffset = isHTMLElement(element);
6507      const offsetWidth = hasOffset ? element.offsetWidth : width;
6508      const offsetHeight = hasOffset ? element.offsetHeight : height;
6509      const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
6510      if (shouldFallback) {
6511        width = offsetWidth;
6512        height = offsetHeight;
6513      }
6514      return {
6515        width,
6516        height,
6517        $: shouldFallback
6518      };
6519    }
6520    function unwrapElement(element) {
6521      return !isElement(element) ? element.contextElement : element;
6522    }
6523    function getScale(element) {
6524      const domElement = unwrapElement(element);
6525      if (!isHTMLElement(domElement)) {
6526        return createCoords(1);
6527      }
6528      const rect = domElement.getBoundingClientRect();
6529      const {
6530        width,
6531        height,
6532        $
6533      } = getCssDimensions(domElement);
6534      let x = ($ ? round(rect.width) : rect.width) / width;
6535      let y = ($ ? round(rect.height) : rect.height) / height;
6536      if (!x || !Number.isFinite(x)) {
6537        x = 1;
6538      }
6539      if (!y || !Number.isFinite(y)) {
6540        y = 1;
6541      }
6542      return {
6543        x,
6544        y
6545      };
6546    }
6547    var noOffsets = /* @__PURE__ */ createCoords(0);
6548    function getVisualOffsets(element) {
6549      const win = getWindow(element);
6550      if (!isWebKit() || !win.visualViewport) {
6551        return noOffsets;
6552      }
6553      return {
6554        x: win.visualViewport.offsetLeft,
6555        y: win.visualViewport.offsetTop
6556      };
6557    }
6558    function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
6559      if (isFixed === void 0) {
6560        isFixed = false;
6561      }
6562      return !!floatingOffsetParent && isFixed && floatingOffsetParent === getWindow(element);
6563    }
6564    function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
6565      if (includeScale === void 0) {
6566        includeScale = false;
6567      }
6568      if (isFixedStrategy === void 0) {
6569        isFixedStrategy = false;
6570      }
6571      const clientRect = element.getBoundingClientRect();
6572      const domElement = unwrapElement(element);
6573      let scale = createCoords(1);
6574      if (includeScale) {
6575        if (offsetParent) {
6576          if (isElement(offsetParent)) {
6577            scale = getScale(offsetParent);
6578          }
6579        } else {
6580          scale = getScale(element);
6581        }
6582      }
6583      const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
6584      let x = (clientRect.left + visualOffsets.x) / scale.x;
6585      let y = (clientRect.top + visualOffsets.y) / scale.y;
6586      let width = clientRect.width / scale.x;
6587      let height = clientRect.height / scale.y;
6588      if (domElement && offsetParent) {
6589        const win = getWindow(domElement);
6590        const offsetWin = isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
6591        let currentWin = win;
6592        let currentIFrame = getFrameElement(currentWin);
6593        while (currentIFrame && offsetWin !== currentWin) {
6594          const iframeScale = getScale(currentIFrame);
6595          const iframeRect = currentIFrame.getBoundingClientRect();
6596          const css = getComputedStyle2(currentIFrame);
6597          const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
6598          const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
6599          x *= iframeScale.x;
6600          y *= iframeScale.y;
6601          width *= iframeScale.x;
6602          height *= iframeScale.y;
6603          x += left;
6604          y += top;
6605          currentWin = getWindow(currentIFrame);
6606          currentIFrame = getFrameElement(currentWin);
6607        }
6608      }
6609      return rectToClientRect({
6610        width,
6611        height,
6612        x,
6613        y
6614      });
6615    }
6616    function getWindowScrollBarX(element, rect) {
6617      const leftScroll = getNodeScroll(element).scrollLeft;
6618      if (!rect) {
6619        return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
6620      }
6621      return rect.left + leftScroll;
6622    }
6623    function getHTMLOffset(documentElement, scroll) {
6624      const htmlRect = documentElement.getBoundingClientRect();
6625      const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
6626      const y = htmlRect.top + scroll.scrollTop;
6627      return {
6628        x,
6629        y
6630      };
6631    }
6632    function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
6633      let {
6634        elements,
6635        rect,
6636        offsetParent,
6637        strategy
6638      } = _ref;
6639      const isFixed = strategy === "fixed";
6640      const documentElement = getDocumentElement(offsetParent);
6641      const topLayer = elements ? isTopLayer(elements.floating) : false;
6642      if (offsetParent === documentElement || topLayer && isFixed) {
6643        return rect;
6644      }
6645      let scroll = {
6646        scrollLeft: 0,
6647        scrollTop: 0
6648      };
6649      let scale = createCoords(1);
6650      const offsets = createCoords(0);
6651      const isOffsetParentAnElement = isHTMLElement(offsetParent);
6652      if (isOffsetParentAnElement || !isFixed) {
6653        if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
6654          scroll = getNodeScroll(offsetParent);
6655        }
6656        if (isOffsetParentAnElement) {
6657          const offsetRect = getBoundingClientRect(offsetParent);
6658          scale = getScale(offsetParent);
6659          offsets.x = offsetRect.x + offsetParent.clientLeft;
6660          offsets.y = offsetRect.y + offsetParent.clientTop;
6661        }
6662      }
6663      const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
6664      return {
6665        width: rect.width * scale.x,
6666        height: rect.height * scale.y,
6667        x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
6668        y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
6669      };
6670    }
6671    function getClientRects(element) {
6672      return element.getClientRects ? Array.from(element.getClientRects()) : [];
6673    }
6674    function getDocumentRect(html) {
6675      const scroll = getNodeScroll(html);
6676      const body = html.ownerDocument.body;
6677      const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
6678      const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
6679      let x = -scroll.scrollLeft + getWindowScrollBarX(html);
6680      const y = -scroll.scrollTop;
6681      if (getComputedStyle2(body).direction === "rtl") {
6682        x += max(html.clientWidth, body.clientWidth) - width;
6683      }
6684      return {
6685        width,
6686        height,
6687        x,
6688        y
6689      };
6690    }
6691    var SCROLLBAR_MAX = 25;
6692    function getViewportRect(element, strategy, rootBoundary) {
6693      if (rootBoundary === void 0) {
6694        rootBoundary = "viewport";
6695      }
6696      const isLayoutViewport = rootBoundary === "layoutViewport";
6697      const win = getWindow(element);
6698      const html = getDocumentElement(element);
6699      const visualViewport = win.visualViewport;
6700      let width = html.clientWidth;
6701      let height = html.clientHeight;
6702      let x = 0;
6703      let y = 0;
6704      if (visualViewport) {
6705        const layoutRelativeClientCoords = !isWebKit() || strategy === "fixed";
6706        if (isLayoutViewport) {
6707          if (!layoutRelativeClientCoords) {
6708            x = -visualViewport.offsetLeft;
6709            y = -visualViewport.offsetTop;
6710          }
6711        } else {
6712          width = visualViewport.width;
6713          height = visualViewport.height;
6714          if (layoutRelativeClientCoords) {
6715            x = visualViewport.offsetLeft;
6716            y = visualViewport.offsetTop;
6717          }
6718        }
6719      }
6720      const windowScrollbarX = getWindowScrollBarX(html);
6721      if (windowScrollbarX <= 0) {
6722        const doc = html.ownerDocument;
6723        const body = doc.body;
6724        const bodyStyles = getComputedStyle(body);
6725        const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
6726        const reservedWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
6727        const gutter = getComputedStyle(html).scrollbarGutter === "stable both-edges" ? reservedWidth / 2 : reservedWidth;
6728        if (gutter <= SCROLLBAR_MAX) {
6729          width -= gutter;
6730        }
6731      }
6732      return {
6733        width,
6734        height,
6735        x,
6736        y
6737      };
6738    }
6739    function getInnerBoundingClientRect(element, strategy) {
6740      const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
6741      const top = clientRect.top + element.clientTop;
6742      const left = clientRect.left + element.clientLeft;
6743      const scale = getScale(element);
6744      const width = element.clientWidth * scale.x;
6745      const height = element.clientHeight * scale.y;
6746      const x = left * scale.x;
6747      const y = top * scale.y;
6748      return {
6749        width,
6750        height,
6751        x,
6752        y
6753      };
6754    }
6755    function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
6756      let rect;
6757      if (clippingAncestor === "viewport" || clippingAncestor === "layoutViewport") {
6758        rect = getViewportRect(element, strategy, clippingAncestor);
6759      } else if (clippingAncestor === "document") {
6760        rect = getDocumentRect(getDocumentElement(element));
6761      } else if (isElement(clippingAncestor)) {
6762        rect = getInnerBoundingClientRect(clippingAncestor, strategy);
6763      } else {
6764        const visualOffsets = getVisualOffsets(element);
6765        rect = {
6766          x: clippingAncestor.x - visualOffsets.x,
6767          y: clippingAncestor.y - visualOffsets.y,
6768          width: clippingAncestor.width,
6769          height: clippingAncestor.height
6770        };
6771      }
6772      return rectToClientRect(rect);
6773    }
6774    function getClippingElementAncestors(element, cache) {
6775      const cachedResult = cache.get(element);
6776      if (cachedResult) {
6777        return cachedResult;
6778      }
6779      let result = getOverflowAncestors(element, [], false).filter((el2) => isElement(el2) && getNodeName(el2) !== "body");
6780      let lastKeptComputedStyle = null;
6781      const elementIsFixed = getComputedStyle2(element).position === "fixed";
6782      let currentNode = elementIsFixed ? getParentNode(element) : element;
6783      while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
6784        const computedStyle = getComputedStyle2(currentNode);
6785        const currentNodeIsContaining = isContainingBlock(currentNode);
6786        const lastPosition = lastKeptComputedStyle ? lastKeptComputedStyle.position : elementIsFixed ? "fixed" : "";
6787        const shouldDropCurrentNode = !currentNodeIsContaining && (lastPosition === "fixed" || lastPosition === "absolute" && computedStyle.position === "static");
6788        if (shouldDropCurrentNode) {
6789          result = result.filter((ancestor) => ancestor !== currentNode);
6790        } else {
6791          lastKeptComputedStyle = computedStyle;
6792        }
6793        currentNode = getParentNode(currentNode);
6794      }
6795      cache.set(element, result);
6796      return result;
6797    }
6798    function getClippingRect(_ref) {
6799      let {
6800        element,
6801        boundary,
6802        rootBoundary,
6803        strategy
6804      } = _ref;
6805      const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
6806      const clippingAncestors = [...elementClippingAncestors, rootBoundary];
6807      const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
6808      let top = firstRect.top;
6809      let right = firstRect.right;
6810      let bottom = firstRect.bottom;
6811      let left = firstRect.left;
6812      for (let i = 1; i < clippingAncestors.length; i++) {
6813        const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
6814        top = max(rect.top, top);
6815        right = min(rect.right, right);
6816        bottom = min(rect.bottom, bottom);
6817        left = max(rect.left, left);
6818      }
6819      return {
6820        width: right - left,
6821        height: bottom - top,
6822        x: left,
6823        y: top
6824      };
6825    }
6826    function getDimensions(element) {
6827      const {
6828        width,
6829        height
6830      } = getCssDimensions(element);
6831      return {
6832        width,
6833        height
6834      };
6835    }
6836    function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
6837      const isOffsetParentAnElement = isHTMLElement(offsetParent);
6838      const documentElement = getDocumentElement(offsetParent);
6839      const isFixed = strategy === "fixed";
6840      const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
6841      let scroll = {
6842        scrollLeft: 0,
6843        scrollTop: 0
6844      };
6845      const offsets = createCoords(0);
6846      if (isOffsetParentAnElement || !isFixed) {
6847        if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
6848          scroll = getNodeScroll(offsetParent);
6849        }
6850        if (isOffsetParentAnElement) {
6851          const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
6852          offsets.x = offsetRect.x + offsetParent.clientLeft;
6853          offsets.y = offsetRect.y + offsetParent.clientTop;
6854        }
6855      }
6856      if (!isOffsetParentAnElement && documentElement) {
6857        offsets.x = getWindowScrollBarX(documentElement);
6858      }
6859      const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
6860      const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
6861      const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
6862      return {
6863        x,
6864        y,
6865        width: rect.width,
6866        height: rect.height
6867      };
6868    }
6869    function isStaticPositioned(element) {
6870      return getComputedStyle2(element).position === "static";
6871    }
6872    function getTrueOffsetParent(element, polyfill) {
6873      if (!isHTMLElement(element) || getComputedStyle2(element).position === "fixed") {
6874        return null;
6875      }
6876      if (polyfill) {
6877        return polyfill(element);
6878      }
6879      let rawOffsetParent = element.offsetParent;
6880      if (getDocumentElement(element) === rawOffsetParent) {
6881        rawOffsetParent = rawOffsetParent.ownerDocument.body;
6882      }
6883      return rawOffsetParent;
6884    }
6885    function getOffsetParent(element, polyfill) {
6886      const win = getWindow(element);
6887      if (isTopLayer(element)) {
6888        return win;
6889      }
6890      if (!isHTMLElement(element)) {
6891        let svgOffsetParent = getParentNode(element);
6892        while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
6893          if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
6894            return svgOffsetParent;
6895          }
6896          svgOffsetParent = getParentNode(svgOffsetParent);
6897        }
6898        return win;
6899      }
6900      let offsetParent = getTrueOffsetParent(element, polyfill);
6901      while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
6902        offsetParent = getTrueOffsetParent(offsetParent, polyfill);
6903      }
6904      if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
6905        return win;
6906      }
6907      return offsetParent || getContainingBlock(element) || win;
6908    }
6909    var getElementRects = async function(data) {
6910      const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
6911      const getDimensionsFn = this.getDimensions;
6912      const floatingDimensions = await getDimensionsFn(data.floating);
6913      return {
6914        reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
6915        floating: {
6916          x: 0,
6917          y: 0,
6918          width: floatingDimensions.width,
6919          height: floatingDimensions.height
6920        }
6921      };
6922    };
6923    function isRTL(element) {
6924      return getComputedStyle2(element).direction === "rtl";
6925    }
6926    var platform2 = {
6927      convertOffsetParentRelativeRectToViewportRelativeRect,
6928      getDocumentElement,
6929      getClippingRect,
6930      getOffsetParent,
6931      getElementRects,
6932      getClientRects,
6933      getDimensions,
6934      getScale,
6935      isElement,
6936      isRTL
6937    };
6938    function rectsAreEqual(a, b) {
6939      return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
6940    }
6941    function observeMove(element, onMove, ancestorResize) {
6942      let io = null;
6943      let timeoutId;
6944      const root = getDocumentElement(element);
6945      function cleanup() {
6946        var _io;
6947        clearTimeout(timeoutId);
6948        (_io = io) == null || _io.disconnect();
6949        io = null;
6950      }
6951      function refresh(skip, threshold) {
6952        if (skip === void 0) {
6953          skip = false;
6954        }
6955        if (threshold === void 0) {
6956          threshold = 1;
6957        }
6958        cleanup();
6959        const elementRectForRootMargin = element.getBoundingClientRect();
6960        const {
6961          left,
6962          top,
6963          width,
6964          height
6965        } = elementRectForRootMargin;
6966        if (!skip) {
6967          onMove();
6968        }
6969        if (!width || !height) {
6970          return;
6971        }
6972        const insetTop = floor(top);
6973        const insetRight = floor(root.clientWidth - (left + width));
6974        const insetBottom = floor(root.clientHeight - (top + height));
6975        const insetLeft = floor(left);
6976        const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
6977        const options = {
6978          rootMargin,
6979          threshold: max(0, min(1, threshold)) || 1
6980        };
6981        let isFirstUpdate = true;
6982        function handleObserve(entries) {
6983          const ratio = entries[0].intersectionRatio;
6984          if (!rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
6985            return refresh();
6986          }
6987          if (ratio !== threshold) {
6988            if (!isFirstUpdate) {
6989              return refresh();
6990            }
6991            if (!ratio) {
6992              timeoutId = setTimeout(() => {
6993                refresh(false, 1e-7);
6994              }, 1e3);
6995            } else {
6996              refresh(false, ratio);
6997            }
6998          }
6999          isFirstUpdate = false;
7000        }
7001        try {
7002          io = new IntersectionObserver(handleObserve, {
7003            ...options,
7004            // Handle <iframe>s
7005            root: root.ownerDocument
7006          });
7007        } catch (_e) {
7008          io = new IntersectionObserver(handleObserve, options);
7009        }
7010        io.observe(element);
7011      }
7012      const win = getWindow(element);
7013      const handleResize = () => refresh(ancestorResize);
7014      win.addEventListener("resize", handleResize);
7015      refresh(true);
7016      return () => {
7017        win.removeEventListener("resize", handleResize);
7018        cleanup();
7019      };
7020    }
7021    function autoUpdate(reference, floating, update2, options) {
7022      if (options === void 0) {
7023        options = {};
7024      }
7025      const {
7026        ancestorScroll = true,
7027        ancestorResize = true,
7028        elementResize = typeof ResizeObserver === "function",
7029        layoutShift = typeof IntersectionObserver === "function",
7030        animationFrame = false
7031      } = options;
7032      const referenceEl = unwrapElement(reference);
7033      const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];
7034      ancestors.forEach((ancestor) => {
7035        ancestorScroll && ancestor.addEventListener("scroll", update2);
7036        ancestorResize && ancestor.addEventListener("resize", update2);
7037      });
7038      const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update2, ancestorResize) : null;
7039      let reobserveFrame = -1;
7040      let resizeObserver = null;
7041      if (elementResize) {
7042        resizeObserver = new ResizeObserver((_ref) => {
7043          let [firstEntry] = _ref;
7044          if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
7045            resizeObserver.unobserve(floating);
7046            cancelAnimationFrame(reobserveFrame);
7047            reobserveFrame = requestAnimationFrame(() => {
7048              var _resizeObserver;
7049              (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
7050            });
7051          }
7052          update2();
7053        });
7054        if (referenceEl && !animationFrame) {
7055          resizeObserver.observe(referenceEl);
7056        }
7057        if (floating) {
7058          resizeObserver.observe(floating);
7059        }
7060      }
7061      let frameId;
7062      let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
7063      if (animationFrame) {
7064        frameLoop();
7065      }
7066      function frameLoop() {
7067        const nextRefRect = getBoundingClientRect(reference);
7068        if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
7069          update2();
7070        }
7071        prevRefRect = nextRefRect;
7072        frameId = requestAnimationFrame(frameLoop);
7073      }
7074      update2();
7075      return () => {
7076        var _resizeObserver2;
7077        ancestors.forEach((ancestor) => {
7078          ancestorScroll && ancestor.removeEventListener("scroll", update2);
7079          ancestorResize && ancestor.removeEventListener("resize", update2);
7080        });
7081        cleanupIo == null || cleanupIo();
7082        (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
7083        resizeObserver = null;
7084        if (animationFrame) {
7085          cancelAnimationFrame(frameId);
7086        }
7087      };
7088    }
7089    var offset2 = offset;
7090    var shift2 = shift;
7091    var flip2 = flip;
7092    var size2 = size;
7093    var limitShift2 = limitShift;
7094    var computePosition2 = (reference, floating, options) => {
7095      const cache = /* @__PURE__ */ new Map();
7096      const mergedOptions = options != null ? options : {};
7097      const platformWithCache = {
7098        ...platform2,
7099        ...mergedOptions.platform,
7100        _c: cache
7101      };
7102      return computePosition(reference, floating, {
7103        ...mergedOptions,
7104        platform: platformWithCache
7105      });
7106    };
7107  
7108    // node_modules/.store/@floating-ui/react-dom@2.1.9-AxWcAwqlMfOrAFOinFKSVg/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs
7109    var React32 = __toESM(require_react(), 1);
7110    var import_react2 = __toESM(require_react(), 1);
7111    var ReactDOM4 = __toESM(require_react_dom(), 1);
7112    var isClient = typeof document !== "undefined";
7113    var noop2 = function noop3() {
7114    };
7115    var index = isClient ? import_react2.useLayoutEffect : noop2;
7116    function deepEqual(a, b) {
7117      if (a === b) {
7118        return true;
7119      }
7120      if (typeof a !== typeof b) {
7121        return false;
7122      }
7123      if (typeof a === "function" && a.toString() === b.toString()) {
7124        return true;
7125      }
7126      let length;
7127      let i;
7128      let keys;
7129      if (a && b && typeof a === "object") {
7130        if (Array.isArray(a)) {
7131          length = a.length;
7132          if (length !== b.length) return false;
7133          for (i = length; i-- !== 0; ) {
7134            if (!deepEqual(a[i], b[i])) {
7135              return false;
7136            }
7137          }
7138          return true;
7139        }
7140        keys = Object.keys(a);
7141        length = keys.length;
7142        if (length !== Object.keys(b).length) {
7143          return false;
7144        }
7145        for (i = length; i-- !== 0; ) {
7146          if (!{}.hasOwnProperty.call(b, keys[i])) {
7147            return false;
7148          }
7149        }
7150        for (i = length; i-- !== 0; ) {
7151          const key = keys[i];
7152          if (key === "_owner" && a.$$typeof) {
7153            continue;
7154          }
7155          if (!deepEqual(a[key], b[key])) {
7156            return false;
7157          }
7158        }
7159        return true;
7160      }
7161      return a !== a && b !== b;
7162    }
7163    function getDPR(element) {
7164      if (typeof window === "undefined") {
7165        return 1;
7166      }
7167      const win = element.ownerDocument.defaultView || window;
7168      return win.devicePixelRatio || 1;
7169    }
7170    function roundByDPR(element, value) {
7171      const dpr = getDPR(element);
7172      return Math.round(value * dpr) / dpr;
7173    }
7174    function useLatestRef(value) {
7175      const ref = React32.useRef(value);
7176      index(() => {
7177        ref.current = value;
7178      });
7179      return ref;
7180    }
7181    function useFloating(options) {
7182      if (options === void 0) {
7183        options = {};
7184      }
7185      const {
7186        placement = "bottom",
7187        strategy = "absolute",
7188        middleware = [],
7189        platform: platform3,
7190        elements: {
7191          reference: externalReference,
7192          floating: externalFloating
7193        } = {},
7194        transform = true,
7195        whileElementsMounted,
7196        open: open2
7197      } = options;
7198      const [data, setData] = React32.useState({
7199        x: 0,
7200        y: 0,
7201        strategy,
7202        placement,
7203        middlewareData: {},
7204        isPositioned: false
7205      });
7206      const [latestMiddleware, setLatestMiddleware] = React32.useState(middleware);
7207      if (!deepEqual(latestMiddleware, middleware)) {
7208        setLatestMiddleware(middleware);
7209      }
7210      const [_reference, _setReference] = React32.useState(null);
7211      const [_floating, _setFloating] = React32.useState(null);
7212      const setReference = React32.useCallback((node) => {
7213        if (node !== referenceRef.current) {
7214          referenceRef.current = node;
7215          _setReference(node);
7216        }
7217      }, []);
7218      const setFloating = React32.useCallback((node) => {
7219        if (node !== floatingRef.current) {
7220          floatingRef.current = node;
7221          _setFloating(node);
7222        }
7223      }, []);
7224      const referenceEl = externalReference || _reference;
7225      const floatingEl = externalFloating || _floating;
7226      const referenceRef = React32.useRef(null);
7227      const floatingRef = React32.useRef(null);
7228      const dataRef = React32.useRef(data);
7229      const hasWhileElementsMounted = whileElementsMounted != null;
7230      const whileElementsMountedRef = useLatestRef(whileElementsMounted);
7231      const platformRef = useLatestRef(platform3);
7232      const openRef = useLatestRef(open2);
7233      const update2 = React32.useCallback(() => {
7234        if (!referenceRef.current || !floatingRef.current) {
7235          return;
7236        }
7237        const config = {
7238          placement,
7239          strategy,
7240          middleware: latestMiddleware
7241        };
7242        if (platformRef.current) {
7243          config.platform = platformRef.current;
7244        }
7245        computePosition2(referenceRef.current, floatingRef.current, config).then((data2) => {
7246          const fullData = {
7247            ...data2,
7248            // The floating element's position may be recomputed while it's closed
7249            // but still mounted (such as when transitioning out). To ensure
7250            // `isPositioned` will be `false` initially on the next open, avoid
7251            // setting it to `true` when `open === false` (must be specified).
7252            isPositioned: openRef.current !== false
7253          };
7254          if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {
7255            dataRef.current = fullData;
7256            ReactDOM4.flushSync(() => {
7257              setData(fullData);
7258            });
7259          }
7260        });
7261      }, [latestMiddleware, placement, strategy, platformRef, openRef]);
7262      index(() => {
7263        if (open2 === false && dataRef.current.isPositioned) {
7264          dataRef.current.isPositioned = false;
7265          setData((data2) => ({
7266            ...data2,
7267            isPositioned: false
7268          }));
7269        }
7270      }, [open2]);
7271      const isMountedRef = React32.useRef(false);
7272      index(() => {
7273        isMountedRef.current = true;
7274        return () => {
7275          isMountedRef.current = false;
7276        };
7277      }, []);
7278      index(() => {
7279        if (referenceEl) referenceRef.current = referenceEl;
7280        if (floatingEl) floatingRef.current = floatingEl;
7281        if (referenceEl && floatingEl) {
7282          if (whileElementsMountedRef.current) {
7283            return whileElementsMountedRef.current(referenceEl, floatingEl, update2);
7284          }
7285          update2();
7286        }
7287      }, [referenceEl, floatingEl, update2, whileElementsMountedRef, hasWhileElementsMounted]);
7288      const refs = React32.useMemo(() => ({
7289        reference: referenceRef,
7290        floating: floatingRef,
7291        setReference,
7292        setFloating
7293      }), [setReference, setFloating]);
7294      const elements = React32.useMemo(() => ({
7295        reference: referenceEl,
7296        floating: floatingEl
7297      }), [referenceEl, floatingEl]);
7298      const floatingStyles = React32.useMemo(() => {
7299        const initialStyles = {
7300          position: strategy,
7301          left: 0,
7302          top: 0
7303        };
7304        if (!elements.floating) {
7305          return initialStyles;
7306        }
7307        const x = roundByDPR(elements.floating, data.x);
7308        const y = roundByDPR(elements.floating, data.y);
7309        if (transform) {
7310          return {
7311            ...initialStyles,
7312            transform: "translate(" + x + "px, " + y + "px)",
7313            ...getDPR(elements.floating) >= 1.5 && {
7314              willChange: "transform"
7315            }
7316          };
7317        }
7318        return {
7319          position: strategy,
7320          left: x,
7321          top: y
7322        };
7323      }, [strategy, transform, elements.floating, data.x, data.y]);
7324      return React32.useMemo(() => ({
7325        ...data,
7326        update: update2,
7327        refs,
7328        elements,
7329        floatingStyles
7330      }), [data, update2, refs, elements, floatingStyles]);
7331    }
7332    var offset3 = (options, deps) => {
7333      const result = offset2(options);
7334      return {
7335        name: result.name,
7336        fn: result.fn,
7337        options: [options, deps]
7338      };
7339    };
7340    var shift3 = (options, deps) => {
7341      const result = shift2(options);
7342      return {
7343        name: result.name,
7344        fn: result.fn,
7345        options: [options, deps]
7346      };
7347    };
7348    var limitShift3 = (options, deps) => {
7349      const result = limitShift2(options);
7350      return {
7351        fn: result.fn,
7352        options: [options, deps]
7353      };
7354    };
7355    var flip3 = (options, deps) => {
7356      const result = flip2(options);
7357      return {
7358        name: result.name,
7359        fn: result.fn,
7360        options: [options, deps]
7361      };
7362    };
7363    var size3 = (options, deps) => {
7364      const result = size2(options);
7365      return {
7366        name: result.name,
7367        fn: result.fn,
7368        options: [options, deps]
7369      };
7370    };
7371  
7372    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/composite.mjs
7373    var ARROW_UP2 = "ArrowUp";
7374    var ARROW_DOWN2 = "ArrowDown";
7375    var ARROW_LEFT2 = "ArrowLeft";
7376    var ARROW_RIGHT2 = "ArrowRight";
7377    var HOME = "Home";
7378    var END = "End";
7379    var COMPOSITE_KEYS = /* @__PURE__ */ new Set([ARROW_UP2, ARROW_DOWN2, ARROW_LEFT2, ARROW_RIGHT2, HOME, END]);
7380  
7381    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/inertValue.mjs
7382    function inertValue(value) {
7383      if (isReactVersionAtLeast(19)) {
7384        return value;
7385      }
7386      return value ? "true" : void 0;
7387    }
7388  
7389    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/InternalBackdrop.mjs
7390    var React33 = __toESM(require_react(), 1);
7391    var import_jsx_runtime13 = __toESM(require_jsx_runtime(), 1);
7392    var InternalBackdrop = /* @__PURE__ */ React33.forwardRef(function InternalBackdrop2(props, ref) {
7393      const {
7394        cutout,
7395        ...otherProps
7396      } = props;
7397      let clipPath;
7398      if (cutout) {
7399        const rect = cutout.getBoundingClientRect();
7400        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)`;
7401      }
7402      return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", {
7403        ref,
7404        role: "presentation",
7405        "data-base-ui-inert": "",
7406        ...otherProps,
7407        style: {
7408          position: "fixed",
7409          inset: 0,
7410          userSelect: "none",
7411          WebkitUserSelect: "none",
7412          clipPath
7413        }
7414      });
7415    });
7416    if (true) InternalBackdrop.displayName = "InternalBackdrop";
7417  
7418    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useOpenInteractionType.mjs
7419    var React36 = __toESM(require_react(), 1);
7420  
7421    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useEnhancedClickHandler.mjs
7422    var React34 = __toESM(require_react(), 1);
7423    function useEnhancedClickHandler(handler) {
7424      const lastClickInteractionTypeRef = React34.useRef("");
7425      const handlePointerDown = React34.useCallback((event) => {
7426        if (event.defaultPrevented) {
7427          return;
7428        }
7429        lastClickInteractionTypeRef.current = event.pointerType;
7430        handler(event, event.pointerType);
7431      }, [handler]);
7432      const handleClick = React34.useCallback((event) => {
7433        if (event.detail === 0) {
7434          handler(event, "keyboard");
7435          return;
7436        }
7437        if ("pointerType" in event) {
7438          handler(event, event.pointerType);
7439        } else {
7440          handler(event, lastClickInteractionTypeRef.current);
7441        }
7442        lastClickInteractionTypeRef.current = "";
7443      }, [handler]);
7444      return {
7445        onClick: handleClick,
7446        onPointerDown: handlePointerDown
7447      };
7448    }
7449  
7450    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useValueChanged.mjs
7451    var React35 = __toESM(require_react(), 1);
7452    function useValueChanged(value, onChange) {
7453      const valueRef = React35.useRef(value);
7454      const onChangeCallback = useStableCallback(onChange);
7455      useIsoLayoutEffect(() => {
7456        if (valueRef.current !== value) {
7457          onChangeCallback(valueRef.current);
7458        }
7459        valueRef.current = value;
7460      }, [value, onChangeCallback]);
7461    }
7462  
7463    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useOpenInteractionType.mjs
7464    function useOpenMethodTriggerProps(open2, setOpenMethod) {
7465      const handleTriggerClick = useStableCallback((_, interactionType) => {
7466        const isOpen = typeof open2 === "function" ? open2() : open2;
7467        if (!isOpen) {
7468          setOpenMethod(interactionType || // On iOS Safari, the hitslop around touch targets means tapping outside an element's
7469          // bounds does not fire `pointerdown` but does fire `mousedown`. The `interactionType`
7470          // will be "" in that case.
7471          (parts_exports.os.ios ? "touch" : ""));
7472        }
7473      });
7474      const {
7475        onClick,
7476        onPointerDown
7477      } = useEnhancedClickHandler(handleTriggerClick);
7478      return React36.useMemo(() => ({
7479        onClick,
7480        onPointerDown
7481      }), [onClick, onPointerDown]);
7482    }
7483    function useOpenInteractionType(open2) {
7484      const [openMethod, setOpenMethod] = React36.useState(null);
7485      const triggerProps = useOpenMethodTriggerProps(open2, setOpenMethod);
7486      useValueChanged(open2, (previousOpen) => {
7487        if (previousOpen && !open2) {
7488          setOpenMethod(null);
7489        }
7490      });
7491      return React36.useMemo(() => ({
7492        openMethod,
7493        triggerProps
7494      }), [openMethod, triggerProps]);
7495    }
7496  
7497    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useOnFirstRender.mjs
7498    var React37 = __toESM(require_react(), 1);
7499    function useOnFirstRender(fn) {
7500      const ref = React37.useRef(true);
7501      if (ref.current) {
7502        ref.current = false;
7503        fn();
7504      }
7505    }
7506  
7507    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/areArraysEqual.mjs
7508    function areArraysEqual(array1, array2, itemComparer = Object.is) {
7509      const {
7510        length
7511      } = array1;
7512      if (length !== array2.length) {
7513        return false;
7514      }
7515      for (let i = 0; i < length; i += 1) {
7516        if (!itemComparer(array1[i], array2[i])) {
7517          return false;
7518        }
7519      }
7520      return true;
7521    }
7522  
7523    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/itemEquality.mjs
7524    var defaultItemEquality = (itemValue, selectedValue) => Object.is(itemValue, selectedValue);
7525    function compareItemEquality(itemValue, selectedValue, comparer) {
7526      if (itemValue == null || selectedValue == null) {
7527        return Object.is(itemValue, selectedValue);
7528      }
7529      return comparer(itemValue, selectedValue);
7530    }
7531    function isSelectedValueDirty(currentValue, initialValue, comparer) {
7532      if (Array.isArray(currentValue) && Array.isArray(initialValue)) {
7533        return !areArraysEqual(currentValue, initialValue, (itemValue, initialItemValue) => compareItemEquality(itemValue, initialItemValue, comparer));
7534      }
7535      return currentValue !== initialValue;
7536    }
7537    function selectedValueIncludes(selectedValues, itemValue, comparer) {
7538      if (!selectedValues) {
7539        return false;
7540      }
7541      return selectedValues.some((selectedValue) => {
7542        if (selectedValue === void 0) {
7543          return false;
7544        }
7545        return compareItemEquality(itemValue, selectedValue, comparer);
7546      });
7547    }
7548    function findItemIndex(itemValues, selectedValue, comparer) {
7549      if (!itemValues) {
7550        return -1;
7551      }
7552      return itemValues.findIndex((itemValue) => {
7553        if (itemValue === void 0) {
7554          return false;
7555        }
7556        return compareItemEquality(itemValue, selectedValue, comparer);
7557      });
7558    }
7559    function createSelectionMatcher(selectedValues, comparer) {
7560      if (comparer !== defaultItemEquality) {
7561        return (itemValue) => selectedValueIncludes(selectedValues, itemValue, comparer);
7562      }
7563      const index2 = new Set(selectedValues);
7564      index2.delete(void 0);
7565      return (itemValue) => index2.has(itemValue) && (itemValue !== 0 || selectedValues.some((v) => Object.is(itemValue, v)));
7566    }
7567    function findSelectionIndex(itemValues, selectedValue, comparer, multiple) {
7568      const index2 = multiple && Array.isArray(selectedValue) ? (
7569        // Anchor to the first selected item in rendered order so the index does not depend
7570        // on the order in which the values were added to the array.
7571        itemValues.findIndex(createSelectionMatcher(selectedValue, comparer))
7572      ) : findItemIndex(itemValues, selectedValue, comparer);
7573      return index2 === -1 ? null : index2;
7574    }
7575    function resolveSelectedIndex(index2, itemValue, registry, selectedValues, comparer, currentIndex) {
7576      if (selectedValueIncludes(selectedValues, itemValue, comparer)) {
7577        return currentIndex != null && index2 > currentIndex && selectedValueIncludes(selectedValues, registry[currentIndex], comparer) ? currentIndex : index2;
7578      }
7579      return index2 === currentIndex ? findSelectionIndex(registry, selectedValues, comparer, true) : currentIndex;
7580    }
7581    function removeItem(selectedValues, itemValue, comparer) {
7582      return selectedValues.filter((selectedValue) => !compareItemEquality(itemValue, selectedValue, comparer));
7583    }
7584  
7585    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/resolveValueLabel.mjs
7586    var React38 = __toESM(require_react(), 1);
7587  
7588    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/serializeValue.mjs
7589    function serializeValue(value) {
7590      if (value == null) {
7591        return "";
7592      }
7593      if (typeof value === "string") {
7594        return value;
7595      }
7596      try {
7597        return JSON.stringify(value);
7598      } catch {
7599        return String(value);
7600      }
7601    }
7602  
7603    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/resolveValueLabel.mjs
7604    var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1);
7605    function isGroup(item) {
7606      return typeof item === "object" && item != null && Array.isArray(item.items);
7607    }
7608    function isGroupedItems(items) {
7609      return isGroup(items?.[0]);
7610    }
7611    function flattenLeafItems(items) {
7612      return isGroupedItems(items) ? items.flatMap((group) => group.items) : items;
7613    }
7614    function hasNullItemLabel(items) {
7615      if (!Array.isArray(items)) {
7616        return items != null && "null" in items;
7617      }
7618      const arrayItems = items;
7619      if (isGroupedItems(arrayItems)) {
7620        for (const group of arrayItems) {
7621          for (const item of group.items) {
7622            if (item && item.value == null && item.label != null) {
7623              return true;
7624            }
7625          }
7626        }
7627        return false;
7628      }
7629      for (const item of arrayItems) {
7630        if (item && item.value == null && item.label != null) {
7631          return true;
7632        }
7633      }
7634      return false;
7635    }
7636    function stringifyAsLabel(item, itemToStringLabel) {
7637      if (itemToStringLabel && item != null) {
7638        return itemToStringLabel(item) ?? "";
7639      }
7640      if (item && typeof item === "object") {
7641        if ("label" in item && item.label != null) {
7642          return String(item.label);
7643        }
7644        if ("value" in item) {
7645          return String(item.value);
7646        }
7647      }
7648      return serializeValue(item);
7649    }
7650    function stringifyAsValue(item, itemToStringValue) {
7651      if (itemToStringValue && item != null) {
7652        return itemToStringValue(item) ?? "";
7653      }
7654      if (item && typeof item === "object" && "value" in item && "label" in item) {
7655        return serializeValue(item.value);
7656      }
7657      return serializeValue(item);
7658    }
7659    function resolveSelectedLabel(value, items, itemToStringLabel) {
7660      function fallback() {
7661        return stringifyAsLabel(value, itemToStringLabel);
7662      }
7663      if (itemToStringLabel && value != null) {
7664        return itemToStringLabel(value);
7665      }
7666      if (value && typeof value === "object" && "label" in value && value.label != null) {
7667        return value.label;
7668      }
7669      if (items && !Array.isArray(items)) {
7670        const label = Object.hasOwn(items, value) ? items[value] : void 0;
7671        return label ?? fallback();
7672      }
7673      if (Array.isArray(items)) {
7674        const arrayItems = items;
7675        const flatItems = flattenLeafItems(arrayItems);
7676        if (value == null || typeof value !== "object") {
7677          const match = flatItems.find((item) => item.value === value);
7678          if (match && match.label != null) {
7679            return match.label;
7680          }
7681          return fallback();
7682        }
7683        if ("value" in value) {
7684          const match = flatItems.find((item) => item && item.value === value.value);
7685          if (match && match.label != null) {
7686            return match.label;
7687          }
7688        }
7689      }
7690      return fallback();
7691    }
7692    function resolveMultipleLabels(values, items, itemToStringLabel) {
7693      return values.reduce((acc, value, index2) => {
7694        if (index2 > 0) {
7695          acc.push(", ");
7696        }
7697        acc.push(/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(React38.Fragment, {
7698          children: resolveSelectedLabel(value, items, itemToStringLabel)
7699        }, index2));
7700        return acc;
7701      }, []);
7702    }
7703  
7704    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/FieldRootContext.mjs
7705    var React39 = __toESM(require_react(), 1);
7706  
7707    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/control/FieldControlDataAttributes.mjs
7708    var valid = "data-valid";
7709    var invalid = "data-invalid";
7710  
7711    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-constants/constants.mjs
7712    var DEFAULT_VALIDITY_STATE = {
7713      badInput: false,
7714      customError: false,
7715      patternMismatch: false,
7716      rangeOverflow: false,
7717      rangeUnderflow: false,
7718      stepMismatch: false,
7719      tooLong: false,
7720      tooShort: false,
7721      typeMismatch: false,
7722      valid: null,
7723      valueMissing: false
7724    };
7725    var DEFAULT_FIELD_STATE_ATTRIBUTES = {
7726      valid: null,
7727      touched: false,
7728      dirty: false,
7729      filled: false,
7730      focused: false
7731    };
7732    var DEFAULT_FIELD_ROOT_STATE = {
7733      disabled: false,
7734      ...DEFAULT_FIELD_STATE_ATTRIBUTES
7735    };
7736    var fieldValidityMapping = {
7737      valid(value) {
7738        if (value === null) {
7739          return null;
7740        }
7741        if (value) {
7742          return {
7743            [valid]: ""
7744          };
7745        }
7746        return {
7747          [invalid]: ""
7748        };
7749      }
7750    };
7751  
7752    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/FieldRootContext.mjs
7753    var DEFAULT_FIELD_ROOT_CONTEXT = {
7754      invalid: void 0,
7755      name: void 0,
7756      validityData: {
7757        state: DEFAULT_VALIDITY_STATE,
7758        errors: [],
7759        error: "",
7760        value: "",
7761        initialValue: null
7762      },
7763      setValidityData: NOOP,
7764      disabled: void 0,
7765      setTouched: NOOP,
7766      setDirty: NOOP,
7767      setFilled: NOOP,
7768      setFocused: NOOP,
7769      focusOwnerRef: {
7770        current: void 0
7771      },
7772      validationMode: "onSubmit",
7773      shouldValidateOnChange: () => false,
7774      state: DEFAULT_FIELD_ROOT_STATE,
7775      registerFieldControl: NOOP,
7776      validation: {
7777        getValidationProps: (_disabled, props = EMPTY_OBJECT) => props,
7778        inputRef: {
7779          current: null
7780        },
7781        registeredInputs: /* @__PURE__ */ new Map(),
7782        registerInput: NOOP,
7783        getInputControl: () => null,
7784        commit: async () => {
7785        },
7786        change: NOOP
7787      }
7788    };
7789    var FieldRootContext = /* @__PURE__ */ React39.createContext(DEFAULT_FIELD_ROOT_CONTEXT);
7790    if (true) FieldRootContext.displayName = "FieldRootContext";
7791    function useFieldRootContext(optional = true) {
7792      const context = React39.useContext(FieldRootContext);
7793      if (context.setValidityData === NOOP && !optional) {
7794        throw new Error(true ? "Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>." : formatErrorMessage_default(28));
7795      }
7796      return context;
7797    }
7798  
7799    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-register-control/useRegisterFieldControl.mjs
7800    function useRegisterFieldControl(controlRef, id, value, getFormValueOverride, enabled = true, name3) {
7801      const {
7802        registerFieldControl
7803      } = useFieldRootContext();
7804      const sourceRef = useRefWithInit(() => /* @__PURE__ */ Symbol());
7805      useIsoLayoutEffect(() => {
7806        const source = sourceRef.current;
7807        if (!enabled) {
7808          registerFieldControl(source, void 0);
7809          return;
7810        }
7811        const registration = {
7812          controlRef,
7813          getValue: getFormValueOverride,
7814          id,
7815          name: name3,
7816          value
7817        };
7818        registerFieldControl(source, registration);
7819      }, [controlRef, enabled, getFormValueOverride, id, name3, registerFieldControl, sourceRef, value]);
7820      useIsoLayoutEffect(() => {
7821        const source = sourceRef.current;
7822        return () => {
7823          registerFieldControl(source, void 0);
7824        };
7825      }, [registerFieldControl, sourceRef]);
7826    }
7827  
7828    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/form-context/FormContext.mjs
7829    var React40 = __toESM(require_react(), 1);
7830    var FormContext = /* @__PURE__ */ React40.createContext({
7831      elementRef: {
7832        current: null
7833      },
7834      formRef: {
7835        current: {
7836          fields: /* @__PURE__ */ new Map()
7837        }
7838      },
7839      errors: {},
7840      clearErrors: NOOP,
7841      validationMode: "onSubmit",
7842      submitCountRef: {
7843        current: 0
7844      }
7845    });
7846    if (true) FormContext.displayName = "FormContext";
7847    function useFormContext() {
7848      return React40.useContext(FormContext);
7849    }
7850  
7851    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabelableId.mjs
7852    var React42 = __toESM(require_react(), 1);
7853  
7854    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/LabelableContext.mjs
7855    var React41 = __toESM(require_react(), 1);
7856    var LabelableContext = /* @__PURE__ */ React41.createContext({
7857      controlId: void 0,
7858      registerControlId: NOOP,
7859      resetControlId: NOOP,
7860      labelId: void 0,
7861      setLabelId: NOOP,
7862      messageIds: [],
7863      setMessageIds: NOOP,
7864      getDescriptionProps: (externalProps) => externalProps
7865    });
7866    if (true) LabelableContext.displayName = "LabelableContext";
7867    function useLabelableContext() {
7868      return React41.useContext(LabelableContext);
7869    }
7870  
7871    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabelableId.mjs
7872    function useLabelableId(params = {}) {
7873      const {
7874        id,
7875        enabled = true
7876      } = params;
7877      const {
7878        controlId,
7879        registerControlId,
7880        resetControlId
7881      } = useLabelableContext();
7882      const defaultId = useBaseUiId();
7883      const controlSourceRef = useRefWithInit(() => /* @__PURE__ */ Symbol());
7884      const hasRegisteredRef = React42.useRef(false);
7885      const hadExplicitIdRef = React42.useRef(false);
7886      const unregisterControlId = useStableCallback(() => {
7887        if (!hasRegisteredRef.current || registerControlId === NOOP) {
7888          return;
7889        }
7890        hasRegisteredRef.current = false;
7891        registerControlId(controlSourceRef.current, void 0);
7892      });
7893      useIsoLayoutEffect(() => {
7894        if (!enabled || registerControlId === NOOP) {
7895          unregisterControlId();
7896          return void 0;
7897        }
7898        let nextId;
7899        if (id !== void 0) {
7900          hadExplicitIdRef.current = true;
7901          nextId = id;
7902        } else if (hadExplicitIdRef.current) {
7903          nextId = defaultId;
7904        } else {
7905          resetControlId();
7906          return void 0;
7907        }
7908        if (nextId === void 0) {
7909          unregisterControlId();
7910          return void 0;
7911        }
7912        hasRegisteredRef.current = true;
7913        registerControlId(controlSourceRef.current, nextId);
7914        return void 0;
7915      }, [id, enabled, registerControlId, resetControlId, defaultId, controlSourceRef, unregisterControlId]);
7916      useIsoLayoutEffect(() => {
7917        return unregisterControlId;
7918      }, [unregisterControlId]);
7919      return (enabled ? controlId : void 0) ?? id ?? defaultId;
7920    }
7921  
7922    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/direction-context/DirectionContext.mjs
7923    var React43 = __toESM(require_react(), 1);
7924    var DirectionContext = /* @__PURE__ */ React43.createContext(void 0);
7925    if (true) DirectionContext.displayName = "DirectionContext";
7926    function useDirection() {
7927      const context = React43.useContext(DirectionContext);
7928      return context?.direction ?? "ltr";
7929    }
7930  
7931    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/useSetFieldFocused.mjs
7932    function useSetFieldFocused(disabled2, focusTargetRef, onFocusedChange) {
7933      const {
7934        setFocused,
7935        focusOwnerRef
7936      } = useFieldRootContext();
7937      const setFieldFocused = useStableCallback((focused) => {
7938        if (focused ? !disabled2 : focusOwnerRef.current === setFieldFocused) {
7939          focusOwnerRef.current = focused && setFieldFocused;
7940          onFocusedChange?.(focused);
7941          setFocused(focused);
7942        }
7943      });
7944      useIsoLayoutEffect(() => {
7945        const el2 = focusTargetRef.current;
7946        const root = el2?.getRootNode();
7947        if (root?.activeElement === el2) {
7948          setFieldFocused(true);
7949        }
7950        return () => setFieldFocused(false);
7951      }, [disabled2, focusTargetRef, setFieldFocused]);
7952      return setFieldFocused;
7953    }
7954  
7955    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getPseudoElementBounds.mjs
7956    var BOUNDARY_OFFSET = 5;
7957    function isMouseWithinBounds(event, element) {
7958      const bounds = getPseudoElementBounds(element);
7959      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;
7960    }
7961    function getPseudoElementBounds(element) {
7962      const elementRect = element.getBoundingClientRect();
7963      const win = getWindow(element);
7964      if (parts_exports.env.jsdom) {
7965        return elementRect;
7966      }
7967      const beforeStyles = win.getComputedStyle(element, "::before");
7968      const afterStyles = win.getComputedStyle(element, "::after");
7969      const hasPseudoElements = beforeStyles.content !== "none" || afterStyles.content !== "none";
7970      if (!hasPseudoElements) {
7971        return elementRect;
7972      }
7973      const beforeWidth = parseFloat(beforeStyles.width) || 0;
7974      const beforeHeight = parseFloat(beforeStyles.height) || 0;
7975      const afterWidth = parseFloat(afterStyles.width) || 0;
7976      const afterHeight = parseFloat(afterStyles.height) || 0;
7977      const totalWidth = Math.max(elementRect.width, beforeWidth, afterWidth);
7978      const totalHeight = Math.max(elementRect.height, beforeHeight, afterHeight);
7979      const widthDiff = totalWidth - elementRect.width;
7980      const heightDiff = totalHeight - elementRect.height;
7981      return {
7982        left: elementRect.left - widthDiff / 2,
7983        right: elementRect.right + widthDiff / 2,
7984        top: elementRect.top - heightDiff / 2,
7985        bottom: elementRect.bottom + heightDiff / 2
7986      };
7987    }
7988  
7989    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveAriaLabelledBy.mjs
7990    function getDefaultLabelId(id) {
7991      return id == null ? void 0 : `$id}-label`;
7992    }
7993    function resolveAriaLabelledBy(fieldLabelId, localLabelId) {
7994      return fieldLabelId ?? localLabelId;
7995    }
7996  
7997    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnchorPositioning.mjs
7998    var React45 = __toESM(require_react(), 1);
7999  
8000    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useFloating.mjs
8001    var React44 = __toESM(require_react(), 1);
8002    function useBaseUIFloating(options) {
8003      const {
8004        nodeId,
8005        externalTree,
8006        rootContext: store
8007      } = options;
8008      const referenceElement = store.useState("referenceElement");
8009      const floatingElement = store.useState("floatingElement");
8010      const domReferenceElement = store.useState("domReferenceElement");
8011      const open2 = store.useState("open");
8012      const floatingId = store.useState("floatingId");
8013      const [positionReference, setPositionReferenceRaw] = React44.useState(null);
8014      const domReferenceRef = React44.useRef(null);
8015      const tree = useFloatingTree(externalTree);
8016      const storeElements = React44.useMemo(() => ({
8017        reference: referenceElement,
8018        floating: floatingElement,
8019        domReference: domReferenceElement
8020      }), [referenceElement, floatingElement, domReferenceElement]);
8021      const position = useFloating({
8022        ...options,
8023        elements: {
8024          ...storeElements,
8025          ...positionReference && {
8026            reference: positionReference
8027          }
8028        }
8029      });
8030      const setPositionReference = React44.useCallback((node) => {
8031        const computedPositionReference = isElement(node) ? {
8032          getBoundingClientRect: () => node.getBoundingClientRect(),
8033          getClientRects: () => node.getClientRects(),
8034          contextElement: node
8035        } : node;
8036        setPositionReferenceRaw(computedPositionReference);
8037        position.refs.setReference(computedPositionReference);
8038      }, [position.refs]);
8039      const refs = React44.useMemo(() => ({
8040        ...position.refs,
8041        setPositionReference,
8042        domReference: domReferenceRef
8043      }), [position.refs, setPositionReference]);
8044      const elements = React44.useMemo(() => ({
8045        ...position.elements,
8046        domReference: domReferenceElement
8047      }), [position.elements, domReferenceElement]);
8048      const context = React44.useMemo(() => ({
8049        ...position,
8050        dataRef: store.context.dataRef,
8051        open: open2,
8052        onOpenChange: store.setOpen,
8053        events: store.context.events,
8054        floatingId,
8055        refs,
8056        elements,
8057        nodeId,
8058        rootStore: store
8059      }), [position, refs, elements, nodeId, store, open2, floatingId]);
8060      useIsoLayoutEffect(() => {
8061        if (domReferenceElement) {
8062          domReferenceRef.current = domReferenceElement;
8063        }
8064      }, [domReferenceElement]);
8065      useIsoLayoutEffect(() => {
8066        store.context.dataRef.current.floatingContext = context;
8067        const node = tree?.nodesRef.current.find((n) => n.id === nodeId);
8068        if (node) {
8069          node.context = context;
8070        }
8071      });
8072      return React44.useMemo(() => ({
8073        ...position,
8074        context,
8075        refs,
8076        elements,
8077        rootStore: store
8078      }), [position, refs, elements, context, store]);
8079    }
8080  
8081    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/middleware/arrow.mjs
8082    var baseArrow = (options) => ({
8083      name: "arrow",
8084      options,
8085      async fn(state) {
8086        const {
8087          x,
8088          y,
8089          placement,
8090          rects,
8091          platform: platform3,
8092          elements,
8093          middlewareData
8094        } = state;
8095        const {
8096          element,
8097          padding = 0
8098        } = evaluate(options, state) || {};
8099        if (element == null) {
8100          return {};
8101        }
8102        const paddingObject = getPaddingObject(padding);
8103        const coords = {
8104          x,
8105          y
8106        };
8107        const axis = getAlignmentAxis(placement);
8108        const length = getAxisLength(axis);
8109        const arrowDimensions = await platform3.getDimensions(element);
8110        const isYAxis = axis === "y";
8111        const minProp = isYAxis ? "top" : "left";
8112        const maxProp = isYAxis ? "bottom" : "right";
8113        const clientProp = isYAxis ? "clientHeight" : "clientWidth";
8114        const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];
8115        const startDiff = coords[axis] - rects.reference[axis];
8116        const clientSize = elements.floating[clientProp] || rects.floating[length];
8117        const centerToReference = endDiff / 2 - startDiff / 2;
8118        const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
8119        const minPadding = Math.min(paddingObject[minProp], largestPossiblePadding);
8120        const maxPadding = Math.min(paddingObject[maxProp], largestPossiblePadding);
8121        const min2 = minPadding;
8122        const max2 = clientSize - arrowDimensions[length] - maxPadding;
8123        const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
8124        const offset4 = clamp(min2, center, max2);
8125        const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset4 && rects.reference[length] / 2 - (center < min2 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
8126        const alignmentOffset = shouldAddOffset ? center < min2 ? center - min2 : center - max2 : 0;
8127        return {
8128          [axis]: coords[axis] + alignmentOffset,
8129          data: {
8130            [axis]: offset4,
8131            centerOffset: center - offset4 - alignmentOffset,
8132            ...shouldAddOffset && {
8133              alignmentOffset
8134            }
8135          },
8136          reset: shouldAddOffset
8137        };
8138      }
8139    });
8140    var arrow4 = (options, deps) => {
8141      const {
8142        name: name3,
8143        fn
8144      } = baseArrow(options);
8145      return {
8146        name: name3,
8147        fn,
8148        options: [options, deps]
8149      };
8150    };
8151  
8152    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/hideMiddleware.mjs
8153    var hide4 = {
8154      name: "hide",
8155      async fn(state) {
8156        const {
8157          width,
8158          height,
8159          x,
8160          y
8161        } = state.rects.reference;
8162        const anchorHidden2 = width === 0 && height === 0 && x === 0 && y === 0;
8163        const overflow = await state.platform.detectOverflow(state, {
8164          elementContext: "reference"
8165        });
8166        const referenceHidden = overflow.top - height >= 0 || overflow.right - width >= 0 || overflow.bottom - height >= 0 || overflow.left - width >= 0;
8167        return {
8168          data: {
8169            referenceHidden: referenceHidden || anchorHidden2
8170          }
8171        };
8172      }
8173    };
8174  
8175    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/adaptiveOriginConstants.mjs
8176    var DEFAULT_SIDES = {
8177      sideX: "left",
8178      sideY: "top"
8179    };
8180  
8181    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPositionerCssVars.mjs
8182    var availableWidth = "--available-width";
8183    var availableHeight = "--available-height";
8184    var anchorWidth = "--anchor-width";
8185    var anchorHeight = "--anchor-height";
8186    var transformOrigin = "--transform-origin";
8187  
8188    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnchorPositioning.mjs
8189    var AVAILABLE_WIDTH_VAR = availableWidth;
8190    var AVAILABLE_HEIGHT_VAR = availableHeight;
8191    function getLogicalSide(sideParam, renderedSide, isRtl) {
8192      const isLogicalSideParam = sideParam === "inline-start" || sideParam === "inline-end";
8193      const logicalRight = isRtl ? "inline-start" : "inline-end";
8194      const logicalLeft = isRtl ? "inline-end" : "inline-start";
8195      return {
8196        top: "top",
8197        right: isLogicalSideParam ? logicalRight : "right",
8198        bottom: "bottom",
8199        left: isLogicalSideParam ? logicalLeft : "left"
8200      }[renderedSide];
8201    }
8202    function getOffsetData(state, sideParam, isRtl) {
8203      const {
8204        rects,
8205        placement
8206      } = state;
8207      const data = {
8208        side: getLogicalSide(sideParam, getSide(placement), isRtl),
8209        align: getAlignment(placement) || "center",
8210        anchor: {
8211          width: rects.reference.width,
8212          height: rects.reference.height
8213        },
8214        positioner: {
8215          width: rects.floating.width,
8216          height: rects.floating.height
8217        }
8218      };
8219      return data;
8220    }
8221    function useAnchorPositioning(params) {
8222      return useAnchorPositioningWithHook(params, useBaseUIFloating);
8223    }
8224    function useAnchorPositioningWithHook(params, useFloatingHook) {
8225      const {
8226        // Public parameters
8227        anchor,
8228        positionMethod = "absolute",
8229        side: sideParam = "bottom",
8230        sideOffset = 0,
8231        align = "center",
8232        alignOffset = 0,
8233        collisionBoundary,
8234        collisionPadding: collisionPaddingParam = 5,
8235        sticky = false,
8236        arrowPadding = 5,
8237        disableAnchorTracking = false,
8238        inline: inlineMiddleware,
8239        // Private parameters
8240        keepMounted = false,
8241        floatingRootContext,
8242        mounted,
8243        collisionAvoidance,
8244        shift: shift4,
8245        nodeId,
8246        adaptiveOrigin,
8247        lazyFlip = false,
8248        externalTree
8249      } = params;
8250      const collisionAvoidanceSide = collisionAvoidance.side || "flip";
8251      const collisionAvoidanceAlign = collisionAvoidance.align || "flip";
8252      const collisionAvoidanceFallbackAxisSide = collisionAvoidance.fallbackAxisSide || "end";
8253      const shiftCrossAxis = shift4?.crossAxis ?? false;
8254      const shiftRootBoundary = shift4?.rootBoundary;
8255      const anchorFn = typeof anchor === "function" ? anchor : void 0;
8256      const anchorFnCallback = useStableCallback(anchorFn);
8257      const anchorDep = anchorFn ? anchorFnCallback : anchor;
8258      const anchorValueRef = useValueAsRef(anchor);
8259      const mountedRef = useValueAsRef(mounted);
8260      const direction = useDirection();
8261      const isRtl = direction === "rtl";
8262      const [mountPlacement, setMountPlacement] = React45.useState(null);
8263      if (!mounted && mountPlacement !== null) {
8264        setMountPlacement(null);
8265      }
8266      const lockAlign = lazyFlip === "placement";
8267      const mountSide = mountPlacement ? getSide(mountPlacement) : null;
8268      const mountAlign = mountPlacement && lockAlign ? getAlignment(mountPlacement) || "center" : null;
8269      const side = mountSide || {
8270        top: "top",
8271        right: "right",
8272        bottom: "bottom",
8273        left: "left",
8274        "inline-end": isRtl ? "left" : "right",
8275        "inline-start": isRtl ? "right" : "left"
8276      }[sideParam];
8277      const placementAlign = mountAlign || align;
8278      const placement = placementAlign === "center" ? side : `$side}-$placementAlign}`;
8279      let collisionPadding = collisionPaddingParam;
8280      if (typeof collisionPadding === "number") {
8281        collisionPadding = {
8282          top: collisionPadding,
8283          right: collisionPadding,
8284          bottom: collisionPadding,
8285          left: collisionPadding
8286        };
8287      } else if (collisionPadding) {
8288        collisionPadding = {
8289          top: collisionPadding.top || 0,
8290          right: collisionPadding.right || 0,
8291          bottom: collisionPadding.bottom || 0,
8292          left: collisionPadding.left || 0
8293        };
8294      }
8295      const bias = 1;
8296      const biasTop = sideParam === "bottom" ? bias : 0;
8297      const biasBottom = sideParam === "top" ? bias : 0;
8298      const biasLeft = sideParam === "right" ? bias : 0;
8299      const biasRight = sideParam === "left" ? bias : 0;
8300      const commonCollisionProps = {
8301        boundary: collisionBoundary === "clipping-ancestors" ? "clippingAncestors" : collisionBoundary,
8302        padding: collisionPadding
8303      };
8304      const arrowRef = React45.useRef(null);
8305      const sideOffsetRef = useValueAsRef(sideOffset);
8306      const alignOffsetRef = useValueAsRef(alignOffset);
8307      const sideOffsetDep = typeof sideOffset !== "function" ? sideOffset : 0;
8308      const alignOffsetDep = typeof alignOffset !== "function" ? alignOffset : 0;
8309      const middleware = [];
8310      if (inlineMiddleware) {
8311        middleware.push(inlineMiddleware);
8312      }
8313      middleware.push(offset3((state) => {
8314        const data = getOffsetData(state, sideParam, isRtl);
8315        const sideAxis = typeof sideOffsetRef.current === "function" ? sideOffsetRef.current(data) : sideOffsetRef.current;
8316        const alignAxis = typeof alignOffsetRef.current === "function" ? alignOffsetRef.current(data) : alignOffsetRef.current;
8317        return {
8318          mainAxis: sideAxis,
8319          crossAxis: alignAxis,
8320          alignmentAxis: alignAxis
8321        };
8322      }, [sideOffsetDep, alignOffsetDep, isRtl, sideParam]));
8323      const shiftDisabled = collisionAvoidanceAlign === "none" && collisionAvoidanceSide !== "shift";
8324      const crossAxisShiftEnabled = !shiftDisabled && (sticky || shiftCrossAxis || collisionAvoidanceSide === "shift");
8325      const flipMiddleware = collisionAvoidanceSide === "none" ? null : flip3({
8326        ...commonCollisionProps,
8327        // Ensure the popup flips if it's been limited by its --available-height and it resizes.
8328        // Since the size() padding is smaller than the flip() padding, flip() will take precedence.
8329        padding: {
8330          top: collisionPadding.top + bias + biasTop,
8331          right: collisionPadding.right + bias + biasRight,
8332          bottom: collisionPadding.bottom + bias + biasBottom,
8333          left: collisionPadding.left + bias + biasLeft
8334        },
8335        mainAxis: !shiftCrossAxis && collisionAvoidanceSide === "flip",
8336        crossAxis: collisionAvoidanceAlign === "flip" ? "alignment" : false,
8337        fallbackAxisSideDirection: collisionAvoidanceFallbackAxisSide
8338      });
8339      const shiftMiddleware = shiftDisabled ? null : shift3({
8340        ...commonCollisionProps,
8341        // Use the Layout Viewport to avoid shifting around when pinch-zooming.
8342        rootBoundary: shiftRootBoundary,
8343        mainAxis: collisionAvoidanceAlign !== "none",
8344        crossAxis: crossAxisShiftEnabled,
8345        limiter: sticky || shiftCrossAxis ? void 0 : limitShift3((limitData) => {
8346          if (!arrowRef.current) {
8347            return {};
8348          }
8349          const {
8350            width,
8351            height
8352          } = arrowRef.current.getBoundingClientRect();
8353          const sideAxis = getSideAxis(getSide(limitData.placement));
8354          const arrowSize = sideAxis === "y" ? width : height;
8355          const offsetAmount = sideAxis === "y" ? collisionPadding.left + collisionPadding.right : collisionPadding.top + collisionPadding.bottom;
8356          return {
8357            offset: arrowSize / 2 + offsetAmount / 2
8358          };
8359        })
8360      }, [commonCollisionProps, sticky, shiftCrossAxis, shiftRootBoundary, collisionPadding, collisionAvoidanceAlign]);
8361      if (collisionAvoidanceSide === "shift" || collisionAvoidanceAlign === "shift" || placementAlign === "center") {
8362        middleware.push(shiftMiddleware, flipMiddleware);
8363      } else {
8364        middleware.push(flipMiddleware, shiftMiddleware);
8365      }
8366      middleware.push(size3({
8367        ...commonCollisionProps,
8368        apply({
8369          elements: {
8370            floating
8371          },
8372          availableWidth: availableWidth2,
8373          availableHeight: availableHeight2,
8374          rects
8375        }) {
8376          if (!mountedRef.current) {
8377            return;
8378          }
8379          const floatingStyle = floating.style;
8380          floatingStyle.setProperty(AVAILABLE_WIDTH_VAR, `$availableWidth2}px`);
8381          floatingStyle.setProperty(AVAILABLE_HEIGHT_VAR, `$availableHeight2}px`);
8382          const dpr = getWindow(floating).devicePixelRatio || 1;
8383          const {
8384            x: x2,
8385            y: y2,
8386            width,
8387            height
8388          } = rects.reference;
8389          const anchorWidth2 = (Math.round((x2 + width) * dpr) - Math.round(x2 * dpr)) / dpr;
8390          const anchorHeight2 = (Math.round((y2 + height) * dpr) - Math.round(y2 * dpr)) / dpr;
8391          floatingStyle.setProperty(anchorWidth, `$anchorWidth2}px`);
8392          floatingStyle.setProperty(anchorHeight, `$anchorHeight2}px`);
8393        }
8394      }), arrow4((state) => ({
8395        // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set,
8396        // we'll create a fake element.
8397        element: arrowRef.current || ownerDocument(state.elements.floating).createElement("div"),
8398        // No padding for the fake arrow: it would displace aligned popups on narrow anchors.
8399        padding: arrowRef.current ? arrowPadding : 0
8400      }), [arrowPadding]), {
8401        name: "transformOrigin",
8402        fn(state) {
8403          const {
8404            elements: {
8405              floating
8406            },
8407            middlewareData: middlewareData2,
8408            placement: renderedPlacement2,
8409            platform: platform3,
8410            rects,
8411            y: y2
8412          } = state;
8413          const renderedSide2 = getSide(renderedPlacement2);
8414          const renderedAlign2 = getAlignment(renderedPlacement2);
8415          const isVertical = getSideAxis(renderedSide2) === "y";
8416          const arrowEl = arrowRef.current;
8417          const sideOffsetValue = typeof sideOffset === "function" ? sideOffset(getOffsetData(state, sideParam, isRtl)) : sideOffset;
8418          let crossOrigin;
8419          if (!arrowEl && renderedAlign2 && Math.abs(isVertical ? middlewareData2.shift?.x || 0 : middlewareData2.shift?.y || 0) <= 1) {
8420            crossOrigin = renderedAlign2 === "start" === (isVertical && platform3.isRTL?.(floating) === true) ? "100%" : "0%";
8421          } else {
8422            const arrowOffset = isVertical ? middlewareData2.arrow?.x || 0 : middlewareData2.arrow?.y || 0;
8423            const arrowSize = isVertical ? arrowEl?.clientWidth || 0 : arrowEl?.clientHeight || 0;
8424            crossOrigin = `$arrowOffset + arrowSize / 2}px`;
8425          }
8426          let sideOrigin = renderedSide2 === "top" || renderedSide2 === "left" ? `calc(100% + $sideOffsetValue}px)` : `${-sideOffsetValue}px`;
8427          if (crossAxisShiftEnabled && isVertical && Math.abs(middlewareData2.shift?.y || 0) > sideOffsetValue) {
8428            sideOrigin = `$rects.reference.y + rects.reference.height / 2 - y2}px`;
8429          }
8430          floating.style.setProperty(transformOrigin, isVertical ? `$crossOrigin} $sideOrigin}` : `$sideOrigin} $crossOrigin}`);
8431          return {};
8432        }
8433      }, hide4, adaptiveOrigin);
8434      useIsoLayoutEffect(() => {
8435        if (!mounted && floatingRootContext) {
8436          floatingRootContext.update({
8437            referenceElement: null,
8438            floatingElement: null,
8439            domReferenceElement: null,
8440            positionReference: null
8441          });
8442        }
8443      }, [mounted, floatingRootContext]);
8444      const autoUpdateOptions = React45.useMemo(() => ({
8445        ancestorScroll: !disableAnchorTracking,
8446        elementResize: !disableAnchorTracking && typeof ResizeObserver !== "undefined",
8447        layoutShift: !disableAnchorTracking && typeof IntersectionObserver !== "undefined"
8448      }), [disableAnchorTracking]);
8449      const {
8450        refs,
8451        elements,
8452        x,
8453        y,
8454        middlewareData,
8455        update: update2,
8456        placement: renderedPlacement,
8457        context,
8458        isPositioned,
8459        floatingStyles: originalFloatingStyles
8460      } = useFloatingHook({
8461        rootContext: floatingRootContext,
8462        open: keepMounted ? mounted : void 0,
8463        placement,
8464        middleware,
8465        strategy: positionMethod,
8466        whileElementsMounted: keepMounted ? void 0 : (...args) => autoUpdate(...args, autoUpdateOptions),
8467        nodeId,
8468        externalTree
8469      });
8470      const {
8471        sideX,
8472        sideY
8473      } = middlewareData.adaptiveOrigin || DEFAULT_SIDES;
8474      const resolvedPosition = isPositioned ? positionMethod : "fixed";
8475      const floatingStyles = React45.useMemo(() => {
8476        let base;
8477        if (!isPositioned) {
8478          base = {
8479            position: resolvedPosition,
8480            top: 0,
8481            left: 0
8482          };
8483        } else if (adaptiveOrigin) {
8484          base = {
8485            position: resolvedPosition,
8486            [sideX]: x,
8487            [sideY]: y
8488          };
8489        } else {
8490          base = {
8491            ...originalFloatingStyles,
8492            position: resolvedPosition
8493          };
8494        }
8495        base[AVAILABLE_WIDTH_VAR] = "100vw";
8496        base[AVAILABLE_HEIGHT_VAR] = "100vh";
8497        if (!isPositioned) {
8498          base.opacity = 0;
8499        }
8500        return base;
8501      }, [adaptiveOrigin, resolvedPosition, sideX, x, sideY, y, originalFloatingStyles, isPositioned]);
8502      const registeredPositionReferenceRef = React45.useRef(null);
8503      useIsoLayoutEffect(() => {
8504        if (!mounted) {
8505          return;
8506        }
8507        const anchorValue = anchorValueRef.current;
8508        const resolvedAnchor = typeof anchorValue === "function" ? anchorValue() : anchorValue;
8509        const unwrappedElement = (isRef(resolvedAnchor) ? resolvedAnchor.current : resolvedAnchor) || null;
8510        const finalAnchor = unwrappedElement || null;
8511        if (finalAnchor !== registeredPositionReferenceRef.current) {
8512          refs.setPositionReference(finalAnchor);
8513          registeredPositionReferenceRef.current = finalAnchor;
8514        }
8515      }, [mounted, refs, anchorDep, anchorValueRef]);
8516      React45.useEffect(() => {
8517        if (!mounted) {
8518          return;
8519        }
8520        const anchorValue = anchorValueRef.current;
8521        if (typeof anchorValue === "function") {
8522          return;
8523        }
8524        if (isRef(anchorValue) && anchorValue.current !== registeredPositionReferenceRef.current) {
8525          refs.setPositionReference(anchorValue.current);
8526          registeredPositionReferenceRef.current = anchorValue.current;
8527        }
8528      }, [mounted, refs, anchorDep, anchorValueRef]);
8529      React45.useEffect(() => {
8530        if (keepMounted && mounted && elements.reference && elements.floating) {
8531          return autoUpdate(elements.reference, elements.floating, update2, autoUpdateOptions);
8532        }
8533        return void 0;
8534      }, [keepMounted, mounted, elements, update2, autoUpdateOptions]);
8535      const renderedSide = getSide(renderedPlacement);
8536      const logicalRenderedSide = getLogicalSide(sideParam, renderedSide, isRtl);
8537      const renderedAlign = getAlignment(renderedPlacement) || "center";
8538      const anchorHidden2 = Boolean(middlewareData.hide?.referenceHidden);
8539      useIsoLayoutEffect(() => {
8540        if (lazyFlip && mounted && isPositioned && (renderedSide !== side || lockAlign && renderedAlign !== placementAlign)) {
8541          setMountPlacement(renderedPlacement);
8542        }
8543      }, [lazyFlip, lockAlign, mounted, isPositioned, renderedPlacement, renderedSide, renderedAlign, side, placementAlign]);
8544      const arrowStyles = React45.useMemo(() => ({
8545        position: "absolute",
8546        top: middlewareData.arrow?.y,
8547        left: middlewareData.arrow?.x
8548      }), [middlewareData.arrow]);
8549      const arrowUncentered = middlewareData.arrow?.centerOffset !== 0;
8550      return React45.useMemo(() => ({
8551        positionerStyles: floatingStyles,
8552        arrowStyles,
8553        arrowRef,
8554        arrowUncentered,
8555        side: logicalRenderedSide,
8556        align: renderedAlign,
8557        physicalSide: renderedSide,
8558        anchorHidden: anchorHidden2,
8559        refs,
8560        context,
8561        isPositioned,
8562        update: update2
8563      }), [floatingStyles, arrowStyles, arrowRef, arrowUncentered, logicalRenderedSide, renderedAlign, renderedSide, anchorHidden2, refs, context, isPositioned, update2]);
8564    }
8565    function isRef(param) {
8566      return param != null && "current" in param;
8567    }
8568  
8569    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/getDisabledMountTransitionStyles.mjs
8570    function getDisabledMountTransitionStyles(transitionStatus) {
8571      return transitionStatus === "starting" ? DISABLED_TRANSITIONS_STYLE : EMPTY_OBJECT;
8572    }
8573  
8574    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePositioner.mjs
8575    function usePositioner(componentProps, state, {
8576      styles,
8577      transitionStatus,
8578      props,
8579      refs,
8580      hidden,
8581      inert = false
8582    }) {
8583      const style = {
8584        ...styles
8585      };
8586      if (inert) {
8587        style.pointerEvents = "none";
8588      }
8589      return useRenderElement("div", componentProps, {
8590        state,
8591        ref: refs,
8592        props: [{
8593          role: "presentation",
8594          hidden,
8595          style
8596        }, getDisabledMountTransitionStyles(transitionStatus), props],
8597        stateAttributesMapping: popupStateMapping
8598      });
8599    }
8600  
8601    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useAnchoredPopupScrollLock.mjs
8602    var React46 = __toESM(require_react(), 1);
8603    var VIEWPORT_WIDTH_TOLERANCE_PX = 20;
8604    function useAnchoredPopupScrollLock(enabled, touchOpen, positionerElement, referenceElement) {
8605      const [touchOpenShouldLockScroll, setTouchOpenShouldLockScroll] = React46.useState(false);
8606      useIsoLayoutEffect(() => {
8607        if (!enabled || !touchOpen || positionerElement == null) {
8608          setTouchOpenShouldLockScroll(false);
8609          return;
8610        }
8611        const viewportWidth = ownerDocument(positionerElement).documentElement.clientWidth;
8612        const popupWidth = positionerElement.offsetWidth;
8613        setTouchOpenShouldLockScroll(viewportWidth > 0 && popupWidth > 0 && popupWidth >= viewportWidth - VIEWPORT_WIDTH_TOLERANCE_PX);
8614      }, [enabled, touchOpen, positionerElement]);
8615      useScrollLock(enabled && (!touchOpen || touchOpenShouldLockScroll), referenceElement);
8616    }
8617  
8618    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/listbox-separator/ListboxSeparator.mjs
8619    var React47 = __toESM(require_react(), 1);
8620    var ListboxSeparator = /* @__PURE__ */ React47.forwardRef(function ListboxSeparator2(componentProps, forwardedRef) {
8621      const {
8622        className,
8623        render,
8624        orientation = "horizontal",
8625        style,
8626        ...elementProps
8627      } = componentProps;
8628      const state = {
8629        orientation
8630      };
8631      return useRenderElement("div", componentProps, {
8632        state,
8633        ref: forwardedRef,
8634        props: [{
8635          role: "presentation"
8636        }, elementProps]
8637      });
8638    });
8639    if (true) ListboxSeparator.displayName = "ListboxSeparator";
8640  
8641    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/item/FieldItemContext.mjs
8642    var React48 = __toESM(require_react(), 1);
8643    var FieldItemContext = /* @__PURE__ */ React48.createContext({
8644      disabled: false
8645    });
8646    if (true) FieldItemContext.displayName = "FieldItemContext";
8647    function useFieldItemContext() {
8648      const context = React48.useContext(FieldItemContext);
8649      return context;
8650    }
8651  
8652    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/useFieldValidation.mjs
8653    var React49 = __toESM(require_react(), 1);
8654  
8655    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/utils/getCombinedFieldValidityData.mjs
8656    function getCombinedFieldValidityData(validityData, invalid2) {
8657      return {
8658        ...validityData,
8659        state: {
8660          ...validityData.state,
8661          valid: !invalid2 && validityData.state.valid
8662        }
8663      };
8664    }
8665  
8666    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/useFieldValidation.mjs
8667    var validityKeys = Object.keys(DEFAULT_VALIDITY_STATE);
8668    function isEligibleInput(input, formElement) {
8669      if (input.matches(":disabled")) {
8670        return false;
8671      }
8672      if (!formElement || input.form === formElement) {
8673        return true;
8674      }
8675      return input.form === null && !input.hasAttribute("form");
8676    }
8677    function findRepresentativeInput(inputs, formElement) {
8678      let fallback = null;
8679      for (const input of inputs.keys()) {
8680        if (!isEligibleInput(input, formElement)) {
8681          continue;
8682        }
8683        if (!input.validity.valid) {
8684          return input;
8685        }
8686        fallback ??= input;
8687      }
8688      return fallback;
8689    }
8690    function makeState(customError) {
8691      return {
8692        ...DEFAULT_VALIDITY_STATE,
8693        valid: !customError,
8694        customError
8695      };
8696    }
8697    function getNativeErrors(element) {
8698      return element && element.validationMessage ? [element.validationMessage] : [];
8699    }
8700    function useFieldValidation(params) {
8701      const {
8702        elementRef,
8703        formRef
8704      } = useFormContext();
8705      const {
8706        setValidityData,
8707        validate,
8708        validityData,
8709        validationDebounceTime,
8710        invalid: invalid2,
8711        markedDirtyRef,
8712        state,
8713        shouldValidateOnChange,
8714        validationMode,
8715        registeredFieldIdRef
8716      } = params;
8717      const {
8718        controlId,
8719        getDescriptionProps
8720      } = useLabelableContext();
8721      const timeout = useTimeout();
8722      const inputRef = React49.useRef(null);
8723      const registeredInputs = useRefWithInit(() => /* @__PURE__ */ new Map()).current;
8724      const validationCommitIdRef = React49.useRef(0);
8725      const customValidityRef = React49.useRef(null);
8726      const registerInput = React49.useCallback((element, registration) => {
8727        registeredInputs.set(element, registration);
8728        return () => {
8729          registeredInputs.delete(element);
8730        };
8731      }, [registeredInputs]);
8732      const getInputControl = useStableCallback(() => {
8733        const element = findRepresentativeInput(registeredInputs, elementRef.current);
8734        return element && registeredInputs.get(element)?.controlRef.current || null;
8735      });
8736      const commit = useStableCallback(async (value, revalidate = false) => {
8737        validationCommitIdRef.current += 1;
8738        const validationCommitId = validationCommitIdRef.current;
8739        function updateRegisteredFieldValidity(nextValidityData, externalInvalid = invalid2) {
8740          const fieldId = registeredFieldIdRef.current ?? controlId;
8741          if (fieldId == null) {
8742            return;
8743          }
8744          const currentFieldData = formRef.current.fields.get(fieldId);
8745          if (!currentFieldData) {
8746            return;
8747          }
8748          const validityDataWithFormErrors = getCombinedFieldValidityData(nextValidityData, externalInvalid);
8749          formRef.current.fields.set(fieldId, {
8750            ...currentFieldData,
8751            validityData: validityDataWithFormErrors
8752          });
8753        }
8754        function makeValidityData(validityState, errorMessages) {
8755          const errors = validityState.valid === false ? errorMessages : [];
8756          return {
8757            value,
8758            state: validityState,
8759            error: errors[0] ?? "",
8760            errors,
8761            initialValue: validityData.initialValue
8762          };
8763        }
8764        function setCustomValidity(element2, message) {
8765          const displaced = element2.validity.customError ? element2.validationMessage : "";
8766          const ownedMessage = message.replace(/\r\n?/g, "\n");
8767          element2.setCustomValidity(ownedMessage);
8768          customValidityRef.current = [element2, ownedMessage, displaced];
8769        }
8770        function clearCustomValidity() {
8771          const record = customValidityRef.current;
8772          customValidityRef.current = null;
8773          if (record && (!record[0].willValidate || record[0].validationMessage === record[1])) {
8774            record[0].setCustomValidity(record[2]);
8775          }
8776        }
8777        function publish(validityState, errorMessages, externalInvalid) {
8778          const nextValidityData = makeValidityData(validityState, errorMessages);
8779          updateRegisteredFieldValidity(nextValidityData, externalInvalid);
8780          setValidityData(nextValidityData);
8781        }
8782        function getState(el2) {
8783          const computedState = validityKeys.reduce((acc, key) => {
8784            acc[key] = el2.validity[key];
8785            return acc;
8786          }, {});
8787          let hasOnlyValueMissingError = false;
8788          for (const key of validityKeys) {
8789            if (key === "valid") {
8790              continue;
8791            }
8792            if (key === "valueMissing" && computedState[key]) {
8793              hasOnlyValueMissingError = true;
8794            } else if (computedState[key]) {
8795              return computedState;
8796            }
8797          }
8798          if (hasOnlyValueMissingError && !markedDirtyRef.current) {
8799            computedState.valid = true;
8800            computedState.valueMissing = false;
8801          }
8802          return computedState;
8803        }
8804        function resolveRepresentativeInput() {
8805          return registeredInputs.size > 0 ? findRepresentativeInput(registeredInputs, elementRef.current) : inputRef.current;
8806        }
8807        let element = resolveRepresentativeInput();
8808        function refreshState() {
8809          element = resolveRepresentativeInput();
8810          return element?.willValidate ? getState(element) : makeState(false);
8811        }
8812        if (revalidate) {
8813          if (state.valid !== false || !element) {
8814            return;
8815          }
8816          if (!element.validity.valueMissing) {
8817            clearCustomValidity();
8818            const currentElement = resolveRepresentativeInput();
8819            const foreign = currentElement?.validity.customError ? getNativeErrors(currentElement) : [];
8820            publish(makeState(foreign.length > 0), foreign, false);
8821            return;
8822          }
8823          for (const key of validityKeys) {
8824            if (key !== "valid" && key !== "valueMissing" && key !== "customError" && element.validity[key]) {
8825              return;
8826            }
8827          }
8828        }
8829        timeout.clear();
8830        clearCustomValidity();
8831        let nextState = refreshState();
8832        let validationErrors = getNativeErrors(element);
8833        const isValidatingOnChange = shouldValidateOnChange();
8834        if (validationErrors.length === 0 || isValidatingOnChange) {
8835          const formValues = Array.from(formRef.current.fields.values()).reduce((acc, field) => {
8836            if (field.name) {
8837              acc[field.name] = field.getValue();
8838            }
8839            return acc;
8840          }, {});
8841          const resultOrPromise = validate(value, formValues);
8842          let result;
8843          if (typeof resultOrPromise === "object" && resultOrPromise !== null && "then" in resultOrPromise) {
8844            if (nextState.valid === false) {
8845              publish(nextState, validationErrors);
8846            } else if (validationMode === "onSubmit" || !validityData.state.customError) {
8847              nextState.valid = null;
8848              publish(nextState, validationErrors);
8849            }
8850            result = await resultOrPromise;
8851            if (validationCommitId !== validationCommitIdRef.current) {
8852              return;
8853            }
8854            nextState = refreshState();
8855          } else {
8856            result = resultOrPromise;
8857          }
8858          validationErrors = result ? [].concat(result).filter(Boolean) : [];
8859          if (validationErrors.length > 0) {
8860            nextState.valid = false;
8861            nextState.customError = true;
8862            if (element?.willValidate) {
8863              setCustomValidity(element, validationErrors.join("\n"));
8864            }
8865          } else {
8866            validationErrors = getNativeErrors(element);
8867          }
8868        }
8869        publish(nextState, validationErrors);
8870      });
8871      const change = useStableCallback((value, cancelPending = false) => {
8872        timeout.clear();
8873        validationCommitIdRef.current += 1;
8874        if (cancelPending) {
8875          return;
8876        }
8877        const validateOnChange = shouldValidateOnChange();
8878        if (validateOnChange && value !== "" && validationDebounceTime) {
8879          timeout.start(validationDebounceTime, () => {
8880            commit(value);
8881          });
8882        } else {
8883          commit(value, !validateOnChange);
8884        }
8885      });
8886      const getValidationProps = React49.useCallback((disabled2, externalProps = {}) => mergeProps(getDescriptionProps(externalProps), state.valid === false && !state.disabled && !disabled2 ? {
8887        "aria-invalid": true
8888      } : EMPTY_OBJECT), [getDescriptionProps, state.disabled, state.valid]);
8889      return React49.useMemo(() => ({
8890        getValidationProps,
8891        inputRef,
8892        registeredInputs,
8893        registerInput,
8894        getInputControl,
8895        commit,
8896        change
8897      }), [getValidationProps, registeredInputs, registerInput, getInputControl, commit, change]);
8898    }
8899  
8900    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useRegisteredLabelId.mjs
8901    function useRegisteredLabelId(idProp, setLabelId) {
8902      const id = useBaseUiId(idProp);
8903      useIsoLayoutEffect(() => {
8904        setLabelId(id);
8905        return () => {
8906          setLabelId((currentId) => currentId === id ? void 0 : currentId);
8907        };
8908      }, [id, setLabelId]);
8909      return id;
8910    }
8911  
8912    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabel.mjs
8913    function useLabel(params = {}) {
8914      const {
8915        id: idProp,
8916        fallbackControlId,
8917        native = false,
8918        setLabelId: setLabelIdProp,
8919        focusControl: focusControlProp
8920      } = params;
8921      const {
8922        controlId: contextControlId,
8923        setLabelId: setContextLabelId
8924      } = useLabelableContext();
8925      const syncLabelId = useStableCallback((nextLabelId) => {
8926        setContextLabelId(nextLabelId);
8927        setLabelIdProp?.(nextLabelId);
8928      });
8929      const id = useRegisteredLabelId(idProp, syncLabelId);
8930      const resolvedControlId = contextControlId ?? fallbackControlId;
8931      function focusControl(event) {
8932        if (focusControlProp) {
8933          focusControlProp(event, resolvedControlId);
8934          return;
8935        }
8936        if (!resolvedControlId) {
8937          return;
8938        }
8939        const controlElement = getControlById(event.currentTarget, resolvedControlId);
8940        if (isHTMLElement(controlElement)) {
8941          focusElementWithVisible(controlElement);
8942        }
8943      }
8944      function handleInteraction(event) {
8945        const target = getTarget(event.nativeEvent);
8946        if (closest(target, "button,input,select,textarea")) {
8947          return;
8948        }
8949        if (!event.defaultPrevented && event.detail > 1) {
8950          event.preventDefault();
8951        }
8952        if (native) {
8953          return;
8954        }
8955        focusControl(event);
8956      }
8957      return native ? {
8958        id,
8959        htmlFor: resolvedControlId,
8960        onMouseDown: handleInteraction
8961      } : {
8962        id,
8963        onClick: handleInteraction,
8964        onPointerDown(event) {
8965          event.preventDefault();
8966        }
8967      };
8968    }
8969    function getControlById(label, id) {
8970      let root = label.getRootNode();
8971      while (isShadowRoot(root)) {
8972        const element = root.getElementById(id);
8973        if (element) {
8974          return element;
8975        }
8976        root = root.host.getRootNode();
8977      }
8978      return ownerDocument(label).getElementById(id);
8979    }
8980    function focusElementWithVisible(element) {
8981      element.focus({
8982        // Available from Chrome 144+ (January 2026).
8983        // Safari and Firefox already support it.
8984        focusVisible: true
8985      });
8986    }
8987  
8988    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/ItemIndicator.mjs
8989    var React50 = __toESM(require_react(), 1);
8990    var ItemIndicator = /* @__PURE__ */ React50.memo(/* @__PURE__ */ React50.forwardRef(function ItemIndicator2(componentProps, forwardedRef) {
8991      const {
8992        render,
8993        className,
8994        style,
8995        keepMounted,
8996        selected,
8997        ...elementProps
8998      } = componentProps;
8999      const indicatorRef = React50.useRef(null);
9000      const {
9001        transitionStatus,
9002        setMounted
9003      } = useTransitionStatus(selected);
9004      const state = {
9005        selected,
9006        transitionStatus
9007      };
9008      const element = useRenderElement("span", componentProps, {
9009        ref: [forwardedRef, indicatorRef],
9010        state,
9011        props: [{
9012          "aria-hidden": true,
9013          children: "\u2714\uFE0F"
9014        }, elementProps],
9015        stateAttributesMapping: transitionStatusMapping
9016      });
9017      useOpenChangeComplete({
9018        batch: true,
9019        enabled: !selected,
9020        open: selected,
9021        ref: indicatorRef,
9022        onComplete() {
9023          if (!selected) {
9024            setMounted(false);
9025          }
9026        }
9027      });
9028      return element;
9029    }));
9030    if (true) ItemIndicator.displayName = "ItemIndicator";
9031  
9032    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/toolbar/root/ToolbarRootContext.mjs
9033    var React51 = __toESM(require_react(), 1);
9034    var ToolbarRootContext = /* @__PURE__ */ React51.createContext(void 0);
9035    if (true) ToolbarRootContext.displayName = "ToolbarRootContext";
9036    function useToolbarRootContext(optional) {
9037      const context = React51.useContext(ToolbarRootContext);
9038      if (context === void 0 && !optional) {
9039        throw new Error(true ? "Base UI: ToolbarRootContext is missing. Toolbar parts must be placed within <Toolbar.Root>." : formatErrorMessage_default(69));
9040      }
9041      return context;
9042    }
9043  
9044    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/usePreviousValue.mjs
9045    var React52 = __toESM(require_react(), 1);
9046    function usePreviousValue(value) {
9047      const [state, setState] = React52.useState({
9048        current: value,
9049        previous: null
9050      });
9051      if (!Object.is(value, state.current)) {
9052        setState({
9053          current: value,
9054          previous: state.current
9055        });
9056      }
9057      return state.previous;
9058    }
9059  
9060    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/direction-provider/DirectionProvider.mjs
9061    var React53 = __toESM(require_react(), 1);
9062    var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1);
9063    var DirectionProvider = function DirectionProvider2(props) {
9064      const {
9065        direction = "ltr"
9066      } = props;
9067      const contextValue = React53.useMemo(() => ({
9068        direction
9069      }), [direction]);
9070      return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(DirectionContext.Provider, {
9071        value: contextValue,
9072        children: props.children
9073      });
9074    };
9075    if (true) DirectionProvider.displayName = "DirectionProvider";
9076  
9077    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/isElementDisabled.mjs
9078    function isElementDisabled(element) {
9079      return element == null || element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true";
9080    }
9081  
9082    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/csp-context/CSPContext.mjs
9083    var React54 = __toESM(require_react(), 1);
9084    var CSPContext = /* @__PURE__ */ React54.createContext(void 0);
9085    if (true) CSPContext.displayName = "CSPContext";
9086    var DEFAULT_CSP_CONTEXT_VALUE = {
9087      disableStyleElements: false
9088    };
9089    function useCSPContext() {
9090      return React54.useContext(CSPContext) ?? DEFAULT_CSP_CONTEXT_VALUE;
9091    }
9092  
9093    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/clamp.mjs
9094    function clamp2(val, min2 = Number.MIN_SAFE_INTEGER, max2 = Number.MAX_SAFE_INTEGER) {
9095      return Math.max(min2, Math.min(val, max2));
9096    }
9097  
9098    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/index.parts.mjs
9099    var index_parts_exports = {};
9100    __export(index_parts_exports, {
9101      Control: () => FieldControl,
9102      Description: () => FieldDescription,
9103      Error: () => FieldError,
9104      Item: () => FieldItem,
9105      Label: () => FieldLabel,
9106      Root: () => FieldRoot,
9107      Validity: () => FieldValidity
9108    });
9109  
9110    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/FieldRoot.mjs
9111    var React58 = __toESM(require_react(), 1);
9112  
9113    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/fieldset/root/FieldsetRootContext.mjs
9114    var React55 = __toESM(require_react(), 1);
9115    var FieldsetRootContext = /* @__PURE__ */ React55.createContext(void 0);
9116    if (true) FieldsetRootContext.displayName = "FieldsetRootContext";
9117    function useFieldsetRootContext(optional = false) {
9118      const context = React55.useContext(FieldsetRootContext);
9119      if (!context && !optional) {
9120        throw new Error(true ? "Base UI: FieldsetRootContext is missing. Fieldset parts must be placed within <Fieldset.Root>." : formatErrorMessage_default(86));
9121      }
9122      return context;
9123    }
9124  
9125    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/LabelableProvider.mjs
9126    var React56 = __toESM(require_react(), 1);
9127    var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);
9128    var LabelableProvider = function LabelableProvider2(props) {
9129      const defaultId = useBaseUiId();
9130      const [controlIdState, setControlIdState] = React56.useState(defaultId);
9131      const [labelId, setLabelId] = React56.useState();
9132      const [messageIds, setMessageIds] = React56.useState([]);
9133      const controlId = controlIdState === void 0 ? defaultId : controlIdState;
9134      const registrationsRef = useRefWithInit(() => /* @__PURE__ */ new Map());
9135      const {
9136        messageIds: parentMessageIds
9137      } = useLabelableContext();
9138      const registerControlId = useStableCallback((source, nextId) => {
9139        const registrations = registrationsRef.current;
9140        if (nextId === void 0) {
9141          registrations.delete(source);
9142        } else {
9143          registrations.set(source, nextId);
9144        }
9145        setControlIdState((prev) => {
9146          if (registrations.size === 0) {
9147            return prev;
9148          }
9149          let nextControlId;
9150          for (const id of registrations.values()) {
9151            if (id === prev) {
9152              return prev;
9153            }
9154            if (nextControlId === void 0) {
9155              nextControlId = id;
9156            }
9157          }
9158          return nextControlId;
9159        });
9160      });
9161      const resetControlId = useStableCallback(() => {
9162        if (registrationsRef.current.size === 0) {
9163          setControlIdState(defaultId);
9164        }
9165      });
9166      const getDescriptionProps = React56.useCallback((externalProps) => {
9167        const ids = externalProps["aria-describedby"] ? externalProps["aria-describedby"].split(" ") : [];
9168        ids.push(...parentMessageIds, ...messageIds);
9169        return {
9170          ...externalProps,
9171          "aria-describedby": Array.from(new Set(ids)).join(" ") || void 0
9172        };
9173      }, [parentMessageIds, messageIds]);
9174      const contextValue = React56.useMemo(() => ({
9175        controlId,
9176        registerControlId,
9177        resetControlId,
9178        labelId,
9179        setLabelId,
9180        messageIds,
9181        setMessageIds,
9182        getDescriptionProps
9183      }), [controlId, registerControlId, resetControlId, labelId, setLabelId, messageIds, setMessageIds, getDescriptionProps]);
9184      return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(LabelableContext.Provider, {
9185        value: contextValue,
9186        children: props.children
9187      });
9188    };
9189    if (true) LabelableProvider.displayName = "LabelableProvider";
9190  
9191    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-register-control/useFieldControlRegistration.mjs
9192    var React57 = __toESM(require_react(), 1);
9193    function useFieldControlRegistration(params) {
9194      const {
9195        change,
9196        commit,
9197        invalid: invalid2,
9198        markedDirtyRef,
9199        name: name3,
9200        setRegisteredFieldName,
9201        registeredFieldIdRef,
9202        setValidityData,
9203        validityData
9204      } = params;
9205      const {
9206        formRef
9207      } = useFormContext();
9208      const activeFieldControlSourceRef = React57.useRef(null);
9209      const registrationRef = React57.useRef(null);
9210      const initialValueCapturedRef = React57.useRef(false);
9211      const getValueForForm = useStableCallback(() => {
9212        const registration = registrationRef.current;
9213        if (!registration) {
9214          return void 0;
9215        }
9216        if (registration.getValue) {
9217          return registration.getValue();
9218        }
9219        return registration.value;
9220      });
9221      function getRegistrationValue(registration) {
9222        return registration.value === void 0 ? getValueForForm() : registration.value;
9223      }
9224      const validate = useStableCallback(() => {
9225        const registration = registrationRef.current;
9226        markedDirtyRef.current = true;
9227        if (!registration) {
9228          commit(validityData.value);
9229          return;
9230        }
9231        commit(getRegistrationValue(registration));
9232      });
9233      function refreshRegistration() {
9234        const registration = registrationRef.current;
9235        if (!registration || !registration.id) {
9236          return;
9237        }
9238        formRef.current.fields.set(registration.id, {
9239          getValue: getValueForForm,
9240          name: name3 ?? registration.name,
9241          controlRef: registration.controlRef,
9242          validityData: getCombinedFieldValidityData(validityData, invalid2),
9243          validate
9244        });
9245      }
9246      function deleteRegistration(id = registrationRef.current?.id) {
9247        if (id) {
9248          formRef.current.fields.delete(id);
9249        }
9250      }
9251      function captureInitialValue(registration) {
9252        if (initialValueCapturedRef.current) {
9253          return;
9254        }
9255        initialValueCapturedRef.current = true;
9256        const initialValue = getRegistrationValue(registration);
9257        setValidityData((prev) => prev.initialValue === initialValue ? prev : {
9258          ...prev,
9259          initialValue
9260        });
9261      }
9262      useIsoLayoutEffect(() => {
9263        const registration = registrationRef.current;
9264        if (!registration || !registration.id) {
9265          return;
9266        }
9267        setRegisteredFieldName(name3 ? void 0 : registration.name);
9268        formRef.current.fields.set(registration.id, {
9269          getValue: getValueForForm,
9270          name: name3 ?? registration.name,
9271          controlRef: registration.controlRef,
9272          validityData: getCombinedFieldValidityData(validityData, invalid2),
9273          validate
9274        });
9275      }, [formRef, getValueForForm, invalid2, name3, setRegisteredFieldName, validate, validityData]);
9276      useIsoLayoutEffect(() => {
9277        const fields = formRef.current.fields;
9278        return () => {
9279          const id = registrationRef.current?.id;
9280          if (id) {
9281            fields.delete(id);
9282          }
9283        };
9284      }, [formRef]);
9285      const register2 = useStableCallback((source, registration) => {
9286        if (!registration) {
9287          if (activeFieldControlSourceRef.current === source) {
9288            activeFieldControlSourceRef.current = null;
9289            change(void 0, true);
9290            deleteRegistration();
9291            registrationRef.current = null;
9292            setRegisteredFieldName(void 0);
9293            registeredFieldIdRef.current = void 0;
9294          }
9295          return;
9296        }
9297        const previousId = registrationRef.current?.id;
9298        const previousSource = activeFieldControlSourceRef.current;
9299        if (previousSource && previousSource !== source) {
9300          change(void 0, true);
9301        }
9302        activeFieldControlSourceRef.current = source;
9303        registrationRef.current = registration;
9304        if (!name3) {
9305          setRegisteredFieldName(registration.name);
9306        }
9307        registeredFieldIdRef.current = registration.id;
9308        if (previousId && previousId !== registration.id) {
9309          deleteRegistration(previousId);
9310        }
9311        captureInitialValue(registration);
9312        refreshRegistration();
9313      });
9314      return [validate, register2];
9315    }
9316  
9317    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/FieldRoot.mjs
9318    var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);
9319    var FieldRootInner = /* @__PURE__ */ React58.forwardRef(function FieldRootInner2(componentProps, forwardedRef) {
9320      const {
9321        errors,
9322        validationMode: formValidationMode,
9323        submitCountRef
9324      } = useFormContext();
9325      const {
9326        render,
9327        className,
9328        validate: validateProp,
9329        validationDebounceTime = 0,
9330        validationMode = formValidationMode,
9331        name: name3,
9332        disabled: disabledProp = false,
9333        invalid: invalidProp,
9334        dirty: dirtyProp,
9335        touched: touchedProp,
9336        actionsRef,
9337        style,
9338        ...elementProps
9339      } = componentProps;
9340      const disabledFieldset = useFieldsetRootContext(true)?.disabled;
9341      const validate = useStableCallback(validateProp || (() => null));
9342      const disabled2 = disabledFieldset || disabledProp;
9343      const [touchedState, setTouchedUnwrapped] = React58.useState(false);
9344      const [dirtyState, setDirtyUnwrapped] = React58.useState(false);
9345      const [filled, setFilled] = React58.useState(false);
9346      const [focused, setFocused] = React58.useState(false);
9347      const focusOwnerRef = React58.useRef(void 0);
9348      const dirty = dirtyProp ?? dirtyState;
9349      const touched = touchedProp ?? touchedState;
9350      const markedDirtyRef = React58.useRef(dirty);
9351      const registeredFieldIdRef = React58.useRef(void 0);
9352      const [registeredFieldName, setRegisteredFieldName] = React58.useState();
9353      const effectiveName = name3 ?? registeredFieldName;
9354      useIsoLayoutEffect(() => {
9355        if (dirtyProp !== void 0) {
9356          markedDirtyRef.current = dirtyProp;
9357        }
9358      }, [dirtyProp]);
9359      const setDirty = useStableCallback((value) => {
9360        if (dirtyProp !== void 0) {
9361          return;
9362        }
9363        if (value) {
9364          markedDirtyRef.current = true;
9365        }
9366        setDirtyUnwrapped(value);
9367      });
9368      const setTouched = useStableCallback((value) => {
9369        if (touchedProp !== void 0) {
9370          return;
9371        }
9372        setTouchedUnwrapped(value);
9373      });
9374      const shouldValidateOnChange = useStableCallback(() => validationMode === "onChange" || validationMode === "onSubmit" && submitCountRef.current > 0);
9375      const formError = effectiveName && Object.hasOwn(errors, effectiveName) ? errors[effectiveName] : null;
9376      const hasFormError = !!(Array.isArray(formError) ? formError.length : formError);
9377      const invalid2 = invalidProp === true || hasFormError;
9378      const [validityData, setValidityData] = React58.useState({
9379        state: DEFAULT_VALIDITY_STATE,
9380        error: "",
9381        errors: [],
9382        value: null,
9383        initialValue: null
9384      });
9385      const valid2 = !invalid2 && (disabled2 ? null : validityData.state.valid);
9386      const state = React58.useMemo(() => ({
9387        disabled: disabled2,
9388        touched,
9389        dirty,
9390        valid: valid2,
9391        filled,
9392        focused
9393      }), [disabled2, touched, dirty, valid2, filled, focused]);
9394      const validation = useFieldValidation({
9395        setValidityData,
9396        validate,
9397        validityData,
9398        validationDebounceTime,
9399        invalid: invalid2,
9400        markedDirtyRef,
9401        state,
9402        shouldValidateOnChange,
9403        validationMode,
9404        registeredFieldIdRef
9405      });
9406      const [validateFieldControl, registerFieldControl] = useFieldControlRegistration({
9407        change: validation.change,
9408        commit: validation.commit,
9409        invalid: invalid2,
9410        markedDirtyRef,
9411        name: name3,
9412        setRegisteredFieldName,
9413        registeredFieldIdRef,
9414        setValidityData,
9415        validityData
9416      });
9417      React58.useImperativeHandle(actionsRef, () => ({
9418        validate: validateFieldControl
9419      }), [validateFieldControl]);
9420      const contextValue = React58.useMemo(() => ({
9421        invalid: invalid2,
9422        name: effectiveName,
9423        validityData,
9424        setValidityData,
9425        disabled: disabled2,
9426        setTouched,
9427        setDirty,
9428        setFilled,
9429        setFocused,
9430        focusOwnerRef,
9431        validationMode,
9432        shouldValidateOnChange,
9433        state,
9434        registerFieldControl,
9435        validation
9436      }), [invalid2, effectiveName, validityData, disabled2, setTouched, setDirty, setFilled, setFocused, validationMode, shouldValidateOnChange, state, registerFieldControl, validation]);
9437      const element = useRenderElement("div", componentProps, {
9438        ref: forwardedRef,
9439        state,
9440        props: elementProps,
9441        stateAttributesMapping: fieldValidityMapping
9442      });
9443      return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(FieldRootContext.Provider, {
9444        value: contextValue,
9445        children: element
9446      });
9447    });
9448    if (true) FieldRootInner.displayName = "FieldRootInner";
9449    var FieldRoot = /* @__PURE__ */ React58.forwardRef(function FieldRoot2(componentProps, forwardedRef) {
9450      return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(LabelableProvider, {
9451        children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(FieldRootInner, {
9452          ...componentProps,
9453          ref: forwardedRef
9454        })
9455      });
9456    });
9457    if (true) FieldRoot.displayName = "FieldRoot";
9458  
9459    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/label/FieldLabel.mjs
9460    var React59 = __toESM(require_react(), 1);
9461    var FieldLabel = /* @__PURE__ */ React59.forwardRef(function FieldLabel2(componentProps, forwardedRef) {
9462      const {
9463        render,
9464        className,
9465        style,
9466        id: idProp,
9467        nativeLabel = true,
9468        ...elementProps
9469      } = componentProps;
9470      const fieldRootContext = useFieldRootContext(false);
9471      const fieldItemContext = useFieldItemContext();
9472      const {
9473        labelId
9474      } = useLabelableContext();
9475      const state = {
9476        ...fieldRootContext.state,
9477        disabled: fieldRootContext.disabled || fieldItemContext.disabled
9478      };
9479      const labelRef = React59.useRef(null);
9480      const labelProps = useLabel({
9481        id: labelId ?? idProp,
9482        native: nativeLabel
9483      });
9484      if (true) {
9485        React59.useEffect(() => {
9486          if (!labelRef.current) {
9487            return;
9488          }
9489          const isLabelTag = labelRef.current.tagName === "LABEL";
9490          if (nativeLabel) {
9491            if (!isLabelTag) {
9492              const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
9493              const message = "<Field.Label> expected a <label> element because the `nativeLabel` prop is true. Rendering a non-<label> disables native label association, so `htmlFor` will not work. Use a real <label> in the `render` prop, or set `nativeLabel` to `false`.";
9494              error(`$message}$ownerStackMessage}`);
9495            }
9496          } else if (isLabelTag) {
9497            const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
9498            const message = "<Field.Label> expected a non-<label> element because the `nativeLabel` prop is false. Rendering a <label> assumes native label behavior while Base UI treats it as non-native, which can cause unexpected pointer behavior. Use a non-<label> in the `render` prop, or set `nativeLabel` to `true`.";
9499            error(`$message}$ownerStackMessage}`);
9500          }
9501        }, [nativeLabel]);
9502      }
9503      const element = useRenderElement("label", componentProps, {
9504        ref: [forwardedRef, labelRef],
9505        state,
9506        props: [labelProps, elementProps],
9507        stateAttributesMapping: fieldValidityMapping
9508      });
9509      return element;
9510    });
9511    if (true) FieldLabel.displayName = "FieldLabel";
9512  
9513    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/error/FieldError.mjs
9514    var React60 = __toESM(require_react(), 1);
9515    var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1);
9516    var stateAttributesMapping = {
9517      ...fieldValidityMapping,
9518      ...transitionStatusMapping
9519    };
9520    var FieldError = /* @__PURE__ */ React60.forwardRef(function FieldError2(componentProps, forwardedRef) {
9521      const {
9522        render,
9523        id: idProp,
9524        className,
9525        match,
9526        style,
9527        ...elementProps
9528      } = componentProps;
9529      const id = useBaseUiId(idProp);
9530      const {
9531        validityData,
9532        state: fieldState,
9533        name: name3
9534      } = useFieldRootContext(false);
9535      const {
9536        setMessageIds
9537      } = useLabelableContext();
9538      const {
9539        errors
9540      } = useFormContext();
9541      const formError = name3 && Object.hasOwn(errors, name3) ? errors[name3] : null;
9542      const hasFormError = !!(Array.isArray(formError) ? formError.length : formError);
9543      const hasSpecificMatch = typeof match === "string";
9544      let rendered = false;
9545      if (match === true) {
9546        rendered = true;
9547      } else if (fieldState.disabled) {
9548        rendered = false;
9549      } else if (hasSpecificMatch) {
9550        rendered = Boolean(validityData.state[match]);
9551      } else {
9552        rendered = hasFormError || validityData.state.valid === false;
9553      }
9554      const {
9555        mounted,
9556        transitionStatus,
9557        setMounted
9558      } = useTransitionStatus(rendered);
9559      useIsoLayoutEffect(() => {
9560        if (!rendered || !id) {
9561          return void 0;
9562        }
9563        setMessageIds((v) => v.concat(id));
9564        return () => {
9565          setMessageIds((v) => v.filter((item) => item !== id));
9566        };
9567      }, [rendered, id, setMessageIds]);
9568      const errorRef = React60.useRef(null);
9569      const [lastRenderedMessage, setLastRenderedMessage] = React60.useState(null);
9570      const [lastRenderedMessageKey, setLastRenderedMessageKey] = React60.useState(null);
9571      let error2 = validityData.error;
9572      if (!hasSpecificMatch && hasFormError) {
9573        error2 = formError;
9574      } else if (validityData.errors.length > 1) {
9575        error2 = validityData.errors;
9576      }
9577      let errorMessage = error2;
9578      if (Array.isArray(error2)) {
9579        errorMessage = error2.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("ul", {
9580          children: error2.map((message) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("li", {
9581            children: message
9582          }, message))
9583        }) : error2[0];
9584      }
9585      const errorKey = Array.isArray(error2) ? JSON.stringify(error2) : error2;
9586      if (rendered && errorKey !== lastRenderedMessageKey) {
9587        setLastRenderedMessageKey(errorKey);
9588        setLastRenderedMessage(errorMessage);
9589      }
9590      useOpenChangeComplete({
9591        open: rendered,
9592        ref: errorRef,
9593        onComplete() {
9594          if (!rendered) {
9595            setMounted(false);
9596          }
9597        }
9598      });
9599      const state = {
9600        ...fieldState,
9601        transitionStatus
9602      };
9603      const element = useRenderElement("div", componentProps, {
9604        ref: [forwardedRef, errorRef],
9605        state,
9606        props: [{
9607          id,
9608          children: rendered ? errorMessage : lastRenderedMessage
9609        }, elementProps],
9610        stateAttributesMapping,
9611        enabled: mounted
9612      });
9613      if (!mounted) {
9614        return null;
9615      }
9616      return element;
9617    });
9618    if (true) FieldError.displayName = "FieldError";
9619  
9620    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/description/FieldDescription.mjs
9621    var React61 = __toESM(require_react(), 1);
9622    var FieldDescription = /* @__PURE__ */ React61.forwardRef(function FieldDescription2(componentProps, forwardedRef) {
9623      const {
9624        render,
9625        id: idProp,
9626        className,
9627        style,
9628        ...elementProps
9629      } = componentProps;
9630      const id = useBaseUiId(idProp);
9631      const fieldRootContext = useFieldRootContext(false);
9632      const fieldItemContext = useFieldItemContext();
9633      const {
9634        setMessageIds
9635      } = useLabelableContext();
9636      const state = {
9637        ...fieldRootContext.state,
9638        disabled: fieldRootContext.disabled || fieldItemContext.disabled
9639      };
9640      useIsoLayoutEffect(() => {
9641        if (!id) {
9642          return void 0;
9643        }
9644        setMessageIds((v) => v.concat(id));
9645        return () => {
9646          setMessageIds((v) => v.filter((item) => item !== id));
9647        };
9648      }, [id, setMessageIds]);
9649      const element = useRenderElement("p", componentProps, {
9650        ref: forwardedRef,
9651        state,
9652        props: [{
9653          id
9654        }, elementProps],
9655        stateAttributesMapping: fieldValidityMapping
9656      });
9657      return element;
9658    });
9659    if (true) FieldDescription.displayName = "FieldDescription";
9660  
9661    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/control/FieldControl.mjs
9662    var React62 = __toESM(require_react(), 1);
9663    var FieldControl = /* @__PURE__ */ React62.forwardRef(function FieldControl2(componentProps, forwardedRef) {
9664      const {
9665        render,
9666        className,
9667        id: idProp,
9668        name: nameProp,
9669        value,
9670        disabled: disabledProp = false,
9671        onValueChange,
9672        defaultValue,
9673        autoFocus = false,
9674        style,
9675        ...elementProps
9676      } = componentProps;
9677      const {
9678        state: fieldState,
9679        name: fieldName,
9680        disabled: fieldDisabled,
9681        setTouched,
9682        setDirty,
9683        validityData,
9684        setFilled,
9685        validationMode,
9686        validation
9687      } = useFieldRootContext();
9688      const {
9689        clearErrors,
9690        elementRef: formElementRef,
9691        submitCountRef
9692      } = useFormContext();
9693      const disabled2 = fieldDisabled || disabledProp;
9694      const name3 = fieldName ?? nameProp;
9695      const state = {
9696        ...fieldState,
9697        disabled: disabled2
9698      };
9699      const {
9700        labelId
9701      } = useLabelableContext();
9702      const id = useLabelableId({
9703        id: idProp
9704      });
9705      const isControlled = value !== void 0;
9706      const serializedValue = value == null ? void 0 : String(value);
9707      const getValueFromInput = useStableCallback(() => validation.inputRef.current?.value);
9708      useRegisterFieldControl(validation.inputRef, id, serializedValue, getValueFromInput, !disabled2, nameProp);
9709      useIsoLayoutEffect(() => {
9710        const currentValue = serializedValue ?? validation.inputRef.current?.value;
9711        if (currentValue !== void 0) {
9712          setFilled(currentValue !== "");
9713        }
9714      }, [serializedValue, defaultValue, validation.inputRef, setFilled]);
9715      useValueChanged(serializedValue, () => {
9716        if (serializedValue === void 0) {
9717          return;
9718        }
9719        clearErrors(name3);
9720        setDirty(serializedValue !== (validityData.initialValue ?? ""));
9721        validation.change(serializedValue);
9722      });
9723      const inputRef = React62.useRef(null);
9724      const setFocused = useSetFieldFocused(disabled2, inputRef);
9725      const enterValidationTimeout = useTimeout();
9726      const element = useRenderElement("input", componentProps, {
9727        ref: [forwardedRef, inputRef],
9728        state,
9729        props: [{
9730          id,
9731          disabled: disabled2,
9732          name: name3,
9733          ref: validation.inputRef,
9734          "aria-labelledby": labelId,
9735          autoFocus,
9736          ...isControlled ? {
9737            value
9738          } : {
9739            defaultValue
9740          },
9741          onChange(event) {
9742            const inputValue = event.currentTarget.value;
9743            const details = createChangeEventDetails(reason_parts_exports.none, event.nativeEvent);
9744            onValueChange?.(inputValue, details);
9745            if (isControlled) {
9746              return;
9747            }
9748            setDirty(inputValue !== (validityData.initialValue ?? ""));
9749            setFilled(inputValue !== "");
9750            if (!event.nativeEvent.defaultPrevented && !details.isCanceled) {
9751              clearErrors(name3);
9752              validation.change(inputValue);
9753            }
9754          },
9755          onFocus() {
9756            setFocused(true);
9757          },
9758          onBlur(event) {
9759            setTouched(true);
9760            setFocused(false);
9761            if (validationMode === "onBlur") {
9762              const inputValue = event.currentTarget.value;
9763              validation.commit(inputValue);
9764              if (isControlled) {
9765                queueMicrotask(() => {
9766                  const nextValue = validation.inputRef.current?.value;
9767                  if (nextValue !== void 0 && nextValue !== inputValue && nextValue !== (validityData.initialValue ?? "")) {
9768                    validation.commit(nextValue);
9769                  }
9770                });
9771              }
9772            }
9773          },
9774          onKeyDown(event) {
9775            if (event.currentTarget.tagName === "INPUT" && event.key === "Enter") {
9776              setTouched(true);
9777              const value2 = event.currentTarget.value;
9778              const form = event.currentTarget.form;
9779              if (form && form === formElementRef.current && !event.defaultPrevented) {
9780                const input = event.currentTarget;
9781                const submitCount = submitCountRef.current;
9782                enterValidationTimeout.start(0, () => {
9783                  if (submitCountRef.current === submitCount) {
9784                    validation.commit(input.value);
9785                  }
9786                });
9787              } else {
9788                validation.commit(value2);
9789              }
9790            }
9791          }
9792        }, elementProps, (props) => validation.getValidationProps(disabled2, props)],
9793        stateAttributesMapping: fieldValidityMapping
9794      });
9795      return element;
9796    });
9797    if (true) FieldControl.displayName = "FieldControl";
9798  
9799    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/validity/FieldValidity.mjs
9800    var React63 = __toESM(require_react(), 1);
9801    var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1);
9802    var FieldValidity = function FieldValidity2(props) {
9803      const {
9804        children
9805      } = props;
9806      const {
9807        validityData,
9808        invalid: invalid2
9809      } = useFieldRootContext(false);
9810      const combinedFieldValidityData = React63.useMemo(() => getCombinedFieldValidityData(validityData, invalid2), [validityData, invalid2]);
9811      const isInvalid = combinedFieldValidityData.state.valid === false;
9812      const {
9813        transitionStatus
9814      } = useTransitionStatus(isInvalid);
9815      const fieldValidityState = React63.useMemo(() => {
9816        return {
9817          ...combinedFieldValidityData,
9818          validity: combinedFieldValidityData.state,
9819          transitionStatus
9820        };
9821      }, [combinedFieldValidityData, transitionStatus]);
9822      return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(React63.Fragment, {
9823        children: children(fieldValidityState)
9824      });
9825    };
9826    if (true) FieldValidity.displayName = "FieldValidity";
9827  
9828    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/item/FieldItem.mjs
9829    var React64 = __toESM(require_react(), 1);
9830    var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1);
9831    var FieldItem = /* @__PURE__ */ React64.forwardRef(function FieldItem2(componentProps, forwardedRef) {
9832      const {
9833        render,
9834        className,
9835        style,
9836        disabled: disabledProp = false,
9837        ...elementProps
9838      } = componentProps;
9839      const {
9840        state: fieldState,
9841        disabled: rootDisabled
9842      } = useFieldRootContext(false);
9843      const disabled2 = rootDisabled || disabledProp;
9844      const state = {
9845        ...fieldState,
9846        disabled: disabled2
9847      };
9848      const fieldItemContext = React64.useMemo(() => ({
9849        disabled: disabled2
9850      }), [disabled2]);
9851      const element = useRenderElement("div", componentProps, {
9852        ref: forwardedRef,
9853        state,
9854        props: elementProps,
9855        stateAttributesMapping: fieldValidityMapping
9856      });
9857      return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(LabelableProvider, {
9858        children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(FieldItemContext.Provider, {
9859          value: fieldItemContext,
9860          children: element
9861        })
9862      });
9863    });
9864    if (true) FieldItem.displayName = "FieldItem";
9865  
9866    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/styles.mjs
9867    var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1);
9868    var DISABLE_SCROLLBAR_CLASS_NAME = "base-ui-disable-scrollbar";
9869    var styleDisableScrollbar = {
9870      className: DISABLE_SCROLLBAR_CLASS_NAME,
9871      getElement(nonce) {
9872        return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("style", {
9873          nonce,
9874          href: DISABLE_SCROLLBAR_CLASS_NAME,
9875          precedence: "base-ui:low",
9876          children: `.$DISABLE_SCROLLBAR_CLASS_NAME}{scrollbar-width:none}.$DISABLE_SCROLLBAR_CLASS_NAME}::-webkit-scrollbar{display:none}`
9877        });
9878      }
9879    };
9880    if (true) styleDisableScrollbar.getElement.displayName = "styleDisableScrollbar.getElement";
9881  
9882    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/scrollEdges.mjs
9883    var SCROLL_EDGE_TOLERANCE_PX = 1;
9884    function getMaxScrollOffset(scrollSize, clientSize) {
9885      return Math.max(0, scrollSize - clientSize);
9886    }
9887    function normalizeScrollOffset(value, max2) {
9888      if (max2 <= 0) {
9889        return 0;
9890      }
9891      const clamped = clamp2(value, 0, max2);
9892      const startDistance = clamped;
9893      const endDistance = max2 - clamped;
9894      const withinStartTolerance = startDistance <= SCROLL_EDGE_TOLERANCE_PX;
9895      const withinEndTolerance = endDistance <= SCROLL_EDGE_TOLERANCE_PX;
9896      if (withinStartTolerance && withinEndTolerance) {
9897        return startDistance <= endDistance ? 0 : max2;
9898      }
9899      if (withinStartTolerance) {
9900        return 0;
9901      }
9902      if (withinEndTolerance) {
9903        return max2;
9904      }
9905      return clamped;
9906    }
9907  
9908    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/index.parts.mjs
9909    var index_parts_exports2 = {};
9910    __export(index_parts_exports2, {
9911      Arrow: () => SelectArrow,
9912      Backdrop: () => SelectBackdrop,
9913      Group: () => SelectGroup,
9914      GroupLabel: () => SelectGroupLabel,
9915      Icon: () => SelectIcon,
9916      Item: () => SelectItem,
9917      ItemIndicator: () => SelectItemIndicator,
9918      ItemText: () => SelectItemText,
9919      Label: () => SelectLabel,
9920      List: () => SelectList,
9921      Popup: () => SelectPopup,
9922      Portal: () => SelectPortal,
9923      Positioner: () => SelectPositioner,
9924      Root: () => SelectRoot,
9925      ScrollDownArrow: () => SelectScrollDownArrow,
9926      ScrollUpArrow: () => SelectScrollUpArrow,
9927      Separator: () => SelectSeparator,
9928      Trigger: () => SelectTrigger,
9929      Value: () => SelectValue
9930    });
9931  
9932    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/root/SelectRoot.mjs
9933    var React66 = __toESM(require_react(), 1);
9934  
9935    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/root/SelectRootContext.mjs
9936    var React65 = __toESM(require_react(), 1);
9937    var SelectRootContext = /* @__PURE__ */ React65.createContext(void 0);
9938    if (true) SelectRootContext.displayName = "SelectRootContext";
9939    var SelectFloatingContext = /* @__PURE__ */ React65.createContext(void 0);
9940    if (true) SelectFloatingContext.displayName = "SelectFloatingContext";
9941    function useSelectRootContext() {
9942      const store = React65.useContext(SelectRootContext);
9943      if (store === void 0) {
9944        throw new Error(true ? "Base UI: SelectRootContext is missing. Select parts must be placed within <Select.Root>." : formatErrorMessage_default(60));
9945      }
9946      return store;
9947    }
9948    function useSelectFloatingContext() {
9949      const context = React65.useContext(SelectFloatingContext);
9950      if (context === void 0) {
9951        throw new Error(true ? "Base UI: SelectFloatingContext is missing. Select parts must be placed within <Select.Root>." : formatErrorMessage_default(61));
9952      }
9953      return context;
9954    }
9955  
9956    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/store.mjs
9957    var selectors2 = {
9958      id: (state) => state.id,
9959      labelId: (state) => state.labelId,
9960      modal: (state) => state.modal,
9961      multiple: (state) => state.multiple,
9962      disabled: (state) => state.disabled,
9963      readOnly: (state) => state.readOnly,
9964      required: (state) => state.required,
9965      highlightItemOnHover: (state) => state.highlightItemOnHover,
9966      items: (state) => state.items,
9967      itemToStringLabel: (state) => state.itemToStringLabel,
9968      isItemEqualToValue: (state) => state.isItemEqualToValue,
9969      value: (state) => state.value,
9970      hasSelectedValue: (state) => {
9971        const {
9972          value,
9973          multiple,
9974          itemToStringValue
9975        } = state;
9976        if (value == null) {
9977          return false;
9978        }
9979        if (multiple && Array.isArray(value)) {
9980          return value.length > 0;
9981        }
9982        return stringifyAsValue(value, itemToStringValue) !== "";
9983      },
9984      hasNullItemLabel: (state, enabled) => {
9985        return enabled ? hasNullItemLabel(state.items) : false;
9986      },
9987      open: (state) => state.open,
9988      mounted: (state) => state.mounted,
9989      forceMount: (state) => state.forceMount,
9990      transitionStatus: (state) => state.transitionStatus,
9991      openMethod: (state) => state.openMethod,
9992      activeIndex: (state) => state.activeIndex,
9993      selectedIndex: (state) => state.selectedIndex,
9994      isActive: (state, index2) => state.activeIndex === index2,
9995      isSelected: (state, itemValue) => {
9996        const comparer = state.isItemEqualToValue;
9997        const storeValue = state.value;
9998        if (state.multiple) {
9999          return Array.isArray(storeValue) && storeValue.some((selectedItem) => compareItemEquality(itemValue, selectedItem, comparer));
10000        }
10001        return compareItemEquality(itemValue, storeValue, comparer);
10002      },
10003      isSelectedByFocus: (state, index2) => {
10004        return state.selectedIndex === index2;
10005      },
10006      popupProps: (state) => state.popupProps,
10007      triggerProps: (state) => state.triggerProps,
10008      itemRoot: (state) => state.itemRoot,
10009      triggerElement: (state) => state.triggerElement,
10010      positionerElement: (state) => state.positionerElement,
10011      listElement: (state) => state.listElement,
10012      popupSide: (state) => state.popupSide,
10013      scrollUpArrowVisible: (state) => state.scrollUpArrowVisible,
10014      scrollDownArrowVisible: (state) => state.scrollDownArrowVisible,
10015      hasScrollArrows: (state) => state.hasScrollArrows
10016    };
10017  
10018    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/root/SelectRoot.mjs
10019    var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1);
10020    function SelectRoot(props) {
10021      const {
10022        id,
10023        value: valueProp,
10024        defaultValue = null,
10025        onValueChange,
10026        open: openProp,
10027        defaultOpen = false,
10028        onOpenChange,
10029        name: nameProp,
10030        form,
10031        autoComplete,
10032        disabled: disabledProp = false,
10033        readOnly = false,
10034        required = false,
10035        modal = true,
10036        actionsRef,
10037        inputRef,
10038        onOpenChangeComplete,
10039        items,
10040        multiple = false,
10041        itemToStringLabel,
10042        itemToStringValue,
10043        isItemEqualToValue = defaultItemEquality,
10044        highlightItemOnHover = true,
10045        children
10046      } = props;
10047      const {
10048        clearErrors
10049      } = useFormContext();
10050      const {
10051        setDirty,
10052        setTouched,
10053        setFocused,
10054        validityData,
10055        setFilled,
10056        name: fieldName,
10057        disabled: fieldDisabled,
10058        validation,
10059        validationMode
10060      } = useFieldRootContext();
10061      const generatedId = useLabelableId({
10062        id
10063      });
10064      const disabled2 = fieldDisabled || disabledProp;
10065      const name3 = fieldName ?? nameProp;
10066      const [value, setValueUnwrapped] = useControlled({
10067        controlled: valueProp,
10068        default: multiple ? defaultValue ?? EMPTY_ARRAY : defaultValue,
10069        name: "Select",
10070        state: "value"
10071      });
10072      const [open2, setOpenUnwrapped] = useControlled({
10073        controlled: openProp,
10074        default: defaultOpen,
10075        name: "Select",
10076        state: "open"
10077      });
10078      const listRef = React66.useRef([]);
10079      const labelsRef = React66.useRef([]);
10080      const popupRef = React66.useRef(null);
10081      const scrollHandlerRef = React66.useRef(null);
10082      const scrollArrowsMountedCountRef = React66.useRef(0);
10083      const valueRef = React66.useRef(null);
10084      const valuesRef = React66.useRef([]);
10085      const typingRef = React66.useRef(false);
10086      const firstItemTextRef = React66.useRef(null);
10087      const selectedItemTextRef = React66.useRef(null);
10088      const selectionRef = React66.useRef({
10089        allowSelectedMouseUp: false,
10090        allowUnselectedMouseUp: false,
10091        dragY: 0
10092      });
10093      const alignItemWithTriggerActiveRef = React66.useRef(false);
10094      const initialValueRef = React66.useRef(value);
10095      const {
10096        openMethod,
10097        triggerProps: interactionTypeProps
10098      } = useOpenInteractionType(open2);
10099      const store = useRefWithInit(() => new ReactStore({
10100        id: generatedId,
10101        labelId: void 0,
10102        modal,
10103        multiple,
10104        disabled: disabled2,
10105        readOnly,
10106        required,
10107        highlightItemOnHover,
10108        itemToStringLabel,
10109        itemToStringValue,
10110        isItemEqualToValue,
10111        value,
10112        open: open2,
10113        // Seeded with the initial values of `useUnmountAfterClose`, which is called after the
10114        // store because its unmount cleanup writes to it. `useSyncedValues` keeps them in sync.
10115        mounted: open2,
10116        transitionStatus: void 0,
10117        items,
10118        forceMount: false,
10119        openMethod: null,
10120        activeIndex: null,
10121        selectedIndex: null,
10122        popupProps: EMPTY_OBJECT,
10123        triggerProps: EMPTY_OBJECT,
10124        itemRoot: {
10125          props: EMPTY_OBJECT,
10126          multiple,
10127          disabled: disabled2,
10128          readOnly,
10129          isItemEqualToValue
10130        },
10131        triggerElement: null,
10132        positionerElement: null,
10133        listElement: null,
10134        popupSide: null,
10135        scrollUpArrowVisible: false,
10136        scrollDownArrowVisible: false,
10137        hasScrollArrows: false
10138      }, {
10139        setValue: NOOP,
10140        setOpen: NOOP,
10141        handleScrollArrowVisibility: NOOP,
10142        onOpenChangeComplete: NOOP,
10143        listRef,
10144        popupRef,
10145        scrollHandlerRef,
10146        scrollArrowsMountedCountRef,
10147        valueRef,
10148        valuesRef,
10149        labelsRef,
10150        typingRef,
10151        selectionRef,
10152        firstItemTextRef,
10153        selectedItemTextRef,
10154        alignItemWithTriggerActiveRef,
10155        initialValueRef
10156      }, selectors2)).current;
10157      const [preventUnmountOnClose, setPreventUnmountOnClose] = React66.useState(false);
10158      const {
10159        mounted,
10160        transitionStatus,
10161        forceUnmount: handleUnmount
10162      } = useUnmountAfterClose({
10163        open: open2,
10164        ref: popupRef,
10165        preventUnmountOnClose,
10166        setPreventUnmountOnClose,
10167        onUnmount() {
10168          store.update({
10169            activeIndex: null,
10170            openMethod: null,
10171            scrollUpArrowVisible: false,
10172            scrollDownArrowVisible: false
10173          });
10174          onOpenChangeComplete?.(false);
10175        }
10176      });
10177      const activeIndex = store.useState("activeIndex");
10178      const selectedIndex = store.useState("selectedIndex");
10179      const triggerElement = store.useState("triggerElement");
10180      const positionerElement = store.useState("positionerElement");
10181      const previousOpenMethod = usePreviousValue(openMethod);
10182      const renderedOpenMethod = openMethod ?? previousOpenMethod;
10183      const serializedValue = React66.useMemo(() => {
10184        if (multiple) {
10185          return "";
10186        }
10187        return stringifyAsValue(value, itemToStringValue);
10188      }, [multiple, value, itemToStringValue]);
10189      const fieldStringValue = React66.useMemo(() => {
10190        if (multiple && Array.isArray(value)) {
10191          return value.map((currentValue) => stringifyAsValue(currentValue, itemToStringValue));
10192        }
10193        return stringifyAsValue(value, itemToStringValue);
10194      }, [multiple, value, itemToStringValue]);
10195      const controlRef = useValueAsRef(triggerElement);
10196      const getStringifiedValueForForm = useStableCallback(() => fieldStringValue);
10197      useRegisterFieldControl(controlRef, generatedId, value, getStringifiedValueForForm, !disabled2, nameProp);
10198      const hasSelectedValue = multiple ? Array.isArray(value) && value.length > 0 : value != null && serializedValue !== "";
10199      useIsoLayoutEffect(() => {
10200        setFilled(hasSelectedValue);
10201      }, [hasSelectedValue, setFilled]);
10202      useIsoLayoutEffect(function syncSelectedIndex() {
10203        const nextIndex = findSelectionIndex(valuesRef.current, value, isItemEqualToValue, multiple);
10204        if (nextIndex === null) {
10205          selectedItemTextRef.current = null;
10206        }
10207        if (open2) {
10208          return;
10209        }
10210        store.set("selectedIndex", nextIndex);
10211      }, [multiple, open2, value, isItemEqualToValue, store]);
10212      useValueChanged(value, () => {
10213        clearErrors(name3);
10214        setDirty(isSelectedValueDirty(value, validityData.initialValue, isItemEqualToValue));
10215        validation.change(value);
10216      });
10217      const setOpen = useStableCallback((nextOpen, eventDetails) => {
10218        const openEventDetails = eventDetails;
10219        const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(openEventDetails);
10220        onOpenChange?.(nextOpen, openEventDetails);
10221        if (eventDetails.isCanceled) {
10222          return;
10223        }
10224        if (!nextOpen) {
10225          setPreventUnmountOnClose(shouldPreventUnmountOnClose());
10226        }
10227        setOpenUnwrapped(nextOpen);
10228        if (!nextOpen && (eventDetails.reason === reason_parts_exports.focusOut || eventDetails.reason === reason_parts_exports.outsidePress)) {
10229          setTouched(true);
10230          setFocused(false);
10231          if (validationMode === "onBlur") {
10232            validation.commit(value);
10233          }
10234        }
10235      });
10236      React66.useImperativeHandle(actionsRef, () => ({
10237        unmount: handleUnmount,
10238        close: () => {
10239          if (store.state.open) {
10240            setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction));
10241          }
10242        }
10243      }), [handleUnmount, setOpen, store]);
10244      const setValue = useStableCallback((nextValue, eventDetails) => {
10245        onValueChange?.(nextValue, eventDetails);
10246        if (eventDetails.isCanceled) {
10247          return;
10248        }
10249        setValueUnwrapped(nextValue);
10250      });
10251      const handleScrollArrowVisibility = useStableCallback((scroller) => {
10252        const maxScrollTop = getMaxScrollOffset(scroller.scrollHeight, scroller.clientHeight);
10253        const scrollTop = normalizeScrollOffset(scroller.scrollTop, maxScrollTop);
10254        const shouldShowUp = scrollTop > 0;
10255        const shouldShowDown = scrollTop < maxScrollTop;
10256        store.set("scrollUpArrowVisible", shouldShowUp);
10257        store.set("scrollDownArrowVisible", shouldShowDown);
10258      });
10259      const floatingContext = useFloatingRootContext({
10260        open: open2,
10261        onOpenChange: setOpen,
10262        elements: {
10263          reference: triggerElement,
10264          floating: positionerElement
10265        }
10266      });
10267      const click = useClick(floatingContext, {
10268        enabled: !disabled2,
10269        event: "mousedown"
10270      });
10271      const dismiss = useDismiss(floatingContext);
10272      const listNavigation2 = useListNavigation(floatingContext, {
10273        enabled: !disabled2,
10274        listRef,
10275        activeIndex,
10276        selectedIndex,
10277        disabledIndices: EMPTY_ARRAY,
10278        onNavigate(nextActiveIndex) {
10279          if (nextActiveIndex === null && !open2) {
10280            return;
10281          }
10282          store.set("activeIndex", nextActiveIndex);
10283        },
10284        focusItemOnHover: highlightItemOnHover
10285      });
10286      const typeahead = useTypeahead(floatingContext, {
10287        // Typeahead on an open popup only moves the highlight, so it remains available while
10288        // `readOnly`. The closed-trigger variant commits a value instead, so it doesn't.
10289        enabled: !disabled2 && (open2 || !readOnly && !multiple),
10290        listRef: labelsRef,
10291        activeIndex,
10292        selectedIndex,
10293        // Skip disabled items while matching so typeahead advances to the next selectable item
10294        // (a click can never select a disabled item and native `<select>` skips them too). Resolve
10295        // the disabled state from the element via the attribute-only `isElementDisabled` so the
10296        // hidden, force-mounted items used for closed-trigger typeahead aren't dropped by the
10297        // `elementsRef`/visibility filter that `disabledIndices` deliberately sidesteps.
10298        disabledIndices: (index2) => isElementDisabled(listRef.current[index2]),
10299        onMatch(index2) {
10300          if (open2) {
10301            store.set("activeIndex", index2);
10302          } else {
10303            setValue(valuesRef.current[index2], createChangeEventDetails(reason_parts_exports.none));
10304          }
10305        },
10306        onTyping(typing) {
10307          typingRef.current = typing;
10308        }
10309      });
10310      const mergedTriggerProps = React66.useMemo(() => mergeProps(typeahead.reference, listNavigation2.reference, dismiss.reference, click.reference, interactionTypeProps), [click.reference, typeahead.reference, listNavigation2.reference, dismiss.reference, interactionTypeProps]);
10311      const popupProps = React66.useMemo(() => mergeProps(FOCUSABLE_POPUP_PROPS, typeahead.floating, listNavigation2.floating, dismiss.floating), [typeahead.floating, listNavigation2.floating, dismiss.floating]);
10312      const itemProps = listNavigation2.item ?? EMPTY_OBJECT;
10313      const itemRoot = React66.useMemo(() => ({
10314        props: itemProps,
10315        multiple,
10316        disabled: disabled2,
10317        readOnly,
10318        isItemEqualToValue
10319      }), [itemProps, multiple, disabled2, readOnly, isItemEqualToValue]);
10320      store.useContextCallback("setValue", setValue);
10321      store.useContextCallback("setOpen", setOpen);
10322      store.useContextCallback("handleScrollArrowVisibility", handleScrollArrowVisibility);
10323      store.useContextCallback("onOpenChangeComplete", onOpenChangeComplete);
10324      useOnFirstRender(() => {
10325        store.update({
10326          popupProps,
10327          triggerProps: mergedTriggerProps,
10328          itemRoot
10329        });
10330      });
10331      store.useSyncedValues({
10332        id: generatedId,
10333        modal,
10334        multiple,
10335        disabled: disabled2,
10336        readOnly,
10337        required,
10338        highlightItemOnHover,
10339        value,
10340        open: open2,
10341        mounted,
10342        transitionStatus,
10343        popupProps,
10344        triggerProps: mergedTriggerProps,
10345        itemRoot,
10346        items,
10347        itemToStringLabel,
10348        itemToStringValue,
10349        isItemEqualToValue,
10350        openMethod: renderedOpenMethod
10351      });
10352      const ref = useMergedRefs(inputRef, validation.inputRef);
10353      const hiddenInputName = multiple ? void 0 : name3;
10354      const hiddenInputs = React66.useMemo(() => {
10355        if (!multiple || !Array.isArray(value) || !name3) {
10356          return null;
10357        }
10358        return value.map((v) => {
10359          const currentSerializedValue = stringifyAsValue(v, itemToStringValue);
10360          return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("input", {
10361            type: "hidden",
10362            form,
10363            name: name3,
10364            value: currentSerializedValue,
10365            disabled: disabled2
10366          }, currentSerializedValue);
10367        });
10368      }, [multiple, value, form, name3, itemToStringValue, disabled2]);
10369      return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(SelectRootContext.Provider, {
10370        value: store,
10371        children: [/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(SelectFloatingContext.Provider, {
10372          value: floatingContext,
10373          children
10374        }), /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("input", {
10375          ...validation.getValidationProps(disabled2, {
10376            onFocus() {
10377              store.state.triggerElement?.focus({
10378                // Supported in Chrome from 144 (January 2026)
10379                focusVisible: true
10380              });
10381            },
10382            // Handle browser autofill.
10383            onChange(event) {
10384              if (event.nativeEvent.defaultPrevented || disabled2 || readOnly) {
10385                return;
10386              }
10387              const nextValue = event.currentTarget.value;
10388              const details = createChangeEventDetails(reason_parts_exports.none, event.nativeEvent);
10389              function handleChange() {
10390                if (multiple) {
10391                  return;
10392                }
10393                const nextValueLower = nextValue.toLowerCase();
10394                let matchingIndex = valuesRef.current.findIndex((candidate) => stringifyAsValue(candidate, itemToStringValue).toLowerCase() === nextValueLower || stringifyAsLabel(candidate, itemToStringLabel).toLowerCase() === nextValueLower);
10395                if (matchingIndex === -1) {
10396                  matchingIndex = valuesRef.current.findIndex((_, index2) => {
10397                    const renderedLabel = labelsRef.current[index2];
10398                    return renderedLabel != null && renderedLabel.toLowerCase() === nextValueLower;
10399                  });
10400                }
10401                const matchingValue = valuesRef.current[matchingIndex];
10402                if (matchingValue != null) {
10403                  setValue(matchingValue, details);
10404                }
10405              }
10406              store.set("forceMount", true);
10407              queueMicrotask(handleChange);
10408            }
10409          }),
10410          id: generatedId && hiddenInputName == null ? `$generatedId}-hidden-input` : void 0,
10411          form,
10412          name: hiddenInputName,
10413          autoComplete,
10414          value: serializedValue,
10415          disabled: disabled2,
10416          required: required && !(multiple && hasSelectedValue),
10417          readOnly,
10418          ref,
10419          style: name3 ? visuallyHiddenInput : visuallyHidden,
10420          tabIndex: -1,
10421          "aria-hidden": true,
10422          suppressHydrationWarning: true
10423        }), hiddenInputs]
10424      });
10425    }
10426  
10427    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/label/SelectLabel.mjs
10428    var React67 = __toESM(require_react(), 1);
10429    var SelectLabel = /* @__PURE__ */ React67.forwardRef(function SelectLabel2(componentProps, forwardedRef) {
10430      const {
10431        render,
10432        className,
10433        style,
10434        ...elementProps
10435      } = componentProps;
10436      const elementPropsWithoutId = elementProps;
10437      delete elementPropsWithoutId.id;
10438      const fieldRootContext = useFieldRootContext();
10439      const store = useSelectRootContext();
10440      const triggerElement = store.useState("triggerElement");
10441      const rootId = store.useState("id");
10442      const defaultLabelId = getDefaultLabelId(rootId);
10443      const labelProps = useLabel({
10444        id: defaultLabelId,
10445        fallbackControlId: triggerElement?.id ?? rootId,
10446        setLabelId(nextLabelId) {
10447          const resolvedLabelId = typeof nextLabelId === "function" ? nextLabelId(store.state.labelId) : nextLabelId;
10448          store.set("labelId", resolvedLabelId);
10449        }
10450      });
10451      return useRenderElement("div", componentProps, {
10452        ref: forwardedRef,
10453        state: fieldRootContext.state,
10454        props: [labelProps, elementProps],
10455        stateAttributesMapping: fieldValidityMapping
10456      });
10457    });
10458    if (true) SelectLabel.displayName = "SelectLabel";
10459  
10460    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/trigger/SelectTrigger.mjs
10461    var React68 = __toESM(require_react(), 1);
10462  
10463    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/trigger/SelectTriggerDataAttributes.mjs
10464    var popupOpen2 = CommonTriggerDataAttributes_exports.popupOpen;
10465    var pressed2 = CommonTriggerDataAttributes_exports.pressed;
10466    var popupSide = "data-popup-side";
10467  
10468    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/trigger/SelectTrigger.mjs
10469    var SELECTED_DELAY = 400;
10470    var stateAttributesMapping2 = {
10471      ...pressableTriggerOpenStateMapping,
10472      ...fieldValidityMapping,
10473      popupSide: (side) => side ? {
10474        [popupSide]: side
10475      } : null,
10476      value: () => null
10477    };
10478    var SelectTrigger = /* @__PURE__ */ React68.forwardRef(function SelectTrigger2(componentProps, forwardedRef) {
10479      const {
10480        render,
10481        className,
10482        id: idProp,
10483        disabled: disabledProp = false,
10484        nativeButton = true,
10485        style,
10486        ...elementProps
10487      } = componentProps;
10488      const {
10489        setTouched,
10490        validationMode,
10491        validation,
10492        state: fieldState,
10493        disabled: fieldDisabled
10494      } = useFieldRootContext();
10495      const {
10496        labelId: fieldLabelId
10497      } = useLabelableContext();
10498      const store = useSelectRootContext();
10499      const readOnly = store.useState("readOnly");
10500      const required = store.useState("required");
10501      const selectDisabled = store.useState("disabled");
10502      const disabled2 = fieldDisabled || selectDisabled || disabledProp;
10503      const open2 = store.useState("open");
10504      const mounted = store.useState("mounted");
10505      const value = store.useState("value");
10506      const triggerProps = store.useState("triggerProps");
10507      const positionerElement = store.useState("positionerElement");
10508      const listElement = store.useState("listElement");
10509      const popupSideValue = store.useState("popupSide");
10510      const rootId = store.useState("id");
10511      const selectLabelId = store.useState("labelId");
10512      const hasSelectedValue = store.useState("hasSelectedValue");
10513      const popupSide2 = mounted && positionerElement ? popupSideValue : null;
10514      const id = idProp ?? rootId;
10515      const ariaLabelledBy = resolveAriaLabelledBy(fieldLabelId, selectLabelId);
10516      useLabelableId({
10517        id: idProp
10518      });
10519      const positionerRef = useValueAsRef(positionerElement);
10520      const triggerRef = React68.useRef(null);
10521      const setFocused = useSetFieldFocused(disabled2, triggerRef);
10522      const {
10523        getButtonProps,
10524        buttonRef
10525      } = useButton({
10526        disabled: disabled2,
10527        native: nativeButton
10528      });
10529      const setTriggerElement = store.useStateSetter("triggerElement");
10530      const timeoutFocus = useTimeout();
10531      const timeoutMouseDown = useTimeout();
10532      const selectedDelayTimeout = useTimeout();
10533      React68.useEffect(() => {
10534        if (open2) {
10535          selectedDelayTimeout.start(SELECTED_DELAY, () => {
10536            store.context.selectionRef.current.allowUnselectedMouseUp = true;
10537            store.context.selectionRef.current.allowSelectedMouseUp = true;
10538          });
10539          return () => {
10540            selectedDelayTimeout.clear();
10541          };
10542        }
10543        store.context.selectionRef.current = {
10544          allowSelectedMouseUp: false,
10545          allowUnselectedMouseUp: false,
10546          dragY: 0
10547        };
10548        timeoutMouseDown.clear();
10549        return void 0;
10550      }, [open2, store, timeoutMouseDown, selectedDelayTimeout]);
10551      const mergedProps = mergeProps(triggerProps, {
10552        id,
10553        role: "combobox",
10554        "aria-expanded": open2,
10555        "aria-haspopup": "listbox",
10556        "aria-controls": open2 ? listElement?.id ?? getFloatingFocusElement(positionerElement)?.id : void 0,
10557        "aria-labelledby": ariaLabelledBy,
10558        "aria-readonly": readOnly || void 0,
10559        "aria-required": required || void 0,
10560        tabIndex: disabled2 ? -1 : 0,
10561        onFocus(event) {
10562          setFocused(true);
10563          if (open2 && store.context.alignItemWithTriggerActiveRef.current) {
10564            store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.none, event.nativeEvent));
10565          }
10566          timeoutFocus.start(0, () => {
10567            store.set("forceMount", true);
10568          });
10569        },
10570        onBlur(event) {
10571          if (contains(positionerElement, event.relatedTarget)) {
10572            return;
10573          }
10574          setTouched(true);
10575          setFocused(false);
10576          if (validationMode === "onBlur") {
10577            validation.commit(value);
10578          }
10579        },
10580        onMouseDown(event) {
10581          if (open2) {
10582            return;
10583          }
10584          const doc = ownerDocument(event.currentTarget);
10585          function handleMouseUp(mouseEvent) {
10586            if (!triggerRef.current) {
10587              return;
10588            }
10589            const mouseUpTarget = mouseEvent.target;
10590            if (contains(triggerRef.current, mouseUpTarget) || contains(positionerRef.current, mouseUpTarget)) {
10591              return;
10592            }
10593            if (isMouseWithinBounds(mouseEvent, triggerRef.current)) {
10594              return;
10595            }
10596            store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.cancelOpen, mouseEvent));
10597          }
10598          timeoutMouseDown.start(0, () => {
10599            doc.addEventListener("mouseup", handleMouseUp, {
10600              once: true
10601            });
10602          });
10603        }
10604      }, elementProps, getButtonProps);
10605      const props = validation.getValidationProps(disabled2, mergedProps);
10606      props.role = "combobox";
10607      const state = {
10608        ...fieldState,
10609        open: open2,
10610        disabled: disabled2,
10611        value,
10612        readOnly,
10613        popupSide: popupSide2,
10614        placeholder: !hasSelectedValue
10615      };
10616      return useRenderElement("button", componentProps, {
10617        ref: [forwardedRef, triggerRef, buttonRef, setTriggerElement],
10618        state,
10619        stateAttributesMapping: stateAttributesMapping2,
10620        props
10621      });
10622    });
10623    if (true) SelectTrigger.displayName = "SelectTrigger";
10624  
10625    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/value/SelectValue.mjs
10626    var React69 = __toESM(require_react(), 1);
10627    var stateAttributesMapping3 = {
10628      value: () => null
10629    };
10630    var SelectValue = /* @__PURE__ */ React69.forwardRef(function SelectValue2(componentProps, forwardedRef) {
10631      const {
10632        className,
10633        render,
10634        children: childrenProp,
10635        placeholder,
10636        style,
10637        ...elementProps
10638      } = componentProps;
10639      const store = useSelectRootContext();
10640      const value = store.useState("value");
10641      const items = store.useState("items");
10642      const itemToStringLabel = store.useState("itemToStringLabel");
10643      const hasSelectedValue = store.useState("hasSelectedValue");
10644      const shouldCheckNullItemLabel = !hasSelectedValue && placeholder != null && childrenProp == null;
10645      const hasNullLabel = store.useState("hasNullItemLabel", shouldCheckNullItemLabel);
10646      const state = {
10647        value,
10648        placeholder: !hasSelectedValue
10649      };
10650      let children = null;
10651      if (typeof childrenProp === "function") {
10652        children = childrenProp(value);
10653      } else if (childrenProp != null) {
10654        children = childrenProp;
10655      } else if (shouldCheckNullItemLabel && !hasNullLabel) {
10656        children = placeholder;
10657      } else if (Array.isArray(value)) {
10658        children = resolveMultipleLabels(value, items, itemToStringLabel);
10659      } else {
10660        children = resolveSelectedLabel(value, items, itemToStringLabel);
10661      }
10662      const element = useRenderElement("span", componentProps, {
10663        state,
10664        ref: [forwardedRef, store.context.valueRef],
10665        props: [{
10666          children
10667        }, elementProps],
10668        stateAttributesMapping: stateAttributesMapping3
10669      });
10670      return element;
10671    });
10672    if (true) SelectValue.displayName = "SelectValue";
10673  
10674    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/icon/SelectIcon.mjs
10675    var React70 = __toESM(require_react(), 1);
10676    var SelectIcon = /* @__PURE__ */ React70.forwardRef(function SelectIcon2(componentProps, forwardedRef) {
10677      const {
10678        render,
10679        className,
10680        style,
10681        ...elementProps
10682      } = componentProps;
10683      const store = useSelectRootContext();
10684      const open2 = store.useState("open");
10685      const state = {
10686        open: open2
10687      };
10688      const element = useRenderElement("span", componentProps, {
10689        state,
10690        ref: forwardedRef,
10691        props: [{
10692          "aria-hidden": true,
10693          children: "\u25BC"
10694        }, elementProps],
10695        stateAttributesMapping: triggerOpenStateMapping
10696      });
10697      return element;
10698    });
10699    if (true) SelectIcon.displayName = "SelectIcon";
10700  
10701    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/portal/SelectPortal.mjs
10702    var React71 = __toESM(require_react(), 1);
10703    var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1);
10704    var SelectPortal = /* @__PURE__ */ React71.forwardRef(function SelectPortal2(portalProps, forwardedRef) {
10705      const store = useSelectRootContext();
10706      const mounted = store.useState("mounted");
10707      const forceMount = store.useState("forceMount");
10708      const shouldRender = mounted || forceMount;
10709      if (!shouldRender) {
10710        return null;
10711      }
10712      return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(FloatingPortal, {
10713        ref: forwardedRef,
10714        ...portalProps
10715      });
10716    });
10717    if (true) SelectPortal.displayName = "SelectPortal";
10718  
10719    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/backdrop/SelectBackdrop.mjs
10720    var React72 = __toESM(require_react(), 1);
10721    var stateAttributesMapping4 = {
10722      ...popupStateMapping,
10723      ...transitionStatusMapping
10724    };
10725    var SelectBackdrop = /* @__PURE__ */ React72.forwardRef(function SelectBackdrop2(componentProps, forwardedRef) {
10726      const {
10727        render,
10728        className,
10729        style,
10730        ...elementProps
10731      } = componentProps;
10732      const store = useSelectRootContext();
10733      const open2 = store.useState("open");
10734      const mounted = store.useState("mounted");
10735      const transitionStatus = store.useState("transitionStatus");
10736      const state = {
10737        open: open2,
10738        transitionStatus
10739      };
10740      const element = useRenderElement("div", componentProps, {
10741        state,
10742        ref: forwardedRef,
10743        props: [{
10744          role: "presentation",
10745          hidden: !mounted,
10746          style: {
10747            userSelect: "none",
10748            WebkitUserSelect: "none"
10749          }
10750        }, elementProps],
10751        stateAttributesMapping: stateAttributesMapping4
10752      });
10753      return element;
10754    });
10755    if (true) SelectBackdrop.displayName = "SelectBackdrop";
10756  
10757    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositioner.mjs
10758    var React74 = __toESM(require_react(), 1);
10759  
10760    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositionerContext.mjs
10761    var React73 = __toESM(require_react(), 1);
10762    var SelectPositionerContext = /* @__PURE__ */ React73.createContext(void 0);
10763    if (true) SelectPositionerContext.displayName = "SelectPositionerContext";
10764    function useSelectPositionerContext() {
10765      const context = React73.useContext(SelectPositionerContext);
10766      if (!context) {
10767        throw new Error(true ? "Base UI: SelectPositionerContext is missing. SelectPositioner parts must be placed within <Select.Positioner>." : formatErrorMessage_default(59));
10768      }
10769      return context;
10770    }
10771  
10772    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/popup/utils.mjs
10773    function clearStyles(element, originalStyles) {
10774      if (element) {
10775        Object.assign(element.style, originalStyles);
10776      }
10777    }
10778    var LIST_FUNCTIONAL_STYLES = {
10779      position: "relative",
10780      maxHeight: "100%",
10781      overflowX: "hidden",
10782      overflowY: "auto"
10783    };
10784  
10785    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositioner.mjs
10786    var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1);
10787    var FIXED = {
10788      position: "fixed"
10789    };
10790    var SelectPositioner = /* @__PURE__ */ React74.forwardRef(function SelectPositioner2(componentProps, forwardedRef) {
10791      const {
10792        anchor,
10793        className,
10794        render,
10795        // `useAnchorPositioning` applies the same defaults to the undefined values; the names
10796        // remain destructured to exclude the props from `elementProps`.
10797        positionMethod,
10798        side,
10799        align,
10800        sideOffset,
10801        alignOffset,
10802        collisionBoundary = "clipping-ancestors",
10803        collisionPadding,
10804        arrowPadding,
10805        sticky,
10806        disableAnchorTracking,
10807        alignItemWithTrigger = true,
10808        collisionAvoidance = DROPDOWN_COLLISION_AVOIDANCE,
10809        style,
10810        ...elementProps
10811      } = componentProps;
10812      const store = useSelectRootContext();
10813      const floatingRootContext = useSelectFloatingContext();
10814      const open2 = store.useState("open");
10815      const mounted = store.useState("mounted");
10816      const modal = store.useState("modal");
10817      const value = store.useState("value");
10818      const openMethod = store.useState("openMethod");
10819      const positionerElement = store.useState("positionerElement");
10820      const triggerElement = store.useState("triggerElement");
10821      const isItemEqualToValue = store.useState("isItemEqualToValue");
10822      const transitionStatus = store.useState("transitionStatus");
10823      const scrollUpArrowRef = React74.useRef(null);
10824      const scrollDownArrowRef = React74.useRef(null);
10825      const [controlledAlignItemWithTrigger, setControlledAlignItemWithTrigger] = React74.useState(alignItemWithTrigger);
10826      const alignItemWithTriggerActive = mounted && controlledAlignItemWithTrigger && openMethod !== "touch";
10827      if (!mounted && controlledAlignItemWithTrigger !== alignItemWithTrigger) {
10828        setControlledAlignItemWithTrigger(alignItemWithTrigger);
10829      }
10830      React74.useImperativeHandle(store.context.alignItemWithTriggerActiveRef, () => alignItemWithTriggerActive);
10831      useAnchoredPopupScrollLock((alignItemWithTriggerActive || modal) && open2, openMethod === "touch", positionerElement, triggerElement);
10832      const positioning = useAnchorPositioning({
10833        anchor,
10834        floatingRootContext,
10835        positionMethod,
10836        mounted,
10837        side,
10838        sideOffset,
10839        align,
10840        alignOffset,
10841        arrowPadding,
10842        collisionBoundary,
10843        collisionPadding,
10844        sticky,
10845        disableAnchorTracking: disableAnchorTracking ?? alignItemWithTriggerActive,
10846        collisionAvoidance,
10847        keepMounted: true
10848      });
10849      const renderedSide = alignItemWithTriggerActive ? "none" : positioning.side;
10850      const positionerStyles = alignItemWithTriggerActive ? FIXED : positioning.positionerStyles;
10851      const state = {
10852        open: open2,
10853        side: renderedSide,
10854        align: positioning.align,
10855        anchorHidden: positioning.anchorHidden
10856      };
10857      useIsoLayoutEffect(() => {
10858        store.set("popupSide", positioning.side);
10859      }, [store, positioning.side]);
10860      const setPositionerElement = store.useStateSetter("positionerElement");
10861      const element = usePositioner(componentProps, state, {
10862        styles: positionerStyles,
10863        transitionStatus,
10864        props: elementProps,
10865        refs: [forwardedRef, setPositionerElement],
10866        hidden: !mounted,
10867        inert: !open2
10868      });
10869      const prevMapSizeRef = React74.useRef(0);
10870      const onMapChange = useStableCallback((map) => {
10871        if (store.context.valuesRef.current.length === 0) {
10872          return;
10873        }
10874        const prevSize = prevMapSizeRef.current;
10875        prevMapSizeRef.current = map.size;
10876        const eventDetails = createChangeEventDetails(reason_parts_exports.none);
10877        if (prevSize !== 0 && !store.state.multiple && value !== null) {
10878          const selectedValueIndex = findItemIndex(store.context.valuesRef.current, value, isItemEqualToValue);
10879          if (selectedValueIndex === -1) {
10880            const initialSelectedValue = store.context.initialValueRef.current;
10881            const hasInitial = initialSelectedValue != null && findItemIndex(store.context.valuesRef.current, initialSelectedValue, isItemEqualToValue) !== -1;
10882            const nextValue = hasInitial ? initialSelectedValue : null;
10883            store.context.setValue(nextValue, eventDetails);
10884            if (nextValue === null) {
10885              store.set("selectedIndex", null);
10886              store.context.selectedItemTextRef.current = null;
10887            }
10888          }
10889        }
10890        if (prevSize !== 0 && store.state.multiple && Array.isArray(value)) {
10891          const nextValue = value.filter((selectedItemValue) => findItemIndex(store.context.valuesRef.current, selectedItemValue, isItemEqualToValue) !== -1);
10892          if (nextValue.length !== value.length) {
10893            store.context.setValue(nextValue, eventDetails);
10894            if (nextValue.length === 0) {
10895              store.set("selectedIndex", null);
10896              store.context.selectedItemTextRef.current = null;
10897            }
10898          }
10899        }
10900        if (open2 && alignItemWithTriggerActive) {
10901          store.update({
10902            scrollUpArrowVisible: false,
10903            scrollDownArrowVisible: false
10904          });
10905          const stylesToClear = {
10906            height: ""
10907          };
10908          clearStyles(positionerElement, stylesToClear);
10909          clearStyles(store.context.popupRef.current, stylesToClear);
10910        }
10911      });
10912      const contextValue = React74.useMemo(() => ({
10913        ...positioning,
10914        side: renderedSide,
10915        alignItemWithTriggerActive,
10916        setControlledAlignItemWithTrigger,
10917        scrollUpArrowRef,
10918        scrollDownArrowRef
10919      }), [positioning, renderedSide, alignItemWithTriggerActive, setControlledAlignItemWithTrigger]);
10920      return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CompositeList, {
10921        elementsRef: store.context.listRef,
10922        labelsRef: store.context.labelsRef,
10923        onMapChange,
10924        children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(SelectPositionerContext.Provider, {
10925          value: contextValue,
10926          children: [mounted && modal && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(InternalBackdrop, {
10927            inert: inertValue(!open2),
10928            cutout: triggerElement
10929          }), element]
10930        })
10931      });
10932    });
10933    if (true) SelectPositioner.displayName = "SelectPositioner";
10934  
10935    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/popup/SelectPopup.mjs
10936    var React75 = __toESM(require_react(), 1);
10937  
10938    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositionerCssVars.mjs
10939    var transformOrigin2 = "--transform-origin";
10940  
10941    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/popup/SelectPopup.mjs
10942    var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1);
10943    var stateAttributesMapping5 = {
10944      ...popupStateMapping,
10945      ...transitionStatusMapping
10946    };
10947    var SelectPopup = /* @__PURE__ */ React75.forwardRef(function SelectPopup2(componentProps, forwardedRef) {
10948      const {
10949        render,
10950        className,
10951        style,
10952        finalFocus,
10953        ...elementProps
10954      } = componentProps;
10955      const store = useSelectRootContext();
10956      const multiple = store.useState("multiple");
10957      const readOnly = store.useState("readOnly");
10958      const highlightItemOnHover = store.useState("highlightItemOnHover");
10959      const floatingRootContext = useSelectFloatingContext();
10960      const {
10961        side,
10962        align,
10963        alignItemWithTriggerActive,
10964        isPositioned,
10965        setControlledAlignItemWithTrigger
10966      } = useSelectPositionerContext();
10967      const insideToolbar = useToolbarRootContext(true) != null;
10968      const direction = useDirection();
10969      const {
10970        nonce,
10971        disableStyleElements
10972      } = useCSPContext();
10973      const id = store.useState("id");
10974      const open2 = store.useState("open");
10975      const openMethod = store.useState("openMethod");
10976      const mounted = store.useState("mounted");
10977      const popupProps = store.useState("popupProps");
10978      const transitionStatus = store.useState("transitionStatus");
10979      const triggerElement = store.useState("triggerElement");
10980      const positionerElement = store.useState("positionerElement");
10981      const listElement = store.useState("listElement");
10982      const reachedMaxHeightRef = React75.useRef(false);
10983      const initialPlacedRef = React75.useRef(false);
10984      const originalPositionerStylesRef = React75.useRef({});
10985      const scrollArrowFrame = useAnimationFrame();
10986      const handleScroll = useStableCallback((scroller) => {
10987        if (!positionerElement || !store.context.popupRef.current || !initialPlacedRef.current) {
10988          return;
10989        }
10990        const isTopPositioned = positionerElement.style.top === "0px";
10991        const isBottomPositioned = positionerElement.style.bottom === "0px";
10992        if (reachedMaxHeightRef.current || !alignItemWithTriggerActive || !isTopPositioned && !isBottomPositioned) {
10993          store.context.handleScrollArrowVisibility(scroller);
10994          return;
10995        }
10996        const scale = getScale2(positionerElement);
10997        const currentHeight = normalizeSize(positionerElement.getBoundingClientRect().height, "y", scale);
10998        const doc = ownerDocument(positionerElement);
10999        const win = getWindow(positionerElement);
11000        const positionerStyles = win.getComputedStyle(positionerElement);
11001        const marginTop = parseFloat(positionerStyles.marginTop);
11002        const marginBottom = parseFloat(positionerStyles.marginBottom);
11003        const maxPopupHeight = getMaxPopupHeight(win.getComputedStyle(store.context.popupRef.current));
11004        const maxAvailableHeight = Math.min(doc.documentElement.clientHeight - marginTop - marginBottom, maxPopupHeight);
11005        const scrollTop = scroller.scrollTop;
11006        const maxScrollTop = getMaxScrollTop(scroller);
11007        let nextScrollTop = null;
11008        const setHeight = (height) => {
11009          positionerElement.style.height = `$height}px`;
11010        };
11011        const diff = isTopPositioned ? maxScrollTop - scrollTop : scrollTop;
11012        const nextHeight = Math.min(currentHeight + diff, maxAvailableHeight);
11013        if (diff <= SCROLL_EDGE_TOLERANCE_PX) {
11014          const heightDelta = clamp2(diff, 0, maxAvailableHeight - currentHeight);
11015          if (heightDelta > 0) {
11016            setHeight(currentHeight + heightDelta);
11017          }
11018          scroller.scrollTop = isTopPositioned ? maxScrollTop : 0;
11019          if (maxAvailableHeight - (currentHeight + heightDelta) <= SCROLL_EDGE_TOLERANCE_PX) {
11020            reachedMaxHeightRef.current = true;
11021          }
11022          store.context.handleScrollArrowVisibility(scroller);
11023          return;
11024        }
11025        if (maxAvailableHeight - nextHeight > SCROLL_EDGE_TOLERANCE_PX) {
11026          nextScrollTop = isTopPositioned ? Infinity : 0;
11027        } else if (isBottomPositioned && scrollTop < maxScrollTop) {
11028          const overshoot = currentHeight + diff - maxAvailableHeight;
11029          nextScrollTop = scrollTop - (diff - overshoot);
11030        }
11031        const nextPositionerHeight = Math.ceil(nextHeight);
11032        if (nextPositionerHeight !== 0) {
11033          setHeight(nextPositionerHeight);
11034        }
11035        if (nextScrollTop != null) {
11036          const target = clamp2(nextScrollTop, 0, getMaxScrollTop(scroller));
11037          if (Math.abs(scroller.scrollTop - target) > SCROLL_EDGE_TOLERANCE_PX) {
11038            scroller.scrollTop = target;
11039          }
11040        }
11041        if (nextPositionerHeight >= maxAvailableHeight - SCROLL_EDGE_TOLERANCE_PX) {
11042          reachedMaxHeightRef.current = true;
11043        }
11044        store.context.handleScrollArrowVisibility(scroller);
11045      });
11046      React75.useImperativeHandle(store.context.scrollHandlerRef, () => handleScroll, [handleScroll]);
11047      useOpenChangeComplete({
11048        open: open2,
11049        ref: store.context.popupRef,
11050        onComplete() {
11051          if (open2) {
11052            store.context.onOpenChangeComplete(true);
11053          }
11054        }
11055      });
11056      const state = {
11057        open: open2,
11058        transitionStatus,
11059        side,
11060        align
11061      };
11062      useIsoLayoutEffect(() => {
11063        if (!positionerElement || !store.context.popupRef.current || Object.keys(originalPositionerStylesRef.current).length) {
11064          return;
11065        }
11066        originalPositionerStylesRef.current = {
11067          top: positionerElement.style.top || "0",
11068          left: positionerElement.style.left || "0",
11069          right: positionerElement.style.right,
11070          height: positionerElement.style.height,
11071          bottom: positionerElement.style.bottom,
11072          minHeight: positionerElement.style.minHeight,
11073          maxHeight: positionerElement.style.maxHeight,
11074          marginTop: positionerElement.style.marginTop,
11075          marginBottom: positionerElement.style.marginBottom
11076        };
11077      }, [store, positionerElement]);
11078      useIsoLayoutEffect(() => {
11079        if (open2 || alignItemWithTriggerActive) {
11080          return;
11081        }
11082        initialPlacedRef.current = false;
11083        reachedMaxHeightRef.current = false;
11084        clearStyles(positionerElement, originalPositionerStylesRef.current);
11085      }, [open2, alignItemWithTriggerActive, positionerElement]);
11086      useIsoLayoutEffect(() => {
11087        const popupElement = store.context.popupRef.current;
11088        if (!open2 || !triggerElement || !positionerElement || !popupElement || alignItemWithTriggerActive && !isPositioned || store.state.transitionStatus === "ending") {
11089          return;
11090        }
11091        initialPlacedRef.current = true;
11092        popupElement.style.removeProperty(transformOrigin2);
11093        if (!alignItemWithTriggerActive) {
11094          scrollArrowFrame.request(() => store.context.handleScrollArrowVisibility(listElement || popupElement));
11095          return;
11096        }
11097        const restoreTransformStyles = unsetTransformStyles(popupElement);
11098        try {
11099          let textElement = store.context.selectedItemTextRef.current;
11100          if (!textElement?.isConnected) {
11101            const hasSelectedValue = store.select("hasSelectedValue");
11102            textElement = !hasSelectedValue && store.context.firstItemTextRef.current?.isConnected ? store.context.firstItemTextRef.current : null;
11103          }
11104          const valueElement = store.context.valueRef.current;
11105          const win = getWindow(positionerElement);
11106          const positionerStyles = win.getComputedStyle(positionerElement);
11107          const popupStyles = win.getComputedStyle(popupElement);
11108          const doc = ownerDocument(triggerElement);
11109          const scale = getScale2(triggerElement);
11110          const triggerRect = normalizeRect(triggerElement.getBoundingClientRect(), scale);
11111          const positionerRect = normalizeRect(positionerElement.getBoundingClientRect(), scale);
11112          const triggerHeight = triggerRect.height;
11113          const scroller = listElement || popupElement;
11114          const scrollHeight = scroller.scrollHeight;
11115          const borderBottom = parseFloat(popupStyles.borderBottomWidth);
11116          const marginTop = parseFloat(positionerStyles.marginTop) || 10;
11117          const marginBottom = parseFloat(positionerStyles.marginBottom) || 10;
11118          const minHeight = parseFloat(positionerStyles.minHeight) || 100;
11119          const maxPopupHeight = getMaxPopupHeight(popupStyles);
11120          const paddingLeft = 5;
11121          const paddingRight = 5;
11122          const triggerCollisionThreshold = 20;
11123          const viewportHeight = doc.documentElement.clientHeight - marginTop - marginBottom;
11124          const viewportWidth = doc.documentElement.clientWidth;
11125          const availableSpaceBeneathTrigger = viewportHeight - triggerRect.bottom + triggerHeight;
11126          let textRect;
11127          let alignedLeft = direction === "rtl" ? triggerRect.right - positionerRect.width : triggerRect.left;
11128          let offsetY = 0;
11129          if (textElement && valueElement) {
11130            const valueRect = normalizeRect(valueElement.getBoundingClientRect(), scale);
11131            textRect = normalizeRect(textElement.getBoundingClientRect(), scale);
11132            alignedLeft = positionerRect.left + (direction === "rtl" ? valueRect.right - textRect.right : valueRect.left - textRect.left);
11133            const valueCenterFromTriggerTop = valueRect.top - triggerRect.top + valueRect.height / 2;
11134            const textCenterFromPositionerTop = textRect.top - positionerRect.top + textRect.height / 2;
11135            offsetY = textCenterFromPositionerTop - valueCenterFromTriggerTop;
11136          }
11137          const idealHeight = availableSpaceBeneathTrigger + offsetY + marginBottom + borderBottom;
11138          let height = Math.min(viewportHeight, idealHeight);
11139          const maxHeight = viewportHeight - marginTop - marginBottom;
11140          const scrollTop = idealHeight - height;
11141          const maxRight = viewportWidth - paddingRight;
11142          positionerElement.style.left = `$clamp2(alignedLeft, paddingLeft, maxRight - positionerRect.width)}px`;
11143          positionerElement.style.height = `$height}px`;
11144          positionerElement.style.maxHeight = "none";
11145          positionerElement.style.marginTop = `$marginTop}px`;
11146          positionerElement.style.marginBottom = `$marginBottom}px`;
11147          popupElement.style.height = "100%";
11148          const maxScrollTop = getMaxScrollTop(scroller);
11149          const isTopPositioned = scrollTop >= maxScrollTop - SCROLL_EDGE_TOLERANCE_PX;
11150          if (isTopPositioned) {
11151            height = Math.min(viewportHeight, positionerRect.height) - (scrollTop - maxScrollTop);
11152          }
11153          const fallbackToAlignPopupToTrigger = triggerRect.top < triggerCollisionThreshold || triggerRect.bottom > viewportHeight - triggerCollisionThreshold || Math.ceil(height) + SCROLL_EDGE_TOLERANCE_PX < Math.min(scrollHeight, minHeight);
11154          const isPinchZoomed = (win.visualViewport?.scale ?? 1) !== 1 && parts_exports.engine.webkit;
11155          if (fallbackToAlignPopupToTrigger || isPinchZoomed) {
11156            clearStyles(positionerElement, originalPositionerStylesRef.current);
11157            setControlledAlignItemWithTrigger(false);
11158            return;
11159          }
11160          const initialHeight = Math.max(minHeight, height);
11161          if (isTopPositioned) {
11162            const topOffset = Math.max(0, viewportHeight - idealHeight);
11163            positionerElement.style.top = positionerRect.height >= maxHeight ? "0" : `$topOffset}px`;
11164            positionerElement.style.height = `$height}px`;
11165            scroller.scrollTop = getMaxScrollTop(scroller);
11166          } else {
11167            positionerElement.style.bottom = "0";
11168            scroller.scrollTop = scrollTop;
11169          }
11170          if (textRect) {
11171            const popupTop = positionerRect.top;
11172            const popupHeight = positionerRect.height;
11173            const textCenterY = textRect.top + textRect.height / 2;
11174            const clampedY = clamp2(popupHeight > 0 ? (textCenterY - popupTop) / popupHeight * 100 : 50, 0, 100);
11175            popupElement.style.setProperty(transformOrigin2, `50% $clampedY}%`);
11176          }
11177          if (initialHeight === viewportHeight || height >= maxPopupHeight) {
11178            reachedMaxHeightRef.current = true;
11179          }
11180          store.context.handleScrollArrowVisibility(scroller);
11181          if (highlightItemOnHover && store.state.selectedIndex === null && store.state.activeIndex === null && store.context.listRef.current[0] != null) {
11182            store.set("activeIndex", 0);
11183          }
11184        } finally {
11185          restoreTransformStyles();
11186        }
11187      }, [store, open2, positionerElement, triggerElement, alignItemWithTriggerActive, setControlledAlignItemWithTrigger, scrollArrowFrame, listElement, highlightItemOnHover, direction, isPositioned]);
11188      React75.useEffect(() => {
11189        if (!alignItemWithTriggerActive || !positionerElement || !open2) {
11190          return void 0;
11191        }
11192        const win = getWindow(positionerElement);
11193        function handleResize(event) {
11194          store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.windowResize, event));
11195        }
11196        return addEventListener(win, "resize", handleResize);
11197      }, [store, alignItemWithTriggerActive, positionerElement, open2]);
11198      const defaultProps = {
11199        ...listElement ? {
11200          role: "presentation"
11201        } : {
11202          role: "listbox",
11203          "aria-multiselectable": multiple || void 0,
11204          "aria-readonly": readOnly || void 0,
11205          id: `$id}-list`
11206        },
11207        onKeyDown(event) {
11208          if (insideToolbar && COMPOSITE_KEYS.has(event.key)) {
11209            event.stopPropagation();
11210          }
11211        },
11212        onScroll(event) {
11213          if (listElement) {
11214            return;
11215          }
11216          handleScroll(event.currentTarget);
11217        },
11218        ...alignItemWithTriggerActive && {
11219          style: listElement ? {
11220            height: "100%"
11221          } : LIST_FUNCTIONAL_STYLES
11222        },
11223        className: !listElement && alignItemWithTriggerActive ? styleDisableScrollbar.className : void 0
11224      };
11225      const element = useRenderElement("div", componentProps, {
11226        ref: [forwardedRef, store.context.popupRef],
11227        state,
11228        stateAttributesMapping: stateAttributesMapping5,
11229        props: [popupProps, defaultProps, getDisabledMountTransitionStyles(transitionStatus), elementProps]
11230      });
11231      return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(React75.Fragment, {
11232        children: [!disableStyleElements && styleDisableScrollbar.getElement(nonce), /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(FloatingFocusManager, {
11233          context: floatingRootContext,
11234          modal: false,
11235          disabled: !mounted,
11236          openInteractionType: openMethod,
11237          returnFocus: finalFocus,
11238          restoreFocus: true,
11239          children: element
11240        })]
11241      });
11242    });
11243    if (true) SelectPopup.displayName = "SelectPopup";
11244    function getMaxPopupHeight(popupStyles) {
11245      const maxHeightStyle = popupStyles.maxHeight;
11246      return maxHeightStyle.endsWith("px") ? parseFloat(maxHeightStyle) || Infinity : Infinity;
11247    }
11248    function getMaxScrollTop(scroller) {
11249      return getMaxScrollOffset(scroller.scrollHeight, scroller.clientHeight);
11250    }
11251    function getScale2(element) {
11252      return platform2.getScale(element);
11253    }
11254    function normalizeSize(size4, axis, scale) {
11255      return size4 / scale[axis];
11256    }
11257    function normalizeRect(rect, scale) {
11258      return rectToClientRect({
11259        x: normalizeSize(rect.x, "x", scale),
11260        y: normalizeSize(rect.y, "y", scale),
11261        width: normalizeSize(rect.width, "x", scale),
11262        height: normalizeSize(rect.height, "y", scale)
11263      });
11264    }
11265    var TRANSFORM_STYLE_RESETS = [["transform", "none"], ["scale", "1"], ["translate", "0 0"]];
11266    function unsetTransformStyles(popupElement) {
11267      const {
11268        style
11269      } = popupElement;
11270      const originalStyles = {};
11271      for (const [property, value] of TRANSFORM_STYLE_RESETS) {
11272        originalStyles[property] = style.getPropertyValue(property);
11273        style.setProperty(property, value, "important");
11274      }
11275      return () => {
11276        for (const [property] of TRANSFORM_STYLE_RESETS) {
11277          const originalValue = originalStyles[property];
11278          if (originalValue) {
11279            style.setProperty(property, originalValue);
11280          } else {
11281            style.removeProperty(property);
11282          }
11283        }
11284      };
11285    }
11286  
11287    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/list/SelectList.mjs
11288    var React76 = __toESM(require_react(), 1);
11289    var SelectList = /* @__PURE__ */ React76.forwardRef(function SelectList2(componentProps, forwardedRef) {
11290      const {
11291        render,
11292        className,
11293        style,
11294        ...elementProps
11295      } = componentProps;
11296      const store = useSelectRootContext();
11297      const multiple = store.useState("multiple");
11298      const readOnly = store.useState("readOnly");
11299      const {
11300        alignItemWithTriggerActive
11301      } = useSelectPositionerContext();
11302      const hasScrollArrows = store.useState("hasScrollArrows");
11303      const openMethod = store.useState("openMethod");
11304      const id = store.useState("id");
11305      const defaultProps = {
11306        id: `$id}-list`,
11307        role: "listbox",
11308        "aria-multiselectable": multiple || void 0,
11309        "aria-readonly": readOnly || void 0,
11310        onScroll(event) {
11311          store.context.scrollHandlerRef.current?.(event.currentTarget);
11312        },
11313        ...alignItemWithTriggerActive && {
11314          style: LIST_FUNCTIONAL_STYLES
11315        },
11316        className: hasScrollArrows && openMethod !== "touch" ? styleDisableScrollbar.className : void 0
11317      };
11318      const setListElement = store.useStateSetter("listElement");
11319      return useRenderElement("div", componentProps, {
11320        ref: [forwardedRef, setListElement],
11321        props: [defaultProps, elementProps]
11322      });
11323    });
11324    if (true) SelectList.displayName = "SelectList";
11325  
11326    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item/SelectItem.mjs
11327    var React78 = __toESM(require_react(), 1);
11328  
11329    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item/SelectItemContext.mjs
11330    var React77 = __toESM(require_react(), 1);
11331    var SelectItemContext = /* @__PURE__ */ React77.createContext(void 0);
11332    if (true) SelectItemContext.displayName = "SelectItemContext";
11333    function useSelectItemContext() {
11334      const context = React77.useContext(SelectItemContext);
11335      if (!context) {
11336        throw new Error(true ? "Base UI: SelectItemContext is missing. SelectItem parts must be placed within <Select.Item>." : formatErrorMessage_default(57));
11337      }
11338      return context;
11339    }
11340  
11341    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item/SelectItem.mjs
11342    var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);
11343    var SelectItem = /* @__PURE__ */ React78.memo(/* @__PURE__ */ React78.forwardRef(function SelectItem2(componentProps, forwardedRef) {
11344      const {
11345        render,
11346        className,
11347        style,
11348        value: itemValue = null,
11349        label,
11350        disabled: disabledProp = false,
11351        nativeButton = false,
11352        ...elementProps
11353      } = componentProps;
11354      const textRef = React78.useRef(null);
11355      const listItem = useCompositeListItem({
11356        guess: true,
11357        label,
11358        textRef
11359      });
11360      const store = useSelectRootContext();
11361      const {
11362        props: itemProps,
11363        multiple,
11364        disabled: selectDisabled,
11365        readOnly,
11366        isItemEqualToValue
11367      } = store.useState("itemRoot");
11368      const disabled2 = selectDisabled || disabledProp;
11369      const highlighted = store.useState("isActive", listItem.index);
11370      const open2 = store.useState("open");
11371      const selected = store.useState("isSelected", itemValue);
11372      const selectedByFocus = store.useState("isSelectedByFocus", listItem.index);
11373      const index2 = listItem.index;
11374      const itemRef = React78.useRef(null);
11375      useIsoLayoutEffect(() => {
11376        const values = store.context.valuesRef.current;
11377        values[index2] = itemValue;
11378        return () => {
11379          delete values[index2];
11380        };
11381      }, [index2, itemValue, store]);
11382      useIsoLayoutEffect(() => {
11383        const selectedValue = store.state.value;
11384        const currentIndex = store.state.selectedIndex;
11385        let nextIndex = currentIndex;
11386        let claims;
11387        if (multiple && Array.isArray(selectedValue)) {
11388          nextIndex = resolveSelectedIndex(index2, itemValue, store.context.valuesRef.current, selectedValue, isItemEqualToValue, currentIndex);
11389          claims = nextIndex === index2;
11390          if (index2 === currentIndex && !claims) {
11391            store.context.selectedItemTextRef.current = null;
11392          }
11393        } else {
11394          claims = selectedValue !== void 0 && compareItemEquality(itemValue, selectedValue, isItemEqualToValue);
11395          if (claims) {
11396            nextIndex = index2;
11397          }
11398        }
11399        store.set("selectedIndex", nextIndex);
11400        if (claims && textRef.current) {
11401          store.context.selectedItemTextRef.current = textRef.current;
11402        }
11403      }, [index2, multiple, isItemEqualToValue, store, itemValue]);
11404      const pointerTypeRef = React78.useRef("mouse");
11405      const allowMouseSelectionRef = React78.useRef(false);
11406      const {
11407        getButtonProps,
11408        buttonRef
11409      } = useButton({
11410        disabled: disabled2,
11411        focusableWhenDisabled: true,
11412        native: nativeButton,
11413        composite: true
11414      });
11415      const state = {
11416        disabled: disabled2,
11417        selected,
11418        highlighted
11419      };
11420      function commitSelection(event) {
11421        if (selectDisabled || readOnly) {
11422          return;
11423        }
11424        const selectedValue = store.state.value;
11425        if (multiple) {
11426          const currentValue = Array.isArray(selectedValue) ? selectedValue : [];
11427          const nextValue = selected ? removeItem(currentValue, itemValue, isItemEqualToValue) : [...currentValue, itemValue];
11428          store.context.setValue(nextValue, createChangeEventDetails(reason_parts_exports.itemPress, event));
11429        } else {
11430          store.context.setValue(itemValue, createChangeEventDetails(reason_parts_exports.itemPress, event));
11431          store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.itemPress, event));
11432        }
11433      }
11434      function resetDragMovement() {
11435        store.context.selectionRef.current.dragY = 0;
11436      }
11437      const defaultProps = {
11438        role: "option",
11439        "aria-selected": selected,
11440        tabIndex: open2 && highlighted ? 0 : -1,
11441        onKeyDown(event) {
11442          store.set("activeIndex", index2);
11443          if (event.key === " " && store.context.typingRef.current) {
11444            event.preventDefault();
11445          }
11446        },
11447        onClick(event) {
11448          const isMouseClick = pointerTypeRef.current !== "touch";
11449          const clickPointerType = event.nativeEvent.pointerType;
11450          const isVirtualMouseClick = isMouseClick && isVirtualClick(event.nativeEvent) && // Generic no-pointer `detail === 0` clicks stay tied to highlight state. Virtual
11451          // clicks that carry browser pointer data, including an empty string from assistive
11452          // technology, can activate unhighlighted items.
11453          (clickPointerType !== void 0 || highlighted);
11454          const isInvalidMouseClick = isMouseClick && !isVirtualMouseClick && !allowMouseSelectionRef.current;
11455          allowMouseSelectionRef.current = false;
11456          if (disabled2 || isInvalidMouseClick) {
11457            return;
11458          }
11459          commitSelection(event.nativeEvent);
11460        },
11461        onPointerEnter(event) {
11462          pointerTypeRef.current = event.pointerType;
11463        },
11464        onPointerMove(event) {
11465          if (event.pointerType === "mouse" && event.buttons === 1) {
11466            const selection = store.context.selectionRef.current;
11467            selection.dragY += event.movementY;
11468            if (selection.dragY ** 2 >= 64) {
11469              selection.allowUnselectedMouseUp = true;
11470            }
11471          }
11472        },
11473        onPointerDown(event) {
11474          pointerTypeRef.current = event.pointerType;
11475          allowMouseSelectionRef.current = true;
11476          resetDragMovement();
11477        },
11478        onMouseUp() {
11479          resetDragMovement();
11480          if (disabled2 || pointerTypeRef.current === "touch") {
11481            return;
11482          }
11483          if (allowMouseSelectionRef.current) {
11484            return;
11485          }
11486          const disallowSelectedMouseUp = !store.context.selectionRef.current.allowSelectedMouseUp && selected;
11487          const disallowUnselectedMouseUp = !store.context.selectionRef.current.allowUnselectedMouseUp && !selected;
11488          if (disallowSelectedMouseUp || disallowUnselectedMouseUp) {
11489            return;
11490          }
11491          allowMouseSelectionRef.current = true;
11492          itemRef.current?.click();
11493          allowMouseSelectionRef.current = false;
11494        }
11495      };
11496      const element = useRenderElement("div", componentProps, {
11497        ref: [buttonRef, forwardedRef, listItem.ref, itemRef],
11498        state,
11499        props: [itemProps, defaultProps, elementProps, getButtonProps]
11500      });
11501      const contextValue = React78.useMemo(() => ({
11502        selected,
11503        index: index2,
11504        textRef,
11505        selectedByFocus
11506      }), [selected, index2, textRef, selectedByFocus]);
11507      return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SelectItemContext.Provider, {
11508        value: contextValue,
11509        children: element
11510      });
11511    }));
11512    if (true) SelectItem.displayName = "SelectItem";
11513  
11514    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item-indicator/SelectItemIndicator.mjs
11515    var React79 = __toESM(require_react(), 1);
11516    var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);
11517    var SelectItemIndicator = /* @__PURE__ */ React79.forwardRef(function SelectItemIndicator2(componentProps, forwardedRef) {
11518      const {
11519        selected
11520      } = useSelectItemContext();
11521      const shouldRender = componentProps.keepMounted || selected;
11522      if (!shouldRender) {
11523        return null;
11524      }
11525      return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ItemIndicator, {
11526        ...componentProps,
11527        selected,
11528        ref: forwardedRef
11529      });
11530    });
11531    if (true) SelectItemIndicator.displayName = "SelectItemIndicator";
11532  
11533    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item-text/SelectItemText.mjs
11534    var React80 = __toESM(require_react(), 1);
11535    var SelectItemText = /* @__PURE__ */ React80.memo(/* @__PURE__ */ React80.forwardRef(function SelectItemText2(componentProps, forwardedRef) {
11536      const {
11537        index: index2,
11538        textRef,
11539        selectedByFocus
11540      } = useSelectItemContext();
11541      const store = useSelectRootContext();
11542      const {
11543        render,
11544        className,
11545        style,
11546        ...elementProps
11547      } = componentProps;
11548      const localRef = React80.useCallback((node) => {
11549        if (!node) {
11550          return;
11551        }
11552        if (index2 === 0) {
11553          store.context.firstItemTextRef.current = node;
11554        }
11555        if (selectedByFocus) {
11556          store.context.selectedItemTextRef.current = node;
11557        }
11558      }, [store, index2, selectedByFocus]);
11559      const element = useRenderElement("div", componentProps, {
11560        ref: [localRef, forwardedRef, textRef],
11561        props: elementProps
11562      });
11563      return element;
11564    }));
11565    if (true) SelectItemText.displayName = "SelectItemText";
11566  
11567    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/arrow/SelectArrow.mjs
11568    var React81 = __toESM(require_react(), 1);
11569    var SelectArrow = /* @__PURE__ */ React81.forwardRef(function SelectArrow2(componentProps, forwardedRef) {
11570      const {
11571        render,
11572        className,
11573        style,
11574        ...elementProps
11575      } = componentProps;
11576      const store = useSelectRootContext();
11577      const {
11578        side,
11579        align,
11580        arrowRef,
11581        arrowStyles,
11582        arrowUncentered,
11583        alignItemWithTriggerActive
11584      } = useSelectPositionerContext();
11585      const open2 = store.useState("open");
11586      const state = {
11587        open: open2,
11588        side,
11589        align,
11590        uncentered: arrowUncentered
11591      };
11592      const element = useRenderElement("div", componentProps, {
11593        state,
11594        ref: [arrowRef, forwardedRef],
11595        props: [{
11596          style: arrowStyles,
11597          "aria-hidden": true
11598        }, elementProps],
11599        stateAttributesMapping: popupTransitionStateMapping
11600      });
11601      if (alignItemWithTriggerActive) {
11602        return null;
11603      }
11604      return element;
11605    });
11606    if (true) SelectArrow.displayName = "SelectArrow";
11607  
11608    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-down-arrow/SelectScrollDownArrow.mjs
11609    var React83 = __toESM(require_react(), 1);
11610  
11611    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-arrow/SelectScrollArrow.mjs
11612    var React82 = __toESM(require_react(), 1);
11613    var SelectScrollArrow = /* @__PURE__ */ React82.forwardRef(function SelectScrollArrow2(componentProps, forwardedRef) {
11614      const {
11615        render,
11616        className,
11617        style,
11618        direction,
11619        keepMounted,
11620        ...elementProps
11621      } = componentProps;
11622      const isUp = direction === "up";
11623      const store = useSelectRootContext();
11624      const {
11625        side,
11626        scrollDownArrowRef,
11627        scrollUpArrowRef
11628      } = useSelectPositionerContext();
11629      const visibleSelector = isUp ? "scrollUpArrowVisible" : "scrollDownArrowVisible";
11630      const stateVisible = store.useState(visibleSelector);
11631      const openMethod = store.useState("openMethod");
11632      const visible = stateVisible && openMethod !== "touch";
11633      const timeout = useTimeout();
11634      const scrollArrowRef = isUp ? scrollUpArrowRef : scrollDownArrowRef;
11635      const {
11636        mounted,
11637        transitionStatus,
11638        setMounted
11639      } = useTransitionStatus(visible);
11640      useIsoLayoutEffect(() => {
11641        store.context.scrollArrowsMountedCountRef.current += 1;
11642        store.set("hasScrollArrows", true);
11643        return () => {
11644          store.context.scrollArrowsMountedCountRef.current = Math.max(0, store.context.scrollArrowsMountedCountRef.current - 1);
11645          if (store.context.scrollArrowsMountedCountRef.current === 0) {
11646            store.set("hasScrollArrows", false);
11647          }
11648        };
11649      }, [store]);
11650      useOpenChangeComplete({
11651        open: visible,
11652        ref: scrollArrowRef,
11653        onComplete() {
11654          if (!visible) {
11655            setMounted(false);
11656          }
11657        }
11658      });
11659      const state = {
11660        direction,
11661        visible,
11662        side,
11663        transitionStatus
11664      };
11665      const defaultProps = {
11666        "aria-hidden": true,
11667        children: isUp ? "\u25B2" : "\u25BC",
11668        style: {
11669          position: "absolute"
11670        },
11671        onMouseMove(event) {
11672          if (event.movementX === 0 && event.movementY === 0 || timeout.isStarted()) {
11673            return;
11674          }
11675          store.set("activeIndex", null);
11676          function scrollNextItem() {
11677            const scroller = store.state.listElement ?? store.context.popupRef.current;
11678            if (!scroller) {
11679              return;
11680            }
11681            store.set("activeIndex", null);
11682            store.context.handleScrollArrowVisibility(scroller);
11683            const maxScrollTop = getMaxScrollOffset(scroller.scrollHeight, scroller.clientHeight);
11684            const scrollTop = normalizeScrollOffset(scroller.scrollTop, maxScrollTop);
11685            const isScrolledToEdge = scrollTop === (isUp ? 0 : maxScrollTop);
11686            const items = store.context.listRef.current;
11687            if (scrollTop !== scroller.scrollTop) {
11688              scroller.scrollTop = scrollTop;
11689            }
11690            if (isScrolledToEdge) {
11691              timeout.clear();
11692              return;
11693            }
11694            if (items.length > 0) {
11695              const scrollArrowHeight = scrollArrowRef.current?.offsetHeight || 0;
11696              scroller.scrollTop = getTargetScrollTop(items, isUp, scrollTop, scroller.clientHeight, scrollArrowHeight, maxScrollTop);
11697            }
11698            timeout.start(40, scrollNextItem);
11699          }
11700          timeout.start(40, scrollNextItem);
11701        },
11702        onMouseLeave() {
11703          timeout.clear();
11704        }
11705      };
11706      const element = useRenderElement("div", componentProps, {
11707        ref: [forwardedRef, scrollArrowRef],
11708        state,
11709        props: [defaultProps, elementProps],
11710        stateAttributesMapping: transitionStatusMapping
11711      });
11712      const shouldRender = mounted || keepMounted;
11713      if (!shouldRender) {
11714        return null;
11715      }
11716      return element;
11717    });
11718    if (true) SelectScrollArrow.displayName = "SelectScrollArrow";
11719    function getTargetScrollTop(items, isUp, scrollTop, clientHeight, scrollArrowHeight, maxScrollTop) {
11720      if (isUp) {
11721        let firstVisibleIndex = 0;
11722        const visibleTop = scrollTop + scrollArrowHeight - SCROLL_EDGE_TOLERANCE_PX;
11723        for (let i = 0; i < items.length; i += 1) {
11724          const item = items[i];
11725          if (item && item.offsetTop >= visibleTop) {
11726            firstVisibleIndex = i;
11727            break;
11728          }
11729        }
11730        const targetIndex2 = Math.max(0, firstVisibleIndex - 1);
11731        const targetItem2 = items[targetIndex2];
11732        return targetIndex2 < firstVisibleIndex && targetItem2 ? normalizeScrollOffset(targetItem2.offsetTop - scrollArrowHeight, maxScrollTop) : 0;
11733      }
11734      let lastVisibleIndex = items.length - 1;
11735      const visibleBottom = scrollTop + clientHeight - scrollArrowHeight + SCROLL_EDGE_TOLERANCE_PX;
11736      for (let i = 0; i < items.length; i += 1) {
11737        const item = items[i];
11738        if (item && item.offsetTop + item.offsetHeight > visibleBottom) {
11739          lastVisibleIndex = Math.max(0, i - 1);
11740          break;
11741        }
11742      }
11743      const targetIndex = Math.min(items.length - 1, lastVisibleIndex + 1);
11744      const targetItem = items[targetIndex];
11745      return targetIndex > lastVisibleIndex && targetItem ? normalizeScrollOffset(targetItem.offsetTop + targetItem.offsetHeight - clientHeight + scrollArrowHeight, maxScrollTop) : maxScrollTop;
11746    }
11747  
11748    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-down-arrow/SelectScrollDownArrow.mjs
11749    var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);
11750    var SelectScrollDownArrow = /* @__PURE__ */ React83.forwardRef(function SelectScrollDownArrow2(props, forwardedRef) {
11751      return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SelectScrollArrow, {
11752        ...props,
11753        ref: forwardedRef,
11754        direction: "down"
11755      });
11756    });
11757    if (true) SelectScrollDownArrow.displayName = "SelectScrollDownArrow";
11758  
11759    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-up-arrow/SelectScrollUpArrow.mjs
11760    var React84 = __toESM(require_react(), 1);
11761    var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1);
11762    var SelectScrollUpArrow = /* @__PURE__ */ React84.forwardRef(function SelectScrollUpArrow2(props, forwardedRef) {
11763      return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SelectScrollArrow, {
11764        ...props,
11765        ref: forwardedRef,
11766        direction: "up"
11767      });
11768    });
11769    if (true) SelectScrollUpArrow.displayName = "SelectScrollUpArrow";
11770  
11771    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group/SelectGroup.mjs
11772    var React86 = __toESM(require_react(), 1);
11773  
11774    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group/SelectGroupContext.mjs
11775    var React85 = __toESM(require_react(), 1);
11776    var SelectGroupContext = /* @__PURE__ */ React85.createContext(void 0);
11777    if (true) SelectGroupContext.displayName = "SelectGroupContext";
11778    function useSelectGroupContext() {
11779      const context = React85.useContext(SelectGroupContext);
11780      if (context === void 0) {
11781        throw new Error(true ? "Base UI: SelectGroupContext is missing. SelectGroup parts must be placed within <Select.Group>." : formatErrorMessage_default(56));
11782      }
11783      return context;
11784    }
11785  
11786    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group/SelectGroup.mjs
11787    var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1);
11788    var SelectGroup = /* @__PURE__ */ React86.forwardRef(function SelectGroup2(componentProps, forwardedRef) {
11789      const {
11790        render,
11791        className,
11792        style,
11793        ...elementProps
11794      } = componentProps;
11795      const [labelId, setLabelId] = React86.useState();
11796      const contextValue = React86.useMemo(() => ({
11797        labelId,
11798        setLabelId
11799      }), [labelId, setLabelId]);
11800      const element = useRenderElement("div", componentProps, {
11801        ref: forwardedRef,
11802        props: [{
11803          role: "group",
11804          "aria-labelledby": labelId
11805        }, elementProps]
11806      });
11807      return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SelectGroupContext.Provider, {
11808        value: contextValue,
11809        children: element
11810      });
11811    });
11812    if (true) SelectGroup.displayName = "SelectGroup";
11813  
11814    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group-label/SelectGroupLabel.mjs
11815    var React87 = __toESM(require_react(), 1);
11816    var SelectGroupLabel = /* @__PURE__ */ React87.forwardRef(function SelectGroupLabel2(componentProps, forwardedRef) {
11817      const {
11818        render,
11819        className,
11820        style,
11821        id: idProp,
11822        ...elementProps
11823      } = componentProps;
11824      const {
11825        setLabelId
11826      } = useSelectGroupContext();
11827      const id = useBaseUiId(idProp);
11828      useIsoLayoutEffect(() => {
11829        setLabelId(id);
11830        return () => {
11831          setLabelId((currentId) => currentId === id ? void 0 : currentId);
11832        };
11833      }, [id, setLabelId]);
11834      const element = useRenderElement("div", componentProps, {
11835        ref: forwardedRef,
11836        props: [{
11837          id,
11838          "aria-hidden": true
11839        }, elementProps]
11840      });
11841      return element;
11842    });
11843    if (true) SelectGroupLabel.displayName = "SelectGroupLabel";
11844  
11845    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/separator/SelectSeparator.mjs
11846    var SelectSeparator = ListboxSeparator;
11847  
11848    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/use-render/useRender.mjs
11849    function useRender(params) {
11850      return useRenderElement(params.defaultTagName ?? "div", params, params);
11851    }
11852  
11853    // packages/ui/build-module/text/text.mjs
11854    var import_element8 = __toESM(require_element(), 1);
11855    var STYLE_HASH_ATTRIBUTE = "data-wp-hash";
11856    function getRuntime() {
11857      const globalScope = globalThis;
11858      if (globalScope.__wpStyleRuntime) {
11859        return globalScope.__wpStyleRuntime;
11860      }
11861      globalScope.__wpStyleRuntime = {
11862        documents: /* @__PURE__ */ new Map(),
11863        styles: /* @__PURE__ */ new Map(),
11864        injectedStyles: /* @__PURE__ */ new WeakMap()
11865      };
11866      if (typeof document !== "undefined") {
11867        registerDocument(document);
11868      }
11869      return globalScope.__wpStyleRuntime;
11870    }
11871    function documentContainsStyleHash(targetDocument, hash) {
11872      if (!targetDocument.head) {
11873        return false;
11874      }
11875      for (const style of targetDocument.head.querySelectorAll(
11876        `style[$STYLE_HASH_ATTRIBUTE}]`
11877      )) {
11878        if (style.getAttribute(STYLE_HASH_ATTRIBUTE) === hash) {
11879          return true;
11880        }
11881      }
11882      return false;
11883    }
11884    function injectStyle(targetDocument, hash, css) {
11885      if (!targetDocument.head) {
11886        return;
11887      }
11888      const runtime = getRuntime();
11889      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11890      if (!injectedStyles) {
11891        injectedStyles = /* @__PURE__ */ new Set();
11892        runtime.injectedStyles.set(targetDocument, injectedStyles);
11893      }
11894      if (injectedStyles.has(hash)) {
11895        return;
11896      }
11897      if (documentContainsStyleHash(targetDocument, hash)) {
11898        injectedStyles.add(hash);
11899        return;
11900      }
11901      const style = targetDocument.createElement("style");
11902      style.setAttribute(STYLE_HASH_ATTRIBUTE, hash);
11903      style.appendChild(targetDocument.createTextNode(css));
11904      targetDocument.head.appendChild(style);
11905      injectedStyles.add(hash);
11906    }
11907    function registerDocument(targetDocument) {
11908      const runtime = getRuntime();
11909      runtime.documents.set(
11910        targetDocument,
11911        (runtime.documents.get(targetDocument) ?? 0) + 1
11912      );
11913      for (const [hash, css] of runtime.styles) {
11914        injectStyle(targetDocument, hash, css);
11915      }
11916      return () => {
11917        const count = runtime.documents.get(targetDocument);
11918        if (count === void 0) {
11919          return;
11920        }
11921        if (count <= 1) {
11922          runtime.documents.delete(targetDocument);
11923          return;
11924        }
11925        runtime.documents.set(targetDocument, count - 1);
11926      };
11927    }
11928    function registerStyle(hash, css) {
11929      const runtime = getRuntime();
11930      runtime.styles.set(hash, css);
11931      for (const targetDocument of runtime.documents.keys()) {
11932        injectStyle(targetDocument, hash, css);
11933      }
11934    }
11935    if (typeof process === "undefined" || true) {
11936      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)}}}');
11937    }
11938    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" };
11939    if (typeof process === "undefined" || true) {
11940      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)}");
11941    }
11942    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" };
11943    var Text = (0, import_element8.forwardRef)(
11944      function UnforwardedText({ variant = "body-md", render, className, ...props }, ref) {
11945        const element = useRender({
11946          render,
11947          defaultTagName: "span",
11948          ref,
11949          props: mergeProps(props, {
11950            className: clsx_default(
11951              style_default.text,
11952              global_css_defense_default.heading,
11953              global_css_defense_default.p,
11954              style_default[variant],
11955              className
11956            )
11957          })
11958        });
11959        return element;
11960      }
11961    );
11962  
11963    // packages/ui/build-module/visually-hidden/visually-hidden.mjs
11964    var import_element9 = __toESM(require_element(), 1);
11965    var STYLE_HASH_ATTRIBUTE2 = "data-wp-hash";
11966    function getRuntime2() {
11967      const globalScope = globalThis;
11968      if (globalScope.__wpStyleRuntime) {
11969        return globalScope.__wpStyleRuntime;
11970      }
11971      globalScope.__wpStyleRuntime = {
11972        documents: /* @__PURE__ */ new Map(),
11973        styles: /* @__PURE__ */ new Map(),
11974        injectedStyles: /* @__PURE__ */ new WeakMap()
11975      };
11976      if (typeof document !== "undefined") {
11977        registerDocument2(document);
11978      }
11979      return globalScope.__wpStyleRuntime;
11980    }
11981    function documentContainsStyleHash2(targetDocument, hash) {
11982      if (!targetDocument.head) {
11983        return false;
11984      }
11985      for (const style of targetDocument.head.querySelectorAll(
11986        `style[$STYLE_HASH_ATTRIBUTE2}]`
11987      )) {
11988        if (style.getAttribute(STYLE_HASH_ATTRIBUTE2) === hash) {
11989          return true;
11990        }
11991      }
11992      return false;
11993    }
11994    function injectStyle2(targetDocument, hash, css) {
11995      if (!targetDocument.head) {
11996        return;
11997      }
11998      const runtime = getRuntime2();
11999      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12000      if (!injectedStyles) {
12001        injectedStyles = /* @__PURE__ */ new Set();
12002        runtime.injectedStyles.set(targetDocument, injectedStyles);
12003      }
12004      if (injectedStyles.has(hash)) {
12005        return;
12006      }
12007      if (documentContainsStyleHash2(targetDocument, hash)) {
12008        injectedStyles.add(hash);
12009        return;
12010      }
12011      const style = targetDocument.createElement("style");
12012      style.setAttribute(STYLE_HASH_ATTRIBUTE2, hash);
12013      style.appendChild(targetDocument.createTextNode(css));
12014      targetDocument.head.appendChild(style);
12015      injectedStyles.add(hash);
12016    }
12017    function registerDocument2(targetDocument) {
12018      const runtime = getRuntime2();
12019      runtime.documents.set(
12020        targetDocument,
12021        (runtime.documents.get(targetDocument) ?? 0) + 1
12022      );
12023      for (const [hash, css] of runtime.styles) {
12024        injectStyle2(targetDocument, hash, css);
12025      }
12026      return () => {
12027        const count = runtime.documents.get(targetDocument);
12028        if (count === void 0) {
12029          return;
12030        }
12031        if (count <= 1) {
12032          runtime.documents.delete(targetDocument);
12033          return;
12034        }
12035        runtime.documents.set(targetDocument, count - 1);
12036      };
12037    }
12038    function registerStyle2(hash, css) {
12039      const runtime = getRuntime2();
12040      runtime.styles.set(hash, css);
12041      for (const targetDocument of runtime.documents.keys()) {
12042        injectStyle2(targetDocument, hash, css);
12043      }
12044    }
12045    if (typeof process === "undefined" || true) {
12046      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}");
12047    }
12048    var style_default2 = { "visually-hidden": "f37b9e2e191ebd66__visually-hidden" };
12049    var VisuallyHidden = (0, import_element9.forwardRef)(
12050      function UnforwardedVisuallyHidden({ render, ...restProps }, ref) {
12051        const element = useRender({
12052          render,
12053          ref,
12054          props: mergeProps(
12055            { className: style_default2["visually-hidden"] },
12056            restProps,
12057            {
12058              // @ts-expect-error Arbitrary data-* attributes aren't indexable on the typed div props. Kept hardcoded so consumers can't change or remove it.
12059              "data-visually-hidden": ""
12060            }
12061          )
12062        });
12063        return element;
12064      }
12065    );
12066  
12067    // packages/ui/build-module/utils/item-popup/item-content.mjs
12068    var import_element10 = __toESM(require_element(), 1);
12069    var VALIDATION_ENABLED = true;
12070    function parseItemContent(children, { Label: Label2, Description: Description2, validationMessage }) {
12071      const childArray = import_element10.Children.toArray(children);
12072      const [label, ...descriptions] = childArray;
12073      const hasLabel = (0, import_element10.isValidElement)(label) && label.type === Label2;
12074      const descriptionElements = descriptions.filter(
12075        (description) => (0, import_element10.isValidElement)(description) && description.type === Description2
12076      );
12077      if (VALIDATION_ENABLED && (!hasLabel || descriptionElements.length !== descriptions.length)) {
12078        throw new Error(validationMessage);
12079      }
12080      return {
12081        descriptionIds: descriptionElements.map(
12082          (description) => description.props.id
12083        ),
12084        hasLabel,
12085        labelId: hasLabel ? label.props.id : void 0
12086      };
12087    }
12088    function useItemContent(children, components, {
12089      "aria-describedby": ariaDescribedBy,
12090      "aria-label": ariaLabel,
12091      "aria-labelledby": ariaLabelledBy
12092    } = {}) {
12093      const generatedLabelId = (0, import_element10.useId)();
12094      const generatedDescriptionId = (0, import_element10.useId)();
12095      const { descriptionIds, hasLabel, labelId } = parseItemContent(
12096        children,
12097        components
12098      );
12099      const resolvedLabelId = hasLabel ? labelId ?? generatedLabelId : void 0;
12100      const resolvedDescriptionIds = descriptionIds.map(
12101        (descriptionId, index2) => descriptionId ?? `$generatedDescriptionId}-$index2}`
12102      );
12103      const itemDescribedBy = Array.from(
12104        /* @__PURE__ */ new Set([
12105          ...ariaDescribedBy?.split(/\s+/).filter(Boolean) ?? [],
12106          ...resolvedDescriptionIds
12107        ])
12108      ).join(" ");
12109      let descriptionIndex = 0;
12110      const { Label: Label2, Description: Description2, descriptionValidationToken } = components;
12111      const contentChildren = import_element10.Children.map(children, (child) => {
12112        if (!(0, import_element10.isValidElement)(child)) {
12113          return child;
12114        }
12115        if (child.type === Label2) {
12116          return child.props.id === resolvedLabelId ? child : (0, import_element10.cloneElement)(child, { id: resolvedLabelId });
12117        }
12118        if (child.type !== Description2) {
12119          return child;
12120        }
12121        const descriptionId = resolvedDescriptionIds[descriptionIndex++];
12122        if (!descriptionValidationToken && child.props.id === descriptionId) {
12123          return child;
12124        }
12125        return (0, import_element10.cloneElement)(child, {
12126          id: descriptionId,
12127          ...descriptionValidationToken && {
12128            validationToken: descriptionValidationToken
12129          }
12130        });
12131      });
12132      const labelledBy = ariaLabelledBy ?? (ariaLabel ? void 0 : resolvedLabelId);
12133      return {
12134        contentChildren,
12135        resolvedLabelId,
12136        itemAriaProps: {
12137          "aria-describedby": itemDescribedBy || void 0,
12138          "aria-label": ariaLabel,
12139          "aria-labelledby": labelledBy
12140        }
12141      };
12142    }
12143  
12144    // packages/ui/build-module/utils/render-slot-with-children.mjs
12145    var import_element11 = __toESM(require_element(), 1);
12146    function renderSlotWithChildren(slot, defaultSlot, children) {
12147      return (0, import_element11.cloneElement)(
12148        slot ?? defaultSlot,
12149        { children }
12150      );
12151    }
12152  
12153    // packages/ui/build-module/utils/wp-compat-overlay-slot.mjs
12154    var STYLE_HASH_ATTRIBUTE3 = "data-wp-hash";
12155    function getRuntime3() {
12156      const globalScope = globalThis;
12157      if (globalScope.__wpStyleRuntime) {
12158        return globalScope.__wpStyleRuntime;
12159      }
12160      globalScope.__wpStyleRuntime = {
12161        documents: /* @__PURE__ */ new Map(),
12162        styles: /* @__PURE__ */ new Map(),
12163        injectedStyles: /* @__PURE__ */ new WeakMap()
12164      };
12165      if (typeof document !== "undefined") {
12166        registerDocument3(document);
12167      }
12168      return globalScope.__wpStyleRuntime;
12169    }
12170    function documentContainsStyleHash3(targetDocument, hash) {
12171      if (!targetDocument.head) {
12172        return false;
12173      }
12174      for (const style of targetDocument.head.querySelectorAll(
12175        `style[$STYLE_HASH_ATTRIBUTE3}]`
12176      )) {
12177        if (style.getAttribute(STYLE_HASH_ATTRIBUTE3) === hash) {
12178          return true;
12179        }
12180      }
12181      return false;
12182    }
12183    function injectStyle3(targetDocument, hash, css) {
12184      if (!targetDocument.head) {
12185        return;
12186      }
12187      const runtime = getRuntime3();
12188      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12189      if (!injectedStyles) {
12190        injectedStyles = /* @__PURE__ */ new Set();
12191        runtime.injectedStyles.set(targetDocument, injectedStyles);
12192      }
12193      if (injectedStyles.has(hash)) {
12194        return;
12195      }
12196      if (documentContainsStyleHash3(targetDocument, hash)) {
12197        injectedStyles.add(hash);
12198        return;
12199      }
12200      const style = targetDocument.createElement("style");
12201      style.setAttribute(STYLE_HASH_ATTRIBUTE3, hash);
12202      style.appendChild(targetDocument.createTextNode(css));
12203      targetDocument.head.appendChild(style);
12204      injectedStyles.add(hash);
12205    }
12206    function registerDocument3(targetDocument) {
12207      const runtime = getRuntime3();
12208      runtime.documents.set(
12209        targetDocument,
12210        (runtime.documents.get(targetDocument) ?? 0) + 1
12211      );
12212      for (const [hash, css] of runtime.styles) {
12213        injectStyle3(targetDocument, hash, css);
12214      }
12215      return () => {
12216        const count = runtime.documents.get(targetDocument);
12217        if (count === void 0) {
12218          return;
12219        }
12220        if (count <= 1) {
12221          runtime.documents.delete(targetDocument);
12222          return;
12223        }
12224        runtime.documents.set(targetDocument, count - 1);
12225      };
12226    }
12227    function registerStyle3(hash, css) {
12228      const runtime = getRuntime3();
12229      runtime.styles.set(hash, css);
12230      for (const targetDocument of runtime.documents.keys()) {
12231        injectStyle3(targetDocument, hash, css);
12232      }
12233    }
12234    if (typeof process === "undefined" || true) {
12235      registerStyle3("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}}}");
12236    }
12237    var wp_compat_overlay_slot_default = { "slot": "_11fc52b637ff8a7e__slot" };
12238    var WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE = "data-wp-compat-overlay-slot";
12239    function resolveOwnerDocument() {
12240      return typeof document === "undefined" ? null : document;
12241    }
12242    function isInWordPressEnvironment() {
12243      let topWp;
12244      try {
12245        topWp = window.top?.wp;
12246      } catch {
12247      }
12248      const wp = topWp ?? window.wp;
12249      return typeof wp?.components === "object" && wp.components !== null;
12250    }
12251    var cachedSlot = null;
12252    function ensureSlotIsAccessible(element) {
12253      element.setAttribute("aria-hidden", "false");
12254      return element;
12255    }
12256    function createSlot(ownerDocument2) {
12257      const element = ownerDocument2.createElement("div");
12258      element.setAttribute(WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE, "");
12259      if (wp_compat_overlay_slot_default.slot) {
12260        element.classList.add(wp_compat_overlay_slot_default.slot);
12261      }
12262      ownerDocument2.body.appendChild(element);
12263      return element;
12264    }
12265    function getWpCompatOverlaySlot() {
12266      if (typeof window === "undefined") {
12267        return void 0;
12268      }
12269      if (!isInWordPressEnvironment() && window.__wpUiCompatOverlaySlotEnabled !== true) {
12270        return void 0;
12271      }
12272      const ownerDocument2 = resolveOwnerDocument();
12273      if (!ownerDocument2 || !ownerDocument2.body) {
12274        return void 0;
12275      }
12276      if (cachedSlot && cachedSlot.ownerDocument === ownerDocument2 && cachedSlot.isConnected) {
12277        return ensureSlotIsAccessible(cachedSlot);
12278      }
12279      const existing = ownerDocument2.querySelector(
12280        `[$WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE}]`
12281      );
12282      if (existing instanceof HTMLDivElement) {
12283        cachedSlot = ensureSlotIsAccessible(existing);
12284        return cachedSlot;
12285      }
12286      if (cachedSlot?.isConnected) {
12287        cachedSlot.remove();
12288      }
12289      cachedSlot = ensureSlotIsAccessible(createSlot(ownerDocument2));
12290      return cachedSlot;
12291    }
12292  
12293    // packages/ui/build-module/form/primitives/constants.mjs
12294    var ITEM_POPUP_POSITIONER_PROPS = {
12295      align: "start",
12296      sideOffset: 8,
12297      collisionPadding: 12
12298    };
12299  
12300    // packages/ui/build-module/utils/direction-provider.mjs
12301    var import_i18n = __toESM(require_i18n(), 1);
12302    var import_jsx_runtime31 = __toESM(require_jsx_runtime(), 1);
12303    function DirectionProvider3({ children }) {
12304      return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DirectionProvider, { direction: (0, import_i18n.isRTL)() ? "rtl" : "ltr", children });
12305    }
12306  
12307    // packages/ui/build-module/stack/stack.mjs
12308    var import_element12 = __toESM(require_element(), 1);
12309    var STYLE_HASH_ATTRIBUTE4 = "data-wp-hash";
12310    function getRuntime4() {
12311      const globalScope = globalThis;
12312      if (globalScope.__wpStyleRuntime) {
12313        return globalScope.__wpStyleRuntime;
12314      }
12315      globalScope.__wpStyleRuntime = {
12316        documents: /* @__PURE__ */ new Map(),
12317        styles: /* @__PURE__ */ new Map(),
12318        injectedStyles: /* @__PURE__ */ new WeakMap()
12319      };
12320      if (typeof document !== "undefined") {
12321        registerDocument4(document);
12322      }
12323      return globalScope.__wpStyleRuntime;
12324    }
12325    function documentContainsStyleHash4(targetDocument, hash) {
12326      if (!targetDocument.head) {
12327        return false;
12328      }
12329      for (const style of targetDocument.head.querySelectorAll(
12330        `style[$STYLE_HASH_ATTRIBUTE4}]`
12331      )) {
12332        if (style.getAttribute(STYLE_HASH_ATTRIBUTE4) === hash) {
12333          return true;
12334        }
12335      }
12336      return false;
12337    }
12338    function injectStyle4(targetDocument, hash, css) {
12339      if (!targetDocument.head) {
12340        return;
12341      }
12342      const runtime = getRuntime4();
12343      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12344      if (!injectedStyles) {
12345        injectedStyles = /* @__PURE__ */ new Set();
12346        runtime.injectedStyles.set(targetDocument, injectedStyles);
12347      }
12348      if (injectedStyles.has(hash)) {
12349        return;
12350      }
12351      if (documentContainsStyleHash4(targetDocument, hash)) {
12352        injectedStyles.add(hash);
12353        return;
12354      }
12355      const style = targetDocument.createElement("style");
12356      style.setAttribute(STYLE_HASH_ATTRIBUTE4, hash);
12357      style.appendChild(targetDocument.createTextNode(css));
12358      targetDocument.head.appendChild(style);
12359      injectedStyles.add(hash);
12360    }
12361    function registerDocument4(targetDocument) {
12362      const runtime = getRuntime4();
12363      runtime.documents.set(
12364        targetDocument,
12365        (runtime.documents.get(targetDocument) ?? 0) + 1
12366      );
12367      for (const [hash, css] of runtime.styles) {
12368        injectStyle4(targetDocument, hash, css);
12369      }
12370      return () => {
12371        const count = runtime.documents.get(targetDocument);
12372        if (count === void 0) {
12373          return;
12374        }
12375        if (count <= 1) {
12376          runtime.documents.delete(targetDocument);
12377          return;
12378        }
12379        runtime.documents.set(targetDocument, count - 1);
12380      };
12381    }
12382    function registerStyle4(hash, css) {
12383      const runtime = getRuntime4();
12384      runtime.styles.set(hash, css);
12385      for (const targetDocument of runtime.documents.keys()) {
12386        injectStyle4(targetDocument, hash, css);
12387      }
12388    }
12389    if (typeof process === "undefined" || true) {
12390      registerStyle4("32aba35fe1", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._19ce0419607e1896__stack{display:flex}}}");
12391    }
12392    var style_default3 = { "stack": "_19ce0419607e1896__stack" };
12393    var gapTokens = {
12394      xs: "var(--wpds-dimension-gap-xs, 4px)",
12395      sm: "var(--wpds-dimension-gap-sm, 8px)",
12396      md: "var(--wpds-dimension-gap-md, 12px)",
12397      lg: "var(--wpds-dimension-gap-lg, 16px)",
12398      xl: "var(--wpds-dimension-gap-xl, 24px)",
12399      "2xl": "var(--wpds-dimension-gap-2xl, 32px)",
12400      "3xl": "var(--wpds-dimension-gap-3xl, 40px)"
12401    };
12402    var Stack = (0, import_element12.forwardRef)(
12403      function UnforwardedStack({ direction, gap, align, justify, wrap, render, ...props }, ref) {
12404        const style = {
12405          gap: gap && gapTokens[gap],
12406          alignItems: align,
12407          justifyContent: justify,
12408          flexDirection: direction,
12409          flexWrap: wrap
12410        };
12411        const element = useRender({
12412          render,
12413          ref,
12414          props: mergeProps(props, {
12415            style,
12416            className: style_default3.stack
12417          })
12418        });
12419        return element;
12420      }
12421    );
12422  
12423    // packages/ui/build-module/form/primitives/input-layout/input-layout.mjs
12424    var import_element13 = __toESM(require_element(), 1);
12425    var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1);
12426    var STYLE_HASH_ATTRIBUTE5 = "data-wp-hash";
12427    function getRuntime5() {
12428      const globalScope = globalThis;
12429      if (globalScope.__wpStyleRuntime) {
12430        return globalScope.__wpStyleRuntime;
12431      }
12432      globalScope.__wpStyleRuntime = {
12433        documents: /* @__PURE__ */ new Map(),
12434        styles: /* @__PURE__ */ new Map(),
12435        injectedStyles: /* @__PURE__ */ new WeakMap()
12436      };
12437      if (typeof document !== "undefined") {
12438        registerDocument5(document);
12439      }
12440      return globalScope.__wpStyleRuntime;
12441    }
12442    function documentContainsStyleHash5(targetDocument, hash) {
12443      if (!targetDocument.head) {
12444        return false;
12445      }
12446      for (const style of targetDocument.head.querySelectorAll(
12447        `style[$STYLE_HASH_ATTRIBUTE5}]`
12448      )) {
12449        if (style.getAttribute(STYLE_HASH_ATTRIBUTE5) === hash) {
12450          return true;
12451        }
12452      }
12453      return false;
12454    }
12455    function injectStyle5(targetDocument, hash, css) {
12456      if (!targetDocument.head) {
12457        return;
12458      }
12459      const runtime = getRuntime5();
12460      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12461      if (!injectedStyles) {
12462        injectedStyles = /* @__PURE__ */ new Set();
12463        runtime.injectedStyles.set(targetDocument, injectedStyles);
12464      }
12465      if (injectedStyles.has(hash)) {
12466        return;
12467      }
12468      if (documentContainsStyleHash5(targetDocument, hash)) {
12469        injectedStyles.add(hash);
12470        return;
12471      }
12472      const style = targetDocument.createElement("style");
12473      style.setAttribute(STYLE_HASH_ATTRIBUTE5, hash);
12474      style.appendChild(targetDocument.createTextNode(css));
12475      targetDocument.head.appendChild(style);
12476      injectedStyles.add(hash);
12477    }
12478    function registerDocument5(targetDocument) {
12479      const runtime = getRuntime5();
12480      runtime.documents.set(
12481        targetDocument,
12482        (runtime.documents.get(targetDocument) ?? 0) + 1
12483      );
12484      for (const [hash, css] of runtime.styles) {
12485        injectStyle5(targetDocument, hash, css);
12486      }
12487      return () => {
12488        const count = runtime.documents.get(targetDocument);
12489        if (count === void 0) {
12490          return;
12491        }
12492        if (count <= 1) {
12493          runtime.documents.delete(targetDocument);
12494          return;
12495        }
12496        runtime.documents.set(targetDocument, count - 1);
12497      };
12498    }
12499    function registerStyle5(hash, css) {
12500      const runtime = getRuntime5();
12501      runtime.styles.set(hash, css);
12502      for (const targetDocument of runtime.documents.keys()) {
12503        injectStyle5(targetDocument, hash, css);
12504      }
12505    }
12506    if (typeof process === "undefined" || true) {
12507      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)}");
12508    }
12509    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" };
12510    if (typeof process === "undefined" || true) {
12511      registerStyle5("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
12512    }
12513    var resets_default = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
12514    if (typeof process === "undefined" || true) {
12515      registerStyle5("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))}}}}');
12516    }
12517    var style_default4 = { "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" };
12518    var InputLayout = (0, import_element13.forwardRef)(
12519      function UnforwardedInputLayout({
12520        className,
12521        children,
12522        visuallyDisabled,
12523        size: size4 = "default",
12524        isBorderless,
12525        prefix,
12526        suffix,
12527        ...restProps
12528      }, ref) {
12529        return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
12530          "div",
12531          {
12532            ref,
12533            className: clsx_default(
12534              global_css_defense_default2.div,
12535              resets_default["box-sizing"],
12536              style_default4["input-layout"],
12537              style_default4[`is-size-$size4}`],
12538              visuallyDisabled && style_default4["is-disabled"],
12539              isBorderless && style_default4["is-borderless"],
12540              className
12541            ),
12542            ...restProps,
12543            children: [
12544              import_element13.Children.count(prefix) > 0 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
12545                "div",
12546                {
12547                  className: style_default4["slot-wrapper"],
12548                  "data-slot-type": "prefix",
12549                  children: prefix
12550                }
12551              ),
12552              children,
12553              import_element13.Children.count(suffix) > 0 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
12554                "div",
12555                {
12556                  className: style_default4["slot-wrapper"],
12557                  "data-slot-type": "suffix",
12558                  children: suffix
12559                }
12560              )
12561            ]
12562          }
12563        );
12564      }
12565    );
12566  
12567    // packages/ui/build-module/form/primitives/input-layout/slot.mjs
12568    var import_element14 = __toESM(require_element(), 1);
12569    var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1);
12570    var STYLE_HASH_ATTRIBUTE6 = "data-wp-hash";
12571    function getRuntime6() {
12572      const globalScope = globalThis;
12573      if (globalScope.__wpStyleRuntime) {
12574        return globalScope.__wpStyleRuntime;
12575      }
12576      globalScope.__wpStyleRuntime = {
12577        documents: /* @__PURE__ */ new Map(),
12578        styles: /* @__PURE__ */ new Map(),
12579        injectedStyles: /* @__PURE__ */ new WeakMap()
12580      };
12581      if (typeof document !== "undefined") {
12582        registerDocument6(document);
12583      }
12584      return globalScope.__wpStyleRuntime;
12585    }
12586    function documentContainsStyleHash6(targetDocument, hash) {
12587      if (!targetDocument.head) {
12588        return false;
12589      }
12590      for (const style of targetDocument.head.querySelectorAll(
12591        `style[$STYLE_HASH_ATTRIBUTE6}]`
12592      )) {
12593        if (style.getAttribute(STYLE_HASH_ATTRIBUTE6) === hash) {
12594          return true;
12595        }
12596      }
12597      return false;
12598    }
12599    function injectStyle6(targetDocument, hash, css) {
12600      if (!targetDocument.head) {
12601        return;
12602      }
12603      const runtime = getRuntime6();
12604      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12605      if (!injectedStyles) {
12606        injectedStyles = /* @__PURE__ */ new Set();
12607        runtime.injectedStyles.set(targetDocument, injectedStyles);
12608      }
12609      if (injectedStyles.has(hash)) {
12610        return;
12611      }
12612      if (documentContainsStyleHash6(targetDocument, hash)) {
12613        injectedStyles.add(hash);
12614        return;
12615      }
12616      const style = targetDocument.createElement("style");
12617      style.setAttribute(STYLE_HASH_ATTRIBUTE6, hash);
12618      style.appendChild(targetDocument.createTextNode(css));
12619      targetDocument.head.appendChild(style);
12620      injectedStyles.add(hash);
12621    }
12622    function registerDocument6(targetDocument) {
12623      const runtime = getRuntime6();
12624      runtime.documents.set(
12625        targetDocument,
12626        (runtime.documents.get(targetDocument) ?? 0) + 1
12627      );
12628      for (const [hash, css] of runtime.styles) {
12629        injectStyle6(targetDocument, hash, css);
12630      }
12631      return () => {
12632        const count = runtime.documents.get(targetDocument);
12633        if (count === void 0) {
12634          return;
12635        }
12636        if (count <= 1) {
12637          runtime.documents.delete(targetDocument);
12638          return;
12639        }
12640        runtime.documents.set(targetDocument, count - 1);
12641      };
12642    }
12643    function registerStyle6(hash, css) {
12644      const runtime = getRuntime6();
12645      runtime.styles.set(hash, css);
12646      for (const targetDocument of runtime.documents.keys()) {
12647        injectStyle6(targetDocument, hash, css);
12648      }
12649    }
12650    if (typeof process === "undefined" || true) {
12651      registerStyle6("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))}}}}');
12652    }
12653    var style_default5 = { "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" };
12654    var InputLayoutSlot = (0, import_element14.forwardRef)(function UnforwardedInputLayoutSlot({ padding = "default", className, ...restProps }, ref) {
12655      return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
12656        "div",
12657        {
12658          ref,
12659          className: clsx_default(
12660            style_default5["input-layout-slot"],
12661            style_default5[`is-padding-$padding}`],
12662            className
12663          ),
12664          ...restProps
12665        }
12666      );
12667    });
12668    InputLayoutSlot.displayName = "InputLayout.Slot";
12669  
12670    // packages/ui/build-module/form/primitives/input-layout/index.mjs
12671    var InputLayout2 = Object.assign(InputLayout, {
12672      Slot: InputLayoutSlot
12673    });
12674  
12675    // packages/ui/build-module/utils/css/item-popup.mjs
12676    var STYLE_HASH_ATTRIBUTE7 = "data-wp-hash";
12677    function getRuntime7() {
12678      const globalScope = globalThis;
12679      if (globalScope.__wpStyleRuntime) {
12680        return globalScope.__wpStyleRuntime;
12681      }
12682      globalScope.__wpStyleRuntime = {
12683        documents: /* @__PURE__ */ new Map(),
12684        styles: /* @__PURE__ */ new Map(),
12685        injectedStyles: /* @__PURE__ */ new WeakMap()
12686      };
12687      if (typeof document !== "undefined") {
12688        registerDocument7(document);
12689      }
12690      return globalScope.__wpStyleRuntime;
12691    }
12692    function documentContainsStyleHash7(targetDocument, hash) {
12693      if (!targetDocument.head) {
12694        return false;
12695      }
12696      for (const style of targetDocument.head.querySelectorAll(
12697        `style[$STYLE_HASH_ATTRIBUTE7}]`
12698      )) {
12699        if (style.getAttribute(STYLE_HASH_ATTRIBUTE7) === hash) {
12700          return true;
12701        }
12702      }
12703      return false;
12704    }
12705    function injectStyle7(targetDocument, hash, css) {
12706      if (!targetDocument.head) {
12707        return;
12708      }
12709      const runtime = getRuntime7();
12710      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12711      if (!injectedStyles) {
12712        injectedStyles = /* @__PURE__ */ new Set();
12713        runtime.injectedStyles.set(targetDocument, injectedStyles);
12714      }
12715      if (injectedStyles.has(hash)) {
12716        return;
12717      }
12718      if (documentContainsStyleHash7(targetDocument, hash)) {
12719        injectedStyles.add(hash);
12720        return;
12721      }
12722      const style = targetDocument.createElement("style");
12723      style.setAttribute(STYLE_HASH_ATTRIBUTE7, hash);
12724      style.appendChild(targetDocument.createTextNode(css));
12725      targetDocument.head.appendChild(style);
12726      injectedStyles.add(hash);
12727    }
12728    function registerDocument7(targetDocument) {
12729      const runtime = getRuntime7();
12730      runtime.documents.set(
12731        targetDocument,
12732        (runtime.documents.get(targetDocument) ?? 0) + 1
12733      );
12734      for (const [hash, css] of runtime.styles) {
12735        injectStyle7(targetDocument, hash, css);
12736      }
12737      return () => {
12738        const count = runtime.documents.get(targetDocument);
12739        if (count === void 0) {
12740          return;
12741        }
12742        if (count <= 1) {
12743          runtime.documents.delete(targetDocument);
12744          return;
12745        }
12746        runtime.documents.set(targetDocument, count - 1);
12747      };
12748    }
12749    function registerStyle7(hash, css) {
12750      const runtime = getRuntime7();
12751      runtime.styles.set(hash, css);
12752      for (const targetDocument of runtime.documents.keys()) {
12753        injectStyle7(targetDocument, hash, css);
12754      }
12755    }
12756    if (typeof process === "undefined" || true) {
12757      registerStyle7("e25d67a230", '@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([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-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{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{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)}}}');
12758    }
12759    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" };
12760    function getItemPopupWidthClassName(width = "anchor") {
12761      switch (width) {
12762        case "available":
12763          return item_popup_default["is-width-available"];
12764        case "content":
12765          return item_popup_default["is-width-content"];
12766        case "lg":
12767          return item_popup_default["is-width-lg"];
12768        case "md":
12769          return item_popup_default["is-width-md"];
12770        case "sm":
12771          return item_popup_default["is-width-sm"];
12772        case "anchor":
12773          return item_popup_default["is-width-anchor"];
12774        default:
12775          return false;
12776      }
12777    }
12778  
12779    // packages/ui/build-module/form/primitives/field/index.mjs
12780    var field_exports = {};
12781    __export(field_exports, {
12782      Control: () => Control,
12783      Description: () => Description,
12784      Details: () => Details,
12785      Item: () => Item,
12786      Label: () => Label,
12787      Root: () => Root,
12788      VisualLabel: () => VisualLabel
12789    });
12790  
12791    // packages/ui/build-module/form/primitives/field/root.mjs
12792    var import_element15 = __toESM(require_element(), 1);
12793    var import_jsx_runtime34 = __toESM(require_jsx_runtime(), 1);
12794    var STYLE_HASH_ATTRIBUTE8 = "data-wp-hash";
12795    function getRuntime8() {
12796      const globalScope = globalThis;
12797      if (globalScope.__wpStyleRuntime) {
12798        return globalScope.__wpStyleRuntime;
12799      }
12800      globalScope.__wpStyleRuntime = {
12801        documents: /* @__PURE__ */ new Map(),
12802        styles: /* @__PURE__ */ new Map(),
12803        injectedStyles: /* @__PURE__ */ new WeakMap()
12804      };
12805      if (typeof document !== "undefined") {
12806        registerDocument8(document);
12807      }
12808      return globalScope.__wpStyleRuntime;
12809    }
12810    function documentContainsStyleHash8(targetDocument, hash) {
12811      if (!targetDocument.head) {
12812        return false;
12813      }
12814      for (const style of targetDocument.head.querySelectorAll(
12815        `style[$STYLE_HASH_ATTRIBUTE8}]`
12816      )) {
12817        if (style.getAttribute(STYLE_HASH_ATTRIBUTE8) === hash) {
12818          return true;
12819        }
12820      }
12821      return false;
12822    }
12823    function injectStyle8(targetDocument, hash, css) {
12824      if (!targetDocument.head) {
12825        return;
12826      }
12827      const runtime = getRuntime8();
12828      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12829      if (!injectedStyles) {
12830        injectedStyles = /* @__PURE__ */ new Set();
12831        runtime.injectedStyles.set(targetDocument, injectedStyles);
12832      }
12833      if (injectedStyles.has(hash)) {
12834        return;
12835      }
12836      if (documentContainsStyleHash8(targetDocument, hash)) {
12837        injectedStyles.add(hash);
12838        return;
12839      }
12840      const style = targetDocument.createElement("style");
12841      style.setAttribute(STYLE_HASH_ATTRIBUTE8, hash);
12842      style.appendChild(targetDocument.createTextNode(css));
12843      targetDocument.head.appendChild(style);
12844      injectedStyles.add(hash);
12845    }
12846    function registerDocument8(targetDocument) {
12847      const runtime = getRuntime8();
12848      runtime.documents.set(
12849        targetDocument,
12850        (runtime.documents.get(targetDocument) ?? 0) + 1
12851      );
12852      for (const [hash, css] of runtime.styles) {
12853        injectStyle8(targetDocument, hash, css);
12854      }
12855      return () => {
12856        const count = runtime.documents.get(targetDocument);
12857        if (count === void 0) {
12858          return;
12859        }
12860        if (count <= 1) {
12861          runtime.documents.delete(targetDocument);
12862          return;
12863        }
12864        runtime.documents.set(targetDocument, count - 1);
12865      };
12866    }
12867    function registerStyle8(hash, css) {
12868      const runtime = getRuntime8();
12869      runtime.styles.set(hash, css);
12870      for (const targetDocument of runtime.documents.keys()) {
12871        injectStyle8(targetDocument, hash, css);
12872      }
12873    }
12874    if (typeof process === "undefined" || true) {
12875      registerStyle8("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
12876    }
12877    var resets_default2 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
12878    var DEFAULT_RENDER = (props) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Stack, { ...props, direction: "column", gap: "sm" });
12879    var Root = (0, import_element15.forwardRef)(
12880      function UnforwardedRoot({ className, render = DEFAULT_RENDER, ...restProps }, ref) {
12881        return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
12882          index_parts_exports.Root,
12883          {
12884            ref,
12885            className: clsx_default(resets_default2["box-sizing"], className),
12886            render,
12887            ...restProps
12888          }
12889        );
12890      }
12891    );
12892  
12893    // packages/ui/build-module/form/primitives/field/item.mjs
12894    var import_element16 = __toESM(require_element(), 1);
12895    var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1);
12896    var Item = (0, import_element16.forwardRef)(function UnforwardedItem(props, ref) {
12897      return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(index_parts_exports.Item, { ref, ...props });
12898    });
12899  
12900    // packages/ui/build-module/form/primitives/field/label.mjs
12901    var import_element17 = __toESM(require_element(), 1);
12902    var import_jsx_runtime36 = __toESM(require_jsx_runtime(), 1);
12903    var STYLE_HASH_ATTRIBUTE9 = "data-wp-hash";
12904    function getRuntime9() {
12905      const globalScope = globalThis;
12906      if (globalScope.__wpStyleRuntime) {
12907        return globalScope.__wpStyleRuntime;
12908      }
12909      globalScope.__wpStyleRuntime = {
12910        documents: /* @__PURE__ */ new Map(),
12911        styles: /* @__PURE__ */ new Map(),
12912        injectedStyles: /* @__PURE__ */ new WeakMap()
12913      };
12914      if (typeof document !== "undefined") {
12915        registerDocument9(document);
12916      }
12917      return globalScope.__wpStyleRuntime;
12918    }
12919    function documentContainsStyleHash9(targetDocument, hash) {
12920      if (!targetDocument.head) {
12921        return false;
12922      }
12923      for (const style of targetDocument.head.querySelectorAll(
12924        `style[$STYLE_HASH_ATTRIBUTE9}]`
12925      )) {
12926        if (style.getAttribute(STYLE_HASH_ATTRIBUTE9) === hash) {
12927          return true;
12928        }
12929      }
12930      return false;
12931    }
12932    function injectStyle9(targetDocument, hash, css) {
12933      if (!targetDocument.head) {
12934        return;
12935      }
12936      const runtime = getRuntime9();
12937      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12938      if (!injectedStyles) {
12939        injectedStyles = /* @__PURE__ */ new Set();
12940        runtime.injectedStyles.set(targetDocument, injectedStyles);
12941      }
12942      if (injectedStyles.has(hash)) {
12943        return;
12944      }
12945      if (documentContainsStyleHash9(targetDocument, hash)) {
12946        injectedStyles.add(hash);
12947        return;
12948      }
12949      const style = targetDocument.createElement("style");
12950      style.setAttribute(STYLE_HASH_ATTRIBUTE9, hash);
12951      style.appendChild(targetDocument.createTextNode(css));
12952      targetDocument.head.appendChild(style);
12953      injectedStyles.add(hash);
12954    }
12955    function registerDocument9(targetDocument) {
12956      const runtime = getRuntime9();
12957      runtime.documents.set(
12958        targetDocument,
12959        (runtime.documents.get(targetDocument) ?? 0) + 1
12960      );
12961      for (const [hash, css] of runtime.styles) {
12962        injectStyle9(targetDocument, hash, css);
12963      }
12964      return () => {
12965        const count = runtime.documents.get(targetDocument);
12966        if (count === void 0) {
12967          return;
12968        }
12969        if (count <= 1) {
12970          runtime.documents.delete(targetDocument);
12971          return;
12972        }
12973        runtime.documents.set(targetDocument, count - 1);
12974      };
12975    }
12976    function registerStyle9(hash, css) {
12977      const runtime = getRuntime9();
12978      runtime.styles.set(hash, css);
12979      for (const targetDocument of runtime.documents.keys()) {
12980        injectStyle9(targetDocument, hash, css);
12981      }
12982    }
12983    if (typeof process === "undefined" || true) {
12984      registerStyle9("df33c48b2d", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._2d5ad850b2f90964__label{--wp-ui-field-label-line-height:var(--wpds-typography-line-height-xs,16px);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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wp-ui-field-label-line-height);text-transform:uppercase;&._17c4214649230bea__is-plain{font-size:var(--wpds-typography-font-size-md,13px);font-weight:var(--wpds-typography-font-weight-default,400);text-transform:none}}._08a3750500e0233f__description{--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);--_gcd-p-margin:0;text-wrap:pretty;color:var(--wpds-color-foreground-content-neutral-weak,#707070);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:var(--wpds-typography-line-height-xs,16px)}}}');
12985    }
12986    var field_default = { "label": "_2d5ad850b2f90964__label", "is-plain": "_17c4214649230bea__is-plain", "description": "_08a3750500e0233f__description" };
12987    var Label = (0, import_element17.forwardRef)(
12988      function UnforwardedLabel({ className, hideFromVision, variant, ...restProps }, ref) {
12989        const label = /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
12990          index_parts_exports.Label,
12991          {
12992            ref,
12993            className: clsx_default(
12994              field_default.label,
12995              variant && field_default[`is-$variant}`],
12996              className
12997            ),
12998            ...restProps
12999          }
13000        );
13001        if (hideFromVision) {
13002          return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(VisuallyHidden, { render: label });
13003        }
13004        return label;
13005      }
13006    );
13007  
13008    // packages/ui/build-module/form/primitives/field/description.mjs
13009    var import_element18 = __toESM(require_element(), 1);
13010    var import_jsx_runtime37 = __toESM(require_jsx_runtime(), 1);
13011    var STYLE_HASH_ATTRIBUTE10 = "data-wp-hash";
13012    function getRuntime10() {
13013      const globalScope = globalThis;
13014      if (globalScope.__wpStyleRuntime) {
13015        return globalScope.__wpStyleRuntime;
13016      }
13017      globalScope.__wpStyleRuntime = {
13018        documents: /* @__PURE__ */ new Map(),
13019        styles: /* @__PURE__ */ new Map(),
13020        injectedStyles: /* @__PURE__ */ new WeakMap()
13021      };
13022      if (typeof document !== "undefined") {
13023        registerDocument10(document);
13024      }
13025      return globalScope.__wpStyleRuntime;
13026    }
13027    function documentContainsStyleHash10(targetDocument, hash) {
13028      if (!targetDocument.head) {
13029        return false;
13030      }
13031      for (const style of targetDocument.head.querySelectorAll(
13032        `style[$STYLE_HASH_ATTRIBUTE10}]`
13033      )) {
13034        if (style.getAttribute(STYLE_HASH_ATTRIBUTE10) === hash) {
13035          return true;
13036        }
13037      }
13038      return false;
13039    }
13040    function injectStyle10(targetDocument, hash, css) {
13041      if (!targetDocument.head) {
13042        return;
13043      }
13044      const runtime = getRuntime10();
13045      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13046      if (!injectedStyles) {
13047        injectedStyles = /* @__PURE__ */ new Set();
13048        runtime.injectedStyles.set(targetDocument, injectedStyles);
13049      }
13050      if (injectedStyles.has(hash)) {
13051        return;
13052      }
13053      if (documentContainsStyleHash10(targetDocument, hash)) {
13054        injectedStyles.add(hash);
13055        return;
13056      }
13057      const style = targetDocument.createElement("style");
13058      style.setAttribute(STYLE_HASH_ATTRIBUTE10, hash);
13059      style.appendChild(targetDocument.createTextNode(css));
13060      targetDocument.head.appendChild(style);
13061      injectedStyles.add(hash);
13062    }
13063    function registerDocument10(targetDocument) {
13064      const runtime = getRuntime10();
13065      runtime.documents.set(
13066        targetDocument,
13067        (runtime.documents.get(targetDocument) ?? 0) + 1
13068      );
13069      for (const [hash, css] of runtime.styles) {
13070        injectStyle10(targetDocument, hash, css);
13071      }
13072      return () => {
13073        const count = runtime.documents.get(targetDocument);
13074        if (count === void 0) {
13075          return;
13076        }
13077        if (count <= 1) {
13078          runtime.documents.delete(targetDocument);
13079          return;
13080        }
13081        runtime.documents.set(targetDocument, count - 1);
13082      };
13083    }
13084    function registerStyle10(hash, css) {
13085      const runtime = getRuntime10();
13086      runtime.styles.set(hash, css);
13087      for (const targetDocument of runtime.documents.keys()) {
13088        injectStyle10(targetDocument, hash, css);
13089      }
13090    }
13091    if (typeof process === "undefined" || true) {
13092      registerStyle10("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)}");
13093    }
13094    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" };
13095    if (typeof process === "undefined" || true) {
13096      registerStyle10("df33c48b2d", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._2d5ad850b2f90964__label{--wp-ui-field-label-line-height:var(--wpds-typography-line-height-xs,16px);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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wp-ui-field-label-line-height);text-transform:uppercase;&._17c4214649230bea__is-plain{font-size:var(--wpds-typography-font-size-md,13px);font-weight:var(--wpds-typography-font-weight-default,400);text-transform:none}}._08a3750500e0233f__description{--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);--_gcd-p-margin:0;text-wrap:pretty;color:var(--wpds-color-foreground-content-neutral-weak,#707070);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:var(--wpds-typography-line-height-xs,16px)}}}');
13097    }
13098    var field_default2 = { "label": "_2d5ad850b2f90964__label", "is-plain": "_17c4214649230bea__is-plain", "description": "_08a3750500e0233f__description" };
13099    var Description = (0, import_element18.forwardRef)(function UnforwardedDescription({ className, ...restProps }, ref) {
13100      return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
13101        index_parts_exports.Description,
13102        {
13103          ref,
13104          className: clsx_default(
13105            global_css_defense_default3.p,
13106            field_default2.description,
13107            className
13108          ),
13109          ...restProps
13110        }
13111      );
13112    });
13113  
13114    // packages/ui/build-module/form/primitives/field/details.mjs
13115    var import_element19 = __toESM(require_element(), 1);
13116    var import_i18n2 = __toESM(require_i18n(), 1);
13117    var import_jsx_runtime38 = __toESM(require_jsx_runtime(), 1);
13118    var STYLE_HASH_ATTRIBUTE11 = "data-wp-hash";
13119    function getRuntime11() {
13120      const globalScope = globalThis;
13121      if (globalScope.__wpStyleRuntime) {
13122        return globalScope.__wpStyleRuntime;
13123      }
13124      globalScope.__wpStyleRuntime = {
13125        documents: /* @__PURE__ */ new Map(),
13126        styles: /* @__PURE__ */ new Map(),
13127        injectedStyles: /* @__PURE__ */ new WeakMap()
13128      };
13129      if (typeof document !== "undefined") {
13130        registerDocument11(document);
13131      }
13132      return globalScope.__wpStyleRuntime;
13133    }
13134    function documentContainsStyleHash11(targetDocument, hash) {
13135      if (!targetDocument.head) {
13136        return false;
13137      }
13138      for (const style of targetDocument.head.querySelectorAll(
13139        `style[$STYLE_HASH_ATTRIBUTE11}]`
13140      )) {
13141        if (style.getAttribute(STYLE_HASH_ATTRIBUTE11) === hash) {
13142          return true;
13143        }
13144      }
13145      return false;
13146    }
13147    function injectStyle11(targetDocument, hash, css) {
13148      if (!targetDocument.head) {
13149        return;
13150      }
13151      const runtime = getRuntime11();
13152      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13153      if (!injectedStyles) {
13154        injectedStyles = /* @__PURE__ */ new Set();
13155        runtime.injectedStyles.set(targetDocument, injectedStyles);
13156      }
13157      if (injectedStyles.has(hash)) {
13158        return;
13159      }
13160      if (documentContainsStyleHash11(targetDocument, hash)) {
13161        injectedStyles.add(hash);
13162        return;
13163      }
13164      const style = targetDocument.createElement("style");
13165      style.setAttribute(STYLE_HASH_ATTRIBUTE11, hash);
13166      style.appendChild(targetDocument.createTextNode(css));
13167      targetDocument.head.appendChild(style);
13168      injectedStyles.add(hash);
13169    }
13170    function registerDocument11(targetDocument) {
13171      const runtime = getRuntime11();
13172      runtime.documents.set(
13173        targetDocument,
13174        (runtime.documents.get(targetDocument) ?? 0) + 1
13175      );
13176      for (const [hash, css] of runtime.styles) {
13177        injectStyle11(targetDocument, hash, css);
13178      }
13179      return () => {
13180        const count = runtime.documents.get(targetDocument);
13181        if (count === void 0) {
13182          return;
13183        }
13184        if (count <= 1) {
13185          runtime.documents.delete(targetDocument);
13186          return;
13187        }
13188        runtime.documents.set(targetDocument, count - 1);
13189      };
13190    }
13191    function registerStyle11(hash, css) {
13192      const runtime = getRuntime11();
13193      runtime.styles.set(hash, css);
13194      for (const targetDocument of runtime.documents.keys()) {
13195        injectStyle11(targetDocument, hash, css);
13196      }
13197    }
13198    if (typeof process === "undefined" || true) {
13199      registerStyle11("df33c48b2d", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._2d5ad850b2f90964__label{--wp-ui-field-label-line-height:var(--wpds-typography-line-height-xs,16px);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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wp-ui-field-label-line-height);text-transform:uppercase;&._17c4214649230bea__is-plain{font-size:var(--wpds-typography-font-size-md,13px);font-weight:var(--wpds-typography-font-weight-default,400);text-transform:none}}._08a3750500e0233f__description{--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);--_gcd-p-margin:0;text-wrap:pretty;color:var(--wpds-color-foreground-content-neutral-weak,#707070);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:var(--wpds-typography-line-height-xs,16px)}}}');
13200    }
13201    var field_default3 = { "label": "_2d5ad850b2f90964__label", "is-plain": "_17c4214649230bea__is-plain", "description": "_08a3750500e0233f__description" };
13202    var Details = (0, import_element19.forwardRef)(
13203      function UnforwardedDetails({ className, ...restProps }, ref) {
13204        return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
13205          /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(VisuallyHidden, { render: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(index_parts_exports.Description, {}), children: (0, import_i18n2.__)("More details follow the field.") }),
13206          /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
13207            "div",
13208            {
13209              ref,
13210              className: clsx_default(field_default3.description, className),
13211              ...restProps
13212            }
13213          )
13214        ] });
13215      }
13216    );
13217  
13218    // packages/ui/build-module/form/primitives/field/control.mjs
13219    var import_element20 = __toESM(require_element(), 1);
13220    var import_jsx_runtime39 = __toESM(require_jsx_runtime(), 1);
13221    var Control = (0, import_element20.forwardRef)(
13222      function UnforwardedControl(props, ref) {
13223        return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(index_parts_exports.Control, { ref, ...props });
13224      }
13225    );
13226  
13227    // packages/ui/build-module/form/primitives/field/visual-label.mjs
13228    var import_element21 = __toESM(require_element(), 1);
13229    var STYLE_HASH_ATTRIBUTE12 = "data-wp-hash";
13230    function getRuntime12() {
13231      const globalScope = globalThis;
13232      if (globalScope.__wpStyleRuntime) {
13233        return globalScope.__wpStyleRuntime;
13234      }
13235      globalScope.__wpStyleRuntime = {
13236        documents: /* @__PURE__ */ new Map(),
13237        styles: /* @__PURE__ */ new Map(),
13238        injectedStyles: /* @__PURE__ */ new WeakMap()
13239      };
13240      if (typeof document !== "undefined") {
13241        registerDocument12(document);
13242      }
13243      return globalScope.__wpStyleRuntime;
13244    }
13245    function documentContainsStyleHash12(targetDocument, hash) {
13246      if (!targetDocument.head) {
13247        return false;
13248      }
13249      for (const style of targetDocument.head.querySelectorAll(
13250        `style[$STYLE_HASH_ATTRIBUTE12}]`
13251      )) {
13252        if (style.getAttribute(STYLE_HASH_ATTRIBUTE12) === hash) {
13253          return true;
13254        }
13255      }
13256      return false;
13257    }
13258    function injectStyle12(targetDocument, hash, css) {
13259      if (!targetDocument.head) {
13260        return;
13261      }
13262      const runtime = getRuntime12();
13263      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13264      if (!injectedStyles) {
13265        injectedStyles = /* @__PURE__ */ new Set();
13266        runtime.injectedStyles.set(targetDocument, injectedStyles);
13267      }
13268      if (injectedStyles.has(hash)) {
13269        return;
13270      }
13271      if (documentContainsStyleHash12(targetDocument, hash)) {
13272        injectedStyles.add(hash);
13273        return;
13274      }
13275      const style = targetDocument.createElement("style");
13276      style.setAttribute(STYLE_HASH_ATTRIBUTE12, hash);
13277      style.appendChild(targetDocument.createTextNode(css));
13278      targetDocument.head.appendChild(style);
13279      injectedStyles.add(hash);
13280    }
13281    function registerDocument12(targetDocument) {
13282      const runtime = getRuntime12();
13283      runtime.documents.set(
13284        targetDocument,
13285        (runtime.documents.get(targetDocument) ?? 0) + 1
13286      );
13287      for (const [hash, css] of runtime.styles) {
13288        injectStyle12(targetDocument, hash, css);
13289      }
13290      return () => {
13291        const count = runtime.documents.get(targetDocument);
13292        if (count === void 0) {
13293          return;
13294        }
13295        if (count <= 1) {
13296          runtime.documents.delete(targetDocument);
13297          return;
13298        }
13299        runtime.documents.set(targetDocument, count - 1);
13300      };
13301    }
13302    function registerStyle12(hash, css) {
13303      const runtime = getRuntime12();
13304      runtime.styles.set(hash, css);
13305      for (const targetDocument of runtime.documents.keys()) {
13306        injectStyle12(targetDocument, hash, css);
13307      }
13308    }
13309    if (typeof process === "undefined" || true) {
13310      registerStyle12("df33c48b2d", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._2d5ad850b2f90964__label{--wp-ui-field-label-line-height:var(--wpds-typography-line-height-xs,16px);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-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wp-ui-field-label-line-height);text-transform:uppercase;&._17c4214649230bea__is-plain{font-size:var(--wpds-typography-font-size-md,13px);font-weight:var(--wpds-typography-font-weight-default,400);text-transform:none}}._08a3750500e0233f__description{--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);--_gcd-p-margin:0;text-wrap:pretty;color:var(--wpds-color-foreground-content-neutral-weak,#707070);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:var(--wpds-typography-line-height-xs,16px)}}}');
13311    }
13312    var field_default4 = { "label": "_2d5ad850b2f90964__label", "is-plain": "_17c4214649230bea__is-plain", "description": "_08a3750500e0233f__description" };
13313    var VisualLabel = (0, import_element21.forwardRef)(
13314      function UnforwardedVisualLabel({ className, render, variant, ...restProps }, ref) {
13315        return useRender({
13316          defaultTagName: "span",
13317          render,
13318          ref,
13319          props: mergeProps(restProps, {
13320            className: clsx_default(
13321              field_default4.label,
13322              variant && field_default4[`is-$variant}`],
13323              className
13324            )
13325          })
13326        });
13327      }
13328    );
13329    VisualLabel.displayName = "Field.VisualLabel";
13330  
13331    // packages/ui/build-module/form/primitives/select/index.mjs
13332    var select_exports = {};
13333    __export(select_exports, {
13334      Group: () => Group,
13335      GroupLabel: () => GroupLabel,
13336      Item: () => Item2,
13337      ItemDescription: () => ItemDescription,
13338      ItemLabel: () => ItemLabel,
13339      Popup: () => Popup,
13340      Portal: () => Portal,
13341      Positioner: () => Positioner,
13342      Root: () => Root2,
13343      Separator: () => Separator,
13344      Trigger: () => Trigger
13345    });
13346  
13347    // packages/ui/build-module/form/primitives/select/group.mjs
13348    var import_element22 = __toESM(require_element(), 1);
13349    var import_jsx_runtime40 = __toESM(require_jsx_runtime(), 1);
13350    var STYLE_HASH_ATTRIBUTE13 = "data-wp-hash";
13351    function getRuntime13() {
13352      const globalScope = globalThis;
13353      if (globalScope.__wpStyleRuntime) {
13354        return globalScope.__wpStyleRuntime;
13355      }
13356      globalScope.__wpStyleRuntime = {
13357        documents: /* @__PURE__ */ new Map(),
13358        styles: /* @__PURE__ */ new Map(),
13359        injectedStyles: /* @__PURE__ */ new WeakMap()
13360      };
13361      if (typeof document !== "undefined") {
13362        registerDocument13(document);
13363      }
13364      return globalScope.__wpStyleRuntime;
13365    }
13366    function documentContainsStyleHash13(targetDocument, hash) {
13367      if (!targetDocument.head) {
13368        return false;
13369      }
13370      for (const style of targetDocument.head.querySelectorAll(
13371        `style[$STYLE_HASH_ATTRIBUTE13}]`
13372      )) {
13373        if (style.getAttribute(STYLE_HASH_ATTRIBUTE13) === hash) {
13374          return true;
13375        }
13376      }
13377      return false;
13378    }
13379    function injectStyle13(targetDocument, hash, css) {
13380      if (!targetDocument.head) {
13381        return;
13382      }
13383      const runtime = getRuntime13();
13384      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13385      if (!injectedStyles) {
13386        injectedStyles = /* @__PURE__ */ new Set();
13387        runtime.injectedStyles.set(targetDocument, injectedStyles);
13388      }
13389      if (injectedStyles.has(hash)) {
13390        return;
13391      }
13392      if (documentContainsStyleHash13(targetDocument, hash)) {
13393        injectedStyles.add(hash);
13394        return;
13395      }
13396      const style = targetDocument.createElement("style");
13397      style.setAttribute(STYLE_HASH_ATTRIBUTE13, hash);
13398      style.appendChild(targetDocument.createTextNode(css));
13399      targetDocument.head.appendChild(style);
13400      injectedStyles.add(hash);
13401    }
13402    function registerDocument13(targetDocument) {
13403      const runtime = getRuntime13();
13404      runtime.documents.set(
13405        targetDocument,
13406        (runtime.documents.get(targetDocument) ?? 0) + 1
13407      );
13408      for (const [hash, css] of runtime.styles) {
13409        injectStyle13(targetDocument, hash, css);
13410      }
13411      return () => {
13412        const count = runtime.documents.get(targetDocument);
13413        if (count === void 0) {
13414          return;
13415        }
13416        if (count <= 1) {
13417          runtime.documents.delete(targetDocument);
13418          return;
13419        }
13420        runtime.documents.set(targetDocument, count - 1);
13421      };
13422    }
13423    function registerStyle13(hash, css) {
13424      const runtime = getRuntime13();
13425      runtime.styles.set(hash, css);
13426      for (const targetDocument of runtime.documents.keys()) {
13427        injectStyle13(targetDocument, hash, css);
13428      }
13429    }
13430    if (typeof process === "undefined" || true) {
13431      registerStyle13("e25d67a230", '@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([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-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{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{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)}}}');
13432    }
13433    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" };
13434    var Group = (0, import_element22.forwardRef)(
13435      function UnforwardedGroup({ className, children, ...restProps }, ref) {
13436        return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
13437          index_parts_exports2.Group,
13438          {
13439            className: clsx_default(item_popup_default2.group, className),
13440            ref,
13441            ...restProps,
13442            children
13443          }
13444        );
13445      }
13446    );
13447  
13448    // packages/ui/build-module/form/primitives/select/group-label.mjs
13449    var import_element23 = __toESM(require_element(), 1);
13450    var import_jsx_runtime41 = __toESM(require_jsx_runtime(), 1);
13451    var STYLE_HASH_ATTRIBUTE14 = "data-wp-hash";
13452    function getRuntime14() {
13453      const globalScope = globalThis;
13454      if (globalScope.__wpStyleRuntime) {
13455        return globalScope.__wpStyleRuntime;
13456      }
13457      globalScope.__wpStyleRuntime = {
13458        documents: /* @__PURE__ */ new Map(),
13459        styles: /* @__PURE__ */ new Map(),
13460        injectedStyles: /* @__PURE__ */ new WeakMap()
13461      };
13462      if (typeof document !== "undefined") {
13463        registerDocument14(document);
13464      }
13465      return globalScope.__wpStyleRuntime;
13466    }
13467    function documentContainsStyleHash14(targetDocument, hash) {
13468      if (!targetDocument.head) {
13469        return false;
13470      }
13471      for (const style of targetDocument.head.querySelectorAll(
13472        `style[$STYLE_HASH_ATTRIBUTE14}]`
13473      )) {
13474        if (style.getAttribute(STYLE_HASH_ATTRIBUTE14) === hash) {
13475          return true;
13476        }
13477      }
13478      return false;
13479    }
13480    function injectStyle14(targetDocument, hash, css) {
13481      if (!targetDocument.head) {
13482        return;
13483      }
13484      const runtime = getRuntime14();
13485      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13486      if (!injectedStyles) {
13487        injectedStyles = /* @__PURE__ */ new Set();
13488        runtime.injectedStyles.set(targetDocument, injectedStyles);
13489      }
13490      if (injectedStyles.has(hash)) {
13491        return;
13492      }
13493      if (documentContainsStyleHash14(targetDocument, hash)) {
13494        injectedStyles.add(hash);
13495        return;
13496      }
13497      const style = targetDocument.createElement("style");
13498      style.setAttribute(STYLE_HASH_ATTRIBUTE14, hash);
13499      style.appendChild(targetDocument.createTextNode(css));
13500      targetDocument.head.appendChild(style);
13501      injectedStyles.add(hash);
13502    }
13503    function registerDocument14(targetDocument) {
13504      const runtime = getRuntime14();
13505      runtime.documents.set(
13506        targetDocument,
13507        (runtime.documents.get(targetDocument) ?? 0) + 1
13508      );
13509      for (const [hash, css] of runtime.styles) {
13510        injectStyle14(targetDocument, hash, css);
13511      }
13512      return () => {
13513        const count = runtime.documents.get(targetDocument);
13514        if (count === void 0) {
13515          return;
13516        }
13517        if (count <= 1) {
13518          runtime.documents.delete(targetDocument);
13519          return;
13520        }
13521        runtime.documents.set(targetDocument, count - 1);
13522      };
13523    }
13524    function registerStyle14(hash, css) {
13525      const runtime = getRuntime14();
13526      runtime.styles.set(hash, css);
13527      for (const targetDocument of runtime.documents.keys()) {
13528        injectStyle14(targetDocument, hash, css);
13529      }
13530    }
13531    if (typeof process === "undefined" || true) {
13532      registerStyle14("e25d67a230", '@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([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-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{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{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)}}}');
13533    }
13534    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" };
13535    var GroupLabel = (0, import_element23.forwardRef)(
13536      function UnforwardedGroupLabel({ className, children, ...restProps }, ref) {
13537        return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
13538          Text,
13539          {
13540            variant: "heading-sm",
13541            className: clsx_default(
13542              item_popup_default3["group-label"],
13543              className
13544            ),
13545            render: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(index_parts_exports2.GroupLabel, { ref, ...restProps }),
13546            children
13547          }
13548        );
13549      }
13550    );
13551  
13552    // packages/ui/build-module/form/primitives/select/item.mjs
13553    var import_element26 = __toESM(require_element(), 1);
13554  
13555    // packages/ui/build-module/form/primitives/select/item-description.mjs
13556    var import_element24 = __toESM(require_element(), 1);
13557    var import_jsx_runtime42 = __toESM(require_jsx_runtime(), 1);
13558    var STYLE_HASH_ATTRIBUTE15 = "data-wp-hash";
13559    function getRuntime15() {
13560      const globalScope = globalThis;
13561      if (globalScope.__wpStyleRuntime) {
13562        return globalScope.__wpStyleRuntime;
13563      }
13564      globalScope.__wpStyleRuntime = {
13565        documents: /* @__PURE__ */ new Map(),
13566        styles: /* @__PURE__ */ new Map(),
13567        injectedStyles: /* @__PURE__ */ new WeakMap()
13568      };
13569      if (typeof document !== "undefined") {
13570        registerDocument15(document);
13571      }
13572      return globalScope.__wpStyleRuntime;
13573    }
13574    function documentContainsStyleHash15(targetDocument, hash) {
13575      if (!targetDocument.head) {
13576        return false;
13577      }
13578      for (const style of targetDocument.head.querySelectorAll(
13579        `style[$STYLE_HASH_ATTRIBUTE15}]`
13580      )) {
13581        if (style.getAttribute(STYLE_HASH_ATTRIBUTE15) === hash) {
13582          return true;
13583        }
13584      }
13585      return false;
13586    }
13587    function injectStyle15(targetDocument, hash, css) {
13588      if (!targetDocument.head) {
13589        return;
13590      }
13591      const runtime = getRuntime15();
13592      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13593      if (!injectedStyles) {
13594        injectedStyles = /* @__PURE__ */ new Set();
13595        runtime.injectedStyles.set(targetDocument, injectedStyles);
13596      }
13597      if (injectedStyles.has(hash)) {
13598        return;
13599      }
13600      if (documentContainsStyleHash15(targetDocument, hash)) {
13601        injectedStyles.add(hash);
13602        return;
13603      }
13604      const style = targetDocument.createElement("style");
13605      style.setAttribute(STYLE_HASH_ATTRIBUTE15, hash);
13606      style.appendChild(targetDocument.createTextNode(css));
13607      targetDocument.head.appendChild(style);
13608      injectedStyles.add(hash);
13609    }
13610    function registerDocument15(targetDocument) {
13611      const runtime = getRuntime15();
13612      runtime.documents.set(
13613        targetDocument,
13614        (runtime.documents.get(targetDocument) ?? 0) + 1
13615      );
13616      for (const [hash, css] of runtime.styles) {
13617        injectStyle15(targetDocument, hash, css);
13618      }
13619      return () => {
13620        const count = runtime.documents.get(targetDocument);
13621        if (count === void 0) {
13622          return;
13623        }
13624        if (count <= 1) {
13625          runtime.documents.delete(targetDocument);
13626          return;
13627        }
13628        runtime.documents.set(targetDocument, count - 1);
13629      };
13630    }
13631    function registerStyle15(hash, css) {
13632      const runtime = getRuntime15();
13633      runtime.styles.set(hash, css);
13634      for (const targetDocument of runtime.documents.keys()) {
13635        injectStyle15(targetDocument, hash, css);
13636      }
13637    }
13638    if (typeof process === "undefined" || true) {
13639      registerStyle15("e25d67a230", '@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([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-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{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{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)}}}');
13640    }
13641    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" };
13642    var ITEM_DESCRIPTION_DIRECT_CHILD = /* @__PURE__ */ Symbol();
13643    var ItemDescription = (0, import_element24.forwardRef)(function UnforwardedItemDescription(props, ref) {
13644      const { className, validationToken, ...restProps } = props;
13645      if (validationToken !== ITEM_DESCRIPTION_DIRECT_CHILD) {
13646        throw new Error(
13647          "Select.ItemDescription: Missing direct select item parent. Render <Select.ItemDescription> as a direct child of <Select.Item>."
13648        );
13649      }
13650      return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
13651        Text,
13652        {
13653          ref,
13654          variant: "body-sm",
13655          className: clsx_default(
13656            item_popup_default4["item-description"],
13657            className
13658          ),
13659          ...restProps
13660        }
13661      );
13662    });
13663  
13664    // packages/ui/build-module/form/primitives/select/item-label.mjs
13665    var import_element25 = __toESM(require_element(), 1);
13666    var import_jsx_runtime43 = __toESM(require_jsx_runtime(), 1);
13667    var STYLE_HASH_ATTRIBUTE16 = "data-wp-hash";
13668    function getRuntime16() {
13669      const globalScope = globalThis;
13670      if (globalScope.__wpStyleRuntime) {
13671        return globalScope.__wpStyleRuntime;
13672      }
13673      globalScope.__wpStyleRuntime = {
13674        documents: /* @__PURE__ */ new Map(),
13675        styles: /* @__PURE__ */ new Map(),
13676        injectedStyles: /* @__PURE__ */ new WeakMap()
13677      };
13678      if (typeof document !== "undefined") {
13679        registerDocument16(document);
13680      }
13681      return globalScope.__wpStyleRuntime;
13682    }
13683    function documentContainsStyleHash16(targetDocument, hash) {
13684      if (!targetDocument.head) {
13685        return false;
13686      }
13687      for (const style of targetDocument.head.querySelectorAll(
13688        `style[$STYLE_HASH_ATTRIBUTE16}]`
13689      )) {
13690        if (style.getAttribute(STYLE_HASH_ATTRIBUTE16) === hash) {
13691          return true;
13692        }
13693      }
13694      return false;
13695    }
13696    function injectStyle16(targetDocument, hash, css) {
13697      if (!targetDocument.head) {
13698        return;
13699      }
13700      const runtime = getRuntime16();
13701      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13702      if (!injectedStyles) {
13703        injectedStyles = /* @__PURE__ */ new Set();
13704        runtime.injectedStyles.set(targetDocument, injectedStyles);
13705      }
13706      if (injectedStyles.has(hash)) {
13707        return;
13708      }
13709      if (documentContainsStyleHash16(targetDocument, hash)) {
13710        injectedStyles.add(hash);
13711        return;
13712      }
13713      const style = targetDocument.createElement("style");
13714      style.setAttribute(STYLE_HASH_ATTRIBUTE16, hash);
13715      style.appendChild(targetDocument.createTextNode(css));
13716      targetDocument.head.appendChild(style);
13717      injectedStyles.add(hash);
13718    }
13719    function registerDocument16(targetDocument) {
13720      const runtime = getRuntime16();
13721      runtime.documents.set(
13722        targetDocument,
13723        (runtime.documents.get(targetDocument) ?? 0) + 1
13724      );
13725      for (const [hash, css] of runtime.styles) {
13726        injectStyle16(targetDocument, hash, css);
13727      }
13728      return () => {
13729        const count = runtime.documents.get(targetDocument);
13730        if (count === void 0) {
13731          return;
13732        }
13733        if (count <= 1) {
13734          runtime.documents.delete(targetDocument);
13735          return;
13736        }
13737        runtime.documents.set(targetDocument, count - 1);
13738      };
13739    }
13740    function registerStyle16(hash, css) {
13741      const runtime = getRuntime16();
13742      runtime.styles.set(hash, css);
13743      for (const targetDocument of runtime.documents.keys()) {
13744        injectStyle16(targetDocument, hash, css);
13745      }
13746    }
13747    if (typeof process === "undefined" || true) {
13748      registerStyle16("e25d67a230", '@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([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-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{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{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)}}}');
13749    }
13750    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" };
13751    var ItemLabel = (0, import_element25.forwardRef)(
13752      function UnforwardedItemLabel({ children, className, render, ...restProps }, ref) {
13753        return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
13754          Text,
13755          {
13756            ref,
13757            variant: "body-md",
13758            render: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(index_parts_exports2.ItemText, { render }),
13759            className: clsx_default(item_popup_default5["item-label"], className),
13760            ...restProps,
13761            children
13762          }
13763        );
13764      }
13765    );
13766  
13767    // packages/ui/build-module/form/primitives/select/item.mjs
13768    var import_jsx_runtime44 = __toESM(require_jsx_runtime(), 1);
13769    var STYLE_HASH_ATTRIBUTE17 = "data-wp-hash";
13770    function getRuntime17() {
13771      const globalScope = globalThis;
13772      if (globalScope.__wpStyleRuntime) {
13773        return globalScope.__wpStyleRuntime;
13774      }
13775      globalScope.__wpStyleRuntime = {
13776        documents: /* @__PURE__ */ new Map(),
13777        styles: /* @__PURE__ */ new Map(),
13778        injectedStyles: /* @__PURE__ */ new WeakMap()
13779      };
13780      if (typeof document !== "undefined") {
13781        registerDocument17(document);
13782      }
13783      return globalScope.__wpStyleRuntime;
13784    }
13785    function documentContainsStyleHash17(targetDocument, hash) {
13786      if (!targetDocument.head) {
13787        return false;
13788      }
13789      for (const style of targetDocument.head.querySelectorAll(
13790        `style[$STYLE_HASH_ATTRIBUTE17}]`
13791      )) {
13792        if (style.getAttribute(STYLE_HASH_ATTRIBUTE17) === hash) {
13793          return true;
13794        }
13795      }
13796      return false;
13797    }
13798    function injectStyle17(targetDocument, hash, css) {
13799      if (!targetDocument.head) {
13800        return;
13801      }
13802      const runtime = getRuntime17();
13803      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13804      if (!injectedStyles) {
13805        injectedStyles = /* @__PURE__ */ new Set();
13806        runtime.injectedStyles.set(targetDocument, injectedStyles);
13807      }
13808      if (injectedStyles.has(hash)) {
13809        return;
13810      }
13811      if (documentContainsStyleHash17(targetDocument, hash)) {
13812        injectedStyles.add(hash);
13813        return;
13814      }
13815      const style = targetDocument.createElement("style");
13816      style.setAttribute(STYLE_HASH_ATTRIBUTE17, hash);
13817      style.appendChild(targetDocument.createTextNode(css));
13818      targetDocument.head.appendChild(style);
13819      injectedStyles.add(hash);
13820    }
13821    function registerDocument17(targetDocument) {
13822      const runtime = getRuntime17();
13823      runtime.documents.set(
13824        targetDocument,
13825        (runtime.documents.get(targetDocument) ?? 0) + 1
13826      );
13827      for (const [hash, css] of runtime.styles) {
13828        injectStyle17(targetDocument, hash, css);
13829      }
13830      return () => {
13831        const count = runtime.documents.get(targetDocument);
13832        if (count === void 0) {
13833          return;
13834        }
13835        if (count <= 1) {
13836          runtime.documents.delete(targetDocument);
13837          return;
13838        }
13839        runtime.documents.set(targetDocument, count - 1);
13840      };
13841    }
13842    function registerStyle17(hash, css) {
13843      const runtime = getRuntime17();
13844      runtime.styles.set(hash, css);
13845      for (const targetDocument of runtime.documents.keys()) {
13846        injectStyle17(targetDocument, hash, css);
13847      }
13848    }
13849    if (typeof process === "undefined" || true) {
13850      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)}");
13851    }
13852    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" };
13853    if (typeof process === "undefined" || true) {
13854      registerStyle17("e25d67a230", '@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([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-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{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{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)}}}');
13855    }
13856    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" };
13857    if (typeof process === "undefined" || true) {
13858      registerStyle17("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
13859    }
13860    var resets_default3 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
13861    var ITEM_CONTENT_COMPONENTS = {
13862      Label: ItemLabel,
13863      Description: ItemDescription,
13864      descriptionValidationToken: ITEM_DESCRIPTION_DIRECT_CHILD,
13865      validationMessage: "Select.ItemLabel must be the first direct child of every select item, followed only by Select.ItemDescription components."
13866    };
13867    var Item2 = (0, import_element26.forwardRef)(
13868      function UnforwardedItem2({
13869        className,
13870        value,
13871        size: size4 = "default",
13872        children,
13873        "aria-describedby": ariaDescribedBy,
13874        "aria-label": ariaLabel,
13875        "aria-labelledby": ariaLabelledBy,
13876        ...restProps
13877      }, ref) {
13878        const { contentChildren, itemAriaProps } = useItemContent(
13879          children,
13880          ITEM_CONTENT_COMPONENTS,
13881          {
13882            "aria-describedby": ariaDescribedBy,
13883            "aria-label": ariaLabel,
13884            "aria-labelledby": ariaLabelledBy
13885          }
13886        );
13887        return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
13888          index_parts_exports2.Item,
13889          {
13890            className: clsx_default(
13891              global_css_defense_default4.div,
13892              resets_default3["box-sizing"],
13893              item_popup_default6.item,
13894              size4 === "small" && item_popup_default6["is-size-small"],
13895              className
13896            ),
13897            value,
13898            ref,
13899            ...itemAriaProps,
13900            ...restProps,
13901            children: [
13902              /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: item_popup_default6["item-icon"], children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
13903                Icon,
13904                {
13905                  icon: check_default,
13906                  className: item_popup_default6["item-indicator-icon"],
13907                  size: 16
13908                }
13909              ) }),
13910              /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: item_popup_default6["item-text"], children: contentChildren })
13911            ]
13912          }
13913        );
13914      }
13915    );
13916  
13917    // packages/ui/build-module/form/primitives/select/popup.mjs
13918    var import_element29 = __toESM(require_element(), 1);
13919  
13920    // packages/ui/build-module/form/primitives/select/portal.mjs
13921    var import_element27 = __toESM(require_element(), 1);
13922    var import_jsx_runtime45 = __toESM(require_jsx_runtime(), 1);
13923    var Portal = (0, import_element27.forwardRef)(function SelectPortal3({ container, ...restProps }, ref) {
13924      return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
13925        index_parts_exports2.Portal,
13926        {
13927          container: container === void 0 ? getWpCompatOverlaySlot() : container,
13928          ...restProps,
13929          ref
13930        }
13931      );
13932    });
13933  
13934    // packages/ui/build-module/form/primitives/select/positioner.mjs
13935    var import_element28 = __toESM(require_element(), 1);
13936    var import_jsx_runtime46 = __toESM(require_jsx_runtime(), 1);
13937    var STYLE_HASH_ATTRIBUTE18 = "data-wp-hash";
13938    function getRuntime18() {
13939      const globalScope = globalThis;
13940      if (globalScope.__wpStyleRuntime) {
13941        return globalScope.__wpStyleRuntime;
13942      }
13943      globalScope.__wpStyleRuntime = {
13944        documents: /* @__PURE__ */ new Map(),
13945        styles: /* @__PURE__ */ new Map(),
13946        injectedStyles: /* @__PURE__ */ new WeakMap()
13947      };
13948      if (typeof document !== "undefined") {
13949        registerDocument18(document);
13950      }
13951      return globalScope.__wpStyleRuntime;
13952    }
13953    function documentContainsStyleHash18(targetDocument, hash) {
13954      if (!targetDocument.head) {
13955        return false;
13956      }
13957      for (const style of targetDocument.head.querySelectorAll(
13958        `style[$STYLE_HASH_ATTRIBUTE18}]`
13959      )) {
13960        if (style.getAttribute(STYLE_HASH_ATTRIBUTE18) === hash) {
13961          return true;
13962        }
13963      }
13964      return false;
13965    }
13966    function injectStyle18(targetDocument, hash, css) {
13967      if (!targetDocument.head) {
13968        return;
13969      }
13970      const runtime = getRuntime18();
13971      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13972      if (!injectedStyles) {
13973        injectedStyles = /* @__PURE__ */ new Set();
13974        runtime.injectedStyles.set(targetDocument, injectedStyles);
13975      }
13976      if (injectedStyles.has(hash)) {
13977        return;
13978      }
13979      if (documentContainsStyleHash18(targetDocument, hash)) {
13980        injectedStyles.add(hash);
13981        return;
13982      }
13983      const style = targetDocument.createElement("style");
13984      style.setAttribute(STYLE_HASH_ATTRIBUTE18, hash);
13985      style.appendChild(targetDocument.createTextNode(css));
13986      targetDocument.head.appendChild(style);
13987      injectedStyles.add(hash);
13988    }
13989    function registerDocument18(targetDocument) {
13990      const runtime = getRuntime18();
13991      runtime.documents.set(
13992        targetDocument,
13993        (runtime.documents.get(targetDocument) ?? 0) + 1
13994      );
13995      for (const [hash, css] of runtime.styles) {
13996        injectStyle18(targetDocument, hash, css);
13997      }
13998      return () => {
13999        const count = runtime.documents.get(targetDocument);
14000        if (count === void 0) {
14001          return;
14002        }
14003        if (count <= 1) {
14004          runtime.documents.delete(targetDocument);
14005          return;
14006        }
14007        runtime.documents.set(targetDocument, count - 1);
14008      };
14009    }
14010    function registerStyle18(hash, css) {
14011      const runtime = getRuntime18();
14012      runtime.styles.set(hash, css);
14013      for (const targetDocument of runtime.documents.keys()) {
14014        injectStyle18(targetDocument, hash, css);
14015      }
14016    }
14017    if (typeof process === "undefined" || true) {
14018      registerStyle18("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
14019    }
14020    var resets_default4 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
14021    if (typeof process === "undefined" || true) {
14022      registerStyle18("e25d67a230", '@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([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-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{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{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)}}}');
14023    }
14024    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" };
14025    if (typeof process === "undefined" || true) {
14026      registerStyle18("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)}}}}");
14027    }
14028    var style_default6 = { "positioner": "_0ab863136fb95530__positioner", "list": "a9ab07efb9ef413f__list" };
14029    var Positioner = (0, import_element28.forwardRef)(
14030      function SelectPositioner3({ className, alignItemWithTrigger = true, ...props }, ref) {
14031        return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
14032          index_parts_exports2.Positioner,
14033          {
14034            ...ITEM_POPUP_POSITIONER_PROPS,
14035            ...props,
14036            alignItemWithTrigger,
14037            ref,
14038            className: clsx_default(
14039              resets_default4["box-sizing"],
14040              style_default6.positioner,
14041              alignItemWithTrigger && item_popup_default7["is-align-item-with-trigger"],
14042              className
14043            )
14044          }
14045        );
14046      }
14047    );
14048  
14049    // packages/ui/build-module/form/primitives/select/popup.mjs
14050    var import_jsx_runtime47 = __toESM(require_jsx_runtime(), 1);
14051    var STYLE_HASH_ATTRIBUTE19 = "data-wp-hash";
14052    function getRuntime19() {
14053      const globalScope = globalThis;
14054      if (globalScope.__wpStyleRuntime) {
14055        return globalScope.__wpStyleRuntime;
14056      }
14057      globalScope.__wpStyleRuntime = {
14058        documents: /* @__PURE__ */ new Map(),
14059        styles: /* @__PURE__ */ new Map(),
14060        injectedStyles: /* @__PURE__ */ new WeakMap()
14061      };
14062      if (typeof document !== "undefined") {
14063        registerDocument19(document);
14064      }
14065      return globalScope.__wpStyleRuntime;
14066    }
14067    function documentContainsStyleHash19(targetDocument, hash) {
14068      if (!targetDocument.head) {
14069        return false;
14070      }
14071      for (const style of targetDocument.head.querySelectorAll(
14072        `style[$STYLE_HASH_ATTRIBUTE19}]`
14073      )) {
14074        if (style.getAttribute(STYLE_HASH_ATTRIBUTE19) === hash) {
14075          return true;
14076        }
14077      }
14078      return false;
14079    }
14080    function injectStyle19(targetDocument, hash, css) {
14081      if (!targetDocument.head) {
14082        return;
14083      }
14084      const runtime = getRuntime19();
14085      let injectedStyles = runtime.injectedStyles.get(targetDocument);
14086      if (!injectedStyles) {
14087        injectedStyles = /* @__PURE__ */ new Set();
14088        runtime.injectedStyles.set(targetDocument, injectedStyles);
14089      }
14090      if (injectedStyles.has(hash)) {
14091        return;
14092      }
14093      if (documentContainsStyleHash19(targetDocument, hash)) {
14094        injectedStyles.add(hash);
14095        return;
14096      }
14097      const style = targetDocument.createElement("style");
14098      style.setAttribute(STYLE_HASH_ATTRIBUTE19, hash);
14099      style.appendChild(targetDocument.createTextNode(css));
14100      targetDocument.head.appendChild(style);
14101      injectedStyles.add(hash);
14102    }
14103    function registerDocument19(targetDocument) {
14104      const runtime = getRuntime19();
14105      runtime.documents.set(
14106        targetDocument,
14107        (runtime.documents.get(targetDocument) ?? 0) + 1
14108      );
14109      for (const [hash, css] of runtime.styles) {
14110        injectStyle19(targetDocument, hash, css);
14111      }
14112      return () => {
14113        const count = runtime.documents.get(targetDocument);
14114        if (count === void 0) {
14115          return;
14116        }
14117        if (count <= 1) {
14118          runtime.documents.delete(targetDocument);
14119          return;
14120        }
14121        runtime.documents.set(targetDocument, count - 1);
14122      };
14123    }
14124    function registerStyle19(hash, css) {
14125      const runtime = getRuntime19();
14126      runtime.styles.set(hash, css);
14127      for (const targetDocument of runtime.documents.keys()) {
14128        injectStyle19(targetDocument, hash, css);
14129      }
14130    }
14131    if (typeof process === "undefined" || true) {
14132      registerStyle19("e25d67a230", '@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([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-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{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{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)}}}');
14133    }
14134    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" };
14135    if (typeof process === "undefined" || true) {
14136      registerStyle19("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)}}}}");
14137    }
14138    var style_default7 = { "positioner": "_0ab863136fb95530__positioner", "list": "a9ab07efb9ef413f__list" };
14139    var Popup = (0, import_element29.forwardRef)(
14140      function UnforwardedPopup({ className, portal, positioner, width, children, ...restProps }, ref) {
14141        const popupContent = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
14142          index_parts_exports2.Popup,
14143          {
14144            ref,
14145            className: clsx_default(
14146              item_popup_default8.popup,
14147              getItemPopupWidthClassName(width),
14148              className
14149            ),
14150            ...restProps,
14151            children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
14152              index_parts_exports2.List,
14153              {
14154                className: clsx_default(
14155                  item_popup_default8["list-chrome"],
14156                  style_default7.list
14157                ),
14158                children
14159              }
14160            )
14161          }
14162        );
14163        const positionedPopup = renderSlotWithChildren(
14164          positioner,
14165          /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Positioner, {}),
14166          popupContent
14167        );
14168        return renderSlotWithChildren(portal, /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Portal, {}), positionedPopup);
14169      }
14170    );
14171  
14172    // packages/ui/build-module/form/primitives/select/root.mjs
14173    var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1);
14174    function Root2(props) {
14175      return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DirectionProvider3, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(index_parts_exports2.Root, { ...props }) });
14176    }
14177  
14178    // packages/ui/build-module/form/primitives/select/separator.mjs
14179    var import_element30 = __toESM(require_element(), 1);
14180    var import_jsx_runtime49 = __toESM(require_jsx_runtime(), 1);
14181    var STYLE_HASH_ATTRIBUTE20 = "data-wp-hash";
14182    function getRuntime20() {
14183      const globalScope = globalThis;
14184      if (globalScope.__wpStyleRuntime) {
14185        return globalScope.__wpStyleRuntime;
14186      }
14187      globalScope.__wpStyleRuntime = {
14188        documents: /* @__PURE__ */ new Map(),
14189        styles: /* @__PURE__ */ new Map(),
14190        injectedStyles: /* @__PURE__ */ new WeakMap()
14191      };
14192      if (typeof document !== "undefined") {
14193        registerDocument20(document);
14194      }
14195      return globalScope.__wpStyleRuntime;
14196    }
14197    function documentContainsStyleHash20(targetDocument, hash) {
14198      if (!targetDocument.head) {
14199        return false;
14200      }
14201      for (const style of targetDocument.head.querySelectorAll(
14202        `style[$STYLE_HASH_ATTRIBUTE20}]`
14203      )) {
14204        if (style.getAttribute(STYLE_HASH_ATTRIBUTE20) === hash) {
14205          return true;
14206        }
14207      }
14208      return false;
14209    }
14210    function injectStyle20(targetDocument, hash, css) {
14211      if (!targetDocument.head) {
14212        return;
14213      }
14214      const runtime = getRuntime20();
14215      let injectedStyles = runtime.injectedStyles.get(targetDocument);
14216      if (!injectedStyles) {
14217        injectedStyles = /* @__PURE__ */ new Set();
14218        runtime.injectedStyles.set(targetDocument, injectedStyles);
14219      }
14220      if (injectedStyles.has(hash)) {
14221        return;
14222      }
14223      if (documentContainsStyleHash20(targetDocument, hash)) {
14224        injectedStyles.add(hash);
14225        return;
14226      }
14227      const style = targetDocument.createElement("style");
14228      style.setAttribute(STYLE_HASH_ATTRIBUTE20, hash);
14229      style.appendChild(targetDocument.createTextNode(css));
14230      targetDocument.head.appendChild(style);
14231      injectedStyles.add(hash);
14232    }
14233    function registerDocument20(targetDocument) {
14234      const runtime = getRuntime20();
14235      runtime.documents.set(
14236        targetDocument,
14237        (runtime.documents.get(targetDocument) ?? 0) + 1
14238      );
14239      for (const [hash, css] of runtime.styles) {
14240        injectStyle20(targetDocument, hash, css);
14241      }
14242      return () => {
14243        const count = runtime.documents.get(targetDocument);
14244        if (count === void 0) {
14245          return;
14246        }
14247        if (count <= 1) {
14248          runtime.documents.delete(targetDocument);
14249          return;
14250        }
14251        runtime.documents.set(targetDocument, count - 1);
14252      };
14253    }
14254    function registerStyle20(hash, css) {
14255      const runtime = getRuntime20();
14256      runtime.styles.set(hash, css);
14257      for (const targetDocument of runtime.documents.keys()) {
14258        injectStyle20(targetDocument, hash, css);
14259      }
14260    }
14261    if (typeof process === "undefined" || true) {
14262      registerStyle20("e25d67a230", '@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([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-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{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{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)}}}');
14263    }
14264    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" };
14265    var Separator = (0, import_element30.forwardRef)(
14266      function SelectSeparator2({
14267        className,
14268        orientation: _orientation,
14269        ...props
14270      }, ref) {
14271        return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
14272          index_parts_exports2.Separator,
14273          {
14274            ref,
14275            className: clsx_default(item_popup_default9.separator, className),
14276            ...props
14277          }
14278        );
14279      }
14280    );
14281  
14282    // packages/ui/build-module/form/primitives/select/trigger.mjs
14283    var import_element31 = __toESM(require_element(), 1);
14284    var import_i18n3 = __toESM(require_i18n(), 1);
14285    var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1);
14286    var STYLE_HASH_ATTRIBUTE21 = "data-wp-hash";
14287    function getRuntime21() {
14288      const globalScope = globalThis;
14289      if (globalScope.__wpStyleRuntime) {
14290        return globalScope.__wpStyleRuntime;
14291      }
14292      globalScope.__wpStyleRuntime = {
14293        documents: /* @__PURE__ */ new Map(),
14294        styles: /* @__PURE__ */ new Map(),
14295        injectedStyles: /* @__PURE__ */ new WeakMap()
14296      };
14297      if (typeof document !== "undefined") {
14298        registerDocument21(document);
14299      }
14300      return globalScope.__wpStyleRuntime;
14301    }
14302    function documentContainsStyleHash21(targetDocument, hash) {
14303      if (!targetDocument.head) {
14304        return false;
14305      }
14306      for (const style of targetDocument.head.querySelectorAll(
14307        `style[$STYLE_HASH_ATTRIBUTE21}]`
14308      )) {
14309        if (style.getAttribute(STYLE_HASH_ATTRIBUTE21) === hash) {
14310          return true;
14311        }
14312      }
14313      return false;
14314    }
14315    function injectStyle21(targetDocument, hash, css) {
14316      if (!targetDocument.head) {
14317        return;
14318      }
14319      const runtime = getRuntime21();
14320      let injectedStyles = runtime.injectedStyles.get(targetDocument);
14321      if (!injectedStyles) {
14322        injectedStyles = /* @__PURE__ */ new Set();
14323        runtime.injectedStyles.set(targetDocument, injectedStyles);
14324      }
14325      if (injectedStyles.has(hash)) {
14326        return;
14327      }
14328      if (documentContainsStyleHash21(targetDocument, hash)) {
14329        injectedStyles.add(hash);
14330        return;
14331      }
14332      const style = targetDocument.createElement("style");
14333      style.setAttribute(STYLE_HASH_ATTRIBUTE21, hash);
14334      style.appendChild(targetDocument.createTextNode(css));
14335      targetDocument.head.appendChild(style);
14336      injectedStyles.add(hash);
14337    }
14338    function registerDocument21(targetDocument) {
14339      const runtime = getRuntime21();
14340      runtime.documents.set(
14341        targetDocument,
14342        (runtime.documents.get(targetDocument) ?? 0) + 1
14343      );
14344      for (const [hash, css] of runtime.styles) {
14345        injectStyle21(targetDocument, hash, css);
14346      }
14347      return () => {
14348        const count = runtime.documents.get(targetDocument);
14349        if (count === void 0) {
14350          return;
14351        }
14352        if (count <= 1) {
14353          runtime.documents.delete(targetDocument);
14354          return;
14355        }
14356        runtime.documents.set(targetDocument, count - 1);
14357      };
14358    }
14359    function registerStyle21(hash, css) {
14360      const runtime = getRuntime21();
14361      runtime.styles.set(hash, css);
14362      for (const targetDocument of runtime.documents.keys()) {
14363        injectStyle21(targetDocument, hash, css);
14364      }
14365    }
14366    if (typeof process === "undefined" || true) {
14367      registerStyle21("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))}}}");
14368    }
14369    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" };
14370    if (typeof process === "undefined" || true) {
14371      registerStyle21("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}}}");
14372    }
14373    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" };
14374    var Trigger = (0, import_element31.forwardRef)(
14375      function UnforwardedTrigger({
14376        className,
14377        size: size4,
14378        variant,
14379        children,
14380        placeholder = (0, import_i18n3.__)("Select"),
14381        ...restProps
14382      }, ref) {
14383        return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
14384          InputLayout2,
14385          {
14386            className: clsx_default(
14387              focus_module_default["outset-ring--focus-within-except-active"],
14388              select_trigger_default["trigger-wrapper"],
14389              variant === "minimal" && select_trigger_default["is-minimal"],
14390              className
14391            ),
14392            size: size4,
14393            isBorderless: variant === "minimal",
14394            children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
14395              index_parts_exports2.Trigger,
14396              {
14397                ...restProps,
14398                className: clsx_default(
14399                  select_trigger_default.trigger,
14400                  variant === "minimal" && select_trigger_default["is-minimal"]
14401                ),
14402                "data-can-disable-input-layout": true,
14403                ref,
14404                children: [
14405                  /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
14406                    index_parts_exports2.Value,
14407                    {
14408                      placeholder,
14409                      className: select_trigger_default["trigger-value"],
14410                      children
14411                    }
14412                  ),
14413                  /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
14414                    Icon,
14415                    {
14416                      className: select_trigger_default["trigger-caret"],
14417                      icon: chevron_down_default,
14418                      size: 18
14419                    }
14420                  )
14421                ]
14422              }
14423            )
14424          }
14425        );
14426      }
14427    );
14428  
14429    // packages/ui/build-module/form/select-control/select-control.mjs
14430    var import_element34 = __toESM(require_element(), 1);
14431  
14432    // packages/ui/build-module/form/select-control/item.mjs
14433    var import_element32 = __toESM(require_element(), 1);
14434    var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
14435    var Item3 = (0, import_element32.forwardRef)(
14436      function UnforwardedItem3(props, ref) {
14437        return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(select_exports.Item, { ref, ...props });
14438      }
14439    );
14440  
14441    // packages/ui/build-module/form/select-control/trigger.mjs
14442    var import_element33 = __toESM(require_element(), 1);
14443    var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1);
14444    var Trigger2 = (0, import_element33.forwardRef)(function UnforwardedTrigger2(props, ref) {
14445      return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(select_exports.Trigger, { ref, ...props });
14446    });
14447  
14448    // packages/ui/build-module/form/select-control/select-control.mjs
14449    var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1);
14450    var DEFAULT_TRIGGER = /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Trigger2, {});
14451    var SelectControl = (0, import_element34.forwardRef)(function UnforwardedSelectControl({
14452      className,
14453      children,
14454      items,
14455      label,
14456      description,
14457      details,
14458      hideLabelFromVision,
14459      placeholder,
14460      popupWidth = "content",
14461      size: size4 = "default",
14462      trigger,
14463      ...restProps
14464    }, ref) {
14465      const triggerElement = useRender({
14466        render: trigger ?? DEFAULT_TRIGGER,
14467        ref,
14468        props: { placeholder, size: size4 }
14469      });
14470      return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(field_exports.Root, { className, children: [
14471        /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(field_exports.Label, { hideFromVision: hideLabelFromVision, children: label }),
14472        /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(select_exports.Root, { items, ...restProps, children: [
14473          triggerElement,
14474          /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(select_exports.Popup, { width: popupWidth, children: children !== void 0 ? children : items?.map((item) => /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
14475            Item3,
14476            {
14477              value: item,
14478              label: item.label,
14479              disabled: item.disabled,
14480              children: [
14481                /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(select_exports.ItemLabel, { children: item.label }),
14482                item.description ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(select_exports.ItemDescription, { children: item.description }) : null
14483              ]
14484            },
14485            item.value ?? "null"
14486          )) })
14487        ] }),
14488        description && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(field_exports.Description, { children: description }),
14489        details && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(field_exports.Details, { children: details })
14490      ] });
14491    });
14492  
14493    // packages/ui/build-module/form/select-control/index.mjs
14494    Trigger2.displayName = "SelectControl.Trigger";
14495    Group.displayName = "SelectControl.Group";
14496    GroupLabel.displayName = "SelectControl.GroupLabel";
14497    Item3.displayName = "SelectControl.Item";
14498    ItemLabel.displayName = "SelectControl.ItemLabel";
14499    ItemDescription.displayName = "SelectControl.ItemDescription";
14500    var SelectControl2 = Object.assign(SelectControl, {
14501      /**
14502       * The trigger button, passed through the `trigger` prop to customize
14503       * its props while retaining the control's label and selected content.
14504       */
14505      Trigger: Trigger2,
14506      /**
14507       * Groups related items together with an associated label rendered by
14508       * `SelectControl.GroupLabel`.
14509       */
14510      Group,
14511      /**
14512       * Renders a label for a `SelectControl.Group`.
14513       */
14514      GroupLabel,
14515      /**
14516       * An item rendered inside a `SelectControl` popup.
14517       */
14518      Item: Item3,
14519      /**
14520       * The primary label of a select item.
14521       */
14522      ItemLabel,
14523      /**
14524       * Supplementary content that describes a select item via
14525       * `aria-describedby`.
14526       */
14527      ItemDescription,
14528      /**
14529       * Renders a visual separator between items or groups.
14530       */
14531      Separator
14532    });
14533  
14534    // packages/widgets/build-module/blocks/legacy-widget/edit/widget-type-selector.mjs
14535    var import_i18n4 = __toESM(require_i18n(), 1);
14536    var import_data = __toESM(require_data(), 1);
14537    var import_core_data = __toESM(require_core_data(), 1);
14538    var import_block_editor = __toESM(require_block_editor(), 1);
14539    var import_jsx_runtime54 = __toESM(require_jsx_runtime(), 1);
14540    function WidgetTypeSelector({ selectedId, onSelect }) {
14541      const widgetTypes = (0, import_data.useSelect)((select2) => {
14542        const hiddenIds = select2(import_block_editor.store).getSettings()?.widgetTypesToHideFromLegacyWidgetBlock ?? [];
14543        return select2(import_core_data.store).getWidgetTypes({ per_page: -1 })?.filter((widgetType) => !hiddenIds.includes(widgetType.id));
14544      }, []);
14545      if (!widgetTypes) {
14546        return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_components.Spinner, {});
14547      }
14548      if (widgetTypes.length === 0) {
14549        return (0, import_i18n4.__)("There are no widgets available.");
14550      }
14551      const items = [
14552        { value: "", label: (0, import_i18n4.__)("Select widget") },
14553        ...widgetTypes.map((widgetType) => ({
14554          value: widgetType.id,
14555          label: widgetType.name
14556        }))
14557      ];
14558      return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
14559        SelectControl2,
14560        {
14561          label: (0, import_i18n4.__)("Legacy widget"),
14562          value: items.find((item) => item.value === selectedId) ?? items[0],
14563          items,
14564          onValueChange: (item) => {
14565            const value = item?.value;
14566            if (value) {
14567              const selected = widgetTypes.find(
14568                (widgetType) => widgetType.id === value
14569              );
14570              onSelect({
14571                selectedId: selected.id,
14572                isMulti: selected.is_multi
14573              });
14574            } else {
14575              onSelect({ selectedId: null });
14576            }
14577          }
14578        }
14579      );
14580    }
14581  
14582    // packages/widgets/build-module/blocks/legacy-widget/edit/inspector-card.mjs
14583    var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1);
14584    function InspectorCard({ name: name3, description }) {
14585      return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "wp-block-legacy-widget-inspector-card", children: [
14586        /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("h3", { className: "wp-block-legacy-widget-inspector-card__name", children: name3 }),
14587        /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { children: description })
14588      ] });
14589    }
14590  
14591    // packages/widgets/build-module/blocks/legacy-widget/edit/form.mjs
14592    var import_element35 = __toESM(require_element(), 1);
14593    var import_data2 = __toESM(require_data(), 1);
14594    var import_notices = __toESM(require_notices(), 1);
14595    var import_i18n6 = __toESM(require_i18n(), 1);
14596    var import_components2 = __toESM(require_components(), 1);
14597    var import_compose2 = __toESM(require_compose(), 1);
14598  
14599    // packages/widgets/build-module/blocks/legacy-widget/edit/control.mjs
14600    var import_api_fetch = __toESM(require_api_fetch(), 1);
14601    var import_compose = __toESM(require_compose(), 1);
14602    var import_i18n5 = __toESM(require_i18n(), 1);
14603    var Control2 = class {
14604      /**
14605       * Creates and loads a new control.
14606       *
14607       * @access public
14608       * @param {Object}   params
14609       * @param {string}   params.id
14610       * @param {string}   params.idBase
14611       * @param {Object}   params.instance
14612       * @param {Function} params.onChangeInstance
14613       * @param {Function} params.onChangeHasPreview
14614       * @param {Function} params.onError
14615       */
14616      constructor({
14617        id,
14618        idBase,
14619        instance,
14620        onChangeInstance,
14621        onChangeHasPreview,
14622        onError
14623      }) {
14624        this.id = id;
14625        this.idBase = idBase;
14626        this._instance = instance;
14627        this._hasPreview = null;
14628        this.onChangeInstance = onChangeInstance;
14629        this.onChangeHasPreview = onChangeHasPreview;
14630        this.onError = onError;
14631        this.number = ++lastNumber;
14632        this.handleFormChange = (0, import_compose.debounce)(
14633          this.handleFormChange.bind(this),
14634          200
14635        );
14636        this.handleFormSubmit = this.handleFormSubmit.bind(this);
14637        this.initDOM();
14638        this.bindEvents();
14639        this.loadContent();
14640      }
14641      /**
14642       * Clean up the control so that it can be garbage collected.
14643       *
14644       * @access public
14645       */
14646      destroy() {
14647        this.unbindEvents();
14648        this.element.remove();
14649      }
14650      /**
14651       * Creates the control's DOM structure.
14652       *
14653       * @access private
14654       */
14655      initDOM() {
14656        this.element = el("div", { class: "widget open" }, [
14657          el("div", { class: "widget-inside" }, [
14658            this.form = el("form", { class: "form", method: "post" }, [
14659              // These hidden form inputs are what most widgets' scripts
14660              // use to access data about the widget.
14661              el("input", {
14662                class: "widget-id",
14663                type: "hidden",
14664                name: "widget-id",
14665                value: this.id ?? `$this.idBase}-$this.number}`
14666              }),
14667              el("input", {
14668                class: "id_base",
14669                type: "hidden",
14670                name: "id_base",
14671                value: this.idBase ?? this.id
14672              }),
14673              el("input", {
14674                class: "widget-width",
14675                type: "hidden",
14676                name: "widget-width",
14677                value: "250"
14678              }),
14679              el("input", {
14680                class: "widget-height",
14681                type: "hidden",
14682                name: "widget-height",
14683                value: "200"
14684              }),
14685              el("input", {
14686                class: "widget_number",
14687                type: "hidden",
14688                name: "widget_number",
14689                value: this.idBase ? this.number.toString() : ""
14690              }),
14691              this.content = el("div", { class: "widget-content" }),
14692              // Non-multi widgets can be saved via a Save button.
14693              this.id && el(
14694                "button",
14695                {
14696                  class: "button is-primary",
14697                  type: "submit"
14698                },
14699                (0, import_i18n5.__)("Save")
14700              )
14701            ])
14702          ])
14703        ]);
14704      }
14705      /**
14706       * Adds the control's event listeners.
14707       *
14708       * @access private
14709       */
14710      bindEvents() {
14711        if (window.jQuery) {
14712          const { jQuery: $ } = window;
14713          $(this.form).on("change", null, this.handleFormChange);
14714          $(this.form).on("input", null, this.handleFormChange);
14715          $(this.form).on("submit", this.handleFormSubmit);
14716        } else {
14717          this.form.addEventListener("change", this.handleFormChange);
14718          this.form.addEventListener("input", this.handleFormChange);
14719          this.form.addEventListener("submit", this.handleFormSubmit);
14720        }
14721      }
14722      /**
14723       * Removes the control's event listeners.
14724       *
14725       * @access private
14726       */
14727      unbindEvents() {
14728        if (window.jQuery) {
14729          const { jQuery: $ } = window;
14730          $(this.form).off("change", null, this.handleFormChange);
14731          $(this.form).off("input", null, this.handleFormChange);
14732          $(this.form).off("submit", this.handleFormSubmit);
14733        } else {
14734          this.form.removeEventListener("change", this.handleFormChange);
14735          this.form.removeEventListener("input", this.handleFormChange);
14736          this.form.removeEventListener("submit", this.handleFormSubmit);
14737        }
14738      }
14739      /**
14740       * Fetches the widget's form HTML from the REST API and loads it into the
14741       * control's form.
14742       *
14743       * @access private
14744       */
14745      async loadContent() {
14746        try {
14747          if (this.id) {
14748            const { form } = await saveWidget(this.id);
14749            this.content.innerHTML = form;
14750          } else if (this.idBase) {
14751            const { form, preview } = await encodeWidget({
14752              idBase: this.idBase,
14753              instance: this.instance,
14754              number: this.number
14755            });
14756            this.content.innerHTML = form;
14757            this.hasPreview = !isEmptyHTML(preview);
14758            if (!this.instance.hash) {
14759              const { instance } = await encodeWidget({
14760                idBase: this.idBase,
14761                instance: this.instance,
14762                number: this.number,
14763                formData: serializeForm(this.form)
14764              });
14765              this.instance = instance;
14766            }
14767          }
14768          if (window.jQuery) {
14769            const { jQuery: $ } = window;
14770            $(document).trigger("widget-added", [$(this.element)]);
14771          }
14772        } catch (error2) {
14773          this.onError(error2);
14774        }
14775      }
14776      /**
14777       * Perform a save when a multi widget's form is changed. Non-multi widgets
14778       * are saved manually.
14779       *
14780       * @access private
14781       */
14782      handleFormChange() {
14783        if (this.idBase) {
14784          this.saveForm();
14785        }
14786      }
14787      /**
14788       * Perform a save when the control's form is manually submitted.
14789       *
14790       * @access private
14791       * @param {Event} event
14792       */
14793      handleFormSubmit(event) {
14794        event.preventDefault();
14795        this.saveForm();
14796      }
14797      /**
14798       * Serialize the control's form, send it to the REST API, and update the
14799       * instance with the encoded instance that the REST API returns.
14800       *
14801       * @access private
14802       */
14803      async saveForm() {
14804        const formData = serializeForm(this.form);
14805        try {
14806          if (this.id) {
14807            const { form } = await saveWidget(this.id, formData);
14808            this.content.innerHTML = form;
14809            if (window.jQuery) {
14810              const { jQuery: $ } = window;
14811              $(document).trigger("widget-updated", [
14812                $(this.element)
14813              ]);
14814            }
14815          } else if (this.idBase) {
14816            const { instance, preview } = await encodeWidget({
14817              idBase: this.idBase,
14818              instance: this.instance,
14819              number: this.number,
14820              formData
14821            });
14822            this.instance = instance;
14823            this.hasPreview = !isEmptyHTML(preview);
14824          }
14825        } catch (error2) {
14826          this.onError(error2);
14827        }
14828      }
14829      /**
14830       * The widget's instance object.
14831       *
14832       * @access private
14833       */
14834      get instance() {
14835        return this._instance;
14836      }
14837      /**
14838       * The widget's instance object.
14839       *
14840       * @access private
14841       */
14842      set instance(instance) {
14843        if (this._instance !== instance) {
14844          this._instance = instance;
14845          this.onChangeInstance(instance);
14846        }
14847      }
14848      /**
14849       * Whether or not the widget can be previewed.
14850       *
14851       * @access public
14852       */
14853      get hasPreview() {
14854        return this._hasPreview;
14855      }
14856      /**
14857       * Whether or not the widget can be previewed.
14858       *
14859       * @access private
14860       */
14861      set hasPreview(hasPreview) {
14862        if (this._hasPreview !== hasPreview) {
14863          this._hasPreview = hasPreview;
14864          this.onChangeHasPreview(hasPreview);
14865        }
14866      }
14867    };
14868    var lastNumber = 0;
14869    function el(tagName, attributes = {}, content = null) {
14870      const element = document.createElement(tagName);
14871      for (const [attribute, value] of Object.entries(attributes)) {
14872        element.setAttribute(attribute, value);
14873      }
14874      if (Array.isArray(content)) {
14875        for (const child of content) {
14876          if (child) {
14877            element.appendChild(child);
14878          }
14879        }
14880      } else if (typeof content === "string") {
14881        element.innerText = content;
14882      }
14883      return element;
14884    }
14885    async function saveWidget(id, formData = null) {
14886      let widget;
14887      if (formData) {
14888        widget = await (0, import_api_fetch.default)({
14889          path: `/wp/v2/widgets/$id}?context=edit`,
14890          method: "PUT",
14891          data: {
14892            form_data: formData
14893          }
14894        });
14895      } else {
14896        widget = await (0, import_api_fetch.default)({
14897          path: `/wp/v2/widgets/$id}?context=edit`,
14898          method: "GET"
14899        });
14900      }
14901      return { form: widget.rendered_form };
14902    }
14903    async function encodeWidget({ idBase, instance, number, formData = null }) {
14904      const response = await (0, import_api_fetch.default)({
14905        path: `/wp/v2/widget-types/$idBase}/encode`,
14906        method: "POST",
14907        data: {
14908          instance,
14909          number,
14910          form_data: formData
14911        }
14912      });
14913      return {
14914        instance: response.instance,
14915        form: response.form,
14916        preview: response.preview
14917      };
14918    }
14919    function isEmptyHTML(html) {
14920      const element = document.createElement("div");
14921      element.innerHTML = html;
14922      return isEmptyNode(element);
14923    }
14924    function isEmptyNode(node) {
14925      switch (node.nodeType) {
14926        case node.TEXT_NODE:
14927          return node.nodeValue.trim() === "";
14928        case node.ELEMENT_NODE:
14929          if ([
14930            "AUDIO",
14931            "CANVAS",
14932            "EMBED",
14933            "IFRAME",
14934            "IMG",
14935            "MATH",
14936            "OBJECT",
14937            "SVG",
14938            "VIDEO"
14939          ].includes(node.tagName)) {
14940            return false;
14941          }
14942          if (!node.hasChildNodes()) {
14943            return true;
14944          }
14945          return Array.from(node.childNodes).every(isEmptyNode);
14946        default:
14947          return true;
14948      }
14949    }
14950    function serializeForm(form) {
14951      return new window.URLSearchParams(
14952        Array.from(new window.FormData(form))
14953      ).toString();
14954    }
14955  
14956    // packages/widgets/build-module/blocks/legacy-widget/edit/form.mjs
14957    var import_jsx_runtime56 = __toESM(require_jsx_runtime(), 1);
14958    function Form({
14959      title,
14960      isVisible,
14961      id,
14962      idBase,
14963      instance,
14964      isWide,
14965      onChangeInstance,
14966      onChangeHasPreview
14967    }) {
14968      const ref = (0, import_element35.useRef)();
14969      const isMediumLargeViewport = (0, import_compose2.useViewportMatch)("small");
14970      const outgoingInstances = (0, import_element35.useRef)(/* @__PURE__ */ new Set());
14971      const incomingInstances = (0, import_element35.useRef)(/* @__PURE__ */ new Set());
14972      const { createNotice } = (0, import_data2.useDispatch)(import_notices.store);
14973      (0, import_element35.useEffect)(() => {
14974        if (incomingInstances.current.has(instance)) {
14975          incomingInstances.current.delete(instance);
14976          return;
14977        }
14978        const control = new Control2({
14979          id,
14980          idBase,
14981          instance,
14982          onChangeInstance(nextInstance) {
14983            outgoingInstances.current.add(instance);
14984            incomingInstances.current.add(nextInstance);
14985            onChangeInstance(nextInstance);
14986          },
14987          onChangeHasPreview,
14988          onError(error2) {
14989            window.console.error(error2);
14990            createNotice(
14991              "error",
14992              (0, import_i18n6.sprintf)(
14993                /* translators: %s: the name of the affected block. */
14994                (0, import_i18n6.__)(
14995                  'The "%s" block was affected by errors and may not function properly. Check the developer tools for more details.'
14996                ),
14997                idBase || id
14998              )
14999            );
15000          }
15001        });
15002        ref.current.appendChild(control.element);
15003        return () => {
15004          if (outgoingInstances.current.has(instance)) {
15005            outgoingInstances.current.delete(instance);
15006            return;
15007          }
15008          control.destroy();
15009        };
15010      }, [
15011        id,
15012        idBase,
15013        instance,
15014        onChangeInstance,
15015        onChangeHasPreview,
15016        isMediumLargeViewport
15017      ]);
15018      if (isWide && isMediumLargeViewport) {
15019        return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
15020          "div",
15021          {
15022            className: clsx_default({
15023              "wp-block-legacy-widget__container": isVisible
15024            }),
15025            children: [
15026              isVisible && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("h3", { className: "wp-block-legacy-widget__edit-form-title", children: title }),
15027              /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
15028                import_components2.Popover,
15029                {
15030                  focusOnMount: false,
15031                  placement: "right",
15032                  offset: 32,
15033                  resize: false,
15034                  flip: false,
15035                  shift: true,
15036                  children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
15037                    "div",
15038                    {
15039                      ref,
15040                      className: "wp-block-legacy-widget__edit-form",
15041                      hidden: !isVisible
15042                    }
15043                  )
15044                }
15045              )
15046            ]
15047          }
15048        );
15049      }
15050      return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
15051        "div",
15052        {
15053          ref,
15054          className: "wp-block-legacy-widget__edit-form",
15055          hidden: !isVisible,
15056          children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("h3", { className: "wp-block-legacy-widget__edit-form-title", children: title })
15057        }
15058      );
15059    }
15060  
15061    // packages/widgets/build-module/blocks/legacy-widget/edit/preview.mjs
15062    var import_compose3 = __toESM(require_compose(), 1);
15063    var import_element36 = __toESM(require_element(), 1);
15064    var import_components3 = __toESM(require_components(), 1);
15065    var import_i18n7 = __toESM(require_i18n(), 1);
15066    var import_api_fetch2 = __toESM(require_api_fetch(), 1);
15067    var import_jsx_runtime57 = __toESM(require_jsx_runtime(), 1);
15068    function Preview({ idBase, instance, isVisible }) {
15069      const [isLoaded, setIsLoaded] = (0, import_element36.useState)(false);
15070      const [srcDoc, setSrcDoc] = (0, import_element36.useState)("");
15071      (0, import_element36.useEffect)(() => {
15072        const abortController = typeof window.AbortController === "undefined" ? void 0 : new window.AbortController();
15073        async function fetchPreviewHTML() {
15074          const restRoute = `/wp/v2/widget-types/$idBase}/render`;
15075          return await (0, import_api_fetch2.default)({
15076            path: restRoute,
15077            method: "POST",
15078            signal: abortController?.signal,
15079            data: instance ? { instance } : {}
15080          });
15081        }
15082        fetchPreviewHTML().then((response) => {
15083          setSrcDoc(response.preview);
15084        }).catch((error2) => {
15085          if ("AbortError" === error2.name) {
15086            return;
15087          }
15088          throw error2;
15089        });
15090        return () => abortController?.abort();
15091      }, [idBase, instance]);
15092      const ref = (0, import_compose3.useRefEffect)(
15093        (iframe) => {
15094          if (!isLoaded) {
15095            return;
15096          }
15097          function setHeight() {
15098            const height = Math.max(
15099              iframe.contentDocument.documentElement?.offsetHeight ?? 0,
15100              iframe.contentDocument.body?.offsetHeight ?? 0
15101            );
15102            iframe.style.height = `$height !== 0 ? height : 100}px`;
15103          }
15104          const { IntersectionObserver: IntersectionObserver2 } = iframe.ownerDocument.defaultView;
15105          const intersectionObserver = new IntersectionObserver2(
15106            ([entry]) => {
15107              if (entry.isIntersecting) {
15108                setHeight();
15109              }
15110            },
15111            {
15112              threshold: 1
15113            }
15114          );
15115          intersectionObserver.observe(iframe);
15116          iframe.addEventListener("load", setHeight);
15117          return () => {
15118            intersectionObserver.disconnect();
15119            iframe.removeEventListener("load", setHeight);
15120          };
15121        },
15122        [isLoaded]
15123      );
15124      return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
15125        isVisible && !isLoaded && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_components3.Placeholder, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_components3.Spinner, {}) }),
15126        /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
15127          "div",
15128          {
15129            className: clsx_default("wp-block-legacy-widget__edit-preview", {
15130              "is-offscreen": !isVisible || !isLoaded
15131            }),
15132            children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_components3.Disabled, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
15133              "iframe",
15134              {
15135                ref,
15136                className: "wp-block-legacy-widget__edit-preview-iframe",
15137                tabIndex: "-1",
15138                title: (0, import_i18n7.__)("Legacy Widget Preview"),
15139                srcDoc,
15140                onLoad: (event) => {
15141                  event.target.contentDocument.body.style.overflow = "hidden";
15142                  setIsLoaded(true);
15143                },
15144                height: 100
15145              }
15146            ) })
15147          }
15148        )
15149      ] });
15150    }
15151  
15152    // packages/widgets/build-module/blocks/legacy-widget/edit/no-preview.mjs
15153    var import_i18n8 = __toESM(require_i18n(), 1);
15154    var import_jsx_runtime58 = __toESM(require_jsx_runtime(), 1);
15155    function NoPreview({ name: name3 }) {
15156      return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "wp-block-legacy-widget__edit-no-preview", children: [
15157        name3 && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("h3", { children: name3 }),
15158        /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { children: (0, import_i18n8.__)("No preview available.") })
15159      ] });
15160    }
15161  
15162    // packages/widgets/build-module/blocks/legacy-widget/edit/convert-to-blocks-button.mjs
15163    var import_data3 = __toESM(require_data(), 1);
15164    var import_block_editor2 = __toESM(require_block_editor(), 1);
15165    var import_components4 = __toESM(require_components(), 1);
15166    var import_blocks = __toESM(require_blocks(), 1);
15167    var import_i18n9 = __toESM(require_i18n(), 1);
15168    var import_jsx_runtime59 = __toESM(require_jsx_runtime(), 1);
15169    function ConvertToBlocksButton({ clientId, rawInstance }) {
15170      const { replaceBlocks } = (0, import_data3.useDispatch)(import_block_editor2.store);
15171      return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
15172        import_components4.ToolbarButton,
15173        {
15174          onClick: () => {
15175            if (rawInstance.title) {
15176              replaceBlocks(clientId, [
15177                (0, import_blocks.createBlock)("core/heading", {
15178                  content: rawInstance.title
15179                }),
15180                ...(0, import_blocks.rawHandler)({ HTML: rawInstance.text })
15181              ]);
15182            } else {
15183              replaceBlocks(
15184                clientId,
15185                (0, import_blocks.rawHandler)({ HTML: rawInstance.text })
15186              );
15187            }
15188          },
15189          children: (0, import_i18n9.__)("Convert to blocks")
15190        }
15191      );
15192    }
15193  
15194    // packages/widgets/build-module/blocks/legacy-widget/edit/index.mjs
15195    var import_jsx_runtime60 = __toESM(require_jsx_runtime(), 1);
15196    function Edit(props) {
15197      const { id, idBase } = props.attributes;
15198      const { isWide = false } = props;
15199      const blockProps = (0, import_block_editor3.useBlockProps)({
15200        className: clsx_default({
15201          "is-wide-widget": isWide
15202        })
15203      });
15204      return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { ...blockProps, children: !id && !idBase ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Empty, { ...props }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(NotEmpty, { ...props }) });
15205    }
15206    function Empty({ attributes: { id, idBase }, setAttributes }) {
15207      return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
15208        import_components5.Placeholder,
15209        {
15210          icon: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_block_editor3.BlockIcon, { icon: brush_default }),
15211          label: (0, import_i18n10.__)("Legacy Widget"),
15212          children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_components5.Flex, { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_components5.FlexBlock, { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
15213            WidgetTypeSelector,
15214            {
15215              selectedId: id ?? idBase,
15216              onSelect: ({ selectedId, isMulti }) => {
15217                if (!selectedId) {
15218                  setAttributes({
15219                    id: null,
15220                    idBase: null,
15221                    instance: null
15222                  });
15223                } else if (isMulti) {
15224                  setAttributes({
15225                    id: null,
15226                    idBase: selectedId,
15227                    instance: {}
15228                  });
15229                } else {
15230                  setAttributes({
15231                    id: selectedId,
15232                    idBase: null,
15233                    instance: null
15234                  });
15235                }
15236              }
15237            }
15238          ) }) })
15239        }
15240      );
15241    }
15242    function NotEmpty({
15243      attributes: { id, idBase, instance },
15244      setAttributes,
15245      clientId,
15246      isSelected,
15247      isWide = false
15248    }) {
15249      const [hasPreview, setHasPreview] = (0, import_element37.useState)(null);
15250      const widgetTypeId = id ?? idBase;
15251      const { record: widgetType, hasResolved: hasResolvedWidgetType } = (0, import_core_data2.useEntityRecord)("root", "widgetType", widgetTypeId);
15252      const setInstance = (0, import_element37.useCallback)((nextInstance) => {
15253        setAttributes({ instance: nextInstance });
15254      }, []);
15255      if (!widgetType && hasResolvedWidgetType) {
15256        return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
15257          import_components5.Placeholder,
15258          {
15259            icon: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_block_editor3.BlockIcon, { icon: brush_default }),
15260            label: (0, import_i18n10.__)("Legacy Widget"),
15261            children: (0, import_i18n10.__)("Widget is missing.")
15262          }
15263        );
15264      }
15265      if (!hasResolvedWidgetType) {
15266        return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_components5.Placeholder, { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_components5.Spinner, {}) });
15267      }
15268      const mode = idBase && !isSelected ? "preview" : "edit";
15269      return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
15270        idBase === "text" && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_block_editor3.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
15271          ConvertToBlocksButton,
15272          {
15273            clientId,
15274            rawInstance: instance.raw
15275          }
15276        ) }),
15277        /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_block_editor3.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
15278          InspectorCard,
15279          {
15280            name: widgetType.name,
15281            description: widgetType.description
15282          }
15283        ) }),
15284        /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
15285          Form,
15286          {
15287            title: widgetType.name,
15288            isVisible: mode === "edit",
15289            id,
15290            idBase,
15291            instance,
15292            isWide,
15293            onChangeInstance: setInstance,
15294            onChangeHasPreview: setHasPreview
15295          }
15296        ),
15297        idBase && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
15298          hasPreview === null && mode === "preview" && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_components5.Placeholder, { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_components5.Spinner, {}) }),
15299          hasPreview === true && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
15300            Preview,
15301            {
15302              idBase,
15303              instance,
15304              isVisible: mode === "preview"
15305            }
15306          ),
15307          hasPreview === false && mode === "preview" && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(NoPreview, { name: widgetType.name })
15308        ] })
15309      ] });
15310    }
15311  
15312    // packages/widgets/build-module/blocks/legacy-widget/transforms.mjs
15313    var import_blocks2 = __toESM(require_blocks(), 1);
15314    var legacyWidgetTransforms = [
15315      {
15316        block: "core/calendar",
15317        widget: "calendar"
15318      },
15319      {
15320        block: "core/search",
15321        widget: "search"
15322      },
15323      {
15324        block: "core/html",
15325        widget: "custom_html",
15326        transformBlock: ({ content }) => (0, import_blocks2.createBlock)("core/html", {}, [], [content])
15327      },
15328      {
15329        block: "core/archives",
15330        widget: "archives",
15331        transform: ({ count, dropdown }) => {
15332          return {
15333            displayAsDropdown: !!dropdown,
15334            showPostCounts: !!count
15335          };
15336        }
15337      },
15338      {
15339        block: "core/latest-posts",
15340        widget: "recent-posts",
15341        transform: ({ show_date: displayPostDate, number }) => {
15342          return {
15343            displayPostDate: !!displayPostDate,
15344            postsToShow: number
15345          };
15346        }
15347      },
15348      {
15349        block: "core/latest-comments",
15350        widget: "recent-comments",
15351        transform: ({ number }) => {
15352          return {
15353            commentsToShow: number
15354          };
15355        }
15356      },
15357      {
15358        block: "core/tag-cloud",
15359        widget: "tag_cloud",
15360        transform: ({ taxonomy, count }) => {
15361          return {
15362            showTagCounts: !!count,
15363            taxonomy
15364          };
15365        }
15366      },
15367      {
15368        block: "core/categories",
15369        widget: "categories",
15370        transform: ({ count, dropdown, hierarchical }) => {
15371          return {
15372            displayAsDropdown: !!dropdown,
15373            showPostCounts: !!count,
15374            showHierarchy: !!hierarchical
15375          };
15376        }
15377      },
15378      {
15379        block: "core/audio",
15380        widget: "media_audio",
15381        transform: ({ url, preload, loop, attachment_id: id }) => {
15382          return {
15383            src: url,
15384            id,
15385            preload,
15386            loop
15387          };
15388        }
15389      },
15390      {
15391        block: "core/video",
15392        widget: "media_video",
15393        transform: ({ url, preload, loop, attachment_id: id }) => {
15394          return {
15395            src: url,
15396            id,
15397            preload,
15398            loop
15399          };
15400        }
15401      },
15402      {
15403        block: "core/image",
15404        widget: "media_image",
15405        transform: ({
15406          alt,
15407          attachment_id: id,
15408          caption,
15409          height,
15410          link_classes: linkClass,
15411          link_rel: rel,
15412          link_target_blank: targetBlack,
15413          link_type: linkDestination,
15414          link_url: link,
15415          size: sizeSlug,
15416          url,
15417          width
15418        }) => {
15419          return {
15420            alt,
15421            caption,
15422            height,
15423            id,
15424            link,
15425            linkClass,
15426            linkDestination,
15427            linkTarget: targetBlack ? "_blank" : void 0,
15428            rel,
15429            sizeSlug,
15430            url,
15431            width
15432          };
15433        }
15434      },
15435      {
15436        block: "core/gallery",
15437        widget: "media_gallery",
15438        transform: ({ ids, link_type: linkTo, size: size4, number }) => {
15439          return {
15440            ids,
15441            columns: number,
15442            linkTo,
15443            sizeSlug: size4,
15444            images: ids.map((id) => ({
15445              id
15446            }))
15447          };
15448        }
15449      },
15450      {
15451        block: "core/rss",
15452        widget: "rss",
15453        transform: ({
15454          url,
15455          show_author: displayAuthor,
15456          show_date: displayDate,
15457          show_summary: displayExcerpt,
15458          items
15459        }) => {
15460          return {
15461            feedURL: url,
15462            displayAuthor: !!displayAuthor,
15463            displayDate: !!displayDate,
15464            displayExcerpt: !!displayExcerpt,
15465            itemsToShow: items
15466          };
15467        }
15468      }
15469    ].map(({ block, widget, transform, transformBlock }) => {
15470      return {
15471        type: "block",
15472        blocks: [block],
15473        isMatch: ({ idBase, instance }) => {
15474          return idBase === widget && !!instance?.raw;
15475        },
15476        transform: ({ instance }) => {
15477          const transformedBlock = transformBlock ? transformBlock(instance.raw) : (0, import_blocks2.createBlock)(
15478            block,
15479            transform ? transform(instance.raw) : void 0
15480          );
15481          if (!instance.raw?.title) {
15482            return transformedBlock;
15483          }
15484          return [
15485            (0, import_blocks2.createBlock)("core/heading", {
15486              content: instance.raw.title
15487            }),
15488            transformedBlock
15489          ];
15490        }
15491      };
15492    });
15493    var transforms = {
15494      to: legacyWidgetTransforms
15495    };
15496    var transforms_default = transforms;
15497  
15498    // packages/widgets/build-module/blocks/legacy-widget/index.mjs
15499    var { name } = block_default;
15500    var settings = {
15501      icon: widget_default,
15502      edit: Edit,
15503      transforms: transforms_default
15504    };
15505  
15506    // packages/widgets/build-module/blocks/widget-group/index.mjs
15507    var widget_group_exports = {};
15508    __export(widget_group_exports, {
15509      metadata: () => block_default2,
15510      name: () => name2,
15511      settings: () => settings2
15512    });
15513    var import_i18n12 = __toESM(require_i18n(), 1);
15514    var import_blocks3 = __toESM(require_blocks(), 1);
15515  
15516    // packages/widgets/build-module/blocks/widget-group/block.json
15517    var block_default2 = {
15518      $schema: "https://schemas.wp.org/trunk/block.json",
15519      apiVersion: 3,
15520      name: "core/widget-group",
15521      title: "Widget Group",
15522      category: "widgets",
15523      attributes: {
15524        title: {
15525          type: "string"
15526        }
15527      },
15528      supports: {
15529        html: false,
15530        inserter: true,
15531        customClassName: true,
15532        reusable: false
15533      },
15534      editorStyle: "wp-block-widget-group-editor",
15535      style: "wp-block-widget-group"
15536    };
15537  
15538    // packages/widgets/build-module/blocks/widget-group/edit.mjs
15539    var import_block_editor4 = __toESM(require_block_editor(), 1);
15540    var import_components6 = __toESM(require_components(), 1);
15541    var import_i18n11 = __toESM(require_i18n(), 1);
15542    var import_data4 = __toESM(require_data(), 1);
15543    var import_jsx_runtime61 = __toESM(require_jsx_runtime(), 1);
15544    function Edit2(props) {
15545      const { clientId } = props;
15546      const hasInnerBlocks = (0, import_data4.useSelect)(
15547        (select2) => select2(import_block_editor4.store).getBlockCount(clientId) > 0,
15548        [clientId]
15549      );
15550      return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { ...(0, import_block_editor4.useBlockProps)({ className: "widget" }), children: !hasInnerBlocks ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(PlaceholderContent, { ...props }) : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(PreviewContent, { ...props }) });
15551    }
15552    function PlaceholderContent({ clientId }) {
15553      return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
15554        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
15555          import_components6.Placeholder,
15556          {
15557            className: "wp-block-widget-group__placeholder",
15558            icon: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_block_editor4.BlockIcon, { icon: group_default }),
15559            label: (0, import_i18n11.__)("Widget Group"),
15560            children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_block_editor4.ButtonBlockAppender, { rootClientId: clientId })
15561          }
15562        ),
15563        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_block_editor4.InnerBlocks, { renderAppender: false })
15564      ] });
15565    }
15566    function PreviewContent({ attributes, setAttributes }) {
15567      return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
15568        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
15569          import_block_editor4.RichText,
15570          {
15571            tagName: "h2",
15572            identifier: "title",
15573            className: "widget-title",
15574            allowedFormats: [],
15575            placeholder: (0, import_i18n11.__)("Title"),
15576            value: attributes.title ?? "",
15577            onChange: (title) => setAttributes({ title })
15578          }
15579        ),
15580        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_block_editor4.InnerBlocks, {})
15581      ] });
15582    }
15583  
15584    // packages/widgets/build-module/blocks/widget-group/save.mjs
15585    var import_block_editor5 = __toESM(require_block_editor(), 1);
15586    var import_jsx_runtime62 = __toESM(require_jsx_runtime(), 1);
15587    function save({ attributes }) {
15588      return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
15589        /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
15590          import_block_editor5.RichText.Content,
15591          {
15592            tagName: "h2",
15593            className: "widget-title",
15594            value: attributes.title
15595          }
15596        ),
15597        /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "wp-widget-group__inner-blocks", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_block_editor5.InnerBlocks.Content, {}) })
15598      ] });
15599    }
15600  
15601    // packages/widgets/build-module/blocks/widget-group/deprecated.mjs
15602    var import_block_editor6 = __toESM(require_block_editor(), 1);
15603    var import_jsx_runtime63 = __toESM(require_jsx_runtime(), 1);
15604    var v1 = {
15605      attributes: {
15606        title: {
15607          type: "string"
15608        }
15609      },
15610      supports: {
15611        html: false,
15612        inserter: true,
15613        customClassName: true,
15614        reusable: false
15615      },
15616      save({ attributes }) {
15617        return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
15618          /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
15619            import_block_editor6.RichText.Content,
15620            {
15621              tagName: "h2",
15622              className: "widget-title",
15623              value: attributes.title
15624            }
15625          ),
15626          /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_block_editor6.InnerBlocks.Content, {})
15627        ] });
15628      }
15629    };
15630    var deprecated_default = [v1];
15631  
15632    // packages/widgets/build-module/blocks/widget-group/index.mjs
15633    var { name: name2 } = block_default2;
15634    var settings2 = {
15635      title: (0, import_i18n12.__)("Widget Group"),
15636      description: (0, import_i18n12.__)(
15637        "Create a classic widget layout with a title that\u2019s styled by your theme for your widget areas."
15638      ),
15639      icon: group_default,
15640      __experimentalLabel: ({ name: label }) => label,
15641      edit: Edit2,
15642      save,
15643      transforms: {
15644        from: [
15645          {
15646            type: "block",
15647            isMultiBlock: true,
15648            blocks: ["*"],
15649            isMatch(attributes, blocks) {
15650              return !blocks.some(
15651                (block) => block.name === "core/widget-group"
15652              );
15653            },
15654            __experimentalConvert(blocks) {
15655              let innerBlocks = blocks.map(
15656                (block) => (0, import_blocks3.cloneSanitizedBlock)(block)
15657              );
15658              const firstHeadingBlock = innerBlocks[0].name === "core/heading" ? innerBlocks[0] : null;
15659              innerBlocks = innerBlocks.filter(
15660                (block) => block !== firstHeadingBlock
15661              );
15662              return (0, import_blocks3.createBlock)(
15663                "core/widget-group",
15664                {
15665                  ...firstHeadingBlock && {
15666                    title: firstHeadingBlock.attributes.content
15667                  }
15668                },
15669                innerBlocks
15670              );
15671            }
15672          }
15673        ]
15674      },
15675      deprecated: deprecated_default
15676    };
15677  
15678    // packages/widgets/build-module/components/move-to-widget-area/index.mjs
15679    var import_components7 = __toESM(require_components(), 1);
15680    var import_i18n13 = __toESM(require_i18n(), 1);
15681    var import_jsx_runtime64 = __toESM(require_jsx_runtime(), 1);
15682    function MoveToWidgetArea({
15683      currentWidgetAreaId,
15684      widgetAreas,
15685      onSelect
15686    }) {
15687      return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_components7.ToolbarGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_components7.ToolbarItem, { children: (toggleProps) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
15688        import_components7.DropdownMenu,
15689        {
15690          icon: move_to_default,
15691          label: (0, import_i18n13.__)("Move to widget area"),
15692          toggleProps,
15693          children: ({ onClose }) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_components7.MenuGroup, { label: (0, import_i18n13.__)("Move to"), children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
15694            import_components7.MenuItemsChoice,
15695            {
15696              choices: widgetAreas.map(
15697                (widgetArea) => ({
15698                  value: widgetArea.id,
15699                  label: widgetArea.name,
15700                  info: widgetArea.description
15701                })
15702              ),
15703              value: currentWidgetAreaId,
15704              onSelect: (value) => {
15705                onSelect(value);
15706                onClose();
15707              }
15708            }
15709          ) })
15710        }
15711      ) }) });
15712    }
15713  
15714    // packages/widgets/build-module/utils.mjs
15715    function getWidgetIdFromBlock(block) {
15716      return block.attributes.__internalWidgetId;
15717    }
15718    function addWidgetIdToBlock(block, widgetId) {
15719      return {
15720        ...block,
15721        attributes: {
15722          ...block.attributes || {},
15723          __internalWidgetId: widgetId
15724        }
15725      };
15726    }
15727  
15728    // packages/widgets/build-module/register-legacy-widget-variations.mjs
15729    var import_data5 = __toESM(require_data(), 1);
15730    var import_core_data3 = __toESM(require_core_data(), 1);
15731    var import_blocks4 = __toESM(require_blocks(), 1);
15732    function registerLegacyWidgetVariations(settings3) {
15733      const unsubscribe = (0, import_data5.subscribe)(() => {
15734        const hiddenIds = settings3?.widgetTypesToHideFromLegacyWidgetBlock ?? [];
15735        const widgetTypes = (0, import_data5.select)(import_core_data3.store).getWidgetTypes({ per_page: -1 })?.filter((widgetType) => !hiddenIds.includes(widgetType.id));
15736        if (widgetTypes) {
15737          unsubscribe();
15738          (0, import_data5.dispatch)(import_blocks4.store).addBlockVariations(
15739            "core/legacy-widget",
15740            widgetTypes.map((widgetType) => ({
15741              name: widgetType.id,
15742              title: widgetType.name,
15743              description: widgetType.description,
15744              attributes: widgetType.is_multi ? {
15745                idBase: widgetType.id,
15746                instance: {}
15747              } : {
15748                id: widgetType.id
15749              }
15750            }))
15751          );
15752        }
15753      });
15754    }
15755  
15756    // packages/widgets/build-module/index.mjs
15757    function registerLegacyWidgetBlock(supports = {}) {
15758      const { metadata, settings: settings3, name: name3 } = legacy_widget_exports;
15759      (0, import_blocks5.registerBlockType)(
15760        { name: name3, ...metadata },
15761        {
15762          ...settings3,
15763          supports: {
15764            ...settings3.supports,
15765            ...supports
15766          }
15767        }
15768      );
15769    }
15770    function registerWidgetGroupBlock(supports = {}) {
15771      const { metadata, settings: settings3, name: name3 } = widget_group_exports;
15772      (0, import_blocks5.registerBlockType)(
15773        { name: name3, ...metadata },
15774        {
15775          ...settings3,
15776          supports: {
15777            ...settings3.supports,
15778            ...supports
15779          }
15780        }
15781      );
15782    }
15783    return __toCommonJS(index_exports);
15784  })();
15785  /*! Bundled license information:
15786  
15787  use-sync-external-store/cjs/use-sync-external-store-shim.development.js:
15788    (**
15789     * @license React
15790     * use-sync-external-store-shim.development.js
15791     *
15792     * Copyright (c) Meta Platforms, Inc. and affiliates.
15793     *
15794     * This source code is licensed under the MIT license found in the
15795     * LICENSE file in the root directory of this source tree.
15796     *)
15797  
15798  use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js:
15799    (**
15800     * @license React
15801     * use-sync-external-store-shim/with-selector.development.js
15802     *
15803     * Copyright (c) Meta Platforms, Inc. and affiliates.
15804     *
15805     * This source code is licensed under the MIT license found in the
15806     * LICENSE file in the root directory of this source tree.
15807     *)
15808  */
15809  (window.wp ||= {}).widgets = wp.widgets;
15810  })();


Generated : Thu Oct 22 08:20:34 2026 Cross-referenced by PHPXref