[ 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    // package-external:@wordpress/warning
 106    var require_warning = __commonJS({
 107      "package-external:@wordpress/warning"(exports, module) {
 108        module.exports = window.wp.warning;
 109      }
 110    });
 111  
 112    // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js
 113    var require_use_sync_external_store_shim_development = __commonJS({
 114      "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js"(exports) {
 115        "use strict";
 116        (function() {
 117          function is(x, y) {
 118            return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
 119          }
 120          function useSyncExternalStore$2(subscribe2, getSnapshot) {
 121            didWarnOld18Alpha || void 0 === React88.startTransition || (didWarnOld18Alpha = true, console.error(
 122              "You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."
 123            ));
 124            var value = getSnapshot();
 125            if (!didWarnUncachedGetSnapshot) {
 126              var cachedValue = getSnapshot();
 127              objectIs(value, cachedValue) || (console.error(
 128                "The result of getSnapshot should be cached to avoid an infinite loop"
 129              ), didWarnUncachedGetSnapshot = true);
 130            }
 131            cachedValue = useState22({
 132              inst: { value, getSnapshot }
 133            });
 134            var inst = cachedValue[0].inst, forceUpdate = cachedValue[1];
 135            useLayoutEffect3(
 136              function() {
 137                inst.value = value;
 138                inst.getSnapshot = getSnapshot;
 139                checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 140              },
 141              [subscribe2, value, getSnapshot]
 142            );
 143            useEffect15(
 144              function() {
 145                checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 146                return subscribe2(function() {
 147                  checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 148                });
 149              },
 150              [subscribe2]
 151            );
 152            useDebugValue2(value);
 153            return value;
 154          }
 155          function checkIfSnapshotChanged(inst) {
 156            var latestGetSnapshot = inst.getSnapshot;
 157            inst = inst.value;
 158            try {
 159              var nextValue = latestGetSnapshot();
 160              return !objectIs(inst, nextValue);
 161            } catch (error2) {
 162              return true;
 163            }
 164          }
 165          function useSyncExternalStore$1(subscribe2, getSnapshot) {
 166            return getSnapshot();
 167          }
 168          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
 169          var 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;
 170          exports.useSyncExternalStore = void 0 !== React88.useSyncExternalStore ? React88.useSyncExternalStore : shim;
 171          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
 172        })();
 173      }
 174    });
 175  
 176    // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/index.js
 177    var require_shim = __commonJS({
 178      "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/index.js"(exports, module) {
 179        "use strict";
 180        if (false) {
 181          module.exports = null;
 182        } else {
 183          module.exports = require_use_sync_external_store_shim_development();
 184        }
 185      }
 186    });
 187  
 188    // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js
 189    var require_with_selector_development = __commonJS({
 190      "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js"(exports) {
 191        "use strict";
 192        (function() {
 193          function is(x, y) {
 194            return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
 195          }
 196          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
 197          var 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;
 198          exports.useSyncExternalStoreWithSelector = function(subscribe2, getSnapshot, getServerSnapshot, selector, isEqual) {
 199            var instRef = useRef36(null);
 200            if (null === instRef.current) {
 201              var inst = { hasValue: false, value: null };
 202              instRef.current = inst;
 203            } else inst = instRef.current;
 204            instRef = useMemo23(
 205              function() {
 206                function memoizedSelector(nextSnapshot) {
 207                  if (!hasMemo) {
 208                    hasMemo = true;
 209                    memoizedSnapshot = nextSnapshot;
 210                    nextSnapshot = selector(nextSnapshot);
 211                    if (void 0 !== isEqual && inst.hasValue) {
 212                      var currentSelection = inst.value;
 213                      if (isEqual(currentSelection, nextSnapshot))
 214                        return memoizedSelection = currentSelection;
 215                    }
 216                    return memoizedSelection = nextSnapshot;
 217                  }
 218                  currentSelection = memoizedSelection;
 219                  if (objectIs(memoizedSnapshot, nextSnapshot))
 220                    return currentSelection;
 221                  var nextSelection = selector(nextSnapshot);
 222                  if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))
 223                    return memoizedSnapshot = nextSnapshot, currentSelection;
 224                  memoizedSnapshot = nextSnapshot;
 225                  return memoizedSelection = nextSelection;
 226                }
 227                var hasMemo = false, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot;
 228                return [
 229                  function() {
 230                    return memoizedSelector(getSnapshot());
 231                  },
 232                  null === maybeGetServerSnapshot ? void 0 : function() {
 233                    return memoizedSelector(maybeGetServerSnapshot());
 234                  }
 235                ];
 236              },
 237              [getSnapshot, getServerSnapshot, selector, isEqual]
 238            );
 239            var value = useSyncExternalStore2(subscribe2, instRef[0], instRef[1]);
 240            useEffect15(
 241              function() {
 242                inst.hasValue = true;
 243                inst.value = value;
 244              },
 245              [value]
 246            );
 247            useDebugValue2(value);
 248            return value;
 249          };
 250          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
 251        })();
 252      }
 253    });
 254  
 255    // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/with-selector.js
 256    var require_with_selector = __commonJS({
 257      "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/with-selector.js"(exports, module) {
 258        "use strict";
 259        if (false) {
 260          module.exports = null;
 261        } else {
 262          module.exports = require_with_selector_development();
 263        }
 264      }
 265    });
 266  
 267    // package-external:@wordpress/compose
 268    var require_compose = __commonJS({
 269      "package-external:@wordpress/compose"(exports, module) {
 270        module.exports = window.wp.compose;
 271      }
 272    });
 273  
 274    // package-external:@wordpress/data
 275    var require_data = __commonJS({
 276      "package-external:@wordpress/data"(exports, module) {
 277        module.exports = window.wp.data;
 278      }
 279    });
 280  
 281    // package-external:@wordpress/notices
 282    var require_notices = __commonJS({
 283      "package-external:@wordpress/notices"(exports, module) {
 284        module.exports = window.wp.notices;
 285      }
 286    });
 287  
 288    // package-external:@wordpress/api-fetch
 289    var require_api_fetch = __commonJS({
 290      "package-external:@wordpress/api-fetch"(exports, module) {
 291        module.exports = window.wp.apiFetch;
 292      }
 293    });
 294  
 295    // packages/widgets/build-module/index.mjs
 296    var index_exports = {};
 297    __export(index_exports, {
 298      MoveToWidgetArea: () => MoveToWidgetArea,
 299      addWidgetIdToBlock: () => addWidgetIdToBlock,
 300      getWidgetIdFromBlock: () => getWidgetIdFromBlock,
 301      registerLegacyWidgetBlock: () => registerLegacyWidgetBlock,
 302      registerLegacyWidgetVariations: () => registerLegacyWidgetVariations,
 303      registerWidgetGroupBlock: () => registerWidgetGroupBlock
 304    });
 305    var import_blocks5 = __toESM(require_blocks(), 1);
 306  
 307    // packages/widgets/build-module/blocks/legacy-widget/index.mjs
 308    var legacy_widget_exports = {};
 309    __export(legacy_widget_exports, {
 310      metadata: () => block_default,
 311      name: () => name,
 312      settings: () => settings
 313    });
 314  
 315    // packages/icons/build-module/library/brush.mjs
 316    var import_primitives = __toESM(require_primitives(), 1);
 317    var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
 318    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" }) });
 319  
 320    // packages/icons/build-module/library/check.mjs
 321    var import_primitives2 = __toESM(require_primitives(), 1);
 322    var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
 323    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" }) });
 324  
 325    // packages/icons/build-module/library/chevron-down.mjs
 326    var import_primitives3 = __toESM(require_primitives(), 1);
 327    var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
 328    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" }) });
 329  
 330    // packages/icons/build-module/library/group.mjs
 331    var import_primitives4 = __toESM(require_primitives(), 1);
 332    var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
 333    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: [
 334      /* @__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" }),
 335      /* @__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" })
 336    ] });
 337  
 338    // packages/icons/build-module/library/move-to.mjs
 339    var import_primitives5 = __toESM(require_primitives(), 1);
 340    var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
 341    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" }) });
 342  
 343    // packages/icons/build-module/library/widget.mjs
 344    var import_primitives6 = __toESM(require_primitives(), 1);
 345    var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);
 346    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: [
 347      /* @__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" }),
 348      /* @__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" })
 349    ] });
 350  
 351    // packages/widgets/build-module/blocks/legacy-widget/block.json
 352    var block_default = {
 353      $schema: "https://schemas.wp.org/trunk/block.json",
 354      apiVersion: 3,
 355      name: "core/legacy-widget",
 356      title: "Legacy Widget",
 357      category: "widgets",
 358      description: "Display a legacy widget.",
 359      textdomain: "default",
 360      attributes: {
 361        id: {
 362          type: "string",
 363          default: null
 364        },
 365        idBase: {
 366          type: "string",
 367          default: null
 368        },
 369        instance: {
 370          type: "object",
 371          default: null
 372        }
 373      },
 374      supports: {
 375        html: false,
 376        customClassName: false,
 377        reusable: false
 378      },
 379      editorStyle: "wp-block-legacy-widget-editor"
 380    };
 381  
 382    // node_modules/.store/clsx@2.1.1-XOLP1vUL9vEGfpiXm37fAw/node_modules/clsx/dist/clsx.mjs
 383    function r(e) {
 384      var t, f, n = "";
 385      if ("string" == typeof e || "number" == typeof e) n += e;
 386      else if ("object" == typeof e) if (Array.isArray(e)) {
 387        var o = e.length;
 388        for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
 389      } else for (f in e) e[f] && (n && (n += " "), n += f);
 390      return n;
 391    }
 392    function clsx() {
 393      for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
 394      return n;
 395    }
 396    var clsx_default = clsx;
 397  
 398    // packages/widgets/build-module/blocks/legacy-widget/edit/index.mjs
 399    var import_block_editor3 = __toESM(require_block_editor(), 1);
 400    var import_components5 = __toESM(require_components(), 1);
 401    var import_i18n10 = __toESM(require_i18n(), 1);
 402    var import_element37 = __toESM(require_element(), 1);
 403    var import_core_data2 = __toESM(require_core_data(), 1);
 404  
 405    // packages/widgets/build-module/blocks/legacy-widget/edit/widget-type-selector.mjs
 406    var import_components = __toESM(require_components(), 1);
 407  
 408    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useRenderElement.mjs
 409    var React4 = __toESM(require_react(), 1);
 410  
 411    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useRefWithInit.mjs
 412    var React = __toESM(require_react(), 1);
 413    var UNINITIALIZED = {};
 414    function useRefWithInit(init, initArg) {
 415      const ref = React.useRef(UNINITIALIZED);
 416      if (ref.current === UNINITIALIZED) {
 417        ref.current = init(initArg);
 418      }
 419      return ref;
 420    }
 421  
 422    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useMergedRefs.mjs
 423    function useMergedRefs(a, b, c, d) {
 424      const forkRef = useRefWithInit(createForkRef).current;
 425      if (didChange(forkRef, a, b, c, d)) {
 426        update(forkRef, [a, b, c, d]);
 427      }
 428      return forkRef.callback;
 429    }
 430    function useMergedRefsN(refs) {
 431      const forkRef = useRefWithInit(createForkRef).current;
 432      if (didChangeN(forkRef, refs)) {
 433        update(forkRef, refs);
 434      }
 435      return forkRef.callback;
 436    }
 437    function createForkRef() {
 438      return {
 439        callback: null,
 440        cleanup: null,
 441        refs: []
 442      };
 443    }
 444    function didChange(forkRef, a, b, c, d) {
 445      return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c || forkRef.refs[3] !== d;
 446    }
 447    function didChangeN(forkRef, newRefs) {
 448      return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index2) => ref !== newRefs[index2]);
 449    }
 450    function update(forkRef, refs) {
 451      forkRef.refs = refs;
 452      if (refs.every((ref) => ref == null)) {
 453        forkRef.callback = null;
 454        return;
 455      }
 456      forkRef.callback = (instance) => {
 457        if (forkRef.cleanup) {
 458          forkRef.cleanup();
 459          forkRef.cleanup = null;
 460        }
 461        if (instance != null) {
 462          const cleanupCallbacks = Array(refs.length).fill(null);
 463          for (let i = 0; i < refs.length; i += 1) {
 464            const ref = refs[i];
 465            if (ref == null) {
 466              continue;
 467            }
 468            switch (typeof ref) {
 469              case "function": {
 470                const refCleanup = ref(instance);
 471                if (typeof refCleanup === "function") {
 472                  cleanupCallbacks[i] = refCleanup;
 473                }
 474                break;
 475              }
 476              case "object": {
 477                ref.current = instance;
 478                break;
 479              }
 480              default:
 481            }
 482          }
 483          forkRef.cleanup = () => {
 484            for (let i = 0; i < refs.length; i += 1) {
 485              const ref = refs[i];
 486              if (ref == null) {
 487                continue;
 488              }
 489              switch (typeof ref) {
 490                case "function": {
 491                  const cleanupCallback = cleanupCallbacks[i];
 492                  if (typeof cleanupCallback === "function") {
 493                    cleanupCallback();
 494                  } else {
 495                    void ref(null);
 496                  }
 497                  break;
 498                }
 499                case "object": {
 500                  ref.current = null;
 501                  break;
 502                }
 503                default:
 504              }
 505            }
 506          };
 507        }
 508      };
 509    }
 510  
 511    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/getReactElementRef.mjs
 512    var React3 = __toESM(require_react(), 1);
 513  
 514    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/reactVersion.mjs
 515    var React2 = __toESM(require_react(), 1);
 516    var majorVersion = parseInt(React2.version, 10);
 517    function isReactVersionAtLeast(reactVersionToCheck) {
 518      return majorVersion >= reactVersionToCheck;
 519    }
 520  
 521    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/getReactElementRef.mjs
 522    function getReactElementRef(element) {
 523      if (!/* @__PURE__ */ React3.isValidElement(element)) {
 524        return null;
 525      }
 526      const reactElement = element;
 527      const propsWithRef = reactElement.props;
 528      return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;
 529    }
 530  
 531    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/mergeObjects.mjs
 532    function mergeObjects(a, b) {
 533      if (a && !b) {
 534        return a;
 535      }
 536      if (!a && b) {
 537        return b;
 538      }
 539      if (a || b) {
 540        return {
 541          ...a,
 542          ...b
 543        };
 544      }
 545      return void 0;
 546    }
 547  
 548    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/createLogOnce.mjs
 549    var loggedMessages;
 550    if (true) {
 551      loggedMessages = /* @__PURE__ */ new Set();
 552    }
 553    function createLogOnce(severity, prefix) {
 554      return function logOnce(...messages) {
 555        if (true) {
 556          const message = messages.join(" ");
 557          const output = prefix ? `$prefix}: $message}` : message;
 558          const key = `$severity}:$output}`;
 559          if (!loggedMessages.has(key)) {
 560            loggedMessages.add(key);
 561            if (severity === "warn") {
 562              console.warn(output);
 563            } else {
 564              console.error(output);
 565            }
 566          }
 567        }
 568      };
 569    }
 570  
 571    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/warn.mjs
 572    var warn = createLogOnce("warn", "Base UI");
 573  
 574    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/empty.mjs
 575    function NOOP() {
 576    }
 577    var EMPTY_ARRAY = Object.freeze([]);
 578    var EMPTY_OBJECT = Object.freeze({});
 579  
 580    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/getStateAttributesProps.mjs
 581    function getStateAttributesProps(state, customMapping) {
 582      const props = {};
 583      for (const key in state) {
 584        const value = state[key];
 585        if (customMapping?.hasOwnProperty(key)) {
 586          const customProps = customMapping[key](value);
 587          if (customProps != null) {
 588            Object.assign(props, customProps);
 589          }
 590          continue;
 591        }
 592        if (value === true) {
 593          props[`data-$key.toLowerCase()}`] = "";
 594        } else if (value) {
 595          props[`data-$key.toLowerCase()}`] = value.toString();
 596        }
 597      }
 598      return props;
 599    }
 600  
 601    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveClassName.mjs
 602    function resolveClassName(className, state) {
 603      return typeof className === "function" ? className(state) : className;
 604    }
 605  
 606    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveStyle.mjs
 607    function resolveStyle(style, state) {
 608      return typeof style === "function" ? style(state) : style;
 609    }
 610  
 611    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/merge-props/mergeProps.mjs
 612    var EMPTY_PROPS = {};
 613    function mergeProps(a, b, c, d, e) {
 614      if (!c && !d && !e && !a) {
 615        return createInitialMergedProps(b);
 616      }
 617      let merged = createInitialMergedProps(a);
 618      if (b) {
 619        merged = mergeInto(merged, b);
 620      }
 621      if (c) {
 622        merged = mergeInto(merged, c);
 623      }
 624      if (d) {
 625        merged = mergeInto(merged, d);
 626      }
 627      if (e) {
 628        merged = mergeInto(merged, e);
 629      }
 630      return merged;
 631    }
 632    function mergePropsN(props) {
 633      if (props.length === 0) {
 634        return EMPTY_PROPS;
 635      }
 636      if (props.length === 1) {
 637        return createInitialMergedProps(props[0]);
 638      }
 639      let merged = createInitialMergedProps(props[0]);
 640      for (let i = 1; i < props.length; i += 1) {
 641        merged = mergeInto(merged, props[i]);
 642      }
 643      return merged;
 644    }
 645    function createInitialMergedProps(inputProps) {
 646      if (isPropsGetter(inputProps)) {
 647        return {
 648          ...inputProps(EMPTY_PROPS)
 649        };
 650      }
 651      return copyInitialProps(inputProps);
 652    }
 653    function mergeInto(merged, inputProps) {
 654      if (isPropsGetter(inputProps)) {
 655        return inputProps(merged);
 656      }
 657      return mutablyMergeInto(merged, inputProps);
 658    }
 659    function copyInitialProps(inputProps) {
 660      const copiedProps = {
 661        ...inputProps
 662      };
 663      for (const propName in copiedProps) {
 664        const propValue = copiedProps[propName];
 665        if (isEventHandler(propName, propValue)) {
 666          copiedProps[propName] = wrapEventHandler(propValue);
 667        }
 668      }
 669      return copiedProps;
 670    }
 671    function mutablyMergeInto(mergedProps, externalProps) {
 672      if (!externalProps) {
 673        return mergedProps;
 674      }
 675      for (const propName in externalProps) {
 676        const externalPropValue = externalProps[propName];
 677        switch (propName) {
 678          case "style": {
 679            mergedProps[propName] = mergeObjects(mergedProps.style, externalPropValue);
 680            break;
 681          }
 682          case "className": {
 683            mergedProps[propName] = mergeClassNames(mergedProps.className, externalPropValue);
 684            break;
 685          }
 686          default: {
 687            if (isEventHandler(propName, externalPropValue)) {
 688              mergedProps[propName] = mergeEventHandlers(mergedProps[propName], externalPropValue);
 689            } else {
 690              mergedProps[propName] = externalPropValue;
 691            }
 692          }
 693        }
 694      }
 695      return mergedProps;
 696    }
 697    function isEventHandler(key, value) {
 698      const code0 = key.charCodeAt(0);
 699      const code1 = key.charCodeAt(1);
 700      const code2 = key.charCodeAt(2);
 701      return code0 === 111 && code1 === 110 && code2 >= 65 && code2 <= 90 && (typeof value === "function" || typeof value === "undefined");
 702    }
 703    function isPropsGetter(inputProps) {
 704      return typeof inputProps === "function";
 705    }
 706    function mergeEventHandlers(ourHandler, theirHandler) {
 707      if (!theirHandler) {
 708        return ourHandler;
 709      }
 710      if (!ourHandler) {
 711        return wrapEventHandler(theirHandler);
 712      }
 713      return (...args) => {
 714        const event = args[0];
 715        if (isSyntheticEvent(event)) {
 716          const baseUIEvent = event;
 717          makeEventPreventable(baseUIEvent);
 718          const result2 = theirHandler(...args);
 719          if (!baseUIEvent.baseUIHandlerPrevented) {
 720            ourHandler?.(...args);
 721          }
 722          return result2;
 723        }
 724        const result = theirHandler(...args);
 725        ourHandler?.(...args);
 726        return result;
 727      };
 728    }
 729    function wrapEventHandler(handler) {
 730      if (!handler) {
 731        return handler;
 732      }
 733      return (...args) => {
 734        const event = args[0];
 735        if (isSyntheticEvent(event)) {
 736          makeEventPreventable(event);
 737        }
 738        return handler(...args);
 739      };
 740    }
 741    function makeEventPreventable(event) {
 742      event.preventBaseUIHandler = () => {
 743        event.baseUIHandlerPrevented = true;
 744      };
 745      return event;
 746    }
 747    function mergeClassNames(ourClassName, theirClassName) {
 748      if (theirClassName) {
 749        if (ourClassName) {
 750          return theirClassName + " " + ourClassName;
 751        }
 752        return theirClassName;
 753      }
 754      return ourClassName;
 755    }
 756    function isSyntheticEvent(event) {
 757      return event != null && typeof event === "object" && "nativeEvent" in event;
 758    }
 759  
 760    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useRenderElement.mjs
 761    var import_react = __toESM(require_react(), 1);
 762    function useRenderElement(element, componentProps, params = {}) {
 763      let renderProp = componentProps.render;
 764      if (params.enabled !== false) {
 765        renderProp = unwrapLazyRenderProp(renderProp);
 766      }
 767      const outProps = useRenderElementProps(componentProps, params, renderProp);
 768      if (params.enabled === false) {
 769        return null;
 770      }
 771      const state = params.state ?? EMPTY_OBJECT;
 772      return evaluateRenderProp(element, renderProp, outProps, state);
 773    }
 774    function useRenderElementProps(componentProps, params, renderProp) {
 775      const {
 776        className: classNameProp,
 777        style: styleProp
 778      } = componentProps;
 779      const {
 780        state = EMPTY_OBJECT,
 781        ref,
 782        props,
 783        stateAttributesMapping: stateAttributesMapping6,
 784        enabled = true
 785      } = params;
 786      const className = enabled ? resolveClassName(classNameProp, state) : void 0;
 787      const style = enabled ? resolveStyle(styleProp, state) : void 0;
 788      const stateProps = enabled ? getStateAttributesProps(state, stateAttributesMapping6) : EMPTY_OBJECT;
 789      const resolvedProps = enabled && props ? resolveRenderFunctionProps(props) : void 0;
 790      const outProps = enabled ? mergeObjects(stateProps, resolvedProps) ?? {} : EMPTY_OBJECT;
 791      if (typeof document !== "undefined") {
 792        if (!enabled) {
 793          void useMergedRefs(null, null);
 794        } else if (Array.isArray(ref)) {
 795          outProps.ref = useMergedRefsN([outProps.ref, getReactElementRef(renderProp), ...ref]);
 796        } else {
 797          outProps.ref = useMergedRefs(outProps.ref, getReactElementRef(renderProp), ref);
 798        }
 799      }
 800      if (!enabled) {
 801        return EMPTY_OBJECT;
 802      }
 803      if (className !== void 0) {
 804        outProps.className = mergeClassNames(outProps.className, className);
 805      }
 806      if (style !== void 0) {
 807        outProps.style = mergeObjects(outProps.style, style);
 808      }
 809      return outProps;
 810    }
 811    function resolveRenderFunctionProps(props) {
 812      if (Array.isArray(props)) {
 813        return mergePropsN(props);
 814      }
 815      return mergeProps(void 0, props);
 816    }
 817    var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy");
 818    var COMPONENT_IDENTIFIER_PATTERN = /^[A-Z][A-Za-z0-9$]*$/;
 819    var LOWERCASE_CHARACTER_PATTERN = /[a-z]/;
 820    function unwrapLazyRenderProp(render) {
 821      if (render?.$$typeof !== REACT_LAZY_TYPE) {
 822        return render;
 823      }
 824      const unwrapped = React4.Children.toArray(render)[0];
 825      return /* @__PURE__ */ React4.isValidElement(unwrapped) ? unwrapped : render;
 826    }
 827    function evaluateRenderProp(element, render, props, state) {
 828      if (render) {
 829        if (typeof render === "function") {
 830          if (true) {
 831            warnIfRenderPropLooksLikeComponent(render);
 832          }
 833          return render(props, state);
 834        }
 835        const mergedProps = mergeProps(props, render.props);
 836        mergedProps.ref = props.ref;
 837        if (true) {
 838          if (!/* @__PURE__ */ React4.isValidElement(render)) {
 839            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"));
 840          }
 841        }
 842        return /* @__PURE__ */ React4.cloneElement(render, mergedProps);
 843      }
 844      return renderTag(element, props);
 845    }
 846    function warnIfRenderPropLooksLikeComponent(renderFn) {
 847      const functionName = renderFn.name;
 848      if (functionName.length === 0) {
 849        return;
 850      }
 851      if (!COMPONENT_IDENTIFIER_PATTERN.test(functionName)) {
 852        return;
 853      }
 854      if (!LOWERCASE_CHARACTER_PATTERN.test(functionName)) {
 855        return;
 856      }
 857      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");
 858    }
 859    function renderTag(Tag, props) {
 860      if (Tag === "button") {
 861        return /* @__PURE__ */ (0, import_react.createElement)("button", {
 862          type: "button",
 863          ...props,
 864          key: props.key
 865        });
 866      }
 867      if (Tag === "img") {
 868        return /* @__PURE__ */ (0, import_react.createElement)("img", {
 869          alt: "",
 870          ...props,
 871          key: props.key
 872        });
 873      }
 874      return /* @__PURE__ */ React4.createElement(Tag, props);
 875    }
 876  
 877    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/safeReact.mjs
 878    var React5 = __toESM(require_react(), 1);
 879    var SafeReact = {
 880      ...React5
 881    };
 882  
 883    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useStableCallback.mjs
 884    var useInsertionEffect = SafeReact.useInsertionEffect;
 885    var useSafeInsertionEffect = (
 886      // React 17 doesn't have useInsertionEffect.
 887      useInsertionEffect && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
 888      useInsertionEffect !== SafeReact.useLayoutEffect ? useInsertionEffect : (fn) => fn()
 889    );
 890    function useStableCallback(callback) {
 891      const stable = useRefWithInit(createStableCallback).current;
 892      stable.next = callback;
 893      useSafeInsertionEffect(stable.effect);
 894      return stable.trampoline;
 895    }
 896    function createStableCallback() {
 897      const stable = {
 898        next: void 0,
 899        callback: assertNotCalled,
 900        trampoline: (...args) => stable.callback?.(...args),
 901        effect: () => {
 902          stable.callback = stable.next;
 903        }
 904      };
 905      return stable;
 906    }
 907    function assertNotCalled() {
 908      if (true) {
 909        throw (
 910          /* minify-error-disabled */
 911          new Error("Base UI: Cannot call an event handler while rendering.")
 912        );
 913      }
 914    }
 915  
 916    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useIsoLayoutEffect.mjs
 917    var React6 = __toESM(require_react(), 1);
 918    var noop = () => {
 919    };
 920    var useIsoLayoutEffect = typeof document !== "undefined" ? React6.useLayoutEffect : noop;
 921  
 922    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
 923    var React8 = __toESM(require_react(), 1);
 924  
 925    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
 926    var ReactDOM = __toESM(require_react_dom(), 1);
 927  
 928    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useOnMount.mjs
 929    var React7 = __toESM(require_react(), 1);
 930    function useOnMount(fn) {
 931      React7.useEffect(fn, EMPTY_ARRAY);
 932    }
 933  
 934    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useAnimationFrame.mjs
 935    var EMPTY = null;
 936    var LAST_RAF = globalThis.requestAnimationFrame;
 937    var Scheduler = class {
 938      /* This implementation uses an array as a backing data-structure for frame callbacks.
 939       * It allows `O(1)` callback cancelling by inserting a `null` in the array, though it
 940       * never calls the native `cancelAnimationFrame` if there are no frames left. This can
 941       * be much more efficient if there is a call pattern that alterns as
 942       * "request-cancel-request-cancel-…".
 943       * But in the case of "request-request-…-cancel-cancel-…", it leaves the final animation
 944       * frame to run anyway. We turn that frame into a `O(1)` no-op via `callbacksCount`. */
 945      callbacks = [];
 946      callbacksCount = 0;
 947      nextId = 1;
 948      startId = 1;
 949      isScheduled = false;
 950      tick = (timestamp) => {
 951        this.isScheduled = false;
 952        const currentCallbacks = this.callbacks;
 953        const currentCallbacksCount = this.callbacksCount;
 954        this.callbacks = [];
 955        this.callbacksCount = 0;
 956        this.startId = this.nextId;
 957        if (currentCallbacksCount > 0) {
 958          for (let i = 0; i < currentCallbacks.length; i += 1) {
 959            currentCallbacks[i]?.(timestamp);
 960          }
 961        }
 962      };
 963      request(fn) {
 964        const id = this.nextId;
 965        this.nextId += 1;
 966        this.callbacks.push(fn);
 967        this.callbacksCount += 1;
 968        const didRAFChange = LAST_RAF !== requestAnimationFrame && (LAST_RAF = requestAnimationFrame, true);
 969        if (!this.isScheduled || didRAFChange) {
 970          requestAnimationFrame(this.tick);
 971          this.isScheduled = true;
 972        }
 973        return id;
 974      }
 975      cancel(id) {
 976        const index2 = id - this.startId;
 977        if (index2 < 0 || index2 >= this.callbacks.length) {
 978          return;
 979        }
 980        if (this.callbacks[index2] === null) {
 981          return;
 982        }
 983        this.callbacks[index2] = null;
 984        this.callbacksCount -= 1;
 985      }
 986    };
 987    var scheduler = new Scheduler();
 988    var AnimationFrame = class _AnimationFrame {
 989      static create() {
 990        return new _AnimationFrame();
 991      }
 992      static request(fn) {
 993        return scheduler.request(fn);
 994      }
 995      static cancel(id) {
 996        return scheduler.cancel(id);
 997      }
 998      currentId = EMPTY;
 999      /**
1000       * Executes `fn` after `delay`, clearing any previously scheduled call.
1001       */
1002      request(fn) {
1003        this.cancel();
1004        this.currentId = scheduler.request(() => {
1005          this.currentId = EMPTY;
1006          fn();
1007        });
1008      }
1009      cancel = () => {
1010        if (this.currentId !== EMPTY) {
1011          scheduler.cancel(this.currentId);
1012          this.currentId = EMPTY;
1013        }
1014      };
1015      disposeEffect = () => {
1016        return this.cancel;
1017      };
1018    };
1019    function useAnimationFrame() {
1020      const timeout = useRefWithInit(AnimationFrame.create).current;
1021      useOnMount(timeout.disposeEffect);
1022      return timeout;
1023    }
1024  
1025    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveRef.mjs
1026    function resolveRef(maybeRef) {
1027      if (maybeRef == null) {
1028        return maybeRef;
1029      }
1030      return "current" in maybeRef ? maybeRef.current : maybeRef;
1031    }
1032  
1033    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getFiniteAnimations.mjs
1034    function getFiniteAnimations(element, options) {
1035      return element.getAnimations(options).filter((animation) => {
1036        const timing = animation.effect?.getTiming();
1037        return timing?.duration !== Infinity && timing?.iterations !== Infinity;
1038      });
1039    }
1040  
1041    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/TransitionStatusDataAttributes.mjs
1042    var startingStyle = "data-starting-style";
1043    var endingStyle = "data-ending-style";
1044  
1045    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
1046    var pendingCallbacks = null;
1047    function flushBeforePaint(fn) {
1048      if (!pendingCallbacks) {
1049        const callbacks = [];
1050        pendingCallbacks = callbacks;
1051        queueMicrotask(() => {
1052          pendingCallbacks = null;
1053          ReactDOM.flushSync(() => {
1054            for (const callback of callbacks) {
1055              callback();
1056            }
1057          });
1058        });
1059      }
1060      pendingCallbacks.push(fn);
1061    }
1062    function useAnimationsFinished(elementOrRef, waitForStartingStyleRemoved = false, batch = false) {
1063      const frame = useAnimationFrame();
1064      return useStableCallback((fnToExecute, signal = null) => {
1065        frame.cancel();
1066        const element = resolveRef(elementOrRef);
1067        if (element == null) {
1068          return;
1069        }
1070        const resolvedElement = element;
1071        const done = () => {
1072          if (!batch) {
1073            ReactDOM.flushSync(fnToExecute);
1074            return;
1075          }
1076          flushBeforePaint(() => {
1077            if (!signal?.aborted) {
1078              fnToExecute();
1079            }
1080          });
1081        };
1082        if (typeof resolvedElement.getAnimations !== "function" || globalThis.BASE_UI_ANIMATIONS_DISABLED) {
1083          fnToExecute();
1084          return;
1085        }
1086        function exec() {
1087          Promise.all(getFiniteAnimations(resolvedElement).map((animation) => animation.finished.then(NOOP))).then(() => {
1088            if (!signal?.aborted) {
1089              done();
1090            }
1091          }, () => {
1092            if (signal?.aborted) {
1093              return;
1094            }
1095            const currentAnimations = getFiniteAnimations(resolvedElement);
1096            if (currentAnimations.some((animation) => animation.pending || animation.playState !== "finished")) {
1097              exec();
1098              return;
1099            }
1100            done();
1101          });
1102        }
1103        if (waitForStartingStyleRemoved) {
1104          const startingStyleAttribute = startingStyle;
1105          if (!resolvedElement.hasAttribute(startingStyleAttribute)) {
1106            frame.request(exec);
1107            return;
1108          }
1109          const attributeObserver = new MutationObserver(() => {
1110            if (!resolvedElement.hasAttribute(startingStyleAttribute)) {
1111              attributeObserver.disconnect();
1112              exec();
1113            }
1114          });
1115          attributeObserver.observe(resolvedElement, {
1116            attributes: true,
1117            attributeFilter: [startingStyleAttribute]
1118          });
1119          signal?.addEventListener("abort", () => attributeObserver.disconnect(), {
1120            once: true
1121          });
1122          return;
1123        }
1124        frame.request(exec);
1125      });
1126    }
1127  
1128    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
1129    function useOpenChangeComplete(parameters) {
1130      const {
1131        enabled = true,
1132        open: open2,
1133        ref,
1134        batch = false,
1135        onComplete: onCompleteParam
1136      } = parameters;
1137      const onComplete = useStableCallback(onCompleteParam);
1138      const runOnceAnimationsFinish = useAnimationsFinished(ref, open2, batch);
1139      React8.useEffect(() => {
1140        if (!enabled) {
1141          return void 0;
1142        }
1143        const abortController = new AbortController();
1144        runOnceAnimationsFinish(onComplete, abortController.signal);
1145        return () => {
1146          abortController.abort();
1147        };
1148      }, [enabled, open2, onComplete, runOnceAnimationsFinish]);
1149    }
1150  
1151    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/stateAttributesMapping.mjs
1152    var STARTING_HOOK = {
1153      [startingStyle]: ""
1154    };
1155    var ENDING_HOOK = {
1156      [endingStyle]: ""
1157    };
1158    var transitionStatusMapping = {
1159      transitionStatus(value) {
1160        if (value === "starting") {
1161          return STARTING_HOOK;
1162        }
1163        if (value === "ending") {
1164          return ENDING_HOOK;
1165        }
1166        return null;
1167      }
1168    };
1169  
1170    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useTransitionStatus.mjs
1171    var React9 = __toESM(require_react(), 1);
1172    function useTransitionStatus(open2, enableIdleState = false, deferEndingState = false, animateInitialOpen = false) {
1173      const [transitionStatus, setTransitionStatus] = React9.useState(open2 && enableIdleState ? "idle" : void 0);
1174      const [mounted, setMounted] = React9.useState(open2 && !animateInitialOpen);
1175      if (open2 && !mounted) {
1176        setMounted(true);
1177        setTransitionStatus("starting");
1178      }
1179      if (!open2 && mounted && transitionStatus !== "ending" && !deferEndingState) {
1180        setTransitionStatus("ending");
1181      }
1182      if (!open2 && !mounted && transitionStatus === "ending") {
1183        setTransitionStatus(void 0);
1184      }
1185      useIsoLayoutEffect(() => {
1186        if (!open2 && mounted && transitionStatus !== "ending" && deferEndingState) {
1187          const frame = AnimationFrame.request(() => {
1188            setTransitionStatus("ending");
1189          });
1190          return () => {
1191            AnimationFrame.cancel(frame);
1192          };
1193        }
1194        return void 0;
1195      }, [open2, mounted, transitionStatus, deferEndingState]);
1196      useIsoLayoutEffect(() => {
1197        if (!open2 || enableIdleState || transitionStatus === void 0) {
1198          return void 0;
1199        }
1200        const frame = AnimationFrame.request(() => {
1201          setTransitionStatus(void 0);
1202        });
1203        return () => {
1204          AnimationFrame.cancel(frame);
1205        };
1206      }, [enableIdleState, open2, transitionStatus]);
1207      useIsoLayoutEffect(() => {
1208        if (!open2 || !enableIdleState) {
1209          return void 0;
1210        }
1211        if (open2 && mounted && transitionStatus !== "idle") {
1212          setTransitionStatus("starting");
1213        }
1214        const frame = AnimationFrame.request(() => {
1215          setTransitionStatus("idle");
1216        });
1217        return () => {
1218          AnimationFrame.cancel(frame);
1219        };
1220      }, [enableIdleState, open2, mounted, transitionStatus]);
1221      return {
1222        mounted,
1223        setMounted,
1224        transitionStatus
1225      };
1226    }
1227  
1228    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useTimeout.mjs
1229    var EMPTY2 = 0;
1230    var Timeout = class _Timeout {
1231      static create() {
1232        return new _Timeout();
1233      }
1234      currentId = EMPTY2;
1235      /**
1236       * Executes `fn` after `delay`, clearing any previously scheduled call.
1237       */
1238      start(delay, fn) {
1239        this.clear();
1240        this.currentId = setTimeout(() => {
1241          this.currentId = EMPTY2;
1242          fn();
1243        }, delay);
1244      }
1245      isStarted() {
1246        return this.currentId !== EMPTY2;
1247      }
1248      clear = () => {
1249        if (this.currentId !== EMPTY2) {
1250          clearTimeout(this.currentId);
1251          this.currentId = EMPTY2;
1252        }
1253      };
1254      disposeEffect = () => {
1255        return this.clear;
1256      };
1257    };
1258    function useTimeout() {
1259      const timeout = useRefWithInit(Timeout.create).current;
1260      useOnMount(timeout.disposeEffect);
1261      return timeout;
1262    }
1263  
1264    // packages/ui/build-module/icon/icon.mjs
1265    var import_element = __toESM(require_element(), 1);
1266    var import_primitives7 = __toESM(require_primitives(), 1);
1267    var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1);
1268    var Icon = (0, import_element.forwardRef)(
1269      function UnforwardedIcon({ icon, size: size4 = 24, style, ...restProps }, ref) {
1270        const mergedStyle = icon.props.style || style ? { ...icon.props.style, ...style } : void 0;
1271        return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
1272          import_primitives7.SVG,
1273          {
1274            ref,
1275            ...icon.props,
1276            ...restProps,
1277            ...mergedStyle ? { style: mergedStyle } : {},
1278            width: size4,
1279            height: size4
1280          }
1281        );
1282      }
1283    );
1284  
1285    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useControlled.mjs
1286    var React10 = __toESM(require_react(), 1);
1287  
1288    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/error.mjs
1289    var error = createLogOnce("error", "Base UI");
1290  
1291    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useControlled.mjs
1292    function useControlled({
1293      controlled,
1294      default: defaultProp,
1295      name: name3,
1296      state = "value"
1297    }) {
1298      const {
1299        current: isControlled
1300      } = React10.useRef(controlled !== void 0);
1301      const [valueState, setValue] = React10.useState(() => defaultProp);
1302      const value = isControlled && controlled !== void 0 ? controlled : valueState;
1303      if (true) {
1304        React10.useEffect(() => {
1305          if (isControlled !== (controlled !== void 0)) {
1306            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"));
1307          }
1308        }, [state, name3, controlled]);
1309        const {
1310          current: defaultValue
1311        } = React10.useRef(defaultProp);
1312        React10.useEffect(() => {
1313          if (!isControlled && serializeToDevModeString(defaultValue) !== serializeToDevModeString(defaultProp)) {
1314            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"));
1315          }
1316        }, [defaultProp]);
1317      }
1318      const setValueIfUncontrolled = React10.useCallback((newValue) => {
1319        if (!isControlled) {
1320          setValue(newValue);
1321        }
1322      }, []);
1323      return [value, setValueIfUncontrolled];
1324    }
1325    function serializeToDevModeString(input) {
1326      let nextId = 0;
1327      const seen = /* @__PURE__ */ new WeakMap();
1328      try {
1329        const result = JSON.stringify(input, function replacer(key, value) {
1330          if (key === "_owner" && this != null && typeof this === "object" && "$$typeof" in this) {
1331            return void 0;
1332          }
1333          if (typeof value === "bigint") {
1334            return `__bigint__:$value}`;
1335          }
1336          if (value !== null && typeof value === "object") {
1337            const id = seen.get(value);
1338            if (id !== void 0) {
1339              return `__object__:$id}`;
1340            }
1341            seen.set(value, nextId);
1342            nextId += 1;
1343          }
1344          return value;
1345        });
1346        return result ?? `__top__:$typeof input}`;
1347      } catch {
1348        return "__unserializable__";
1349      }
1350    }
1351  
1352    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeList.mjs
1353    var React12 = __toESM(require_react(), 1);
1354  
1355    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeListContext.mjs
1356    var React11 = __toESM(require_react(), 1);
1357    var CompositeListContext = /* @__PURE__ */ React11.createContext({
1358      register: () => {
1359      },
1360      unregister: () => {
1361      },
1362      subscribeMapChange: () => () => {
1363      },
1364      nextIndexRef: {
1365        current: 0
1366      }
1367    });
1368    if (true) CompositeListContext.displayName = "CompositeListContext";
1369    function useCompositeListContext() {
1370      return React11.useContext(CompositeListContext);
1371    }
1372  
1373    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeList.mjs
1374    var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1);
1375    function CompositeList(props) {
1376      const {
1377        children,
1378        elementsRef,
1379        labelsRef,
1380        onMapChange: onMapChangeProp
1381      } = props;
1382      const onMapChange = useStableCallback(onMapChangeProp);
1383      const [, setMapTick] = React12.useState(0);
1384      const listeners = useRefWithInit(createListeners).current;
1385      const map = useRefWithInit(createMap).current;
1386      const nextIndexRef = React12.useRef(0);
1387      const isDirtyRef = React12.useRef(true);
1388      const itemsRef = React12.useRef(null);
1389      const mutationObserverRef = React12.useRef(null);
1390      const scheduleMapUpdate = useStableCallback(() => {
1391        if (isDirtyRef.current) {
1392          return;
1393        }
1394        isDirtyRef.current = true;
1395        setMapTick((tick) => tick + 1);
1396      });
1397      const register2 = useStableCallback((node, registration) => {
1398        map.set(node, registration);
1399        scheduleMapUpdate();
1400      });
1401      const unregister = useStableCallback((node) => {
1402        map.delete(node);
1403        scheduleMapUpdate();
1404      });
1405      const syncRefs = useStableCallback((items) => {
1406        const nextMap = /* @__PURE__ */ new Map();
1407        elementsRef.current.length = 0;
1408        if (labelsRef) {
1409          labelsRef.current.length = 0;
1410        }
1411        items.forEach((item) => {
1412          nextMap.set(item.element, {
1413            ...item.registration.metadata ?? {},
1414            index: item.index
1415          });
1416          elementsRef.current[item.index] = item.element;
1417          if (labelsRef) {
1418            labelsRef.current[item.index] = item.registration.label !== void 0 ? item.registration.label : item.registration.textRef?.current?.textContent ?? item.element.textContent;
1419          }
1420        });
1421        nextIndexRef.current = elementsRef.current.length;
1422        return nextMap;
1423      });
1424      function observe(sortedNodes) {
1425        mutationObserverRef.current?.disconnect();
1426        mutationObserverRef.current = null;
1427        if (typeof MutationObserver !== "function" || sortedNodes.length < 2) {
1428          return;
1429        }
1430        const mutationObserver = new MutationObserver((entries) => {
1431          if (!hasMovedNode(entries)) {
1432            return;
1433          }
1434          let previousConnectedNode = null;
1435          for (const node of sortedNodes) {
1436            if (!node.isConnected) {
1437              continue;
1438            }
1439            if (previousConnectedNode && sortByDocumentPosition(previousConnectedNode, node) > 0) {
1440              mutationObserver.disconnect();
1441              scheduleMapUpdate();
1442              return;
1443            }
1444            previousConnectedNode = node;
1445          }
1446        });
1447        mutationObserverRef.current = mutationObserver;
1448        const roots = /* @__PURE__ */ new Set();
1449        for (let i = 1; i < sortedNodes.length; i += 1) {
1450          const root = getCommonAncestor(sortedNodes[i - 1], sortedNodes[i]);
1451          if (root) {
1452            roots.add(root);
1453          }
1454        }
1455        roots.forEach((root) => mutationObserver.observe(root, {
1456          childList: true
1457        }));
1458      }
1459      const flush = useStableCallback(() => {
1460        const [items, automaticNodes] = getCompositeListSnapshot(map);
1461        const nextMap = syncRefs(items);
1462        const previousItems = itemsRef.current;
1463        const changed = !previousItems || previousItems.length !== items.length || items.some((item, index2) => {
1464          const previousItem = previousItems[index2];
1465          return item.index !== previousItem.index || item.element !== previousItem.element || item.registration.index !== previousItem.registration.index || item.registration.metadata !== previousItem.registration.metadata;
1466        });
1467        observe(automaticNodes);
1468        itemsRef.current = items;
1469        isDirtyRef.current = false;
1470        if (!changed) {
1471          return;
1472        }
1473        listeners.forEach((listener) => listener(nextMap));
1474        onMapChange(nextMap);
1475      });
1476      useIsoLayoutEffect(() => {
1477        if (!isDirtyRef.current && itemsRef.current) {
1478          syncRefs(itemsRef.current);
1479        }
1480        return () => {
1481          elementsRef.current = [];
1482          if (labelsRef) {
1483            labelsRef.current = [];
1484          }
1485        };
1486      }, [elementsRef, labelsRef, syncRefs]);
1487      useIsoLayoutEffect(() => {
1488        if (isDirtyRef.current) {
1489          flush();
1490        }
1491      });
1492      useIsoLayoutEffect(() => {
1493        return () => {
1494          mutationObserverRef.current?.disconnect();
1495          isDirtyRef.current = true;
1496        };
1497      }, []);
1498      const subscribeMapChange = useStableCallback((fn) => {
1499        listeners.add(fn);
1500        return () => {
1501          listeners.delete(fn);
1502        };
1503      });
1504      const contextValue = React12.useMemo(() => ({
1505        register: register2,
1506        unregister,
1507        subscribeMapChange,
1508        nextIndexRef
1509      }), [register2, unregister, subscribeMapChange, nextIndexRef]);
1510      return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CompositeListContext.Provider, {
1511        value: contextValue,
1512        children
1513      });
1514    }
1515    function createMap() {
1516      return /* @__PURE__ */ new Map();
1517    }
1518    function createListeners() {
1519      return /* @__PURE__ */ new Set();
1520    }
1521    function getCompositeListSnapshot(map) {
1522      const reservedIndices = /* @__PURE__ */ new Set();
1523      const items = [];
1524      const automaticItems = [];
1525      map.forEach((registration, node) => {
1526        if (!node.isConnected) {
1527          return;
1528        }
1529        const index2 = registration.index;
1530        const item = {
1531          index: index2 ?? -1,
1532          element: node,
1533          registration
1534        };
1535        if (index2 === null) {
1536          automaticItems.push(item);
1537        } else if (index2 >= 0) {
1538          reservedIndices.add(index2);
1539          items.push(item);
1540        }
1541      });
1542      let nextAutomaticIndex = 0;
1543      automaticItems.sort((a, b) => sortByDocumentPosition(a.element, b.element));
1544      automaticItems.forEach((item) => {
1545        while (reservedIndices.has(nextAutomaticIndex)) {
1546          nextAutomaticIndex += 1;
1547        }
1548        item.index = nextAutomaticIndex;
1549        items.push(item);
1550        nextAutomaticIndex += 1;
1551      });
1552      if (reservedIndices.size > 0) {
1553        items.sort((a, b) => a.index - b.index);
1554      }
1555      return [items, automaticItems.map((item) => item.element)];
1556    }
1557    function getCommonAncestor(firstNode, lastNode) {
1558      let ancestor = firstNode.parentElement;
1559      while (ancestor && !ancestor.contains(lastNode)) {
1560        ancestor = ancestor.parentElement;
1561      }
1562      return ancestor;
1563    }
1564    function hasMovedNode(entries) {
1565      for (const entry of entries) {
1566        for (let i = 0; i < entry.removedNodes.length; i += 1) {
1567          if (entry.removedNodes[i].isConnected) {
1568            return true;
1569          }
1570        }
1571      }
1572      return false;
1573    }
1574    function sortByDocumentPosition(a, b) {
1575      if (a.nextElementSibling === b) {
1576        return -1;
1577      }
1578      if (b.nextElementSibling === a) {
1579        return 1;
1580      }
1581      return a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;
1582    }
1583  
1584    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useId.mjs
1585    var React14 = __toESM(require_react(), 1);
1586  
1587    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useForcedRerendering.mjs
1588    var React13 = __toESM(require_react(), 1);
1589    function useForcedRerendering() {
1590      const [, setState] = React13.useState({});
1591      return React13.useCallback(() => {
1592        setState({});
1593      }, []);
1594    }
1595  
1596    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useId.mjs
1597    var globalId = 0;
1598    function useGlobalId(idOverride, prefix = "mui") {
1599      const defaultId = React14.useRef(void 0);
1600      const forceRerender = useForcedRerendering();
1601      const id = idOverride ?? defaultId.current;
1602      React14.useEffect(() => {
1603        if (defaultId.current == null) {
1604          globalId += 1;
1605          defaultId.current = `$prefix}-$globalId}`;
1606          if (idOverride == null) {
1607            forceRerender();
1608          }
1609        }
1610      }, [idOverride, prefix, forceRerender]);
1611      return id;
1612    }
1613    var maybeReactUseId = SafeReact.useId;
1614    function useId(idOverride, prefix) {
1615      if (maybeReactUseId !== void 0) {
1616        const reactId = maybeReactUseId();
1617        return idOverride ?? (prefix ? `$prefix}-$reactId}` : reactId);
1618      }
1619      return useGlobalId(idOverride, prefix);
1620    }
1621  
1622    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useBaseUiId.mjs
1623    function useBaseUiId(idOverride) {
1624      return useId(idOverride, "base-ui");
1625    }
1626  
1627    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/createBaseUIEventDetails.mjs
1628    function createChangeEventDetails(reason, event, trigger, customProperties) {
1629      let canceled = false;
1630      let allowPropagation = false;
1631      const custom = customProperties ?? EMPTY_OBJECT;
1632      const details = {
1633        reason,
1634        event: event ?? new Event("base-ui"),
1635        cancel() {
1636          canceled = true;
1637        },
1638        allowPropagation() {
1639          allowPropagation = true;
1640        },
1641        get isCanceled() {
1642          return canceled;
1643        },
1644        get isPropagationAllowed() {
1645          return allowPropagation;
1646        },
1647        trigger,
1648        ...custom
1649      };
1650      return details;
1651    }
1652  
1653    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/reason-parts.mjs
1654    var reason_parts_exports = {};
1655    __export(reason_parts_exports, {
1656      cancelOpen: () => cancelOpen,
1657      chipRemovePress: () => chipRemovePress,
1658      clearPress: () => clearPress,
1659      closePress: () => closePress,
1660      closeWatcher: () => closeWatcher,
1661      decrementPress: () => decrementPress,
1662      disabled: () => disabled,
1663      drag: () => drag,
1664      escapeKey: () => escapeKey,
1665      focusOut: () => focusOut,
1666      imperativeAction: () => imperativeAction,
1667      incrementPress: () => incrementPress,
1668      initial: () => initial,
1669      inputBlur: () => inputBlur,
1670      inputChange: () => inputChange,
1671      inputClear: () => inputClear,
1672      inputPaste: () => inputPaste,
1673      inputPress: () => inputPress,
1674      itemPress: () => itemPress,
1675      keyboard: () => keyboard,
1676      linkPress: () => linkPress,
1677      listNavigation: () => listNavigation,
1678      missing: () => missing,
1679      none: () => none,
1680      outsidePress: () => outsidePress,
1681      pointer: () => pointer,
1682      popupClose: () => popupClose,
1683      scrub: () => scrub,
1684      siblingOpen: () => siblingOpen,
1685      swipe: () => swipe,
1686      trackPress: () => trackPress,
1687      triggerFocus: () => triggerFocus,
1688      triggerHover: () => triggerHover,
1689      triggerPress: () => triggerPress,
1690      wheel: () => wheel,
1691      windowResize: () => windowResize
1692    });
1693    var none = "none";
1694    var triggerPress = "trigger-press";
1695    var triggerHover = "trigger-hover";
1696    var triggerFocus = "trigger-focus";
1697    var outsidePress = "outside-press";
1698    var itemPress = "item-press";
1699    var closePress = "close-press";
1700    var linkPress = "link-press";
1701    var clearPress = "clear-press";
1702    var chipRemovePress = "chip-remove-press";
1703    var trackPress = "track-press";
1704    var incrementPress = "increment-press";
1705    var decrementPress = "decrement-press";
1706    var inputChange = "input-change";
1707    var inputClear = "input-clear";
1708    var inputBlur = "input-blur";
1709    var inputPaste = "input-paste";
1710    var inputPress = "input-press";
1711    var focusOut = "focus-out";
1712    var escapeKey = "escape-key";
1713    var closeWatcher = "close-watcher";
1714    var listNavigation = "list-navigation";
1715    var keyboard = "keyboard";
1716    var pointer = "pointer";
1717    var drag = "drag";
1718    var wheel = "wheel";
1719    var scrub = "scrub";
1720    var popupClose = "popup-close";
1721    var cancelOpen = "cancel-open";
1722    var siblingOpen = "sibling-open";
1723    var disabled = "disabled";
1724    var missing = "missing";
1725    var initial = "initial";
1726    var imperativeAction = "imperative-action";
1727    var swipe = "swipe";
1728    var windowResize = "window-resize";
1729  
1730    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/useCompositeListItem.mjs
1731    var React15 = __toESM(require_react(), 1);
1732    function useCompositeListItem(params = {}) {
1733      const {
1734        guess,
1735        label,
1736        metadata,
1737        textRef,
1738        index: externalIndex
1739      } = params;
1740      const {
1741        register: register2,
1742        unregister,
1743        subscribeMapChange,
1744        nextIndexRef
1745      } = useCompositeListContext();
1746      const indexRef = React15.useRef(-1);
1747      const [internalIndex, setInternalIndex] = React15.useState(externalIndex == null && guess ? () => {
1748        if (indexRef.current === -1) {
1749          const newIndex = nextIndexRef.current;
1750          nextIndexRef.current += 1;
1751          indexRef.current = newIndex;
1752        }
1753        return indexRef.current;
1754      } : -1);
1755      const index2 = externalIndex ?? internalIndex;
1756      const componentRef = React15.useRef(null);
1757      const ref = React15.useCallback((node) => {
1758        const previousNode = componentRef.current;
1759        if (previousNode) {
1760          unregister(previousNode);
1761        }
1762        componentRef.current = node;
1763        if (node) {
1764          register2(node, {
1765            metadata: metadata ?? null,
1766            index: externalIndex ?? null,
1767            label,
1768            textRef
1769          });
1770        }
1771      }, [externalIndex, register2, unregister, metadata, label, textRef]);
1772      useIsoLayoutEffect(() => {
1773        if (externalIndex != null) {
1774          return void 0;
1775        }
1776        return subscribeMapChange((map) => {
1777          const i = componentRef.current ? map.get(componentRef.current)?.index : null;
1778          if (i != null) {
1779            setInternalIndex(i);
1780          }
1781        });
1782      }, [externalIndex, subscribeMapChange]);
1783      return {
1784        ref,
1785        index: index2
1786      };
1787    }
1788  
1789    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/use-button/useButton.mjs
1790    var React18 = __toESM(require_react(), 1);
1791  
1792    // node_modules/.store/@floating-ui/utils@0.2.12-gOxTzMf36nCrbeHpEew-rw/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
1793    function hasWindow() {
1794      return typeof window !== "undefined";
1795    }
1796    function getNodeName(node) {
1797      if (isNode(node)) {
1798        return (node.nodeName || "").toLowerCase();
1799      }
1800      return "#document";
1801    }
1802    function getWindow(node) {
1803      var _node$ownerDocument;
1804      return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
1805    }
1806    function getDocumentElement(node) {
1807      var _ref;
1808      return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
1809    }
1810    function isNode(value) {
1811      if (!hasWindow()) {
1812        return false;
1813      }
1814      return value instanceof Node || value instanceof getWindow(value).Node;
1815    }
1816    function isElement(value) {
1817      if (!hasWindow()) {
1818        return false;
1819      }
1820      return value instanceof Element || value instanceof getWindow(value).Element;
1821    }
1822    function isHTMLElement(value) {
1823      if (!hasWindow()) {
1824        return false;
1825      }
1826      return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
1827    }
1828    function isShadowRoot(value) {
1829      if (!hasWindow() || typeof ShadowRoot === "undefined") {
1830        return false;
1831      }
1832      return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
1833    }
1834    function isOverflowElement(element) {
1835      const {
1836        overflow,
1837        overflowX,
1838        overflowY,
1839        display
1840      } = getComputedStyle2(element);
1841      return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
1842    }
1843    function isTableElement(element) {
1844      return /^(table|td|th)$/.test(getNodeName(element));
1845    }
1846    function isTopLayer(element) {
1847      try {
1848        if (element.matches(":popover-open")) {
1849          return true;
1850        }
1851      } catch (_e) {
1852      }
1853      try {
1854        return element.matches(":modal");
1855      } catch (_e) {
1856        return false;
1857      }
1858    }
1859    var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
1860    var containRe = /paint|layout|strict|content/;
1861    var isNotNone = (value) => !!value && value !== "none";
1862    var isWebKitValue;
1863    function isContainingBlock(elementOrCss) {
1864      const css = isElement(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss;
1865      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 || "");
1866    }
1867    function getContainingBlock(element) {
1868      let currentNode = getParentNode(element);
1869      while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
1870        if (isContainingBlock(currentNode)) {
1871          return currentNode;
1872        } else if (isTopLayer(currentNode)) {
1873          return null;
1874        }
1875        currentNode = getParentNode(currentNode);
1876      }
1877      return null;
1878    }
1879    function isWebKit() {
1880      if (isWebKitValue == null) {
1881        isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
1882      }
1883      return isWebKitValue;
1884    }
1885    function isLastTraversableNode(node) {
1886      return /^(html|body|#document)$/.test(getNodeName(node));
1887    }
1888    function getComputedStyle2(element) {
1889      return getWindow(element).getComputedStyle(element);
1890    }
1891    function getNodeScroll(element) {
1892      if (isElement(element)) {
1893        return {
1894          scrollLeft: element.scrollLeft,
1895          scrollTop: element.scrollTop
1896        };
1897      }
1898      return {
1899        scrollLeft: element.scrollX,
1900        scrollTop: element.scrollY
1901      };
1902    }
1903    function getParentNode(node) {
1904      if (getNodeName(node) === "html") {
1905        return node;
1906      }
1907      const result = (
1908        // Step into the shadow DOM of the parent of a slotted node.
1909        node.assignedSlot || // DOM Element detected.
1910        node.parentNode || // ShadowRoot detected.
1911        isShadowRoot(node) && node.host || // Fallback.
1912        getDocumentElement(node)
1913      );
1914      return isShadowRoot(result) ? result.host : result;
1915    }
1916    function getNearestOverflowAncestor(node) {
1917      const parentNode = getParentNode(node);
1918      if (isLastTraversableNode(parentNode)) {
1919        return (node.ownerDocument || node).body;
1920      }
1921      if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
1922        return parentNode;
1923      }
1924      return getNearestOverflowAncestor(parentNode);
1925    }
1926    function getOverflowAncestors(node, list, traverseIframes) {
1927      var _node$ownerDocument2;
1928      if (list === void 0) {
1929        list = [];
1930      }
1931      if (traverseIframes === void 0) {
1932        traverseIframes = true;
1933      }
1934      const scrollableAncestor = getNearestOverflowAncestor(node);
1935      const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
1936      const win = getWindow(scrollableAncestor);
1937      if (isBody) {
1938        const frameElement = getFrameElement(win);
1939        return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
1940      } else {
1941        return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
1942      }
1943    }
1944    function getFrameElement(win) {
1945      return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
1946    }
1947  
1948    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/root/CompositeRootContext.mjs
1949    var React16 = __toESM(require_react(), 1);
1950    var CompositeRootContext = /* @__PURE__ */ React16.createContext(void 0);
1951    if (true) CompositeRootContext.displayName = "CompositeRootContext";
1952    function useCompositeRootContext(optional = false) {
1953      const context = React16.useContext(CompositeRootContext);
1954      if (context === void 0 && !optional) {
1955        throw new Error(true ? "Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>." : formatErrorMessage_default(16));
1956      }
1957      return context;
1958    }
1959  
1960    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useFocusableWhenDisabled.mjs
1961    var React17 = __toESM(require_react(), 1);
1962    function useFocusableWhenDisabled(parameters) {
1963      const {
1964        focusableWhenDisabled,
1965        disabled: disabled2,
1966        composite = false,
1967        tabIndex: tabIndexProp = 0,
1968        isNativeButton
1969      } = parameters;
1970      const isFocusableComposite = composite && focusableWhenDisabled !== false;
1971      const isNonFocusableComposite = composite && focusableWhenDisabled === false;
1972      const props = React17.useMemo(() => {
1973        const additionalProps = {
1974          // allow Tabbing away from focusableWhenDisabled elements
1975          onKeyDown(event) {
1976            if (disabled2 && focusableWhenDisabled && event.key !== "Tab") {
1977              event.preventDefault();
1978            }
1979          }
1980        };
1981        if (!composite) {
1982          additionalProps.tabIndex = tabIndexProp;
1983          if (!isNativeButton && disabled2) {
1984            additionalProps.tabIndex = focusableWhenDisabled ? tabIndexProp : -1;
1985          }
1986        }
1987        if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled2) {
1988          additionalProps["aria-disabled"] = disabled2;
1989        }
1990        if (isNativeButton && (!focusableWhenDisabled || isNonFocusableComposite)) {
1991          additionalProps.disabled = disabled2;
1992        }
1993        return additionalProps;
1994      }, [composite, disabled2, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);
1995      return {
1996        props
1997      };
1998    }
1999  
2000    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/owner.mjs
2001    function ownerDocument(node) {
2002      return node?.ownerDocument || document;
2003    }
2004  
2005    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/dispatchClickWithModifiers.mjs
2006    function dispatchClickWithModifiers(target, sourceEvent, {
2007      detail = 0,
2008      pointerType = ""
2009    } = {}) {
2010      target.dispatchEvent(new (getWindow(target)).PointerEvent("click", {
2011        bubbles: true,
2012        cancelable: true,
2013        composed: true,
2014        detail,
2015        pointerType,
2016        shiftKey: sourceEvent.shiftKey,
2017        ctrlKey: sourceEvent.ctrlKey,
2018        altKey: sourceEvent.altKey,
2019        metaKey: sourceEvent.metaKey
2020      }));
2021    }
2022  
2023    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/use-button/useButton.mjs
2024    function useButton(parameters = {}) {
2025      const {
2026        disabled: disabled2 = false,
2027        focusableWhenDisabled,
2028        tabIndex = 0,
2029        native: isNativeButton = true,
2030        composite: compositeProp
2031      } = parameters;
2032      const elementRef = React18.useRef(null);
2033      const compositeRootContext = useCompositeRootContext(true);
2034      const isCompositeItem = compositeProp ?? compositeRootContext !== void 0;
2035      const {
2036        props: focusableWhenDisabledProps
2037      } = useFocusableWhenDisabled({
2038        focusableWhenDisabled,
2039        disabled: disabled2,
2040        composite: isCompositeItem,
2041        tabIndex,
2042        isNativeButton
2043      });
2044      if (true) {
2045        React18.useEffect(() => {
2046          if (!elementRef.current) {
2047            return;
2048          }
2049          const isButtonTag = isButtonElement(elementRef.current);
2050          if (isNativeButton) {
2051            if (!isButtonTag) {
2052              const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
2053              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`.";
2054              error(`$message}$ownerStackMessage}`);
2055            }
2056          } else if (isButtonTag) {
2057            const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
2058            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`.";
2059            error(`$message}$ownerStackMessage}`);
2060          }
2061        }, [isNativeButton]);
2062      }
2063      const updateDisabled = React18.useCallback(() => {
2064        const element = elementRef.current;
2065        if (!isButtonElement(element)) {
2066          return;
2067        }
2068        if (isCompositeItem && disabled2 && focusableWhenDisabledProps.disabled === void 0 && element.disabled) {
2069          element.disabled = false;
2070        }
2071      }, [disabled2, focusableWhenDisabledProps.disabled, isCompositeItem]);
2072      useIsoLayoutEffect(updateDisabled, [updateDisabled]);
2073      const getButtonProps = React18.useCallback((externalProps = {}) => {
2074        const {
2075          onClick: externalOnClick,
2076          onMouseDown: externalOnMouseDown,
2077          onKeyUp: externalOnKeyUp,
2078          onKeyDown: externalOnKeyDown,
2079          onPointerDown: externalOnPointerDown,
2080          ...otherExternalProps
2081        } = externalProps;
2082        return mergeProps({
2083          onClick(event) {
2084            if (disabled2) {
2085              event.preventDefault();
2086              return;
2087            }
2088            externalOnClick?.(event);
2089          },
2090          onMouseDown(event) {
2091            if (!disabled2) {
2092              externalOnMouseDown?.(event);
2093            }
2094          },
2095          onKeyDown(event) {
2096            if (disabled2) {
2097              return;
2098            }
2099            makeEventPreventable(event);
2100            externalOnKeyDown?.(event);
2101            if (event.baseUIHandlerPrevented) {
2102              return;
2103            }
2104            const isCurrentTarget = event.target === event.currentTarget;
2105            const currentTarget = event.currentTarget;
2106            const isButton = isButtonElement(currentTarget);
2107            const isLink = !isNativeButton && isValidLinkElement(currentTarget);
2108            const shouldClick = isCurrentTarget && (isNativeButton ? isButton : !isLink);
2109            const isEnterKey = event.key === "Enter";
2110            const isSpaceKey = event.key === " ";
2111            const role = currentTarget.getAttribute("role");
2112            const isTextNavigationRole = role?.startsWith("menuitem") || role === "option" || role === "gridcell";
2113            if (isCurrentTarget && isCompositeItem && isSpaceKey) {
2114              if (event.defaultPrevented && isTextNavigationRole) {
2115                return;
2116              }
2117              event.preventDefault();
2118              if (!isNativeButton || isButton) {
2119                event.preventBaseUIHandler();
2120                dispatchClickWithModifiers(currentTarget, event);
2121              }
2122              return;
2123            }
2124            if (!shouldClick || isNativeButton || !isSpaceKey && !isEnterKey) {
2125              if (isCurrentTarget && isLink && isSpaceKey) {
2126                event.preventDefault();
2127              }
2128              return;
2129            }
2130            if (event.defaultPrevented) {
2131              return;
2132            }
2133            event.preventDefault();
2134            if (isEnterKey) {
2135              event.preventBaseUIHandler();
2136              dispatchClickWithModifiers(currentTarget, event);
2137            }
2138          },
2139          onKeyUp(event) {
2140            if (disabled2) {
2141              return;
2142            }
2143            makeEventPreventable(event);
2144            externalOnKeyUp?.(event);
2145            if (event.target === event.currentTarget && isNativeButton && isCompositeItem && isButtonElement(event.currentTarget) && event.key === " ") {
2146              event.preventDefault();
2147              return;
2148            }
2149            if (event.baseUIHandlerPrevented) {
2150              return;
2151            }
2152            if (event.target === event.currentTarget && !isNativeButton && !isCompositeItem && !event.defaultPrevented && event.key === " ") {
2153              event.preventBaseUIHandler();
2154              dispatchClickWithModifiers(event.currentTarget, event);
2155            }
2156          },
2157          onPointerDown(event) {
2158            if (disabled2) {
2159              event.preventDefault();
2160              return;
2161            }
2162            externalOnPointerDown?.(event);
2163          }
2164        }, isNativeButton ? {
2165          type: "button"
2166        } : {
2167          role: "button"
2168        }, focusableWhenDisabledProps, otherExternalProps);
2169      }, [disabled2, focusableWhenDisabledProps, isCompositeItem, isNativeButton]);
2170      const buttonRef = useStableCallback((element) => {
2171        elementRef.current = element;
2172        updateDisabled();
2173      });
2174      return {
2175        getButtonProps,
2176        buttonRef
2177      };
2178    }
2179    function isButtonElement(elem) {
2180      return isHTMLElement(elem) && elem.tagName === "BUTTON";
2181    }
2182    function isValidLinkElement(elem) {
2183      return isHTMLElement(elem) && elem.tagName === "A" && Boolean(elem.href);
2184    }
2185  
2186    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/addEventListener.mjs
2187    function addEventListener(target, type, listener, options) {
2188      target.addEventListener(type, listener, options);
2189      return () => {
2190        target.removeEventListener(type, listener, options);
2191      };
2192    }
2193  
2194    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useValueAsRef.mjs
2195    function useValueAsRef(value) {
2196      const latest = useRefWithInit(createLatestRef, value).current;
2197      latest.next = value;
2198      useIsoLayoutEffect(latest.effect);
2199      return latest;
2200    }
2201    function createLatestRef(value) {
2202      const latest = {
2203        current: value,
2204        next: value,
2205        effect: () => {
2206          latest.current = latest.next;
2207        }
2208      };
2209      return latest;
2210    }
2211  
2212    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/parts.mjs
2213    var parts_exports = {};
2214    __export(parts_exports, {
2215      engine: () => engine_exports,
2216      env: () => env_exports,
2217      mediaQuery: () => media_query_exports,
2218      os: () => os_exports,
2219      screenReader: () => screen_reader_exports
2220    });
2221  
2222    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/os.mjs
2223    var os_exports = {};
2224    __export(os_exports, {
2225      android: () => android,
2226      apple: () => apple,
2227      ios: () => ios,
2228      linux: () => linux,
2229      mac: () => mac,
2230      windows: () => windows
2231    });
2232  
2233    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/shared.mjs
2234    function readRawData() {
2235      if (typeof navigator === "undefined") {
2236        return {
2237          userAgent: "",
2238          platform: "",
2239          maxTouchPoints: 0
2240        };
2241      }
2242      if (true) {
2243        const uaData = navigator.userAgentData;
2244        if (uaData && Array.isArray(uaData.brands)) {
2245          return {
2246            userAgent: uaData.brands.map(({
2247              brand,
2248              version: version2
2249            }) => `$brand}/$version2}`).join(" "),
2250            platform: uaData.platform ?? navigator.platform ?? "",
2251            maxTouchPoints: navigator.maxTouchPoints ?? 0
2252          };
2253        }
2254      }
2255      return {
2256        userAgent: navigator.userAgent,
2257        platform: navigator.platform ?? "",
2258        maxTouchPoints: navigator.maxTouchPoints ?? 0
2259      };
2260    }
2261    var {
2262      userAgent,
2263      platform,
2264      maxTouchPoints
2265    } = readRawData();
2266    var lowerUserAgent = userAgent.toLowerCase();
2267    var lowerPlatform = platform.toLowerCase();
2268  
2269    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/os.mjs
2270    var ios = /^i(os$|p)/.test(lowerPlatform) || lowerPlatform === "macintel" && maxTouchPoints > 1;
2271    var ANDROID_STRING = "android";
2272    var android = lowerPlatform === ANDROID_STRING || lowerUserAgent.includes(ANDROID_STRING);
2273    var mac = !ios && lowerPlatform.startsWith("mac");
2274    var windows = lowerPlatform.startsWith("win");
2275    var linux = !android && /^(linux|chrome os)/.test(lowerPlatform);
2276    var apple = mac || ios;
2277  
2278    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/engine.mjs
2279    var engine_exports = {};
2280    __export(engine_exports, {
2281      blink: () => blink,
2282      gecko: () => gecko,
2283      webkit: () => webkit
2284    });
2285    var webkit = typeof CSS !== "undefined" && !!CSS.supports?.("-webkit-backdrop-filter:none");
2286    var gecko = !webkit && lowerUserAgent.includes("firefox");
2287    var blink = !webkit && lowerUserAgent.includes("chrom");
2288  
2289    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/screen-reader.mjs
2290    var screen_reader_exports = {};
2291    __export(screen_reader_exports, {
2292      voiceOver: () => voiceOver
2293    });
2294    var voiceOver = apple;
2295  
2296    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/env.mjs
2297    var env_exports = {};
2298    __export(env_exports, {
2299      jsdom: () => jsdom
2300    });
2301    var jsdom = /jsdom|happydom/.test(lowerUserAgent);
2302  
2303    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/media-query.mjs
2304    var media_query_exports = {};
2305    __export(media_query_exports, {
2306      iOS: () => iOS
2307    });
2308    var iOS = "@supports (-webkit-touch-callout: none)";
2309  
2310    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useScrollLock.mjs
2311    var originalHtmlStyles = {};
2312    var originalBodyStyles = {};
2313    var originalHtmlScrollBehavior = "";
2314    function getViewportScroller(html, body) {
2315      return isOverflowElement(html) ? html : body;
2316    }
2317    function isPageScrollLocked(win, html, body) {
2318      return /hidden|clip/.test(win.getComputedStyle(getViewportScroller(html, body)).overflowY);
2319    }
2320    function hasInsetScrollbars(referenceElement) {
2321      if (typeof document === "undefined") {
2322        return false;
2323      }
2324      const doc = ownerDocument(referenceElement);
2325      const win = getWindow(doc);
2326      return win.innerWidth - doc.documentElement.clientWidth > 0;
2327    }
2328    function supportsStableScrollbarGutter(referenceElement) {
2329      const supported = typeof CSS !== "undefined" && CSS.supports && CSS.supports("scrollbar-gutter", "stable");
2330      if (!supported || typeof document === "undefined") {
2331        return false;
2332      }
2333      const doc = ownerDocument(referenceElement);
2334      const html = doc.documentElement;
2335      const body = doc.body;
2336      const scrollContainer = getViewportScroller(html, body);
2337      const originalScrollContainerOverflowY = scrollContainer.style.overflowY;
2338      const originalHtmlStyleGutter = html.style.scrollbarGutter;
2339      html.style.scrollbarGutter = "stable";
2340      scrollContainer.style.overflowY = "scroll";
2341      const before = scrollContainer.offsetWidth;
2342      scrollContainer.style.overflowY = "hidden";
2343      const after = scrollContainer.offsetWidth;
2344      scrollContainer.style.overflowY = originalScrollContainerOverflowY;
2345      html.style.scrollbarGutter = originalHtmlStyleGutter;
2346      return before === after;
2347    }
2348    function preventScrollOverlayScrollbars(referenceElement) {
2349      const doc = ownerDocument(referenceElement);
2350      const html = doc.documentElement;
2351      const body = doc.body;
2352      const elementToLock = getViewportScroller(html, body);
2353      const originalElementToLockStyles = {
2354        overflowY: elementToLock.style.overflowY,
2355        overflowX: elementToLock.style.overflowX
2356      };
2357      Object.assign(elementToLock.style, {
2358        overflowY: "hidden",
2359        overflowX: "hidden"
2360      });
2361      return () => {
2362        Object.assign(elementToLock.style, originalElementToLockStyles);
2363      };
2364    }
2365    function preventScrollInsetScrollbars(referenceElement) {
2366      const doc = ownerDocument(referenceElement);
2367      const html = doc.documentElement;
2368      const body = doc.body;
2369      const win = getWindow(html);
2370      let scrollTop = 0;
2371      let scrollLeft = 0;
2372      let updateGutterOnly = false;
2373      const resizeFrame = AnimationFrame.create();
2374      if (parts_exports.engine.webkit && (win.visualViewport?.scale ?? 1) !== 1) {
2375        return () => {
2376        };
2377      }
2378      function lockScroll() {
2379        const htmlStyles = win.getComputedStyle(html);
2380        const bodyStyles = win.getComputedStyle(body);
2381        const htmlScrollbarGutterValue = htmlStyles.scrollbarGutter || "";
2382        const hasBothEdges = htmlScrollbarGutterValue.includes("both-edges");
2383        const scrollbarGutterValue = hasBothEdges ? "stable both-edges" : "stable";
2384        scrollTop = html.scrollTop;
2385        scrollLeft = html.scrollLeft;
2386        originalHtmlStyles = {
2387          scrollbarGutter: html.style.scrollbarGutter,
2388          overflowY: html.style.overflowY,
2389          overflowX: html.style.overflowX
2390        };
2391        originalHtmlScrollBehavior = html.style.scrollBehavior;
2392        originalBodyStyles = {
2393          position: body.style.position,
2394          height: body.style.height,
2395          width: body.style.width,
2396          boxSizing: body.style.boxSizing,
2397          overflowY: body.style.overflowY,
2398          overflowX: body.style.overflowX,
2399          scrollBehavior: body.style.scrollBehavior
2400        };
2401        const isScrollableY = html.scrollHeight > html.clientHeight;
2402        const isScrollableX = html.scrollWidth > html.clientWidth;
2403        const hasConstantOverflowY = htmlStyles.overflowY === "scroll" || bodyStyles.overflowY === "scroll";
2404        const hasConstantOverflowX = htmlStyles.overflowX === "scroll" || bodyStyles.overflowX === "scroll";
2405        const scrollbarWidth = Math.max(0, win.innerWidth - body.clientWidth);
2406        const scrollbarHeight = Math.max(0, win.innerHeight - body.clientHeight);
2407        const marginY = parseFloat(bodyStyles.marginTop) + parseFloat(bodyStyles.marginBottom);
2408        const marginX = parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight);
2409        const elementToLock = getViewportScroller(html, body);
2410        updateGutterOnly = supportsStableScrollbarGutter(referenceElement);
2411        if (updateGutterOnly) {
2412          html.style.scrollbarGutter = scrollbarGutterValue;
2413          elementToLock.style.overflowY = "hidden";
2414          elementToLock.style.overflowX = "hidden";
2415          return;
2416        }
2417        Object.assign(html.style, {
2418          scrollbarGutter: scrollbarGutterValue,
2419          overflowY: "hidden",
2420          overflowX: "hidden"
2421        });
2422        if (isScrollableY || hasConstantOverflowY) {
2423          html.style.overflowY = "scroll";
2424        }
2425        if (isScrollableX || hasConstantOverflowX) {
2426          html.style.overflowX = "scroll";
2427        }
2428        Object.assign(body.style, {
2429          position: "relative",
2430          height: marginY || scrollbarHeight ? `calc(100dvh - $marginY + scrollbarHeight}px)` : "100dvh",
2431          width: marginX || scrollbarWidth ? `calc(100vw - $marginX + scrollbarWidth}px)` : "100vw",
2432          boxSizing: "border-box",
2433          // Assign the longhands that `cleanup` restores, so nothing is left behind.
2434          overflowY: "hidden",
2435          overflowX: "hidden",
2436          scrollBehavior: "unset"
2437        });
2438        body.scrollTop = scrollTop;
2439        body.scrollLeft = scrollLeft;
2440        html.setAttribute("data-base-ui-scroll-locked", "");
2441        html.style.scrollBehavior = "unset";
2442      }
2443      function cleanup() {
2444        Object.assign(html.style, originalHtmlStyles);
2445        Object.assign(body.style, originalBodyStyles);
2446        if (!updateGutterOnly) {
2447          html.scrollTop = scrollTop;
2448          html.scrollLeft = scrollLeft;
2449          html.removeAttribute("data-base-ui-scroll-locked");
2450          html.style.scrollBehavior = originalHtmlScrollBehavior;
2451        }
2452      }
2453      function handleResize() {
2454        cleanup();
2455        resizeFrame.request(lockScroll);
2456      }
2457      lockScroll();
2458      const unsubscribeResize = addEventListener(win, "resize", handleResize);
2459      return () => {
2460        resizeFrame.cancel();
2461        cleanup();
2462        if (typeof win.removeEventListener === "function") {
2463          unsubscribeResize();
2464        }
2465      };
2466    }
2467    var ScrollLocker = class {
2468      lockCount = 0;
2469      restore = null;
2470      timeoutLock = Timeout.create();
2471      timeoutUnlock = Timeout.create();
2472      acquire(referenceElement) {
2473        this.lockCount += 1;
2474        if (this.lockCount === 1 && this.restore === null) {
2475          this.timeoutLock.start(0, () => this.lock(referenceElement));
2476        }
2477        return this.release;
2478      }
2479      release = () => {
2480        this.lockCount -= 1;
2481        if (this.lockCount === 0 && this.restore) {
2482          this.timeoutUnlock.start(0, this.unlock);
2483        }
2484      };
2485      unlock = () => {
2486        if (this.lockCount === 0 && this.restore) {
2487          this.restore?.();
2488          this.restore = null;
2489        }
2490      };
2491      lock(referenceElement) {
2492        if (this.lockCount === 0 || this.restore !== null) {
2493          return;
2494        }
2495        const doc = ownerDocument(referenceElement);
2496        const html = doc.documentElement;
2497        const body = doc.body;
2498        const win = getWindow(html);
2499        if (isPageScrollLocked(win, html, body)) {
2500          const observer = new win.MutationObserver(() => {
2501            if (isPageScrollLocked(win, html, body)) {
2502              return;
2503            }
2504            observer.disconnect();
2505            this.restore = null;
2506            this.lock(referenceElement);
2507          });
2508          const options = {
2509            attributes: true
2510          };
2511          observer.observe(html, options);
2512          observer.observe(body, options);
2513          this.restore = () => observer.disconnect();
2514          return;
2515        }
2516        const hasOverlayScrollbars = parts_exports.os.ios || !hasInsetScrollbars(referenceElement);
2517        this.restore = hasOverlayScrollbars ? preventScrollOverlayScrollbars(referenceElement) : preventScrollInsetScrollbars(referenceElement);
2518      }
2519    };
2520    var SCROLL_LOCKER = new ScrollLocker();
2521    function useScrollLock(enabled = true, referenceElement = null) {
2522      useIsoLayoutEffect(() => {
2523        if (!enabled) {
2524          return void 0;
2525        }
2526        return SCROLL_LOCKER.acquire(referenceElement);
2527      }, [enabled, referenceElement]);
2528    }
2529  
2530    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/event.mjs
2531    function stopEvent(event) {
2532      event.preventDefault();
2533      event.stopPropagation();
2534    }
2535    function isReactEvent(event) {
2536      return "nativeEvent" in event;
2537    }
2538    function isVirtualClick(event) {
2539      if (event.pointerType === "" && event.isTrusted) {
2540        return true;
2541      }
2542      if (parts_exports.os.android && event.pointerType) {
2543        return event.type === "click" && event.buttons === 1;
2544      }
2545      return event.detail === 0 && !event.pointerType;
2546    }
2547    function isVirtualPointerEvent(event) {
2548      if (parts_exports.env.jsdom) {
2549        return false;
2550      }
2551      return !parts_exports.os.android && event.width === 0 && event.height === 0 || // Chrome synthesizes a screen reader press (TalkBack, VoiceOver, NVDA) as a 1x1 mouse
2552      // `pointerdown` with no pressure. TalkBack can report a pressed button, while desktop
2553      // mouse presses can report no pressure, so only require no pressed button off Android.
2554      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.
2555      event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "touch";
2556    }
2557    function isMouseLikePointerType(pointerType, strict) {
2558      const values = ["mouse", "pen"];
2559      if (!strict) {
2560        values.push("", void 0);
2561      }
2562      return values.includes(pointerType);
2563    }
2564    function isClickLikeEvent(event) {
2565      const type = event.type;
2566      return type === "click" || type === "mousedown" || type === "keydown" || type === "keyup";
2567    }
2568  
2569    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/shadowDom.mjs
2570    function activeElement(doc) {
2571      let element = doc.activeElement;
2572      while (element?.shadowRoot?.activeElement != null) {
2573        element = element.shadowRoot.activeElement;
2574      }
2575      return element;
2576    }
2577    function contains(parent, child) {
2578      if (!parent || !child) {
2579        return false;
2580      }
2581      const rootNode = child.getRootNode?.();
2582      if (parent.contains(child)) {
2583        return true;
2584      }
2585      if (rootNode && isShadowRoot(rootNode)) {
2586        let next = child;
2587        while (next) {
2588          if (parent === next) {
2589            return true;
2590          }
2591          next = next.parentNode || next.host;
2592        }
2593      }
2594      return false;
2595    }
2596    function closest(node, selector) {
2597      let current = node;
2598      while (current) {
2599        if (isElement(current) && current.matches(selector)) {
2600          return current;
2601        }
2602        current = current.assignedSlot ?? current.parentNode ?? (isShadowRoot(current) ? current.host : null);
2603      }
2604      return null;
2605    }
2606    function getTarget(event) {
2607      if ("composedPath" in event) {
2608        return event.composedPath()[0] ?? event.target;
2609      }
2610      return event.target;
2611    }
2612  
2613    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/constants.mjs
2614    var FOCUSABLE_ATTRIBUTE = "data-base-ui-focusable";
2615    var TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
2616    var ARROW_LEFT = "ArrowLeft";
2617    var ARROW_RIGHT = "ArrowRight";
2618    var ARROW_UP = "ArrowUp";
2619    var ARROW_DOWN = "ArrowDown";
2620  
2621    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPopupDataAttributes.mjs
2622    var open = "data-open";
2623    var closed = "data-closed";
2624    var anchorHidden = "data-anchor-hidden";
2625  
2626    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonTriggerDataAttributes.mjs
2627    var CommonTriggerDataAttributes_exports = {};
2628    __export(CommonTriggerDataAttributes_exports, {
2629      popupOpen: () => popupOpen,
2630      pressed: () => pressed
2631    });
2632    var popupOpen = "data-popup-open";
2633    var pressed = "data-pressed";
2634  
2635    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popupStateMapping.mjs
2636    var TRIGGER_HOOK = {
2637      [popupOpen]: ""
2638    };
2639    var PRESSABLE_TRIGGER_HOOK = {
2640      [popupOpen]: "",
2641      [pressed]: ""
2642    };
2643    var POPUP_OPEN_HOOK = {
2644      [open]: ""
2645    };
2646    var POPUP_CLOSED_HOOK = {
2647      [closed]: ""
2648    };
2649    var ANCHOR_HIDDEN_HOOK = {
2650      [anchorHidden]: ""
2651    };
2652    var triggerOpenStateMapping = {
2653      open(value) {
2654        if (value) {
2655          return TRIGGER_HOOK;
2656        }
2657        return null;
2658      }
2659    };
2660    var pressableTriggerOpenStateMapping = {
2661      open(value) {
2662        if (value) {
2663          return PRESSABLE_TRIGGER_HOOK;
2664        }
2665        return null;
2666      }
2667    };
2668    var popupStateMapping = {
2669      open(value) {
2670        if (value) {
2671          return POPUP_OPEN_HOOK;
2672        }
2673        return POPUP_CLOSED_HOOK;
2674      },
2675      anchorHidden(value) {
2676        if (value) {
2677          return ANCHOR_HIDDEN_HOOK;
2678        }
2679        return null;
2680      }
2681    };
2682    var popupTransitionStateMapping = {
2683      ...popupStateMapping,
2684      ...transitionStatusMapping
2685    };
2686  
2687    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/element.mjs
2688    function isEventTargetWithin(event, node) {
2689      if (node == null) {
2690        return false;
2691      }
2692      if ("composedPath" in event) {
2693        return event.composedPath().includes(node);
2694      }
2695      const eventAgain = event;
2696      return eventAgain.target != null && node.contains(eventAgain.target);
2697    }
2698    function isRootElement(element) {
2699      return element.matches("html,body");
2700    }
2701    function isTypeableElement(element) {
2702      return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
2703    }
2704    function isTypeableCombobox(element) {
2705      if (!element) {
2706        return false;
2707      }
2708      return element.getAttribute("role") === "combobox" && isTypeableElement(element);
2709    }
2710    function getFloatingFocusElement(floatingElement) {
2711      if (!floatingElement) {
2712        return null;
2713      }
2714      return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(`[$FOCUSABLE_ATTRIBUTE}]`) || floatingElement;
2715    }
2716  
2717    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingFocusManager.mjs
2718    var React22 = __toESM(require_react(), 1);
2719  
2720    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/mergeCleanups.mjs
2721    function mergeCleanups(...cleanups) {
2722      return () => {
2723        for (let i = 0; i < cleanups.length; i += 1) {
2724          const cleanup = cleanups[i];
2725          if (cleanup) {
2726            cleanup();
2727          }
2728        }
2729      };
2730    }
2731  
2732    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FocusGuard.mjs
2733    var React19 = __toESM(require_react(), 1);
2734  
2735    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/visuallyHidden.mjs
2736    var visuallyHiddenBase = {
2737      clipPath: "inset(50%)",
2738      overflow: "hidden",
2739      whiteSpace: "nowrap",
2740      border: 0,
2741      padding: 0,
2742      width: 1,
2743      height: 1,
2744      margin: -1
2745    };
2746    var visuallyHidden = {
2747      ...visuallyHiddenBase,
2748      position: "fixed",
2749      margin: 0,
2750      top: 0,
2751      left: 0
2752    };
2753    var visuallyHiddenInput = {
2754      ...visuallyHiddenBase,
2755      position: "absolute"
2756    };
2757  
2758    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FocusGuard.mjs
2759    var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1);
2760    var FocusGuard = /* @__PURE__ */ React19.forwardRef(function FocusGuard2(props, ref) {
2761      const [role, setRole] = React19.useState();
2762      useIsoLayoutEffect(() => {
2763        if (parts_exports.screenReader.voiceOver && parts_exports.engine.webkit) {
2764          setRole("button");
2765        }
2766      }, []);
2767      const restProps = {
2768        tabIndex: 0,
2769        // Role is only for VoiceOver
2770        role
2771      };
2772      return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", {
2773        ...props,
2774        ref,
2775        style: visuallyHidden,
2776        "aria-hidden": role ? void 0 : true,
2777        ...restProps,
2778        "data-base-ui-focus-guard": ""
2779      });
2780    });
2781    if (true) FocusGuard.displayName = "FocusGuard";
2782  
2783    // node_modules/.store/@floating-ui/utils@0.2.12-gOxTzMf36nCrbeHpEew-rw/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
2784    var min = Math.min;
2785    var max = Math.max;
2786    var round = Math.round;
2787    var floor = Math.floor;
2788    var createCoords = (v) => ({
2789      x: v,
2790      y: v
2791    });
2792    var oppositeSideMap = {
2793      left: "right",
2794      right: "left",
2795      bottom: "top",
2796      top: "bottom"
2797    };
2798    function clamp(start, value, end) {
2799      return max(start, min(value, end));
2800    }
2801    function evaluate(value, param) {
2802      return typeof value === "function" ? value(param) : value;
2803    }
2804    function getSide(placement) {
2805      return placement.split("-")[0];
2806    }
2807    function getAlignment(placement) {
2808      return placement.split("-")[1];
2809    }
2810    function getOppositeAxis(axis) {
2811      return axis === "x" ? "y" : "x";
2812    }
2813    function getAxisLength(axis) {
2814      return axis === "y" ? "height" : "width";
2815    }
2816    function getSideAxis(placement) {
2817      const firstChar = placement[0];
2818      return firstChar === "t" || firstChar === "b" ? "y" : "x";
2819    }
2820    function getAlignmentAxis(placement) {
2821      return getOppositeAxis(getSideAxis(placement));
2822    }
2823    function getAlignmentSides(placement, rects, rtl) {
2824      if (rtl === void 0) {
2825        rtl = false;
2826      }
2827      const alignment = getAlignment(placement);
2828      const alignmentAxis = getAlignmentAxis(placement);
2829      const length = getAxisLength(alignmentAxis);
2830      let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top";
2831      if (rects.reference[length] > rects.floating[length]) {
2832        mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
2833      }
2834      return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];
2835    }
2836    function getExpandedPlacements(placement) {
2837      const oppositePlacement = getOppositePlacement(placement);
2838      return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
2839    }
2840    function getOppositeAlignmentPlacement(placement) {
2841      return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start");
2842    }
2843    var lrPlacement = ["left", "right"];
2844    var rlPlacement = ["right", "left"];
2845    var tbPlacement = ["top", "bottom"];
2846    var btPlacement = ["bottom", "top"];
2847    function getSideList(side, isStart, rtl) {
2848      switch (side) {
2849        case "top":
2850        case "bottom":
2851          if (rtl) return isStart ? rlPlacement : lrPlacement;
2852          return isStart ? lrPlacement : rlPlacement;
2853        case "left":
2854        case "right":
2855          return isStart ? tbPlacement : btPlacement;
2856        default:
2857          return [];
2858      }
2859    }
2860    function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
2861      const alignment = getAlignment(placement);
2862      let list = getSideList(getSide(placement), direction === "start", rtl);
2863      if (alignment) {
2864        list = list.map((side) => side + "-" + alignment);
2865        if (flipAlignment) {
2866          list = list.concat(list.map(getOppositeAlignmentPlacement));
2867        }
2868      }
2869      return list;
2870    }
2871    function getOppositePlacement(placement) {
2872      const side = getSide(placement);
2873      return oppositeSideMap[side] + placement.slice(side.length);
2874    }
2875    function expandPaddingObject(padding) {
2876      var _padding$top, _padding$right, _padding$bottom, _padding$left;
2877      return {
2878        top: (_padding$top = padding.top) != null ? _padding$top : 0,
2879        right: (_padding$right = padding.right) != null ? _padding$right : 0,
2880        bottom: (_padding$bottom = padding.bottom) != null ? _padding$bottom : 0,
2881        left: (_padding$left = padding.left) != null ? _padding$left : 0
2882      };
2883    }
2884    function getPaddingObject(padding) {
2885      return typeof padding !== "number" ? expandPaddingObject(padding) : {
2886        top: padding,
2887        right: padding,
2888        bottom: padding,
2889        left: padding
2890      };
2891    }
2892    function rectToClientRect(rect) {
2893      const {
2894        x,
2895        y,
2896        width,
2897        height
2898      } = rect;
2899      return {
2900        width,
2901        height,
2902        top: y,
2903        left: x,
2904        right: x + width,
2905        bottom: y + height,
2906        x,
2907        y
2908      };
2909    }
2910  
2911    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/composite.mjs
2912    function isIndexOutOfListBounds(list, index2) {
2913      return index2 < 0 || index2 >= list.length;
2914    }
2915    function getMinListIndex(listRef, disabledIndices) {
2916      return findNonDisabledListIndex(listRef.current, {
2917        disabledIndices
2918      });
2919    }
2920    function getMaxListIndex(listRef, disabledIndices) {
2921      return findNonDisabledListIndex(listRef.current, {
2922        decrement: true,
2923        startingIndex: listRef.current.length,
2924        disabledIndices
2925      });
2926    }
2927    function getNextListIndex(list, currentIndex, options) {
2928      const {
2929        decrement,
2930        loopFocus,
2931        allowEscape,
2932        disabledIndices,
2933        minIndex,
2934        maxIndex
2935      } = options;
2936      const step = () => findNonDisabledListIndex(list, {
2937        startingIndex: currentIndex,
2938        decrement,
2939        disabledIndices
2940      });
2941      let index2;
2942      let wrapped = false;
2943      if (!loopFocus) {
2944        index2 = decrement ? Math.max(minIndex, step()) : Math.min(maxIndex, step());
2945      } else if (decrement ? currentIndex <= minIndex : currentIndex >= maxIndex) {
2946        const outside = decrement ? -1 : list.length;
2947        if (allowEscape && currentIndex !== outside) {
2948          index2 = -1;
2949        } else {
2950          index2 = decrement ? maxIndex : minIndex;
2951          wrapped = true;
2952        }
2953      } else {
2954        index2 = step();
2955      }
2956      return {
2957        index: isIndexOutOfListBounds(list, index2) ? -1 : index2,
2958        wrapped
2959      };
2960    }
2961    function findNonDisabledListIndex(list, {
2962      startingIndex = -1,
2963      decrement = false,
2964      disabledIndices,
2965      amount = 1
2966    } = {}) {
2967      let index2 = startingIndex;
2968      do {
2969        index2 += decrement ? -amount : amount;
2970      } while (index2 >= 0 && index2 <= list.length - 1 && isListIndexDisabled(list, index2, disabledIndices));
2971      return index2;
2972    }
2973    function isListIndexDisabled(list, index2, disabledIndices) {
2974      const isExplicitlyDisabled = typeof disabledIndices === "function" ? disabledIndices(index2) : disabledIndices?.includes(index2) ?? false;
2975      if (isExplicitlyDisabled) {
2976        return true;
2977      }
2978      const element = list[index2];
2979      if (!element) {
2980        return false;
2981      }
2982      if (!isElementVisible(element)) {
2983        return true;
2984      }
2985      if (element.matches(":disabled")) {
2986        return true;
2987      }
2988      return !disabledIndices && (element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true");
2989    }
2990    function isHiddenByStyles(styles) {
2991      return styles.visibility === "hidden" || styles.visibility === "collapse";
2992    }
2993    function isElementVisible(element, styles = element ? getComputedStyle2(element) : null) {
2994      if (!element || !element.isConnected || !styles || isHiddenByStyles(styles)) {
2995        return false;
2996      }
2997      if (typeof element.checkVisibility === "function") {
2998        return element.checkVisibility();
2999      }
3000      return styles.display !== "none" && styles.display !== "contents";
3001    }
3002  
3003    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/tabbable.mjs
3004    var CANDIDATE_SELECTOR = 'a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]';
3005    function getParentElement(element) {
3006      const assignedSlot = element.assignedSlot;
3007      if (assignedSlot) {
3008        return assignedSlot;
3009      }
3010      if (element.parentElement) {
3011        return element.parentElement;
3012      }
3013      const rootNode = element.getRootNode();
3014      return isShadowRoot(rootNode) ? rootNode.host : null;
3015    }
3016    function getDetailsSummary(details) {
3017      for (const child of Array.from(details.children)) {
3018        if (getNodeName(child) === "summary") {
3019          return child;
3020        }
3021      }
3022      return null;
3023    }
3024    function isWithinOpenDetailsSummary(element, details) {
3025      const summary = getDetailsSummary(details);
3026      return !!summary && (element === summary || contains(summary, element));
3027    }
3028    function isFocusableCandidate(element) {
3029      const nodeName = element ? getNodeName(element) : "";
3030      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");
3031    }
3032    function isFocusableElement(element) {
3033      if (!isFocusableCandidate(element) || !element.isConnected || element.matches(":disabled")) {
3034        return false;
3035      }
3036      for (let current = element; current; current = getParentElement(current)) {
3037        const isAncestor = current !== element;
3038        const isSlot = getNodeName(current) === "slot";
3039        if (current.hasAttribute("inert")) {
3040          return false;
3041        }
3042        if (isAncestor && getNodeName(current) === "details" && !current.open && !isWithinOpenDetailsSummary(element, current) || current.hasAttribute("hidden") || !isSlot && !isVisibleInTabbableTree(current, isAncestor)) {
3043          return false;
3044        }
3045      }
3046      return true;
3047    }
3048    function isVisibleInTabbableTree(element, isAncestor) {
3049      const styles = getComputedStyle2(element);
3050      if (!isAncestor) {
3051        return isElementVisible(element, styles);
3052      }
3053      return styles.display !== "none";
3054    }
3055    function getTabIndex(element) {
3056      const tabIndex = element.tabIndex;
3057      if (tabIndex < 0) {
3058        const nodeName = getNodeName(element);
3059        if (nodeName === "details" || nodeName === "audio" || nodeName === "video" || isHTMLElement(element) && element.isContentEditable) {
3060          return 0;
3061        }
3062      }
3063      return tabIndex;
3064    }
3065    function getNamedRadioInput(element) {
3066      if (getNodeName(element) !== "input") {
3067        return null;
3068      }
3069      const input = element;
3070      return input.type === "radio" && input.name !== "" ? input : null;
3071    }
3072    function isTabbableRadio(element, candidates) {
3073      const input = getNamedRadioInput(element);
3074      if (!input) {
3075        return true;
3076      }
3077      const checkedRadio = candidates.find((candidate) => {
3078        const radio = getNamedRadioInput(candidate);
3079        return radio?.name === input.name && radio.form === input.form && radio.checked;
3080      });
3081      if (checkedRadio) {
3082        return checkedRadio === input;
3083      }
3084      return candidates.find((candidate) => {
3085        const radio = getNamedRadioInput(candidate);
3086        return radio?.name === input.name && radio.form === input.form;
3087      }) === input;
3088    }
3089    function getComposedChildren(container) {
3090      if (isHTMLElement(container) && getNodeName(container) === "slot") {
3091        const assignedElements = container.assignedElements({
3092          flatten: true
3093        });
3094        if (assignedElements.length > 0) {
3095          return assignedElements;
3096        }
3097      }
3098      if (isHTMLElement(container) && container.shadowRoot) {
3099        return Array.from(container.shadowRoot.children);
3100      }
3101      return Array.from(container.children);
3102    }
3103    function appendCandidates(container, list) {
3104      getComposedChildren(container).forEach((child) => {
3105        if (isFocusableCandidate(child)) {
3106          list.push(child);
3107        }
3108        appendCandidates(child, list);
3109      });
3110    }
3111    function appendMatchingElements(container, selector, list) {
3112      getComposedChildren(container).forEach((child) => {
3113        if (isHTMLElement(child) && child.matches(selector)) {
3114          list.push(child);
3115        }
3116        appendMatchingElements(child, selector, list);
3117      });
3118    }
3119    function isTabbable(element) {
3120      return isFocusableElement(element) && getTabIndex(element) >= 0;
3121    }
3122    function focusable(container) {
3123      const candidates = [];
3124      appendCandidates(container, candidates);
3125      return candidates.filter(isFocusableElement);
3126    }
3127    function tabbable(container) {
3128      const candidates = focusable(container);
3129      return candidates.filter((element) => getTabIndex(element) >= 0 && isTabbableRadio(element, candidates));
3130    }
3131    function getTabbableIn(container, dir) {
3132      const list = tabbable(container);
3133      const len = list.length;
3134      if (len === 0) {
3135        return void 0;
3136      }
3137      const active = activeElement(ownerDocument(container));
3138      const index2 = list.indexOf(active);
3139      const nextIndex = index2 === -1 ? dir === 1 ? 0 : len - 1 : index2 + dir;
3140      return list[nextIndex];
3141    }
3142    function getNextTabbable(referenceElement) {
3143      return getTabbableIn(ownerDocument(referenceElement).body, 1) || referenceElement;
3144    }
3145    function getPreviousTabbable(referenceElement) {
3146      return getTabbableIn(ownerDocument(referenceElement).body, -1) || referenceElement;
3147    }
3148    function isOutsideEvent(event, container) {
3149      const containerElement = container || event.currentTarget;
3150      const relatedTarget = event.relatedTarget;
3151      return !relatedTarget || !contains(containerElement, relatedTarget);
3152    }
3153    function disableFocusInside(container) {
3154      const tabbableElements = tabbable(container);
3155      tabbableElements.forEach((element) => {
3156        element.dataset.tabindex = element.getAttribute("tabindex") || "";
3157        element.setAttribute("tabindex", "-1");
3158      });
3159    }
3160    function enableFocusInside(container) {
3161      const elements = [];
3162      appendMatchingElements(container, "[data-tabindex]", elements);
3163      elements.forEach((element) => {
3164        const tabindex = element.dataset.tabindex;
3165        delete element.dataset.tabindex;
3166        if (tabindex) {
3167          element.setAttribute("tabindex", tabindex);
3168        } else {
3169          element.removeAttribute("tabindex");
3170        }
3171      });
3172    }
3173  
3174    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/nodes.mjs
3175    function getNodeChildren(nodes, id, onlyOpenChildren = true) {
3176      const directChildren = nodes.filter((node) => node.parentId === id);
3177      return directChildren.flatMap((child) => [...!onlyOpenChildren || child.context?.open ? [child] : [], ...getNodeChildren(nodes, child.id, onlyOpenChildren)]);
3178    }
3179    function getNodeAncestors(nodes, id) {
3180      let allAncestors = [];
3181      let currentParentId = nodes.find((node) => node.id === id)?.parentId;
3182      while (currentParentId) {
3183        const currentNode = nodes.find((node) => node.id === currentParentId);
3184        currentParentId = currentNode?.parentId;
3185        if (currentNode) {
3186          allAncestors = allAncestors.concat(currentNode);
3187        }
3188      }
3189      return allAncestors;
3190    }
3191  
3192    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/createAttribute.mjs
3193    function createAttribute(name3) {
3194      return `data-base-ui-$name3}`;
3195    }
3196  
3197    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/enqueueFocus.mjs
3198    var rafId = 0;
3199    function enqueueFocus(el2, options = {}) {
3200      const {
3201        preventScroll = false,
3202        sync = false,
3203        shouldFocus
3204      } = options;
3205      cancelAnimationFrame(rafId);
3206      function exec() {
3207        if (shouldFocus && !shouldFocus()) {
3208          return;
3209        }
3210        el2?.focus({
3211          preventScroll
3212        });
3213      }
3214      if (sync) {
3215        exec();
3216        return NOOP;
3217      }
3218      const currentRafId = requestAnimationFrame(exec);
3219      rafId = currentRafId;
3220      return () => {
3221        if (rafId === currentRafId) {
3222          cancelAnimationFrame(currentRafId);
3223          rafId = 0;
3224        }
3225      };
3226    }
3227  
3228    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/markOthers.mjs
3229    var markerName = "data-base-ui-inert";
3230    var ariaHiddenCounterMap = /* @__PURE__ */ new WeakMap();
3231    var uncontrolledElementsSet = /* @__PURE__ */ new WeakSet();
3232    var markerCounterMap = /* @__PURE__ */ new WeakMap();
3233    var lockCount = 0;
3234    function unwrapHost(node) {
3235      if (!node) {
3236        return null;
3237      }
3238      return isShadowRoot(node) ? node.host : unwrapHost(node.parentNode);
3239    }
3240    var correctElements = (parent, targets) => targets.map((target) => {
3241      if (parent.contains(target)) {
3242        return target;
3243      }
3244      const correctedTarget = unwrapHost(target);
3245      if (parent.contains(correctedTarget)) {
3246        return correctedTarget;
3247      }
3248      return null;
3249    }).filter((x) => x != null);
3250    var buildKeepSet = (targets) => {
3251      const keep = /* @__PURE__ */ new Set();
3252      targets.forEach((target) => {
3253        let node = target;
3254        while (node && !keep.has(node)) {
3255          keep.add(node);
3256          node = node.parentNode;
3257        }
3258      });
3259      return keep;
3260    };
3261    var collectOutsideElements = (root, keepElements, stopElements) => {
3262      const outside = [];
3263      const walk = (parent) => {
3264        if (!parent || stopElements.has(parent)) {
3265          return;
3266        }
3267        Array.from(parent.children).forEach((node) => {
3268          if (getNodeName(node) === "script") {
3269            return;
3270          }
3271          if (keepElements.has(node)) {
3272            walk(node);
3273          } else {
3274            outside.push(node);
3275          }
3276        });
3277      };
3278      walk(root);
3279      return outside;
3280    };
3281    function applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, {
3282      mark = true
3283    }) {
3284      const avoidElements = correctElements(body, uncorrectedAvoidElements);
3285      const markerTargets = mark ? collectOutsideElements(body, buildKeepSet(avoidElements), new Set(avoidElements)) : [];
3286      const hiddenElements = [];
3287      const markedElements = [];
3288      if (ariaHidden) {
3289        const ariaLiveElements = correctElements(body, Array.from(body.querySelectorAll("[aria-live]")));
3290        const controlElements = avoidElements.concat(ariaLiveElements);
3291        const controlTargets = collectOutsideElements(body, buildKeepSet(controlElements), new Set(controlElements));
3292        controlTargets.forEach((node) => {
3293          const attr2 = node.getAttribute("aria-hidden");
3294          const alreadyHidden = attr2 !== null && attr2 !== "false";
3295          const counterValue = (ariaHiddenCounterMap.get(node) || 0) + 1;
3296          ariaHiddenCounterMap.set(node, counterValue);
3297          hiddenElements.push(node);
3298          if (counterValue === 1 && alreadyHidden) {
3299            uncontrolledElementsSet.add(node);
3300          }
3301          if (!alreadyHidden) {
3302            node.setAttribute("aria-hidden", "true");
3303          }
3304        });
3305      }
3306      if (mark) {
3307        markerTargets.forEach((node) => {
3308          const markerValue = (markerCounterMap.get(node) || 0) + 1;
3309          markerCounterMap.set(node, markerValue);
3310          markedElements.push(node);
3311          if (markerValue === 1) {
3312            node.setAttribute(markerName, "");
3313          }
3314        });
3315      }
3316      lockCount += 1;
3317      return () => {
3318        hiddenElements.forEach((element) => {
3319          const counterValue = (ariaHiddenCounterMap.get(element) || 0) - 1;
3320          ariaHiddenCounterMap.set(element, counterValue);
3321          if (!counterValue) {
3322            if (!uncontrolledElementsSet.has(element)) {
3323              element.removeAttribute("aria-hidden");
3324            }
3325            uncontrolledElementsSet.delete(element);
3326          }
3327        });
3328        if (mark) {
3329          markedElements.forEach((element) => {
3330            const markerValue = (markerCounterMap.get(element) || 0) - 1;
3331            markerCounterMap.set(element, markerValue);
3332            if (!markerValue) {
3333              element.removeAttribute(markerName);
3334            }
3335          });
3336        }
3337        lockCount -= 1;
3338        if (!lockCount) {
3339          ariaHiddenCounterMap = /* @__PURE__ */ new WeakMap();
3340          uncontrolledElementsSet = /* @__PURE__ */ new WeakSet();
3341          markerCounterMap = /* @__PURE__ */ new WeakMap();
3342        }
3343      };
3344    }
3345    function markOthers(avoidElements, options = {}) {
3346      const {
3347        ariaHidden = false,
3348        mark = true
3349      } = options;
3350      const body = ownerDocument(avoidElements[0]).body;
3351      return applyAttributeToOthers(avoidElements, body, ariaHidden, {
3352        mark
3353      });
3354    }
3355  
3356    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs
3357    var React20 = __toESM(require_react(), 1);
3358    var ReactDOM2 = __toESM(require_react_dom(), 1);
3359  
3360    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/constants.mjs
3361    var DISABLED_TRANSITIONS_STYLE = {
3362      style: {
3363        transition: "none"
3364      }
3365    };
3366    var CLICK_TRIGGER_IDENTIFIER = "data-base-ui-click-trigger";
3367    var BASE_UI_SWIPE_IGNORE_ATTRIBUTE = "data-base-ui-swipe-ignore";
3368    var LEGACY_SWIPE_IGNORE_ATTRIBUTE = "data-swipe-ignore";
3369    var BASE_UI_SWIPE_IGNORE_SELECTOR = `[$BASE_UI_SWIPE_IGNORE_ATTRIBUTE}]`;
3370    var LEGACY_SWIPE_IGNORE_SELECTOR = `[$LEGACY_SWIPE_IGNORE_ATTRIBUTE}]`;
3371    var DROPDOWN_COLLISION_AVOIDANCE = {
3372      fallbackAxisSide: "none"
3373    };
3374    var ownerVisuallyHidden = {
3375      clipPath: "inset(50%)",
3376      position: "fixed",
3377      top: 0,
3378      left: 0
3379    };
3380  
3381    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs
3382    var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1);
3383    var PortalContext = /* @__PURE__ */ React20.createContext(null);
3384    if (true) PortalContext.displayName = "PortalContext";
3385    var usePortalContext = () => React20.useContext(PortalContext);
3386    var attr = createAttribute("portal");
3387    function useFloatingPortalNode(props = {}) {
3388      const {
3389        ref,
3390        container: containerProp,
3391        componentProps = EMPTY_OBJECT,
3392        elementProps
3393      } = props;
3394      const uniqueId = useId();
3395      const portalContext = usePortalContext();
3396      const parentPortalNode = portalContext?.portalNode;
3397      const [containerElement, setContainerElement] = React20.useState(null);
3398      const [portalNode, setPortalNode] = React20.useState(null);
3399      const setPortalNodeRef = useStableCallback((node) => {
3400        if (node !== null) {
3401          setPortalNode(node);
3402        }
3403      });
3404      const containerRef = React20.useRef(null);
3405      useIsoLayoutEffect(() => {
3406        if (containerProp === null) {
3407          if (containerRef.current) {
3408            containerRef.current = null;
3409            setPortalNode(null);
3410            setContainerElement(null);
3411          }
3412          return;
3413        }
3414        const resolvedContainer = (containerProp && (isNode(containerProp) ? containerProp : containerProp.current)) ?? parentPortalNode ?? document.body;
3415        if (resolvedContainer == null) {
3416          if (containerRef.current) {
3417            containerRef.current = null;
3418            setPortalNode(null);
3419            setContainerElement(null);
3420          }
3421          return;
3422        }
3423        if (containerRef.current !== resolvedContainer) {
3424          containerRef.current = resolvedContainer;
3425          setPortalNode(null);
3426          setContainerElement(resolvedContainer);
3427        }
3428      }, [containerProp, parentPortalNode]);
3429      const portalElement = useRenderElement("div", componentProps, {
3430        ref: [ref, setPortalNodeRef],
3431        props: [{
3432          id: uniqueId,
3433          [attr]: ""
3434        }, elementProps]
3435      });
3436      const portalSubtree = containerElement && portalElement ? /* @__PURE__ */ ReactDOM2.createPortal(portalElement, containerElement) : null;
3437      return {
3438        node: portalNode,
3439        // `id` and `render` props can override or remove the generated ID. Use the exact
3440        // rendered value so `aria-owns` never points at an ID absent from the DOM.
3441        nodeId: /* @__PURE__ */ React20.isValidElement(portalElement) ? portalElement.props.id : void 0,
3442        subtree: portalSubtree
3443      };
3444    }
3445    var FloatingPortal = /* @__PURE__ */ React20.forwardRef(function FloatingPortal2(componentProps, forwardedRef) {
3446      const {
3447        render,
3448        className,
3449        style,
3450        children,
3451        container,
3452        portalOwnerRole,
3453        ...elementProps
3454      } = componentProps;
3455      const {
3456        node: portalNode,
3457        nodeId: portalNodeId,
3458        subtree: portalSubtree
3459      } = useFloatingPortalNode({
3460        container,
3461        ref: forwardedRef,
3462        componentProps,
3463        elementProps
3464      });
3465      const beforeOutsideRef = React20.useRef(null);
3466      const afterOutsideRef = React20.useRef(null);
3467      const beforeInsideRef = React20.useRef(null);
3468      const afterInsideRef = React20.useRef(null);
3469      const [focusManagerState, setFocusManagerState] = React20.useState(null);
3470      const focusInsideDisabledRef = React20.useRef(false);
3471      const modal = focusManagerState?.modal;
3472      const open2 = focusManagerState?.open;
3473      const shouldRenderGuards = !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode;
3474      React20.useEffect(() => {
3475        if (!portalNode || modal) {
3476          return void 0;
3477        }
3478        function onFocus(event) {
3479          if (portalNode && event.relatedTarget && isOutsideEvent(event)) {
3480            if (event.type === "focusin") {
3481              if (focusInsideDisabledRef.current) {
3482                enableFocusInside(portalNode);
3483                focusInsideDisabledRef.current = false;
3484              }
3485            } else {
3486              disableFocusInside(portalNode);
3487              focusInsideDisabledRef.current = true;
3488            }
3489          }
3490        }
3491        return mergeCleanups(addEventListener(portalNode, "focusin", onFocus, true), addEventListener(portalNode, "focusout", onFocus, true));
3492      }, [portalNode, modal]);
3493      useIsoLayoutEffect(() => {
3494        if (!portalNode || open2 !== true || !focusInsideDisabledRef.current) {
3495          return;
3496        }
3497        enableFocusInside(portalNode);
3498        focusInsideDisabledRef.current = false;
3499      }, [open2, portalNode]);
3500      const portalContextValue = React20.useMemo(() => ({
3501        beforeOutsideRef,
3502        afterOutsideRef,
3503        beforeInsideRef,
3504        afterInsideRef,
3505        portalNode,
3506        setFocusManagerState
3507      }), [portalNode]);
3508      return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(React20.Fragment, {
3509        children: [portalSubtree, /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(PortalContext.Provider, {
3510          value: portalContextValue,
3511          children: [shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(FocusGuard, {
3512            "data-type": "outside",
3513            ref: beforeOutsideRef,
3514            onFocus: (event) => {
3515              if (isOutsideEvent(event, portalNode)) {
3516                beforeInsideRef.current?.focus();
3517              } else {
3518                const domReference = focusManagerState ? focusManagerState.domReference : null;
3519                const prevTabbable = getPreviousTabbable(domReference);
3520                prevTabbable?.focus();
3521              }
3522            }
3523          }), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", {
3524            role: portalOwnerRole,
3525            "aria-owns": portalNodeId,
3526            style: ownerVisuallyHidden
3527          }), portalNode && /* @__PURE__ */ ReactDOM2.createPortal(children, portalNode), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(FocusGuard, {
3528            "data-type": "outside",
3529            ref: afterOutsideRef,
3530            onFocus: (event) => {
3531              if (isOutsideEvent(event, portalNode)) {
3532                afterInsideRef.current?.focus();
3533              } else {
3534                const domReference = focusManagerState ? focusManagerState.domReference : null;
3535                const nextTabbable = getNextTabbable(domReference);
3536                nextTabbable?.focus();
3537                if (focusManagerState?.closeOnFocusOut) {
3538                  focusManagerState?.onOpenChange(false, createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent));
3539                }
3540              }
3541            }
3542          })]
3543        })]
3544      });
3545    });
3546    if (true) FloatingPortal.displayName = "FloatingPortal";
3547  
3548    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs
3549    var React21 = __toESM(require_react(), 1);
3550  
3551    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/createEventEmitter.mjs
3552    function createEventEmitter() {
3553      const map = /* @__PURE__ */ new Map();
3554      return {
3555        emit(event, data) {
3556          map.get(event)?.forEach((listener) => listener(data));
3557        },
3558        on(event, listener) {
3559          if (!map.has(event)) {
3560            map.set(event, /* @__PURE__ */ new Set());
3561          }
3562          map.get(event).add(listener);
3563        },
3564        off(event, listener) {
3565          map.get(event)?.delete(listener);
3566        }
3567      };
3568    }
3569  
3570    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs
3571    var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1);
3572    var FloatingNodeContext = /* @__PURE__ */ React21.createContext(null);
3573    if (true) FloatingNodeContext.displayName = "FloatingNodeContext";
3574    var FloatingTreeContext = /* @__PURE__ */ React21.createContext(null);
3575    if (true) FloatingTreeContext.displayName = "FloatingTreeContext";
3576    var useFloatingParentNodeId = () => React21.useContext(FloatingNodeContext)?.id || null;
3577    var useFloatingTree = (externalTree) => {
3578      const contextTree = React21.useContext(FloatingTreeContext);
3579      return externalTree ?? contextTree;
3580    };
3581  
3582    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingFocusManager.mjs
3583    var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1);
3584    function getEventType(event, lastInteractionType) {
3585      const win = getWindow(getTarget(event));
3586      if (event instanceof win.KeyboardEvent) {
3587        return "keyboard";
3588      }
3589      if (event instanceof win.FocusEvent) {
3590        return lastInteractionType || "keyboard";
3591      }
3592      if ("pointerType" in event) {
3593        return event.pointerType || (isVirtualClick(event) ? "keyboard" : lastInteractionType || "mouse");
3594      }
3595      if ("touches" in event) {
3596        return "touch";
3597      }
3598      if (event instanceof win.MouseEvent) {
3599        return lastInteractionType || (event.detail === 0 ? "keyboard" : "mouse");
3600      }
3601      return "";
3602    }
3603    var LIST_LIMIT = 20;
3604    var previouslyFocusedElements = [];
3605    function clearDisconnectedPreviouslyFocusedElements() {
3606      previouslyFocusedElements = previouslyFocusedElements.filter((entry) => {
3607        return entry.deref()?.isConnected;
3608      });
3609    }
3610    function addPreviouslyFocusedElement(element) {
3611      clearDisconnectedPreviouslyFocusedElements();
3612      if (element && getNodeName(element) !== "body") {
3613        previouslyFocusedElements.push(new WeakRef(element));
3614        if (previouslyFocusedElements.length > LIST_LIMIT) {
3615          previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);
3616        }
3617      }
3618    }
3619    function getPreviouslyFocusedElement() {
3620      clearDisconnectedPreviouslyFocusedElements();
3621      return previouslyFocusedElements[previouslyFocusedElements.length - 1]?.deref();
3622    }
3623    function getFirstTabbableElement(container) {
3624      if (!container) {
3625        return null;
3626      }
3627      if (isTabbable(container)) {
3628        return container;
3629      }
3630      return tabbable(container)[0] || container;
3631    }
3632    function handleTabIndex(floatingFocusElement) {
3633      if (floatingFocusElement.hasAttribute("tabindex") && !floatingFocusElement.hasAttribute("data-tabindex")) {
3634        return;
3635      }
3636      if (!floatingFocusElement.getAttribute("role")?.includes("dialog")) {
3637        return;
3638      }
3639      const focusableElements = focusable(floatingFocusElement);
3640      const tabbableContent = focusableElements.filter((element) => {
3641        const dataTabIndex = element.getAttribute("data-tabindex") || "";
3642        return isTabbable(element) || element.hasAttribute("data-tabindex") && !dataTabIndex.startsWith("-");
3643      });
3644      const tabIndex = floatingFocusElement.getAttribute("tabindex");
3645      if (tabbableContent.length === 0) {
3646        if (tabIndex !== "0") {
3647          floatingFocusElement.setAttribute("tabindex", "0");
3648          floatingFocusElement.setAttribute("data-tabindex", "0");
3649        }
3650      } else if (tabIndex !== "-1" || floatingFocusElement.hasAttribute("data-tabindex") && floatingFocusElement.getAttribute("data-tabindex") !== "-1") {
3651        floatingFocusElement.setAttribute("tabindex", "-1");
3652        floatingFocusElement.setAttribute("data-tabindex", "-1");
3653      }
3654    }
3655    function FloatingFocusManager(props) {
3656      const {
3657        context: store,
3658        children,
3659        disabled: disabled2 = false,
3660        initialFocus = true,
3661        returnFocus = true,
3662        explicitReturnFocus,
3663        restoreFocus = false,
3664        modal = true,
3665        closeOnFocusOut = true,
3666        openInteractionType = "",
3667        nextFocusableElement,
3668        previousFocusableElement,
3669        beforeContentFocusGuardRef,
3670        externalTree,
3671        getInsideElements
3672      } = props;
3673      const open2 = store.useState("open");
3674      const domReference = store.useState("domReferenceElement");
3675      const floating = store.useState("floatingElement");
3676      const {
3677        events,
3678        dataRef
3679      } = store.context;
3680      const getNodeId = useStableCallback(() => dataRef.current.floatingContext?.nodeId);
3681      const ignoreInitialFocus = initialFocus === false;
3682      const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;
3683      const initialFocusRef = useValueAsRef(initialFocus);
3684      const returnFocusRef = useValueAsRef(returnFocus);
3685      const explicitReturnFocusRef = useValueAsRef(explicitReturnFocus);
3686      const openInteractionTypeRef = useValueAsRef(openInteractionType);
3687      const openRef = useValueAsRef(open2);
3688      const tree = useFloatingTree(externalTree);
3689      const portalContext = usePortalContext();
3690      const preventReturnFocusRef = React22.useRef(false);
3691      const isPointerDownRef = React22.useRef(false);
3692      const pointerDownOutsideRef = React22.useRef(false);
3693      const lastFocusedTabbableRef = React22.useRef(null);
3694      const closeTypeRef = React22.useRef("");
3695      const lastInteractionTypeRef = React22.useRef("");
3696      const beforeGuardRef = React22.useRef(null);
3697      const afterGuardRef = React22.useRef(null);
3698      const mergedBeforeGuardRef = useMergedRefs(beforeGuardRef, beforeContentFocusGuardRef, portalContext?.beforeInsideRef);
3699      const mergedAfterGuardRef = useMergedRefs(afterGuardRef, portalContext?.afterInsideRef);
3700      const blurTimeout = useTimeout();
3701      const pointerDownTimeout = useTimeout();
3702      const restoreFocusFrame = useAnimationFrame();
3703      const isInsidePortal = portalContext != null;
3704      const floatingFocusElement = getFloatingFocusElement(floating);
3705      const getTabbableContent = useStableCallback((container = floatingFocusElement) => {
3706        return container ? tabbable(container) : [];
3707      });
3708      const getResolvedInsideElements = useStableCallback(() => getInsideElements?.().filter((element) => element != null) ?? []);
3709      React22.useEffect(() => {
3710        if (disabled2 || !modal) {
3711          return void 0;
3712        }
3713        function onKeyDown(event) {
3714          if (event.key === "Tab") {
3715            if (contains(floatingFocusElement, activeElement(ownerDocument(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {
3716              stopEvent(event);
3717            }
3718          }
3719        }
3720        const doc = ownerDocument(floatingFocusElement);
3721        return addEventListener(doc, "keydown", onKeyDown);
3722      }, [disabled2, floatingFocusElement, modal, isUntrappedTypeableCombobox, getTabbableContent]);
3723      React22.useEffect(() => {
3724        if (disabled2 || !open2) {
3725          return void 0;
3726        }
3727        const doc = ownerDocument(floatingFocusElement);
3728        function clearPointerDownOutside() {
3729          pointerDownOutsideRef.current = false;
3730        }
3731        function onPointerDown(event) {
3732          const target = getTarget(event);
3733          const insideElements = getResolvedInsideElements();
3734          const pointerTargetInside = contains(floating, target) || contains(domReference, target) || contains(portalContext?.portalNode, target) || insideElements.some((element) => element === target || contains(element, target));
3735          pointerDownOutsideRef.current = !pointerTargetInside;
3736          lastInteractionTypeRef.current = event.pointerType || "keyboard";
3737          if (closest(target, `[$CLICK_TRIGGER_IDENTIFIER}]`)) {
3738            isPointerDownRef.current = true;
3739            pointerDownTimeout.start(0, () => {
3740              isPointerDownRef.current = false;
3741            });
3742          }
3743        }
3744        function onKeyDown() {
3745          lastInteractionTypeRef.current = "keyboard";
3746        }
3747        return mergeCleanups(
3748          addEventListener(doc, "pointerdown", onPointerDown, true),
3749          addEventListener(doc, "pointerup", clearPointerDownOutside, true),
3750          addEventListener(doc, "pointercancel", clearPointerDownOutside, true),
3751          addEventListener(doc, "keydown", onKeyDown, true),
3752          // Avoid a stale `true` leaking into the next open (e.g. keep-mounted popups)
3753          // if the popup dismissed between pointerdown and pointerup.
3754          clearPointerDownOutside
3755        );
3756      }, [disabled2, floating, domReference, floatingFocusElement, open2, portalContext, pointerDownTimeout, getResolvedInsideElements]);
3757      React22.useEffect(() => {
3758        if (disabled2 || !closeOnFocusOut) {
3759          return void 0;
3760        }
3761        const doc = ownerDocument(floatingFocusElement);
3762        function handlePointerDown() {
3763          isPointerDownRef.current = true;
3764          pointerDownTimeout.start(0, () => {
3765            isPointerDownRef.current = false;
3766          });
3767        }
3768        function handleFocusIn(event) {
3769          const target = getTarget(event);
3770          if (isTabbable(target)) {
3771            lastFocusedTabbableRef.current = target;
3772          }
3773        }
3774        function handleFocusOutside(event) {
3775          const relatedTarget = event.relatedTarget;
3776          const currentTarget = event.currentTarget;
3777          const target = getTarget(event);
3778          if (modal && relatedTarget == null && target != null && contains(floating, target)) {
3779            addPreviouslyFocusedElement(target);
3780          }
3781          queueMicrotask(() => {
3782            const nodeId = getNodeId();
3783            const triggers = store.context.triggerElements;
3784            const insideElements = getResolvedInsideElements();
3785            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);
3786            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)));
3787            if (currentTarget === domReference && floatingFocusElement) {
3788              handleTabIndex(floatingFocusElement);
3789            }
3790            if (restoreFocus && currentTarget !== domReference && !isElementVisible(target) && activeElement(doc) === doc.body) {
3791              if (isHTMLElement(floatingFocusElement)) {
3792                floatingFocusElement.focus();
3793                if (restoreFocus === "popup") {
3794                  restoreFocusFrame.request(() => {
3795                    floatingFocusElement.focus();
3796                  });
3797                  return;
3798                }
3799              }
3800              const tabbableContent = getTabbableContent();
3801              const prevTabbable = lastFocusedTabbableRef.current;
3802              const nodeToFocus = (prevTabbable && tabbableContent.includes(prevTabbable) ? prevTabbable : null) || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;
3803              if (isHTMLElement(nodeToFocus)) {
3804                nodeToFocus.focus();
3805              }
3806            }
3807            if (dataRef.current.insideReactTree) {
3808              dataRef.current.insideReactTree = false;
3809              return;
3810            }
3811            if ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current && // Fix React 18 Strict Mode returnFocus due to double rendering.
3812            // For an "untrapped" typeable combobox (input role=combobox with
3813            // initialFocus=false), re-opening the popup and tabbing out should still close it even
3814            // when the previously focused element (e.g. the next tabbable outside the popup) is
3815            // focused again. Otherwise, the popup remains open on the second Tab sequence:
3816            // click input -> Tab (closes) -> click input -> Tab.
3817            // Allow closing when `isUntrappedTypeableCombobox` regardless of the previously focused element.
3818            (isUntrappedTypeableCombobox || relatedTarget !== getPreviouslyFocusedElement())) {
3819              preventReturnFocusRef.current = true;
3820              store.setOpen(false, createChangeEventDetails(reason_parts_exports.focusOut, event));
3821            }
3822          });
3823        }
3824        function markInsideReactTree() {
3825          if (pointerDownOutsideRef.current) {
3826            return;
3827          }
3828          dataRef.current.insideReactTree = true;
3829          blurTimeout.start(0, () => {
3830            dataRef.current.insideReactTree = false;
3831          });
3832        }
3833        const domReferenceElement = isHTMLElement(domReference) ? domReference : null;
3834        if (!floating && !domReferenceElement) {
3835          return void 0;
3836        }
3837        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));
3838      }, [disabled2, domReference, floating, floatingFocusElement, modal, tree, portalContext, store, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox, getNodeId, dataRef, blurTimeout, pointerDownTimeout, restoreFocusFrame, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);
3839      React22.useEffect(() => {
3840        if (disabled2 || !floating || !open2) {
3841          return void 0;
3842        }
3843        const portalNodes = Array.from(portalContext?.portalNode?.querySelectorAll(`[$createAttribute("portal")}]`) || []);
3844        const ancestors = tree ? getNodeAncestors(tree.nodesRef.current, getNodeId()) : [];
3845        const rootAncestorComboboxDomReference = ancestors.find((node) => isTypeableCombobox(node.context?.elements.domReference || null))?.context?.elements.domReference;
3846        const controlInsideElements = [floating, ...portalNodes, beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, ...getResolvedInsideElements()];
3847        const insideElements = [...controlInsideElements, rootAncestorComboboxDomReference, resolveRef(previousFocusableElement), resolveRef(nextFocusableElement), isUntrappedTypeableCombobox ? domReference : null].filter((x) => x != null);
3848        const ariaHiddenCleanup = markOthers(insideElements, {
3849          ariaHidden: modal || isUntrappedTypeableCombobox,
3850          mark: false
3851        });
3852        const markerInsideElements = [floating, ...portalNodes].filter((x) => x != null);
3853        const markerCleanup = markOthers(markerInsideElements);
3854        return () => {
3855          markerCleanup();
3856          ariaHiddenCleanup();
3857        };
3858      }, [open2, disabled2, domReference, floating, modal, portalContext, isUntrappedTypeableCombobox, tree, getNodeId, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);
3859      useIsoLayoutEffect(() => {
3860        if (!open2 || disabled2 || !isHTMLElement(floatingFocusElement)) {
3861          return;
3862        }
3863        closeTypeRef.current = "";
3864        lastInteractionTypeRef.current = "";
3865        const doc = ownerDocument(floatingFocusElement);
3866        const previouslyFocusedElement = activeElement(doc);
3867        queueMicrotask(() => {
3868          const initialFocusValueOrFn = initialFocusRef.current;
3869          const resolvedInitialFocus = typeof initialFocusValueOrFn === "function" ? initialFocusValueOrFn(openInteractionTypeRef.current || "") : initialFocusValueOrFn;
3870          if (resolvedInitialFocus === void 0 || resolvedInitialFocus === false) {
3871            return;
3872          }
3873          const focusAlreadyInsideFloatingEl = contains(floatingFocusElement, previouslyFocusedElement);
3874          if (focusAlreadyInsideFloatingEl) {
3875            return;
3876          }
3877          let focusableElements = null;
3878          const getDefaultFocusElement = () => {
3879            if (focusableElements == null) {
3880              focusableElements = getTabbableContent(floatingFocusElement);
3881            }
3882            return focusableElements[0] || floatingFocusElement;
3883          };
3884          let elToFocus;
3885          if (resolvedInitialFocus === true || resolvedInitialFocus === null) {
3886            elToFocus = getDefaultFocusElement();
3887          } else {
3888            elToFocus = resolveRef(resolvedInitialFocus);
3889          }
3890          elToFocus = elToFocus || getDefaultFocusElement();
3891          const hadFocusInside = contains(floatingFocusElement, activeElement(doc));
3892          const openEvent = dataRef.current.openEvent;
3893          const openedByVirtualPress = openEvent?.type === "mousedown" && isVirtualClick(openEvent);
3894          void enqueueFocus(elToFocus, {
3895            sync: openedByVirtualPress,
3896            preventScroll: elToFocus === floatingFocusElement,
3897            shouldFocus() {
3898              if (!openRef.current) {
3899                return false;
3900              }
3901              if (hadFocusInside) {
3902                return true;
3903              }
3904              const currentActiveElement = activeElement(doc);
3905              const focusMovedInside = currentActiveElement !== elToFocus && contains(floatingFocusElement, currentActiveElement);
3906              return !focusMovedInside;
3907            }
3908          });
3909        });
3910      }, [disabled2, open2, floatingFocusElement, getTabbableContent, initialFocusRef, openInteractionTypeRef, openRef, dataRef]);
3911      const pendingReturnFocusRef = React22.useRef(null);
3912      useIsoLayoutEffect(() => {
3913        if (disabled2 || !floatingFocusElement) {
3914          pendingReturnFocusRef.current = null;
3915          return void 0;
3916        }
3917        if (pendingReturnFocusRef.current) {
3918          pendingReturnFocusRef.current.cancelled = true;
3919          pendingReturnFocusRef.current = null;
3920        }
3921        const doc = ownerDocument(floatingFocusElement);
3922        const elementFocusedBeforeOpen = activeElement(doc);
3923        const preferPreviousFocus = openInteractionTypeRef.current == null;
3924        addPreviouslyFocusedElement(elementFocusedBeforeOpen);
3925        function onOpenChangeLocal(details) {
3926          if (!details.open) {
3927            closeTypeRef.current = getEventType(details.nativeEvent, lastInteractionTypeRef.current);
3928          }
3929          if (details.reason === reason_parts_exports.focusOut && details.triggerElement?.hasAttribute(createAttribute("focus-guard")) || details.reason === reason_parts_exports.triggerHover && details.nativeEvent.type === "mouseleave") {
3930            preventReturnFocusRef.current = true;
3931          }
3932          if (details.reason !== reason_parts_exports.outsidePress) {
3933            return;
3934          }
3935          if (details.nested) {
3936            preventReturnFocusRef.current = false;
3937          } else if (isVirtualClick(details.nativeEvent) || isVirtualPointerEvent(details.nativeEvent)) {
3938            preventReturnFocusRef.current = false;
3939          } else {
3940            let isPreventScrollSupported = false;
3941            ownerDocument(floatingFocusElement).createElement("div").focus({
3942              get preventScroll() {
3943                isPreventScrollSupported = true;
3944                return false;
3945              }
3946            });
3947            if (isPreventScrollSupported) {
3948              preventReturnFocusRef.current = false;
3949            } else {
3950              preventReturnFocusRef.current = true;
3951            }
3952          }
3953        }
3954        events.on("openchange", onOpenChangeLocal);
3955        function getReturnElement(closeType) {
3956          const returnFocusValueOrFn = returnFocusRef.current;
3957          let resolvedReturnFocusValue = typeof returnFocusValueOrFn === "function" ? returnFocusValueOrFn(closeType) : returnFocusValueOrFn;
3958          if (resolvedReturnFocusValue === void 0 || resolvedReturnFocusValue === false) {
3959            return null;
3960          }
3961          if (resolvedReturnFocusValue === null) {
3962            resolvedReturnFocusValue = true;
3963          }
3964          const referenceReturnElement = domReference?.isConnected ? domReference : null;
3965          const previousReturnElement = elementFocusedBeforeOpen?.isConnected && getNodeName(elementFocusedBeforeOpen) !== "body" ? elementFocusedBeforeOpen : null;
3966          let defaultReturnElement = preferPreviousFocus ? previousReturnElement || referenceReturnElement : referenceReturnElement || previousReturnElement;
3967          if (!defaultReturnElement) {
3968            defaultReturnElement = getPreviouslyFocusedElement() || null;
3969          }
3970          if (typeof resolvedReturnFocusValue === "boolean") {
3971            return defaultReturnElement;
3972          }
3973          return resolveRef(resolvedReturnFocusValue) || defaultReturnElement || null;
3974        }
3975        return () => {
3976          events.off("openchange", onOpenChangeLocal);
3977          const activeEl = activeElement(doc);
3978          const insideElements = getResolvedInsideElements();
3979          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));
3980          const returnFocusValueOrFn = returnFocusRef.current;
3981          const closeType = closeTypeRef.current;
3982          const returnElement = getReturnElement(closeType);
3983          const job = {
3984            cancelled: false
3985          };
3986          pendingReturnFocusRef.current = job;
3987          queueMicrotask(() => {
3988            if (pendingReturnFocusRef.current === job) {
3989              pendingReturnFocusRef.current = null;
3990            }
3991            const tabbableReturnElement = getFirstTabbableElement(returnElement);
3992            const hasExplicitReturnFocus = (
3993              // eslint-disable-next-line react-hooks/exhaustive-deps
3994              explicitReturnFocusRef.current ?? typeof returnFocusValueOrFn !== "boolean"
3995            );
3996            if (!job.cancelled && returnFocusValueOrFn && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && // If the focus moved somewhere else after mount, avoid returning focus
3997            // since it likely entered a different element which should be
3998            // respected: https://github.com/floating-ui/floating-ui/issues/2607
3999            (!hasExplicitReturnFocus && tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {
4000              const focusOptions = {
4001                preventScroll: true
4002              };
4003              if (closeType === "keyboard") {
4004                focusOptions.focusVisible = true;
4005              }
4006              tabbableReturnElement.focus(focusOptions);
4007            }
4008            preventReturnFocusRef.current = false;
4009          });
4010        };
4011      }, [disabled2, floating, floatingFocusElement, returnFocusRef, explicitReturnFocusRef, openInteractionTypeRef, events, tree, domReference, getNodeId, getResolvedInsideElements]);
4012      useIsoLayoutEffect(() => {
4013        if (!parts_exports.engine.webkit || open2 || !floating) {
4014          return;
4015        }
4016        const activeEl = activeElement(ownerDocument(floating));
4017        if (!isHTMLElement(activeEl) || !isTypeableElement(activeEl)) {
4018          return;
4019        }
4020        if (contains(floating, activeEl)) {
4021          activeEl.blur();
4022        }
4023      }, [open2, floating]);
4024      useIsoLayoutEffect(() => {
4025        if (disabled2 || !portalContext) {
4026          return void 0;
4027        }
4028        portalContext.setFocusManagerState({
4029          modal,
4030          closeOnFocusOut,
4031          open: open2,
4032          onOpenChange: store.setOpen,
4033          domReference
4034        });
4035        return () => {
4036          portalContext.setFocusManagerState(null);
4037        };
4038      }, [disabled2, portalContext, modal, open2, store, closeOnFocusOut, domReference]);
4039      useIsoLayoutEffect(() => {
4040        if (disabled2 || !floatingFocusElement) {
4041          return void 0;
4042        }
4043        handleTabIndex(floatingFocusElement);
4044        return () => {
4045          queueMicrotask(clearDisconnectedPreviouslyFocusedElements);
4046        };
4047      }, [disabled2, floatingFocusElement]);
4048      const shouldRenderGuards = !disabled2 && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);
4049      return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(React22.Fragment, {
4050        children: [shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(FocusGuard, {
4051          "data-type": "inside",
4052          ref: mergedBeforeGuardRef,
4053          onFocus: (event) => {
4054            if (modal) {
4055              const els = getTabbableContent();
4056              void enqueueFocus(els[els.length - 1]);
4057            } else if (portalContext?.portalNode) {
4058              preventReturnFocusRef.current = false;
4059              if (isOutsideEvent(event, portalContext.portalNode)) {
4060                const nextTabbable = getNextTabbable(domReference);
4061                nextTabbable?.focus();
4062              } else {
4063                resolveRef(previousFocusableElement ?? portalContext.beforeOutsideRef)?.focus();
4064              }
4065            }
4066          }
4067        }), children, shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(FocusGuard, {
4068          "data-type": "inside",
4069          ref: mergedAfterGuardRef,
4070          onFocus: (event) => {
4071            if (modal) {
4072              void enqueueFocus(getTabbableContent()[0]);
4073            } else if (portalContext?.portalNode) {
4074              if (closeOnFocusOut) {
4075                preventReturnFocusRef.current = true;
4076              }
4077              if (isOutsideEvent(event, portalContext.portalNode)) {
4078                const prevTabbable = getPreviousTabbable(domReference);
4079                prevTabbable?.focus();
4080              } else {
4081                resolveRef(nextFocusableElement ?? portalContext.afterOutsideRef)?.focus();
4082              }
4083            }
4084          }
4085        })]
4086      });
4087    }
4088  
4089    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useClick.mjs
4090    var React23 = __toESM(require_react(), 1);
4091    function useClick(store, props = {}) {
4092      const {
4093        enabled = true,
4094        event: eventOption = "click",
4095        toggle = true,
4096        ignoreMouse = false,
4097        stickIfOpen = true,
4098        touchOpenDelay = 0,
4099        reason = reason_parts_exports.triggerPress
4100      } = props;
4101      const dataRef = store.context.dataRef;
4102      const pointerTypeRef = React23.useRef(void 0);
4103      const frame = useAnimationFrame();
4104      const touchOpenTimeout = useTimeout();
4105      const reference = React23.useMemo(() => {
4106        function setOpenWithTouchDelay(nextOpen, nativeEvent, target, pointerType) {
4107          const details = createChangeEventDetails(reason, nativeEvent, target);
4108          if (nextOpen && pointerType === "touch" && touchOpenDelay > 0) {
4109            touchOpenTimeout.start(touchOpenDelay, () => {
4110              store.setOpen(true, details);
4111            });
4112          } else {
4113            store.setOpen(nextOpen, details);
4114          }
4115        }
4116        function getNextOpen(open2, currentTarget, isClickLikeOpenEvent) {
4117          const openEvent = dataRef.current.openEvent;
4118          const hasClickedOnInactiveTrigger = store.select("domReferenceElement") !== currentTarget;
4119          if (open2 && hasClickedOnInactiveTrigger) {
4120            return true;
4121          }
4122          if (!open2) {
4123            return true;
4124          }
4125          if (!toggle) {
4126            return true;
4127          }
4128          if (openEvent && (typeof stickIfOpen === "function" ? stickIfOpen() : stickIfOpen)) {
4129            return !isClickLikeOpenEvent(openEvent.type);
4130          }
4131          return false;
4132        }
4133        return {
4134          onPointerDown(event) {
4135            pointerTypeRef.current = isMouseLikePointerType(event.pointerType, true) && isVirtualPointerEvent(event.nativeEvent) ? "virtual" : event.pointerType;
4136          },
4137          onMouseDown(event) {
4138            const pointerType = pointerTypeRef.current;
4139            const nativeEvent = event.nativeEvent;
4140            const open2 = store.select("open");
4141            if (event.button !== 0 || eventOption === "click" || isMouseLikePointerType(pointerType, true) && ignoreMouse) {
4142              return;
4143            }
4144            const nextOpen = getNextOpen(open2, event.currentTarget, (openEventType) => openEventType === "click" || openEventType === "mousedown");
4145            const target = getTarget(nativeEvent);
4146            const isTypeable = isTypeableElement(target);
4147            if (isTypeable || pointerType === "virtual") {
4148              setOpenWithTouchDelay(nextOpen, nativeEvent, isTypeable ? target : event.currentTarget, pointerType);
4149              return;
4150            }
4151            const eventCurrentTarget = event.currentTarget;
4152            frame.request(() => {
4153              setOpenWithTouchDelay(nextOpen, nativeEvent, eventCurrentTarget, pointerType);
4154            });
4155          },
4156          onClick(event) {
4157            if (eventOption === "mousedown-only") {
4158              return;
4159            }
4160            const pointerType = pointerTypeRef.current;
4161            if (eventOption === "mousedown" && pointerType) {
4162              pointerTypeRef.current = void 0;
4163              return;
4164            }
4165            if (isMouseLikePointerType(pointerType, true) && ignoreMouse) {
4166              return;
4167            }
4168            const open2 = store.select("open");
4169            const nextOpen = getNextOpen(open2, event.currentTarget, (openEventType) => openEventType === "click" || openEventType === "mousedown" || openEventType === "keydown" || openEventType === "keyup");
4170            setOpenWithTouchDelay(nextOpen, event.nativeEvent, event.currentTarget, pointerType);
4171          },
4172          onKeyDown() {
4173            pointerTypeRef.current = void 0;
4174          }
4175        };
4176      }, [dataRef, eventOption, ignoreMouse, reason, store, stickIfOpen, toggle, frame, touchOpenTimeout, touchOpenDelay]);
4177      return React23.useMemo(() => enabled ? {
4178        reference
4179      } : EMPTY_OBJECT, [enabled, reference]);
4180    }
4181  
4182    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useDismiss.mjs
4183    var React24 = __toESM(require_react(), 1);
4184    function alwaysFalse() {
4185      return false;
4186    }
4187    function normalizeProp(normalizable) {
4188      return {
4189        escapeKey: typeof normalizable === "boolean" ? normalizable : normalizable?.escapeKey ?? false,
4190        outsidePress: typeof normalizable === "boolean" ? normalizable : normalizable?.outsidePress ?? true
4191      };
4192    }
4193    function useDismiss(store, props = {}) {
4194      const {
4195        enabled = true,
4196        escapeKey: escapeKey2 = true,
4197        outsidePress: outsidePressProp = true,
4198        outsidePressEvent = "sloppy",
4199        referencePress = alwaysFalse,
4200        bubbles,
4201        externalTree
4202      } = props;
4203      const open2 = store.useState("open");
4204      const floatingElement = store.useState("floatingElement");
4205      const {
4206        dataRef,
4207        events
4208      } = store.context;
4209      const tree = useFloatingTree(externalTree);
4210      const outsidePressFn = useStableCallback(typeof outsidePressProp === "function" ? outsidePressProp : () => false);
4211      const outsidePress2 = typeof outsidePressProp === "function" ? outsidePressFn : outsidePressProp;
4212      const outsidePressEnabled = outsidePress2 !== false;
4213      const getOutsidePressEventProp = useStableCallback(() => outsidePressEvent);
4214      const {
4215        escapeKey: escapeKeyBubbles,
4216        outsidePress: outsidePressBubbles
4217      } = normalizeProp(bubbles);
4218      const pressStartedInsideRef = React24.useRef(false);
4219      const pressStartPreventedRef = React24.useRef(false);
4220      const suppressNextOutsideClickRef = React24.useRef(false);
4221      const sawPressWhileOpenRef = React24.useRef(false);
4222      const isComposingRef = React24.useRef(false);
4223      const currentPointerTypeRef = React24.useRef("");
4224      const touchStateRef = React24.useRef(null);
4225      const cancelDismissOnEndTimeout = useTimeout();
4226      const clearInsideReactTreeTimeout = useTimeout();
4227      const compositionTimeout = useTimeout();
4228      const clearInsideReactTree = useStableCallback(() => {
4229        clearInsideReactTreeTimeout.clear();
4230        dataRef.current.insideReactTree = false;
4231      });
4232      const hasBlockingChild = useStableCallback((bubbleKey) => {
4233        const nodeId = dataRef.current.floatingContext?.nodeId;
4234        const children = tree ? getNodeChildren(tree.nodesRef.current, nodeId) : [];
4235        return children.some((child) => child.context?.open && !child.context.dataRef.current[bubbleKey]);
4236      });
4237      const isEventWithinOwnElements = useStableCallback((event) => {
4238        return isEventTargetWithin(event, store.select("floatingElement")) || isEventTargetWithin(event, store.select("domReferenceElement"));
4239      });
4240      const closeOnReferencePress = useStableCallback((event) => {
4241        if (!referencePress()) {
4242          return;
4243        }
4244        store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerPress, event.nativeEvent));
4245      });
4246      const closeOnEscapeKeyDown = useStableCallback((event) => {
4247        if (!open2 || !enabled || !escapeKey2 || event.key !== "Escape") {
4248          return;
4249        }
4250        const native = isReactEvent(event) ? event.nativeEvent : event;
4251        if (isComposingRef.current || native.isComposing) {
4252          return;
4253        }
4254        if (!escapeKeyBubbles && hasBlockingChild("__escapeKeyBubbles")) {
4255          return;
4256        }
4257        const eventDetails = createChangeEventDetails(reason_parts_exports.escapeKey, native);
4258        store.setOpen(false, eventDetails);
4259        if (!eventDetails.isCanceled) {
4260          event.preventDefault();
4261        }
4262        if (!escapeKeyBubbles && !eventDetails.isPropagationAllowed) {
4263          event.stopPropagation();
4264        }
4265      });
4266      const markInsideReactTree = useStableCallback(() => {
4267        dataRef.current.insideReactTree = true;
4268        clearInsideReactTreeTimeout.start(0, clearInsideReactTree);
4269      });
4270      const markPressStartedInsideReactTree = useStableCallback((event) => {
4271        if (!open2 || !enabled || event.button !== 0) {
4272          return;
4273        }
4274        const target = getTarget(event.nativeEvent);
4275        if (!contains(store.select("floatingElement"), target)) {
4276          return;
4277        }
4278        if (!pressStartedInsideRef.current) {
4279          pressStartedInsideRef.current = true;
4280          pressStartPreventedRef.current = false;
4281        }
4282      });
4283      const markInsidePressStartPrevented = useStableCallback((event) => {
4284        if (!open2 || !enabled) {
4285          return;
4286        }
4287        if (!(event.defaultPrevented || event.nativeEvent.defaultPrevented)) {
4288          return;
4289        }
4290        if (pressStartedInsideRef.current) {
4291          pressStartPreventedRef.current = true;
4292        }
4293      });
4294      React24.useEffect(() => {
4295        function handleOpenChange(details) {
4296          if (!details.open) {
4297            sawPressWhileOpenRef.current = false;
4298          }
4299        }
4300        events.on("openchange", handleOpenChange);
4301        return () => {
4302          events.off("openchange", handleOpenChange);
4303        };
4304      }, [events]);
4305      React24.useEffect(() => clearInsideReactTree, [clearInsideReactTree]);
4306      React24.useEffect(() => {
4307        if (!open2 || !enabled) {
4308          if (!open2) {
4309            sawPressWhileOpenRef.current = false;
4310            isComposingRef.current = false;
4311            currentPointerTypeRef.current = "";
4312            touchStateRef.current = null;
4313          }
4314          return clearInsideReactTree;
4315        }
4316        dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;
4317        dataRef.current.__outsidePressBubbles = outsidePressBubbles;
4318        const preventedPressSuppressionTimeout = new Timeout();
4319        const doc = ownerDocument(floatingElement);
4320        function handleCompositionStart() {
4321          compositionTimeout.clear();
4322          isComposingRef.current = true;
4323        }
4324        function handleCompositionEnd() {
4325          isComposingRef.current = true;
4326          compositionTimeout.start(
4327            // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.
4328            // Only apply to WebKit for the test to remain 0ms.
4329            parts_exports.engine.webkit ? 5 : 0,
4330            () => {
4331              isComposingRef.current = false;
4332            }
4333          );
4334        }
4335        function suppressImmediateOutsideClickAfterPreventedStart() {
4336          suppressNextOutsideClickRef.current = true;
4337          preventedPressSuppressionTimeout.start(0, () => {
4338            suppressNextOutsideClickRef.current = false;
4339          });
4340        }
4341        function resetPressStartState() {
4342          pressStartedInsideRef.current = false;
4343          pressStartPreventedRef.current = false;
4344        }
4345        function getOutsidePressEvent() {
4346          const type = currentPointerTypeRef.current;
4347          const computedType = type === "pen" || !type ? "mouse" : type;
4348          const outsidePressEventValue = getOutsidePressEventProp();
4349          const resolved = typeof outsidePressEventValue === "function" ? outsidePressEventValue() : outsidePressEventValue;
4350          if (typeof resolved === "string") {
4351            return resolved;
4352          }
4353          return resolved[computedType];
4354        }
4355        function shouldIgnoreEvent(event) {
4356          const computedOutsidePressEvent = getOutsidePressEvent();
4357          return computedOutsidePressEvent === "intentional" && event.type !== "click" || computedOutsidePressEvent === "sloppy" && event.type === "click";
4358        }
4359        function isEventWithinFloatingTree(event) {
4360          const nodeId = dataRef.current.floatingContext?.nodeId;
4361          const targetIsInsideChildren = tree && getNodeChildren(tree.nodesRef.current, nodeId).some((node) => isEventTargetWithin(event, node.context?.elements.floating));
4362          return isEventWithinOwnElements(event) || targetIsInsideChildren;
4363        }
4364        function closeOnPressOutside(event) {
4365          if (shouldIgnoreEvent(event)) {
4366            if (event.type !== "click" && !isEventWithinOwnElements(event)) {
4367              preventedPressSuppressionTimeout.clear();
4368              suppressNextOutsideClickRef.current = false;
4369            }
4370            clearInsideReactTree();
4371            return;
4372          }
4373          if (dataRef.current.insideReactTree) {
4374            clearInsideReactTree();
4375            return;
4376          }
4377          const target = getTarget(event);
4378          const inertSelector = `[$createAttribute("inert")}]`;
4379          const targetRoot = isElement(target) ? target.getRootNode() : null;
4380          const markers = Array.from((isShadowRoot(targetRoot) ? targetRoot : ownerDocument(store.select("floatingElement"))).querySelectorAll(inertSelector));
4381          const triggers = store.context.triggerElements;
4382          if (target && (triggers.hasElement(target) || triggers.hasMatchingElement((trigger) => contains(trigger, target)))) {
4383            return;
4384          }
4385          let targetRootAncestor = isElement(target) ? target : null;
4386          while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {
4387            const nextParent = getParentNode(targetRootAncestor);
4388            if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {
4389              break;
4390            }
4391            targetRootAncestor = nextParent;
4392          }
4393          if (markers.length && isElement(target) && !isRootElement(target) && // Clicked on a direct ancestor (e.g. FloatingOverlay).
4394          !contains(target, store.select("floatingElement")) && // If the target root element contains none of the markers, then the
4395          // element was injected after the floating element rendered.
4396          markers.every((marker) => !contains(targetRootAncestor, marker))) {
4397            return;
4398          }
4399          if (isHTMLElement(target) && !("touches" in event)) {
4400            const lastTraversableNode = isLastTraversableNode(target);
4401            const style = getComputedStyle2(target);
4402            const scrollRe = /auto|scroll/;
4403            const isScrollableX = lastTraversableNode || scrollRe.test(style.overflowX);
4404            const isScrollableY = lastTraversableNode || scrollRe.test(style.overflowY);
4405            const canScrollX = isScrollableX && target.clientWidth > 0 && target.scrollWidth > target.clientWidth;
4406            const canScrollY = isScrollableY && target.clientHeight > 0 && target.scrollHeight > target.clientHeight;
4407            const isRTL3 = style.direction === "rtl";
4408            const pressedVerticalScrollbar = canScrollY && (isRTL3 ? event.offsetX <= target.offsetWidth - target.clientWidth : event.offsetX > target.clientWidth);
4409            const pressedHorizontalScrollbar = canScrollX && event.offsetY > target.clientHeight;
4410            if (pressedVerticalScrollbar || pressedHorizontalScrollbar) {
4411              return;
4412            }
4413          }
4414          if (isEventWithinFloatingTree(event)) {
4415            return;
4416          }
4417          if (getOutsidePressEvent() === "intentional") {
4418            if (event.detail !== 0 && !isVirtualClick(event) && !sawPressWhileOpenRef.current) {
4419              return;
4420            }
4421            if (suppressNextOutsideClickRef.current) {
4422              preventedPressSuppressionTimeout.clear();
4423              suppressNextOutsideClickRef.current = false;
4424              return;
4425            }
4426          }
4427          if (typeof outsidePress2 === "function" && !outsidePress2(event)) {
4428            return;
4429          }
4430          if (hasBlockingChild("__outsidePressBubbles")) {
4431            return;
4432          }
4433          store.setOpen(false, createChangeEventDetails(reason_parts_exports.outsidePress, event));
4434          clearInsideReactTree();
4435        }
4436        function handlePointerDown(event) {
4437          if (getOutsidePressEvent() !== "sloppy" || event.pointerType === "touch" || !store.select("open") || !enabled || isEventWithinOwnElements(event)) {
4438            return;
4439          }
4440          closeOnPressOutside(event);
4441        }
4442        function handleTouchStart(event) {
4443          if (getOutsidePressEvent() !== "sloppy" || !store.select("open") || !enabled || isEventWithinOwnElements(event)) {
4444            return;
4445          }
4446          const touch = event.touches[0];
4447          if (touch) {
4448            touchStateRef.current = {
4449              startTime: Date.now(),
4450              startX: touch.clientX,
4451              startY: touch.clientY,
4452              dismissOnTouchEnd: false,
4453              dismissOnMouseDown: true
4454            };
4455            cancelDismissOnEndTimeout.start(1e3, () => {
4456              if (touchStateRef.current) {
4457                touchStateRef.current.dismissOnTouchEnd = false;
4458                touchStateRef.current.dismissOnMouseDown = false;
4459              }
4460            });
4461          }
4462        }
4463        function addTargetEventListenerOnce(event, listener) {
4464          const target = getTarget(event);
4465          if (!target) {
4466            return;
4467          }
4468          const unsubscribe2 = addEventListener(target, event.type, () => {
4469            listener(event);
4470            unsubscribe2();
4471          });
4472        }
4473        function handleTouchStartCapture(event) {
4474          currentPointerTypeRef.current = "touch";
4475          addTargetEventListenerOnce(event, handleTouchStart);
4476        }
4477        function closeOnPressOutsideCapture(event) {
4478          cancelDismissOnEndTimeout.clear();
4479          if (event.type === "pointerdown") {
4480            if (event.button === 0) {
4481              sawPressWhileOpenRef.current = true;
4482            }
4483            currentPointerTypeRef.current = event.pointerType;
4484          }
4485          if (event.type === "mousedown" && touchStateRef.current && !touchStateRef.current.dismissOnMouseDown) {
4486            return;
4487          }
4488          addTargetEventListenerOnce(event, (targetEvent) => {
4489            if (targetEvent.type === "pointerdown") {
4490              handlePointerDown(targetEvent);
4491            } else {
4492              closeOnPressOutside(targetEvent);
4493            }
4494          });
4495        }
4496        function handlePressEndCapture(event) {
4497          if (event.type === "pointercancel") {
4498            sawPressWhileOpenRef.current = false;
4499          }
4500          if (!pressStartedInsideRef.current) {
4501            return;
4502          }
4503          const pressStartedInsideDefaultPrevented = pressStartPreventedRef.current;
4504          resetPressStartState();
4505          if (getOutsidePressEvent() !== "intentional") {
4506            return;
4507          }
4508          if (event.type === "pointercancel") {
4509            if (pressStartedInsideDefaultPrevented) {
4510              suppressImmediateOutsideClickAfterPreventedStart();
4511            }
4512            return;
4513          }
4514          if (isEventWithinFloatingTree(event)) {
4515            return;
4516          }
4517          if (pressStartedInsideDefaultPrevented) {
4518            suppressImmediateOutsideClickAfterPreventedStart();
4519            return;
4520          }
4521          if (typeof outsidePress2 === "function" && !outsidePress2(event)) {
4522            return;
4523          }
4524          preventedPressSuppressionTimeout.clear();
4525          suppressNextOutsideClickRef.current = true;
4526          clearInsideReactTree();
4527        }
4528        function handleTouchMove(event) {
4529          if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) {
4530            return;
4531          }
4532          const touch = event.touches[0];
4533          if (!touch) {
4534            return;
4535          }
4536          const deltaX = Math.abs(touch.clientX - touchStateRef.current.startX);
4537          const deltaY = Math.abs(touch.clientY - touchStateRef.current.startY);
4538          const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
4539          if (distance > 5) {
4540            touchStateRef.current.dismissOnTouchEnd = true;
4541          }
4542          if (distance > 10) {
4543            closeOnPressOutside(event);
4544            cancelDismissOnEndTimeout.clear();
4545            touchStateRef.current = null;
4546          }
4547        }
4548        function handleTouchMoveCapture(event) {
4549          addTargetEventListenerOnce(event, handleTouchMove);
4550        }
4551        function handleTouchEnd(event) {
4552          if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) {
4553            return;
4554          }
4555          if (touchStateRef.current.dismissOnTouchEnd) {
4556            closeOnPressOutside(event);
4557          }
4558          cancelDismissOnEndTimeout.clear();
4559          touchStateRef.current = null;
4560        }
4561        function handleTouchEndCapture(event) {
4562          addTargetEventListenerOnce(event, handleTouchEnd);
4563        }
4564        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, {
4565          capture: true,
4566          passive: true
4567        }), addEventListener(doc, "touchmove", handleTouchMoveCapture, {
4568          capture: true,
4569          passive: true
4570        }), addEventListener(doc, "touchend", handleTouchEndCapture, {
4571          capture: true,
4572          passive: true
4573        })));
4574        return () => {
4575          unsubscribe();
4576          preventedPressSuppressionTimeout.clear();
4577          resetPressStartState();
4578          suppressNextOutsideClickRef.current = false;
4579        };
4580      }, [dataRef, floatingElement, escapeKey2, outsidePressEnabled, outsidePress2, open2, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, clearInsideReactTree, getOutsidePressEventProp, hasBlockingChild, isEventWithinOwnElements, tree, store, cancelDismissOnEndTimeout, compositionTimeout]);
4581      const reference = React24.useMemo(() => ({
4582        onKeyDown: closeOnEscapeKeyDown,
4583        onPointerDown: closeOnReferencePress,
4584        onClick: closeOnReferencePress
4585      }), [closeOnEscapeKeyDown, closeOnReferencePress]);
4586      const floating = React24.useMemo(() => ({
4587        onKeyDown: closeOnEscapeKeyDown,
4588        // `onMouseDown` may be blocked if `event.preventDefault()` is called in
4589        // `onPointerDown`, such as with <NumberField.ScrubArea>.
4590        // See https://github.com/mui/base-ui/pull/3379
4591        onPointerDown: markInsidePressStartPrevented,
4592        onMouseDown: markInsidePressStartPrevented,
4593        onClickCapture: markInsideReactTree,
4594        onMouseDownCapture(event) {
4595          markInsideReactTree();
4596          markPressStartedInsideReactTree(event);
4597        },
4598        onPointerDownCapture(event) {
4599          markInsideReactTree();
4600          markPressStartedInsideReactTree(event);
4601        },
4602        onMouseUpCapture: markInsideReactTree,
4603        onTouchEndCapture: markInsideReactTree,
4604        onTouchMoveCapture: markInsideReactTree
4605      }), [closeOnEscapeKeyDown, markInsideReactTree, markPressStartedInsideReactTree, markInsidePressStartPrevented]);
4606      return React24.useMemo(() => enabled ? {
4607        reference,
4608        floating,
4609        trigger: reference
4610      } : {}, [enabled, reference, floating]);
4611    }
4612  
4613    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs
4614    var React26 = __toESM(require_react(), 1);
4615    var ReactDOM3 = __toESM(require_react_dom(), 1);
4616  
4617    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useUnmountAfterClose.mjs
4618    var React25 = __toESM(require_react(), 1);
4619    function useUnmountAfterClose(parameters) {
4620      const {
4621        open: open2,
4622        ref,
4623        preventUnmountOnClose,
4624        setPreventUnmountOnClose: setPreventUnmountOnCloseParam,
4625        onUnmount,
4626        animateInitialOpen
4627      } = parameters;
4628      const setPreventUnmountOnClose = useStableCallback(setPreventUnmountOnCloseParam);
4629      const {
4630        mounted,
4631        setMounted,
4632        transitionStatus
4633      } = useTransitionStatus(open2, false, false, animateInitialOpen);
4634      const preventUnmountingOnClose = open2 ? false : preventUnmountOnClose;
4635      useIsoLayoutEffect(() => {
4636        if (open2) {
4637          setPreventUnmountOnClose(false);
4638        }
4639      }, [open2, setPreventUnmountOnClose]);
4640      const mountedRef = React25.useRef(mounted);
4641      const pendingUnmountRef = React25.useRef(false);
4642      const rerender = useForcedRerendering();
4643      const unmount = () => {
4644        mountedRef.current = false;
4645        setMounted(false);
4646        onUnmount();
4647      };
4648      useIsoLayoutEffect(() => {
4649        mountedRef.current = mounted;
4650        if (pendingUnmountRef.current) {
4651          pendingUnmountRef.current = false;
4652          if (!open2 && mounted) {
4653            unmount();
4654          }
4655        }
4656      });
4657      const forceUnmount = useStableCallback(() => {
4658        if (!mountedRef.current) {
4659          return;
4660        }
4661        if (open2) {
4662          pendingUnmountRef.current = true;
4663          rerender();
4664          return;
4665        }
4666        unmount();
4667      });
4668      useOpenChangeComplete({
4669        enabled: mounted && !open2 && !preventUnmountingOnClose,
4670        open: open2,
4671        ref,
4672        onComplete() {
4673          if (!open2) {
4674            forceUnmount();
4675          }
4676        }
4677      });
4678      return {
4679        mounted,
4680        transitionStatus,
4681        preventUnmountingOnClose,
4682        forceUnmount
4683      };
4684    }
4685  
4686    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs
4687    var FOCUSABLE_POPUP_PROPS = {
4688      tabIndex: -1,
4689      [FOCUSABLE_ATTRIBUTE]: ""
4690    };
4691    function attachPreventUnmountOnClose(eventDetails) {
4692      let preventUnmountOnClose = false;
4693      eventDetails.preventUnmountOnClose = () => {
4694        preventUnmountOnClose = true;
4695      };
4696      return () => preventUnmountOnClose;
4697    }
4698  
4699    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupTriggerMap.mjs
4700    var devElementIdsByMap;
4701    function getDevElementIds(map) {
4702      devElementIdsByMap ??= /* @__PURE__ */ new WeakMap();
4703      let elementIds = devElementIdsByMap.get(map);
4704      if (!elementIds) {
4705        elementIds = /* @__PURE__ */ new WeakMap();
4706        devElementIdsByMap.set(map, elementIds);
4707      }
4708      return elementIds;
4709    }
4710    var PopupTriggerMap = class {
4711      idMap = /* @__PURE__ */ new Map();
4712      /**
4713       * Adds a trigger element with the given ID.
4714       *
4715       * Note: The provided element is assumed to not be registered under multiple IDs.
4716       */
4717      add(id, element) {
4718        if (true) {
4719          const elementIds = getDevElementIds(this);
4720          const existingId = elementIds.get(element);
4721          if (existingId !== void 0 && existingId !== id) {
4722            throw new Error("Base UI: A trigger element cannot be registered under multiple IDs in PopupTriggerMap.");
4723          }
4724          const previousElement = this.idMap.get(id);
4725          if (previousElement !== void 0 && previousElement !== element) {
4726            elementIds.delete(previousElement);
4727          }
4728          elementIds.set(element, id);
4729        }
4730        this.idMap.set(id, element);
4731      }
4732      /**
4733       * Removes the trigger element with the given ID.
4734       */
4735      delete(id) {
4736        if (true) {
4737          const element = this.idMap.get(id);
4738          if (element !== void 0) {
4739            devElementIdsByMap?.get(this)?.delete(element);
4740          }
4741        }
4742        this.idMap.delete(id);
4743      }
4744      /**
4745       * Whether the given element is registered as a trigger.
4746       */
4747      hasElement(element) {
4748        for (const registered of this.idMap.values()) {
4749          if (registered === element) {
4750            return true;
4751          }
4752        }
4753        return false;
4754      }
4755      /**
4756       * Whether there is a registered trigger element matching the given predicate.
4757       */
4758      hasMatchingElement(predicate) {
4759        for (const element of this.idMap.values()) {
4760          if (predicate(element)) {
4761            return true;
4762          }
4763        }
4764        return false;
4765      }
4766      /**
4767       * Returns the trigger element associated with the given ID, or undefined if no such element exists.
4768       */
4769      getById(id) {
4770        return this.idMap.get(id);
4771      }
4772      /**
4773       * Returns an iterable of all registered trigger entries, where each entry is a tuple of [id, element].
4774       */
4775      entries() {
4776        return this.idMap.entries();
4777      }
4778      /**
4779       * Returns an iterable of all registered trigger elements.
4780       */
4781      elements() {
4782        return this.idMap.values();
4783      }
4784      /**
4785       * Returns the number of registered trigger elements.
4786       */
4787      get size() {
4788        return this.idMap.size;
4789      }
4790    };
4791  
4792    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/useStore.mjs
4793    var React28 = __toESM(require_react(), 1);
4794    var import_shim = __toESM(require_shim(), 1);
4795    var import_with_selector = __toESM(require_with_selector(), 1);
4796  
4797    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/fastHooks.mjs
4798    var React27 = __toESM(require_react(), 1);
4799    var hooks = [];
4800    var currentInstance = void 0;
4801    function getInstance() {
4802      return currentInstance;
4803    }
4804    function register(hook) {
4805      hooks.push(hook);
4806    }
4807  
4808    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/useStore.mjs
4809    var canUseRawUseSyncExternalStore = isReactVersionAtLeast(19);
4810    var useStoreImplementation = canUseRawUseSyncExternalStore ? useStoreFast : useStoreLegacy;
4811    function useStore(store, selector, a1, a2, a3) {
4812      return useStoreImplementation(store, selector, a1, a2, a3);
4813    }
4814    function useStoreR19(store, selector, a1, a2, a3) {
4815      const getSelection = React28.useCallback(() => selector(store.getSnapshot(), a1, a2, a3), [store, selector, a1, a2, a3]);
4816      return (0, import_shim.useSyncExternalStore)(store.subscribe, getSelection, getSelection);
4817    }
4818    register({
4819      before(instance) {
4820        instance.syncIndex = 0;
4821        if (!instance.didInitialize) {
4822          instance.syncTick = 1;
4823          instance.syncHooks = [];
4824          instance.didChangeStore = true;
4825          instance.getSnapshot = () => {
4826            let didChange2 = false;
4827            for (let i = 0; i < instance.syncHooks.length; i += 1) {
4828              const hook = instance.syncHooks[i];
4829              const value = hook.selector(hook.store.state, hook.a1, hook.a2, hook.a3);
4830              if (!Object.is(hook.value, value)) {
4831                didChange2 = true;
4832                hook.value = value;
4833              }
4834            }
4835            if (didChange2) {
4836              instance.syncTick += 1;
4837            }
4838            return instance.syncTick;
4839          };
4840        }
4841      },
4842      after(instance) {
4843        if (instance.syncHooks.length > 0) {
4844          if (instance.didChangeStore) {
4845            instance.didChangeStore = false;
4846            instance.subscribe = (onStoreChange) => {
4847              const stores = /* @__PURE__ */ new Set();
4848              for (const hook of instance.syncHooks) {
4849                stores.add(hook.store);
4850              }
4851              const unsubscribes = [];
4852              for (const store of stores) {
4853                unsubscribes.push(store.subscribe(onStoreChange));
4854              }
4855              return () => {
4856                for (const unsubscribe of unsubscribes) {
4857                  unsubscribe();
4858                }
4859              };
4860            };
4861          }
4862          (0, import_shim.useSyncExternalStore)(instance.subscribe, instance.getSnapshot, instance.getSnapshot);
4863        }
4864      }
4865    });
4866    function useStoreFast(store, selector, a1, a2, a3) {
4867      const instance = getInstance();
4868      if (!instance) {
4869        return useStoreR19(store, selector, a1, a2, a3);
4870      }
4871      const index2 = instance.syncIndex;
4872      instance.syncIndex += 1;
4873      let hook;
4874      if (!instance.didInitialize) {
4875        hook = {
4876          store,
4877          selector,
4878          a1,
4879          a2,
4880          a3,
4881          value: selector(store.getSnapshot(), a1, a2, a3)
4882        };
4883        instance.syncHooks.push(hook);
4884      } else {
4885        hook = instance.syncHooks[index2];
4886        if (hook.store !== store || hook.selector !== selector || !Object.is(hook.a1, a1) || !Object.is(hook.a2, a2) || !Object.is(hook.a3, a3)) {
4887          if (hook.store !== store) {
4888            instance.didChangeStore = true;
4889          }
4890          hook.store = store;
4891          hook.selector = selector;
4892          hook.a1 = a1;
4893          hook.a2 = a2;
4894          hook.a3 = a3;
4895          hook.value = selector(store.getSnapshot(), a1, a2, a3);
4896        }
4897      }
4898      return hook.value;
4899    }
4900    function useStoreLegacy(store, selector, a1, a2, a3) {
4901      return (0, import_with_selector.useSyncExternalStoreWithSelector)(store.subscribe, store.getSnapshot, store.getSnapshot, (state) => selector(state, a1, a2, a3));
4902    }
4903  
4904    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/Store.mjs
4905    var Store = class {
4906      /**
4907       * Creates a store with the given initial state, constructing the class it is called on.
4908       * Calling it on a generic base class (e.g. `ReactStore.create(...)`) constructs that
4909       * class but degrades the inferred instance type to `Store`; use `new` there instead.
4910       */
4911      static create(state) {
4912        return new this(state);
4913      }
4914      /**
4915       * The current state of the store.
4916       * This property is updated immediately when the state changes as a result of calling {@link setState}, {@link update}, or {@link set}.
4917       * 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).
4918       * The values can be used directly (to avoid subscribing to the store) in effects or event handlers.
4919       *
4920       * Do not modify properties in state directly. Instead, use the provided methods to ensure proper state management and listener notification.
4921       */
4922      // Internal state to handle recursive `setState()` calls
4923      constructor(state) {
4924        this.state = state;
4925        this.listeners = /* @__PURE__ */ new Set();
4926        this.updateTick = 0;
4927      }
4928      /**
4929       * Registers a listener that will be called whenever the store's state changes.
4930       *
4931       * @param fn The listener function to be called on state changes.
4932       * @returns A function to unsubscribe the listener.
4933       */
4934      subscribe = (fn) => {
4935        this.listeners.add(fn);
4936        return () => {
4937          this.listeners.delete(fn);
4938        };
4939      };
4940      /**
4941       * Returns the current state of the store.
4942       */
4943      getSnapshot = () => {
4944        return this.state;
4945      };
4946      /**
4947       * Updates the entire store's state and notifies all registered listeners.
4948       *
4949       * @param newState The new state to set for the store.
4950       */
4951      setState(newState) {
4952        if (this.state === newState) {
4953          return;
4954        }
4955        this.state = newState;
4956        this.updateTick += 1;
4957        const currentTick = this.updateTick;
4958        for (const listener of this.listeners) {
4959          if (currentTick !== this.updateTick) {
4960            return;
4961          }
4962          listener(newState);
4963        }
4964      }
4965      /**
4966       * Merges the provided changes into the current state and notifies listeners if there are changes.
4967       * Each value must match its state key. Pass an exact known subset rather than a broad
4968       * `Partial<State>`, which may contain `undefined` for required state fields.
4969       *
4970       * @param changes An object containing the changes to apply to the current state.
4971       */
4972      update(changes) {
4973        for (const key in changes) {
4974          if (!Object.is(this.state[key], changes[key])) {
4975            this.setState({
4976              ...this.state,
4977              ...changes
4978            });
4979            return;
4980          }
4981        }
4982      }
4983      /**
4984       * Sets a specific key in the store's state to a new value and notifies listeners if the value has changed.
4985       *
4986       * @param key The key in the store's state to update.
4987       * @param value The new value to set for the specified key.
4988       */
4989      set(key, value) {
4990        if (!Object.is(this.state[key], value)) {
4991          this.setState({
4992            ...this.state,
4993            [key]: value
4994          });
4995        }
4996      }
4997      /**
4998       * Gives the state a new reference and updates all registered listeners.
4999       */
5000      notifyAll() {
5001        const newState = {
5002          ...this.state
5003        };
5004        this.setState(newState);
5005      }
5006      use(selector, a1, a2, a3) {
5007        return useStore(this, selector, a1, a2, a3);
5008      }
5009    };
5010  
5011    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/ReactStore.mjs
5012    var React29 = __toESM(require_react(), 1);
5013    var ReactStore = class extends Store {
5014      /**
5015       * Creates a new ReactStore instance.
5016       *
5017       * @param state Initial state of the store.
5018       * @param context Non-reactive context values.
5019       * @param selectors Optional selectors for use with `useState`.
5020       */
5021      constructor(state, context = {}, selectors3) {
5022        super(state);
5023        this.context = context;
5024        this.selectors = selectors3;
5025      }
5026      /**
5027       * Non-reactive values such as refs, callbacks, etc.
5028       */
5029      /**
5030       * Synchronizes a single external value into the store.
5031       *
5032       * Note that the while the value in `state` is updated immediately, the value returned
5033       * by `useState` is updated before the next render (similarly to React's `useState`).
5034       */
5035      useSyncedValue(key, value) {
5036        React29.useDebugValue(key);
5037        const store = this;
5038        useIsoLayoutEffect(() => {
5039          if (store.state[key] !== value) {
5040            store.set(key, value);
5041          }
5042        }, [store, key, value]);
5043      }
5044      /**
5045       * Synchronizes a single external value into the store and
5046       * cleans it up (sets to `undefined`) on unmount.
5047       *
5048       * Note that the while the value in `state` is updated immediately, the value returned
5049       * by `useState` is updated before the next render (similarly to React's `useState`).
5050       */
5051      useSyncedValueWithCleanup(key, value) {
5052        const store = this;
5053        useIsoLayoutEffect(() => {
5054          if (store.state[key] !== value) {
5055            store.set(key, value);
5056          }
5057          return () => {
5058            store.set(key, void 0);
5059          };
5060        }, [store, key, value]);
5061      }
5062      /**
5063       * Synchronizes multiple external values into the store.
5064       * Each value must match its state key. Pass an exact known subset rather than a broad
5065       * `Partial<State>`, which may contain `undefined` for required state fields.
5066       *
5067       * Note that the while the values in `state` are updated immediately, the values returned
5068       * by `useState` are updated before the next render (similarly to React's `useState`).
5069       *
5070       * @param statePart An exact subset of state fields to synchronize. Unknown keys are not accepted.
5071       */
5072      useSyncedValues(statePart) {
5073        const store = this;
5074        if (true) {
5075          React29.useDebugValue(statePart, (p) => Object.keys(p));
5076          const keys = React29.useRef(Object.keys(statePart)).current;
5077          const nextKeys = Object.keys(statePart);
5078          if (keys.length !== nextKeys.length || keys.some((key, index2) => key !== nextKeys[index2])) {
5079            console.error("ReactStore.useSyncedValues expects the same prop keys on every render. Keys should be stable.");
5080          }
5081        }
5082        const dependencies = Object.values(statePart);
5083        useIsoLayoutEffect(() => {
5084          store.update(statePart);
5085        }, [store, ...dependencies]);
5086      }
5087      /**
5088       * Registers a controllable prop pair (`controlled`, `defaultValue`) for a specific key. If `controlled`
5089       * is non-undefined, the store's state at `key` is updated to match `controlled`.
5090       */
5091      useControlledProp(key, controlled) {
5092        React29.useDebugValue(key);
5093        const store = this;
5094        const isControlled = controlled !== void 0;
5095        useIsoLayoutEffect(() => {
5096          if (isControlled && !Object.is(store.state[key], controlled)) {
5097            store.setState({
5098              ...store.state,
5099              [key]: controlled
5100            });
5101          }
5102        }, [store, key, controlled, isControlled]);
5103        if (true) {
5104          const cache = this.controlledValues ??= /* @__PURE__ */ new Map();
5105          if (!cache.has(key)) {
5106            cache.set(key, isControlled);
5107          }
5108          const previouslyControlled = cache.get(key);
5109          if (previouslyControlled !== void 0 && previouslyControlled !== isControlled) {
5110            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).`);
5111          }
5112        }
5113      }
5114      /** Gets the current value from the store using a selector with the provided key.
5115       *
5116       * @param key Key of the selector to use.
5117       */
5118      select(key, a1, a2, a3) {
5119        const selector = this.selectors[key];
5120        return selector(this.state, a1, a2, a3);
5121      }
5122      /**
5123       * Returns a value from the store's state using a selector function.
5124       * Used to subscribe to specific parts of the state.
5125       * This methods causes a rerender whenever the selected state changes.
5126       *
5127       * @param key Key of the selector to use.
5128       */
5129      useState(key, a1, a2, a3) {
5130        React29.useDebugValue(key);
5131        return useStore(this, this.selectors[key], a1, a2, a3);
5132      }
5133      /**
5134       * Wraps a function with `useStableCallback` to ensure it has a stable reference
5135       * and assigns it to the context.
5136       *
5137       * @param key Key of the event callback. Must be a function in the context.
5138       * @param fn Function to assign.
5139       */
5140      useContextCallback(key, fn) {
5141        React29.useDebugValue(key);
5142        const stableFunction = useStableCallback(fn ?? NOOP);
5143        this.context[key] = stableFunction;
5144      }
5145      /**
5146       * Returns a stable setter function for a specific key in the store's state.
5147       * It's commonly used to pass as a ref callback to React elements.
5148       *
5149       * @param key Key of the state to set.
5150       */
5151      useStateSetter(key) {
5152        const ref = React29.useRef(void 0);
5153        if (ref.current === void 0) {
5154          ref.current = (value) => {
5155            this.set(key, value);
5156          };
5157        }
5158        return ref.current;
5159      }
5160      /**
5161       * Observes changes derived from the store's selectors and calls the listener when the selected value changes.
5162       *
5163       * @param key Key of the selector to observe.
5164       * @param listener Listener function called when the selector result changes.
5165       */
5166      observe(selector, listener) {
5167        let selectFn;
5168        if (typeof selector === "function") {
5169          selectFn = selector;
5170        } else {
5171          selectFn = this.selectors[selector];
5172        }
5173        let prevValue = selectFn(this.state);
5174        listener(prevValue, prevValue, this);
5175        return this.subscribe((nextState) => {
5176          const nextValue = selectFn(nextState);
5177          if (!Object.is(prevValue, nextValue)) {
5178            const oldValue = prevValue;
5179            prevValue = nextValue;
5180            listener(nextValue, oldValue, this);
5181          }
5182        });
5183      }
5184    };
5185  
5186    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingRootStore.mjs
5187    var selectors = {
5188      open: (state) => state.open,
5189      transitionStatus: (state) => state.transitionStatus,
5190      domReferenceElement: (state) => state.domReferenceElement,
5191      referenceElement: (state) => state.positionReference ?? state.referenceElement,
5192      floatingElement: (state) => state.floatingElement,
5193      floatingId: (state) => state.floatingId
5194    };
5195    var FloatingRootStore = class extends ReactStore {
5196      constructor(options) {
5197        const {
5198          syncOnly,
5199          nested,
5200          onOpenChange,
5201          triggerElements,
5202          ...initialState
5203        } = options;
5204        super({
5205          ...initialState,
5206          positionReference: initialState.referenceElement,
5207          domReferenceElement: initialState.referenceElement
5208        }, {
5209          onOpenChange,
5210          dataRef: {
5211            current: {}
5212          },
5213          events: createEventEmitter(),
5214          nested,
5215          triggerElements
5216        }, selectors);
5217        this.syncOnly = syncOnly;
5218      }
5219      /**
5220       * Syncs the event used by hover logic to distinguish hover-open from click-like interaction.
5221       */
5222      syncOpenEvent = (newOpen, event) => {
5223        if (!newOpen || !this.state.open || // Prevent a pending hover-open from overwriting a click-open event, while allowing
5224        // click events to upgrade a hover-open.
5225        event != null && isClickLikeEvent(event)) {
5226          this.context.dataRef.current.openEvent = newOpen ? event : void 0;
5227        }
5228      };
5229      /**
5230       * Runs the root-owned side effects for an open state change.
5231       */
5232      dispatchOpenChange = (newOpen, eventDetails) => {
5233        this.syncOpenEvent(newOpen, eventDetails.event);
5234        const details = {
5235          open: newOpen,
5236          reason: eventDetails.reason,
5237          nativeEvent: eventDetails.event,
5238          nested: this.context.nested,
5239          triggerElement: eventDetails.trigger
5240        };
5241        this.context.events.emit("openchange", details);
5242      };
5243      /**
5244       * Emits the `openchange` event through the internal event emitter and calls the `onOpenChange` handler with the provided arguments.
5245       *
5246       * @param newOpen The new open state.
5247       * @param eventDetails Details about the event that triggered the open state change.
5248       */
5249      setOpen = (newOpen, eventDetails) => {
5250        if (this.syncOnly) {
5251          this.context.onOpenChange?.(newOpen, eventDetails);
5252          return;
5253        }
5254        this.dispatchOpenChange(newOpen, eventDetails);
5255        this.context.onOpenChange?.(newOpen, eventDetails);
5256      };
5257    };
5258  
5259    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useFloatingRootContext.mjs
5260    function useFloatingRootContext(options) {
5261      const {
5262        open: open2 = false,
5263        onOpenChange,
5264        elements = {}
5265      } = options;
5266      const floatingId = useId();
5267      const nested = useFloatingParentNodeId() != null;
5268      if (true) {
5269        const optionDomReference = elements.reference;
5270        if (optionDomReference && !isElement(optionDomReference)) {
5271          console.error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `context.setPositionReference()`", "instead.");
5272        }
5273      }
5274      const store = useRefWithInit(() => new FloatingRootStore({
5275        open: open2,
5276        transitionStatus: void 0,
5277        onOpenChange,
5278        referenceElement: elements.reference ?? null,
5279        floatingElement: elements.floating ?? null,
5280        triggerElements: new PopupTriggerMap(),
5281        floatingId,
5282        syncOnly: false,
5283        nested
5284      })).current;
5285      useIsoLayoutEffect(() => {
5286        const valuesToSync = {
5287          open: open2,
5288          floatingId
5289        };
5290        if (elements.reference !== void 0) {
5291          valuesToSync.referenceElement = elements.reference;
5292          valuesToSync.domReferenceElement = isElement(elements.reference) ? elements.reference : null;
5293        }
5294        if (elements.floating !== void 0) {
5295          valuesToSync.floatingElement = elements.floating;
5296        }
5297        store.update(valuesToSync);
5298      }, [open2, floatingId, elements.reference, elements.floating, store]);
5299      store.context.onOpenChange = onOpenChange;
5300      store.context.nested = nested;
5301      return store;
5302    }
5303  
5304    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useListNavigation.mjs
5305    var React30 = __toESM(require_react(), 1);
5306    function isStationaryWebKitPointer(event) {
5307      return parts_exports.engine.webkit && event.movementX === 0 && event.movementY === 0;
5308    }
5309    function doSwitch(orientation, vertical, horizontal) {
5310      switch (orientation) {
5311        case "vertical":
5312          return vertical;
5313        case "horizontal":
5314          return horizontal;
5315        default:
5316          return vertical || horizontal;
5317      }
5318    }
5319    function isMainOrientationKey(key, orientation) {
5320      const vertical = key === ARROW_UP || key === ARROW_DOWN;
5321      const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;
5322      return doSwitch(orientation, vertical, horizontal);
5323    }
5324    function isMainOrientationToEndKey(key, orientation, rtl) {
5325      const vertical = key === ARROW_DOWN;
5326      const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;
5327      return doSwitch(orientation, vertical, horizontal) || key === "Enter" || key === " " || key === "";
5328    }
5329    function isCrossOrientationOpenKey(key, orientation, rtl) {
5330      const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;
5331      const horizontal = key === ARROW_DOWN;
5332      return doSwitch(orientation, vertical, horizontal);
5333    }
5334    function isCrossOrientationCloseKey(key, orientation, rtl, grid) {
5335      const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;
5336      const horizontal = key === ARROW_UP;
5337      if (orientation === "both" || orientation === "horizontal" && grid) {
5338        return key === "Escape";
5339      }
5340      return doSwitch(orientation, vertical, horizontal);
5341    }
5342    function useListNavigation(store, props) {
5343      const {
5344        listRef,
5345        activeIndex,
5346        onNavigate: onNavigateProp = () => {
5347        },
5348        enabled = true,
5349        selectedIndex = null,
5350        allowEscape = false,
5351        loopFocus = false,
5352        nested = false,
5353        rtl = false,
5354        virtual = false,
5355        focusItemOnOpen = "auto",
5356        focusItemOnHover = true,
5357        openOnArrowKeyDown = true,
5358        disabledIndices = void 0,
5359        orientation = "vertical",
5360        triggerOrientation = orientation,
5361        parentOrientation,
5362        id,
5363        resetOnPointerLeave = true,
5364        externalTree,
5365        nestedReturnFocusRef,
5366        grid: navigateGrid
5367      } = props;
5368      const isGrid = navigateGrid != null;
5369      if (true) {
5370        if (allowEscape) {
5371          if (!loopFocus) {
5372            console.warn("`useListNavigation` looping must be enabled to allow escaping.");
5373          }
5374          if (!virtual) {
5375            console.warn("`useListNavigation` must be virtual to allow escaping.");
5376          }
5377        }
5378        if (orientation === "vertical" && isGrid) {
5379          console.warn("In grid list navigation mode, the `orientation` should", 'be either "horizontal" or "both".');
5380        }
5381      }
5382      const open2 = store.useState("open");
5383      const floatingElement = store.useState("floatingElement");
5384      const domReferenceElement = store.useState("domReferenceElement");
5385      const dataRef = store.context.dataRef;
5386      const floatingFocusElement = getFloatingFocusElement(floatingElement);
5387      const typeableComboboxReference = isTypeableCombobox(domReferenceElement);
5388      const floatingFocusElementRef = useValueAsRef(floatingFocusElement);
5389      const parentId = useFloatingParentNodeId();
5390      const tree = useFloatingTree(externalTree);
5391      const focusItemOnOpenRef = React30.useRef(focusItemOnOpen);
5392      const indexRef = React30.useRef(selectedIndex ?? -1);
5393      const keyRef = React30.useRef(null);
5394      const isPointerModalityRef = React30.useRef(true);
5395      const onNavigate = useStableCallback((event) => {
5396        onNavigateProp(indexRef.current === -1 ? null : indexRef.current, event);
5397      });
5398      const previousMountedRef = React30.useRef(!!floatingElement);
5399      const previousOpenRef = React30.useRef(open2);
5400      const forceSyncFocusRef = React30.useRef(false);
5401      const forceScrollIntoViewRef = React30.useRef(false);
5402      const cancelQueuedFocusRef = React30.useRef(null);
5403      const disabledIndicesRef = useValueAsRef(disabledIndices);
5404      const latestOpenRef = useValueAsRef(open2);
5405      const selectedIndexRef = useValueAsRef(selectedIndex);
5406      const resetOnPointerLeaveRef = useValueAsRef(resetOnPointerLeave);
5407      const focusFrame = useAnimationFrame();
5408      const waitForListPopulatedFrame = useAnimationFrame();
5409      const focusItem = useStableCallback(() => {
5410        focusFrame.cancel();
5411        function runFocus(item2) {
5412          if (!virtual) {
5413            cancelQueuedFocusRef.current = enqueueFocus(item2, {
5414              sync: forceSyncFocusRef.current,
5415              preventScroll: true
5416            });
5417          }
5418        }
5419        const initialItem = listRef.current[indexRef.current];
5420        const forceScrollIntoView = forceScrollIntoViewRef.current;
5421        if (initialItem) {
5422          runFocus(initialItem);
5423        }
5424        const scheduler2 = forceSyncFocusRef.current ? (callback) => callback() : (callback) => focusFrame.request(callback);
5425        scheduler2(() => {
5426          const waitedItem = listRef.current[indexRef.current] || initialItem;
5427          if (!waitedItem) {
5428            return;
5429          }
5430          if (!initialItem) {
5431            runFocus(waitedItem);
5432          }
5433          const shouldScrollIntoView = (
5434            // eslint-disable-next-line @typescript-eslint/no-use-before-define
5435            item && (forceScrollIntoView || !isPointerModalityRef.current)
5436          );
5437          if (shouldScrollIntoView) {
5438            waitedItem.scrollIntoView?.({
5439              block: "nearest",
5440              inline: "nearest"
5441            });
5442          }
5443        });
5444      });
5445      useIsoLayoutEffect(() => {
5446        dataRef.current.orientation = orientation;
5447      }, [dataRef, orientation]);
5448      useIsoLayoutEffect(() => {
5449        if (!open2) {
5450          keyRef.current = null;
5451        }
5452        if (!open2 || focusItemOnOpen !== "auto") {
5453          focusItemOnOpenRef.current = focusItemOnOpen;
5454        }
5455      }, [open2, focusItemOnOpen]);
5456      useIsoLayoutEffect(() => {
5457        if (!enabled) {
5458          return;
5459        }
5460        if (open2 && floatingElement) {
5461          indexRef.current = selectedIndex ?? -1;
5462          if (focusItemOnOpenRef.current && selectedIndex != null) {
5463            forceScrollIntoViewRef.current = true;
5464            onNavigate();
5465          }
5466        } else if (previousMountedRef.current) {
5467          indexRef.current = -1;
5468          onNavigate();
5469        }
5470      }, [enabled, open2, floatingElement, selectedIndex, onNavigate]);
5471      useIsoLayoutEffect(() => {
5472        if (!enabled) {
5473          return;
5474        }
5475        if (!open2) {
5476          forceSyncFocusRef.current = false;
5477          return;
5478        }
5479        if (!floatingElement) {
5480          return;
5481        }
5482        if (activeIndex == null) {
5483          forceSyncFocusRef.current = false;
5484          if (selectedIndexRef.current != null) {
5485            return;
5486          }
5487          if (previousMountedRef.current) {
5488            indexRef.current = -1;
5489            focusItem();
5490          }
5491          if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {
5492            let runs = 0;
5493            const waitForListPopulated = () => {
5494              if (listRef.current[0] == null) {
5495                if (runs < 2) {
5496                  const scheduler2 = runs ? (callback) => waitForListPopulatedFrame.request(callback) : queueMicrotask;
5497                  scheduler2(waitForListPopulated);
5498                }
5499                runs += 1;
5500              } else {
5501                indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, triggerOrientation, rtl) || nested ? getMinListIndex(listRef) : getMaxListIndex(listRef);
5502                keyRef.current = null;
5503                onNavigate();
5504              }
5505            };
5506            waitForListPopulated();
5507          }
5508        } else if (!isIndexOutOfListBounds(listRef.current, activeIndex)) {
5509          indexRef.current = activeIndex;
5510          focusItem();
5511          forceScrollIntoViewRef.current = false;
5512        }
5513      }, [enabled, open2, floatingElement, activeIndex, selectedIndexRef, nested, listRef, triggerOrientation, rtl, onNavigate, focusItem, waitForListPopulatedFrame]);
5514      useIsoLayoutEffect(() => {
5515        if (!enabled || floatingElement || !tree || virtual || !previousMountedRef.current) {
5516          return;
5517        }
5518        const nodes = tree.nodesRef.current;
5519        const parent = nodes.find((node) => node.id === parentId)?.context?.elements.floating;
5520        const activeEl = activeElement(ownerDocument(domReferenceElement ?? parent ?? null));
5521        const treeContainsActiveEl = nodes.some((node) => node.context && contains(node.context.elements.floating, activeEl));
5522        if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {
5523          parent.focus({
5524            preventScroll: true
5525          });
5526        }
5527      }, [enabled, floatingElement, domReferenceElement, tree, parentId, virtual]);
5528      useIsoLayoutEffect(() => {
5529        previousOpenRef.current = open2;
5530        previousMountedRef.current = !!floatingElement;
5531      });
5532      const hasActiveIndex = activeIndex != null;
5533      const syncCurrentTarget = useStableCallback((event) => {
5534        if (!latestOpenRef.current) {
5535          return;
5536        }
5537        const index2 = listRef.current.indexOf(event.currentTarget);
5538        if (index2 !== -1 && (indexRef.current !== index2 || activeIndex !== index2)) {
5539          indexRef.current = index2;
5540          onNavigate(event);
5541        }
5542      });
5543      const getParentOrientation = useStableCallback(() => {
5544        return parentOrientation ?? tree?.nodesRef.current.find((node) => node.id === parentId)?.context?.dataRef?.current.orientation;
5545      });
5546      const getMinEnabledIndex = useStableCallback(() => {
5547        return getMinListIndex(listRef, disabledIndicesRef.current);
5548      });
5549      const commonOnKeyDown = useStableCallback((event) => {
5550        isPointerModalityRef.current = false;
5551        forceSyncFocusRef.current = true;
5552        if (event.which === 229) {
5553          return;
5554        }
5555        if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {
5556          return;
5557        }
5558        if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl, isGrid)) {
5559          if (!isMainOrientationKey(event.key, getParentOrientation())) {
5560            stopEvent(event);
5561          }
5562          store.setOpen(false, createChangeEventDetails(reason_parts_exports.listNavigation, event.nativeEvent));
5563          const returnElement = nestedReturnFocusRef?.current ?? domReferenceElement;
5564          if (isHTMLElement(returnElement)) {
5565            returnElement.focus();
5566          }
5567          return;
5568        }
5569        if (activeIndex != null && activeIndex !== indexRef.current && !isIndexOutOfListBounds(listRef.current, activeIndex)) {
5570          indexRef.current = activeIndex;
5571        }
5572        const currentIndex = indexRef.current;
5573        const minIndex = getMinListIndex(listRef, disabledIndices);
5574        const maxIndex = getMaxListIndex(listRef, disabledIndices);
5575        if (!typeableComboboxReference) {
5576          if (event.key === "Home") {
5577            stopEvent(event);
5578            indexRef.current = minIndex;
5579            onNavigate(event);
5580          }
5581          if (event.key === "End") {
5582            stopEvent(event);
5583            indexRef.current = maxIndex;
5584            onNavigate(event);
5585          }
5586        }
5587        if (navigateGrid != null) {
5588          const index2 = navigateGrid(event, indexRef.current, listRef, orientation, loopFocus, rtl, disabledIndices, minIndex, maxIndex);
5589          if (index2 != null && index2 !== indexRef.current) {
5590            indexRef.current = index2;
5591            onNavigate(event);
5592          }
5593          if (orientation === "both") {
5594            return;
5595          }
5596        }
5597        if (isMainOrientationKey(event.key, orientation)) {
5598          stopEvent(event);
5599          const focusedElement = activeElement(event.currentTarget.ownerDocument);
5600          if (open2 && !virtual && contains(event.currentTarget, focusedElement) && !listRef.current.some((item2) => item2 != null && contains(item2, focusedElement))) {
5601            indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;
5602            onNavigate(event);
5603            if (activeIndex === indexRef.current) {
5604              focusItem();
5605            }
5606            return;
5607          }
5608          const {
5609            index: index2,
5610            wrapped
5611          } = getNextListIndex(listRef.current, currentIndex, {
5612            decrement: !isMainOrientationToEndKey(event.key, orientation, rtl),
5613            loopFocus,
5614            allowEscape,
5615            disabledIndices,
5616            minIndex,
5617            maxIndex
5618          });
5619          if (wrapped) {
5620            forceSyncFocusRef.current = false;
5621          }
5622          indexRef.current = index2;
5623          onNavigate(event);
5624        }
5625      });
5626      const item = React30.useMemo(() => {
5627        const itemProps = {
5628          onFocus(event) {
5629            forceSyncFocusRef.current = true;
5630            syncCurrentTarget(event);
5631          },
5632          onClick({
5633            currentTarget
5634          }) {
5635            if (!virtual) {
5636              currentTarget.focus({
5637                preventScroll: true
5638              });
5639            }
5640          },
5641          onMouseMove(event) {
5642            if (isStationaryWebKitPointer(event)) {
5643              return;
5644            }
5645            forceSyncFocusRef.current = true;
5646            forceScrollIntoViewRef.current = false;
5647            if (focusItemOnHover) {
5648              syncCurrentTarget(event);
5649            }
5650          },
5651          onPointerLeave(event) {
5652            if (!latestOpenRef.current || !isPointerModalityRef.current || event.pointerType === "touch") {
5653              return;
5654            }
5655            forceSyncFocusRef.current = true;
5656            const relatedTarget = event.relatedTarget;
5657            if (!focusItemOnHover || listRef.current.includes(relatedTarget)) {
5658              return;
5659            }
5660            if (!resetOnPointerLeaveRef.current) {
5661              return;
5662            }
5663            cancelQueuedFocusRef.current?.();
5664            cancelQueuedFocusRef.current = null;
5665            indexRef.current = -1;
5666            onNavigate(event);
5667            if (!virtual) {
5668              const floatingFocusEl = floatingFocusElementRef.current;
5669              const activeEl = activeElement(ownerDocument(floatingFocusEl));
5670              if (floatingFocusEl && contains(floatingFocusEl, activeEl)) {
5671                floatingFocusEl.focus({
5672                  preventScroll: true
5673                });
5674              }
5675            }
5676          }
5677        };
5678        return itemProps;
5679      }, [syncCurrentTarget, latestOpenRef, floatingFocusElementRef, focusItemOnHover, listRef, onNavigate, resetOnPointerLeaveRef, virtual]);
5680      const ariaActiveDescendantProp = React30.useMemo(() => {
5681        return virtual && open2 && hasActiveIndex && {
5682          "aria-activedescendant": `$id}-$activeIndex}`
5683        };
5684      }, [virtual, open2, hasActiveIndex, id, activeIndex]);
5685      const floating = React30.useMemo(() => {
5686        return {
5687          ...!typeableComboboxReference ? ariaActiveDescendantProp : {},
5688          onKeyDown(event) {
5689            if (event.key === "Tab" && event.shiftKey && open2 && !virtual) {
5690              const target = getTarget(event.nativeEvent);
5691              if (target && !contains(floatingFocusElementRef.current, target)) {
5692                return;
5693              }
5694              stopEvent(event);
5695              const details = createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent);
5696              store.setOpen(false, details);
5697              const returnElement = nestedReturnFocusRef?.current ?? domReferenceElement;
5698              if (!details.isCanceled && isHTMLElement(returnElement)) {
5699                returnElement.focus();
5700              }
5701              return;
5702            }
5703            commonOnKeyDown(event);
5704          },
5705          onPointerMove(event) {
5706            if (isStationaryWebKitPointer(event)) {
5707              return;
5708            }
5709            isPointerModalityRef.current = true;
5710          }
5711        };
5712      }, [ariaActiveDescendantProp, commonOnKeyDown, floatingFocusElementRef, typeableComboboxReference, store, open2, virtual, domReferenceElement, nestedReturnFocusRef]);
5713      const trigger = React30.useMemo(() => {
5714        function openOnNavigationKeyDown(event) {
5715          store.setOpen(true, createChangeEventDetails(reason_parts_exports.listNavigation, event.nativeEvent, event.currentTarget));
5716        }
5717        function checkVirtualMouse(event) {
5718          if (focusItemOnOpen === "auto" && isVirtualClick(event.nativeEvent)) {
5719            focusItemOnOpenRef.current = !virtual;
5720          }
5721        }
5722        function checkVirtualPointer(event) {
5723          focusItemOnOpenRef.current = focusItemOnOpen;
5724          if (focusItemOnOpen === "auto" && isVirtualPointerEvent(event.nativeEvent)) {
5725            focusItemOnOpenRef.current = true;
5726          }
5727        }
5728        return {
5729          onKeyDown(event) {
5730            const currentOpen = store.select("open");
5731            isPointerModalityRef.current = false;
5732            const isArrowKey = event.key.startsWith("Arrow");
5733            const isParentCrossOpenKey = isCrossOrientationOpenKey(event.key, getParentOrientation(), rtl);
5734            const isMainKey = isMainOrientationKey(event.key, currentOpen ? orientation : triggerOrientation);
5735            const isNavigationKey = (nested ? isParentCrossOpenKey : isMainKey) || event.key === "Enter" || event.key.trim() === "";
5736            if (virtual && currentOpen && (!nested || isTypeableElement(event.currentTarget))) {
5737              return commonOnKeyDown(event);
5738            }
5739            if (!currentOpen && !openOnArrowKeyDown && isArrowKey) {
5740              return void 0;
5741            }
5742            if (isNavigationKey) {
5743              const isParentMainKey = isMainOrientationKey(event.key, getParentOrientation());
5744              keyRef.current = nested && isParentMainKey ? null : event.key;
5745            }
5746            if (nested) {
5747              if (isParentCrossOpenKey) {
5748                stopEvent(event);
5749                if (currentOpen) {
5750                  indexRef.current = getMinEnabledIndex();
5751                  onNavigate(event);
5752                  if (virtual) {
5753                    floatingFocusElementRef.current?.focus();
5754                  }
5755                } else {
5756                  openOnNavigationKeyDown(event);
5757                }
5758              }
5759              return void 0;
5760            }
5761            if (isMainKey) {
5762              if (selectedIndexRef.current != null) {
5763                indexRef.current = selectedIndexRef.current;
5764              }
5765              stopEvent(event);
5766              if (!currentOpen && openOnArrowKeyDown) {
5767                openOnNavigationKeyDown(event);
5768              } else {
5769                commonOnKeyDown(event);
5770              }
5771              if (currentOpen) {
5772                onNavigate(event);
5773              }
5774            }
5775            return void 0;
5776          },
5777          onFocus(event) {
5778            if (event.target !== event.currentTarget) {
5779              return;
5780            }
5781            if (store.select("open") && !virtual) {
5782              indexRef.current = -1;
5783              onNavigate(event);
5784            }
5785          },
5786          onPointerDown: checkVirtualPointer,
5787          onPointerEnter: checkVirtualPointer,
5788          onMouseDown: checkVirtualMouse,
5789          onClick: checkVirtualMouse
5790        };
5791      }, [commonOnKeyDown, focusItemOnOpen, getMinEnabledIndex, nested, onNavigate, store, openOnArrowKeyDown, orientation, triggerOrientation, getParentOrientation, rtl, selectedIndexRef, virtual, floatingFocusElementRef]);
5792      const reference = React30.useMemo(() => {
5793        return {
5794          ...ariaActiveDescendantProp,
5795          ...trigger
5796        };
5797      }, [ariaActiveDescendantProp, trigger]);
5798      return React30.useMemo(() => enabled ? {
5799        reference,
5800        floating,
5801        item,
5802        trigger
5803      } : {}, [enabled, reference, floating, trigger, item]);
5804    }
5805  
5806    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useTypeahead.mjs
5807    var React31 = __toESM(require_react(), 1);
5808    function useTypeahead(store, props) {
5809      const {
5810        listRef,
5811        elementsRef,
5812        activeIndex,
5813        onMatch: onMatchProp,
5814        disabledIndices,
5815        onTyping: onTypingProp,
5816        enabled = true,
5817        resetMs = 750,
5818        selectedIndex = null
5819      } = props;
5820      const onTyping = useStableCallback(onTypingProp);
5821      const open2 = store.useState("open");
5822      const timeout = useTimeout();
5823      const stringRef = React31.useRef("");
5824      const prevIndexRef = React31.useRef(selectedIndex ?? activeIndex ?? -1);
5825      const matchIndexRef = React31.useRef(null);
5826      const onKeyDown = useStableCallback((event) => {
5827        function getElement(index3) {
5828          return elementsRef?.current[index3];
5829        }
5830        function isItemAvailable(index3) {
5831          const element = getElement(index3);
5832          if (element && !isElementVisible(element) || element?.matches(":disabled")) {
5833            return false;
5834          }
5835          return disabledIndices == null || !isListIndexDisabled(EMPTY_ARRAY, index3, disabledIndices);
5836        }
5837        function getMatchingIndex(list, string, startIndex2 = 0) {
5838          if (list.length === 0) {
5839            return -1;
5840          }
5841          const normalizedStartIndex = (startIndex2 % list.length + list.length) % list.length;
5842          const lowerString = string.toLowerCase();
5843          for (let offset4 = 0; offset4 < list.length; offset4 += 1) {
5844            const index3 = (normalizedStartIndex + offset4) % list.length;
5845            const text = list[index3];
5846            if (!text?.toLowerCase().startsWith(lowerString) || !isItemAvailable(index3)) {
5847              continue;
5848            }
5849            return index3;
5850          }
5851          return -1;
5852        }
5853        const listContent = listRef.current;
5854        if (stringRef.current.length > 0 && event.key === " ") {
5855          stopEvent(event);
5856          onTyping?.(true);
5857        }
5858        if (stringRef.current.length > 0 && stringRef.current[0] !== " ") {
5859          if (getMatchingIndex(listContent, stringRef.current) === -1 && event.key !== " ") {
5860            onTyping?.(false);
5861          }
5862        }
5863        if (listContent == null || // Character key.
5864        event.key.length !== 1 || // Modifier key.
5865        event.ctrlKey || event.metaKey || event.altKey) {
5866          return;
5867        }
5868        if (open2 && event.key !== " ") {
5869          stopEvent(event);
5870          onTyping?.(true);
5871        }
5872        const isNewSession = stringRef.current === "";
5873        if (isNewSession) {
5874          prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;
5875        }
5876        const allowRapidSuccessionOfFirstLetter = listContent.every((text, index3) => text && isItemAvailable(index3) ? text[0]?.toLowerCase() !== text[1]?.toLowerCase() : true);
5877        if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {
5878          stringRef.current = "";
5879          prevIndexRef.current = matchIndexRef.current;
5880        }
5881        stringRef.current += event.key;
5882        timeout.start(resetMs, () => {
5883          stringRef.current = "";
5884          prevIndexRef.current = matchIndexRef.current;
5885          onTyping?.(false);
5886        });
5887        const prevIndex = isNewSession ? selectedIndex ?? activeIndex ?? -1 : prevIndexRef.current;
5888        const startIndex = (prevIndex ?? 0) + 1;
5889        const index2 = getMatchingIndex(listContent, stringRef.current, startIndex);
5890        if (index2 !== -1) {
5891          onMatchProp?.(index2, event);
5892          matchIndexRef.current = index2;
5893        } else if (event.key !== " ") {
5894          stringRef.current = "";
5895          onTyping?.(false);
5896        }
5897      });
5898      const onBlur = useStableCallback((event) => {
5899        const next = event.relatedTarget;
5900        const currentDomReferenceElement = store.select("domReferenceElement");
5901        const currentFloatingElement = store.select("floatingElement");
5902        const withinComposite = contains(currentDomReferenceElement, next) || contains(currentFloatingElement, next);
5903        if (withinComposite) {
5904          return;
5905        }
5906        timeout.clear();
5907        stringRef.current = "";
5908        prevIndexRef.current = matchIndexRef.current;
5909        onTyping?.(false);
5910      });
5911      useIsoLayoutEffect(() => {
5912        if (!open2 && selectedIndex !== null) {
5913          return;
5914        }
5915        timeout.clear();
5916        matchIndexRef.current = null;
5917        if (stringRef.current !== "") {
5918          stringRef.current = "";
5919          onTyping?.(false);
5920        }
5921      }, [open2, selectedIndex, timeout, onTyping]);
5922      const sharedProps = React31.useMemo(() => ({
5923        onKeyDown,
5924        onBlur
5925      }), [onKeyDown, onBlur]);
5926      return React31.useMemo(() => enabled ? {
5927        reference: sharedProps,
5928        floating: sharedProps
5929      } : {}, [enabled, sharedProps]);
5930    }
5931  
5932    // node_modules/.store/@floating-ui/core@1.8.0-3V8aS7jJHHGcsCINjP9-5A/node_modules/@floating-ui/core/dist/floating-ui.core.mjs
5933    function computeCoordsFromPlacement(_ref, placement, rtl) {
5934      let {
5935        reference,
5936        floating
5937      } = _ref;
5938      const sideAxis = getSideAxis(placement);
5939      const alignmentAxis = getAlignmentAxis(placement);
5940      const alignLength = getAxisLength(alignmentAxis);
5941      const side = getSide(placement);
5942      const isVertical = sideAxis === "y";
5943      const commonX = reference.x + reference.width / 2 - floating.width / 2;
5944      const commonY = reference.y + reference.height / 2 - floating.height / 2;
5945      const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
5946      let coords;
5947      switch (side) {
5948        case "top":
5949          coords = {
5950            x: commonX,
5951            y: reference.y - floating.height
5952          };
5953          break;
5954        case "bottom":
5955          coords = {
5956            x: commonX,
5957            y: reference.y + reference.height
5958          };
5959          break;
5960        case "right":
5961          coords = {
5962            x: reference.x + reference.width,
5963            y: commonY
5964          };
5965          break;
5966        case "left":
5967          coords = {
5968            x: reference.x - floating.width,
5969            y: commonY
5970          };
5971          break;
5972        default:
5973          coords = {
5974            x: reference.x,
5975            y: reference.y
5976          };
5977      }
5978      const alignment = getAlignment(placement);
5979      if (alignment) {
5980        coords[alignmentAxis] += commonAlign * (alignment === "end" ? 1 : -1) * (rtl && isVertical ? -1 : 1);
5981      }
5982      return coords;
5983    }
5984    async function detectOverflow(state, options) {
5985      var _await$platform$isEle;
5986      if (options === void 0) {
5987        options = {};
5988      }
5989      const {
5990        x,
5991        y,
5992        platform: platform3,
5993        rects,
5994        elements,
5995        strategy
5996      } = state;
5997      const {
5998        boundary = "clippingAncestors",
5999        rootBoundary = "viewport",
6000        elementContext = "floating",
6001        altBoundary = false,
6002        padding = 0
6003      } = evaluate(options, state);
6004      const paddingObject = getPaddingObject(padding);
6005      const altContext = elementContext === "floating" ? "reference" : "floating";
6006      const element = elements[altBoundary ? altContext : elementContext];
6007      const clippingClientRect = rectToClientRect(await platform3.getClippingRect({
6008        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)),
6009        boundary,
6010        rootBoundary,
6011        strategy
6012      }));
6013      const rect = elementContext === "floating" ? {
6014        x,
6015        y,
6016        width: rects.floating.width,
6017        height: rects.floating.height
6018      } : rects.reference;
6019      const offsetParent = await (platform3.getOffsetParent == null ? void 0 : platform3.getOffsetParent(elements.floating));
6020      const offsetScale = await (platform3.isElement == null ? void 0 : platform3.isElement(offsetParent)) && await (platform3.getScale == null ? void 0 : platform3.getScale(offsetParent)) || {
6021        x: 1,
6022        y: 1
6023      };
6024      const elementClientRect = rectToClientRect(platform3.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform3.convertOffsetParentRelativeRectToViewportRelativeRect({
6025        elements,
6026        rect,
6027        offsetParent,
6028        strategy
6029      }) : rect);
6030      return {
6031        top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
6032        bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
6033        left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
6034        right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
6035      };
6036    }
6037    var MAX_RESET_COUNT = 50;
6038    var computePosition = async (reference, floating, config) => {
6039      const {
6040        placement = "bottom",
6041        strategy = "absolute",
6042        middleware = [],
6043        platform: platform3
6044      } = config;
6045      const platformWithDetectOverflow = platform3.detectOverflow ? platform3 : {
6046        ...platform3,
6047        detectOverflow
6048      };
6049      const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(floating));
6050      let rects = await platform3.getElementRects({
6051        reference,
6052        floating,
6053        strategy
6054      });
6055      let {
6056        x,
6057        y
6058      } = computeCoordsFromPlacement(rects, placement, rtl);
6059      let statefulPlacement = placement;
6060      let resetCount = 0;
6061      const middlewareData = {};
6062      for (let i = 0; i < middleware.length; i++) {
6063        const currentMiddleware = middleware[i];
6064        if (!currentMiddleware) {
6065          continue;
6066        }
6067        const {
6068          name: name3,
6069          fn
6070        } = currentMiddleware;
6071        const {
6072          x: nextX,
6073          y: nextY,
6074          data,
6075          reset
6076        } = await fn({
6077          x,
6078          y,
6079          initialPlacement: placement,
6080          placement: statefulPlacement,
6081          strategy,
6082          middlewareData,
6083          rects,
6084          platform: platformWithDetectOverflow,
6085          elements: {
6086            reference,
6087            floating
6088          }
6089        });
6090        x = nextX != null ? nextX : x;
6091        y = nextY != null ? nextY : y;
6092        middlewareData[name3] = {
6093          ...middlewareData[name3],
6094          ...data
6095        };
6096        if (reset && resetCount < MAX_RESET_COUNT) {
6097          resetCount++;
6098          if (typeof reset === "object") {
6099            if (reset.placement) {
6100              statefulPlacement = reset.placement;
6101            }
6102            if (reset.rects) {
6103              rects = reset.rects === true ? await platform3.getElementRects({
6104                reference,
6105                floating,
6106                strategy
6107              }) : reset.rects;
6108            }
6109            ({
6110              x,
6111              y
6112            } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
6113          }
6114          i = -1;
6115        }
6116      }
6117      return {
6118        x,
6119        y,
6120        placement: statefulPlacement,
6121        strategy,
6122        middlewareData
6123      };
6124    };
6125    var flip = function(options) {
6126      if (options === void 0) {
6127        options = {};
6128      }
6129      return {
6130        name: "flip",
6131        options,
6132        async fn(state) {
6133          var _middlewareData$arrow, _middlewareData$flip;
6134          const {
6135            placement,
6136            middlewareData,
6137            rects,
6138            initialPlacement,
6139            platform: platform3,
6140            elements
6141          } = state;
6142          const {
6143            mainAxis: checkMainAxis = true,
6144            crossAxis: checkCrossAxis = true,
6145            fallbackPlacements: specifiedFallbackPlacements,
6146            fallbackStrategy = "bestFit",
6147            fallbackAxisSideDirection = "none",
6148            flipAlignment = true,
6149            ...detectOverflowOptions
6150          } = evaluate(options, state);
6151          if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
6152            return {};
6153          }
6154          const side = getSide(placement);
6155          const initialSideAxis = getSideAxis(initialPlacement);
6156          const isBasePlacement = getSide(initialPlacement) === initialPlacement;
6157          const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating));
6158          const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
6159          const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none";
6160          if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
6161            fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
6162          }
6163          const placements2 = [initialPlacement, ...fallbackPlacements];
6164          const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
6165          const overflows = [];
6166          let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
6167          if (checkMainAxis) {
6168            overflows.push(overflow[side]);
6169          }
6170          if (checkCrossAxis) {
6171            const sides2 = getAlignmentSides(placement, rects, rtl);
6172            overflows.push(overflow[sides2[0]], overflow[sides2[1]]);
6173          }
6174          overflowsData = [...overflowsData, {
6175            placement,
6176            overflows
6177          }];
6178          if (!overflows.every((side2) => side2 <= 0)) {
6179            var _middlewareData$flip2, _overflowsData$filter;
6180            const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
6181            const nextPlacement = placements2[nextIndex];
6182            if (nextPlacement) {
6183              const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false;
6184              if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis
6185              // overflows the main axis.
6186              overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
6187                return {
6188                  data: {
6189                    index: nextIndex,
6190                    overflows: overflowsData
6191                  },
6192                  reset: {
6193                    placement: nextPlacement
6194                  }
6195                };
6196              }
6197            }
6198            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;
6199            if (!resetPlacement) {
6200              switch (fallbackStrategy) {
6201                case "bestFit": {
6202                  var _overflowsData$filter2;
6203                  const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {
6204                    if (hasFallbackAxisSideDirection) {
6205                      const currentSideAxis = getSideAxis(d.placement);
6206                      return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal
6207                      // reading directions favoring greater width.
6208                      currentSideAxis === "y";
6209                    }
6210                    return true;
6211                  }).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];
6212                  if (placement2) {
6213                    resetPlacement = placement2;
6214                  }
6215                  break;
6216                }
6217                case "initialPlacement":
6218                  resetPlacement = initialPlacement;
6219                  break;
6220              }
6221            }
6222            if (placement !== resetPlacement) {
6223              return {
6224                reset: {
6225                  placement: resetPlacement
6226                }
6227              };
6228            }
6229          }
6230          return {};
6231        }
6232      };
6233    };
6234    var originSides = /* @__PURE__ */ new Set(["left", "top"]);
6235    async function convertValueToCoords(state, options) {
6236      const {
6237        placement,
6238        platform: platform3,
6239        elements
6240      } = state;
6241      const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating));
6242      const side = getSide(placement);
6243      const alignment = getAlignment(placement);
6244      const isVertical = getSideAxis(placement) === "y";
6245      const mainAxisMulti = originSides.has(side) ? -1 : 1;
6246      const crossAxisMulti = rtl && isVertical ? -1 : 1;
6247      const rawValue = evaluate(options, state);
6248      let {
6249        mainAxis,
6250        crossAxis,
6251        alignmentAxis
6252      } = typeof rawValue === "number" ? {
6253        mainAxis: rawValue,
6254        crossAxis: 0,
6255        alignmentAxis: null
6256      } : {
6257        mainAxis: rawValue.mainAxis || 0,
6258        crossAxis: rawValue.crossAxis || 0,
6259        alignmentAxis: rawValue.alignmentAxis
6260      };
6261      if (alignment && typeof alignmentAxis === "number") {
6262        crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis;
6263      }
6264      return isVertical ? {
6265        x: crossAxis * crossAxisMulti,
6266        y: mainAxis * mainAxisMulti
6267      } : {
6268        x: mainAxis * mainAxisMulti,
6269        y: crossAxis * crossAxisMulti
6270      };
6271    }
6272    var offset = function(options) {
6273      if (options === void 0) {
6274        options = 0;
6275      }
6276      return {
6277        name: "offset",
6278        options,
6279        async fn(state) {
6280          var _middlewareData$offse, _middlewareData$arrow;
6281          const {
6282            x,
6283            y,
6284            placement,
6285            middlewareData
6286          } = state;
6287          const diffCoords = await convertValueToCoords(state, options);
6288          if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
6289            return {};
6290          }
6291          return {
6292            x: x + diffCoords.x,
6293            y: y + diffCoords.y,
6294            data: {
6295              ...diffCoords,
6296              placement
6297            }
6298          };
6299        }
6300      };
6301    };
6302    var shift = function(options) {
6303      if (options === void 0) {
6304        options = {};
6305      }
6306      return {
6307        name: "shift",
6308        options,
6309        async fn(state) {
6310          const {
6311            x,
6312            y,
6313            placement,
6314            platform: platform3
6315          } = state;
6316          const {
6317            mainAxis: checkMainAxis = true,
6318            crossAxis: checkCrossAxis = false,
6319            limiter = {
6320              fn: (_ref) => {
6321                let {
6322                  x: x2,
6323                  y: y2
6324                } = _ref;
6325                return {
6326                  x: x2,
6327                  y: y2
6328                };
6329              }
6330            },
6331            ...detectOverflowOptions
6332          } = evaluate(options, state);
6333          const coords = {
6334            x,
6335            y
6336          };
6337          const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
6338          const crossAxis = getSideAxis(placement);
6339          const mainAxis = getOppositeAxis(crossAxis);
6340          let mainAxisCoord = coords[mainAxis];
6341          let crossAxisCoord = coords[crossAxis];
6342          const clampCoord = (axis, coord) => clamp(coord + overflow[axis === "y" ? "top" : "left"], coord, coord - overflow[axis === "y" ? "bottom" : "right"]);
6343          if (checkMainAxis) {
6344            mainAxisCoord = clampCoord(mainAxis, mainAxisCoord);
6345          }
6346          if (checkCrossAxis) {
6347            crossAxisCoord = clampCoord(crossAxis, crossAxisCoord);
6348          }
6349          const limitedCoords = limiter.fn({
6350            ...state,
6351            [mainAxis]: mainAxisCoord,
6352            [crossAxis]: crossAxisCoord
6353          });
6354          return {
6355            ...limitedCoords,
6356            data: {
6357              x: limitedCoords.x - x,
6358              y: limitedCoords.y - y,
6359              enabled: {
6360                [mainAxis]: checkMainAxis,
6361                [crossAxis]: checkCrossAxis
6362              }
6363            }
6364          };
6365        }
6366      };
6367    };
6368    var limitShift = function(options) {
6369      if (options === void 0) {
6370        options = {};
6371      }
6372      return {
6373        options,
6374        fn(state) {
6375          var _rawOffset$mainAxis, _rawOffset$crossAxis;
6376          const {
6377            x,
6378            y,
6379            placement,
6380            rects,
6381            middlewareData
6382          } = state;
6383          const {
6384            offset: offset4 = 0,
6385            mainAxis: checkMainAxis = true,
6386            crossAxis: checkCrossAxis = true
6387          } = evaluate(options, state);
6388          const coords = {
6389            x,
6390            y
6391          };
6392          const crossAxis = getSideAxis(placement);
6393          const mainAxis = getOppositeAxis(crossAxis);
6394          let mainAxisCoord = coords[mainAxis];
6395          let crossAxisCoord = coords[crossAxis];
6396          const rawOffset = evaluate(offset4, state);
6397          const computedOffset = typeof rawOffset === "number" ? {
6398            mainAxis: rawOffset,
6399            crossAxis: 0
6400          } : {
6401            mainAxis: (_rawOffset$mainAxis = rawOffset.mainAxis) != null ? _rawOffset$mainAxis : 0,
6402            crossAxis: (_rawOffset$crossAxis = rawOffset.crossAxis) != null ? _rawOffset$crossAxis : 0
6403          };
6404          if (checkMainAxis) {
6405            const len = mainAxis === "y" ? "height" : "width";
6406            const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;
6407            const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;
6408            if (mainAxisCoord < limitMin) {
6409              mainAxisCoord = limitMin;
6410            } else if (mainAxisCoord > limitMax) {
6411              mainAxisCoord = limitMax;
6412            }
6413          }
6414          if (checkCrossAxis) {
6415            var _middlewareData$offse, _middlewareData$offse2;
6416            const len = mainAxis === "y" ? "width" : "height";
6417            const isOriginSide = originSides.has(getSide(placement));
6418            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);
6419            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);
6420            if (crossAxisCoord < limitMin) {
6421              crossAxisCoord = limitMin;
6422            } else if (crossAxisCoord > limitMax) {
6423              crossAxisCoord = limitMax;
6424            }
6425          }
6426          return {
6427            [mainAxis]: mainAxisCoord,
6428            [crossAxis]: crossAxisCoord
6429          };
6430        }
6431      };
6432    };
6433    var size = function(options) {
6434      if (options === void 0) {
6435        options = {};
6436      }
6437      return {
6438        name: "size",
6439        options,
6440        async fn(state) {
6441          const {
6442            placement,
6443            rects,
6444            platform: platform3,
6445            elements
6446          } = state;
6447          const {
6448            apply = () => {
6449            },
6450            ...detectOverflowOptions
6451          } = evaluate(options, state);
6452          const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
6453          const side = getSide(placement);
6454          const alignment = getAlignment(placement);
6455          const isYAxis = getSideAxis(placement) === "y";
6456          const {
6457            width,
6458            height
6459          } = rects.floating;
6460          let heightSide;
6461          let widthSide;
6462          if (side === "top" || side === "bottom") {
6463            heightSide = side;
6464            widthSide = alignment === (await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating)) ? "start" : "end") ? "left" : "right";
6465          } else {
6466            widthSide = side;
6467            heightSide = alignment === "end" ? "top" : "bottom";
6468          }
6469          const maximumClippingHeight = height - overflow.top - overflow.bottom;
6470          const maximumClippingWidth = width - overflow.left - overflow.right;
6471          const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
6472          const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
6473          const shiftData = state.middlewareData.shift;
6474          const noShift = !shiftData;
6475          let availableHeight2 = overflowAvailableHeight;
6476          let availableWidth2 = overflowAvailableWidth;
6477          if (shiftData != null && shiftData.enabled.x) {
6478            availableWidth2 = maximumClippingWidth;
6479          }
6480          if (shiftData != null && shiftData.enabled.y) {
6481            availableHeight2 = maximumClippingHeight;
6482          }
6483          if (noShift && !alignment) {
6484            if (isYAxis) {
6485              availableWidth2 = width - 2 * max(overflow.left, overflow.right);
6486            } else {
6487              availableHeight2 = height - 2 * max(overflow.top, overflow.bottom);
6488            }
6489          }
6490          await apply({
6491            ...state,
6492            availableWidth: availableWidth2,
6493            availableHeight: availableHeight2
6494          });
6495          const nextDimensions = await platform3.getDimensions(elements.floating);
6496          if (width !== nextDimensions.width || height !== nextDimensions.height) {
6497            return {
6498              reset: {
6499                rects: true
6500              }
6501            };
6502          }
6503          return {};
6504        }
6505      };
6506    };
6507  
6508    // node_modules/.store/@floating-ui/dom@1.8.0-vHXcr4FgWneV0cgwFw-d7A/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
6509    function getCssDimensions(element) {
6510      const css = getComputedStyle2(element);
6511      let width = parseFloat(css.width) || 0;
6512      let height = parseFloat(css.height) || 0;
6513      const hasOffset = isHTMLElement(element);
6514      const offsetWidth = hasOffset ? element.offsetWidth : width;
6515      const offsetHeight = hasOffset ? element.offsetHeight : height;
6516      const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
6517      if (shouldFallback) {
6518        width = offsetWidth;
6519        height = offsetHeight;
6520      }
6521      return {
6522        width,
6523        height,
6524        $: shouldFallback
6525      };
6526    }
6527    function unwrapElement(element) {
6528      return !isElement(element) ? element.contextElement : element;
6529    }
6530    function getScale(element) {
6531      const domElement = unwrapElement(element);
6532      if (!isHTMLElement(domElement)) {
6533        return createCoords(1);
6534      }
6535      const rect = domElement.getBoundingClientRect();
6536      const {
6537        width,
6538        height,
6539        $
6540      } = getCssDimensions(domElement);
6541      let x = ($ ? round(rect.width) : rect.width) / width;
6542      let y = ($ ? round(rect.height) : rect.height) / height;
6543      if (!x || !Number.isFinite(x)) {
6544        x = 1;
6545      }
6546      if (!y || !Number.isFinite(y)) {
6547        y = 1;
6548      }
6549      return {
6550        x,
6551        y
6552      };
6553    }
6554    var noOffsets = /* @__PURE__ */ createCoords(0);
6555    function getVisualOffsets(element) {
6556      const win = getWindow(element);
6557      if (!isWebKit() || !win.visualViewport) {
6558        return noOffsets;
6559      }
6560      return {
6561        x: win.visualViewport.offsetLeft,
6562        y: win.visualViewport.offsetTop
6563      };
6564    }
6565    function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
6566      if (isFixed === void 0) {
6567        isFixed = false;
6568      }
6569      return !!floatingOffsetParent && isFixed && floatingOffsetParent === getWindow(element);
6570    }
6571    function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
6572      if (includeScale === void 0) {
6573        includeScale = false;
6574      }
6575      if (isFixedStrategy === void 0) {
6576        isFixedStrategy = false;
6577      }
6578      const clientRect = element.getBoundingClientRect();
6579      const domElement = unwrapElement(element);
6580      let scale = createCoords(1);
6581      if (includeScale) {
6582        if (offsetParent) {
6583          if (isElement(offsetParent)) {
6584            scale = getScale(offsetParent);
6585          }
6586        } else {
6587          scale = getScale(element);
6588        }
6589      }
6590      const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
6591      let x = (clientRect.left + visualOffsets.x) / scale.x;
6592      let y = (clientRect.top + visualOffsets.y) / scale.y;
6593      let width = clientRect.width / scale.x;
6594      let height = clientRect.height / scale.y;
6595      if (domElement && offsetParent) {
6596        const win = getWindow(domElement);
6597        const offsetWin = isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
6598        let currentWin = win;
6599        let currentIFrame = getFrameElement(currentWin);
6600        while (currentIFrame && offsetWin !== currentWin) {
6601          const iframeScale = getScale(currentIFrame);
6602          const iframeRect = currentIFrame.getBoundingClientRect();
6603          const css = getComputedStyle2(currentIFrame);
6604          const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
6605          const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
6606          x *= iframeScale.x;
6607          y *= iframeScale.y;
6608          width *= iframeScale.x;
6609          height *= iframeScale.y;
6610          x += left;
6611          y += top;
6612          currentWin = getWindow(currentIFrame);
6613          currentIFrame = getFrameElement(currentWin);
6614        }
6615      }
6616      return rectToClientRect({
6617        width,
6618        height,
6619        x,
6620        y
6621      });
6622    }
6623    function getWindowScrollBarX(element, rect) {
6624      const leftScroll = getNodeScroll(element).scrollLeft;
6625      if (!rect) {
6626        return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
6627      }
6628      return rect.left + leftScroll;
6629    }
6630    function getHTMLOffset(documentElement, scroll) {
6631      const htmlRect = documentElement.getBoundingClientRect();
6632      const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
6633      const y = htmlRect.top + scroll.scrollTop;
6634      return {
6635        x,
6636        y
6637      };
6638    }
6639    function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
6640      let {
6641        elements,
6642        rect,
6643        offsetParent,
6644        strategy
6645      } = _ref;
6646      const isFixed = strategy === "fixed";
6647      const documentElement = getDocumentElement(offsetParent);
6648      const topLayer = elements ? isTopLayer(elements.floating) : false;
6649      if (offsetParent === documentElement || topLayer && isFixed) {
6650        return rect;
6651      }
6652      let scroll = {
6653        scrollLeft: 0,
6654        scrollTop: 0
6655      };
6656      let scale = createCoords(1);
6657      const offsets = createCoords(0);
6658      const isOffsetParentAnElement = isHTMLElement(offsetParent);
6659      if (isOffsetParentAnElement || !isFixed) {
6660        if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
6661          scroll = getNodeScroll(offsetParent);
6662        }
6663        if (isOffsetParentAnElement) {
6664          const offsetRect = getBoundingClientRect(offsetParent);
6665          scale = getScale(offsetParent);
6666          offsets.x = offsetRect.x + offsetParent.clientLeft;
6667          offsets.y = offsetRect.y + offsetParent.clientTop;
6668        }
6669      }
6670      const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
6671      return {
6672        width: rect.width * scale.x,
6673        height: rect.height * scale.y,
6674        x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
6675        y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
6676      };
6677    }
6678    function getClientRects(element) {
6679      return element.getClientRects ? Array.from(element.getClientRects()) : [];
6680    }
6681    function getDocumentRect(html) {
6682      const scroll = getNodeScroll(html);
6683      const body = html.ownerDocument.body;
6684      const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
6685      const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
6686      let x = -scroll.scrollLeft + getWindowScrollBarX(html);
6687      const y = -scroll.scrollTop;
6688      if (getComputedStyle2(body).direction === "rtl") {
6689        x += max(html.clientWidth, body.clientWidth) - width;
6690      }
6691      return {
6692        width,
6693        height,
6694        x,
6695        y
6696      };
6697    }
6698    var SCROLLBAR_MAX = 25;
6699    function getViewportRect(element, strategy, rootBoundary) {
6700      if (rootBoundary === void 0) {
6701        rootBoundary = "viewport";
6702      }
6703      const isLayoutViewport = rootBoundary === "layoutViewport";
6704      const win = getWindow(element);
6705      const html = getDocumentElement(element);
6706      const visualViewport = win.visualViewport;
6707      let width = html.clientWidth;
6708      let height = html.clientHeight;
6709      let x = 0;
6710      let y = 0;
6711      if (visualViewport) {
6712        const layoutRelativeClientCoords = !isWebKit() || strategy === "fixed";
6713        if (isLayoutViewport) {
6714          if (!layoutRelativeClientCoords) {
6715            x = -visualViewport.offsetLeft;
6716            y = -visualViewport.offsetTop;
6717          }
6718        } else {
6719          width = visualViewport.width;
6720          height = visualViewport.height;
6721          if (layoutRelativeClientCoords) {
6722            x = visualViewport.offsetLeft;
6723            y = visualViewport.offsetTop;
6724          }
6725        }
6726      }
6727      const windowScrollbarX = getWindowScrollBarX(html);
6728      if (windowScrollbarX <= 0) {
6729        const doc = html.ownerDocument;
6730        const body = doc.body;
6731        const bodyStyles = getComputedStyle(body);
6732        const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
6733        const reservedWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
6734        const gutter = getComputedStyle(html).scrollbarGutter === "stable both-edges" ? reservedWidth / 2 : reservedWidth;
6735        if (gutter <= SCROLLBAR_MAX) {
6736          width -= gutter;
6737        }
6738      }
6739      return {
6740        width,
6741        height,
6742        x,
6743        y
6744      };
6745    }
6746    function getInnerBoundingClientRect(element, strategy) {
6747      const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
6748      const top = clientRect.top + element.clientTop;
6749      const left = clientRect.left + element.clientLeft;
6750      const scale = getScale(element);
6751      const width = element.clientWidth * scale.x;
6752      const height = element.clientHeight * scale.y;
6753      const x = left * scale.x;
6754      const y = top * scale.y;
6755      return {
6756        width,
6757        height,
6758        x,
6759        y
6760      };
6761    }
6762    function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
6763      let rect;
6764      if (clippingAncestor === "viewport" || clippingAncestor === "layoutViewport") {
6765        rect = getViewportRect(element, strategy, clippingAncestor);
6766      } else if (clippingAncestor === "document") {
6767        rect = getDocumentRect(getDocumentElement(element));
6768      } else if (isElement(clippingAncestor)) {
6769        rect = getInnerBoundingClientRect(clippingAncestor, strategy);
6770      } else {
6771        const visualOffsets = getVisualOffsets(element);
6772        rect = {
6773          x: clippingAncestor.x - visualOffsets.x,
6774          y: clippingAncestor.y - visualOffsets.y,
6775          width: clippingAncestor.width,
6776          height: clippingAncestor.height
6777        };
6778      }
6779      return rectToClientRect(rect);
6780    }
6781    function getClippingElementAncestors(element, cache) {
6782      const cachedResult = cache.get(element);
6783      if (cachedResult) {
6784        return cachedResult;
6785      }
6786      let result = getOverflowAncestors(element, [], false).filter((el2) => isElement(el2) && getNodeName(el2) !== "body");
6787      let lastKeptComputedStyle = null;
6788      const elementIsFixed = getComputedStyle2(element).position === "fixed";
6789      let currentNode = elementIsFixed ? getParentNode(element) : element;
6790      while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
6791        const computedStyle = getComputedStyle2(currentNode);
6792        const currentNodeIsContaining = isContainingBlock(currentNode);
6793        const lastPosition = lastKeptComputedStyle ? lastKeptComputedStyle.position : elementIsFixed ? "fixed" : "";
6794        const shouldDropCurrentNode = !currentNodeIsContaining && (lastPosition === "fixed" || lastPosition === "absolute" && computedStyle.position === "static");
6795        if (shouldDropCurrentNode) {
6796          result = result.filter((ancestor) => ancestor !== currentNode);
6797        } else {
6798          lastKeptComputedStyle = computedStyle;
6799        }
6800        currentNode = getParentNode(currentNode);
6801      }
6802      cache.set(element, result);
6803      return result;
6804    }
6805    function getClippingRect(_ref) {
6806      let {
6807        element,
6808        boundary,
6809        rootBoundary,
6810        strategy
6811      } = _ref;
6812      const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
6813      const clippingAncestors = [...elementClippingAncestors, rootBoundary];
6814      const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
6815      let top = firstRect.top;
6816      let right = firstRect.right;
6817      let bottom = firstRect.bottom;
6818      let left = firstRect.left;
6819      for (let i = 1; i < clippingAncestors.length; i++) {
6820        const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
6821        top = max(rect.top, top);
6822        right = min(rect.right, right);
6823        bottom = min(rect.bottom, bottom);
6824        left = max(rect.left, left);
6825      }
6826      return {
6827        width: right - left,
6828        height: bottom - top,
6829        x: left,
6830        y: top
6831      };
6832    }
6833    function getDimensions(element) {
6834      const {
6835        width,
6836        height
6837      } = getCssDimensions(element);
6838      return {
6839        width,
6840        height
6841      };
6842    }
6843    function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
6844      const isOffsetParentAnElement = isHTMLElement(offsetParent);
6845      const documentElement = getDocumentElement(offsetParent);
6846      const isFixed = strategy === "fixed";
6847      const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
6848      let scroll = {
6849        scrollLeft: 0,
6850        scrollTop: 0
6851      };
6852      const offsets = createCoords(0);
6853      if (isOffsetParentAnElement || !isFixed) {
6854        if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
6855          scroll = getNodeScroll(offsetParent);
6856        }
6857        if (isOffsetParentAnElement) {
6858          const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
6859          offsets.x = offsetRect.x + offsetParent.clientLeft;
6860          offsets.y = offsetRect.y + offsetParent.clientTop;
6861        }
6862      }
6863      if (!isOffsetParentAnElement && documentElement) {
6864        offsets.x = getWindowScrollBarX(documentElement);
6865      }
6866      const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
6867      const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
6868      const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
6869      return {
6870        x,
6871        y,
6872        width: rect.width,
6873        height: rect.height
6874      };
6875    }
6876    function isStaticPositioned(element) {
6877      return getComputedStyle2(element).position === "static";
6878    }
6879    function getTrueOffsetParent(element, polyfill) {
6880      if (!isHTMLElement(element) || getComputedStyle2(element).position === "fixed") {
6881        return null;
6882      }
6883      if (polyfill) {
6884        return polyfill(element);
6885      }
6886      let rawOffsetParent = element.offsetParent;
6887      if (getDocumentElement(element) === rawOffsetParent) {
6888        rawOffsetParent = rawOffsetParent.ownerDocument.body;
6889      }
6890      return rawOffsetParent;
6891    }
6892    function getOffsetParent(element, polyfill) {
6893      const win = getWindow(element);
6894      if (isTopLayer(element)) {
6895        return win;
6896      }
6897      if (!isHTMLElement(element)) {
6898        let svgOffsetParent = getParentNode(element);
6899        while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
6900          if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
6901            return svgOffsetParent;
6902          }
6903          svgOffsetParent = getParentNode(svgOffsetParent);
6904        }
6905        return win;
6906      }
6907      let offsetParent = getTrueOffsetParent(element, polyfill);
6908      while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
6909        offsetParent = getTrueOffsetParent(offsetParent, polyfill);
6910      }
6911      if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
6912        return win;
6913      }
6914      return offsetParent || getContainingBlock(element) || win;
6915    }
6916    var getElementRects = async function(data) {
6917      const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
6918      const getDimensionsFn = this.getDimensions;
6919      const floatingDimensions = await getDimensionsFn(data.floating);
6920      return {
6921        reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
6922        floating: {
6923          x: 0,
6924          y: 0,
6925          width: floatingDimensions.width,
6926          height: floatingDimensions.height
6927        }
6928      };
6929    };
6930    function isRTL(element) {
6931      return getComputedStyle2(element).direction === "rtl";
6932    }
6933    var platform2 = {
6934      convertOffsetParentRelativeRectToViewportRelativeRect,
6935      getDocumentElement,
6936      getClippingRect,
6937      getOffsetParent,
6938      getElementRects,
6939      getClientRects,
6940      getDimensions,
6941      getScale,
6942      isElement,
6943      isRTL
6944    };
6945    function rectsAreEqual(a, b) {
6946      return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
6947    }
6948    function observeMove(element, onMove, ancestorResize) {
6949      let io = null;
6950      let timeoutId;
6951      const root = getDocumentElement(element);
6952      function cleanup() {
6953        var _io;
6954        clearTimeout(timeoutId);
6955        (_io = io) == null || _io.disconnect();
6956        io = null;
6957      }
6958      function refresh(skip, threshold) {
6959        if (skip === void 0) {
6960          skip = false;
6961        }
6962        if (threshold === void 0) {
6963          threshold = 1;
6964        }
6965        cleanup();
6966        const elementRectForRootMargin = element.getBoundingClientRect();
6967        const {
6968          left,
6969          top,
6970          width,
6971          height
6972        } = elementRectForRootMargin;
6973        if (!skip) {
6974          onMove();
6975        }
6976        if (!width || !height) {
6977          return;
6978        }
6979        const insetTop = floor(top);
6980        const insetRight = floor(root.clientWidth - (left + width));
6981        const insetBottom = floor(root.clientHeight - (top + height));
6982        const insetLeft = floor(left);
6983        const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
6984        const options = {
6985          rootMargin,
6986          threshold: max(0, min(1, threshold)) || 1
6987        };
6988        let isFirstUpdate = true;
6989        function handleObserve(entries) {
6990          const ratio = entries[0].intersectionRatio;
6991          if (!rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
6992            return refresh();
6993          }
6994          if (ratio !== threshold) {
6995            if (!isFirstUpdate) {
6996              return refresh();
6997            }
6998            if (!ratio) {
6999              timeoutId = setTimeout(() => {
7000                refresh(false, 1e-7);
7001              }, 1e3);
7002            } else {
7003              refresh(false, ratio);
7004            }
7005          }
7006          isFirstUpdate = false;
7007        }
7008        try {
7009          io = new IntersectionObserver(handleObserve, {
7010            ...options,
7011            // Handle <iframe>s
7012            root: root.ownerDocument
7013          });
7014        } catch (_e) {
7015          io = new IntersectionObserver(handleObserve, options);
7016        }
7017        io.observe(element);
7018      }
7019      const win = getWindow(element);
7020      const handleResize = () => refresh(ancestorResize);
7021      win.addEventListener("resize", handleResize);
7022      refresh(true);
7023      return () => {
7024        win.removeEventListener("resize", handleResize);
7025        cleanup();
7026      };
7027    }
7028    function autoUpdate(reference, floating, update2, options) {
7029      if (options === void 0) {
7030        options = {};
7031      }
7032      const {
7033        ancestorScroll = true,
7034        ancestorResize = true,
7035        elementResize = typeof ResizeObserver === "function",
7036        layoutShift = typeof IntersectionObserver === "function",
7037        animationFrame = false
7038      } = options;
7039      const referenceEl = unwrapElement(reference);
7040      const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];
7041      ancestors.forEach((ancestor) => {
7042        ancestorScroll && ancestor.addEventListener("scroll", update2);
7043        ancestorResize && ancestor.addEventListener("resize", update2);
7044      });
7045      const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update2, ancestorResize) : null;
7046      let reobserveFrame = -1;
7047      let resizeObserver = null;
7048      if (elementResize) {
7049        resizeObserver = new ResizeObserver((_ref) => {
7050          let [firstEntry] = _ref;
7051          if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
7052            resizeObserver.unobserve(floating);
7053            cancelAnimationFrame(reobserveFrame);
7054            reobserveFrame = requestAnimationFrame(() => {
7055              var _resizeObserver;
7056              (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
7057            });
7058          }
7059          update2();
7060        });
7061        if (referenceEl && !animationFrame) {
7062          resizeObserver.observe(referenceEl);
7063        }
7064        if (floating) {
7065          resizeObserver.observe(floating);
7066        }
7067      }
7068      let frameId;
7069      let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
7070      if (animationFrame) {
7071        frameLoop();
7072      }
7073      function frameLoop() {
7074        const nextRefRect = getBoundingClientRect(reference);
7075        if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
7076          update2();
7077        }
7078        prevRefRect = nextRefRect;
7079        frameId = requestAnimationFrame(frameLoop);
7080      }
7081      update2();
7082      return () => {
7083        var _resizeObserver2;
7084        ancestors.forEach((ancestor) => {
7085          ancestorScroll && ancestor.removeEventListener("scroll", update2);
7086          ancestorResize && ancestor.removeEventListener("resize", update2);
7087        });
7088        cleanupIo == null || cleanupIo();
7089        (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
7090        resizeObserver = null;
7091        if (animationFrame) {
7092          cancelAnimationFrame(frameId);
7093        }
7094      };
7095    }
7096    var offset2 = offset;
7097    var shift2 = shift;
7098    var flip2 = flip;
7099    var size2 = size;
7100    var limitShift2 = limitShift;
7101    var computePosition2 = (reference, floating, options) => {
7102      const cache = /* @__PURE__ */ new Map();
7103      const mergedOptions = options != null ? options : {};
7104      const platformWithCache = {
7105        ...platform2,
7106        ...mergedOptions.platform,
7107        _c: cache
7108      };
7109      return computePosition(reference, floating, {
7110        ...mergedOptions,
7111        platform: platformWithCache
7112      });
7113    };
7114  
7115    // node_modules/.store/@floating-ui/react-dom@2.1.9-AxWcAwqlMfOrAFOinFKSVg/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs
7116    var React32 = __toESM(require_react(), 1);
7117    var import_react2 = __toESM(require_react(), 1);
7118    var ReactDOM4 = __toESM(require_react_dom(), 1);
7119    var isClient = typeof document !== "undefined";
7120    var noop2 = function noop3() {
7121    };
7122    var index = isClient ? import_react2.useLayoutEffect : noop2;
7123    function deepEqual(a, b) {
7124      if (a === b) {
7125        return true;
7126      }
7127      if (typeof a !== typeof b) {
7128        return false;
7129      }
7130      if (typeof a === "function" && a.toString() === b.toString()) {
7131        return true;
7132      }
7133      let length;
7134      let i;
7135      let keys;
7136      if (a && b && typeof a === "object") {
7137        if (Array.isArray(a)) {
7138          length = a.length;
7139          if (length !== b.length) return false;
7140          for (i = length; i-- !== 0; ) {
7141            if (!deepEqual(a[i], b[i])) {
7142              return false;
7143            }
7144          }
7145          return true;
7146        }
7147        keys = Object.keys(a);
7148        length = keys.length;
7149        if (length !== Object.keys(b).length) {
7150          return false;
7151        }
7152        for (i = length; i-- !== 0; ) {
7153          if (!{}.hasOwnProperty.call(b, keys[i])) {
7154            return false;
7155          }
7156        }
7157        for (i = length; i-- !== 0; ) {
7158          const key = keys[i];
7159          if (key === "_owner" && a.$$typeof) {
7160            continue;
7161          }
7162          if (!deepEqual(a[key], b[key])) {
7163            return false;
7164          }
7165        }
7166        return true;
7167      }
7168      return a !== a && b !== b;
7169    }
7170    function getDPR(element) {
7171      if (typeof window === "undefined") {
7172        return 1;
7173      }
7174      const win = element.ownerDocument.defaultView || window;
7175      return win.devicePixelRatio || 1;
7176    }
7177    function roundByDPR(element, value) {
7178      const dpr = getDPR(element);
7179      return Math.round(value * dpr) / dpr;
7180    }
7181    function useLatestRef(value) {
7182      const ref = React32.useRef(value);
7183      index(() => {
7184        ref.current = value;
7185      });
7186      return ref;
7187    }
7188    function useFloating(options) {
7189      if (options === void 0) {
7190        options = {};
7191      }
7192      const {
7193        placement = "bottom",
7194        strategy = "absolute",
7195        middleware = [],
7196        platform: platform3,
7197        elements: {
7198          reference: externalReference,
7199          floating: externalFloating
7200        } = {},
7201        transform = true,
7202        whileElementsMounted,
7203        open: open2
7204      } = options;
7205      const [data, setData] = React32.useState({
7206        x: 0,
7207        y: 0,
7208        strategy,
7209        placement,
7210        middlewareData: {},
7211        isPositioned: false
7212      });
7213      const [latestMiddleware, setLatestMiddleware] = React32.useState(middleware);
7214      if (!deepEqual(latestMiddleware, middleware)) {
7215        setLatestMiddleware(middleware);
7216      }
7217      const [_reference, _setReference] = React32.useState(null);
7218      const [_floating, _setFloating] = React32.useState(null);
7219      const setReference = React32.useCallback((node) => {
7220        if (node !== referenceRef.current) {
7221          referenceRef.current = node;
7222          _setReference(node);
7223        }
7224      }, []);
7225      const setFloating = React32.useCallback((node) => {
7226        if (node !== floatingRef.current) {
7227          floatingRef.current = node;
7228          _setFloating(node);
7229        }
7230      }, []);
7231      const referenceEl = externalReference || _reference;
7232      const floatingEl = externalFloating || _floating;
7233      const referenceRef = React32.useRef(null);
7234      const floatingRef = React32.useRef(null);
7235      const dataRef = React32.useRef(data);
7236      const hasWhileElementsMounted = whileElementsMounted != null;
7237      const whileElementsMountedRef = useLatestRef(whileElementsMounted);
7238      const platformRef = useLatestRef(platform3);
7239      const openRef = useLatestRef(open2);
7240      const update2 = React32.useCallback(() => {
7241        if (!referenceRef.current || !floatingRef.current) {
7242          return;
7243        }
7244        const config = {
7245          placement,
7246          strategy,
7247          middleware: latestMiddleware
7248        };
7249        if (platformRef.current) {
7250          config.platform = platformRef.current;
7251        }
7252        computePosition2(referenceRef.current, floatingRef.current, config).then((data2) => {
7253          const fullData = {
7254            ...data2,
7255            // The floating element's position may be recomputed while it's closed
7256            // but still mounted (such as when transitioning out). To ensure
7257            // `isPositioned` will be `false` initially on the next open, avoid
7258            // setting it to `true` when `open === false` (must be specified).
7259            isPositioned: openRef.current !== false
7260          };
7261          if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {
7262            dataRef.current = fullData;
7263            ReactDOM4.flushSync(() => {
7264              setData(fullData);
7265            });
7266          }
7267        });
7268      }, [latestMiddleware, placement, strategy, platformRef, openRef]);
7269      index(() => {
7270        if (open2 === false && dataRef.current.isPositioned) {
7271          dataRef.current.isPositioned = false;
7272          setData((data2) => ({
7273            ...data2,
7274            isPositioned: false
7275          }));
7276        }
7277      }, [open2]);
7278      const isMountedRef = React32.useRef(false);
7279      index(() => {
7280        isMountedRef.current = true;
7281        return () => {
7282          isMountedRef.current = false;
7283        };
7284      }, []);
7285      index(() => {
7286        if (referenceEl) referenceRef.current = referenceEl;
7287        if (floatingEl) floatingRef.current = floatingEl;
7288        if (referenceEl && floatingEl) {
7289          if (whileElementsMountedRef.current) {
7290            return whileElementsMountedRef.current(referenceEl, floatingEl, update2);
7291          }
7292          update2();
7293        }
7294      }, [referenceEl, floatingEl, update2, whileElementsMountedRef, hasWhileElementsMounted]);
7295      const refs = React32.useMemo(() => ({
7296        reference: referenceRef,
7297        floating: floatingRef,
7298        setReference,
7299        setFloating
7300      }), [setReference, setFloating]);
7301      const elements = React32.useMemo(() => ({
7302        reference: referenceEl,
7303        floating: floatingEl
7304      }), [referenceEl, floatingEl]);
7305      const floatingStyles = React32.useMemo(() => {
7306        const initialStyles = {
7307          position: strategy,
7308          left: 0,
7309          top: 0
7310        };
7311        if (!elements.floating) {
7312          return initialStyles;
7313        }
7314        const x = roundByDPR(elements.floating, data.x);
7315        const y = roundByDPR(elements.floating, data.y);
7316        if (transform) {
7317          return {
7318            ...initialStyles,
7319            transform: "translate(" + x + "px, " + y + "px)",
7320            ...getDPR(elements.floating) >= 1.5 && {
7321              willChange: "transform"
7322            }
7323          };
7324        }
7325        return {
7326          position: strategy,
7327          left: x,
7328          top: y
7329        };
7330      }, [strategy, transform, elements.floating, data.x, data.y]);
7331      return React32.useMemo(() => ({
7332        ...data,
7333        update: update2,
7334        refs,
7335        elements,
7336        floatingStyles
7337      }), [data, update2, refs, elements, floatingStyles]);
7338    }
7339    var offset3 = (options, deps) => {
7340      const result = offset2(options);
7341      return {
7342        name: result.name,
7343        fn: result.fn,
7344        options: [options, deps]
7345      };
7346    };
7347    var shift3 = (options, deps) => {
7348      const result = shift2(options);
7349      return {
7350        name: result.name,
7351        fn: result.fn,
7352        options: [options, deps]
7353      };
7354    };
7355    var limitShift3 = (options, deps) => {
7356      const result = limitShift2(options);
7357      return {
7358        fn: result.fn,
7359        options: [options, deps]
7360      };
7361    };
7362    var flip3 = (options, deps) => {
7363      const result = flip2(options);
7364      return {
7365        name: result.name,
7366        fn: result.fn,
7367        options: [options, deps]
7368      };
7369    };
7370    var size3 = (options, deps) => {
7371      const result = size2(options);
7372      return {
7373        name: result.name,
7374        fn: result.fn,
7375        options: [options, deps]
7376      };
7377    };
7378  
7379    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/composite.mjs
7380    var ARROW_UP2 = "ArrowUp";
7381    var ARROW_DOWN2 = "ArrowDown";
7382    var ARROW_LEFT2 = "ArrowLeft";
7383    var ARROW_RIGHT2 = "ArrowRight";
7384    var HOME = "Home";
7385    var END = "End";
7386    var COMPOSITE_KEYS = /* @__PURE__ */ new Set([ARROW_UP2, ARROW_DOWN2, ARROW_LEFT2, ARROW_RIGHT2, HOME, END]);
7387  
7388    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/inertValue.mjs
7389    function inertValue(value) {
7390      if (isReactVersionAtLeast(19)) {
7391        return value;
7392      }
7393      return value ? "true" : void 0;
7394    }
7395  
7396    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/InternalBackdrop.mjs
7397    var React33 = __toESM(require_react(), 1);
7398    var import_jsx_runtime13 = __toESM(require_jsx_runtime(), 1);
7399    var InternalBackdrop = /* @__PURE__ */ React33.forwardRef(function InternalBackdrop2(props, ref) {
7400      const {
7401        cutout,
7402        ...otherProps
7403      } = props;
7404      let clipPath;
7405      if (cutout) {
7406        const rect = cutout.getBoundingClientRect();
7407        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)`;
7408      }
7409      return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", {
7410        ref,
7411        role: "presentation",
7412        "data-base-ui-inert": "",
7413        ...otherProps,
7414        style: {
7415          position: "fixed",
7416          inset: 0,
7417          userSelect: "none",
7418          WebkitUserSelect: "none",
7419          clipPath
7420        }
7421      });
7422    });
7423    if (true) InternalBackdrop.displayName = "InternalBackdrop";
7424  
7425    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useOpenInteractionType.mjs
7426    var React36 = __toESM(require_react(), 1);
7427  
7428    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useEnhancedClickHandler.mjs
7429    var React34 = __toESM(require_react(), 1);
7430    function useEnhancedClickHandler(handler) {
7431      const lastClickInteractionTypeRef = React34.useRef("");
7432      const handlePointerDown = React34.useCallback((event) => {
7433        if (event.defaultPrevented) {
7434          return;
7435        }
7436        lastClickInteractionTypeRef.current = event.pointerType;
7437        handler(event, event.pointerType);
7438      }, [handler]);
7439      const handleClick = React34.useCallback((event) => {
7440        if (event.detail === 0) {
7441          handler(event, "keyboard");
7442          return;
7443        }
7444        if ("pointerType" in event) {
7445          handler(event, event.pointerType);
7446        } else {
7447          handler(event, lastClickInteractionTypeRef.current);
7448        }
7449        lastClickInteractionTypeRef.current = "";
7450      }, [handler]);
7451      return {
7452        onClick: handleClick,
7453        onPointerDown: handlePointerDown
7454      };
7455    }
7456  
7457    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useValueChanged.mjs
7458    var React35 = __toESM(require_react(), 1);
7459    function useValueChanged(value, onChange) {
7460      const valueRef = React35.useRef(value);
7461      const onChangeCallback = useStableCallback(onChange);
7462      useIsoLayoutEffect(() => {
7463        if (valueRef.current !== value) {
7464          onChangeCallback(valueRef.current);
7465        }
7466        valueRef.current = value;
7467      }, [value, onChangeCallback]);
7468    }
7469  
7470    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useOpenInteractionType.mjs
7471    function useOpenMethodTriggerProps(open2, setOpenMethod) {
7472      const handleTriggerClick = useStableCallback((_, interactionType) => {
7473        const isOpen = typeof open2 === "function" ? open2() : open2;
7474        if (!isOpen) {
7475          setOpenMethod(interactionType || // On iOS Safari, the hitslop around touch targets means tapping outside an element's
7476          // bounds does not fire `pointerdown` but does fire `mousedown`. The `interactionType`
7477          // will be "" in that case.
7478          (parts_exports.os.ios ? "touch" : ""));
7479        }
7480      });
7481      const {
7482        onClick,
7483        onPointerDown
7484      } = useEnhancedClickHandler(handleTriggerClick);
7485      return React36.useMemo(() => ({
7486        onClick,
7487        onPointerDown
7488      }), [onClick, onPointerDown]);
7489    }
7490    function useOpenInteractionType(open2) {
7491      const [openMethod, setOpenMethod] = React36.useState(null);
7492      const triggerProps = useOpenMethodTriggerProps(open2, setOpenMethod);
7493      useValueChanged(open2, (previousOpen) => {
7494        if (previousOpen && !open2) {
7495          setOpenMethod(null);
7496        }
7497      });
7498      return React36.useMemo(() => ({
7499        openMethod,
7500        triggerProps
7501      }), [openMethod, triggerProps]);
7502    }
7503  
7504    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useOnFirstRender.mjs
7505    var React37 = __toESM(require_react(), 1);
7506    function useOnFirstRender(fn) {
7507      const ref = React37.useRef(true);
7508      if (ref.current) {
7509        ref.current = false;
7510        fn();
7511      }
7512    }
7513  
7514    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/areArraysEqual.mjs
7515    function areArraysEqual(array1, array2, itemComparer = Object.is) {
7516      const {
7517        length
7518      } = array1;
7519      if (length !== array2.length) {
7520        return false;
7521      }
7522      for (let i = 0; i < length; i += 1) {
7523        if (!itemComparer(array1[i], array2[i])) {
7524          return false;
7525        }
7526      }
7527      return true;
7528    }
7529  
7530    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/itemEquality.mjs
7531    var defaultItemEquality = (itemValue, selectedValue) => Object.is(itemValue, selectedValue);
7532    function compareItemEquality(itemValue, selectedValue, comparer) {
7533      if (itemValue == null || selectedValue == null) {
7534        return Object.is(itemValue, selectedValue);
7535      }
7536      return comparer(itemValue, selectedValue);
7537    }
7538    function isSelectedValueDirty(currentValue, initialValue, comparer) {
7539      if (Array.isArray(currentValue) && Array.isArray(initialValue)) {
7540        return !areArraysEqual(currentValue, initialValue, (itemValue, initialItemValue) => compareItemEquality(itemValue, initialItemValue, comparer));
7541      }
7542      return currentValue !== initialValue;
7543    }
7544    function selectedValueIncludes(selectedValues, itemValue, comparer) {
7545      if (!selectedValues) {
7546        return false;
7547      }
7548      return selectedValues.some((selectedValue) => {
7549        if (selectedValue === void 0) {
7550          return false;
7551        }
7552        return compareItemEquality(itemValue, selectedValue, comparer);
7553      });
7554    }
7555    function findItemIndex(itemValues, selectedValue, comparer) {
7556      if (!itemValues) {
7557        return -1;
7558      }
7559      return itemValues.findIndex((itemValue) => {
7560        if (itemValue === void 0) {
7561          return false;
7562        }
7563        return compareItemEquality(itemValue, selectedValue, comparer);
7564      });
7565    }
7566    function createSelectionMatcher(selectedValues, comparer) {
7567      if (comparer !== defaultItemEquality) {
7568        return (itemValue) => selectedValueIncludes(selectedValues, itemValue, comparer);
7569      }
7570      const index2 = new Set(selectedValues);
7571      index2.delete(void 0);
7572      return (itemValue) => index2.has(itemValue) && (itemValue !== 0 || selectedValues.some((v) => Object.is(itemValue, v)));
7573    }
7574    function findSelectionIndex(itemValues, selectedValue, comparer, multiple) {
7575      const index2 = multiple && Array.isArray(selectedValue) ? (
7576        // Anchor to the first selected item in rendered order so the index does not depend
7577        // on the order in which the values were added to the array.
7578        itemValues.findIndex(createSelectionMatcher(selectedValue, comparer))
7579      ) : findItemIndex(itemValues, selectedValue, comparer);
7580      return index2 === -1 ? null : index2;
7581    }
7582    function resolveSelectedIndex(index2, itemValue, registry, selectedValues, comparer, currentIndex) {
7583      if (selectedValueIncludes(selectedValues, itemValue, comparer)) {
7584        return currentIndex != null && index2 > currentIndex && selectedValueIncludes(selectedValues, registry[currentIndex], comparer) ? currentIndex : index2;
7585      }
7586      return index2 === currentIndex ? findSelectionIndex(registry, selectedValues, comparer, true) : currentIndex;
7587    }
7588    function removeItem(selectedValues, itemValue, comparer) {
7589      return selectedValues.filter((selectedValue) => !compareItemEquality(itemValue, selectedValue, comparer));
7590    }
7591  
7592    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/resolveValueLabel.mjs
7593    var React38 = __toESM(require_react(), 1);
7594  
7595    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/serializeValue.mjs
7596    function serializeValue(value) {
7597      if (value == null) {
7598        return "";
7599      }
7600      if (typeof value === "string") {
7601        return value;
7602      }
7603      try {
7604        return JSON.stringify(value);
7605      } catch {
7606        return String(value);
7607      }
7608    }
7609  
7610    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/resolveValueLabel.mjs
7611    var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1);
7612    function isGroup(item) {
7613      return typeof item === "object" && item != null && Array.isArray(item.items);
7614    }
7615    function isGroupedItems(items) {
7616      return isGroup(items?.[0]);
7617    }
7618    function flattenLeafItems(items) {
7619      return isGroupedItems(items) ? items.flatMap((group) => group.items) : items;
7620    }
7621    function hasNullItemLabel(items) {
7622      if (!Array.isArray(items)) {
7623        return items != null && "null" in items;
7624      }
7625      const arrayItems = items;
7626      if (isGroupedItems(arrayItems)) {
7627        for (const group of arrayItems) {
7628          for (const item of group.items) {
7629            if (item && item.value == null && item.label != null) {
7630              return true;
7631            }
7632          }
7633        }
7634        return false;
7635      }
7636      for (const item of arrayItems) {
7637        if (item && item.value == null && item.label != null) {
7638          return true;
7639        }
7640      }
7641      return false;
7642    }
7643    function stringifyAsLabel(item, itemToStringLabel) {
7644      if (itemToStringLabel && item != null) {
7645        return itemToStringLabel(item) ?? "";
7646      }
7647      if (item && typeof item === "object") {
7648        if ("label" in item && item.label != null) {
7649          return String(item.label);
7650        }
7651        if ("value" in item) {
7652          return String(item.value);
7653        }
7654      }
7655      return serializeValue(item);
7656    }
7657    function stringifyAsValue(item, itemToStringValue) {
7658      if (itemToStringValue && item != null) {
7659        return itemToStringValue(item) ?? "";
7660      }
7661      if (item && typeof item === "object" && "value" in item && "label" in item) {
7662        return serializeValue(item.value);
7663      }
7664      return serializeValue(item);
7665    }
7666    function resolveSelectedLabel(value, items, itemToStringLabel) {
7667      function fallback() {
7668        return stringifyAsLabel(value, itemToStringLabel);
7669      }
7670      if (itemToStringLabel && value != null) {
7671        return itemToStringLabel(value);
7672      }
7673      if (value && typeof value === "object" && "label" in value && value.label != null) {
7674        return value.label;
7675      }
7676      if (items && !Array.isArray(items)) {
7677        const label = Object.hasOwn(items, value) ? items[value] : void 0;
7678        return label ?? fallback();
7679      }
7680      if (Array.isArray(items)) {
7681        const arrayItems = items;
7682        const flatItems = flattenLeafItems(arrayItems);
7683        if (value == null || typeof value !== "object") {
7684          const match = flatItems.find((item) => item.value === value);
7685          if (match && match.label != null) {
7686            return match.label;
7687          }
7688          return fallback();
7689        }
7690        if ("value" in value) {
7691          const match = flatItems.find((item) => item && item.value === value.value);
7692          if (match && match.label != null) {
7693            return match.label;
7694          }
7695        }
7696      }
7697      return fallback();
7698    }
7699    function resolveMultipleLabels(values, items, itemToStringLabel) {
7700      return values.reduce((acc, value, index2) => {
7701        if (index2 > 0) {
7702          acc.push(", ");
7703        }
7704        acc.push(/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(React38.Fragment, {
7705          children: resolveSelectedLabel(value, items, itemToStringLabel)
7706        }, index2));
7707        return acc;
7708      }, []);
7709    }
7710  
7711    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/FieldRootContext.mjs
7712    var React39 = __toESM(require_react(), 1);
7713  
7714    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/control/FieldControlDataAttributes.mjs
7715    var valid = "data-valid";
7716    var invalid = "data-invalid";
7717  
7718    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-constants/constants.mjs
7719    var DEFAULT_VALIDITY_STATE = {
7720      badInput: false,
7721      customError: false,
7722      patternMismatch: false,
7723      rangeOverflow: false,
7724      rangeUnderflow: false,
7725      stepMismatch: false,
7726      tooLong: false,
7727      tooShort: false,
7728      typeMismatch: false,
7729      valid: null,
7730      valueMissing: false
7731    };
7732    var DEFAULT_FIELD_STATE_ATTRIBUTES = {
7733      valid: null,
7734      touched: false,
7735      dirty: false,
7736      filled: false,
7737      focused: false
7738    };
7739    var DEFAULT_FIELD_ROOT_STATE = {
7740      disabled: false,
7741      ...DEFAULT_FIELD_STATE_ATTRIBUTES
7742    };
7743    var fieldValidityMapping = {
7744      valid(value) {
7745        if (value === null) {
7746          return null;
7747        }
7748        if (value) {
7749          return {
7750            [valid]: ""
7751          };
7752        }
7753        return {
7754          [invalid]: ""
7755        };
7756      }
7757    };
7758  
7759    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/FieldRootContext.mjs
7760    var DEFAULT_FIELD_ROOT_CONTEXT = {
7761      invalid: void 0,
7762      name: void 0,
7763      validityData: {
7764        state: DEFAULT_VALIDITY_STATE,
7765        errors: [],
7766        error: "",
7767        value: "",
7768        initialValue: null
7769      },
7770      setValidityData: NOOP,
7771      disabled: void 0,
7772      setTouched: NOOP,
7773      setDirty: NOOP,
7774      setFilled: NOOP,
7775      setFocused: NOOP,
7776      focusOwnerRef: {
7777        current: void 0
7778      },
7779      validationMode: "onSubmit",
7780      shouldValidateOnChange: () => false,
7781      state: DEFAULT_FIELD_ROOT_STATE,
7782      registerFieldControl: NOOP,
7783      validation: {
7784        getValidationProps: (_disabled, props = EMPTY_OBJECT) => props,
7785        inputRef: {
7786          current: null
7787        },
7788        registeredInputs: /* @__PURE__ */ new Map(),
7789        registerInput: NOOP,
7790        getInputControl: () => null,
7791        commit: async () => {
7792        },
7793        change: NOOP
7794      }
7795    };
7796    var FieldRootContext = /* @__PURE__ */ React39.createContext(DEFAULT_FIELD_ROOT_CONTEXT);
7797    if (true) FieldRootContext.displayName = "FieldRootContext";
7798    function useFieldRootContext(optional = true) {
7799      const context = React39.useContext(FieldRootContext);
7800      if (context.setValidityData === NOOP && !optional) {
7801        throw new Error(true ? "Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>." : formatErrorMessage_default(28));
7802      }
7803      return context;
7804    }
7805  
7806    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-register-control/useRegisterFieldControl.mjs
7807    function useRegisterFieldControl(controlRef, id, value, getFormValueOverride, enabled = true, name3) {
7808      const {
7809        registerFieldControl
7810      } = useFieldRootContext();
7811      const sourceRef = useRefWithInit(() => /* @__PURE__ */ Symbol());
7812      useIsoLayoutEffect(() => {
7813        const source = sourceRef.current;
7814        if (!enabled) {
7815          registerFieldControl(source, void 0);
7816          return;
7817        }
7818        const registration = {
7819          controlRef,
7820          getValue: getFormValueOverride,
7821          id,
7822          name: name3,
7823          value
7824        };
7825        registerFieldControl(source, registration);
7826      }, [controlRef, enabled, getFormValueOverride, id, name3, registerFieldControl, sourceRef, value]);
7827      useIsoLayoutEffect(() => {
7828        const source = sourceRef.current;
7829        return () => {
7830          registerFieldControl(source, void 0);
7831        };
7832      }, [registerFieldControl, sourceRef]);
7833    }
7834  
7835    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/form-context/FormContext.mjs
7836    var React40 = __toESM(require_react(), 1);
7837    var FormContext = /* @__PURE__ */ React40.createContext({
7838      elementRef: {
7839        current: null
7840      },
7841      formRef: {
7842        current: {
7843          fields: /* @__PURE__ */ new Map()
7844        }
7845      },
7846      errors: {},
7847      clearErrors: NOOP,
7848      validationMode: "onSubmit",
7849      submitCountRef: {
7850        current: 0
7851      }
7852    });
7853    if (true) FormContext.displayName = "FormContext";
7854    function useFormContext() {
7855      return React40.useContext(FormContext);
7856    }
7857  
7858    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabelableId.mjs
7859    var React42 = __toESM(require_react(), 1);
7860  
7861    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/LabelableContext.mjs
7862    var React41 = __toESM(require_react(), 1);
7863    var LabelableContext = /* @__PURE__ */ React41.createContext({
7864      controlId: void 0,
7865      registerControlId: NOOP,
7866      resetControlId: NOOP,
7867      labelId: void 0,
7868      setLabelId: NOOP,
7869      messageIds: [],
7870      setMessageIds: NOOP,
7871      getDescriptionProps: (externalProps) => externalProps
7872    });
7873    if (true) LabelableContext.displayName = "LabelableContext";
7874    function useLabelableContext() {
7875      return React41.useContext(LabelableContext);
7876    }
7877  
7878    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabelableId.mjs
7879    function useLabelableId(params = {}) {
7880      const {
7881        id,
7882        enabled = true
7883      } = params;
7884      const {
7885        controlId,
7886        registerControlId,
7887        resetControlId
7888      } = useLabelableContext();
7889      const defaultId = useBaseUiId();
7890      const controlSourceRef = useRefWithInit(() => /* @__PURE__ */ Symbol());
7891      const hasRegisteredRef = React42.useRef(false);
7892      const hadExplicitIdRef = React42.useRef(false);
7893      const unregisterControlId = useStableCallback(() => {
7894        if (!hasRegisteredRef.current || registerControlId === NOOP) {
7895          return;
7896        }
7897        hasRegisteredRef.current = false;
7898        registerControlId(controlSourceRef.current, void 0);
7899      });
7900      useIsoLayoutEffect(() => {
7901        if (!enabled || registerControlId === NOOP) {
7902          unregisterControlId();
7903          return void 0;
7904        }
7905        let nextId;
7906        if (id !== void 0) {
7907          hadExplicitIdRef.current = true;
7908          nextId = id;
7909        } else if (hadExplicitIdRef.current) {
7910          nextId = defaultId;
7911        } else {
7912          resetControlId();
7913          return void 0;
7914        }
7915        if (nextId === void 0) {
7916          unregisterControlId();
7917          return void 0;
7918        }
7919        hasRegisteredRef.current = true;
7920        registerControlId(controlSourceRef.current, nextId);
7921        return void 0;
7922      }, [id, enabled, registerControlId, resetControlId, defaultId, controlSourceRef, unregisterControlId]);
7923      useIsoLayoutEffect(() => {
7924        return unregisterControlId;
7925      }, [unregisterControlId]);
7926      return (enabled ? controlId : void 0) ?? id ?? defaultId;
7927    }
7928  
7929    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/direction-context/DirectionContext.mjs
7930    var React43 = __toESM(require_react(), 1);
7931    var DirectionContext = /* @__PURE__ */ React43.createContext(void 0);
7932    if (true) DirectionContext.displayName = "DirectionContext";
7933    function useDirection() {
7934      const context = React43.useContext(DirectionContext);
7935      return context?.direction ?? "ltr";
7936    }
7937  
7938    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/useSetFieldFocused.mjs
7939    function useSetFieldFocused(disabled2, focusTargetRef, onFocusedChange) {
7940      const {
7941        setFocused,
7942        focusOwnerRef
7943      } = useFieldRootContext();
7944      const setFieldFocused = useStableCallback((focused) => {
7945        if (focused ? !disabled2 : focusOwnerRef.current === setFieldFocused) {
7946          focusOwnerRef.current = focused && setFieldFocused;
7947          onFocusedChange?.(focused);
7948          setFocused(focused);
7949        }
7950      });
7951      useIsoLayoutEffect(() => {
7952        const el2 = focusTargetRef.current;
7953        const root = el2?.getRootNode();
7954        if (root?.activeElement === el2) {
7955          setFieldFocused(true);
7956        }
7957        return () => setFieldFocused(false);
7958      }, [disabled2, focusTargetRef, setFieldFocused]);
7959      return setFieldFocused;
7960    }
7961  
7962    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getPseudoElementBounds.mjs
7963    var BOUNDARY_OFFSET = 5;
7964    function isMouseWithinBounds(event, element) {
7965      const bounds = getPseudoElementBounds(element);
7966      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;
7967    }
7968    function getPseudoElementBounds(element) {
7969      const elementRect = element.getBoundingClientRect();
7970      const win = getWindow(element);
7971      if (parts_exports.env.jsdom) {
7972        return elementRect;
7973      }
7974      const beforeStyles = win.getComputedStyle(element, "::before");
7975      const afterStyles = win.getComputedStyle(element, "::after");
7976      const hasPseudoElements = beforeStyles.content !== "none" || afterStyles.content !== "none";
7977      if (!hasPseudoElements) {
7978        return elementRect;
7979      }
7980      const beforeWidth = parseFloat(beforeStyles.width) || 0;
7981      const beforeHeight = parseFloat(beforeStyles.height) || 0;
7982      const afterWidth = parseFloat(afterStyles.width) || 0;
7983      const afterHeight = parseFloat(afterStyles.height) || 0;
7984      const totalWidth = Math.max(elementRect.width, beforeWidth, afterWidth);
7985      const totalHeight = Math.max(elementRect.height, beforeHeight, afterHeight);
7986      const widthDiff = totalWidth - elementRect.width;
7987      const heightDiff = totalHeight - elementRect.height;
7988      return {
7989        left: elementRect.left - widthDiff / 2,
7990        right: elementRect.right + widthDiff / 2,
7991        top: elementRect.top - heightDiff / 2,
7992        bottom: elementRect.bottom + heightDiff / 2
7993      };
7994    }
7995  
7996    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveAriaLabelledBy.mjs
7997    function getDefaultLabelId(id) {
7998      return id == null ? void 0 : `$id}-label`;
7999    }
8000    function resolveAriaLabelledBy(fieldLabelId, localLabelId) {
8001      return fieldLabelId ?? localLabelId;
8002    }
8003  
8004    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnchorPositioning.mjs
8005    var React45 = __toESM(require_react(), 1);
8006  
8007    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useFloating.mjs
8008    var React44 = __toESM(require_react(), 1);
8009    function useBaseUIFloating(options) {
8010      const {
8011        nodeId,
8012        externalTree,
8013        rootContext: store
8014      } = options;
8015      const referenceElement = store.useState("referenceElement");
8016      const floatingElement = store.useState("floatingElement");
8017      const domReferenceElement = store.useState("domReferenceElement");
8018      const open2 = store.useState("open");
8019      const floatingId = store.useState("floatingId");
8020      const [positionReference, setPositionReferenceRaw] = React44.useState(null);
8021      const domReferenceRef = React44.useRef(null);
8022      const tree = useFloatingTree(externalTree);
8023      const storeElements = React44.useMemo(() => ({
8024        reference: referenceElement,
8025        floating: floatingElement,
8026        domReference: domReferenceElement
8027      }), [referenceElement, floatingElement, domReferenceElement]);
8028      const position = useFloating({
8029        ...options,
8030        elements: {
8031          ...storeElements,
8032          ...positionReference && {
8033            reference: positionReference
8034          }
8035        }
8036      });
8037      const setPositionReference = React44.useCallback((node) => {
8038        const computedPositionReference = isElement(node) ? {
8039          getBoundingClientRect: () => node.getBoundingClientRect(),
8040          getClientRects: () => node.getClientRects(),
8041          contextElement: node
8042        } : node;
8043        setPositionReferenceRaw(computedPositionReference);
8044        position.refs.setReference(computedPositionReference);
8045      }, [position.refs]);
8046      const refs = React44.useMemo(() => ({
8047        ...position.refs,
8048        setPositionReference,
8049        domReference: domReferenceRef
8050      }), [position.refs, setPositionReference]);
8051      const elements = React44.useMemo(() => ({
8052        ...position.elements,
8053        domReference: domReferenceElement
8054      }), [position.elements, domReferenceElement]);
8055      const context = React44.useMemo(() => ({
8056        ...position,
8057        dataRef: store.context.dataRef,
8058        open: open2,
8059        onOpenChange: store.setOpen,
8060        events: store.context.events,
8061        floatingId,
8062        refs,
8063        elements,
8064        nodeId,
8065        rootStore: store
8066      }), [position, refs, elements, nodeId, store, open2, floatingId]);
8067      useIsoLayoutEffect(() => {
8068        if (domReferenceElement) {
8069          domReferenceRef.current = domReferenceElement;
8070        }
8071      }, [domReferenceElement]);
8072      useIsoLayoutEffect(() => {
8073        store.context.dataRef.current.floatingContext = context;
8074        const node = tree?.nodesRef.current.find((n) => n.id === nodeId);
8075        if (node) {
8076          node.context = context;
8077        }
8078      });
8079      return React44.useMemo(() => ({
8080        ...position,
8081        context,
8082        refs,
8083        elements,
8084        rootStore: store
8085      }), [position, refs, elements, context, store]);
8086    }
8087  
8088    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/middleware/arrow.mjs
8089    var baseArrow = (options) => ({
8090      name: "arrow",
8091      options,
8092      async fn(state) {
8093        const {
8094          x,
8095          y,
8096          placement,
8097          rects,
8098          platform: platform3,
8099          elements,
8100          middlewareData
8101        } = state;
8102        const {
8103          element,
8104          padding = 0
8105        } = evaluate(options, state) || {};
8106        if (element == null) {
8107          return {};
8108        }
8109        const paddingObject = getPaddingObject(padding);
8110        const coords = {
8111          x,
8112          y
8113        };
8114        const axis = getAlignmentAxis(placement);
8115        const length = getAxisLength(axis);
8116        const arrowDimensions = await platform3.getDimensions(element);
8117        const isYAxis = axis === "y";
8118        const minProp = isYAxis ? "top" : "left";
8119        const maxProp = isYAxis ? "bottom" : "right";
8120        const clientProp = isYAxis ? "clientHeight" : "clientWidth";
8121        const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];
8122        const startDiff = coords[axis] - rects.reference[axis];
8123        const clientSize = elements.floating[clientProp] || rects.floating[length];
8124        const centerToReference = endDiff / 2 - startDiff / 2;
8125        const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
8126        const minPadding = Math.min(paddingObject[minProp], largestPossiblePadding);
8127        const maxPadding = Math.min(paddingObject[maxProp], largestPossiblePadding);
8128        const min2 = minPadding;
8129        const max2 = clientSize - arrowDimensions[length] - maxPadding;
8130        const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
8131        const offset4 = clamp(min2, center, max2);
8132        const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset4 && rects.reference[length] / 2 - (center < min2 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
8133        const alignmentOffset = shouldAddOffset ? center < min2 ? center - min2 : center - max2 : 0;
8134        return {
8135          [axis]: coords[axis] + alignmentOffset,
8136          data: {
8137            [axis]: offset4,
8138            centerOffset: center - offset4 - alignmentOffset,
8139            ...shouldAddOffset && {
8140              alignmentOffset
8141            }
8142          },
8143          reset: shouldAddOffset
8144        };
8145      }
8146    });
8147    var arrow4 = (options, deps) => {
8148      const {
8149        name: name3,
8150        fn
8151      } = baseArrow(options);
8152      return {
8153        name: name3,
8154        fn,
8155        options: [options, deps]
8156      };
8157    };
8158  
8159    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/hideMiddleware.mjs
8160    var hide4 = {
8161      name: "hide",
8162      async fn(state) {
8163        const {
8164          width,
8165          height,
8166          x,
8167          y
8168        } = state.rects.reference;
8169        const anchorHidden2 = width === 0 && height === 0 && x === 0 && y === 0;
8170        const overflow = await state.platform.detectOverflow(state, {
8171          elementContext: "reference"
8172        });
8173        const referenceHidden = overflow.top - height >= 0 || overflow.right - width >= 0 || overflow.bottom - height >= 0 || overflow.left - width >= 0;
8174        return {
8175          data: {
8176            referenceHidden: referenceHidden || anchorHidden2
8177          }
8178        };
8179      }
8180    };
8181  
8182    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/adaptiveOriginConstants.mjs
8183    var DEFAULT_SIDES = {
8184      sideX: "left",
8185      sideY: "top"
8186    };
8187  
8188    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPositionerCssVars.mjs
8189    var availableWidth = "--available-width";
8190    var availableHeight = "--available-height";
8191    var anchorWidth = "--anchor-width";
8192    var anchorHeight = "--anchor-height";
8193    var transformOrigin = "--transform-origin";
8194  
8195    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnchorPositioning.mjs
8196    var AVAILABLE_WIDTH_VAR = availableWidth;
8197    var AVAILABLE_HEIGHT_VAR = availableHeight;
8198    function getLogicalSide(sideParam, renderedSide, isRtl) {
8199      const isLogicalSideParam = sideParam === "inline-start" || sideParam === "inline-end";
8200      const logicalRight = isRtl ? "inline-start" : "inline-end";
8201      const logicalLeft = isRtl ? "inline-end" : "inline-start";
8202      return {
8203        top: "top",
8204        right: isLogicalSideParam ? logicalRight : "right",
8205        bottom: "bottom",
8206        left: isLogicalSideParam ? logicalLeft : "left"
8207      }[renderedSide];
8208    }
8209    function getOffsetData(state, sideParam, isRtl) {
8210      const {
8211        rects,
8212        placement
8213      } = state;
8214      const data = {
8215        side: getLogicalSide(sideParam, getSide(placement), isRtl),
8216        align: getAlignment(placement) || "center",
8217        anchor: {
8218          width: rects.reference.width,
8219          height: rects.reference.height
8220        },
8221        positioner: {
8222          width: rects.floating.width,
8223          height: rects.floating.height
8224        }
8225      };
8226      return data;
8227    }
8228    function useAnchorPositioning(params) {
8229      return useAnchorPositioningWithHook(params, useBaseUIFloating);
8230    }
8231    function useAnchorPositioningWithHook(params, useFloatingHook) {
8232      const {
8233        // Public parameters
8234        anchor,
8235        positionMethod = "absolute",
8236        side: sideParam = "bottom",
8237        sideOffset = 0,
8238        align = "center",
8239        alignOffset = 0,
8240        collisionBoundary,
8241        collisionPadding: collisionPaddingParam = 5,
8242        sticky = false,
8243        arrowPadding = 5,
8244        disableAnchorTracking = false,
8245        inline: inlineMiddleware,
8246        // Private parameters
8247        keepMounted = false,
8248        floatingRootContext,
8249        mounted,
8250        collisionAvoidance,
8251        shift: shift4,
8252        nodeId,
8253        adaptiveOrigin,
8254        lazyFlip = false,
8255        externalTree
8256      } = params;
8257      const collisionAvoidanceSide = collisionAvoidance.side || "flip";
8258      const collisionAvoidanceAlign = collisionAvoidance.align || "flip";
8259      const collisionAvoidanceFallbackAxisSide = collisionAvoidance.fallbackAxisSide || "end";
8260      const shiftCrossAxis = shift4?.crossAxis ?? false;
8261      const shiftRootBoundary = shift4?.rootBoundary;
8262      const anchorFn = typeof anchor === "function" ? anchor : void 0;
8263      const anchorFnCallback = useStableCallback(anchorFn);
8264      const anchorDep = anchorFn ? anchorFnCallback : anchor;
8265      const anchorValueRef = useValueAsRef(anchor);
8266      const mountedRef = useValueAsRef(mounted);
8267      const direction = useDirection();
8268      const isRtl = direction === "rtl";
8269      const [mountPlacement, setMountPlacement] = React45.useState(null);
8270      if (!mounted && mountPlacement !== null) {
8271        setMountPlacement(null);
8272      }
8273      const lockAlign = lazyFlip === "placement";
8274      const mountSide = mountPlacement ? getSide(mountPlacement) : null;
8275      const mountAlign = mountPlacement && lockAlign ? getAlignment(mountPlacement) || "center" : null;
8276      const side = mountSide || {
8277        top: "top",
8278        right: "right",
8279        bottom: "bottom",
8280        left: "left",
8281        "inline-end": isRtl ? "left" : "right",
8282        "inline-start": isRtl ? "right" : "left"
8283      }[sideParam];
8284      const placementAlign = mountAlign || align;
8285      const placement = placementAlign === "center" ? side : `$side}-$placementAlign}`;
8286      let collisionPadding = collisionPaddingParam;
8287      if (typeof collisionPadding === "number") {
8288        collisionPadding = {
8289          top: collisionPadding,
8290          right: collisionPadding,
8291          bottom: collisionPadding,
8292          left: collisionPadding
8293        };
8294      } else if (collisionPadding) {
8295        collisionPadding = {
8296          top: collisionPadding.top || 0,
8297          right: collisionPadding.right || 0,
8298          bottom: collisionPadding.bottom || 0,
8299          left: collisionPadding.left || 0
8300        };
8301      }
8302      const bias = 1;
8303      const biasTop = sideParam === "bottom" ? bias : 0;
8304      const biasBottom = sideParam === "top" ? bias : 0;
8305      const biasLeft = sideParam === "right" ? bias : 0;
8306      const biasRight = sideParam === "left" ? bias : 0;
8307      const commonCollisionProps = {
8308        boundary: collisionBoundary === "clipping-ancestors" ? "clippingAncestors" : collisionBoundary,
8309        padding: collisionPadding
8310      };
8311      const arrowRef = React45.useRef(null);
8312      const sideOffsetRef = useValueAsRef(sideOffset);
8313      const alignOffsetRef = useValueAsRef(alignOffset);
8314      const sideOffsetDep = typeof sideOffset !== "function" ? sideOffset : 0;
8315      const alignOffsetDep = typeof alignOffset !== "function" ? alignOffset : 0;
8316      const middleware = [];
8317      if (inlineMiddleware) {
8318        middleware.push(inlineMiddleware);
8319      }
8320      middleware.push(offset3((state) => {
8321        const data = getOffsetData(state, sideParam, isRtl);
8322        const sideAxis = typeof sideOffsetRef.current === "function" ? sideOffsetRef.current(data) : sideOffsetRef.current;
8323        const alignAxis = typeof alignOffsetRef.current === "function" ? alignOffsetRef.current(data) : alignOffsetRef.current;
8324        return {
8325          mainAxis: sideAxis,
8326          crossAxis: alignAxis,
8327          alignmentAxis: alignAxis
8328        };
8329      }, [sideOffsetDep, alignOffsetDep, isRtl, sideParam]));
8330      const shiftDisabled = collisionAvoidanceAlign === "none" && collisionAvoidanceSide !== "shift";
8331      const crossAxisShiftEnabled = !shiftDisabled && (sticky || shiftCrossAxis || collisionAvoidanceSide === "shift");
8332      const flipMiddleware = collisionAvoidanceSide === "none" ? null : flip3({
8333        ...commonCollisionProps,
8334        // Ensure the popup flips if it's been limited by its --available-height and it resizes.
8335        // Since the size() padding is smaller than the flip() padding, flip() will take precedence.
8336        padding: {
8337          top: collisionPadding.top + bias + biasTop,
8338          right: collisionPadding.right + bias + biasRight,
8339          bottom: collisionPadding.bottom + bias + biasBottom,
8340          left: collisionPadding.left + bias + biasLeft
8341        },
8342        mainAxis: !shiftCrossAxis && collisionAvoidanceSide === "flip",
8343        crossAxis: collisionAvoidanceAlign === "flip" ? "alignment" : false,
8344        fallbackAxisSideDirection: collisionAvoidanceFallbackAxisSide
8345      });
8346      const shiftMiddleware = shiftDisabled ? null : shift3({
8347        ...commonCollisionProps,
8348        // Use the Layout Viewport to avoid shifting around when pinch-zooming.
8349        rootBoundary: shiftRootBoundary,
8350        mainAxis: collisionAvoidanceAlign !== "none",
8351        crossAxis: crossAxisShiftEnabled,
8352        limiter: sticky || shiftCrossAxis ? void 0 : limitShift3((limitData) => {
8353          if (!arrowRef.current) {
8354            return {};
8355          }
8356          const {
8357            width,
8358            height
8359          } = arrowRef.current.getBoundingClientRect();
8360          const sideAxis = getSideAxis(getSide(limitData.placement));
8361          const arrowSize = sideAxis === "y" ? width : height;
8362          const offsetAmount = sideAxis === "y" ? collisionPadding.left + collisionPadding.right : collisionPadding.top + collisionPadding.bottom;
8363          return {
8364            offset: arrowSize / 2 + offsetAmount / 2
8365          };
8366        })
8367      }, [commonCollisionProps, sticky, shiftCrossAxis, shiftRootBoundary, collisionPadding, collisionAvoidanceAlign]);
8368      if (collisionAvoidanceSide === "shift" || collisionAvoidanceAlign === "shift" || placementAlign === "center") {
8369        middleware.push(shiftMiddleware, flipMiddleware);
8370      } else {
8371        middleware.push(flipMiddleware, shiftMiddleware);
8372      }
8373      middleware.push(size3({
8374        ...commonCollisionProps,
8375        apply({
8376          elements: {
8377            floating
8378          },
8379          availableWidth: availableWidth2,
8380          availableHeight: availableHeight2,
8381          rects
8382        }) {
8383          if (!mountedRef.current) {
8384            return;
8385          }
8386          const floatingStyle = floating.style;
8387          floatingStyle.setProperty(AVAILABLE_WIDTH_VAR, `$availableWidth2}px`);
8388          floatingStyle.setProperty(AVAILABLE_HEIGHT_VAR, `$availableHeight2}px`);
8389          const dpr = getWindow(floating).devicePixelRatio || 1;
8390          const {
8391            x: x2,
8392            y: y2,
8393            width,
8394            height
8395          } = rects.reference;
8396          const anchorWidth2 = (Math.round((x2 + width) * dpr) - Math.round(x2 * dpr)) / dpr;
8397          const anchorHeight2 = (Math.round((y2 + height) * dpr) - Math.round(y2 * dpr)) / dpr;
8398          floatingStyle.setProperty(anchorWidth, `$anchorWidth2}px`);
8399          floatingStyle.setProperty(anchorHeight, `$anchorHeight2}px`);
8400        }
8401      }), arrow4((state) => ({
8402        // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set,
8403        // we'll create a fake element.
8404        element: arrowRef.current || ownerDocument(state.elements.floating).createElement("div"),
8405        // No padding for the fake arrow: it would displace aligned popups on narrow anchors.
8406        padding: arrowRef.current ? arrowPadding : 0
8407      }), [arrowPadding]), {
8408        name: "transformOrigin",
8409        fn(state) {
8410          const {
8411            elements: {
8412              floating
8413            },
8414            middlewareData: middlewareData2,
8415            placement: renderedPlacement2,
8416            platform: platform3,
8417            rects,
8418            y: y2
8419          } = state;
8420          const renderedSide2 = getSide(renderedPlacement2);
8421          const renderedAlign2 = getAlignment(renderedPlacement2);
8422          const isVertical = getSideAxis(renderedSide2) === "y";
8423          const arrowEl = arrowRef.current;
8424          const sideOffsetValue = typeof sideOffset === "function" ? sideOffset(getOffsetData(state, sideParam, isRtl)) : sideOffset;
8425          let crossOrigin;
8426          if (!arrowEl && renderedAlign2 && Math.abs(isVertical ? middlewareData2.shift?.x || 0 : middlewareData2.shift?.y || 0) <= 1) {
8427            crossOrigin = renderedAlign2 === "start" === (isVertical && platform3.isRTL?.(floating) === true) ? "100%" : "0%";
8428          } else {
8429            const arrowOffset = isVertical ? middlewareData2.arrow?.x || 0 : middlewareData2.arrow?.y || 0;
8430            const arrowSize = isVertical ? arrowEl?.clientWidth || 0 : arrowEl?.clientHeight || 0;
8431            crossOrigin = `$arrowOffset + arrowSize / 2}px`;
8432          }
8433          let sideOrigin = renderedSide2 === "top" || renderedSide2 === "left" ? `calc(100% + $sideOffsetValue}px)` : `${-sideOffsetValue}px`;
8434          if (crossAxisShiftEnabled && isVertical && Math.abs(middlewareData2.shift?.y || 0) > sideOffsetValue) {
8435            sideOrigin = `$rects.reference.y + rects.reference.height / 2 - y2}px`;
8436          }
8437          floating.style.setProperty(transformOrigin, isVertical ? `$crossOrigin} $sideOrigin}` : `$sideOrigin} $crossOrigin}`);
8438          return {};
8439        }
8440      }, hide4, adaptiveOrigin);
8441      useIsoLayoutEffect(() => {
8442        if (!mounted && floatingRootContext) {
8443          floatingRootContext.update({
8444            referenceElement: null,
8445            floatingElement: null,
8446            domReferenceElement: null,
8447            positionReference: null
8448          });
8449        }
8450      }, [mounted, floatingRootContext]);
8451      const autoUpdateOptions = React45.useMemo(() => ({
8452        ancestorScroll: !disableAnchorTracking,
8453        elementResize: !disableAnchorTracking && typeof ResizeObserver !== "undefined",
8454        layoutShift: !disableAnchorTracking && typeof IntersectionObserver !== "undefined"
8455      }), [disableAnchorTracking]);
8456      const {
8457        refs,
8458        elements,
8459        x,
8460        y,
8461        middlewareData,
8462        update: update2,
8463        placement: renderedPlacement,
8464        context,
8465        isPositioned,
8466        floatingStyles: originalFloatingStyles
8467      } = useFloatingHook({
8468        rootContext: floatingRootContext,
8469        open: keepMounted ? mounted : void 0,
8470        placement,
8471        middleware,
8472        strategy: positionMethod,
8473        whileElementsMounted: keepMounted ? void 0 : (...args) => autoUpdate(...args, autoUpdateOptions),
8474        nodeId,
8475        externalTree
8476      });
8477      const {
8478        sideX,
8479        sideY
8480      } = middlewareData.adaptiveOrigin || DEFAULT_SIDES;
8481      const resolvedPosition = isPositioned ? positionMethod : "fixed";
8482      const floatingStyles = React45.useMemo(() => {
8483        let base;
8484        if (!isPositioned) {
8485          base = {
8486            position: resolvedPosition,
8487            top: 0,
8488            left: 0
8489          };
8490        } else if (adaptiveOrigin) {
8491          base = {
8492            position: resolvedPosition,
8493            [sideX]: x,
8494            [sideY]: y
8495          };
8496        } else {
8497          base = {
8498            ...originalFloatingStyles,
8499            position: resolvedPosition
8500          };
8501        }
8502        base[AVAILABLE_WIDTH_VAR] = "100vw";
8503        base[AVAILABLE_HEIGHT_VAR] = "100vh";
8504        if (!isPositioned) {
8505          base.opacity = 0;
8506        }
8507        return base;
8508      }, [adaptiveOrigin, resolvedPosition, sideX, x, sideY, y, originalFloatingStyles, isPositioned]);
8509      const registeredPositionReferenceRef = React45.useRef(null);
8510      useIsoLayoutEffect(() => {
8511        if (!mounted) {
8512          return;
8513        }
8514        const anchorValue = anchorValueRef.current;
8515        const resolvedAnchor = typeof anchorValue === "function" ? anchorValue() : anchorValue;
8516        const unwrappedElement = (isRef(resolvedAnchor) ? resolvedAnchor.current : resolvedAnchor) || null;
8517        const finalAnchor = unwrappedElement || null;
8518        if (finalAnchor !== registeredPositionReferenceRef.current) {
8519          refs.setPositionReference(finalAnchor);
8520          registeredPositionReferenceRef.current = finalAnchor;
8521        }
8522      }, [mounted, refs, anchorDep, anchorValueRef]);
8523      React45.useEffect(() => {
8524        if (!mounted) {
8525          return;
8526        }
8527        const anchorValue = anchorValueRef.current;
8528        if (typeof anchorValue === "function") {
8529          return;
8530        }
8531        if (isRef(anchorValue) && anchorValue.current !== registeredPositionReferenceRef.current) {
8532          refs.setPositionReference(anchorValue.current);
8533          registeredPositionReferenceRef.current = anchorValue.current;
8534        }
8535      }, [mounted, refs, anchorDep, anchorValueRef]);
8536      React45.useEffect(() => {
8537        if (keepMounted && mounted && elements.reference && elements.floating) {
8538          return autoUpdate(elements.reference, elements.floating, update2, autoUpdateOptions);
8539        }
8540        return void 0;
8541      }, [keepMounted, mounted, elements, update2, autoUpdateOptions]);
8542      const renderedSide = getSide(renderedPlacement);
8543      const logicalRenderedSide = getLogicalSide(sideParam, renderedSide, isRtl);
8544      const renderedAlign = getAlignment(renderedPlacement) || "center";
8545      const anchorHidden2 = Boolean(middlewareData.hide?.referenceHidden);
8546      useIsoLayoutEffect(() => {
8547        if (lazyFlip && mounted && isPositioned && (renderedSide !== side || lockAlign && renderedAlign !== placementAlign)) {
8548          setMountPlacement(renderedPlacement);
8549        }
8550      }, [lazyFlip, lockAlign, mounted, isPositioned, renderedPlacement, renderedSide, renderedAlign, side, placementAlign]);
8551      const arrowStyles = React45.useMemo(() => ({
8552        position: "absolute",
8553        top: middlewareData.arrow?.y,
8554        left: middlewareData.arrow?.x
8555      }), [middlewareData.arrow]);
8556      const arrowUncentered = middlewareData.arrow?.centerOffset !== 0;
8557      return React45.useMemo(() => ({
8558        positionerStyles: floatingStyles,
8559        arrowStyles,
8560        arrowRef,
8561        arrowUncentered,
8562        side: logicalRenderedSide,
8563        align: renderedAlign,
8564        physicalSide: renderedSide,
8565        anchorHidden: anchorHidden2,
8566        refs,
8567        context,
8568        isPositioned,
8569        update: update2
8570      }), [floatingStyles, arrowStyles, arrowRef, arrowUncentered, logicalRenderedSide, renderedAlign, renderedSide, anchorHidden2, refs, context, isPositioned, update2]);
8571    }
8572    function isRef(param) {
8573      return param != null && "current" in param;
8574    }
8575  
8576    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/getDisabledMountTransitionStyles.mjs
8577    function getDisabledMountTransitionStyles(transitionStatus) {
8578      return transitionStatus === "starting" ? DISABLED_TRANSITIONS_STYLE : EMPTY_OBJECT;
8579    }
8580  
8581    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePositioner.mjs
8582    function usePositioner(componentProps, state, {
8583      styles,
8584      transitionStatus,
8585      props,
8586      refs,
8587      hidden,
8588      inert = false
8589    }) {
8590      const style = {
8591        ...styles
8592      };
8593      if (inert) {
8594        style.pointerEvents = "none";
8595      }
8596      return useRenderElement("div", componentProps, {
8597        state,
8598        ref: refs,
8599        props: [{
8600          role: "presentation",
8601          hidden,
8602          style
8603        }, getDisabledMountTransitionStyles(transitionStatus), props],
8604        stateAttributesMapping: popupStateMapping
8605      });
8606    }
8607  
8608    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useAnchoredPopupScrollLock.mjs
8609    var React46 = __toESM(require_react(), 1);
8610    var VIEWPORT_WIDTH_TOLERANCE_PX = 20;
8611    function useAnchoredPopupScrollLock(enabled, touchOpen, positionerElement, referenceElement) {
8612      const [touchOpenShouldLockScroll, setTouchOpenShouldLockScroll] = React46.useState(false);
8613      useIsoLayoutEffect(() => {
8614        if (!enabled || !touchOpen || positionerElement == null) {
8615          setTouchOpenShouldLockScroll(false);
8616          return;
8617        }
8618        const viewportWidth = ownerDocument(positionerElement).documentElement.clientWidth;
8619        const popupWidth = positionerElement.offsetWidth;
8620        setTouchOpenShouldLockScroll(viewportWidth > 0 && popupWidth > 0 && popupWidth >= viewportWidth - VIEWPORT_WIDTH_TOLERANCE_PX);
8621      }, [enabled, touchOpen, positionerElement]);
8622      useScrollLock(enabled && (!touchOpen || touchOpenShouldLockScroll), referenceElement);
8623    }
8624  
8625    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/listbox-separator/ListboxSeparator.mjs
8626    var React47 = __toESM(require_react(), 1);
8627    var ListboxSeparator = /* @__PURE__ */ React47.forwardRef(function ListboxSeparator2(componentProps, forwardedRef) {
8628      const {
8629        className,
8630        render,
8631        orientation = "horizontal",
8632        style,
8633        ...elementProps
8634      } = componentProps;
8635      const state = {
8636        orientation
8637      };
8638      return useRenderElement("div", componentProps, {
8639        state,
8640        ref: forwardedRef,
8641        props: [{
8642          role: "presentation"
8643        }, elementProps]
8644      });
8645    });
8646    if (true) ListboxSeparator.displayName = "ListboxSeparator";
8647  
8648    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/item/FieldItemContext.mjs
8649    var React48 = __toESM(require_react(), 1);
8650    var FieldItemContext = /* @__PURE__ */ React48.createContext({
8651      disabled: false
8652    });
8653    if (true) FieldItemContext.displayName = "FieldItemContext";
8654    function useFieldItemContext() {
8655      const context = React48.useContext(FieldItemContext);
8656      return context;
8657    }
8658  
8659    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/useFieldValidation.mjs
8660    var React49 = __toESM(require_react(), 1);
8661  
8662    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/utils/getCombinedFieldValidityData.mjs
8663    function getCombinedFieldValidityData(validityData, invalid2) {
8664      return {
8665        ...validityData,
8666        state: {
8667          ...validityData.state,
8668          valid: !invalid2 && validityData.state.valid
8669        }
8670      };
8671    }
8672  
8673    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/useFieldValidation.mjs
8674    var validityKeys = Object.keys(DEFAULT_VALIDITY_STATE);
8675    function isEligibleInput(input, formElement) {
8676      if (input.matches(":disabled")) {
8677        return false;
8678      }
8679      if (!formElement || input.form === formElement) {
8680        return true;
8681      }
8682      return input.form === null && !input.hasAttribute("form");
8683    }
8684    function findRepresentativeInput(inputs, formElement) {
8685      let fallback = null;
8686      for (const input of inputs.keys()) {
8687        if (!isEligibleInput(input, formElement)) {
8688          continue;
8689        }
8690        if (!input.validity.valid) {
8691          return input;
8692        }
8693        fallback ??= input;
8694      }
8695      return fallback;
8696    }
8697    function makeState(customError) {
8698      return {
8699        ...DEFAULT_VALIDITY_STATE,
8700        valid: !customError,
8701        customError
8702      };
8703    }
8704    function getNativeErrors(element) {
8705      return element && element.validationMessage ? [element.validationMessage] : [];
8706    }
8707    function useFieldValidation(params) {
8708      const {
8709        elementRef,
8710        formRef
8711      } = useFormContext();
8712      const {
8713        setValidityData,
8714        validate,
8715        validityData,
8716        validationDebounceTime,
8717        invalid: invalid2,
8718        markedDirtyRef,
8719        state,
8720        shouldValidateOnChange,
8721        validationMode,
8722        registeredFieldIdRef
8723      } = params;
8724      const {
8725        controlId,
8726        getDescriptionProps
8727      } = useLabelableContext();
8728      const timeout = useTimeout();
8729      const inputRef = React49.useRef(null);
8730      const registeredInputs = useRefWithInit(() => /* @__PURE__ */ new Map()).current;
8731      const validationCommitIdRef = React49.useRef(0);
8732      const customValidityRef = React49.useRef(null);
8733      const registerInput = React49.useCallback((element, registration) => {
8734        registeredInputs.set(element, registration);
8735        return () => {
8736          registeredInputs.delete(element);
8737        };
8738      }, [registeredInputs]);
8739      const getInputControl = useStableCallback(() => {
8740        const element = findRepresentativeInput(registeredInputs, elementRef.current);
8741        return element && registeredInputs.get(element)?.controlRef.current || null;
8742      });
8743      const commit = useStableCallback(async (value, revalidate = false) => {
8744        validationCommitIdRef.current += 1;
8745        const validationCommitId = validationCommitIdRef.current;
8746        function updateRegisteredFieldValidity(nextValidityData, externalInvalid = invalid2) {
8747          const fieldId = registeredFieldIdRef.current ?? controlId;
8748          if (fieldId == null) {
8749            return;
8750          }
8751          const currentFieldData = formRef.current.fields.get(fieldId);
8752          if (!currentFieldData) {
8753            return;
8754          }
8755          const validityDataWithFormErrors = getCombinedFieldValidityData(nextValidityData, externalInvalid);
8756          formRef.current.fields.set(fieldId, {
8757            ...currentFieldData,
8758            validityData: validityDataWithFormErrors
8759          });
8760        }
8761        function makeValidityData(validityState, errorMessages) {
8762          const errors = validityState.valid === false ? errorMessages : [];
8763          return {
8764            value,
8765            state: validityState,
8766            error: errors[0] ?? "",
8767            errors,
8768            initialValue: validityData.initialValue
8769          };
8770        }
8771        function setCustomValidity(element2, message) {
8772          const displaced = element2.validity.customError ? element2.validationMessage : "";
8773          const ownedMessage = message.replace(/\r\n?/g, "\n");
8774          element2.setCustomValidity(ownedMessage);
8775          customValidityRef.current = [element2, ownedMessage, displaced];
8776        }
8777        function clearCustomValidity() {
8778          const record = customValidityRef.current;
8779          customValidityRef.current = null;
8780          if (record && (!record[0].willValidate || record[0].validationMessage === record[1])) {
8781            record[0].setCustomValidity(record[2]);
8782          }
8783        }
8784        function publish(validityState, errorMessages, externalInvalid) {
8785          const nextValidityData = makeValidityData(validityState, errorMessages);
8786          updateRegisteredFieldValidity(nextValidityData, externalInvalid);
8787          setValidityData(nextValidityData);
8788        }
8789        function getState(el2) {
8790          const computedState = validityKeys.reduce((acc, key) => {
8791            acc[key] = el2.validity[key];
8792            return acc;
8793          }, {});
8794          let hasOnlyValueMissingError = false;
8795          for (const key of validityKeys) {
8796            if (key === "valid") {
8797              continue;
8798            }
8799            if (key === "valueMissing" && computedState[key]) {
8800              hasOnlyValueMissingError = true;
8801            } else if (computedState[key]) {
8802              return computedState;
8803            }
8804          }
8805          if (hasOnlyValueMissingError && !markedDirtyRef.current) {
8806            computedState.valid = true;
8807            computedState.valueMissing = false;
8808          }
8809          return computedState;
8810        }
8811        function resolveRepresentativeInput() {
8812          return registeredInputs.size > 0 ? findRepresentativeInput(registeredInputs, elementRef.current) : inputRef.current;
8813        }
8814        let element = resolveRepresentativeInput();
8815        function refreshState() {
8816          element = resolveRepresentativeInput();
8817          return element?.willValidate ? getState(element) : makeState(false);
8818        }
8819        if (revalidate) {
8820          if (state.valid !== false || !element) {
8821            return;
8822          }
8823          if (!element.validity.valueMissing) {
8824            clearCustomValidity();
8825            const currentElement = resolveRepresentativeInput();
8826            const foreign = currentElement?.validity.customError ? getNativeErrors(currentElement) : [];
8827            publish(makeState(foreign.length > 0), foreign, false);
8828            return;
8829          }
8830          for (const key of validityKeys) {
8831            if (key !== "valid" && key !== "valueMissing" && key !== "customError" && element.validity[key]) {
8832              return;
8833            }
8834          }
8835        }
8836        timeout.clear();
8837        clearCustomValidity();
8838        let nextState = refreshState();
8839        let validationErrors = getNativeErrors(element);
8840        const isValidatingOnChange = shouldValidateOnChange();
8841        if (validationErrors.length === 0 || isValidatingOnChange) {
8842          const formValues = Array.from(formRef.current.fields.values()).reduce((acc, field) => {
8843            if (field.name) {
8844              acc[field.name] = field.getValue();
8845            }
8846            return acc;
8847          }, {});
8848          const resultOrPromise = validate(value, formValues);
8849          let result;
8850          if (typeof resultOrPromise === "object" && resultOrPromise !== null && "then" in resultOrPromise) {
8851            if (nextState.valid === false) {
8852              publish(nextState, validationErrors);
8853            } else if (validationMode === "onSubmit" || !validityData.state.customError) {
8854              nextState.valid = null;
8855              publish(nextState, validationErrors);
8856            }
8857            result = await resultOrPromise;
8858            if (validationCommitId !== validationCommitIdRef.current) {
8859              return;
8860            }
8861            nextState = refreshState();
8862          } else {
8863            result = resultOrPromise;
8864          }
8865          validationErrors = result ? [].concat(result).filter(Boolean) : [];
8866          if (validationErrors.length > 0) {
8867            nextState.valid = false;
8868            nextState.customError = true;
8869            if (element?.willValidate) {
8870              setCustomValidity(element, validationErrors.join("\n"));
8871            }
8872          } else {
8873            validationErrors = getNativeErrors(element);
8874          }
8875        }
8876        publish(nextState, validationErrors);
8877      });
8878      const change = useStableCallback((value, cancelPending = false) => {
8879        timeout.clear();
8880        validationCommitIdRef.current += 1;
8881        if (cancelPending) {
8882          return;
8883        }
8884        const validateOnChange = shouldValidateOnChange();
8885        if (validateOnChange && value !== "" && validationDebounceTime) {
8886          timeout.start(validationDebounceTime, () => {
8887            commit(value);
8888          });
8889        } else {
8890          commit(value, !validateOnChange);
8891        }
8892      });
8893      const getValidationProps = React49.useCallback((disabled2, externalProps = {}) => mergeProps(getDescriptionProps(externalProps), state.valid === false && !state.disabled && !disabled2 ? {
8894        "aria-invalid": true
8895      } : EMPTY_OBJECT), [getDescriptionProps, state.disabled, state.valid]);
8896      return React49.useMemo(() => ({
8897        getValidationProps,
8898        inputRef,
8899        registeredInputs,
8900        registerInput,
8901        getInputControl,
8902        commit,
8903        change
8904      }), [getValidationProps, registeredInputs, registerInput, getInputControl, commit, change]);
8905    }
8906  
8907    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useRegisteredLabelId.mjs
8908    function useRegisteredLabelId(idProp, setLabelId) {
8909      const id = useBaseUiId(idProp);
8910      useIsoLayoutEffect(() => {
8911        setLabelId(id);
8912        return () => {
8913          setLabelId((currentId) => currentId === id ? void 0 : currentId);
8914        };
8915      }, [id, setLabelId]);
8916      return id;
8917    }
8918  
8919    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabel.mjs
8920    function useLabel(params = {}) {
8921      const {
8922        id: idProp,
8923        fallbackControlId,
8924        native = false,
8925        setLabelId: setLabelIdProp,
8926        focusControl: focusControlProp
8927      } = params;
8928      const {
8929        controlId: contextControlId,
8930        setLabelId: setContextLabelId
8931      } = useLabelableContext();
8932      const syncLabelId = useStableCallback((nextLabelId) => {
8933        setContextLabelId(nextLabelId);
8934        setLabelIdProp?.(nextLabelId);
8935      });
8936      const id = useRegisteredLabelId(idProp, syncLabelId);
8937      const resolvedControlId = contextControlId ?? fallbackControlId;
8938      function focusControl(event) {
8939        if (focusControlProp) {
8940          focusControlProp(event, resolvedControlId);
8941          return;
8942        }
8943        if (!resolvedControlId) {
8944          return;
8945        }
8946        const controlElement = getControlById(event.currentTarget, resolvedControlId);
8947        if (isHTMLElement(controlElement)) {
8948          focusElementWithVisible(controlElement);
8949        }
8950      }
8951      function handleInteraction(event) {
8952        const target = getTarget(event.nativeEvent);
8953        if (closest(target, "button,input,select,textarea")) {
8954          return;
8955        }
8956        if (!event.defaultPrevented && event.detail > 1) {
8957          event.preventDefault();
8958        }
8959        if (native) {
8960          return;
8961        }
8962        focusControl(event);
8963      }
8964      return native ? {
8965        id,
8966        htmlFor: resolvedControlId,
8967        onMouseDown: handleInteraction
8968      } : {
8969        id,
8970        onClick: handleInteraction,
8971        onPointerDown(event) {
8972          event.preventDefault();
8973        }
8974      };
8975    }
8976    function getControlById(label, id) {
8977      let root = label.getRootNode();
8978      while (isShadowRoot(root)) {
8979        const element = root.getElementById(id);
8980        if (element) {
8981          return element;
8982        }
8983        root = root.host.getRootNode();
8984      }
8985      return ownerDocument(label).getElementById(id);
8986    }
8987    function focusElementWithVisible(element) {
8988      element.focus({
8989        // Available from Chrome 144+ (January 2026).
8990        // Safari and Firefox already support it.
8991        focusVisible: true
8992      });
8993    }
8994  
8995    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/ItemIndicator.mjs
8996    var React50 = __toESM(require_react(), 1);
8997    var ItemIndicator = /* @__PURE__ */ React50.memo(/* @__PURE__ */ React50.forwardRef(function ItemIndicator2(componentProps, forwardedRef) {
8998      const {
8999        render,
9000        className,
9001        style,
9002        keepMounted,
9003        selected,
9004        ...elementProps
9005      } = componentProps;
9006      const indicatorRef = React50.useRef(null);
9007      const {
9008        transitionStatus,
9009        setMounted
9010      } = useTransitionStatus(selected);
9011      const state = {
9012        selected,
9013        transitionStatus
9014      };
9015      const element = useRenderElement("span", componentProps, {
9016        ref: [forwardedRef, indicatorRef],
9017        state,
9018        props: [{
9019          "aria-hidden": true,
9020          children: "\u2714\uFE0F"
9021        }, elementProps],
9022        stateAttributesMapping: transitionStatusMapping
9023      });
9024      useOpenChangeComplete({
9025        batch: true,
9026        enabled: !selected,
9027        open: selected,
9028        ref: indicatorRef,
9029        onComplete() {
9030          if (!selected) {
9031            setMounted(false);
9032          }
9033        }
9034      });
9035      return element;
9036    }));
9037    if (true) ItemIndicator.displayName = "ItemIndicator";
9038  
9039    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/toolbar/root/ToolbarRootContext.mjs
9040    var React51 = __toESM(require_react(), 1);
9041    var ToolbarRootContext = /* @__PURE__ */ React51.createContext(void 0);
9042    if (true) ToolbarRootContext.displayName = "ToolbarRootContext";
9043    function useToolbarRootContext(optional) {
9044      const context = React51.useContext(ToolbarRootContext);
9045      if (context === void 0 && !optional) {
9046        throw new Error(true ? "Base UI: ToolbarRootContext is missing. Toolbar parts must be placed within <Toolbar.Root>." : formatErrorMessage_default(69));
9047      }
9048      return context;
9049    }
9050  
9051    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/usePreviousValue.mjs
9052    var React52 = __toESM(require_react(), 1);
9053    function usePreviousValue(value) {
9054      const [state, setState] = React52.useState({
9055        current: value,
9056        previous: null
9057      });
9058      if (!Object.is(value, state.current)) {
9059        setState({
9060          current: value,
9061          previous: state.current
9062        });
9063      }
9064      return state.previous;
9065    }
9066  
9067    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/direction-provider/DirectionProvider.mjs
9068    var React53 = __toESM(require_react(), 1);
9069    var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1);
9070    var DirectionProvider = function DirectionProvider2(props) {
9071      const {
9072        direction = "ltr"
9073      } = props;
9074      const contextValue = React53.useMemo(() => ({
9075        direction
9076      }), [direction]);
9077      return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(DirectionContext.Provider, {
9078        value: contextValue,
9079        children: props.children
9080      });
9081    };
9082    if (true) DirectionProvider.displayName = "DirectionProvider";
9083  
9084    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/isElementDisabled.mjs
9085    function isElementDisabled(element) {
9086      return element == null || element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true";
9087    }
9088  
9089    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/csp-context/CSPContext.mjs
9090    var React54 = __toESM(require_react(), 1);
9091    var CSPContext = /* @__PURE__ */ React54.createContext(void 0);
9092    if (true) CSPContext.displayName = "CSPContext";
9093    var DEFAULT_CSP_CONTEXT_VALUE = {
9094      disableStyleElements: false
9095    };
9096    function useCSPContext() {
9097      return React54.useContext(CSPContext) ?? DEFAULT_CSP_CONTEXT_VALUE;
9098    }
9099  
9100    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/clamp.mjs
9101    function clamp2(val, min2 = Number.MIN_SAFE_INTEGER, max2 = Number.MAX_SAFE_INTEGER) {
9102      return Math.max(min2, Math.min(val, max2));
9103    }
9104  
9105    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/index.parts.mjs
9106    var index_parts_exports = {};
9107    __export(index_parts_exports, {
9108      Control: () => FieldControl,
9109      Description: () => FieldDescription,
9110      Error: () => FieldError,
9111      Item: () => FieldItem,
9112      Label: () => FieldLabel,
9113      Root: () => FieldRoot,
9114      Validity: () => FieldValidity
9115    });
9116  
9117    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/FieldRoot.mjs
9118    var React58 = __toESM(require_react(), 1);
9119  
9120    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/fieldset/root/FieldsetRootContext.mjs
9121    var React55 = __toESM(require_react(), 1);
9122    var FieldsetRootContext = /* @__PURE__ */ React55.createContext(void 0);
9123    if (true) FieldsetRootContext.displayName = "FieldsetRootContext";
9124    function useFieldsetRootContext(optional = false) {
9125      const context = React55.useContext(FieldsetRootContext);
9126      if (!context && !optional) {
9127        throw new Error(true ? "Base UI: FieldsetRootContext is missing. Fieldset parts must be placed within <Fieldset.Root>." : formatErrorMessage_default(86));
9128      }
9129      return context;
9130    }
9131  
9132    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/LabelableProvider.mjs
9133    var React56 = __toESM(require_react(), 1);
9134    var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);
9135    var LabelableProvider = function LabelableProvider2(props) {
9136      const defaultId = useBaseUiId();
9137      const [controlIdState, setControlIdState] = React56.useState(defaultId);
9138      const [labelId, setLabelId] = React56.useState();
9139      const [messageIds, setMessageIds] = React56.useState([]);
9140      const controlId = controlIdState === void 0 ? defaultId : controlIdState;
9141      const registrationsRef = useRefWithInit(() => /* @__PURE__ */ new Map());
9142      const {
9143        messageIds: parentMessageIds
9144      } = useLabelableContext();
9145      const registerControlId = useStableCallback((source, nextId) => {
9146        const registrations = registrationsRef.current;
9147        if (nextId === void 0) {
9148          registrations.delete(source);
9149        } else {
9150          registrations.set(source, nextId);
9151        }
9152        setControlIdState((prev) => {
9153          if (registrations.size === 0) {
9154            return prev;
9155          }
9156          let nextControlId;
9157          for (const id of registrations.values()) {
9158            if (id === prev) {
9159              return prev;
9160            }
9161            if (nextControlId === void 0) {
9162              nextControlId = id;
9163            }
9164          }
9165          return nextControlId;
9166        });
9167      });
9168      const resetControlId = useStableCallback(() => {
9169        if (registrationsRef.current.size === 0) {
9170          setControlIdState(defaultId);
9171        }
9172      });
9173      const getDescriptionProps = React56.useCallback((externalProps) => {
9174        const ids = externalProps["aria-describedby"] ? externalProps["aria-describedby"].split(" ") : [];
9175        ids.push(...parentMessageIds, ...messageIds);
9176        return {
9177          ...externalProps,
9178          "aria-describedby": Array.from(new Set(ids)).join(" ") || void 0
9179        };
9180      }, [parentMessageIds, messageIds]);
9181      const contextValue = React56.useMemo(() => ({
9182        controlId,
9183        registerControlId,
9184        resetControlId,
9185        labelId,
9186        setLabelId,
9187        messageIds,
9188        setMessageIds,
9189        getDescriptionProps
9190      }), [controlId, registerControlId, resetControlId, labelId, setLabelId, messageIds, setMessageIds, getDescriptionProps]);
9191      return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(LabelableContext.Provider, {
9192        value: contextValue,
9193        children: props.children
9194      });
9195    };
9196    if (true) LabelableProvider.displayName = "LabelableProvider";
9197  
9198    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-register-control/useFieldControlRegistration.mjs
9199    var React57 = __toESM(require_react(), 1);
9200    function useFieldControlRegistration(params) {
9201      const {
9202        change,
9203        commit,
9204        invalid: invalid2,
9205        markedDirtyRef,
9206        name: name3,
9207        setRegisteredFieldName,
9208        registeredFieldIdRef,
9209        setValidityData,
9210        validityData
9211      } = params;
9212      const {
9213        formRef
9214      } = useFormContext();
9215      const activeFieldControlSourceRef = React57.useRef(null);
9216      const registrationRef = React57.useRef(null);
9217      const initialValueCapturedRef = React57.useRef(false);
9218      const getValueForForm = useStableCallback(() => {
9219        const registration = registrationRef.current;
9220        if (!registration) {
9221          return void 0;
9222        }
9223        if (registration.getValue) {
9224          return registration.getValue();
9225        }
9226        return registration.value;
9227      });
9228      function getRegistrationValue(registration) {
9229        return registration.value === void 0 ? getValueForForm() : registration.value;
9230      }
9231      const validate = useStableCallback(() => {
9232        const registration = registrationRef.current;
9233        markedDirtyRef.current = true;
9234        if (!registration) {
9235          commit(validityData.value);
9236          return;
9237        }
9238        commit(getRegistrationValue(registration));
9239      });
9240      function refreshRegistration() {
9241        const registration = registrationRef.current;
9242        if (!registration || !registration.id) {
9243          return;
9244        }
9245        formRef.current.fields.set(registration.id, {
9246          getValue: getValueForForm,
9247          name: name3 ?? registration.name,
9248          controlRef: registration.controlRef,
9249          validityData: getCombinedFieldValidityData(validityData, invalid2),
9250          validate
9251        });
9252      }
9253      function deleteRegistration(id = registrationRef.current?.id) {
9254        if (id) {
9255          formRef.current.fields.delete(id);
9256        }
9257      }
9258      function captureInitialValue(registration) {
9259        if (initialValueCapturedRef.current) {
9260          return;
9261        }
9262        initialValueCapturedRef.current = true;
9263        const initialValue = getRegistrationValue(registration);
9264        setValidityData((prev) => prev.initialValue === initialValue ? prev : {
9265          ...prev,
9266          initialValue
9267        });
9268      }
9269      useIsoLayoutEffect(() => {
9270        const registration = registrationRef.current;
9271        if (!registration || !registration.id) {
9272          return;
9273        }
9274        setRegisteredFieldName(name3 ? void 0 : registration.name);
9275        formRef.current.fields.set(registration.id, {
9276          getValue: getValueForForm,
9277          name: name3 ?? registration.name,
9278          controlRef: registration.controlRef,
9279          validityData: getCombinedFieldValidityData(validityData, invalid2),
9280          validate
9281        });
9282      }, [formRef, getValueForForm, invalid2, name3, setRegisteredFieldName, validate, validityData]);
9283      useIsoLayoutEffect(() => {
9284        const fields = formRef.current.fields;
9285        return () => {
9286          const id = registrationRef.current?.id;
9287          if (id) {
9288            fields.delete(id);
9289          }
9290        };
9291      }, [formRef]);
9292      const register2 = useStableCallback((source, registration) => {
9293        if (!registration) {
9294          if (activeFieldControlSourceRef.current === source) {
9295            activeFieldControlSourceRef.current = null;
9296            change(void 0, true);
9297            deleteRegistration();
9298            registrationRef.current = null;
9299            setRegisteredFieldName(void 0);
9300            registeredFieldIdRef.current = void 0;
9301          }
9302          return;
9303        }
9304        const previousId = registrationRef.current?.id;
9305        const previousSource = activeFieldControlSourceRef.current;
9306        if (previousSource && previousSource !== source) {
9307          change(void 0, true);
9308        }
9309        activeFieldControlSourceRef.current = source;
9310        registrationRef.current = registration;
9311        if (!name3) {
9312          setRegisteredFieldName(registration.name);
9313        }
9314        registeredFieldIdRef.current = registration.id;
9315        if (previousId && previousId !== registration.id) {
9316          deleteRegistration(previousId);
9317        }
9318        captureInitialValue(registration);
9319        refreshRegistration();
9320      });
9321      return [validate, register2];
9322    }
9323  
9324    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/FieldRoot.mjs
9325    var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);
9326    var FieldRootInner = /* @__PURE__ */ React58.forwardRef(function FieldRootInner2(componentProps, forwardedRef) {
9327      const {
9328        errors,
9329        validationMode: formValidationMode,
9330        submitCountRef
9331      } = useFormContext();
9332      const {
9333        render,
9334        className,
9335        validate: validateProp,
9336        validationDebounceTime = 0,
9337        validationMode = formValidationMode,
9338        name: name3,
9339        disabled: disabledProp = false,
9340        invalid: invalidProp,
9341        dirty: dirtyProp,
9342        touched: touchedProp,
9343        actionsRef,
9344        style,
9345        ...elementProps
9346      } = componentProps;
9347      const disabledFieldset = useFieldsetRootContext(true)?.disabled;
9348      const validate = useStableCallback(validateProp || (() => null));
9349      const disabled2 = disabledFieldset || disabledProp;
9350      const [touchedState, setTouchedUnwrapped] = React58.useState(false);
9351      const [dirtyState, setDirtyUnwrapped] = React58.useState(false);
9352      const [filled, setFilled] = React58.useState(false);
9353      const [focused, setFocused] = React58.useState(false);
9354      const focusOwnerRef = React58.useRef(void 0);
9355      const dirty = dirtyProp ?? dirtyState;
9356      const touched = touchedProp ?? touchedState;
9357      const markedDirtyRef = React58.useRef(dirty);
9358      const registeredFieldIdRef = React58.useRef(void 0);
9359      const [registeredFieldName, setRegisteredFieldName] = React58.useState();
9360      const effectiveName = name3 ?? registeredFieldName;
9361      useIsoLayoutEffect(() => {
9362        if (dirtyProp !== void 0) {
9363          markedDirtyRef.current = dirtyProp;
9364        }
9365      }, [dirtyProp]);
9366      const setDirty = useStableCallback((value) => {
9367        if (dirtyProp !== void 0) {
9368          return;
9369        }
9370        if (value) {
9371          markedDirtyRef.current = true;
9372        }
9373        setDirtyUnwrapped(value);
9374      });
9375      const setTouched = useStableCallback((value) => {
9376        if (touchedProp !== void 0) {
9377          return;
9378        }
9379        setTouchedUnwrapped(value);
9380      });
9381      const shouldValidateOnChange = useStableCallback(() => validationMode === "onChange" || validationMode === "onSubmit" && submitCountRef.current > 0);
9382      const formError = effectiveName && Object.hasOwn(errors, effectiveName) ? errors[effectiveName] : null;
9383      const hasFormError = !!(Array.isArray(formError) ? formError.length : formError);
9384      const invalid2 = invalidProp === true || hasFormError;
9385      const [validityData, setValidityData] = React58.useState({
9386        state: DEFAULT_VALIDITY_STATE,
9387        error: "",
9388        errors: [],
9389        value: null,
9390        initialValue: null
9391      });
9392      const valid2 = !invalid2 && (disabled2 ? null : validityData.state.valid);
9393      const state = React58.useMemo(() => ({
9394        disabled: disabled2,
9395        touched,
9396        dirty,
9397        valid: valid2,
9398        filled,
9399        focused
9400      }), [disabled2, touched, dirty, valid2, filled, focused]);
9401      const validation = useFieldValidation({
9402        setValidityData,
9403        validate,
9404        validityData,
9405        validationDebounceTime,
9406        invalid: invalid2,
9407        markedDirtyRef,
9408        state,
9409        shouldValidateOnChange,
9410        validationMode,
9411        registeredFieldIdRef
9412      });
9413      const [validateFieldControl, registerFieldControl] = useFieldControlRegistration({
9414        change: validation.change,
9415        commit: validation.commit,
9416        invalid: invalid2,
9417        markedDirtyRef,
9418        name: name3,
9419        setRegisteredFieldName,
9420        registeredFieldIdRef,
9421        setValidityData,
9422        validityData
9423      });
9424      React58.useImperativeHandle(actionsRef, () => ({
9425        validate: validateFieldControl
9426      }), [validateFieldControl]);
9427      const contextValue = React58.useMemo(() => ({
9428        invalid: invalid2,
9429        name: effectiveName,
9430        validityData,
9431        setValidityData,
9432        disabled: disabled2,
9433        setTouched,
9434        setDirty,
9435        setFilled,
9436        setFocused,
9437        focusOwnerRef,
9438        validationMode,
9439        shouldValidateOnChange,
9440        state,
9441        registerFieldControl,
9442        validation
9443      }), [invalid2, effectiveName, validityData, disabled2, setTouched, setDirty, setFilled, setFocused, validationMode, shouldValidateOnChange, state, registerFieldControl, validation]);
9444      const element = useRenderElement("div", componentProps, {
9445        ref: forwardedRef,
9446        state,
9447        props: elementProps,
9448        stateAttributesMapping: fieldValidityMapping
9449      });
9450      return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(FieldRootContext.Provider, {
9451        value: contextValue,
9452        children: element
9453      });
9454    });
9455    if (true) FieldRootInner.displayName = "FieldRootInner";
9456    var FieldRoot = /* @__PURE__ */ React58.forwardRef(function FieldRoot2(componentProps, forwardedRef) {
9457      return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(LabelableProvider, {
9458        children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(FieldRootInner, {
9459          ...componentProps,
9460          ref: forwardedRef
9461        })
9462      });
9463    });
9464    if (true) FieldRoot.displayName = "FieldRoot";
9465  
9466    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/label/FieldLabel.mjs
9467    var React59 = __toESM(require_react(), 1);
9468    var FieldLabel = /* @__PURE__ */ React59.forwardRef(function FieldLabel2(componentProps, forwardedRef) {
9469      const {
9470        render,
9471        className,
9472        style,
9473        id: idProp,
9474        nativeLabel = true,
9475        ...elementProps
9476      } = componentProps;
9477      const fieldRootContext = useFieldRootContext(false);
9478      const fieldItemContext = useFieldItemContext();
9479      const {
9480        labelId
9481      } = useLabelableContext();
9482      const state = {
9483        ...fieldRootContext.state,
9484        disabled: fieldRootContext.disabled || fieldItemContext.disabled
9485      };
9486      const labelRef = React59.useRef(null);
9487      const labelProps = useLabel({
9488        id: labelId ?? idProp,
9489        native: nativeLabel
9490      });
9491      if (true) {
9492        React59.useEffect(() => {
9493          if (!labelRef.current) {
9494            return;
9495          }
9496          const isLabelTag = labelRef.current.tagName === "LABEL";
9497          if (nativeLabel) {
9498            if (!isLabelTag) {
9499              const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
9500              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`.";
9501              error(`$message}$ownerStackMessage}`);
9502            }
9503          } else if (isLabelTag) {
9504            const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
9505            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`.";
9506            error(`$message}$ownerStackMessage}`);
9507          }
9508        }, [nativeLabel]);
9509      }
9510      const element = useRenderElement("label", componentProps, {
9511        ref: [forwardedRef, labelRef],
9512        state,
9513        props: [labelProps, elementProps],
9514        stateAttributesMapping: fieldValidityMapping
9515      });
9516      return element;
9517    });
9518    if (true) FieldLabel.displayName = "FieldLabel";
9519  
9520    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/error/FieldError.mjs
9521    var React60 = __toESM(require_react(), 1);
9522    var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1);
9523    var stateAttributesMapping = {
9524      ...fieldValidityMapping,
9525      ...transitionStatusMapping
9526    };
9527    var FieldError = /* @__PURE__ */ React60.forwardRef(function FieldError2(componentProps, forwardedRef) {
9528      const {
9529        render,
9530        id: idProp,
9531        className,
9532        match,
9533        style,
9534        ...elementProps
9535      } = componentProps;
9536      const id = useBaseUiId(idProp);
9537      const {
9538        validityData,
9539        state: fieldState,
9540        name: name3
9541      } = useFieldRootContext(false);
9542      const {
9543        setMessageIds
9544      } = useLabelableContext();
9545      const {
9546        errors
9547      } = useFormContext();
9548      const formError = name3 && Object.hasOwn(errors, name3) ? errors[name3] : null;
9549      const hasFormError = !!(Array.isArray(formError) ? formError.length : formError);
9550      const hasSpecificMatch = typeof match === "string";
9551      let rendered = false;
9552      if (match === true) {
9553        rendered = true;
9554      } else if (fieldState.disabled) {
9555        rendered = false;
9556      } else if (hasSpecificMatch) {
9557        rendered = Boolean(validityData.state[match]);
9558      } else {
9559        rendered = hasFormError || validityData.state.valid === false;
9560      }
9561      const {
9562        mounted,
9563        transitionStatus,
9564        setMounted
9565      } = useTransitionStatus(rendered);
9566      useIsoLayoutEffect(() => {
9567        if (!rendered || !id) {
9568          return void 0;
9569        }
9570        setMessageIds((v) => v.concat(id));
9571        return () => {
9572          setMessageIds((v) => v.filter((item) => item !== id));
9573        };
9574      }, [rendered, id, setMessageIds]);
9575      const errorRef = React60.useRef(null);
9576      const [lastRenderedMessage, setLastRenderedMessage] = React60.useState(null);
9577      const [lastRenderedMessageKey, setLastRenderedMessageKey] = React60.useState(null);
9578      let error2 = validityData.error;
9579      if (!hasSpecificMatch && hasFormError) {
9580        error2 = formError;
9581      } else if (validityData.errors.length > 1) {
9582        error2 = validityData.errors;
9583      }
9584      let errorMessage = error2;
9585      if (Array.isArray(error2)) {
9586        errorMessage = error2.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("ul", {
9587          children: error2.map((message) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("li", {
9588            children: message
9589          }, message))
9590        }) : error2[0];
9591      }
9592      const errorKey = Array.isArray(error2) ? JSON.stringify(error2) : error2;
9593      if (rendered && errorKey !== lastRenderedMessageKey) {
9594        setLastRenderedMessageKey(errorKey);
9595        setLastRenderedMessage(errorMessage);
9596      }
9597      useOpenChangeComplete({
9598        open: rendered,
9599        ref: errorRef,
9600        onComplete() {
9601          if (!rendered) {
9602            setMounted(false);
9603          }
9604        }
9605      });
9606      const state = {
9607        ...fieldState,
9608        transitionStatus
9609      };
9610      const element = useRenderElement("div", componentProps, {
9611        ref: [forwardedRef, errorRef],
9612        state,
9613        props: [{
9614          id,
9615          children: rendered ? errorMessage : lastRenderedMessage
9616        }, elementProps],
9617        stateAttributesMapping,
9618        enabled: mounted
9619      });
9620      if (!mounted) {
9621        return null;
9622      }
9623      return element;
9624    });
9625    if (true) FieldError.displayName = "FieldError";
9626  
9627    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/description/FieldDescription.mjs
9628    var React61 = __toESM(require_react(), 1);
9629    var FieldDescription = /* @__PURE__ */ React61.forwardRef(function FieldDescription2(componentProps, forwardedRef) {
9630      const {
9631        render,
9632        id: idProp,
9633        className,
9634        style,
9635        ...elementProps
9636      } = componentProps;
9637      const id = useBaseUiId(idProp);
9638      const fieldRootContext = useFieldRootContext(false);
9639      const fieldItemContext = useFieldItemContext();
9640      const {
9641        setMessageIds
9642      } = useLabelableContext();
9643      const state = {
9644        ...fieldRootContext.state,
9645        disabled: fieldRootContext.disabled || fieldItemContext.disabled
9646      };
9647      useIsoLayoutEffect(() => {
9648        if (!id) {
9649          return void 0;
9650        }
9651        setMessageIds((v) => v.concat(id));
9652        return () => {
9653          setMessageIds((v) => v.filter((item) => item !== id));
9654        };
9655      }, [id, setMessageIds]);
9656      const element = useRenderElement("p", componentProps, {
9657        ref: forwardedRef,
9658        state,
9659        props: [{
9660          id
9661        }, elementProps],
9662        stateAttributesMapping: fieldValidityMapping
9663      });
9664      return element;
9665    });
9666    if (true) FieldDescription.displayName = "FieldDescription";
9667  
9668    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/control/FieldControl.mjs
9669    var React62 = __toESM(require_react(), 1);
9670    var FieldControl = /* @__PURE__ */ React62.forwardRef(function FieldControl2(componentProps, forwardedRef) {
9671      const {
9672        render,
9673        className,
9674        id: idProp,
9675        name: nameProp,
9676        value,
9677        disabled: disabledProp = false,
9678        onValueChange,
9679        defaultValue,
9680        autoFocus = false,
9681        style,
9682        ...elementProps
9683      } = componentProps;
9684      const {
9685        state: fieldState,
9686        name: fieldName,
9687        disabled: fieldDisabled,
9688        setTouched,
9689        setDirty,
9690        validityData,
9691        setFilled,
9692        validationMode,
9693        validation
9694      } = useFieldRootContext();
9695      const {
9696        clearErrors,
9697        elementRef: formElementRef,
9698        submitCountRef
9699      } = useFormContext();
9700      const disabled2 = fieldDisabled || disabledProp;
9701      const name3 = fieldName ?? nameProp;
9702      const state = {
9703        ...fieldState,
9704        disabled: disabled2
9705      };
9706      const {
9707        labelId
9708      } = useLabelableContext();
9709      const id = useLabelableId({
9710        id: idProp
9711      });
9712      const isControlled = value !== void 0;
9713      const serializedValue = value == null ? void 0 : String(value);
9714      const getValueFromInput = useStableCallback(() => validation.inputRef.current?.value);
9715      useRegisterFieldControl(validation.inputRef, id, serializedValue, getValueFromInput, !disabled2, nameProp);
9716      useIsoLayoutEffect(() => {
9717        const currentValue = serializedValue ?? validation.inputRef.current?.value;
9718        if (currentValue !== void 0) {
9719          setFilled(currentValue !== "");
9720        }
9721      }, [serializedValue, defaultValue, validation.inputRef, setFilled]);
9722      useValueChanged(serializedValue, () => {
9723        if (serializedValue === void 0) {
9724          return;
9725        }
9726        clearErrors(name3);
9727        setDirty(serializedValue !== (validityData.initialValue ?? ""));
9728        validation.change(serializedValue);
9729      });
9730      const inputRef = React62.useRef(null);
9731      const setFocused = useSetFieldFocused(disabled2, inputRef);
9732      const enterValidationTimeout = useTimeout();
9733      const element = useRenderElement("input", componentProps, {
9734        ref: [forwardedRef, inputRef],
9735        state,
9736        props: [{
9737          id,
9738          disabled: disabled2,
9739          name: name3,
9740          ref: validation.inputRef,
9741          "aria-labelledby": labelId,
9742          autoFocus,
9743          ...isControlled ? {
9744            value
9745          } : {
9746            defaultValue
9747          },
9748          onChange(event) {
9749            const inputValue = event.currentTarget.value;
9750            const details = createChangeEventDetails(reason_parts_exports.none, event.nativeEvent);
9751            onValueChange?.(inputValue, details);
9752            if (isControlled) {
9753              return;
9754            }
9755            setDirty(inputValue !== (validityData.initialValue ?? ""));
9756            setFilled(inputValue !== "");
9757            if (!event.nativeEvent.defaultPrevented && !details.isCanceled) {
9758              clearErrors(name3);
9759              validation.change(inputValue);
9760            }
9761          },
9762          onFocus() {
9763            setFocused(true);
9764          },
9765          onBlur(event) {
9766            setTouched(true);
9767            setFocused(false);
9768            if (validationMode === "onBlur") {
9769              const inputValue = event.currentTarget.value;
9770              validation.commit(inputValue);
9771              if (isControlled) {
9772                queueMicrotask(() => {
9773                  const nextValue = validation.inputRef.current?.value;
9774                  if (nextValue !== void 0 && nextValue !== inputValue && nextValue !== (validityData.initialValue ?? "")) {
9775                    validation.commit(nextValue);
9776                  }
9777                });
9778              }
9779            }
9780          },
9781          onKeyDown(event) {
9782            if (event.currentTarget.tagName === "INPUT" && event.key === "Enter") {
9783              setTouched(true);
9784              const value2 = event.currentTarget.value;
9785              const form = event.currentTarget.form;
9786              if (form && form === formElementRef.current && !event.defaultPrevented) {
9787                const input = event.currentTarget;
9788                const submitCount = submitCountRef.current;
9789                enterValidationTimeout.start(0, () => {
9790                  if (submitCountRef.current === submitCount) {
9791                    validation.commit(input.value);
9792                  }
9793                });
9794              } else {
9795                validation.commit(value2);
9796              }
9797            }
9798          }
9799        }, elementProps, (props) => validation.getValidationProps(disabled2, props)],
9800        stateAttributesMapping: fieldValidityMapping
9801      });
9802      return element;
9803    });
9804    if (true) FieldControl.displayName = "FieldControl";
9805  
9806    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/validity/FieldValidity.mjs
9807    var React63 = __toESM(require_react(), 1);
9808    var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1);
9809    var FieldValidity = function FieldValidity2(props) {
9810      const {
9811        children
9812      } = props;
9813      const {
9814        validityData,
9815        invalid: invalid2
9816      } = useFieldRootContext(false);
9817      const combinedFieldValidityData = React63.useMemo(() => getCombinedFieldValidityData(validityData, invalid2), [validityData, invalid2]);
9818      const isInvalid = combinedFieldValidityData.state.valid === false;
9819      const {
9820        transitionStatus
9821      } = useTransitionStatus(isInvalid);
9822      const fieldValidityState = React63.useMemo(() => {
9823        return {
9824          ...combinedFieldValidityData,
9825          validity: combinedFieldValidityData.state,
9826          transitionStatus
9827        };
9828      }, [combinedFieldValidityData, transitionStatus]);
9829      return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(React63.Fragment, {
9830        children: children(fieldValidityState)
9831      });
9832    };
9833    if (true) FieldValidity.displayName = "FieldValidity";
9834  
9835    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/item/FieldItem.mjs
9836    var React64 = __toESM(require_react(), 1);
9837    var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1);
9838    var FieldItem = /* @__PURE__ */ React64.forwardRef(function FieldItem2(componentProps, forwardedRef) {
9839      const {
9840        render,
9841        className,
9842        style,
9843        disabled: disabledProp = false,
9844        ...elementProps
9845      } = componentProps;
9846      const {
9847        state: fieldState,
9848        disabled: rootDisabled
9849      } = useFieldRootContext(false);
9850      const disabled2 = rootDisabled || disabledProp;
9851      const state = {
9852        ...fieldState,
9853        disabled: disabled2
9854      };
9855      const fieldItemContext = React64.useMemo(() => ({
9856        disabled: disabled2
9857      }), [disabled2]);
9858      const element = useRenderElement("div", componentProps, {
9859        ref: forwardedRef,
9860        state,
9861        props: elementProps,
9862        stateAttributesMapping: fieldValidityMapping
9863      });
9864      return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(LabelableProvider, {
9865        children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(FieldItemContext.Provider, {
9866          value: fieldItemContext,
9867          children: element
9868        })
9869      });
9870    });
9871    if (true) FieldItem.displayName = "FieldItem";
9872  
9873    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/styles.mjs
9874    var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1);
9875    var DISABLE_SCROLLBAR_CLASS_NAME = "base-ui-disable-scrollbar";
9876    var styleDisableScrollbar = {
9877      className: DISABLE_SCROLLBAR_CLASS_NAME,
9878      getElement(nonce) {
9879        return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("style", {
9880          nonce,
9881          href: DISABLE_SCROLLBAR_CLASS_NAME,
9882          precedence: "base-ui:low",
9883          children: `.$DISABLE_SCROLLBAR_CLASS_NAME}{scrollbar-width:none}.$DISABLE_SCROLLBAR_CLASS_NAME}::-webkit-scrollbar{display:none}`
9884        });
9885      }
9886    };
9887    if (true) styleDisableScrollbar.getElement.displayName = "styleDisableScrollbar.getElement";
9888  
9889    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/scrollEdges.mjs
9890    var SCROLL_EDGE_TOLERANCE_PX = 1;
9891    function getMaxScrollOffset(scrollSize, clientSize) {
9892      return Math.max(0, scrollSize - clientSize);
9893    }
9894    function normalizeScrollOffset(value, max2) {
9895      if (max2 <= 0) {
9896        return 0;
9897      }
9898      const clamped = clamp2(value, 0, max2);
9899      const startDistance = clamped;
9900      const endDistance = max2 - clamped;
9901      const withinStartTolerance = startDistance <= SCROLL_EDGE_TOLERANCE_PX;
9902      const withinEndTolerance = endDistance <= SCROLL_EDGE_TOLERANCE_PX;
9903      if (withinStartTolerance && withinEndTolerance) {
9904        return startDistance <= endDistance ? 0 : max2;
9905      }
9906      if (withinStartTolerance) {
9907        return 0;
9908      }
9909      if (withinEndTolerance) {
9910        return max2;
9911      }
9912      return clamped;
9913    }
9914  
9915    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/index.parts.mjs
9916    var index_parts_exports2 = {};
9917    __export(index_parts_exports2, {
9918      Arrow: () => SelectArrow,
9919      Backdrop: () => SelectBackdrop,
9920      Group: () => SelectGroup,
9921      GroupLabel: () => SelectGroupLabel,
9922      Icon: () => SelectIcon,
9923      Item: () => SelectItem,
9924      ItemIndicator: () => SelectItemIndicator,
9925      ItemText: () => SelectItemText,
9926      Label: () => SelectLabel,
9927      List: () => SelectList,
9928      Popup: () => SelectPopup,
9929      Portal: () => SelectPortal,
9930      Positioner: () => SelectPositioner,
9931      Root: () => SelectRoot,
9932      ScrollDownArrow: () => SelectScrollDownArrow,
9933      ScrollUpArrow: () => SelectScrollUpArrow,
9934      Separator: () => SelectSeparator,
9935      Trigger: () => SelectTrigger,
9936      Value: () => SelectValue
9937    });
9938  
9939    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/root/SelectRoot.mjs
9940    var React66 = __toESM(require_react(), 1);
9941  
9942    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/root/SelectRootContext.mjs
9943    var React65 = __toESM(require_react(), 1);
9944    var SelectRootContext = /* @__PURE__ */ React65.createContext(void 0);
9945    if (true) SelectRootContext.displayName = "SelectRootContext";
9946    var SelectFloatingContext = /* @__PURE__ */ React65.createContext(void 0);
9947    if (true) SelectFloatingContext.displayName = "SelectFloatingContext";
9948    function useSelectRootContext() {
9949      const store = React65.useContext(SelectRootContext);
9950      if (store === void 0) {
9951        throw new Error(true ? "Base UI: SelectRootContext is missing. Select parts must be placed within <Select.Root>." : formatErrorMessage_default(60));
9952      }
9953      return store;
9954    }
9955    function useSelectFloatingContext() {
9956      const context = React65.useContext(SelectFloatingContext);
9957      if (context === void 0) {
9958        throw new Error(true ? "Base UI: SelectFloatingContext is missing. Select parts must be placed within <Select.Root>." : formatErrorMessage_default(61));
9959      }
9960      return context;
9961    }
9962  
9963    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/store.mjs
9964    var selectors2 = {
9965      id: (state) => state.id,
9966      labelId: (state) => state.labelId,
9967      modal: (state) => state.modal,
9968      multiple: (state) => state.multiple,
9969      disabled: (state) => state.disabled,
9970      readOnly: (state) => state.readOnly,
9971      required: (state) => state.required,
9972      highlightItemOnHover: (state) => state.highlightItemOnHover,
9973      items: (state) => state.items,
9974      itemToStringLabel: (state) => state.itemToStringLabel,
9975      isItemEqualToValue: (state) => state.isItemEqualToValue,
9976      value: (state) => state.value,
9977      hasSelectedValue: (state) => {
9978        const {
9979          value,
9980          multiple,
9981          itemToStringValue
9982        } = state;
9983        if (value == null) {
9984          return false;
9985        }
9986        if (multiple && Array.isArray(value)) {
9987          return value.length > 0;
9988        }
9989        return stringifyAsValue(value, itemToStringValue) !== "";
9990      },
9991      hasNullItemLabel: (state, enabled) => {
9992        return enabled ? hasNullItemLabel(state.items) : false;
9993      },
9994      open: (state) => state.open,
9995      mounted: (state) => state.mounted,
9996      forceMount: (state) => state.forceMount,
9997      transitionStatus: (state) => state.transitionStatus,
9998      openMethod: (state) => state.openMethod,
9999      activeIndex: (state) => state.activeIndex,
10000      selectedIndex: (state) => state.selectedIndex,
10001      isActive: (state, index2) => state.activeIndex === index2,
10002      isSelected: (state, itemValue) => {
10003        const comparer = state.isItemEqualToValue;
10004        const storeValue = state.value;
10005        if (state.multiple) {
10006          return Array.isArray(storeValue) && storeValue.some((selectedItem) => compareItemEquality(itemValue, selectedItem, comparer));
10007        }
10008        return compareItemEquality(itemValue, storeValue, comparer);
10009      },
10010      isSelectedByFocus: (state, index2) => {
10011        return state.selectedIndex === index2;
10012      },
10013      popupProps: (state) => state.popupProps,
10014      triggerProps: (state) => state.triggerProps,
10015      itemRoot: (state) => state.itemRoot,
10016      triggerElement: (state) => state.triggerElement,
10017      positionerElement: (state) => state.positionerElement,
10018      listElement: (state) => state.listElement,
10019      popupSide: (state) => state.popupSide,
10020      scrollUpArrowVisible: (state) => state.scrollUpArrowVisible,
10021      scrollDownArrowVisible: (state) => state.scrollDownArrowVisible,
10022      hasScrollArrows: (state) => state.hasScrollArrows
10023    };
10024  
10025    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/root/SelectRoot.mjs
10026    var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1);
10027    function SelectRoot(props) {
10028      const {
10029        id,
10030        value: valueProp,
10031        defaultValue = null,
10032        onValueChange,
10033        open: openProp,
10034        defaultOpen = false,
10035        onOpenChange,
10036        name: nameProp,
10037        form,
10038        autoComplete,
10039        disabled: disabledProp = false,
10040        readOnly = false,
10041        required = false,
10042        modal = true,
10043        actionsRef,
10044        inputRef,
10045        onOpenChangeComplete,
10046        items,
10047        multiple = false,
10048        itemToStringLabel,
10049        itemToStringValue,
10050        isItemEqualToValue = defaultItemEquality,
10051        highlightItemOnHover = true,
10052        children
10053      } = props;
10054      const {
10055        clearErrors
10056      } = useFormContext();
10057      const {
10058        setDirty,
10059        setTouched,
10060        setFocused,
10061        validityData,
10062        setFilled,
10063        name: fieldName,
10064        disabled: fieldDisabled,
10065        validation,
10066        validationMode
10067      } = useFieldRootContext();
10068      const generatedId = useLabelableId({
10069        id
10070      });
10071      const disabled2 = fieldDisabled || disabledProp;
10072      const name3 = fieldName ?? nameProp;
10073      const [value, setValueUnwrapped] = useControlled({
10074        controlled: valueProp,
10075        default: multiple ? defaultValue ?? EMPTY_ARRAY : defaultValue,
10076        name: "Select",
10077        state: "value"
10078      });
10079      const [open2, setOpenUnwrapped] = useControlled({
10080        controlled: openProp,
10081        default: defaultOpen,
10082        name: "Select",
10083        state: "open"
10084      });
10085      const listRef = React66.useRef([]);
10086      const labelsRef = React66.useRef([]);
10087      const popupRef = React66.useRef(null);
10088      const scrollHandlerRef = React66.useRef(null);
10089      const scrollArrowsMountedCountRef = React66.useRef(0);
10090      const valueRef = React66.useRef(null);
10091      const valuesRef = React66.useRef([]);
10092      const typingRef = React66.useRef(false);
10093      const firstItemTextRef = React66.useRef(null);
10094      const selectedItemTextRef = React66.useRef(null);
10095      const selectionRef = React66.useRef({
10096        allowSelectedMouseUp: false,
10097        allowUnselectedMouseUp: false,
10098        dragY: 0
10099      });
10100      const alignItemWithTriggerActiveRef = React66.useRef(false);
10101      const initialValueRef = React66.useRef(value);
10102      const {
10103        openMethod,
10104        triggerProps: interactionTypeProps
10105      } = useOpenInteractionType(open2);
10106      const store = useRefWithInit(() => new ReactStore({
10107        id: generatedId,
10108        labelId: void 0,
10109        modal,
10110        multiple,
10111        disabled: disabled2,
10112        readOnly,
10113        required,
10114        highlightItemOnHover,
10115        itemToStringLabel,
10116        itemToStringValue,
10117        isItemEqualToValue,
10118        value,
10119        open: open2,
10120        // Seeded with the initial values of `useUnmountAfterClose`, which is called after the
10121        // store because its unmount cleanup writes to it. `useSyncedValues` keeps them in sync.
10122        mounted: open2,
10123        transitionStatus: void 0,
10124        items,
10125        forceMount: false,
10126        openMethod: null,
10127        activeIndex: null,
10128        selectedIndex: null,
10129        popupProps: EMPTY_OBJECT,
10130        triggerProps: EMPTY_OBJECT,
10131        itemRoot: {
10132          props: EMPTY_OBJECT,
10133          multiple,
10134          disabled: disabled2,
10135          readOnly,
10136          isItemEqualToValue
10137        },
10138        triggerElement: null,
10139        positionerElement: null,
10140        listElement: null,
10141        popupSide: null,
10142        scrollUpArrowVisible: false,
10143        scrollDownArrowVisible: false,
10144        hasScrollArrows: false
10145      }, {
10146        setValue: NOOP,
10147        setOpen: NOOP,
10148        handleScrollArrowVisibility: NOOP,
10149        onOpenChangeComplete: NOOP,
10150        listRef,
10151        popupRef,
10152        scrollHandlerRef,
10153        scrollArrowsMountedCountRef,
10154        valueRef,
10155        valuesRef,
10156        labelsRef,
10157        typingRef,
10158        selectionRef,
10159        firstItemTextRef,
10160        selectedItemTextRef,
10161        alignItemWithTriggerActiveRef,
10162        initialValueRef
10163      }, selectors2)).current;
10164      const [preventUnmountOnClose, setPreventUnmountOnClose] = React66.useState(false);
10165      const {
10166        mounted,
10167        transitionStatus,
10168        forceUnmount: handleUnmount
10169      } = useUnmountAfterClose({
10170        open: open2,
10171        ref: popupRef,
10172        preventUnmountOnClose,
10173        setPreventUnmountOnClose,
10174        onUnmount() {
10175          store.update({
10176            activeIndex: null,
10177            openMethod: null,
10178            scrollUpArrowVisible: false,
10179            scrollDownArrowVisible: false
10180          });
10181          onOpenChangeComplete?.(false);
10182        }
10183      });
10184      const activeIndex = store.useState("activeIndex");
10185      const selectedIndex = store.useState("selectedIndex");
10186      const triggerElement = store.useState("triggerElement");
10187      const positionerElement = store.useState("positionerElement");
10188      const previousOpenMethod = usePreviousValue(openMethod);
10189      const renderedOpenMethod = openMethod ?? previousOpenMethod;
10190      const serializedValue = React66.useMemo(() => {
10191        if (multiple) {
10192          return "";
10193        }
10194        return stringifyAsValue(value, itemToStringValue);
10195      }, [multiple, value, itemToStringValue]);
10196      const fieldStringValue = React66.useMemo(() => {
10197        if (multiple && Array.isArray(value)) {
10198          return value.map((currentValue) => stringifyAsValue(currentValue, itemToStringValue));
10199        }
10200        return stringifyAsValue(value, itemToStringValue);
10201      }, [multiple, value, itemToStringValue]);
10202      const controlRef = useValueAsRef(triggerElement);
10203      const getStringifiedValueForForm = useStableCallback(() => fieldStringValue);
10204      useRegisterFieldControl(controlRef, generatedId, value, getStringifiedValueForForm, !disabled2, nameProp);
10205      const hasSelectedValue = multiple ? Array.isArray(value) && value.length > 0 : value != null && serializedValue !== "";
10206      useIsoLayoutEffect(() => {
10207        setFilled(hasSelectedValue);
10208      }, [hasSelectedValue, setFilled]);
10209      useIsoLayoutEffect(function syncSelectedIndex() {
10210        const nextIndex = findSelectionIndex(valuesRef.current, value, isItemEqualToValue, multiple);
10211        if (nextIndex === null) {
10212          selectedItemTextRef.current = null;
10213        }
10214        if (open2) {
10215          return;
10216        }
10217        store.set("selectedIndex", nextIndex);
10218      }, [multiple, open2, value, isItemEqualToValue, store]);
10219      useValueChanged(value, () => {
10220        clearErrors(name3);
10221        setDirty(isSelectedValueDirty(value, validityData.initialValue, isItemEqualToValue));
10222        validation.change(value);
10223      });
10224      const setOpen = useStableCallback((nextOpen, eventDetails) => {
10225        const openEventDetails = eventDetails;
10226        const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(openEventDetails);
10227        onOpenChange?.(nextOpen, openEventDetails);
10228        if (eventDetails.isCanceled) {
10229          return;
10230        }
10231        if (!nextOpen) {
10232          setPreventUnmountOnClose(shouldPreventUnmountOnClose());
10233        }
10234        setOpenUnwrapped(nextOpen);
10235        if (!nextOpen && (eventDetails.reason === reason_parts_exports.focusOut || eventDetails.reason === reason_parts_exports.outsidePress)) {
10236          setTouched(true);
10237          setFocused(false);
10238          if (validationMode === "onBlur") {
10239            validation.commit(value);
10240          }
10241        }
10242      });
10243      React66.useImperativeHandle(actionsRef, () => ({
10244        unmount: handleUnmount,
10245        close: () => {
10246          if (store.state.open) {
10247            setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction));
10248          }
10249        }
10250      }), [handleUnmount, setOpen, store]);
10251      const setValue = useStableCallback((nextValue, eventDetails) => {
10252        onValueChange?.(nextValue, eventDetails);
10253        if (eventDetails.isCanceled) {
10254          return;
10255        }
10256        setValueUnwrapped(nextValue);
10257      });
10258      const handleScrollArrowVisibility = useStableCallback((scroller) => {
10259        const maxScrollTop = getMaxScrollOffset(scroller.scrollHeight, scroller.clientHeight);
10260        const scrollTop = normalizeScrollOffset(scroller.scrollTop, maxScrollTop);
10261        const shouldShowUp = scrollTop > 0;
10262        const shouldShowDown = scrollTop < maxScrollTop;
10263        store.set("scrollUpArrowVisible", shouldShowUp);
10264        store.set("scrollDownArrowVisible", shouldShowDown);
10265      });
10266      const floatingContext = useFloatingRootContext({
10267        open: open2,
10268        onOpenChange: setOpen,
10269        elements: {
10270          reference: triggerElement,
10271          floating: positionerElement
10272        }
10273      });
10274      const click = useClick(floatingContext, {
10275        enabled: !disabled2,
10276        event: "mousedown"
10277      });
10278      const dismiss = useDismiss(floatingContext);
10279      const listNavigation2 = useListNavigation(floatingContext, {
10280        enabled: !disabled2,
10281        listRef,
10282        activeIndex,
10283        selectedIndex,
10284        disabledIndices: EMPTY_ARRAY,
10285        onNavigate(nextActiveIndex) {
10286          if (nextActiveIndex === null && !open2) {
10287            return;
10288          }
10289          store.set("activeIndex", nextActiveIndex);
10290        },
10291        focusItemOnHover: highlightItemOnHover
10292      });
10293      const typeahead = useTypeahead(floatingContext, {
10294        // Typeahead on an open popup only moves the highlight, so it remains available while
10295        // `readOnly`. The closed-trigger variant commits a value instead, so it doesn't.
10296        enabled: !disabled2 && (open2 || !readOnly && !multiple),
10297        listRef: labelsRef,
10298        activeIndex,
10299        selectedIndex,
10300        // Skip disabled items while matching so typeahead advances to the next selectable item
10301        // (a click can never select a disabled item and native `<select>` skips them too). Resolve
10302        // the disabled state from the element via the attribute-only `isElementDisabled` so the
10303        // hidden, force-mounted items used for closed-trigger typeahead aren't dropped by the
10304        // `elementsRef`/visibility filter that `disabledIndices` deliberately sidesteps.
10305        disabledIndices: (index2) => isElementDisabled(listRef.current[index2]),
10306        onMatch(index2) {
10307          if (open2) {
10308            store.set("activeIndex", index2);
10309          } else {
10310            setValue(valuesRef.current[index2], createChangeEventDetails(reason_parts_exports.none));
10311          }
10312        },
10313        onTyping(typing) {
10314          typingRef.current = typing;
10315        }
10316      });
10317      const mergedTriggerProps = React66.useMemo(() => mergeProps(typeahead.reference, listNavigation2.reference, dismiss.reference, click.reference, interactionTypeProps), [click.reference, typeahead.reference, listNavigation2.reference, dismiss.reference, interactionTypeProps]);
10318      const popupProps = React66.useMemo(() => mergeProps(FOCUSABLE_POPUP_PROPS, typeahead.floating, listNavigation2.floating, dismiss.floating), [typeahead.floating, listNavigation2.floating, dismiss.floating]);
10319      const itemProps = listNavigation2.item ?? EMPTY_OBJECT;
10320      const itemRoot = React66.useMemo(() => ({
10321        props: itemProps,
10322        multiple,
10323        disabled: disabled2,
10324        readOnly,
10325        isItemEqualToValue
10326      }), [itemProps, multiple, disabled2, readOnly, isItemEqualToValue]);
10327      store.useContextCallback("setValue", setValue);
10328      store.useContextCallback("setOpen", setOpen);
10329      store.useContextCallback("handleScrollArrowVisibility", handleScrollArrowVisibility);
10330      store.useContextCallback("onOpenChangeComplete", onOpenChangeComplete);
10331      useOnFirstRender(() => {
10332        store.update({
10333          popupProps,
10334          triggerProps: mergedTriggerProps,
10335          itemRoot
10336        });
10337      });
10338      store.useSyncedValues({
10339        id: generatedId,
10340        modal,
10341        multiple,
10342        disabled: disabled2,
10343        readOnly,
10344        required,
10345        highlightItemOnHover,
10346        value,
10347        open: open2,
10348        mounted,
10349        transitionStatus,
10350        popupProps,
10351        triggerProps: mergedTriggerProps,
10352        itemRoot,
10353        items,
10354        itemToStringLabel,
10355        itemToStringValue,
10356        isItemEqualToValue,
10357        openMethod: renderedOpenMethod
10358      });
10359      const ref = useMergedRefs(inputRef, validation.inputRef);
10360      const hiddenInputName = multiple ? void 0 : name3;
10361      const hiddenInputs = React66.useMemo(() => {
10362        if (!multiple || !Array.isArray(value) || !name3) {
10363          return null;
10364        }
10365        return value.map((v) => {
10366          const currentSerializedValue = stringifyAsValue(v, itemToStringValue);
10367          return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("input", {
10368            type: "hidden",
10369            form,
10370            name: name3,
10371            value: currentSerializedValue,
10372            disabled: disabled2
10373          }, currentSerializedValue);
10374        });
10375      }, [multiple, value, form, name3, itemToStringValue, disabled2]);
10376      return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(SelectRootContext.Provider, {
10377        value: store,
10378        children: [/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(SelectFloatingContext.Provider, {
10379          value: floatingContext,
10380          children
10381        }), /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("input", {
10382          ...validation.getValidationProps(disabled2, {
10383            onFocus() {
10384              store.state.triggerElement?.focus({
10385                // Supported in Chrome from 144 (January 2026)
10386                focusVisible: true
10387              });
10388            },
10389            // Handle browser autofill.
10390            onChange(event) {
10391              if (event.nativeEvent.defaultPrevented || disabled2 || readOnly) {
10392                return;
10393              }
10394              const nextValue = event.currentTarget.value;
10395              const details = createChangeEventDetails(reason_parts_exports.none, event.nativeEvent);
10396              function handleChange() {
10397                if (multiple) {
10398                  return;
10399                }
10400                const nextValueLower = nextValue.toLowerCase();
10401                let matchingIndex = valuesRef.current.findIndex((candidate) => stringifyAsValue(candidate, itemToStringValue).toLowerCase() === nextValueLower || stringifyAsLabel(candidate, itemToStringLabel).toLowerCase() === nextValueLower);
10402                if (matchingIndex === -1) {
10403                  matchingIndex = valuesRef.current.findIndex((_, index2) => {
10404                    const renderedLabel = labelsRef.current[index2];
10405                    return renderedLabel != null && renderedLabel.toLowerCase() === nextValueLower;
10406                  });
10407                }
10408                const matchingValue = valuesRef.current[matchingIndex];
10409                if (matchingValue != null) {
10410                  setValue(matchingValue, details);
10411                }
10412              }
10413              store.set("forceMount", true);
10414              queueMicrotask(handleChange);
10415            }
10416          }),
10417          id: generatedId && hiddenInputName == null ? `$generatedId}-hidden-input` : void 0,
10418          form,
10419          name: hiddenInputName,
10420          autoComplete,
10421          value: serializedValue,
10422          disabled: disabled2,
10423          required: required && !(multiple && hasSelectedValue),
10424          readOnly,
10425          ref,
10426          style: name3 ? visuallyHiddenInput : visuallyHidden,
10427          tabIndex: -1,
10428          "aria-hidden": true,
10429          suppressHydrationWarning: true
10430        }), hiddenInputs]
10431      });
10432    }
10433  
10434    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/label/SelectLabel.mjs
10435    var React67 = __toESM(require_react(), 1);
10436    var SelectLabel = /* @__PURE__ */ React67.forwardRef(function SelectLabel2(componentProps, forwardedRef) {
10437      const {
10438        render,
10439        className,
10440        style,
10441        ...elementProps
10442      } = componentProps;
10443      const elementPropsWithoutId = elementProps;
10444      delete elementPropsWithoutId.id;
10445      const fieldRootContext = useFieldRootContext();
10446      const store = useSelectRootContext();
10447      const triggerElement = store.useState("triggerElement");
10448      const rootId = store.useState("id");
10449      const defaultLabelId = getDefaultLabelId(rootId);
10450      const labelProps = useLabel({
10451        id: defaultLabelId,
10452        fallbackControlId: triggerElement?.id ?? rootId,
10453        setLabelId(nextLabelId) {
10454          const resolvedLabelId = typeof nextLabelId === "function" ? nextLabelId(store.state.labelId) : nextLabelId;
10455          store.set("labelId", resolvedLabelId);
10456        }
10457      });
10458      return useRenderElement("div", componentProps, {
10459        ref: forwardedRef,
10460        state: fieldRootContext.state,
10461        props: [labelProps, elementProps],
10462        stateAttributesMapping: fieldValidityMapping
10463      });
10464    });
10465    if (true) SelectLabel.displayName = "SelectLabel";
10466  
10467    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/trigger/SelectTrigger.mjs
10468    var React68 = __toESM(require_react(), 1);
10469  
10470    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/trigger/SelectTriggerDataAttributes.mjs
10471    var popupOpen2 = CommonTriggerDataAttributes_exports.popupOpen;
10472    var pressed2 = CommonTriggerDataAttributes_exports.pressed;
10473    var popupSide = "data-popup-side";
10474  
10475    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/trigger/SelectTrigger.mjs
10476    var SELECTED_DELAY = 400;
10477    var stateAttributesMapping2 = {
10478      ...pressableTriggerOpenStateMapping,
10479      ...fieldValidityMapping,
10480      popupSide: (side) => side ? {
10481        [popupSide]: side
10482      } : null,
10483      value: () => null
10484    };
10485    var SelectTrigger = /* @__PURE__ */ React68.forwardRef(function SelectTrigger2(componentProps, forwardedRef) {
10486      const {
10487        render,
10488        className,
10489        id: idProp,
10490        disabled: disabledProp = false,
10491        nativeButton = true,
10492        style,
10493        ...elementProps
10494      } = componentProps;
10495      const {
10496        setTouched,
10497        validationMode,
10498        validation,
10499        state: fieldState,
10500        disabled: fieldDisabled
10501      } = useFieldRootContext();
10502      const {
10503        labelId: fieldLabelId
10504      } = useLabelableContext();
10505      const store = useSelectRootContext();
10506      const readOnly = store.useState("readOnly");
10507      const required = store.useState("required");
10508      const selectDisabled = store.useState("disabled");
10509      const disabled2 = fieldDisabled || selectDisabled || disabledProp;
10510      const open2 = store.useState("open");
10511      const mounted = store.useState("mounted");
10512      const value = store.useState("value");
10513      const triggerProps = store.useState("triggerProps");
10514      const positionerElement = store.useState("positionerElement");
10515      const listElement = store.useState("listElement");
10516      const popupSideValue = store.useState("popupSide");
10517      const rootId = store.useState("id");
10518      const selectLabelId = store.useState("labelId");
10519      const hasSelectedValue = store.useState("hasSelectedValue");
10520      const popupSide2 = mounted && positionerElement ? popupSideValue : null;
10521      const id = idProp ?? rootId;
10522      const ariaLabelledBy = resolveAriaLabelledBy(fieldLabelId, selectLabelId);
10523      useLabelableId({
10524        id: idProp
10525      });
10526      const positionerRef = useValueAsRef(positionerElement);
10527      const triggerRef = React68.useRef(null);
10528      const setFocused = useSetFieldFocused(disabled2, triggerRef);
10529      const {
10530        getButtonProps,
10531        buttonRef
10532      } = useButton({
10533        disabled: disabled2,
10534        native: nativeButton
10535      });
10536      const setTriggerElement = store.useStateSetter("triggerElement");
10537      const timeoutFocus = useTimeout();
10538      const timeoutMouseDown = useTimeout();
10539      const selectedDelayTimeout = useTimeout();
10540      React68.useEffect(() => {
10541        if (open2) {
10542          selectedDelayTimeout.start(SELECTED_DELAY, () => {
10543            store.context.selectionRef.current.allowUnselectedMouseUp = true;
10544            store.context.selectionRef.current.allowSelectedMouseUp = true;
10545          });
10546          return () => {
10547            selectedDelayTimeout.clear();
10548          };
10549        }
10550        store.context.selectionRef.current = {
10551          allowSelectedMouseUp: false,
10552          allowUnselectedMouseUp: false,
10553          dragY: 0
10554        };
10555        timeoutMouseDown.clear();
10556        return void 0;
10557      }, [open2, store, timeoutMouseDown, selectedDelayTimeout]);
10558      const mergedProps = mergeProps(triggerProps, {
10559        id,
10560        role: "combobox",
10561        "aria-expanded": open2,
10562        "aria-haspopup": "listbox",
10563        "aria-controls": open2 ? listElement?.id ?? getFloatingFocusElement(positionerElement)?.id : void 0,
10564        "aria-labelledby": ariaLabelledBy,
10565        "aria-readonly": readOnly || void 0,
10566        "aria-required": required || void 0,
10567        tabIndex: disabled2 ? -1 : 0,
10568        onFocus(event) {
10569          setFocused(true);
10570          if (open2 && store.context.alignItemWithTriggerActiveRef.current) {
10571            store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.none, event.nativeEvent));
10572          }
10573          timeoutFocus.start(0, () => {
10574            store.set("forceMount", true);
10575          });
10576        },
10577        onBlur(event) {
10578          if (contains(positionerElement, event.relatedTarget)) {
10579            return;
10580          }
10581          setTouched(true);
10582          setFocused(false);
10583          if (validationMode === "onBlur") {
10584            validation.commit(value);
10585          }
10586        },
10587        onMouseDown(event) {
10588          if (open2) {
10589            return;
10590          }
10591          const doc = ownerDocument(event.currentTarget);
10592          function handleMouseUp(mouseEvent) {
10593            if (!triggerRef.current) {
10594              return;
10595            }
10596            const mouseUpTarget = mouseEvent.target;
10597            if (contains(triggerRef.current, mouseUpTarget) || contains(positionerRef.current, mouseUpTarget)) {
10598              return;
10599            }
10600            if (isMouseWithinBounds(mouseEvent, triggerRef.current)) {
10601              return;
10602            }
10603            store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.cancelOpen, mouseEvent));
10604          }
10605          timeoutMouseDown.start(0, () => {
10606            doc.addEventListener("mouseup", handleMouseUp, {
10607              once: true
10608            });
10609          });
10610        }
10611      }, elementProps, getButtonProps);
10612      const props = validation.getValidationProps(disabled2, mergedProps);
10613      props.role = "combobox";
10614      const state = {
10615        ...fieldState,
10616        open: open2,
10617        disabled: disabled2,
10618        value,
10619        readOnly,
10620        popupSide: popupSide2,
10621        placeholder: !hasSelectedValue
10622      };
10623      return useRenderElement("button", componentProps, {
10624        ref: [forwardedRef, triggerRef, buttonRef, setTriggerElement],
10625        state,
10626        stateAttributesMapping: stateAttributesMapping2,
10627        props
10628      });
10629    });
10630    if (true) SelectTrigger.displayName = "SelectTrigger";
10631  
10632    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/value/SelectValue.mjs
10633    var React69 = __toESM(require_react(), 1);
10634    var stateAttributesMapping3 = {
10635      value: () => null
10636    };
10637    var SelectValue = /* @__PURE__ */ React69.forwardRef(function SelectValue2(componentProps, forwardedRef) {
10638      const {
10639        className,
10640        render,
10641        children: childrenProp,
10642        placeholder,
10643        style,
10644        ...elementProps
10645      } = componentProps;
10646      const store = useSelectRootContext();
10647      const value = store.useState("value");
10648      const items = store.useState("items");
10649      const itemToStringLabel = store.useState("itemToStringLabel");
10650      const hasSelectedValue = store.useState("hasSelectedValue");
10651      const shouldCheckNullItemLabel = !hasSelectedValue && placeholder != null && childrenProp == null;
10652      const hasNullLabel = store.useState("hasNullItemLabel", shouldCheckNullItemLabel);
10653      const state = {
10654        value,
10655        placeholder: !hasSelectedValue
10656      };
10657      let children = null;
10658      if (typeof childrenProp === "function") {
10659        children = childrenProp(value);
10660      } else if (childrenProp != null) {
10661        children = childrenProp;
10662      } else if (shouldCheckNullItemLabel && !hasNullLabel) {
10663        children = placeholder;
10664      } else if (Array.isArray(value)) {
10665        children = resolveMultipleLabels(value, items, itemToStringLabel);
10666      } else {
10667        children = resolveSelectedLabel(value, items, itemToStringLabel);
10668      }
10669      const element = useRenderElement("span", componentProps, {
10670        state,
10671        ref: [forwardedRef, store.context.valueRef],
10672        props: [{
10673          children
10674        }, elementProps],
10675        stateAttributesMapping: stateAttributesMapping3
10676      });
10677      return element;
10678    });
10679    if (true) SelectValue.displayName = "SelectValue";
10680  
10681    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/icon/SelectIcon.mjs
10682    var React70 = __toESM(require_react(), 1);
10683    var SelectIcon = /* @__PURE__ */ React70.forwardRef(function SelectIcon2(componentProps, forwardedRef) {
10684      const {
10685        render,
10686        className,
10687        style,
10688        ...elementProps
10689      } = componentProps;
10690      const store = useSelectRootContext();
10691      const open2 = store.useState("open");
10692      const state = {
10693        open: open2
10694      };
10695      const element = useRenderElement("span", componentProps, {
10696        state,
10697        ref: forwardedRef,
10698        props: [{
10699          "aria-hidden": true,
10700          children: "\u25BC"
10701        }, elementProps],
10702        stateAttributesMapping: triggerOpenStateMapping
10703      });
10704      return element;
10705    });
10706    if (true) SelectIcon.displayName = "SelectIcon";
10707  
10708    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/portal/SelectPortal.mjs
10709    var React71 = __toESM(require_react(), 1);
10710    var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1);
10711    var SelectPortal = /* @__PURE__ */ React71.forwardRef(function SelectPortal2(portalProps, forwardedRef) {
10712      const store = useSelectRootContext();
10713      const mounted = store.useState("mounted");
10714      const forceMount = store.useState("forceMount");
10715      const shouldRender = mounted || forceMount;
10716      if (!shouldRender) {
10717        return null;
10718      }
10719      return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(FloatingPortal, {
10720        ref: forwardedRef,
10721        ...portalProps
10722      });
10723    });
10724    if (true) SelectPortal.displayName = "SelectPortal";
10725  
10726    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/backdrop/SelectBackdrop.mjs
10727    var React72 = __toESM(require_react(), 1);
10728    var stateAttributesMapping4 = {
10729      ...popupStateMapping,
10730      ...transitionStatusMapping
10731    };
10732    var SelectBackdrop = /* @__PURE__ */ React72.forwardRef(function SelectBackdrop2(componentProps, forwardedRef) {
10733      const {
10734        render,
10735        className,
10736        style,
10737        ...elementProps
10738      } = componentProps;
10739      const store = useSelectRootContext();
10740      const open2 = store.useState("open");
10741      const mounted = store.useState("mounted");
10742      const transitionStatus = store.useState("transitionStatus");
10743      const state = {
10744        open: open2,
10745        transitionStatus
10746      };
10747      const element = useRenderElement("div", componentProps, {
10748        state,
10749        ref: forwardedRef,
10750        props: [{
10751          role: "presentation",
10752          hidden: !mounted,
10753          style: {
10754            userSelect: "none",
10755            WebkitUserSelect: "none"
10756          }
10757        }, elementProps],
10758        stateAttributesMapping: stateAttributesMapping4
10759      });
10760      return element;
10761    });
10762    if (true) SelectBackdrop.displayName = "SelectBackdrop";
10763  
10764    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositioner.mjs
10765    var React74 = __toESM(require_react(), 1);
10766  
10767    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositionerContext.mjs
10768    var React73 = __toESM(require_react(), 1);
10769    var SelectPositionerContext = /* @__PURE__ */ React73.createContext(void 0);
10770    if (true) SelectPositionerContext.displayName = "SelectPositionerContext";
10771    function useSelectPositionerContext() {
10772      const context = React73.useContext(SelectPositionerContext);
10773      if (!context) {
10774        throw new Error(true ? "Base UI: SelectPositionerContext is missing. SelectPositioner parts must be placed within <Select.Positioner>." : formatErrorMessage_default(59));
10775      }
10776      return context;
10777    }
10778  
10779    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/popup/utils.mjs
10780    function clearStyles(element, originalStyles) {
10781      if (element) {
10782        Object.assign(element.style, originalStyles);
10783      }
10784    }
10785    var LIST_FUNCTIONAL_STYLES = {
10786      position: "relative",
10787      maxHeight: "100%",
10788      overflowX: "hidden",
10789      overflowY: "auto"
10790    };
10791  
10792    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositioner.mjs
10793    var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1);
10794    var FIXED = {
10795      position: "fixed"
10796    };
10797    var SelectPositioner = /* @__PURE__ */ React74.forwardRef(function SelectPositioner2(componentProps, forwardedRef) {
10798      const {
10799        anchor,
10800        className,
10801        render,
10802        // `useAnchorPositioning` applies the same defaults to the undefined values; the names
10803        // remain destructured to exclude the props from `elementProps`.
10804        positionMethod,
10805        side,
10806        align,
10807        sideOffset,
10808        alignOffset,
10809        collisionBoundary = "clipping-ancestors",
10810        collisionPadding,
10811        arrowPadding,
10812        sticky,
10813        disableAnchorTracking,
10814        alignItemWithTrigger = true,
10815        collisionAvoidance = DROPDOWN_COLLISION_AVOIDANCE,
10816        style,
10817        ...elementProps
10818      } = componentProps;
10819      const store = useSelectRootContext();
10820      const floatingRootContext = useSelectFloatingContext();
10821      const open2 = store.useState("open");
10822      const mounted = store.useState("mounted");
10823      const modal = store.useState("modal");
10824      const value = store.useState("value");
10825      const openMethod = store.useState("openMethod");
10826      const positionerElement = store.useState("positionerElement");
10827      const triggerElement = store.useState("triggerElement");
10828      const isItemEqualToValue = store.useState("isItemEqualToValue");
10829      const transitionStatus = store.useState("transitionStatus");
10830      const scrollUpArrowRef = React74.useRef(null);
10831      const scrollDownArrowRef = React74.useRef(null);
10832      const [controlledAlignItemWithTrigger, setControlledAlignItemWithTrigger] = React74.useState(alignItemWithTrigger);
10833      const alignItemWithTriggerActive = mounted && controlledAlignItemWithTrigger && openMethod !== "touch";
10834      if (!mounted && controlledAlignItemWithTrigger !== alignItemWithTrigger) {
10835        setControlledAlignItemWithTrigger(alignItemWithTrigger);
10836      }
10837      React74.useImperativeHandle(store.context.alignItemWithTriggerActiveRef, () => alignItemWithTriggerActive);
10838      useAnchoredPopupScrollLock((alignItemWithTriggerActive || modal) && open2, openMethod === "touch", positionerElement, triggerElement);
10839      const positioning = useAnchorPositioning({
10840        anchor,
10841        floatingRootContext,
10842        positionMethod,
10843        mounted,
10844        side,
10845        sideOffset,
10846        align,
10847        alignOffset,
10848        arrowPadding,
10849        collisionBoundary,
10850        collisionPadding,
10851        sticky,
10852        disableAnchorTracking: disableAnchorTracking ?? alignItemWithTriggerActive,
10853        collisionAvoidance,
10854        keepMounted: true
10855      });
10856      const renderedSide = alignItemWithTriggerActive ? "none" : positioning.side;
10857      const positionerStyles = alignItemWithTriggerActive ? FIXED : positioning.positionerStyles;
10858      const state = {
10859        open: open2,
10860        side: renderedSide,
10861        align: positioning.align,
10862        anchorHidden: positioning.anchorHidden
10863      };
10864      useIsoLayoutEffect(() => {
10865        store.set("popupSide", positioning.side);
10866      }, [store, positioning.side]);
10867      const setPositionerElement = store.useStateSetter("positionerElement");
10868      const element = usePositioner(componentProps, state, {
10869        styles: positionerStyles,
10870        transitionStatus,
10871        props: elementProps,
10872        refs: [forwardedRef, setPositionerElement],
10873        hidden: !mounted,
10874        inert: !open2
10875      });
10876      const prevMapSizeRef = React74.useRef(0);
10877      const onMapChange = useStableCallback((map) => {
10878        if (store.context.valuesRef.current.length === 0) {
10879          return;
10880        }
10881        const prevSize = prevMapSizeRef.current;
10882        prevMapSizeRef.current = map.size;
10883        const eventDetails = createChangeEventDetails(reason_parts_exports.none);
10884        if (prevSize !== 0 && !store.state.multiple && value !== null) {
10885          const selectedValueIndex = findItemIndex(store.context.valuesRef.current, value, isItemEqualToValue);
10886          if (selectedValueIndex === -1) {
10887            const initialSelectedValue = store.context.initialValueRef.current;
10888            const hasInitial = initialSelectedValue != null && findItemIndex(store.context.valuesRef.current, initialSelectedValue, isItemEqualToValue) !== -1;
10889            const nextValue = hasInitial ? initialSelectedValue : null;
10890            store.context.setValue(nextValue, eventDetails);
10891            if (nextValue === null) {
10892              store.set("selectedIndex", null);
10893              store.context.selectedItemTextRef.current = null;
10894            }
10895          }
10896        }
10897        if (prevSize !== 0 && store.state.multiple && Array.isArray(value)) {
10898          const nextValue = value.filter((selectedItemValue) => findItemIndex(store.context.valuesRef.current, selectedItemValue, isItemEqualToValue) !== -1);
10899          if (nextValue.length !== value.length) {
10900            store.context.setValue(nextValue, eventDetails);
10901            if (nextValue.length === 0) {
10902              store.set("selectedIndex", null);
10903              store.context.selectedItemTextRef.current = null;
10904            }
10905          }
10906        }
10907        if (open2 && alignItemWithTriggerActive) {
10908          store.update({
10909            scrollUpArrowVisible: false,
10910            scrollDownArrowVisible: false
10911          });
10912          const stylesToClear = {
10913            height: ""
10914          };
10915          clearStyles(positionerElement, stylesToClear);
10916          clearStyles(store.context.popupRef.current, stylesToClear);
10917        }
10918      });
10919      const contextValue = React74.useMemo(() => ({
10920        ...positioning,
10921        side: renderedSide,
10922        alignItemWithTriggerActive,
10923        setControlledAlignItemWithTrigger,
10924        scrollUpArrowRef,
10925        scrollDownArrowRef
10926      }), [positioning, renderedSide, alignItemWithTriggerActive, setControlledAlignItemWithTrigger]);
10927      return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CompositeList, {
10928        elementsRef: store.context.listRef,
10929        labelsRef: store.context.labelsRef,
10930        onMapChange,
10931        children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(SelectPositionerContext.Provider, {
10932          value: contextValue,
10933          children: [mounted && modal && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(InternalBackdrop, {
10934            inert: inertValue(!open2),
10935            cutout: triggerElement
10936          }), element]
10937        })
10938      });
10939    });
10940    if (true) SelectPositioner.displayName = "SelectPositioner";
10941  
10942    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/popup/SelectPopup.mjs
10943    var React75 = __toESM(require_react(), 1);
10944  
10945    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositionerCssVars.mjs
10946    var transformOrigin2 = "--transform-origin";
10947  
10948    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/popup/SelectPopup.mjs
10949    var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1);
10950    var stateAttributesMapping5 = {
10951      ...popupStateMapping,
10952      ...transitionStatusMapping
10953    };
10954    var SelectPopup = /* @__PURE__ */ React75.forwardRef(function SelectPopup2(componentProps, forwardedRef) {
10955      const {
10956        render,
10957        className,
10958        style,
10959        finalFocus,
10960        ...elementProps
10961      } = componentProps;
10962      const store = useSelectRootContext();
10963      const multiple = store.useState("multiple");
10964      const readOnly = store.useState("readOnly");
10965      const highlightItemOnHover = store.useState("highlightItemOnHover");
10966      const floatingRootContext = useSelectFloatingContext();
10967      const {
10968        side,
10969        align,
10970        alignItemWithTriggerActive,
10971        isPositioned,
10972        setControlledAlignItemWithTrigger
10973      } = useSelectPositionerContext();
10974      const insideToolbar = useToolbarRootContext(true) != null;
10975      const direction = useDirection();
10976      const {
10977        nonce,
10978        disableStyleElements
10979      } = useCSPContext();
10980      const id = store.useState("id");
10981      const open2 = store.useState("open");
10982      const openMethod = store.useState("openMethod");
10983      const mounted = store.useState("mounted");
10984      const popupProps = store.useState("popupProps");
10985      const transitionStatus = store.useState("transitionStatus");
10986      const triggerElement = store.useState("triggerElement");
10987      const positionerElement = store.useState("positionerElement");
10988      const listElement = store.useState("listElement");
10989      const reachedMaxHeightRef = React75.useRef(false);
10990      const initialPlacedRef = React75.useRef(false);
10991      const originalPositionerStylesRef = React75.useRef({});
10992      const scrollArrowFrame = useAnimationFrame();
10993      const handleScroll = useStableCallback((scroller) => {
10994        if (!positionerElement || !store.context.popupRef.current || !initialPlacedRef.current) {
10995          return;
10996        }
10997        const isTopPositioned = positionerElement.style.top === "0px";
10998        const isBottomPositioned = positionerElement.style.bottom === "0px";
10999        if (reachedMaxHeightRef.current || !alignItemWithTriggerActive || !isTopPositioned && !isBottomPositioned) {
11000          store.context.handleScrollArrowVisibility(scroller);
11001          return;
11002        }
11003        const scale = getScale2(positionerElement);
11004        const currentHeight = normalizeSize(positionerElement.getBoundingClientRect().height, "y", scale);
11005        const doc = ownerDocument(positionerElement);
11006        const win = getWindow(positionerElement);
11007        const positionerStyles = win.getComputedStyle(positionerElement);
11008        const marginTop = parseFloat(positionerStyles.marginTop);
11009        const marginBottom = parseFloat(positionerStyles.marginBottom);
11010        const maxPopupHeight = getMaxPopupHeight(win.getComputedStyle(store.context.popupRef.current));
11011        const maxAvailableHeight = Math.min(doc.documentElement.clientHeight - marginTop - marginBottom, maxPopupHeight);
11012        const scrollTop = scroller.scrollTop;
11013        const maxScrollTop = getMaxScrollTop(scroller);
11014        let nextScrollTop = null;
11015        const setHeight = (height) => {
11016          positionerElement.style.height = `$height}px`;
11017        };
11018        const diff = isTopPositioned ? maxScrollTop - scrollTop : scrollTop;
11019        const nextHeight = Math.min(currentHeight + diff, maxAvailableHeight);
11020        if (diff <= SCROLL_EDGE_TOLERANCE_PX) {
11021          const heightDelta = clamp2(diff, 0, maxAvailableHeight - currentHeight);
11022          if (heightDelta > 0) {
11023            setHeight(currentHeight + heightDelta);
11024          }
11025          scroller.scrollTop = isTopPositioned ? maxScrollTop : 0;
11026          if (maxAvailableHeight - (currentHeight + heightDelta) <= SCROLL_EDGE_TOLERANCE_PX) {
11027            reachedMaxHeightRef.current = true;
11028          }
11029          store.context.handleScrollArrowVisibility(scroller);
11030          return;
11031        }
11032        if (maxAvailableHeight - nextHeight > SCROLL_EDGE_TOLERANCE_PX) {
11033          nextScrollTop = isTopPositioned ? Infinity : 0;
11034        } else if (isBottomPositioned && scrollTop < maxScrollTop) {
11035          const overshoot = currentHeight + diff - maxAvailableHeight;
11036          nextScrollTop = scrollTop - (diff - overshoot);
11037        }
11038        const nextPositionerHeight = Math.ceil(nextHeight);
11039        if (nextPositionerHeight !== 0) {
11040          setHeight(nextPositionerHeight);
11041        }
11042        if (nextScrollTop != null) {
11043          const target = clamp2(nextScrollTop, 0, getMaxScrollTop(scroller));
11044          if (Math.abs(scroller.scrollTop - target) > SCROLL_EDGE_TOLERANCE_PX) {
11045            scroller.scrollTop = target;
11046          }
11047        }
11048        if (nextPositionerHeight >= maxAvailableHeight - SCROLL_EDGE_TOLERANCE_PX) {
11049          reachedMaxHeightRef.current = true;
11050        }
11051        store.context.handleScrollArrowVisibility(scroller);
11052      });
11053      React75.useImperativeHandle(store.context.scrollHandlerRef, () => handleScroll, [handleScroll]);
11054      useOpenChangeComplete({
11055        open: open2,
11056        ref: store.context.popupRef,
11057        onComplete() {
11058          if (open2) {
11059            store.context.onOpenChangeComplete(true);
11060          }
11061        }
11062      });
11063      const state = {
11064        open: open2,
11065        transitionStatus,
11066        side,
11067        align
11068      };
11069      useIsoLayoutEffect(() => {
11070        if (!positionerElement || !store.context.popupRef.current || Object.keys(originalPositionerStylesRef.current).length) {
11071          return;
11072        }
11073        originalPositionerStylesRef.current = {
11074          top: positionerElement.style.top || "0",
11075          left: positionerElement.style.left || "0",
11076          right: positionerElement.style.right,
11077          height: positionerElement.style.height,
11078          bottom: positionerElement.style.bottom,
11079          minHeight: positionerElement.style.minHeight,
11080          maxHeight: positionerElement.style.maxHeight,
11081          marginTop: positionerElement.style.marginTop,
11082          marginBottom: positionerElement.style.marginBottom
11083        };
11084      }, [store, positionerElement]);
11085      useIsoLayoutEffect(() => {
11086        if (open2 || alignItemWithTriggerActive) {
11087          return;
11088        }
11089        initialPlacedRef.current = false;
11090        reachedMaxHeightRef.current = false;
11091        clearStyles(positionerElement, originalPositionerStylesRef.current);
11092      }, [open2, alignItemWithTriggerActive, positionerElement]);
11093      useIsoLayoutEffect(() => {
11094        const popupElement = store.context.popupRef.current;
11095        if (!open2 || !triggerElement || !positionerElement || !popupElement || alignItemWithTriggerActive && !isPositioned || store.state.transitionStatus === "ending") {
11096          return;
11097        }
11098        initialPlacedRef.current = true;
11099        popupElement.style.removeProperty(transformOrigin2);
11100        if (!alignItemWithTriggerActive) {
11101          scrollArrowFrame.request(() => store.context.handleScrollArrowVisibility(listElement || popupElement));
11102          return;
11103        }
11104        const restoreTransformStyles = unsetTransformStyles(popupElement);
11105        try {
11106          let textElement = store.context.selectedItemTextRef.current;
11107          if (!textElement?.isConnected) {
11108            const hasSelectedValue = store.select("hasSelectedValue");
11109            textElement = !hasSelectedValue && store.context.firstItemTextRef.current?.isConnected ? store.context.firstItemTextRef.current : null;
11110          }
11111          const valueElement = store.context.valueRef.current;
11112          const win = getWindow(positionerElement);
11113          const positionerStyles = win.getComputedStyle(positionerElement);
11114          const popupStyles = win.getComputedStyle(popupElement);
11115          const doc = ownerDocument(triggerElement);
11116          const scale = getScale2(triggerElement);
11117          const triggerRect = normalizeRect(triggerElement.getBoundingClientRect(), scale);
11118          const positionerRect = normalizeRect(positionerElement.getBoundingClientRect(), scale);
11119          const triggerHeight = triggerRect.height;
11120          const scroller = listElement || popupElement;
11121          const scrollHeight = scroller.scrollHeight;
11122          const borderBottom = parseFloat(popupStyles.borderBottomWidth);
11123          const marginTop = parseFloat(positionerStyles.marginTop) || 10;
11124          const marginBottom = parseFloat(positionerStyles.marginBottom) || 10;
11125          const minHeight = parseFloat(positionerStyles.minHeight) || 100;
11126          const maxPopupHeight = getMaxPopupHeight(popupStyles);
11127          const paddingLeft = 5;
11128          const paddingRight = 5;
11129          const triggerCollisionThreshold = 20;
11130          const viewportHeight = doc.documentElement.clientHeight - marginTop - marginBottom;
11131          const viewportWidth = doc.documentElement.clientWidth;
11132          const availableSpaceBeneathTrigger = viewportHeight - triggerRect.bottom + triggerHeight;
11133          let textRect;
11134          let alignedLeft = direction === "rtl" ? triggerRect.right - positionerRect.width : triggerRect.left;
11135          let offsetY = 0;
11136          if (textElement && valueElement) {
11137            const valueRect = normalizeRect(valueElement.getBoundingClientRect(), scale);
11138            textRect = normalizeRect(textElement.getBoundingClientRect(), scale);
11139            alignedLeft = positionerRect.left + (direction === "rtl" ? valueRect.right - textRect.right : valueRect.left - textRect.left);
11140            const valueCenterFromTriggerTop = valueRect.top - triggerRect.top + valueRect.height / 2;
11141            const textCenterFromPositionerTop = textRect.top - positionerRect.top + textRect.height / 2;
11142            offsetY = textCenterFromPositionerTop - valueCenterFromTriggerTop;
11143          }
11144          const idealHeight = availableSpaceBeneathTrigger + offsetY + marginBottom + borderBottom;
11145          let height = Math.min(viewportHeight, idealHeight);
11146          const maxHeight = viewportHeight - marginTop - marginBottom;
11147          const scrollTop = idealHeight - height;
11148          const maxRight = viewportWidth - paddingRight;
11149          positionerElement.style.left = `$clamp2(alignedLeft, paddingLeft, maxRight - positionerRect.width)}px`;
11150          positionerElement.style.height = `$height}px`;
11151          positionerElement.style.maxHeight = "none";
11152          positionerElement.style.marginTop = `$marginTop}px`;
11153          positionerElement.style.marginBottom = `$marginBottom}px`;
11154          popupElement.style.height = "100%";
11155          const maxScrollTop = getMaxScrollTop(scroller);
11156          const isTopPositioned = scrollTop >= maxScrollTop - SCROLL_EDGE_TOLERANCE_PX;
11157          if (isTopPositioned) {
11158            height = Math.min(viewportHeight, positionerRect.height) - (scrollTop - maxScrollTop);
11159          }
11160          const fallbackToAlignPopupToTrigger = triggerRect.top < triggerCollisionThreshold || triggerRect.bottom > viewportHeight - triggerCollisionThreshold || Math.ceil(height) + SCROLL_EDGE_TOLERANCE_PX < Math.min(scrollHeight, minHeight);
11161          const isPinchZoomed = (win.visualViewport?.scale ?? 1) !== 1 && parts_exports.engine.webkit;
11162          if (fallbackToAlignPopupToTrigger || isPinchZoomed) {
11163            clearStyles(positionerElement, originalPositionerStylesRef.current);
11164            setControlledAlignItemWithTrigger(false);
11165            return;
11166          }
11167          const initialHeight = Math.max(minHeight, height);
11168          if (isTopPositioned) {
11169            const topOffset = Math.max(0, viewportHeight - idealHeight);
11170            positionerElement.style.top = positionerRect.height >= maxHeight ? "0" : `$topOffset}px`;
11171            positionerElement.style.height = `$height}px`;
11172            scroller.scrollTop = getMaxScrollTop(scroller);
11173          } else {
11174            positionerElement.style.bottom = "0";
11175            scroller.scrollTop = scrollTop;
11176          }
11177          if (textRect) {
11178            const popupTop = positionerRect.top;
11179            const popupHeight = positionerRect.height;
11180            const textCenterY = textRect.top + textRect.height / 2;
11181            const clampedY = clamp2(popupHeight > 0 ? (textCenterY - popupTop) / popupHeight * 100 : 50, 0, 100);
11182            popupElement.style.setProperty(transformOrigin2, `50% $clampedY}%`);
11183          }
11184          if (initialHeight === viewportHeight || height >= maxPopupHeight) {
11185            reachedMaxHeightRef.current = true;
11186          }
11187          store.context.handleScrollArrowVisibility(scroller);
11188          if (highlightItemOnHover && store.state.selectedIndex === null && store.state.activeIndex === null && store.context.listRef.current[0] != null) {
11189            store.set("activeIndex", 0);
11190          }
11191        } finally {
11192          restoreTransformStyles();
11193        }
11194      }, [store, open2, positionerElement, triggerElement, alignItemWithTriggerActive, setControlledAlignItemWithTrigger, scrollArrowFrame, listElement, highlightItemOnHover, direction, isPositioned]);
11195      React75.useEffect(() => {
11196        if (!alignItemWithTriggerActive || !positionerElement || !open2) {
11197          return void 0;
11198        }
11199        const win = getWindow(positionerElement);
11200        function handleResize(event) {
11201          store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.windowResize, event));
11202        }
11203        return addEventListener(win, "resize", handleResize);
11204      }, [store, alignItemWithTriggerActive, positionerElement, open2]);
11205      const defaultProps = {
11206        ...listElement ? {
11207          role: "presentation"
11208        } : {
11209          role: "listbox",
11210          "aria-multiselectable": multiple || void 0,
11211          "aria-readonly": readOnly || void 0,
11212          id: `$id}-list`
11213        },
11214        onKeyDown(event) {
11215          if (insideToolbar && COMPOSITE_KEYS.has(event.key)) {
11216            event.stopPropagation();
11217          }
11218        },
11219        onScroll(event) {
11220          if (listElement) {
11221            return;
11222          }
11223          handleScroll(event.currentTarget);
11224        },
11225        ...alignItemWithTriggerActive && {
11226          style: listElement ? {
11227            height: "100%"
11228          } : LIST_FUNCTIONAL_STYLES
11229        },
11230        className: !listElement && alignItemWithTriggerActive ? styleDisableScrollbar.className : void 0
11231      };
11232      const element = useRenderElement("div", componentProps, {
11233        ref: [forwardedRef, store.context.popupRef],
11234        state,
11235        stateAttributesMapping: stateAttributesMapping5,
11236        props: [popupProps, defaultProps, getDisabledMountTransitionStyles(transitionStatus), elementProps]
11237      });
11238      return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(React75.Fragment, {
11239        children: [!disableStyleElements && styleDisableScrollbar.getElement(nonce), /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(FloatingFocusManager, {
11240          context: floatingRootContext,
11241          modal: false,
11242          disabled: !mounted,
11243          openInteractionType: openMethod,
11244          returnFocus: finalFocus,
11245          restoreFocus: true,
11246          children: element
11247        })]
11248      });
11249    });
11250    if (true) SelectPopup.displayName = "SelectPopup";
11251    function getMaxPopupHeight(popupStyles) {
11252      const maxHeightStyle = popupStyles.maxHeight;
11253      return maxHeightStyle.endsWith("px") ? parseFloat(maxHeightStyle) || Infinity : Infinity;
11254    }
11255    function getMaxScrollTop(scroller) {
11256      return getMaxScrollOffset(scroller.scrollHeight, scroller.clientHeight);
11257    }
11258    function getScale2(element) {
11259      return platform2.getScale(element);
11260    }
11261    function normalizeSize(size4, axis, scale) {
11262      return size4 / scale[axis];
11263    }
11264    function normalizeRect(rect, scale) {
11265      return rectToClientRect({
11266        x: normalizeSize(rect.x, "x", scale),
11267        y: normalizeSize(rect.y, "y", scale),
11268        width: normalizeSize(rect.width, "x", scale),
11269        height: normalizeSize(rect.height, "y", scale)
11270      });
11271    }
11272    var TRANSFORM_STYLE_RESETS = [["transform", "none"], ["scale", "1"], ["translate", "0 0"]];
11273    function unsetTransformStyles(popupElement) {
11274      const {
11275        style
11276      } = popupElement;
11277      const originalStyles = {};
11278      for (const [property, value] of TRANSFORM_STYLE_RESETS) {
11279        originalStyles[property] = style.getPropertyValue(property);
11280        style.setProperty(property, value, "important");
11281      }
11282      return () => {
11283        for (const [property] of TRANSFORM_STYLE_RESETS) {
11284          const originalValue = originalStyles[property];
11285          if (originalValue) {
11286            style.setProperty(property, originalValue);
11287          } else {
11288            style.removeProperty(property);
11289          }
11290        }
11291      };
11292    }
11293  
11294    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/list/SelectList.mjs
11295    var React76 = __toESM(require_react(), 1);
11296    var SelectList = /* @__PURE__ */ React76.forwardRef(function SelectList2(componentProps, forwardedRef) {
11297      const {
11298        render,
11299        className,
11300        style,
11301        ...elementProps
11302      } = componentProps;
11303      const store = useSelectRootContext();
11304      const multiple = store.useState("multiple");
11305      const readOnly = store.useState("readOnly");
11306      const {
11307        alignItemWithTriggerActive
11308      } = useSelectPositionerContext();
11309      const hasScrollArrows = store.useState("hasScrollArrows");
11310      const openMethod = store.useState("openMethod");
11311      const id = store.useState("id");
11312      const defaultProps = {
11313        id: `$id}-list`,
11314        role: "listbox",
11315        "aria-multiselectable": multiple || void 0,
11316        "aria-readonly": readOnly || void 0,
11317        onScroll(event) {
11318          store.context.scrollHandlerRef.current?.(event.currentTarget);
11319        },
11320        ...alignItemWithTriggerActive && {
11321          style: LIST_FUNCTIONAL_STYLES
11322        },
11323        className: hasScrollArrows && openMethod !== "touch" ? styleDisableScrollbar.className : void 0
11324      };
11325      const setListElement = store.useStateSetter("listElement");
11326      return useRenderElement("div", componentProps, {
11327        ref: [forwardedRef, setListElement],
11328        props: [defaultProps, elementProps]
11329      });
11330    });
11331    if (true) SelectList.displayName = "SelectList";
11332  
11333    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item/SelectItem.mjs
11334    var React78 = __toESM(require_react(), 1);
11335  
11336    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item/SelectItemContext.mjs
11337    var React77 = __toESM(require_react(), 1);
11338    var SelectItemContext = /* @__PURE__ */ React77.createContext(void 0);
11339    if (true) SelectItemContext.displayName = "SelectItemContext";
11340    function useSelectItemContext() {
11341      const context = React77.useContext(SelectItemContext);
11342      if (!context) {
11343        throw new Error(true ? "Base UI: SelectItemContext is missing. SelectItem parts must be placed within <Select.Item>." : formatErrorMessage_default(57));
11344      }
11345      return context;
11346    }
11347  
11348    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item/SelectItem.mjs
11349    var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);
11350    var SelectItem = /* @__PURE__ */ React78.memo(/* @__PURE__ */ React78.forwardRef(function SelectItem2(componentProps, forwardedRef) {
11351      const {
11352        render,
11353        className,
11354        style,
11355        value: itemValue = null,
11356        label,
11357        disabled: disabledProp = false,
11358        nativeButton = false,
11359        ...elementProps
11360      } = componentProps;
11361      const textRef = React78.useRef(null);
11362      const listItem = useCompositeListItem({
11363        guess: true,
11364        label,
11365        textRef
11366      });
11367      const store = useSelectRootContext();
11368      const {
11369        props: itemProps,
11370        multiple,
11371        disabled: selectDisabled,
11372        readOnly,
11373        isItemEqualToValue
11374      } = store.useState("itemRoot");
11375      const disabled2 = selectDisabled || disabledProp;
11376      const highlighted = store.useState("isActive", listItem.index);
11377      const open2 = store.useState("open");
11378      const selected = store.useState("isSelected", itemValue);
11379      const selectedByFocus = store.useState("isSelectedByFocus", listItem.index);
11380      const index2 = listItem.index;
11381      const itemRef = React78.useRef(null);
11382      useIsoLayoutEffect(() => {
11383        const values = store.context.valuesRef.current;
11384        values[index2] = itemValue;
11385        return () => {
11386          delete values[index2];
11387        };
11388      }, [index2, itemValue, store]);
11389      useIsoLayoutEffect(() => {
11390        const selectedValue = store.state.value;
11391        const currentIndex = store.state.selectedIndex;
11392        let nextIndex = currentIndex;
11393        let claims;
11394        if (multiple && Array.isArray(selectedValue)) {
11395          nextIndex = resolveSelectedIndex(index2, itemValue, store.context.valuesRef.current, selectedValue, isItemEqualToValue, currentIndex);
11396          claims = nextIndex === index2;
11397          if (index2 === currentIndex && !claims) {
11398            store.context.selectedItemTextRef.current = null;
11399          }
11400        } else {
11401          claims = selectedValue !== void 0 && compareItemEquality(itemValue, selectedValue, isItemEqualToValue);
11402          if (claims) {
11403            nextIndex = index2;
11404          }
11405        }
11406        store.set("selectedIndex", nextIndex);
11407        if (claims && textRef.current) {
11408          store.context.selectedItemTextRef.current = textRef.current;
11409        }
11410      }, [index2, multiple, isItemEqualToValue, store, itemValue]);
11411      const pointerTypeRef = React78.useRef("mouse");
11412      const allowMouseSelectionRef = React78.useRef(false);
11413      const {
11414        getButtonProps,
11415        buttonRef
11416      } = useButton({
11417        disabled: disabled2,
11418        focusableWhenDisabled: true,
11419        native: nativeButton,
11420        composite: true
11421      });
11422      const state = {
11423        disabled: disabled2,
11424        selected,
11425        highlighted
11426      };
11427      function commitSelection(event) {
11428        if (selectDisabled || readOnly) {
11429          return;
11430        }
11431        const selectedValue = store.state.value;
11432        if (multiple) {
11433          const currentValue = Array.isArray(selectedValue) ? selectedValue : [];
11434          const nextValue = selected ? removeItem(currentValue, itemValue, isItemEqualToValue) : [...currentValue, itemValue];
11435          store.context.setValue(nextValue, createChangeEventDetails(reason_parts_exports.itemPress, event));
11436        } else {
11437          store.context.setValue(itemValue, createChangeEventDetails(reason_parts_exports.itemPress, event));
11438          store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.itemPress, event));
11439        }
11440      }
11441      function resetDragMovement() {
11442        store.context.selectionRef.current.dragY = 0;
11443      }
11444      const defaultProps = {
11445        role: "option",
11446        "aria-selected": selected,
11447        tabIndex: open2 && highlighted ? 0 : -1,
11448        onKeyDown(event) {
11449          store.set("activeIndex", index2);
11450          if (event.key === " " && store.context.typingRef.current) {
11451            event.preventDefault();
11452          }
11453        },
11454        onClick(event) {
11455          const isMouseClick = pointerTypeRef.current !== "touch";
11456          const clickPointerType = event.nativeEvent.pointerType;
11457          const isVirtualMouseClick = isMouseClick && isVirtualClick(event.nativeEvent) && // Generic no-pointer `detail === 0` clicks stay tied to highlight state. Virtual
11458          // clicks that carry browser pointer data, including an empty string from assistive
11459          // technology, can activate unhighlighted items.
11460          (clickPointerType !== void 0 || highlighted);
11461          const isInvalidMouseClick = isMouseClick && !isVirtualMouseClick && !allowMouseSelectionRef.current;
11462          allowMouseSelectionRef.current = false;
11463          if (disabled2 || isInvalidMouseClick) {
11464            return;
11465          }
11466          commitSelection(event.nativeEvent);
11467        },
11468        onPointerEnter(event) {
11469          pointerTypeRef.current = event.pointerType;
11470        },
11471        onPointerMove(event) {
11472          if (event.pointerType === "mouse" && event.buttons === 1) {
11473            const selection = store.context.selectionRef.current;
11474            selection.dragY += event.movementY;
11475            if (selection.dragY ** 2 >= 64) {
11476              selection.allowUnselectedMouseUp = true;
11477            }
11478          }
11479        },
11480        onPointerDown(event) {
11481          pointerTypeRef.current = event.pointerType;
11482          allowMouseSelectionRef.current = true;
11483          resetDragMovement();
11484        },
11485        onMouseUp() {
11486          resetDragMovement();
11487          if (disabled2 || pointerTypeRef.current === "touch") {
11488            return;
11489          }
11490          if (allowMouseSelectionRef.current) {
11491            return;
11492          }
11493          const disallowSelectedMouseUp = !store.context.selectionRef.current.allowSelectedMouseUp && selected;
11494          const disallowUnselectedMouseUp = !store.context.selectionRef.current.allowUnselectedMouseUp && !selected;
11495          if (disallowSelectedMouseUp || disallowUnselectedMouseUp) {
11496            return;
11497          }
11498          allowMouseSelectionRef.current = true;
11499          itemRef.current?.click();
11500          allowMouseSelectionRef.current = false;
11501        }
11502      };
11503      const element = useRenderElement("div", componentProps, {
11504        ref: [buttonRef, forwardedRef, listItem.ref, itemRef],
11505        state,
11506        props: [itemProps, defaultProps, elementProps, getButtonProps]
11507      });
11508      const contextValue = React78.useMemo(() => ({
11509        selected,
11510        index: index2,
11511        textRef,
11512        selectedByFocus
11513      }), [selected, index2, textRef, selectedByFocus]);
11514      return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SelectItemContext.Provider, {
11515        value: contextValue,
11516        children: element
11517      });
11518    }));
11519    if (true) SelectItem.displayName = "SelectItem";
11520  
11521    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item-indicator/SelectItemIndicator.mjs
11522    var React79 = __toESM(require_react(), 1);
11523    var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);
11524    var SelectItemIndicator = /* @__PURE__ */ React79.forwardRef(function SelectItemIndicator2(componentProps, forwardedRef) {
11525      const {
11526        selected
11527      } = useSelectItemContext();
11528      const shouldRender = componentProps.keepMounted || selected;
11529      if (!shouldRender) {
11530        return null;
11531      }
11532      return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ItemIndicator, {
11533        ...componentProps,
11534        selected,
11535        ref: forwardedRef
11536      });
11537    });
11538    if (true) SelectItemIndicator.displayName = "SelectItemIndicator";
11539  
11540    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item-text/SelectItemText.mjs
11541    var React80 = __toESM(require_react(), 1);
11542    var SelectItemText = /* @__PURE__ */ React80.memo(/* @__PURE__ */ React80.forwardRef(function SelectItemText2(componentProps, forwardedRef) {
11543      const {
11544        index: index2,
11545        textRef,
11546        selectedByFocus
11547      } = useSelectItemContext();
11548      const store = useSelectRootContext();
11549      const {
11550        render,
11551        className,
11552        style,
11553        ...elementProps
11554      } = componentProps;
11555      const localRef = React80.useCallback((node) => {
11556        if (!node) {
11557          return;
11558        }
11559        if (index2 === 0) {
11560          store.context.firstItemTextRef.current = node;
11561        }
11562        if (selectedByFocus) {
11563          store.context.selectedItemTextRef.current = node;
11564        }
11565      }, [store, index2, selectedByFocus]);
11566      const element = useRenderElement("div", componentProps, {
11567        ref: [localRef, forwardedRef, textRef],
11568        props: elementProps
11569      });
11570      return element;
11571    }));
11572    if (true) SelectItemText.displayName = "SelectItemText";
11573  
11574    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/arrow/SelectArrow.mjs
11575    var React81 = __toESM(require_react(), 1);
11576    var SelectArrow = /* @__PURE__ */ React81.forwardRef(function SelectArrow2(componentProps, forwardedRef) {
11577      const {
11578        render,
11579        className,
11580        style,
11581        ...elementProps
11582      } = componentProps;
11583      const store = useSelectRootContext();
11584      const {
11585        side,
11586        align,
11587        arrowRef,
11588        arrowStyles,
11589        arrowUncentered,
11590        alignItemWithTriggerActive
11591      } = useSelectPositionerContext();
11592      const open2 = store.useState("open");
11593      const state = {
11594        open: open2,
11595        side,
11596        align,
11597        uncentered: arrowUncentered
11598      };
11599      const element = useRenderElement("div", componentProps, {
11600        state,
11601        ref: [arrowRef, forwardedRef],
11602        props: [{
11603          style: arrowStyles,
11604          "aria-hidden": true
11605        }, elementProps],
11606        stateAttributesMapping: popupTransitionStateMapping
11607      });
11608      if (alignItemWithTriggerActive) {
11609        return null;
11610      }
11611      return element;
11612    });
11613    if (true) SelectArrow.displayName = "SelectArrow";
11614  
11615    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-down-arrow/SelectScrollDownArrow.mjs
11616    var React83 = __toESM(require_react(), 1);
11617  
11618    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-arrow/SelectScrollArrow.mjs
11619    var React82 = __toESM(require_react(), 1);
11620    var SelectScrollArrow = /* @__PURE__ */ React82.forwardRef(function SelectScrollArrow2(componentProps, forwardedRef) {
11621      const {
11622        render,
11623        className,
11624        style,
11625        direction,
11626        keepMounted,
11627        ...elementProps
11628      } = componentProps;
11629      const isUp = direction === "up";
11630      const store = useSelectRootContext();
11631      const {
11632        side,
11633        scrollDownArrowRef,
11634        scrollUpArrowRef
11635      } = useSelectPositionerContext();
11636      const visibleSelector = isUp ? "scrollUpArrowVisible" : "scrollDownArrowVisible";
11637      const stateVisible = store.useState(visibleSelector);
11638      const openMethod = store.useState("openMethod");
11639      const visible = stateVisible && openMethod !== "touch";
11640      const timeout = useTimeout();
11641      const scrollArrowRef = isUp ? scrollUpArrowRef : scrollDownArrowRef;
11642      const {
11643        mounted,
11644        transitionStatus,
11645        setMounted
11646      } = useTransitionStatus(visible);
11647      useIsoLayoutEffect(() => {
11648        store.context.scrollArrowsMountedCountRef.current += 1;
11649        store.set("hasScrollArrows", true);
11650        return () => {
11651          store.context.scrollArrowsMountedCountRef.current = Math.max(0, store.context.scrollArrowsMountedCountRef.current - 1);
11652          if (store.context.scrollArrowsMountedCountRef.current === 0) {
11653            store.set("hasScrollArrows", false);
11654          }
11655        };
11656      }, [store]);
11657      useOpenChangeComplete({
11658        open: visible,
11659        ref: scrollArrowRef,
11660        onComplete() {
11661          if (!visible) {
11662            setMounted(false);
11663          }
11664        }
11665      });
11666      const state = {
11667        direction,
11668        visible,
11669        side,
11670        transitionStatus
11671      };
11672      const defaultProps = {
11673        "aria-hidden": true,
11674        children: isUp ? "\u25B2" : "\u25BC",
11675        style: {
11676          position: "absolute"
11677        },
11678        onMouseMove(event) {
11679          if (event.movementX === 0 && event.movementY === 0 || timeout.isStarted()) {
11680            return;
11681          }
11682          store.set("activeIndex", null);
11683          function scrollNextItem() {
11684            const scroller = store.state.listElement ?? store.context.popupRef.current;
11685            if (!scroller) {
11686              return;
11687            }
11688            store.set("activeIndex", null);
11689            store.context.handleScrollArrowVisibility(scroller);
11690            const maxScrollTop = getMaxScrollOffset(scroller.scrollHeight, scroller.clientHeight);
11691            const scrollTop = normalizeScrollOffset(scroller.scrollTop, maxScrollTop);
11692            const isScrolledToEdge = scrollTop === (isUp ? 0 : maxScrollTop);
11693            const items = store.context.listRef.current;
11694            if (scrollTop !== scroller.scrollTop) {
11695              scroller.scrollTop = scrollTop;
11696            }
11697            if (isScrolledToEdge) {
11698              timeout.clear();
11699              return;
11700            }
11701            if (items.length > 0) {
11702              const scrollArrowHeight = scrollArrowRef.current?.offsetHeight || 0;
11703              scroller.scrollTop = getTargetScrollTop(items, isUp, scrollTop, scroller.clientHeight, scrollArrowHeight, maxScrollTop);
11704            }
11705            timeout.start(40, scrollNextItem);
11706          }
11707          timeout.start(40, scrollNextItem);
11708        },
11709        onMouseLeave() {
11710          timeout.clear();
11711        }
11712      };
11713      const element = useRenderElement("div", componentProps, {
11714        ref: [forwardedRef, scrollArrowRef],
11715        state,
11716        props: [defaultProps, elementProps],
11717        stateAttributesMapping: transitionStatusMapping
11718      });
11719      const shouldRender = mounted || keepMounted;
11720      if (!shouldRender) {
11721        return null;
11722      }
11723      return element;
11724    });
11725    if (true) SelectScrollArrow.displayName = "SelectScrollArrow";
11726    function getTargetScrollTop(items, isUp, scrollTop, clientHeight, scrollArrowHeight, maxScrollTop) {
11727      if (isUp) {
11728        let firstVisibleIndex = 0;
11729        const visibleTop = scrollTop + scrollArrowHeight - SCROLL_EDGE_TOLERANCE_PX;
11730        for (let i = 0; i < items.length; i += 1) {
11731          const item = items[i];
11732          if (item && item.offsetTop >= visibleTop) {
11733            firstVisibleIndex = i;
11734            break;
11735          }
11736        }
11737        const targetIndex2 = Math.max(0, firstVisibleIndex - 1);
11738        const targetItem2 = items[targetIndex2];
11739        return targetIndex2 < firstVisibleIndex && targetItem2 ? normalizeScrollOffset(targetItem2.offsetTop - scrollArrowHeight, maxScrollTop) : 0;
11740      }
11741      let lastVisibleIndex = items.length - 1;
11742      const visibleBottom = scrollTop + clientHeight - scrollArrowHeight + SCROLL_EDGE_TOLERANCE_PX;
11743      for (let i = 0; i < items.length; i += 1) {
11744        const item = items[i];
11745        if (item && item.offsetTop + item.offsetHeight > visibleBottom) {
11746          lastVisibleIndex = Math.max(0, i - 1);
11747          break;
11748        }
11749      }
11750      const targetIndex = Math.min(items.length - 1, lastVisibleIndex + 1);
11751      const targetItem = items[targetIndex];
11752      return targetIndex > lastVisibleIndex && targetItem ? normalizeScrollOffset(targetItem.offsetTop + targetItem.offsetHeight - clientHeight + scrollArrowHeight, maxScrollTop) : maxScrollTop;
11753    }
11754  
11755    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-down-arrow/SelectScrollDownArrow.mjs
11756    var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);
11757    var SelectScrollDownArrow = /* @__PURE__ */ React83.forwardRef(function SelectScrollDownArrow2(props, forwardedRef) {
11758      return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SelectScrollArrow, {
11759        ...props,
11760        ref: forwardedRef,
11761        direction: "down"
11762      });
11763    });
11764    if (true) SelectScrollDownArrow.displayName = "SelectScrollDownArrow";
11765  
11766    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-up-arrow/SelectScrollUpArrow.mjs
11767    var React84 = __toESM(require_react(), 1);
11768    var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1);
11769    var SelectScrollUpArrow = /* @__PURE__ */ React84.forwardRef(function SelectScrollUpArrow2(props, forwardedRef) {
11770      return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(SelectScrollArrow, {
11771        ...props,
11772        ref: forwardedRef,
11773        direction: "up"
11774      });
11775    });
11776    if (true) SelectScrollUpArrow.displayName = "SelectScrollUpArrow";
11777  
11778    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group/SelectGroup.mjs
11779    var React86 = __toESM(require_react(), 1);
11780  
11781    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group/SelectGroupContext.mjs
11782    var React85 = __toESM(require_react(), 1);
11783    var SelectGroupContext = /* @__PURE__ */ React85.createContext(void 0);
11784    if (true) SelectGroupContext.displayName = "SelectGroupContext";
11785    function useSelectGroupContext() {
11786      const context = React85.useContext(SelectGroupContext);
11787      if (context === void 0) {
11788        throw new Error(true ? "Base UI: SelectGroupContext is missing. SelectGroup parts must be placed within <Select.Group>." : formatErrorMessage_default(56));
11789      }
11790      return context;
11791    }
11792  
11793    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group/SelectGroup.mjs
11794    var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1);
11795    var SelectGroup = /* @__PURE__ */ React86.forwardRef(function SelectGroup2(componentProps, forwardedRef) {
11796      const {
11797        render,
11798        className,
11799        style,
11800        ...elementProps
11801      } = componentProps;
11802      const [labelId, setLabelId] = React86.useState();
11803      const contextValue = React86.useMemo(() => ({
11804        labelId,
11805        setLabelId
11806      }), [labelId, setLabelId]);
11807      const element = useRenderElement("div", componentProps, {
11808        ref: forwardedRef,
11809        props: [{
11810          role: "group",
11811          "aria-labelledby": labelId
11812        }, elementProps]
11813      });
11814      return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(SelectGroupContext.Provider, {
11815        value: contextValue,
11816        children: element
11817      });
11818    });
11819    if (true) SelectGroup.displayName = "SelectGroup";
11820  
11821    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group-label/SelectGroupLabel.mjs
11822    var React87 = __toESM(require_react(), 1);
11823    var SelectGroupLabel = /* @__PURE__ */ React87.forwardRef(function SelectGroupLabel2(componentProps, forwardedRef) {
11824      const {
11825        render,
11826        className,
11827        style,
11828        id: idProp,
11829        ...elementProps
11830      } = componentProps;
11831      const {
11832        setLabelId
11833      } = useSelectGroupContext();
11834      const id = useBaseUiId(idProp);
11835      useIsoLayoutEffect(() => {
11836        setLabelId(id);
11837        return () => {
11838          setLabelId((currentId) => currentId === id ? void 0 : currentId);
11839        };
11840      }, [id, setLabelId]);
11841      const element = useRenderElement("div", componentProps, {
11842        ref: forwardedRef,
11843        props: [{
11844          id,
11845          "aria-hidden": true
11846        }, elementProps]
11847      });
11848      return element;
11849    });
11850    if (true) SelectGroupLabel.displayName = "SelectGroupLabel";
11851  
11852    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/separator/SelectSeparator.mjs
11853    var SelectSeparator = ListboxSeparator;
11854  
11855    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/use-render/useRender.mjs
11856    function useRender(params) {
11857      return useRenderElement(params.defaultTagName ?? "div", params, params);
11858    }
11859  
11860    // packages/ui/build-module/text/text.mjs
11861    var import_element8 = __toESM(require_element(), 1);
11862    var STYLE_HASH_ATTRIBUTE = "data-wp-hash";
11863    function getRuntime() {
11864      const globalScope = globalThis;
11865      if (globalScope.__wpStyleRuntime) {
11866        return globalScope.__wpStyleRuntime;
11867      }
11868      globalScope.__wpStyleRuntime = {
11869        documents: /* @__PURE__ */ new Map(),
11870        styles: /* @__PURE__ */ new Map(),
11871        injectedStyles: /* @__PURE__ */ new WeakMap()
11872      };
11873      if (typeof document !== "undefined") {
11874        registerDocument(document);
11875      }
11876      return globalScope.__wpStyleRuntime;
11877    }
11878    function documentContainsStyleHash(targetDocument, hash) {
11879      if (!targetDocument.head) {
11880        return false;
11881      }
11882      for (const style of targetDocument.head.querySelectorAll(
11883        `style[$STYLE_HASH_ATTRIBUTE}]`
11884      )) {
11885        if (style.getAttribute(STYLE_HASH_ATTRIBUTE) === hash) {
11886          return true;
11887        }
11888      }
11889      return false;
11890    }
11891    function injectStyle(targetDocument, hash, css) {
11892      if (!targetDocument.head) {
11893        return;
11894      }
11895      const runtime = getRuntime();
11896      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11897      if (!injectedStyles) {
11898        injectedStyles = /* @__PURE__ */ new Set();
11899        runtime.injectedStyles.set(targetDocument, injectedStyles);
11900      }
11901      if (injectedStyles.has(hash)) {
11902        return;
11903      }
11904      if (documentContainsStyleHash(targetDocument, hash)) {
11905        injectedStyles.add(hash);
11906        return;
11907      }
11908      const style = targetDocument.createElement("style");
11909      style.setAttribute(STYLE_HASH_ATTRIBUTE, hash);
11910      style.appendChild(targetDocument.createTextNode(css));
11911      targetDocument.head.appendChild(style);
11912      injectedStyles.add(hash);
11913    }
11914    function registerDocument(targetDocument) {
11915      const runtime = getRuntime();
11916      runtime.documents.set(
11917        targetDocument,
11918        (runtime.documents.get(targetDocument) ?? 0) + 1
11919      );
11920      for (const [hash, css] of runtime.styles) {
11921        injectStyle(targetDocument, hash, css);
11922      }
11923      return () => {
11924        const count = runtime.documents.get(targetDocument);
11925        if (count === void 0) {
11926          return;
11927        }
11928        if (count <= 1) {
11929          runtime.documents.delete(targetDocument);
11930          return;
11931        }
11932        runtime.documents.set(targetDocument, count - 1);
11933      };
11934    }
11935    function registerStyle(hash, css) {
11936      const runtime = getRuntime();
11937      runtime.styles.set(hash, css);
11938      for (const targetDocument of runtime.documents.keys()) {
11939        injectStyle(targetDocument, hash, css);
11940      }
11941    }
11942    if (typeof process === "undefined" || true) {
11943      registerStyle("09bae534ff", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._9745ffa515d864cf__text{text-wrap:pretty;margin:0}._8882b6a7feb4fd3d__heading-2xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-p-line-height:var(--wpds-typography-line-height-2xl,40px);font-size:var(--wpds-typography-font-size-2xl,32px);line-height:var(--wpds-typography-line-height-2xl,40px)}._664e3e7687c45603__heading-xl,._8882b6a7feb4fd3d__heading-2xl{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600)}._664e3e7687c45603__heading-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-md,24px)}.dac661a5de0ed2bd__heading-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-lg,15px)}._59c7f3f740e2f96e__heading-md,.dac661a5de0ed2bd__heading-lg{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-sm,20px)}._59c7f3f740e2f96e__heading-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px)}.cf052fbad8d93b7e__heading-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-xs,16px);text-transform:uppercase}._212b9cfef57a0af4__body-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-xl,32px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-xl,32px)}._07f57bc0aa36b2c6__body-lg,._212b9cfef57a0af4__body-xl{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}._07f57bc0aa36b2c6__body-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-lg,15px);line-height:var(--wpds-typography-line-height-md,24px)}._0c6da4457aec9e62__body-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}._0c6da4457aec9e62__body-md,.b998f87ff17b7bec__body-sm{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}.b998f87ff17b7bec__body-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-size:var(--wpds-typography-font-size-sm,12px);line-height:var(--wpds-typography-line-height-xs,16px)}}}');
11944    }
11945    var style_default = { "text": "_9745ffa515d864cf__text", "heading-2xl": "_8882b6a7feb4fd3d__heading-2xl", "heading-xl": "_664e3e7687c45603__heading-xl", "heading-lg": "dac661a5de0ed2bd__heading-lg", "heading-md": "_59c7f3f740e2f96e__heading-md", "heading-sm": "cf052fbad8d93b7e__heading-sm", "body-xl": "_212b9cfef57a0af4__body-xl", "body-lg": "_07f57bc0aa36b2c6__body-lg", "body-md": "_0c6da4457aec9e62__body-md", "body-sm": "b998f87ff17b7bec__body-sm" };
11946    if (typeof process === "undefined" || true) {
11947      registerStyle("726f348f3f", "._78c10a0773e51a91__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}._5b33aa2d48624b4f__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._980b3b4776ac8f81__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._43e478b4279a076c__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._698099e25b0fb1a6__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6)._326aee4184d261fd__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}.e9576240835601ba__a,.e9576240835601ba__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}._3f05789653864a73__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._3c72ff72abe57859__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._79d16267c15d9eb2__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
11948    }
11949    var global_css_defense_default = { "button": "_78c10a0773e51a91__button", "input": "_5b33aa2d48624b4f__input", "textarea": "_980b3b4776ac8f81__textarea", "div": "_43e478b4279a076c__div", "p": "_698099e25b0fb1a6__p", "heading": "_326aee4184d261fd__heading", "a": "e9576240835601ba__a", "ol": "_3f05789653864a73__ol", "li": "_3c72ff72abe57859__li", "span": "_79d16267c15d9eb2__span" };
11950    var Text = (0, import_element8.forwardRef)(
11951      function UnforwardedText({ variant = "body-md", render, className, ...props }, ref) {
11952        const element = useRender({
11953          render,
11954          defaultTagName: "span",
11955          ref,
11956          props: mergeProps(props, {
11957            className: clsx_default(
11958              style_default.text,
11959              global_css_defense_default.heading,
11960              global_css_defense_default.p,
11961              style_default[variant],
11962              className
11963            )
11964          })
11965        });
11966        return element;
11967      }
11968    );
11969  
11970    // packages/ui/build-module/visually-hidden/visually-hidden.mjs
11971    var import_element9 = __toESM(require_element(), 1);
11972    var STYLE_HASH_ATTRIBUTE2 = "data-wp-hash";
11973    function getRuntime2() {
11974      const globalScope = globalThis;
11975      if (globalScope.__wpStyleRuntime) {
11976        return globalScope.__wpStyleRuntime;
11977      }
11978      globalScope.__wpStyleRuntime = {
11979        documents: /* @__PURE__ */ new Map(),
11980        styles: /* @__PURE__ */ new Map(),
11981        injectedStyles: /* @__PURE__ */ new WeakMap()
11982      };
11983      if (typeof document !== "undefined") {
11984        registerDocument2(document);
11985      }
11986      return globalScope.__wpStyleRuntime;
11987    }
11988    function documentContainsStyleHash2(targetDocument, hash) {
11989      if (!targetDocument.head) {
11990        return false;
11991      }
11992      for (const style of targetDocument.head.querySelectorAll(
11993        `style[$STYLE_HASH_ATTRIBUTE2}]`
11994      )) {
11995        if (style.getAttribute(STYLE_HASH_ATTRIBUTE2) === hash) {
11996          return true;
11997        }
11998      }
11999      return false;
12000    }
12001    function injectStyle2(targetDocument, hash, css) {
12002      if (!targetDocument.head) {
12003        return;
12004      }
12005      const runtime = getRuntime2();
12006      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12007      if (!injectedStyles) {
12008        injectedStyles = /* @__PURE__ */ new Set();
12009        runtime.injectedStyles.set(targetDocument, injectedStyles);
12010      }
12011      if (injectedStyles.has(hash)) {
12012        return;
12013      }
12014      if (documentContainsStyleHash2(targetDocument, hash)) {
12015        injectedStyles.add(hash);
12016        return;
12017      }
12018      const style = targetDocument.createElement("style");
12019      style.setAttribute(STYLE_HASH_ATTRIBUTE2, hash);
12020      style.appendChild(targetDocument.createTextNode(css));
12021      targetDocument.head.appendChild(style);
12022      injectedStyles.add(hash);
12023    }
12024    function registerDocument2(targetDocument) {
12025      const runtime = getRuntime2();
12026      runtime.documents.set(
12027        targetDocument,
12028        (runtime.documents.get(targetDocument) ?? 0) + 1
12029      );
12030      for (const [hash, css] of runtime.styles) {
12031        injectStyle2(targetDocument, hash, css);
12032      }
12033      return () => {
12034        const count = runtime.documents.get(targetDocument);
12035        if (count === void 0) {
12036          return;
12037        }
12038        if (count <= 1) {
12039          runtime.documents.delete(targetDocument);
12040          return;
12041        }
12042        runtime.documents.set(targetDocument, count - 1);
12043      };
12044    }
12045    function registerStyle2(hash, css) {
12046      const runtime = getRuntime2();
12047      runtime.styles.set(hash, css);
12048      for (const targetDocument of runtime.documents.keys()) {
12049        injectStyle2(targetDocument, hash, css);
12050      }
12051    }
12052    if (typeof process === "undefined" || true) {
12053      registerStyle2("7caae29f9e", ".e2c3cbe6ada7d785__visually-hidden{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;overflow-wrap:normal;padding:0;position:absolute;width:1px;word-break:normal}");
12054    }
12055    var style_default2 = { "visually-hidden": "e2c3cbe6ada7d785__visually-hidden" };
12056    var VisuallyHidden = (0, import_element9.forwardRef)(
12057      function UnforwardedVisuallyHidden({ render, ...restProps }, ref) {
12058        const element = useRender({
12059          render,
12060          ref,
12061          props: mergeProps(
12062            { className: style_default2["visually-hidden"] },
12063            restProps,
12064            {
12065              // @ts-expect-error Arbitrary data-* attributes aren't indexable on the typed div props. Kept hardcoded so consumers can't change or remove it.
12066              "data-visually-hidden": ""
12067            }
12068          )
12069        });
12070        return element;
12071      }
12072    );
12073  
12074    // packages/ui/build-module/utils/item-popup/item-content.mjs
12075    var import_element10 = __toESM(require_element(), 1);
12076    var VALIDATION_ENABLED = true;
12077    function parseItemContent(children, { Label: Label2, Description: Description2, validationMessage }) {
12078      const childArray = import_element10.Children.toArray(children);
12079      const [label, ...descriptions] = childArray;
12080      const hasLabel = (0, import_element10.isValidElement)(label) && label.type === Label2;
12081      const descriptionElements = descriptions.filter(
12082        (description) => (0, import_element10.isValidElement)(description) && description.type === Description2
12083      );
12084      if (VALIDATION_ENABLED && (!hasLabel || descriptionElements.length !== descriptions.length)) {
12085        throw new Error(validationMessage);
12086      }
12087      return {
12088        descriptionIds: descriptionElements.map(
12089          (description) => description.props.id
12090        ),
12091        hasLabel,
12092        labelId: hasLabel ? label.props.id : void 0
12093      };
12094    }
12095    function useItemContent(children, components, {
12096      "aria-describedby": ariaDescribedBy,
12097      "aria-label": ariaLabel,
12098      "aria-labelledby": ariaLabelledBy
12099    } = {}) {
12100      const generatedLabelId = (0, import_element10.useId)();
12101      const generatedDescriptionId = (0, import_element10.useId)();
12102      const { descriptionIds, hasLabel, labelId } = parseItemContent(
12103        children,
12104        components
12105      );
12106      const resolvedLabelId = hasLabel ? labelId ?? generatedLabelId : void 0;
12107      const resolvedDescriptionIds = descriptionIds.map(
12108        (descriptionId, index2) => descriptionId ?? `$generatedDescriptionId}-$index2}`
12109      );
12110      const itemDescribedBy = Array.from(
12111        /* @__PURE__ */ new Set([
12112          ...ariaDescribedBy?.split(/\s+/).filter(Boolean) ?? [],
12113          ...resolvedDescriptionIds
12114        ])
12115      ).join(" ");
12116      let descriptionIndex = 0;
12117      const { Label: Label2, Description: Description2, descriptionValidationToken } = components;
12118      const contentChildren = import_element10.Children.map(children, (child) => {
12119        if (!(0, import_element10.isValidElement)(child)) {
12120          return child;
12121        }
12122        if (child.type === Label2) {
12123          return child.props.id === resolvedLabelId ? child : (0, import_element10.cloneElement)(child, { id: resolvedLabelId });
12124        }
12125        if (child.type !== Description2) {
12126          return child;
12127        }
12128        const descriptionId = resolvedDescriptionIds[descriptionIndex++];
12129        if (!descriptionValidationToken && child.props.id === descriptionId) {
12130          return child;
12131        }
12132        return (0, import_element10.cloneElement)(child, {
12133          id: descriptionId,
12134          ...descriptionValidationToken && {
12135            validationToken: descriptionValidationToken
12136          }
12137        });
12138      });
12139      const labelledBy = ariaLabelledBy ?? (ariaLabel ? void 0 : resolvedLabelId);
12140      return {
12141        contentChildren,
12142        resolvedLabelId,
12143        itemAriaProps: {
12144          "aria-describedby": itemDescribedBy || void 0,
12145          "aria-label": ariaLabel,
12146          "aria-labelledby": labelledBy
12147        }
12148      };
12149    }
12150  
12151    // packages/ui/build-module/utils/render-slot-with-children.mjs
12152    var import_element11 = __toESM(require_element(), 1);
12153    function renderSlotWithChildren(slot, defaultSlot, children) {
12154      return (0, import_element11.cloneElement)(
12155        slot ?? defaultSlot,
12156        { children }
12157      );
12158    }
12159  
12160    // packages/ui/build-module/utils/wp-compat-overlay-slot.mjs
12161    var STYLE_HASH_ATTRIBUTE3 = "data-wp-hash";
12162    function getRuntime3() {
12163      const globalScope = globalThis;
12164      if (globalScope.__wpStyleRuntime) {
12165        return globalScope.__wpStyleRuntime;
12166      }
12167      globalScope.__wpStyleRuntime = {
12168        documents: /* @__PURE__ */ new Map(),
12169        styles: /* @__PURE__ */ new Map(),
12170        injectedStyles: /* @__PURE__ */ new WeakMap()
12171      };
12172      if (typeof document !== "undefined") {
12173        registerDocument3(document);
12174      }
12175      return globalScope.__wpStyleRuntime;
12176    }
12177    function documentContainsStyleHash3(targetDocument, hash) {
12178      if (!targetDocument.head) {
12179        return false;
12180      }
12181      for (const style of targetDocument.head.querySelectorAll(
12182        `style[$STYLE_HASH_ATTRIBUTE3}]`
12183      )) {
12184        if (style.getAttribute(STYLE_HASH_ATTRIBUTE3) === hash) {
12185          return true;
12186        }
12187      }
12188      return false;
12189    }
12190    function injectStyle3(targetDocument, hash, css) {
12191      if (!targetDocument.head) {
12192        return;
12193      }
12194      const runtime = getRuntime3();
12195      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12196      if (!injectedStyles) {
12197        injectedStyles = /* @__PURE__ */ new Set();
12198        runtime.injectedStyles.set(targetDocument, injectedStyles);
12199      }
12200      if (injectedStyles.has(hash)) {
12201        return;
12202      }
12203      if (documentContainsStyleHash3(targetDocument, hash)) {
12204        injectedStyles.add(hash);
12205        return;
12206      }
12207      const style = targetDocument.createElement("style");
12208      style.setAttribute(STYLE_HASH_ATTRIBUTE3, hash);
12209      style.appendChild(targetDocument.createTextNode(css));
12210      targetDocument.head.appendChild(style);
12211      injectedStyles.add(hash);
12212    }
12213    function registerDocument3(targetDocument) {
12214      const runtime = getRuntime3();
12215      runtime.documents.set(
12216        targetDocument,
12217        (runtime.documents.get(targetDocument) ?? 0) + 1
12218      );
12219      for (const [hash, css] of runtime.styles) {
12220        injectStyle3(targetDocument, hash, css);
12221      }
12222      return () => {
12223        const count = runtime.documents.get(targetDocument);
12224        if (count === void 0) {
12225          return;
12226        }
12227        if (count <= 1) {
12228          runtime.documents.delete(targetDocument);
12229          return;
12230        }
12231        runtime.documents.set(targetDocument, count - 1);
12232      };
12233    }
12234    function registerStyle3(hash, css) {
12235      const runtime = getRuntime3();
12236      runtime.styles.set(hash, css);
12237      for (const targetDocument of runtime.documents.keys()) {
12238        injectStyle3(targetDocument, hash, css);
12239      }
12240    }
12241    if (typeof process === "undefined" || true) {
12242      registerStyle3("40df669685", "._9e7887c25dedb459__slot{inset:0;isolation:isolate;pointer-events:none;position:fixed;z-index:1000000003}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._9e7887c25dedb459__slot>*{pointer-events:auto}}}");
12243    }
12244    var wp_compat_overlay_slot_default = { "slot": "_9e7887c25dedb459__slot" };
12245    var WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE = "data-wp-compat-overlay-slot";
12246    function resolveOwnerDocument() {
12247      return typeof document === "undefined" ? null : document;
12248    }
12249    function isInWordPressEnvironment() {
12250      let topWp;
12251      try {
12252        topWp = window.top?.wp;
12253      } catch {
12254      }
12255      const wp = topWp ?? window.wp;
12256      return typeof wp?.components === "object" && wp.components !== null;
12257    }
12258    var cachedSlot = null;
12259    function ensureSlotIsAccessible(element) {
12260      element.setAttribute("aria-hidden", "false");
12261      return element;
12262    }
12263    function createSlot(ownerDocument2) {
12264      const element = ownerDocument2.createElement("div");
12265      element.setAttribute(WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE, "");
12266      if (wp_compat_overlay_slot_default.slot) {
12267        element.classList.add(wp_compat_overlay_slot_default.slot);
12268      }
12269      ownerDocument2.body.appendChild(element);
12270      return element;
12271    }
12272    function getWpCompatOverlaySlot() {
12273      if (typeof window === "undefined") {
12274        return void 0;
12275      }
12276      if (!isInWordPressEnvironment() && window.__wpUiCompatOverlaySlotEnabled !== true) {
12277        return void 0;
12278      }
12279      const ownerDocument2 = resolveOwnerDocument();
12280      if (!ownerDocument2 || !ownerDocument2.body) {
12281        return void 0;
12282      }
12283      if (cachedSlot && cachedSlot.ownerDocument === ownerDocument2 && cachedSlot.isConnected) {
12284        return ensureSlotIsAccessible(cachedSlot);
12285      }
12286      const existing = ownerDocument2.querySelector(
12287        `[$WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE}]`
12288      );
12289      if (existing instanceof HTMLDivElement) {
12290        cachedSlot = ensureSlotIsAccessible(existing);
12291        return cachedSlot;
12292      }
12293      if (cachedSlot?.isConnected) {
12294        cachedSlot.remove();
12295      }
12296      cachedSlot = ensureSlotIsAccessible(createSlot(ownerDocument2));
12297      return cachedSlot;
12298    }
12299  
12300    // packages/ui/build-module/form/primitives/constants.mjs
12301    var ITEM_POPUP_POSITIONER_PROPS = {
12302      align: "start",
12303      sideOffset: 8,
12304      collisionPadding: 12
12305    };
12306  
12307    // packages/ui/build-module/utils/direction-provider.mjs
12308    var import_i18n = __toESM(require_i18n(), 1);
12309    var import_jsx_runtime31 = __toESM(require_jsx_runtime(), 1);
12310    function DirectionProvider3({ children }) {
12311      return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DirectionProvider, { direction: (0, import_i18n.isRTL)() ? "rtl" : "ltr", children });
12312    }
12313  
12314    // packages/ui/build-module/stack/stack.mjs
12315    var import_element12 = __toESM(require_element(), 1);
12316    var STYLE_HASH_ATTRIBUTE4 = "data-wp-hash";
12317    function getRuntime4() {
12318      const globalScope = globalThis;
12319      if (globalScope.__wpStyleRuntime) {
12320        return globalScope.__wpStyleRuntime;
12321      }
12322      globalScope.__wpStyleRuntime = {
12323        documents: /* @__PURE__ */ new Map(),
12324        styles: /* @__PURE__ */ new Map(),
12325        injectedStyles: /* @__PURE__ */ new WeakMap()
12326      };
12327      if (typeof document !== "undefined") {
12328        registerDocument4(document);
12329      }
12330      return globalScope.__wpStyleRuntime;
12331    }
12332    function documentContainsStyleHash4(targetDocument, hash) {
12333      if (!targetDocument.head) {
12334        return false;
12335      }
12336      for (const style of targetDocument.head.querySelectorAll(
12337        `style[$STYLE_HASH_ATTRIBUTE4}]`
12338      )) {
12339        if (style.getAttribute(STYLE_HASH_ATTRIBUTE4) === hash) {
12340          return true;
12341        }
12342      }
12343      return false;
12344    }
12345    function injectStyle4(targetDocument, hash, css) {
12346      if (!targetDocument.head) {
12347        return;
12348      }
12349      const runtime = getRuntime4();
12350      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12351      if (!injectedStyles) {
12352        injectedStyles = /* @__PURE__ */ new Set();
12353        runtime.injectedStyles.set(targetDocument, injectedStyles);
12354      }
12355      if (injectedStyles.has(hash)) {
12356        return;
12357      }
12358      if (documentContainsStyleHash4(targetDocument, hash)) {
12359        injectedStyles.add(hash);
12360        return;
12361      }
12362      const style = targetDocument.createElement("style");
12363      style.setAttribute(STYLE_HASH_ATTRIBUTE4, hash);
12364      style.appendChild(targetDocument.createTextNode(css));
12365      targetDocument.head.appendChild(style);
12366      injectedStyles.add(hash);
12367    }
12368    function registerDocument4(targetDocument) {
12369      const runtime = getRuntime4();
12370      runtime.documents.set(
12371        targetDocument,
12372        (runtime.documents.get(targetDocument) ?? 0) + 1
12373      );
12374      for (const [hash, css] of runtime.styles) {
12375        injectStyle4(targetDocument, hash, css);
12376      }
12377      return () => {
12378        const count = runtime.documents.get(targetDocument);
12379        if (count === void 0) {
12380          return;
12381        }
12382        if (count <= 1) {
12383          runtime.documents.delete(targetDocument);
12384          return;
12385        }
12386        runtime.documents.set(targetDocument, count - 1);
12387      };
12388    }
12389    function registerStyle4(hash, css) {
12390      const runtime = getRuntime4();
12391      runtime.styles.set(hash, css);
12392      for (const targetDocument of runtime.documents.keys()) {
12393        injectStyle4(targetDocument, hash, css);
12394      }
12395    }
12396    if (typeof process === "undefined" || true) {
12397      registerStyle4("67591fa198", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._8e8e79c1a2eec43b__stack{display:flex}}}");
12398    }
12399    var style_default3 = { "stack": "_8e8e79c1a2eec43b__stack" };
12400    var gapTokens = {
12401      xs: "var(--wpds-dimension-gap-xs, 4px)",
12402      sm: "var(--wpds-dimension-gap-sm, 8px)",
12403      md: "var(--wpds-dimension-gap-md, 12px)",
12404      lg: "var(--wpds-dimension-gap-lg, 16px)",
12405      xl: "var(--wpds-dimension-gap-xl, 24px)",
12406      "2xl": "var(--wpds-dimension-gap-2xl, 32px)",
12407      "3xl": "var(--wpds-dimension-gap-3xl, 40px)"
12408    };
12409    var Stack = (0, import_element12.forwardRef)(
12410      function UnforwardedStack({ direction, gap, align, justify, wrap, render, ...props }, ref) {
12411        const style = {
12412          gap: gap && gapTokens[gap],
12413          alignItems: align,
12414          justifyContent: justify,
12415          flexDirection: direction,
12416          flexWrap: wrap
12417        };
12418        const element = useRender({
12419          render,
12420          ref,
12421          props: mergeProps(props, {
12422            style,
12423            className: style_default3.stack
12424          })
12425        });
12426        return element;
12427      }
12428    );
12429  
12430    // packages/ui/build-module/form/primitives/input-layout/input-layout.mjs
12431    var import_element13 = __toESM(require_element(), 1);
12432    var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1);
12433    var STYLE_HASH_ATTRIBUTE5 = "data-wp-hash";
12434    function getRuntime5() {
12435      const globalScope = globalThis;
12436      if (globalScope.__wpStyleRuntime) {
12437        return globalScope.__wpStyleRuntime;
12438      }
12439      globalScope.__wpStyleRuntime = {
12440        documents: /* @__PURE__ */ new Map(),
12441        styles: /* @__PURE__ */ new Map(),
12442        injectedStyles: /* @__PURE__ */ new WeakMap()
12443      };
12444      if (typeof document !== "undefined") {
12445        registerDocument5(document);
12446      }
12447      return globalScope.__wpStyleRuntime;
12448    }
12449    function documentContainsStyleHash5(targetDocument, hash) {
12450      if (!targetDocument.head) {
12451        return false;
12452      }
12453      for (const style of targetDocument.head.querySelectorAll(
12454        `style[$STYLE_HASH_ATTRIBUTE5}]`
12455      )) {
12456        if (style.getAttribute(STYLE_HASH_ATTRIBUTE5) === hash) {
12457          return true;
12458        }
12459      }
12460      return false;
12461    }
12462    function injectStyle5(targetDocument, hash, css) {
12463      if (!targetDocument.head) {
12464        return;
12465      }
12466      const runtime = getRuntime5();
12467      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12468      if (!injectedStyles) {
12469        injectedStyles = /* @__PURE__ */ new Set();
12470        runtime.injectedStyles.set(targetDocument, injectedStyles);
12471      }
12472      if (injectedStyles.has(hash)) {
12473        return;
12474      }
12475      if (documentContainsStyleHash5(targetDocument, hash)) {
12476        injectedStyles.add(hash);
12477        return;
12478      }
12479      const style = targetDocument.createElement("style");
12480      style.setAttribute(STYLE_HASH_ATTRIBUTE5, hash);
12481      style.appendChild(targetDocument.createTextNode(css));
12482      targetDocument.head.appendChild(style);
12483      injectedStyles.add(hash);
12484    }
12485    function registerDocument5(targetDocument) {
12486      const runtime = getRuntime5();
12487      runtime.documents.set(
12488        targetDocument,
12489        (runtime.documents.get(targetDocument) ?? 0) + 1
12490      );
12491      for (const [hash, css] of runtime.styles) {
12492        injectStyle5(targetDocument, hash, css);
12493      }
12494      return () => {
12495        const count = runtime.documents.get(targetDocument);
12496        if (count === void 0) {
12497          return;
12498        }
12499        if (count <= 1) {
12500          runtime.documents.delete(targetDocument);
12501          return;
12502        }
12503        runtime.documents.set(targetDocument, count - 1);
12504      };
12505    }
12506    function registerStyle5(hash, css) {
12507      const runtime = getRuntime5();
12508      runtime.styles.set(hash, css);
12509      for (const targetDocument of runtime.documents.keys()) {
12510        injectStyle5(targetDocument, hash, css);
12511      }
12512    }
12513    if (typeof process === "undefined" || true) {
12514      registerStyle5("726f348f3f", "._78c10a0773e51a91__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}._5b33aa2d48624b4f__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._980b3b4776ac8f81__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._43e478b4279a076c__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._698099e25b0fb1a6__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6)._326aee4184d261fd__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}.e9576240835601ba__a,.e9576240835601ba__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}._3f05789653864a73__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._3c72ff72abe57859__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._79d16267c15d9eb2__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
12515    }
12516    var global_css_defense_default2 = { "button": "_78c10a0773e51a91__button", "input": "_5b33aa2d48624b4f__input", "textarea": "_980b3b4776ac8f81__textarea", "div": "_43e478b4279a076c__div", "p": "_698099e25b0fb1a6__p", "heading": "_326aee4184d261fd__heading", "a": "e9576240835601ba__a", "ol": "_3f05789653864a73__ol", "li": "_3c72ff72abe57859__li", "span": "_79d16267c15d9eb2__span" };
12517    if (typeof process === "undefined" || true) {
12518      registerStyle5("37477070fb", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.ccc29f9575c4c758__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
12519    }
12520    var resets_default = { "box-sizing": "ccc29f9575c4c758__box-sizing" };
12521    if (typeof process === "undefined" || true) {
12522      registerStyle5("a933c8f665", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.b58f09bec1a5dbde__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;&.c6959524c70627d6__is-size-compact{height:var(--wpds-dimension-size-md,32px)}&.aa52ad890a16cc91__is-size-small,&.c6959524c70627d6__is-size-compact{--wp-ui-input-layout-padding-inline:var(--wpds-dimension-padding-sm,8px)}&.aa52ad890a16cc91__is-size-small{height:var(--wpds-dimension-size-sm,24px)}&._50a72abb47530e8a__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(._33a5f404fc55a9f2__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}}}&._33a5f404fc55a9f2__is-borderless{background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);border-color:transparent}&:has(._7ef4bcd6bfde61ae__input-layout-slot:focus-within){--_gcd-div-outline:none;outline:none}&:hover:not(._50a72abb47530e8a__is-disabled,:has([data-can-disable-input-layout][data-disabled]),._33a5f404fc55a9f2__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)}}}._7c0c0ce7b5c57b8f__slot-wrapper{display:contents}._7ef4bcd6bfde61ae__input-layout-slot{align-items:center;display:flex;&._50d0eced305893d5__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))}}}}');
12523    }
12524    var style_default4 = { "input-layout": "b58f09bec1a5dbde__input-layout", "is-size-compact": "c6959524c70627d6__is-size-compact", "is-size-small": "aa52ad890a16cc91__is-size-small", "is-disabled": "_50a72abb47530e8a__is-disabled", "is-borderless": "_33a5f404fc55a9f2__is-borderless", "input-layout-slot": "_7ef4bcd6bfde61ae__input-layout-slot", "slot-wrapper": "_7c0c0ce7b5c57b8f__slot-wrapper", "is-padding-minimal": "_50d0eced305893d5__is-padding-minimal" };
12525    var InputLayout = (0, import_element13.forwardRef)(
12526      function UnforwardedInputLayout({
12527        className,
12528        children,
12529        visuallyDisabled,
12530        size: size4 = "default",
12531        isBorderless,
12532        prefix,
12533        suffix,
12534        ...restProps
12535      }, ref) {
12536        return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
12537          "div",
12538          {
12539            ref,
12540            className: clsx_default(
12541              global_css_defense_default2.div,
12542              resets_default["box-sizing"],
12543              style_default4["input-layout"],
12544              style_default4[`is-size-$size4}`],
12545              visuallyDisabled && style_default4["is-disabled"],
12546              isBorderless && style_default4["is-borderless"],
12547              className
12548            ),
12549            ...restProps,
12550            children: [
12551              import_element13.Children.count(prefix) > 0 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
12552                "div",
12553                {
12554                  className: style_default4["slot-wrapper"],
12555                  "data-slot-type": "prefix",
12556                  children: prefix
12557                }
12558              ),
12559              children,
12560              import_element13.Children.count(suffix) > 0 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
12561                "div",
12562                {
12563                  className: style_default4["slot-wrapper"],
12564                  "data-slot-type": "suffix",
12565                  children: suffix
12566                }
12567              )
12568            ]
12569          }
12570        );
12571      }
12572    );
12573  
12574    // packages/ui/build-module/form/primitives/input-layout/slot.mjs
12575    var import_element14 = __toESM(require_element(), 1);
12576    var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1);
12577    var STYLE_HASH_ATTRIBUTE6 = "data-wp-hash";
12578    function getRuntime6() {
12579      const globalScope = globalThis;
12580      if (globalScope.__wpStyleRuntime) {
12581        return globalScope.__wpStyleRuntime;
12582      }
12583      globalScope.__wpStyleRuntime = {
12584        documents: /* @__PURE__ */ new Map(),
12585        styles: /* @__PURE__ */ new Map(),
12586        injectedStyles: /* @__PURE__ */ new WeakMap()
12587      };
12588      if (typeof document !== "undefined") {
12589        registerDocument6(document);
12590      }
12591      return globalScope.__wpStyleRuntime;
12592    }
12593    function documentContainsStyleHash6(targetDocument, hash) {
12594      if (!targetDocument.head) {
12595        return false;
12596      }
12597      for (const style of targetDocument.head.querySelectorAll(
12598        `style[$STYLE_HASH_ATTRIBUTE6}]`
12599      )) {
12600        if (style.getAttribute(STYLE_HASH_ATTRIBUTE6) === hash) {
12601          return true;
12602        }
12603      }
12604      return false;
12605    }
12606    function injectStyle6(targetDocument, hash, css) {
12607      if (!targetDocument.head) {
12608        return;
12609      }
12610      const runtime = getRuntime6();
12611      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12612      if (!injectedStyles) {
12613        injectedStyles = /* @__PURE__ */ new Set();
12614        runtime.injectedStyles.set(targetDocument, injectedStyles);
12615      }
12616      if (injectedStyles.has(hash)) {
12617        return;
12618      }
12619      if (documentContainsStyleHash6(targetDocument, hash)) {
12620        injectedStyles.add(hash);
12621        return;
12622      }
12623      const style = targetDocument.createElement("style");
12624      style.setAttribute(STYLE_HASH_ATTRIBUTE6, hash);
12625      style.appendChild(targetDocument.createTextNode(css));
12626      targetDocument.head.appendChild(style);
12627      injectedStyles.add(hash);
12628    }
12629    function registerDocument6(targetDocument) {
12630      const runtime = getRuntime6();
12631      runtime.documents.set(
12632        targetDocument,
12633        (runtime.documents.get(targetDocument) ?? 0) + 1
12634      );
12635      for (const [hash, css] of runtime.styles) {
12636        injectStyle6(targetDocument, hash, css);
12637      }
12638      return () => {
12639        const count = runtime.documents.get(targetDocument);
12640        if (count === void 0) {
12641          return;
12642        }
12643        if (count <= 1) {
12644          runtime.documents.delete(targetDocument);
12645          return;
12646        }
12647        runtime.documents.set(targetDocument, count - 1);
12648      };
12649    }
12650    function registerStyle6(hash, css) {
12651      const runtime = getRuntime6();
12652      runtime.styles.set(hash, css);
12653      for (const targetDocument of runtime.documents.keys()) {
12654        injectStyle6(targetDocument, hash, css);
12655      }
12656    }
12657    if (typeof process === "undefined" || true) {
12658      registerStyle6("a933c8f665", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.b58f09bec1a5dbde__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;&.c6959524c70627d6__is-size-compact{height:var(--wpds-dimension-size-md,32px)}&.aa52ad890a16cc91__is-size-small,&.c6959524c70627d6__is-size-compact{--wp-ui-input-layout-padding-inline:var(--wpds-dimension-padding-sm,8px)}&.aa52ad890a16cc91__is-size-small{height:var(--wpds-dimension-size-sm,24px)}&._50a72abb47530e8a__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(._33a5f404fc55a9f2__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}}}&._33a5f404fc55a9f2__is-borderless{background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);border-color:transparent}&:has(._7ef4bcd6bfde61ae__input-layout-slot:focus-within){--_gcd-div-outline:none;outline:none}&:hover:not(._50a72abb47530e8a__is-disabled,:has([data-can-disable-input-layout][data-disabled]),._33a5f404fc55a9f2__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)}}}._7c0c0ce7b5c57b8f__slot-wrapper{display:contents}._7ef4bcd6bfde61ae__input-layout-slot{align-items:center;display:flex;&._50d0eced305893d5__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))}}}}');
12659    }
12660    var style_default5 = { "input-layout": "b58f09bec1a5dbde__input-layout", "is-size-compact": "c6959524c70627d6__is-size-compact", "is-size-small": "aa52ad890a16cc91__is-size-small", "is-disabled": "_50a72abb47530e8a__is-disabled", "is-borderless": "_33a5f404fc55a9f2__is-borderless", "input-layout-slot": "_7ef4bcd6bfde61ae__input-layout-slot", "slot-wrapper": "_7c0c0ce7b5c57b8f__slot-wrapper", "is-padding-minimal": "_50d0eced305893d5__is-padding-minimal" };
12661    var InputLayoutSlot = (0, import_element14.forwardRef)(function UnforwardedInputLayoutSlot({ padding = "default", className, ...restProps }, ref) {
12662      return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
12663        "div",
12664        {
12665          ref,
12666          className: clsx_default(
12667            style_default5["input-layout-slot"],
12668            style_default5[`is-padding-$padding}`],
12669            className
12670          ),
12671          ...restProps
12672        }
12673      );
12674    });
12675    InputLayoutSlot.displayName = "InputLayout.Slot";
12676  
12677    // packages/ui/build-module/form/primitives/input-layout/index.mjs
12678    var InputLayout2 = Object.assign(InputLayout, {
12679      Slot: InputLayoutSlot
12680    });
12681  
12682    // packages/ui/build-module/utils/css/item-popup.mjs
12683    var STYLE_HASH_ATTRIBUTE7 = "data-wp-hash";
12684    function getRuntime7() {
12685      const globalScope = globalThis;
12686      if (globalScope.__wpStyleRuntime) {
12687        return globalScope.__wpStyleRuntime;
12688      }
12689      globalScope.__wpStyleRuntime = {
12690        documents: /* @__PURE__ */ new Map(),
12691        styles: /* @__PURE__ */ new Map(),
12692        injectedStyles: /* @__PURE__ */ new WeakMap()
12693      };
12694      if (typeof document !== "undefined") {
12695        registerDocument7(document);
12696      }
12697      return globalScope.__wpStyleRuntime;
12698    }
12699    function documentContainsStyleHash7(targetDocument, hash) {
12700      if (!targetDocument.head) {
12701        return false;
12702      }
12703      for (const style of targetDocument.head.querySelectorAll(
12704        `style[$STYLE_HASH_ATTRIBUTE7}]`
12705      )) {
12706        if (style.getAttribute(STYLE_HASH_ATTRIBUTE7) === hash) {
12707          return true;
12708        }
12709      }
12710      return false;
12711    }
12712    function injectStyle7(targetDocument, hash, css) {
12713      if (!targetDocument.head) {
12714        return;
12715      }
12716      const runtime = getRuntime7();
12717      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12718      if (!injectedStyles) {
12719        injectedStyles = /* @__PURE__ */ new Set();
12720        runtime.injectedStyles.set(targetDocument, injectedStyles);
12721      }
12722      if (injectedStyles.has(hash)) {
12723        return;
12724      }
12725      if (documentContainsStyleHash7(targetDocument, hash)) {
12726        injectedStyles.add(hash);
12727        return;
12728      }
12729      const style = targetDocument.createElement("style");
12730      style.setAttribute(STYLE_HASH_ATTRIBUTE7, hash);
12731      style.appendChild(targetDocument.createTextNode(css));
12732      targetDocument.head.appendChild(style);
12733      injectedStyles.add(hash);
12734    }
12735    function registerDocument7(targetDocument) {
12736      const runtime = getRuntime7();
12737      runtime.documents.set(
12738        targetDocument,
12739        (runtime.documents.get(targetDocument) ?? 0) + 1
12740      );
12741      for (const [hash, css] of runtime.styles) {
12742        injectStyle7(targetDocument, hash, css);
12743      }
12744      return () => {
12745        const count = runtime.documents.get(targetDocument);
12746        if (count === void 0) {
12747          return;
12748        }
12749        if (count <= 1) {
12750          runtime.documents.delete(targetDocument);
12751          return;
12752        }
12753        runtime.documents.set(targetDocument, count - 1);
12754      };
12755    }
12756    function registerStyle7(hash, css) {
12757      const runtime = getRuntime7();
12758      runtime.styles.set(hash, css);
12759      for (const targetDocument of runtime.documents.keys()) {
12760        injectStyle7(targetDocument, hash, css);
12761      }
12762    }
12763    if (typeof process === "undefined" || true) {
12764      registerStyle7("7ad1c0f17c", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._069972d5e326bada__dropdown-motion,._66136bf671f00b1f__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}}._069972d5e326bada__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{.db3b5361087077bf__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);&._55f74d412c3e00e8__is-width-anchor{width:var(--anchor-width)}&._90e0b62205351f85__is-width-content{width:auto}&._30ba87899c0b11ce__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&._402d4db0488da324__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._34ead52b2d60b21d__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._3fec17b6dc9029c3__is-width-available{width:var(--available-width)}}._89cf8b0bb3319c7e__is-align-item-with-trigger[data-side=none] .db3b5361087077bf__popup{max-height:none}._66636b371582ead4__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(.b6aeb640498fae5d__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))}}._325f1b7764907c29__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._597ea43c6bec63d8__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)}}._5865110cf5678449__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._597ea43c6bec63d8__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}._09c9c50e605390ff__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._6361da5eb54e618d__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))}._88cf016d20b4f2ef__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}}.c466e5465a76d4f6__item-layout{--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);&:has(>.b6aeb640498fae5d__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))}}.b9c803da5aae76d5__item{user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&._8931f3eb02e2e0ad__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]){._494b2a9f2e72b67f__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&:focus-visible{--_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:0}@media (forced-colors:active){color:GrayText}}}.b6aeb640498fae5d__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);justify-content:center;pointer-events:none;width:var(--wpds-dimension-size-2xs,16px)}._494b2a9f2e72b67f__item-indicator-icon{translate:0 1px}.b40c7d58965ce4a5__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._3c629930ceb193c7__item-text{display:flex;flex-direction:column;min-width:0}._5c4aad98ed7a8382__item-label{--_gcd-heading-color:currentColor;min-width:0}.deb952050541c0e4__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}.b9c803da5aae76d5__item[data-disabled] .deb952050541c0e4__item-description,.b9c803da5aae76d5__item[data-highlighted]:not([data-disabled]) .deb952050541c0e4__item-description{--_gcd-heading-color:currentColor;color:inherit}._5f8e4a2a04ecdade__loading-indicator{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-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}.c1bf7c14e9600f0a__status{grid-area:status;&:has(._5f8e4a2a04ecdade__loading-indicator){padding-block:var(--wp-ui-popup-padding)}}._0850de87108c9441__empty:not(:empty){grid-area:main}._0850de87108c9441__empty:not(:empty),.c1bf7c14e9600f0a__status:not(:empty):not(:has([data-visually-hidden],._5f8e4a2a04ecdade__loading-indicator)){--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)}}@layer compositions{.eaec70f7db4a63ef__loading-spinner{height:var(--wpds-dimension-size-3xs,12px);width:var(--wpds-dimension-size-3xs,12px)}}}');
12765    }
12766    var item_popup_default = { "popup": "db3b5361087077bf__popup _069972d5e326bada__dropdown-motion", "is-width-anchor": "_55f74d412c3e00e8__is-width-anchor", "is-width-content": "_90e0b62205351f85__is-width-content", "is-width-sm": "_30ba87899c0b11ce__is-width-sm", "is-width-md": "_402d4db0488da324__is-width-md", "is-width-lg": "_34ead52b2d60b21d__is-width-lg", "is-width-available": "_3fec17b6dc9029c3__is-width-available", "is-align-item-with-trigger": "_89cf8b0bb3319c7e__is-align-item-with-trigger", "list-chrome": "_66636b371582ead4__list-chrome", "item-icon": "b6aeb640498fae5d__item-icon", "list": "_325f1b7764907c29__list _66636b371582ead4__list-chrome", "list-scrollable-container": "_597ea43c6bec63d8__list-scrollable-container", "list-footer": "_5865110cf5678449__list-footer", "group": "_09c9c50e605390ff__group", "group-label": "_6361da5eb54e618d__group-label", "separator": "_88cf016d20b4f2ef__separator", "item-layout": "c466e5465a76d4f6__item-layout", "item": "b9c803da5aae76d5__item c466e5465a76d4f6__item-layout", "is-size-small": "_8931f3eb02e2e0ad__is-size-small", "item-indicator-icon": "_494b2a9f2e72b67f__item-indicator-icon", "item-content": "b40c7d58965ce4a5__item-content", "item-text": "_3c629930ceb193c7__item-text", "item-label": "_5c4aad98ed7a8382__item-label", "item-description": "deb952050541c0e4__item-description", "loading-indicator": "_5f8e4a2a04ecdade__loading-indicator c466e5465a76d4f6__item-layout", "status": "c1bf7c14e9600f0a__status", "empty": "_0850de87108c9441__empty", "loading-spinner": "eaec70f7db4a63ef__loading-spinner" };
12767    function getItemPopupWidthClassName(width = "anchor") {
12768      switch (width) {
12769        case "available":
12770          return item_popup_default["is-width-available"];
12771        case "content":
12772          return item_popup_default["is-width-content"];
12773        case "lg":
12774          return item_popup_default["is-width-lg"];
12775        case "md":
12776          return item_popup_default["is-width-md"];
12777        case "sm":
12778          return item_popup_default["is-width-sm"];
12779        case "anchor":
12780          return item_popup_default["is-width-anchor"];
12781        default:
12782          return false;
12783      }
12784    }
12785  
12786    // packages/ui/build-module/form/primitives/field/index.mjs
12787    var field_exports = {};
12788    __export(field_exports, {
12789      Control: () => Control,
12790      Description: () => Description,
12791      Details: () => Details,
12792      Item: () => Item,
12793      Label: () => Label,
12794      Root: () => Root,
12795      VisualLabel: () => VisualLabel
12796    });
12797  
12798    // packages/ui/build-module/form/primitives/field/root.mjs
12799    var import_element15 = __toESM(require_element(), 1);
12800    var import_jsx_runtime34 = __toESM(require_jsx_runtime(), 1);
12801    var STYLE_HASH_ATTRIBUTE8 = "data-wp-hash";
12802    function getRuntime8() {
12803      const globalScope = globalThis;
12804      if (globalScope.__wpStyleRuntime) {
12805        return globalScope.__wpStyleRuntime;
12806      }
12807      globalScope.__wpStyleRuntime = {
12808        documents: /* @__PURE__ */ new Map(),
12809        styles: /* @__PURE__ */ new Map(),
12810        injectedStyles: /* @__PURE__ */ new WeakMap()
12811      };
12812      if (typeof document !== "undefined") {
12813        registerDocument8(document);
12814      }
12815      return globalScope.__wpStyleRuntime;
12816    }
12817    function documentContainsStyleHash8(targetDocument, hash) {
12818      if (!targetDocument.head) {
12819        return false;
12820      }
12821      for (const style of targetDocument.head.querySelectorAll(
12822        `style[$STYLE_HASH_ATTRIBUTE8}]`
12823      )) {
12824        if (style.getAttribute(STYLE_HASH_ATTRIBUTE8) === hash) {
12825          return true;
12826        }
12827      }
12828      return false;
12829    }
12830    function injectStyle8(targetDocument, hash, css) {
12831      if (!targetDocument.head) {
12832        return;
12833      }
12834      const runtime = getRuntime8();
12835      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12836      if (!injectedStyles) {
12837        injectedStyles = /* @__PURE__ */ new Set();
12838        runtime.injectedStyles.set(targetDocument, injectedStyles);
12839      }
12840      if (injectedStyles.has(hash)) {
12841        return;
12842      }
12843      if (documentContainsStyleHash8(targetDocument, hash)) {
12844        injectedStyles.add(hash);
12845        return;
12846      }
12847      const style = targetDocument.createElement("style");
12848      style.setAttribute(STYLE_HASH_ATTRIBUTE8, hash);
12849      style.appendChild(targetDocument.createTextNode(css));
12850      targetDocument.head.appendChild(style);
12851      injectedStyles.add(hash);
12852    }
12853    function registerDocument8(targetDocument) {
12854      const runtime = getRuntime8();
12855      runtime.documents.set(
12856        targetDocument,
12857        (runtime.documents.get(targetDocument) ?? 0) + 1
12858      );
12859      for (const [hash, css] of runtime.styles) {
12860        injectStyle8(targetDocument, hash, css);
12861      }
12862      return () => {
12863        const count = runtime.documents.get(targetDocument);
12864        if (count === void 0) {
12865          return;
12866        }
12867        if (count <= 1) {
12868          runtime.documents.delete(targetDocument);
12869          return;
12870        }
12871        runtime.documents.set(targetDocument, count - 1);
12872      };
12873    }
12874    function registerStyle8(hash, css) {
12875      const runtime = getRuntime8();
12876      runtime.styles.set(hash, css);
12877      for (const targetDocument of runtime.documents.keys()) {
12878        injectStyle8(targetDocument, hash, css);
12879      }
12880    }
12881    if (typeof process === "undefined" || true) {
12882      registerStyle8("37477070fb", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.ccc29f9575c4c758__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
12883    }
12884    var resets_default2 = { "box-sizing": "ccc29f9575c4c758__box-sizing" };
12885    var DEFAULT_RENDER = (props) => /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Stack, { ...props, direction: "column", gap: "sm" });
12886    var Root = (0, import_element15.forwardRef)(
12887      function UnforwardedRoot({ className, render = DEFAULT_RENDER, ...restProps }, ref) {
12888        return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
12889          index_parts_exports.Root,
12890          {
12891            ref,
12892            className: clsx_default(resets_default2["box-sizing"], className),
12893            render,
12894            ...restProps
12895          }
12896        );
12897      }
12898    );
12899  
12900    // packages/ui/build-module/form/primitives/field/item.mjs
12901    var import_element16 = __toESM(require_element(), 1);
12902    var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1);
12903    var Item = (0, import_element16.forwardRef)(function UnforwardedItem(props, ref) {
12904      return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(index_parts_exports.Item, { ref, ...props });
12905    });
12906  
12907    // packages/ui/build-module/form/primitives/field/label.mjs
12908    var import_element17 = __toESM(require_element(), 1);
12909    var import_jsx_runtime36 = __toESM(require_jsx_runtime(), 1);
12910    var STYLE_HASH_ATTRIBUTE9 = "data-wp-hash";
12911    function getRuntime9() {
12912      const globalScope = globalThis;
12913      if (globalScope.__wpStyleRuntime) {
12914        return globalScope.__wpStyleRuntime;
12915      }
12916      globalScope.__wpStyleRuntime = {
12917        documents: /* @__PURE__ */ new Map(),
12918        styles: /* @__PURE__ */ new Map(),
12919        injectedStyles: /* @__PURE__ */ new WeakMap()
12920      };
12921      if (typeof document !== "undefined") {
12922        registerDocument9(document);
12923      }
12924      return globalScope.__wpStyleRuntime;
12925    }
12926    function documentContainsStyleHash9(targetDocument, hash) {
12927      if (!targetDocument.head) {
12928        return false;
12929      }
12930      for (const style of targetDocument.head.querySelectorAll(
12931        `style[$STYLE_HASH_ATTRIBUTE9}]`
12932      )) {
12933        if (style.getAttribute(STYLE_HASH_ATTRIBUTE9) === hash) {
12934          return true;
12935        }
12936      }
12937      return false;
12938    }
12939    function injectStyle9(targetDocument, hash, css) {
12940      if (!targetDocument.head) {
12941        return;
12942      }
12943      const runtime = getRuntime9();
12944      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12945      if (!injectedStyles) {
12946        injectedStyles = /* @__PURE__ */ new Set();
12947        runtime.injectedStyles.set(targetDocument, injectedStyles);
12948      }
12949      if (injectedStyles.has(hash)) {
12950        return;
12951      }
12952      if (documentContainsStyleHash9(targetDocument, hash)) {
12953        injectedStyles.add(hash);
12954        return;
12955      }
12956      const style = targetDocument.createElement("style");
12957      style.setAttribute(STYLE_HASH_ATTRIBUTE9, hash);
12958      style.appendChild(targetDocument.createTextNode(css));
12959      targetDocument.head.appendChild(style);
12960      injectedStyles.add(hash);
12961    }
12962    function registerDocument9(targetDocument) {
12963      const runtime = getRuntime9();
12964      runtime.documents.set(
12965        targetDocument,
12966        (runtime.documents.get(targetDocument) ?? 0) + 1
12967      );
12968      for (const [hash, css] of runtime.styles) {
12969        injectStyle9(targetDocument, hash, css);
12970      }
12971      return () => {
12972        const count = runtime.documents.get(targetDocument);
12973        if (count === void 0) {
12974          return;
12975        }
12976        if (count <= 1) {
12977          runtime.documents.delete(targetDocument);
12978          return;
12979        }
12980        runtime.documents.set(targetDocument, count - 1);
12981      };
12982    }
12983    function registerStyle9(hash, css) {
12984      const runtime = getRuntime9();
12985      runtime.styles.set(hash, css);
12986      for (const targetDocument of runtime.documents.keys()) {
12987        injectStyle9(targetDocument, hash, css);
12988      }
12989    }
12990    if (typeof process === "undefined" || true) {
12991      registerStyle9("71ecfbcef4", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.b83e088455118c35__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;&._7cbfa5d2e598834a__is-plain{font-size:var(--wpds-typography-font-size-md,13px);font-weight:var(--wpds-typography-font-weight-default,400);text-transform:none}}._507b5c7970fe2ffd__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)}}}');
12992    }
12993    var field_default = { "label": "b83e088455118c35__label", "is-plain": "_7cbfa5d2e598834a__is-plain", "description": "_507b5c7970fe2ffd__description" };
12994    var Label = (0, import_element17.forwardRef)(
12995      function UnforwardedLabel({ className, hideFromVision, variant, ...restProps }, ref) {
12996        const label = /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
12997          index_parts_exports.Label,
12998          {
12999            ref,
13000            className: clsx_default(
13001              field_default.label,
13002              variant && field_default[`is-$variant}`],
13003              className
13004            ),
13005            ...restProps
13006          }
13007        );
13008        if (hideFromVision) {
13009          return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(VisuallyHidden, { render: label });
13010        }
13011        return label;
13012      }
13013    );
13014  
13015    // packages/ui/build-module/form/primitives/field/description.mjs
13016    var import_element18 = __toESM(require_element(), 1);
13017    var import_jsx_runtime37 = __toESM(require_jsx_runtime(), 1);
13018    var STYLE_HASH_ATTRIBUTE10 = "data-wp-hash";
13019    function getRuntime10() {
13020      const globalScope = globalThis;
13021      if (globalScope.__wpStyleRuntime) {
13022        return globalScope.__wpStyleRuntime;
13023      }
13024      globalScope.__wpStyleRuntime = {
13025        documents: /* @__PURE__ */ new Map(),
13026        styles: /* @__PURE__ */ new Map(),
13027        injectedStyles: /* @__PURE__ */ new WeakMap()
13028      };
13029      if (typeof document !== "undefined") {
13030        registerDocument10(document);
13031      }
13032      return globalScope.__wpStyleRuntime;
13033    }
13034    function documentContainsStyleHash10(targetDocument, hash) {
13035      if (!targetDocument.head) {
13036        return false;
13037      }
13038      for (const style of targetDocument.head.querySelectorAll(
13039        `style[$STYLE_HASH_ATTRIBUTE10}]`
13040      )) {
13041        if (style.getAttribute(STYLE_HASH_ATTRIBUTE10) === hash) {
13042          return true;
13043        }
13044      }
13045      return false;
13046    }
13047    function injectStyle10(targetDocument, hash, css) {
13048      if (!targetDocument.head) {
13049        return;
13050      }
13051      const runtime = getRuntime10();
13052      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13053      if (!injectedStyles) {
13054        injectedStyles = /* @__PURE__ */ new Set();
13055        runtime.injectedStyles.set(targetDocument, injectedStyles);
13056      }
13057      if (injectedStyles.has(hash)) {
13058        return;
13059      }
13060      if (documentContainsStyleHash10(targetDocument, hash)) {
13061        injectedStyles.add(hash);
13062        return;
13063      }
13064      const style = targetDocument.createElement("style");
13065      style.setAttribute(STYLE_HASH_ATTRIBUTE10, hash);
13066      style.appendChild(targetDocument.createTextNode(css));
13067      targetDocument.head.appendChild(style);
13068      injectedStyles.add(hash);
13069    }
13070    function registerDocument10(targetDocument) {
13071      const runtime = getRuntime10();
13072      runtime.documents.set(
13073        targetDocument,
13074        (runtime.documents.get(targetDocument) ?? 0) + 1
13075      );
13076      for (const [hash, css] of runtime.styles) {
13077        injectStyle10(targetDocument, hash, css);
13078      }
13079      return () => {
13080        const count = runtime.documents.get(targetDocument);
13081        if (count === void 0) {
13082          return;
13083        }
13084        if (count <= 1) {
13085          runtime.documents.delete(targetDocument);
13086          return;
13087        }
13088        runtime.documents.set(targetDocument, count - 1);
13089      };
13090    }
13091    function registerStyle10(hash, css) {
13092      const runtime = getRuntime10();
13093      runtime.styles.set(hash, css);
13094      for (const targetDocument of runtime.documents.keys()) {
13095        injectStyle10(targetDocument, hash, css);
13096      }
13097    }
13098    if (typeof process === "undefined" || true) {
13099      registerStyle10("726f348f3f", "._78c10a0773e51a91__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}._5b33aa2d48624b4f__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._980b3b4776ac8f81__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._43e478b4279a076c__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._698099e25b0fb1a6__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6)._326aee4184d261fd__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}.e9576240835601ba__a,.e9576240835601ba__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}._3f05789653864a73__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._3c72ff72abe57859__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._79d16267c15d9eb2__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
13100    }
13101    var global_css_defense_default3 = { "button": "_78c10a0773e51a91__button", "input": "_5b33aa2d48624b4f__input", "textarea": "_980b3b4776ac8f81__textarea", "div": "_43e478b4279a076c__div", "p": "_698099e25b0fb1a6__p", "heading": "_326aee4184d261fd__heading", "a": "e9576240835601ba__a", "ol": "_3f05789653864a73__ol", "li": "_3c72ff72abe57859__li", "span": "_79d16267c15d9eb2__span" };
13102    if (typeof process === "undefined" || true) {
13103      registerStyle10("71ecfbcef4", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.b83e088455118c35__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;&._7cbfa5d2e598834a__is-plain{font-size:var(--wpds-typography-font-size-md,13px);font-weight:var(--wpds-typography-font-weight-default,400);text-transform:none}}._507b5c7970fe2ffd__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)}}}');
13104    }
13105    var field_default2 = { "label": "b83e088455118c35__label", "is-plain": "_7cbfa5d2e598834a__is-plain", "description": "_507b5c7970fe2ffd__description" };
13106    var Description = (0, import_element18.forwardRef)(function UnforwardedDescription({ className, ...restProps }, ref) {
13107      return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
13108        index_parts_exports.Description,
13109        {
13110          ref,
13111          className: clsx_default(
13112            global_css_defense_default3.p,
13113            field_default2.description,
13114            className
13115          ),
13116          ...restProps
13117        }
13118      );
13119    });
13120  
13121    // packages/ui/build-module/form/primitives/field/details.mjs
13122    var import_element19 = __toESM(require_element(), 1);
13123    var import_i18n2 = __toESM(require_i18n(), 1);
13124    var import_jsx_runtime38 = __toESM(require_jsx_runtime(), 1);
13125    var STYLE_HASH_ATTRIBUTE11 = "data-wp-hash";
13126    function getRuntime11() {
13127      const globalScope = globalThis;
13128      if (globalScope.__wpStyleRuntime) {
13129        return globalScope.__wpStyleRuntime;
13130      }
13131      globalScope.__wpStyleRuntime = {
13132        documents: /* @__PURE__ */ new Map(),
13133        styles: /* @__PURE__ */ new Map(),
13134        injectedStyles: /* @__PURE__ */ new WeakMap()
13135      };
13136      if (typeof document !== "undefined") {
13137        registerDocument11(document);
13138      }
13139      return globalScope.__wpStyleRuntime;
13140    }
13141    function documentContainsStyleHash11(targetDocument, hash) {
13142      if (!targetDocument.head) {
13143        return false;
13144      }
13145      for (const style of targetDocument.head.querySelectorAll(
13146        `style[$STYLE_HASH_ATTRIBUTE11}]`
13147      )) {
13148        if (style.getAttribute(STYLE_HASH_ATTRIBUTE11) === hash) {
13149          return true;
13150        }
13151      }
13152      return false;
13153    }
13154    function injectStyle11(targetDocument, hash, css) {
13155      if (!targetDocument.head) {
13156        return;
13157      }
13158      const runtime = getRuntime11();
13159      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13160      if (!injectedStyles) {
13161        injectedStyles = /* @__PURE__ */ new Set();
13162        runtime.injectedStyles.set(targetDocument, injectedStyles);
13163      }
13164      if (injectedStyles.has(hash)) {
13165        return;
13166      }
13167      if (documentContainsStyleHash11(targetDocument, hash)) {
13168        injectedStyles.add(hash);
13169        return;
13170      }
13171      const style = targetDocument.createElement("style");
13172      style.setAttribute(STYLE_HASH_ATTRIBUTE11, hash);
13173      style.appendChild(targetDocument.createTextNode(css));
13174      targetDocument.head.appendChild(style);
13175      injectedStyles.add(hash);
13176    }
13177    function registerDocument11(targetDocument) {
13178      const runtime = getRuntime11();
13179      runtime.documents.set(
13180        targetDocument,
13181        (runtime.documents.get(targetDocument) ?? 0) + 1
13182      );
13183      for (const [hash, css] of runtime.styles) {
13184        injectStyle11(targetDocument, hash, css);
13185      }
13186      return () => {
13187        const count = runtime.documents.get(targetDocument);
13188        if (count === void 0) {
13189          return;
13190        }
13191        if (count <= 1) {
13192          runtime.documents.delete(targetDocument);
13193          return;
13194        }
13195        runtime.documents.set(targetDocument, count - 1);
13196      };
13197    }
13198    function registerStyle11(hash, css) {
13199      const runtime = getRuntime11();
13200      runtime.styles.set(hash, css);
13201      for (const targetDocument of runtime.documents.keys()) {
13202        injectStyle11(targetDocument, hash, css);
13203      }
13204    }
13205    if (typeof process === "undefined" || true) {
13206      registerStyle11("71ecfbcef4", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.b83e088455118c35__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;&._7cbfa5d2e598834a__is-plain{font-size:var(--wpds-typography-font-size-md,13px);font-weight:var(--wpds-typography-font-weight-default,400);text-transform:none}}._507b5c7970fe2ffd__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)}}}');
13207    }
13208    var field_default3 = { "label": "b83e088455118c35__label", "is-plain": "_7cbfa5d2e598834a__is-plain", "description": "_507b5c7970fe2ffd__description" };
13209    var Details = (0, import_element19.forwardRef)(
13210      function UnforwardedDetails({ className, ...restProps }, ref) {
13211        return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
13212          /* @__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.") }),
13213          /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
13214            "div",
13215            {
13216              ref,
13217              className: clsx_default(field_default3.description, className),
13218              ...restProps
13219            }
13220          )
13221        ] });
13222      }
13223    );
13224  
13225    // packages/ui/build-module/form/primitives/field/control.mjs
13226    var import_element20 = __toESM(require_element(), 1);
13227    var import_jsx_runtime39 = __toESM(require_jsx_runtime(), 1);
13228    var Control = (0, import_element20.forwardRef)(
13229      function UnforwardedControl(props, ref) {
13230        return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(index_parts_exports.Control, { ref, ...props });
13231      }
13232    );
13233  
13234    // packages/ui/build-module/form/primitives/field/visual-label.mjs
13235    var import_element21 = __toESM(require_element(), 1);
13236    var STYLE_HASH_ATTRIBUTE12 = "data-wp-hash";
13237    function getRuntime12() {
13238      const globalScope = globalThis;
13239      if (globalScope.__wpStyleRuntime) {
13240        return globalScope.__wpStyleRuntime;
13241      }
13242      globalScope.__wpStyleRuntime = {
13243        documents: /* @__PURE__ */ new Map(),
13244        styles: /* @__PURE__ */ new Map(),
13245        injectedStyles: /* @__PURE__ */ new WeakMap()
13246      };
13247      if (typeof document !== "undefined") {
13248        registerDocument12(document);
13249      }
13250      return globalScope.__wpStyleRuntime;
13251    }
13252    function documentContainsStyleHash12(targetDocument, hash) {
13253      if (!targetDocument.head) {
13254        return false;
13255      }
13256      for (const style of targetDocument.head.querySelectorAll(
13257        `style[$STYLE_HASH_ATTRIBUTE12}]`
13258      )) {
13259        if (style.getAttribute(STYLE_HASH_ATTRIBUTE12) === hash) {
13260          return true;
13261        }
13262      }
13263      return false;
13264    }
13265    function injectStyle12(targetDocument, hash, css) {
13266      if (!targetDocument.head) {
13267        return;
13268      }
13269      const runtime = getRuntime12();
13270      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13271      if (!injectedStyles) {
13272        injectedStyles = /* @__PURE__ */ new Set();
13273        runtime.injectedStyles.set(targetDocument, injectedStyles);
13274      }
13275      if (injectedStyles.has(hash)) {
13276        return;
13277      }
13278      if (documentContainsStyleHash12(targetDocument, hash)) {
13279        injectedStyles.add(hash);
13280        return;
13281      }
13282      const style = targetDocument.createElement("style");
13283      style.setAttribute(STYLE_HASH_ATTRIBUTE12, hash);
13284      style.appendChild(targetDocument.createTextNode(css));
13285      targetDocument.head.appendChild(style);
13286      injectedStyles.add(hash);
13287    }
13288    function registerDocument12(targetDocument) {
13289      const runtime = getRuntime12();
13290      runtime.documents.set(
13291        targetDocument,
13292        (runtime.documents.get(targetDocument) ?? 0) + 1
13293      );
13294      for (const [hash, css] of runtime.styles) {
13295        injectStyle12(targetDocument, hash, css);
13296      }
13297      return () => {
13298        const count = runtime.documents.get(targetDocument);
13299        if (count === void 0) {
13300          return;
13301        }
13302        if (count <= 1) {
13303          runtime.documents.delete(targetDocument);
13304          return;
13305        }
13306        runtime.documents.set(targetDocument, count - 1);
13307      };
13308    }
13309    function registerStyle12(hash, css) {
13310      const runtime = getRuntime12();
13311      runtime.styles.set(hash, css);
13312      for (const targetDocument of runtime.documents.keys()) {
13313        injectStyle12(targetDocument, hash, css);
13314      }
13315    }
13316    if (typeof process === "undefined" || true) {
13317      registerStyle12("71ecfbcef4", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.b83e088455118c35__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;&._7cbfa5d2e598834a__is-plain{font-size:var(--wpds-typography-font-size-md,13px);font-weight:var(--wpds-typography-font-weight-default,400);text-transform:none}}._507b5c7970fe2ffd__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)}}}');
13318    }
13319    var field_default4 = { "label": "b83e088455118c35__label", "is-plain": "_7cbfa5d2e598834a__is-plain", "description": "_507b5c7970fe2ffd__description" };
13320    var VisualLabel = (0, import_element21.forwardRef)(
13321      function UnforwardedVisualLabel({ className, render, variant, ...restProps }, ref) {
13322        return useRender({
13323          defaultTagName: "span",
13324          render,
13325          ref,
13326          props: mergeProps(restProps, {
13327            className: clsx_default(
13328              field_default4.label,
13329              variant && field_default4[`is-$variant}`],
13330              className
13331            )
13332          })
13333        });
13334      }
13335    );
13336    VisualLabel.displayName = "Field.VisualLabel";
13337  
13338    // packages/ui/build-module/form/primitives/select/index.mjs
13339    var select_exports = {};
13340    __export(select_exports, {
13341      Group: () => Group,
13342      GroupLabel: () => GroupLabel,
13343      Item: () => Item2,
13344      ItemDescription: () => ItemDescription,
13345      ItemLabel: () => ItemLabel,
13346      Popup: () => Popup,
13347      Portal: () => Portal,
13348      Positioner: () => Positioner,
13349      Root: () => Root2,
13350      Separator: () => Separator,
13351      Trigger: () => Trigger
13352    });
13353  
13354    // packages/ui/build-module/form/primitives/select/group.mjs
13355    var import_element22 = __toESM(require_element(), 1);
13356    var import_jsx_runtime40 = __toESM(require_jsx_runtime(), 1);
13357    var STYLE_HASH_ATTRIBUTE13 = "data-wp-hash";
13358    function getRuntime13() {
13359      const globalScope = globalThis;
13360      if (globalScope.__wpStyleRuntime) {
13361        return globalScope.__wpStyleRuntime;
13362      }
13363      globalScope.__wpStyleRuntime = {
13364        documents: /* @__PURE__ */ new Map(),
13365        styles: /* @__PURE__ */ new Map(),
13366        injectedStyles: /* @__PURE__ */ new WeakMap()
13367      };
13368      if (typeof document !== "undefined") {
13369        registerDocument13(document);
13370      }
13371      return globalScope.__wpStyleRuntime;
13372    }
13373    function documentContainsStyleHash13(targetDocument, hash) {
13374      if (!targetDocument.head) {
13375        return false;
13376      }
13377      for (const style of targetDocument.head.querySelectorAll(
13378        `style[$STYLE_HASH_ATTRIBUTE13}]`
13379      )) {
13380        if (style.getAttribute(STYLE_HASH_ATTRIBUTE13) === hash) {
13381          return true;
13382        }
13383      }
13384      return false;
13385    }
13386    function injectStyle13(targetDocument, hash, css) {
13387      if (!targetDocument.head) {
13388        return;
13389      }
13390      const runtime = getRuntime13();
13391      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13392      if (!injectedStyles) {
13393        injectedStyles = /* @__PURE__ */ new Set();
13394        runtime.injectedStyles.set(targetDocument, injectedStyles);
13395      }
13396      if (injectedStyles.has(hash)) {
13397        return;
13398      }
13399      if (documentContainsStyleHash13(targetDocument, hash)) {
13400        injectedStyles.add(hash);
13401        return;
13402      }
13403      const style = targetDocument.createElement("style");
13404      style.setAttribute(STYLE_HASH_ATTRIBUTE13, hash);
13405      style.appendChild(targetDocument.createTextNode(css));
13406      targetDocument.head.appendChild(style);
13407      injectedStyles.add(hash);
13408    }
13409    function registerDocument13(targetDocument) {
13410      const runtime = getRuntime13();
13411      runtime.documents.set(
13412        targetDocument,
13413        (runtime.documents.get(targetDocument) ?? 0) + 1
13414      );
13415      for (const [hash, css] of runtime.styles) {
13416        injectStyle13(targetDocument, hash, css);
13417      }
13418      return () => {
13419        const count = runtime.documents.get(targetDocument);
13420        if (count === void 0) {
13421          return;
13422        }
13423        if (count <= 1) {
13424          runtime.documents.delete(targetDocument);
13425          return;
13426        }
13427        runtime.documents.set(targetDocument, count - 1);
13428      };
13429    }
13430    function registerStyle13(hash, css) {
13431      const runtime = getRuntime13();
13432      runtime.styles.set(hash, css);
13433      for (const targetDocument of runtime.documents.keys()) {
13434        injectStyle13(targetDocument, hash, css);
13435      }
13436    }
13437    if (typeof process === "undefined" || true) {
13438      registerStyle13("7ad1c0f17c", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._069972d5e326bada__dropdown-motion,._66136bf671f00b1f__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}}._069972d5e326bada__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{.db3b5361087077bf__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);&._55f74d412c3e00e8__is-width-anchor{width:var(--anchor-width)}&._90e0b62205351f85__is-width-content{width:auto}&._30ba87899c0b11ce__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&._402d4db0488da324__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._34ead52b2d60b21d__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._3fec17b6dc9029c3__is-width-available{width:var(--available-width)}}._89cf8b0bb3319c7e__is-align-item-with-trigger[data-side=none] .db3b5361087077bf__popup{max-height:none}._66636b371582ead4__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(.b6aeb640498fae5d__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))}}._325f1b7764907c29__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._597ea43c6bec63d8__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)}}._5865110cf5678449__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._597ea43c6bec63d8__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}._09c9c50e605390ff__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._6361da5eb54e618d__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))}._88cf016d20b4f2ef__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}}.c466e5465a76d4f6__item-layout{--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);&:has(>.b6aeb640498fae5d__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))}}.b9c803da5aae76d5__item{user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&._8931f3eb02e2e0ad__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]){._494b2a9f2e72b67f__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&:focus-visible{--_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:0}@media (forced-colors:active){color:GrayText}}}.b6aeb640498fae5d__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);justify-content:center;pointer-events:none;width:var(--wpds-dimension-size-2xs,16px)}._494b2a9f2e72b67f__item-indicator-icon{translate:0 1px}.b40c7d58965ce4a5__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._3c629930ceb193c7__item-text{display:flex;flex-direction:column;min-width:0}._5c4aad98ed7a8382__item-label{--_gcd-heading-color:currentColor;min-width:0}.deb952050541c0e4__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}.b9c803da5aae76d5__item[data-disabled] .deb952050541c0e4__item-description,.b9c803da5aae76d5__item[data-highlighted]:not([data-disabled]) .deb952050541c0e4__item-description{--_gcd-heading-color:currentColor;color:inherit}._5f8e4a2a04ecdade__loading-indicator{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-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}.c1bf7c14e9600f0a__status{grid-area:status;&:has(._5f8e4a2a04ecdade__loading-indicator){padding-block:var(--wp-ui-popup-padding)}}._0850de87108c9441__empty:not(:empty){grid-area:main}._0850de87108c9441__empty:not(:empty),.c1bf7c14e9600f0a__status:not(:empty):not(:has([data-visually-hidden],._5f8e4a2a04ecdade__loading-indicator)){--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)}}@layer compositions{.eaec70f7db4a63ef__loading-spinner{height:var(--wpds-dimension-size-3xs,12px);width:var(--wpds-dimension-size-3xs,12px)}}}');
13439    }
13440    var item_popup_default2 = { "popup": "db3b5361087077bf__popup _069972d5e326bada__dropdown-motion", "is-width-anchor": "_55f74d412c3e00e8__is-width-anchor", "is-width-content": "_90e0b62205351f85__is-width-content", "is-width-sm": "_30ba87899c0b11ce__is-width-sm", "is-width-md": "_402d4db0488da324__is-width-md", "is-width-lg": "_34ead52b2d60b21d__is-width-lg", "is-width-available": "_3fec17b6dc9029c3__is-width-available", "is-align-item-with-trigger": "_89cf8b0bb3319c7e__is-align-item-with-trigger", "list-chrome": "_66636b371582ead4__list-chrome", "item-icon": "b6aeb640498fae5d__item-icon", "list": "_325f1b7764907c29__list _66636b371582ead4__list-chrome", "list-scrollable-container": "_597ea43c6bec63d8__list-scrollable-container", "list-footer": "_5865110cf5678449__list-footer", "group": "_09c9c50e605390ff__group", "group-label": "_6361da5eb54e618d__group-label", "separator": "_88cf016d20b4f2ef__separator", "item-layout": "c466e5465a76d4f6__item-layout", "item": "b9c803da5aae76d5__item c466e5465a76d4f6__item-layout", "is-size-small": "_8931f3eb02e2e0ad__is-size-small", "item-indicator-icon": "_494b2a9f2e72b67f__item-indicator-icon", "item-content": "b40c7d58965ce4a5__item-content", "item-text": "_3c629930ceb193c7__item-text", "item-label": "_5c4aad98ed7a8382__item-label", "item-description": "deb952050541c0e4__item-description", "loading-indicator": "_5f8e4a2a04ecdade__loading-indicator c466e5465a76d4f6__item-layout", "status": "c1bf7c14e9600f0a__status", "empty": "_0850de87108c9441__empty", "loading-spinner": "eaec70f7db4a63ef__loading-spinner" };
13441    var Group = (0, import_element22.forwardRef)(
13442      function UnforwardedGroup({ className, children, ...restProps }, ref) {
13443        return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
13444          index_parts_exports2.Group,
13445          {
13446            className: clsx_default(item_popup_default2.group, className),
13447            ref,
13448            ...restProps,
13449            children
13450          }
13451        );
13452      }
13453    );
13454  
13455    // packages/ui/build-module/form/primitives/select/group-label.mjs
13456    var import_element23 = __toESM(require_element(), 1);
13457    var import_jsx_runtime41 = __toESM(require_jsx_runtime(), 1);
13458    var STYLE_HASH_ATTRIBUTE14 = "data-wp-hash";
13459    function getRuntime14() {
13460      const globalScope = globalThis;
13461      if (globalScope.__wpStyleRuntime) {
13462        return globalScope.__wpStyleRuntime;
13463      }
13464      globalScope.__wpStyleRuntime = {
13465        documents: /* @__PURE__ */ new Map(),
13466        styles: /* @__PURE__ */ new Map(),
13467        injectedStyles: /* @__PURE__ */ new WeakMap()
13468      };
13469      if (typeof document !== "undefined") {
13470        registerDocument14(document);
13471      }
13472      return globalScope.__wpStyleRuntime;
13473    }
13474    function documentContainsStyleHash14(targetDocument, hash) {
13475      if (!targetDocument.head) {
13476        return false;
13477      }
13478      for (const style of targetDocument.head.querySelectorAll(
13479        `style[$STYLE_HASH_ATTRIBUTE14}]`
13480      )) {
13481        if (style.getAttribute(STYLE_HASH_ATTRIBUTE14) === hash) {
13482          return true;
13483        }
13484      }
13485      return false;
13486    }
13487    function injectStyle14(targetDocument, hash, css) {
13488      if (!targetDocument.head) {
13489        return;
13490      }
13491      const runtime = getRuntime14();
13492      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13493      if (!injectedStyles) {
13494        injectedStyles = /* @__PURE__ */ new Set();
13495        runtime.injectedStyles.set(targetDocument, injectedStyles);
13496      }
13497      if (injectedStyles.has(hash)) {
13498        return;
13499      }
13500      if (documentContainsStyleHash14(targetDocument, hash)) {
13501        injectedStyles.add(hash);
13502        return;
13503      }
13504      const style = targetDocument.createElement("style");
13505      style.setAttribute(STYLE_HASH_ATTRIBUTE14, hash);
13506      style.appendChild(targetDocument.createTextNode(css));
13507      targetDocument.head.appendChild(style);
13508      injectedStyles.add(hash);
13509    }
13510    function registerDocument14(targetDocument) {
13511      const runtime = getRuntime14();
13512      runtime.documents.set(
13513        targetDocument,
13514        (runtime.documents.get(targetDocument) ?? 0) + 1
13515      );
13516      for (const [hash, css] of runtime.styles) {
13517        injectStyle14(targetDocument, hash, css);
13518      }
13519      return () => {
13520        const count = runtime.documents.get(targetDocument);
13521        if (count === void 0) {
13522          return;
13523        }
13524        if (count <= 1) {
13525          runtime.documents.delete(targetDocument);
13526          return;
13527        }
13528        runtime.documents.set(targetDocument, count - 1);
13529      };
13530    }
13531    function registerStyle14(hash, css) {
13532      const runtime = getRuntime14();
13533      runtime.styles.set(hash, css);
13534      for (const targetDocument of runtime.documents.keys()) {
13535        injectStyle14(targetDocument, hash, css);
13536      }
13537    }
13538    if (typeof process === "undefined" || true) {
13539      registerStyle14("7ad1c0f17c", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._069972d5e326bada__dropdown-motion,._66136bf671f00b1f__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}}._069972d5e326bada__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{.db3b5361087077bf__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);&._55f74d412c3e00e8__is-width-anchor{width:var(--anchor-width)}&._90e0b62205351f85__is-width-content{width:auto}&._30ba87899c0b11ce__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&._402d4db0488da324__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._34ead52b2d60b21d__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._3fec17b6dc9029c3__is-width-available{width:var(--available-width)}}._89cf8b0bb3319c7e__is-align-item-with-trigger[data-side=none] .db3b5361087077bf__popup{max-height:none}._66636b371582ead4__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(.b6aeb640498fae5d__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))}}._325f1b7764907c29__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._597ea43c6bec63d8__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)}}._5865110cf5678449__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._597ea43c6bec63d8__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}._09c9c50e605390ff__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._6361da5eb54e618d__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))}._88cf016d20b4f2ef__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}}.c466e5465a76d4f6__item-layout{--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);&:has(>.b6aeb640498fae5d__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))}}.b9c803da5aae76d5__item{user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&._8931f3eb02e2e0ad__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]){._494b2a9f2e72b67f__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&:focus-visible{--_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:0}@media (forced-colors:active){color:GrayText}}}.b6aeb640498fae5d__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);justify-content:center;pointer-events:none;width:var(--wpds-dimension-size-2xs,16px)}._494b2a9f2e72b67f__item-indicator-icon{translate:0 1px}.b40c7d58965ce4a5__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._3c629930ceb193c7__item-text{display:flex;flex-direction:column;min-width:0}._5c4aad98ed7a8382__item-label{--_gcd-heading-color:currentColor;min-width:0}.deb952050541c0e4__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}.b9c803da5aae76d5__item[data-disabled] .deb952050541c0e4__item-description,.b9c803da5aae76d5__item[data-highlighted]:not([data-disabled]) .deb952050541c0e4__item-description{--_gcd-heading-color:currentColor;color:inherit}._5f8e4a2a04ecdade__loading-indicator{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-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}.c1bf7c14e9600f0a__status{grid-area:status;&:has(._5f8e4a2a04ecdade__loading-indicator){padding-block:var(--wp-ui-popup-padding)}}._0850de87108c9441__empty:not(:empty){grid-area:main}._0850de87108c9441__empty:not(:empty),.c1bf7c14e9600f0a__status:not(:empty):not(:has([data-visually-hidden],._5f8e4a2a04ecdade__loading-indicator)){--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)}}@layer compositions{.eaec70f7db4a63ef__loading-spinner{height:var(--wpds-dimension-size-3xs,12px);width:var(--wpds-dimension-size-3xs,12px)}}}');
13540    }
13541    var item_popup_default3 = { "popup": "db3b5361087077bf__popup _069972d5e326bada__dropdown-motion", "is-width-anchor": "_55f74d412c3e00e8__is-width-anchor", "is-width-content": "_90e0b62205351f85__is-width-content", "is-width-sm": "_30ba87899c0b11ce__is-width-sm", "is-width-md": "_402d4db0488da324__is-width-md", "is-width-lg": "_34ead52b2d60b21d__is-width-lg", "is-width-available": "_3fec17b6dc9029c3__is-width-available", "is-align-item-with-trigger": "_89cf8b0bb3319c7e__is-align-item-with-trigger", "list-chrome": "_66636b371582ead4__list-chrome", "item-icon": "b6aeb640498fae5d__item-icon", "list": "_325f1b7764907c29__list _66636b371582ead4__list-chrome", "list-scrollable-container": "_597ea43c6bec63d8__list-scrollable-container", "list-footer": "_5865110cf5678449__list-footer", "group": "_09c9c50e605390ff__group", "group-label": "_6361da5eb54e618d__group-label", "separator": "_88cf016d20b4f2ef__separator", "item-layout": "c466e5465a76d4f6__item-layout", "item": "b9c803da5aae76d5__item c466e5465a76d4f6__item-layout", "is-size-small": "_8931f3eb02e2e0ad__is-size-small", "item-indicator-icon": "_494b2a9f2e72b67f__item-indicator-icon", "item-content": "b40c7d58965ce4a5__item-content", "item-text": "_3c629930ceb193c7__item-text", "item-label": "_5c4aad98ed7a8382__item-label", "item-description": "deb952050541c0e4__item-description", "loading-indicator": "_5f8e4a2a04ecdade__loading-indicator c466e5465a76d4f6__item-layout", "status": "c1bf7c14e9600f0a__status", "empty": "_0850de87108c9441__empty", "loading-spinner": "eaec70f7db4a63ef__loading-spinner" };
13542    var GroupLabel = (0, import_element23.forwardRef)(
13543      function UnforwardedGroupLabel({ className, children, ...restProps }, ref) {
13544        return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
13545          Text,
13546          {
13547            variant: "heading-sm",
13548            className: clsx_default(
13549              item_popup_default3["group-label"],
13550              className
13551            ),
13552            render: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(index_parts_exports2.GroupLabel, { ref, ...restProps }),
13553            children
13554          }
13555        );
13556      }
13557    );
13558  
13559    // packages/ui/build-module/form/primitives/select/item.mjs
13560    var import_element26 = __toESM(require_element(), 1);
13561  
13562    // packages/ui/build-module/form/primitives/select/item-description.mjs
13563    var import_element24 = __toESM(require_element(), 1);
13564    var import_jsx_runtime42 = __toESM(require_jsx_runtime(), 1);
13565    var STYLE_HASH_ATTRIBUTE15 = "data-wp-hash";
13566    function getRuntime15() {
13567      const globalScope = globalThis;
13568      if (globalScope.__wpStyleRuntime) {
13569        return globalScope.__wpStyleRuntime;
13570      }
13571      globalScope.__wpStyleRuntime = {
13572        documents: /* @__PURE__ */ new Map(),
13573        styles: /* @__PURE__ */ new Map(),
13574        injectedStyles: /* @__PURE__ */ new WeakMap()
13575      };
13576      if (typeof document !== "undefined") {
13577        registerDocument15(document);
13578      }
13579      return globalScope.__wpStyleRuntime;
13580    }
13581    function documentContainsStyleHash15(targetDocument, hash) {
13582      if (!targetDocument.head) {
13583        return false;
13584      }
13585      for (const style of targetDocument.head.querySelectorAll(
13586        `style[$STYLE_HASH_ATTRIBUTE15}]`
13587      )) {
13588        if (style.getAttribute(STYLE_HASH_ATTRIBUTE15) === hash) {
13589          return true;
13590        }
13591      }
13592      return false;
13593    }
13594    function injectStyle15(targetDocument, hash, css) {
13595      if (!targetDocument.head) {
13596        return;
13597      }
13598      const runtime = getRuntime15();
13599      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13600      if (!injectedStyles) {
13601        injectedStyles = /* @__PURE__ */ new Set();
13602        runtime.injectedStyles.set(targetDocument, injectedStyles);
13603      }
13604      if (injectedStyles.has(hash)) {
13605        return;
13606      }
13607      if (documentContainsStyleHash15(targetDocument, hash)) {
13608        injectedStyles.add(hash);
13609        return;
13610      }
13611      const style = targetDocument.createElement("style");
13612      style.setAttribute(STYLE_HASH_ATTRIBUTE15, hash);
13613      style.appendChild(targetDocument.createTextNode(css));
13614      targetDocument.head.appendChild(style);
13615      injectedStyles.add(hash);
13616    }
13617    function registerDocument15(targetDocument) {
13618      const runtime = getRuntime15();
13619      runtime.documents.set(
13620        targetDocument,
13621        (runtime.documents.get(targetDocument) ?? 0) + 1
13622      );
13623      for (const [hash, css] of runtime.styles) {
13624        injectStyle15(targetDocument, hash, css);
13625      }
13626      return () => {
13627        const count = runtime.documents.get(targetDocument);
13628        if (count === void 0) {
13629          return;
13630        }
13631        if (count <= 1) {
13632          runtime.documents.delete(targetDocument);
13633          return;
13634        }
13635        runtime.documents.set(targetDocument, count - 1);
13636      };
13637    }
13638    function registerStyle15(hash, css) {
13639      const runtime = getRuntime15();
13640      runtime.styles.set(hash, css);
13641      for (const targetDocument of runtime.documents.keys()) {
13642        injectStyle15(targetDocument, hash, css);
13643      }
13644    }
13645    if (typeof process === "undefined" || true) {
13646      registerStyle15("7ad1c0f17c", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._069972d5e326bada__dropdown-motion,._66136bf671f00b1f__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}}._069972d5e326bada__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{.db3b5361087077bf__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);&._55f74d412c3e00e8__is-width-anchor{width:var(--anchor-width)}&._90e0b62205351f85__is-width-content{width:auto}&._30ba87899c0b11ce__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&._402d4db0488da324__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._34ead52b2d60b21d__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._3fec17b6dc9029c3__is-width-available{width:var(--available-width)}}._89cf8b0bb3319c7e__is-align-item-with-trigger[data-side=none] .db3b5361087077bf__popup{max-height:none}._66636b371582ead4__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(.b6aeb640498fae5d__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))}}._325f1b7764907c29__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._597ea43c6bec63d8__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)}}._5865110cf5678449__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._597ea43c6bec63d8__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}._09c9c50e605390ff__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._6361da5eb54e618d__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))}._88cf016d20b4f2ef__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}}.c466e5465a76d4f6__item-layout{--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);&:has(>.b6aeb640498fae5d__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))}}.b9c803da5aae76d5__item{user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&._8931f3eb02e2e0ad__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]){._494b2a9f2e72b67f__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&:focus-visible{--_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:0}@media (forced-colors:active){color:GrayText}}}.b6aeb640498fae5d__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);justify-content:center;pointer-events:none;width:var(--wpds-dimension-size-2xs,16px)}._494b2a9f2e72b67f__item-indicator-icon{translate:0 1px}.b40c7d58965ce4a5__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._3c629930ceb193c7__item-text{display:flex;flex-direction:column;min-width:0}._5c4aad98ed7a8382__item-label{--_gcd-heading-color:currentColor;min-width:0}.deb952050541c0e4__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}.b9c803da5aae76d5__item[data-disabled] .deb952050541c0e4__item-description,.b9c803da5aae76d5__item[data-highlighted]:not([data-disabled]) .deb952050541c0e4__item-description{--_gcd-heading-color:currentColor;color:inherit}._5f8e4a2a04ecdade__loading-indicator{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-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}.c1bf7c14e9600f0a__status{grid-area:status;&:has(._5f8e4a2a04ecdade__loading-indicator){padding-block:var(--wp-ui-popup-padding)}}._0850de87108c9441__empty:not(:empty){grid-area:main}._0850de87108c9441__empty:not(:empty),.c1bf7c14e9600f0a__status:not(:empty):not(:has([data-visually-hidden],._5f8e4a2a04ecdade__loading-indicator)){--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)}}@layer compositions{.eaec70f7db4a63ef__loading-spinner{height:var(--wpds-dimension-size-3xs,12px);width:var(--wpds-dimension-size-3xs,12px)}}}');
13647    }
13648    var item_popup_default4 = { "popup": "db3b5361087077bf__popup _069972d5e326bada__dropdown-motion", "is-width-anchor": "_55f74d412c3e00e8__is-width-anchor", "is-width-content": "_90e0b62205351f85__is-width-content", "is-width-sm": "_30ba87899c0b11ce__is-width-sm", "is-width-md": "_402d4db0488da324__is-width-md", "is-width-lg": "_34ead52b2d60b21d__is-width-lg", "is-width-available": "_3fec17b6dc9029c3__is-width-available", "is-align-item-with-trigger": "_89cf8b0bb3319c7e__is-align-item-with-trigger", "list-chrome": "_66636b371582ead4__list-chrome", "item-icon": "b6aeb640498fae5d__item-icon", "list": "_325f1b7764907c29__list _66636b371582ead4__list-chrome", "list-scrollable-container": "_597ea43c6bec63d8__list-scrollable-container", "list-footer": "_5865110cf5678449__list-footer", "group": "_09c9c50e605390ff__group", "group-label": "_6361da5eb54e618d__group-label", "separator": "_88cf016d20b4f2ef__separator", "item-layout": "c466e5465a76d4f6__item-layout", "item": "b9c803da5aae76d5__item c466e5465a76d4f6__item-layout", "is-size-small": "_8931f3eb02e2e0ad__is-size-small", "item-indicator-icon": "_494b2a9f2e72b67f__item-indicator-icon", "item-content": "b40c7d58965ce4a5__item-content", "item-text": "_3c629930ceb193c7__item-text", "item-label": "_5c4aad98ed7a8382__item-label", "item-description": "deb952050541c0e4__item-description", "loading-indicator": "_5f8e4a2a04ecdade__loading-indicator c466e5465a76d4f6__item-layout", "status": "c1bf7c14e9600f0a__status", "empty": "_0850de87108c9441__empty", "loading-spinner": "eaec70f7db4a63ef__loading-spinner" };
13649    var ITEM_DESCRIPTION_DIRECT_CHILD = /* @__PURE__ */ Symbol();
13650    var ItemDescription = (0, import_element24.forwardRef)(function UnforwardedItemDescription(props, ref) {
13651      const { className, validationToken, ...restProps } = props;
13652      if (validationToken !== ITEM_DESCRIPTION_DIRECT_CHILD) {
13653        throw new Error(
13654          "Select.ItemDescription: Missing direct select item parent. Render <Select.ItemDescription> as a direct child of <Select.Item>."
13655        );
13656      }
13657      return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
13658        Text,
13659        {
13660          ref,
13661          variant: "body-sm",
13662          className: clsx_default(
13663            item_popup_default4["item-description"],
13664            className
13665          ),
13666          ...restProps
13667        }
13668      );
13669    });
13670  
13671    // packages/ui/build-module/form/primitives/select/item-label.mjs
13672    var import_element25 = __toESM(require_element(), 1);
13673    var import_jsx_runtime43 = __toESM(require_jsx_runtime(), 1);
13674    var STYLE_HASH_ATTRIBUTE16 = "data-wp-hash";
13675    function getRuntime16() {
13676      const globalScope = globalThis;
13677      if (globalScope.__wpStyleRuntime) {
13678        return globalScope.__wpStyleRuntime;
13679      }
13680      globalScope.__wpStyleRuntime = {
13681        documents: /* @__PURE__ */ new Map(),
13682        styles: /* @__PURE__ */ new Map(),
13683        injectedStyles: /* @__PURE__ */ new WeakMap()
13684      };
13685      if (typeof document !== "undefined") {
13686        registerDocument16(document);
13687      }
13688      return globalScope.__wpStyleRuntime;
13689    }
13690    function documentContainsStyleHash16(targetDocument, hash) {
13691      if (!targetDocument.head) {
13692        return false;
13693      }
13694      for (const style of targetDocument.head.querySelectorAll(
13695        `style[$STYLE_HASH_ATTRIBUTE16}]`
13696      )) {
13697        if (style.getAttribute(STYLE_HASH_ATTRIBUTE16) === hash) {
13698          return true;
13699        }
13700      }
13701      return false;
13702    }
13703    function injectStyle16(targetDocument, hash, css) {
13704      if (!targetDocument.head) {
13705        return;
13706      }
13707      const runtime = getRuntime16();
13708      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13709      if (!injectedStyles) {
13710        injectedStyles = /* @__PURE__ */ new Set();
13711        runtime.injectedStyles.set(targetDocument, injectedStyles);
13712      }
13713      if (injectedStyles.has(hash)) {
13714        return;
13715      }
13716      if (documentContainsStyleHash16(targetDocument, hash)) {
13717        injectedStyles.add(hash);
13718        return;
13719      }
13720      const style = targetDocument.createElement("style");
13721      style.setAttribute(STYLE_HASH_ATTRIBUTE16, hash);
13722      style.appendChild(targetDocument.createTextNode(css));
13723      targetDocument.head.appendChild(style);
13724      injectedStyles.add(hash);
13725    }
13726    function registerDocument16(targetDocument) {
13727      const runtime = getRuntime16();
13728      runtime.documents.set(
13729        targetDocument,
13730        (runtime.documents.get(targetDocument) ?? 0) + 1
13731      );
13732      for (const [hash, css] of runtime.styles) {
13733        injectStyle16(targetDocument, hash, css);
13734      }
13735      return () => {
13736        const count = runtime.documents.get(targetDocument);
13737        if (count === void 0) {
13738          return;
13739        }
13740        if (count <= 1) {
13741          runtime.documents.delete(targetDocument);
13742          return;
13743        }
13744        runtime.documents.set(targetDocument, count - 1);
13745      };
13746    }
13747    function registerStyle16(hash, css) {
13748      const runtime = getRuntime16();
13749      runtime.styles.set(hash, css);
13750      for (const targetDocument of runtime.documents.keys()) {
13751        injectStyle16(targetDocument, hash, css);
13752      }
13753    }
13754    if (typeof process === "undefined" || true) {
13755      registerStyle16("7ad1c0f17c", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._069972d5e326bada__dropdown-motion,._66136bf671f00b1f__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}}._069972d5e326bada__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{.db3b5361087077bf__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);&._55f74d412c3e00e8__is-width-anchor{width:var(--anchor-width)}&._90e0b62205351f85__is-width-content{width:auto}&._30ba87899c0b11ce__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&._402d4db0488da324__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._34ead52b2d60b21d__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._3fec17b6dc9029c3__is-width-available{width:var(--available-width)}}._89cf8b0bb3319c7e__is-align-item-with-trigger[data-side=none] .db3b5361087077bf__popup{max-height:none}._66636b371582ead4__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(.b6aeb640498fae5d__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))}}._325f1b7764907c29__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._597ea43c6bec63d8__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)}}._5865110cf5678449__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._597ea43c6bec63d8__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}._09c9c50e605390ff__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._6361da5eb54e618d__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))}._88cf016d20b4f2ef__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}}.c466e5465a76d4f6__item-layout{--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);&:has(>.b6aeb640498fae5d__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))}}.b9c803da5aae76d5__item{user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&._8931f3eb02e2e0ad__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]){._494b2a9f2e72b67f__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&:focus-visible{--_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:0}@media (forced-colors:active){color:GrayText}}}.b6aeb640498fae5d__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);justify-content:center;pointer-events:none;width:var(--wpds-dimension-size-2xs,16px)}._494b2a9f2e72b67f__item-indicator-icon{translate:0 1px}.b40c7d58965ce4a5__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._3c629930ceb193c7__item-text{display:flex;flex-direction:column;min-width:0}._5c4aad98ed7a8382__item-label{--_gcd-heading-color:currentColor;min-width:0}.deb952050541c0e4__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}.b9c803da5aae76d5__item[data-disabled] .deb952050541c0e4__item-description,.b9c803da5aae76d5__item[data-highlighted]:not([data-disabled]) .deb952050541c0e4__item-description{--_gcd-heading-color:currentColor;color:inherit}._5f8e4a2a04ecdade__loading-indicator{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-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}.c1bf7c14e9600f0a__status{grid-area:status;&:has(._5f8e4a2a04ecdade__loading-indicator){padding-block:var(--wp-ui-popup-padding)}}._0850de87108c9441__empty:not(:empty){grid-area:main}._0850de87108c9441__empty:not(:empty),.c1bf7c14e9600f0a__status:not(:empty):not(:has([data-visually-hidden],._5f8e4a2a04ecdade__loading-indicator)){--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)}}@layer compositions{.eaec70f7db4a63ef__loading-spinner{height:var(--wpds-dimension-size-3xs,12px);width:var(--wpds-dimension-size-3xs,12px)}}}');
13756    }
13757    var item_popup_default5 = { "popup": "db3b5361087077bf__popup _069972d5e326bada__dropdown-motion", "is-width-anchor": "_55f74d412c3e00e8__is-width-anchor", "is-width-content": "_90e0b62205351f85__is-width-content", "is-width-sm": "_30ba87899c0b11ce__is-width-sm", "is-width-md": "_402d4db0488da324__is-width-md", "is-width-lg": "_34ead52b2d60b21d__is-width-lg", "is-width-available": "_3fec17b6dc9029c3__is-width-available", "is-align-item-with-trigger": "_89cf8b0bb3319c7e__is-align-item-with-trigger", "list-chrome": "_66636b371582ead4__list-chrome", "item-icon": "b6aeb640498fae5d__item-icon", "list": "_325f1b7764907c29__list _66636b371582ead4__list-chrome", "list-scrollable-container": "_597ea43c6bec63d8__list-scrollable-container", "list-footer": "_5865110cf5678449__list-footer", "group": "_09c9c50e605390ff__group", "group-label": "_6361da5eb54e618d__group-label", "separator": "_88cf016d20b4f2ef__separator", "item-layout": "c466e5465a76d4f6__item-layout", "item": "b9c803da5aae76d5__item c466e5465a76d4f6__item-layout", "is-size-small": "_8931f3eb02e2e0ad__is-size-small", "item-indicator-icon": "_494b2a9f2e72b67f__item-indicator-icon", "item-content": "b40c7d58965ce4a5__item-content", "item-text": "_3c629930ceb193c7__item-text", "item-label": "_5c4aad98ed7a8382__item-label", "item-description": "deb952050541c0e4__item-description", "loading-indicator": "_5f8e4a2a04ecdade__loading-indicator c466e5465a76d4f6__item-layout", "status": "c1bf7c14e9600f0a__status", "empty": "_0850de87108c9441__empty", "loading-spinner": "eaec70f7db4a63ef__loading-spinner" };
13758    var ItemLabel = (0, import_element25.forwardRef)(
13759      function UnforwardedItemLabel({ children, className, render, ...restProps }, ref) {
13760        return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
13761          Text,
13762          {
13763            ref,
13764            variant: "body-md",
13765            render: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(index_parts_exports2.ItemText, { render }),
13766            className: clsx_default(item_popup_default5["item-label"], className),
13767            ...restProps,
13768            children
13769          }
13770        );
13771      }
13772    );
13773  
13774    // packages/ui/build-module/form/primitives/select/item.mjs
13775    var import_jsx_runtime44 = __toESM(require_jsx_runtime(), 1);
13776    var STYLE_HASH_ATTRIBUTE17 = "data-wp-hash";
13777    function getRuntime17() {
13778      const globalScope = globalThis;
13779      if (globalScope.__wpStyleRuntime) {
13780        return globalScope.__wpStyleRuntime;
13781      }
13782      globalScope.__wpStyleRuntime = {
13783        documents: /* @__PURE__ */ new Map(),
13784        styles: /* @__PURE__ */ new Map(),
13785        injectedStyles: /* @__PURE__ */ new WeakMap()
13786      };
13787      if (typeof document !== "undefined") {
13788        registerDocument17(document);
13789      }
13790      return globalScope.__wpStyleRuntime;
13791    }
13792    function documentContainsStyleHash17(targetDocument, hash) {
13793      if (!targetDocument.head) {
13794        return false;
13795      }
13796      for (const style of targetDocument.head.querySelectorAll(
13797        `style[$STYLE_HASH_ATTRIBUTE17}]`
13798      )) {
13799        if (style.getAttribute(STYLE_HASH_ATTRIBUTE17) === hash) {
13800          return true;
13801        }
13802      }
13803      return false;
13804    }
13805    function injectStyle17(targetDocument, hash, css) {
13806      if (!targetDocument.head) {
13807        return;
13808      }
13809      const runtime = getRuntime17();
13810      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13811      if (!injectedStyles) {
13812        injectedStyles = /* @__PURE__ */ new Set();
13813        runtime.injectedStyles.set(targetDocument, injectedStyles);
13814      }
13815      if (injectedStyles.has(hash)) {
13816        return;
13817      }
13818      if (documentContainsStyleHash17(targetDocument, hash)) {
13819        injectedStyles.add(hash);
13820        return;
13821      }
13822      const style = targetDocument.createElement("style");
13823      style.setAttribute(STYLE_HASH_ATTRIBUTE17, hash);
13824      style.appendChild(targetDocument.createTextNode(css));
13825      targetDocument.head.appendChild(style);
13826      injectedStyles.add(hash);
13827    }
13828    function registerDocument17(targetDocument) {
13829      const runtime = getRuntime17();
13830      runtime.documents.set(
13831        targetDocument,
13832        (runtime.documents.get(targetDocument) ?? 0) + 1
13833      );
13834      for (const [hash, css] of runtime.styles) {
13835        injectStyle17(targetDocument, hash, css);
13836      }
13837      return () => {
13838        const count = runtime.documents.get(targetDocument);
13839        if (count === void 0) {
13840          return;
13841        }
13842        if (count <= 1) {
13843          runtime.documents.delete(targetDocument);
13844          return;
13845        }
13846        runtime.documents.set(targetDocument, count - 1);
13847      };
13848    }
13849    function registerStyle17(hash, css) {
13850      const runtime = getRuntime17();
13851      runtime.styles.set(hash, css);
13852      for (const targetDocument of runtime.documents.keys()) {
13853        injectStyle17(targetDocument, hash, css);
13854      }
13855    }
13856    if (typeof process === "undefined" || true) {
13857      registerStyle17("726f348f3f", "._78c10a0773e51a91__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}._5b33aa2d48624b4f__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._980b3b4776ac8f81__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._43e478b4279a076c__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._698099e25b0fb1a6__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6)._326aee4184d261fd__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}.e9576240835601ba__a,.e9576240835601ba__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}._3f05789653864a73__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._3c72ff72abe57859__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._79d16267c15d9eb2__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
13858    }
13859    var global_css_defense_default4 = { "button": "_78c10a0773e51a91__button", "input": "_5b33aa2d48624b4f__input", "textarea": "_980b3b4776ac8f81__textarea", "div": "_43e478b4279a076c__div", "p": "_698099e25b0fb1a6__p", "heading": "_326aee4184d261fd__heading", "a": "e9576240835601ba__a", "ol": "_3f05789653864a73__ol", "li": "_3c72ff72abe57859__li", "span": "_79d16267c15d9eb2__span" };
13860    if (typeof process === "undefined" || true) {
13861      registerStyle17("7ad1c0f17c", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._069972d5e326bada__dropdown-motion,._66136bf671f00b1f__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}}._069972d5e326bada__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{.db3b5361087077bf__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);&._55f74d412c3e00e8__is-width-anchor{width:var(--anchor-width)}&._90e0b62205351f85__is-width-content{width:auto}&._30ba87899c0b11ce__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&._402d4db0488da324__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._34ead52b2d60b21d__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._3fec17b6dc9029c3__is-width-available{width:var(--available-width)}}._89cf8b0bb3319c7e__is-align-item-with-trigger[data-side=none] .db3b5361087077bf__popup{max-height:none}._66636b371582ead4__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(.b6aeb640498fae5d__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))}}._325f1b7764907c29__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._597ea43c6bec63d8__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)}}._5865110cf5678449__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._597ea43c6bec63d8__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}._09c9c50e605390ff__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._6361da5eb54e618d__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))}._88cf016d20b4f2ef__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}}.c466e5465a76d4f6__item-layout{--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);&:has(>.b6aeb640498fae5d__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))}}.b9c803da5aae76d5__item{user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&._8931f3eb02e2e0ad__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]){._494b2a9f2e72b67f__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&:focus-visible{--_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:0}@media (forced-colors:active){color:GrayText}}}.b6aeb640498fae5d__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);justify-content:center;pointer-events:none;width:var(--wpds-dimension-size-2xs,16px)}._494b2a9f2e72b67f__item-indicator-icon{translate:0 1px}.b40c7d58965ce4a5__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._3c629930ceb193c7__item-text{display:flex;flex-direction:column;min-width:0}._5c4aad98ed7a8382__item-label{--_gcd-heading-color:currentColor;min-width:0}.deb952050541c0e4__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}.b9c803da5aae76d5__item[data-disabled] .deb952050541c0e4__item-description,.b9c803da5aae76d5__item[data-highlighted]:not([data-disabled]) .deb952050541c0e4__item-description{--_gcd-heading-color:currentColor;color:inherit}._5f8e4a2a04ecdade__loading-indicator{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-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}.c1bf7c14e9600f0a__status{grid-area:status;&:has(._5f8e4a2a04ecdade__loading-indicator){padding-block:var(--wp-ui-popup-padding)}}._0850de87108c9441__empty:not(:empty){grid-area:main}._0850de87108c9441__empty:not(:empty),.c1bf7c14e9600f0a__status:not(:empty):not(:has([data-visually-hidden],._5f8e4a2a04ecdade__loading-indicator)){--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)}}@layer compositions{.eaec70f7db4a63ef__loading-spinner{height:var(--wpds-dimension-size-3xs,12px);width:var(--wpds-dimension-size-3xs,12px)}}}');
13862    }
13863    var item_popup_default6 = { "popup": "db3b5361087077bf__popup _069972d5e326bada__dropdown-motion", "is-width-anchor": "_55f74d412c3e00e8__is-width-anchor", "is-width-content": "_90e0b62205351f85__is-width-content", "is-width-sm": "_30ba87899c0b11ce__is-width-sm", "is-width-md": "_402d4db0488da324__is-width-md", "is-width-lg": "_34ead52b2d60b21d__is-width-lg", "is-width-available": "_3fec17b6dc9029c3__is-width-available", "is-align-item-with-trigger": "_89cf8b0bb3319c7e__is-align-item-with-trigger", "list-chrome": "_66636b371582ead4__list-chrome", "item-icon": "b6aeb640498fae5d__item-icon", "list": "_325f1b7764907c29__list _66636b371582ead4__list-chrome", "list-scrollable-container": "_597ea43c6bec63d8__list-scrollable-container", "list-footer": "_5865110cf5678449__list-footer", "group": "_09c9c50e605390ff__group", "group-label": "_6361da5eb54e618d__group-label", "separator": "_88cf016d20b4f2ef__separator", "item-layout": "c466e5465a76d4f6__item-layout", "item": "b9c803da5aae76d5__item c466e5465a76d4f6__item-layout", "is-size-small": "_8931f3eb02e2e0ad__is-size-small", "item-indicator-icon": "_494b2a9f2e72b67f__item-indicator-icon", "item-content": "b40c7d58965ce4a5__item-content", "item-text": "_3c629930ceb193c7__item-text", "item-label": "_5c4aad98ed7a8382__item-label", "item-description": "deb952050541c0e4__item-description", "loading-indicator": "_5f8e4a2a04ecdade__loading-indicator c466e5465a76d4f6__item-layout", "status": "c1bf7c14e9600f0a__status", "empty": "_0850de87108c9441__empty", "loading-spinner": "eaec70f7db4a63ef__loading-spinner" };
13864    if (typeof process === "undefined" || true) {
13865      registerStyle17("37477070fb", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.ccc29f9575c4c758__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
13866    }
13867    var resets_default3 = { "box-sizing": "ccc29f9575c4c758__box-sizing" };
13868    var ITEM_CONTENT_COMPONENTS = {
13869      Label: ItemLabel,
13870      Description: ItemDescription,
13871      descriptionValidationToken: ITEM_DESCRIPTION_DIRECT_CHILD,
13872      validationMessage: "Select.ItemLabel must be the first direct child of every select item, followed only by Select.ItemDescription components."
13873    };
13874    var Item2 = (0, import_element26.forwardRef)(
13875      function UnforwardedItem2({
13876        className,
13877        value,
13878        size: size4 = "default",
13879        children,
13880        "aria-describedby": ariaDescribedBy,
13881        "aria-label": ariaLabel,
13882        "aria-labelledby": ariaLabelledBy,
13883        ...restProps
13884      }, ref) {
13885        const { contentChildren, itemAriaProps } = useItemContent(
13886          children,
13887          ITEM_CONTENT_COMPONENTS,
13888          {
13889            "aria-describedby": ariaDescribedBy,
13890            "aria-label": ariaLabel,
13891            "aria-labelledby": ariaLabelledBy
13892          }
13893        );
13894        return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
13895          index_parts_exports2.Item,
13896          {
13897            className: clsx_default(
13898              global_css_defense_default4.div,
13899              resets_default3["box-sizing"],
13900              item_popup_default6.item,
13901              size4 === "small" && item_popup_default6["is-size-small"],
13902              className
13903            ),
13904            value,
13905            ref,
13906            ...itemAriaProps,
13907            ...restProps,
13908            children: [
13909              /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: item_popup_default6["item-icon"], children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
13910                Icon,
13911                {
13912                  icon: check_default,
13913                  className: item_popup_default6["item-indicator-icon"],
13914                  size: 16
13915                }
13916              ) }),
13917              /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: item_popup_default6["item-text"], children: contentChildren })
13918            ]
13919          }
13920        );
13921      }
13922    );
13923  
13924    // packages/ui/build-module/form/primitives/select/popup.mjs
13925    var import_element29 = __toESM(require_element(), 1);
13926  
13927    // packages/ui/build-module/form/primitives/select/portal.mjs
13928    var import_element27 = __toESM(require_element(), 1);
13929    var import_jsx_runtime45 = __toESM(require_jsx_runtime(), 1);
13930    var Portal = (0, import_element27.forwardRef)(function SelectPortal3({ container, ...restProps }, ref) {
13931      return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
13932        index_parts_exports2.Portal,
13933        {
13934          container: container === void 0 ? getWpCompatOverlaySlot() : container,
13935          ...restProps,
13936          ref
13937        }
13938      );
13939    });
13940  
13941    // packages/ui/build-module/form/primitives/select/positioner.mjs
13942    var import_element28 = __toESM(require_element(), 1);
13943    var import_jsx_runtime46 = __toESM(require_jsx_runtime(), 1);
13944    var STYLE_HASH_ATTRIBUTE18 = "data-wp-hash";
13945    function getRuntime18() {
13946      const globalScope = globalThis;
13947      if (globalScope.__wpStyleRuntime) {
13948        return globalScope.__wpStyleRuntime;
13949      }
13950      globalScope.__wpStyleRuntime = {
13951        documents: /* @__PURE__ */ new Map(),
13952        styles: /* @__PURE__ */ new Map(),
13953        injectedStyles: /* @__PURE__ */ new WeakMap()
13954      };
13955      if (typeof document !== "undefined") {
13956        registerDocument18(document);
13957      }
13958      return globalScope.__wpStyleRuntime;
13959    }
13960    function documentContainsStyleHash18(targetDocument, hash) {
13961      if (!targetDocument.head) {
13962        return false;
13963      }
13964      for (const style of targetDocument.head.querySelectorAll(
13965        `style[$STYLE_HASH_ATTRIBUTE18}]`
13966      )) {
13967        if (style.getAttribute(STYLE_HASH_ATTRIBUTE18) === hash) {
13968          return true;
13969        }
13970      }
13971      return false;
13972    }
13973    function injectStyle18(targetDocument, hash, css) {
13974      if (!targetDocument.head) {
13975        return;
13976      }
13977      const runtime = getRuntime18();
13978      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13979      if (!injectedStyles) {
13980        injectedStyles = /* @__PURE__ */ new Set();
13981        runtime.injectedStyles.set(targetDocument, injectedStyles);
13982      }
13983      if (injectedStyles.has(hash)) {
13984        return;
13985      }
13986      if (documentContainsStyleHash18(targetDocument, hash)) {
13987        injectedStyles.add(hash);
13988        return;
13989      }
13990      const style = targetDocument.createElement("style");
13991      style.setAttribute(STYLE_HASH_ATTRIBUTE18, hash);
13992      style.appendChild(targetDocument.createTextNode(css));
13993      targetDocument.head.appendChild(style);
13994      injectedStyles.add(hash);
13995    }
13996    function registerDocument18(targetDocument) {
13997      const runtime = getRuntime18();
13998      runtime.documents.set(
13999        targetDocument,
14000        (runtime.documents.get(targetDocument) ?? 0) + 1
14001      );
14002      for (const [hash, css] of runtime.styles) {
14003        injectStyle18(targetDocument, hash, css);
14004      }
14005      return () => {
14006        const count = runtime.documents.get(targetDocument);
14007        if (count === void 0) {
14008          return;
14009        }
14010        if (count <= 1) {
14011          runtime.documents.delete(targetDocument);
14012          return;
14013        }
14014        runtime.documents.set(targetDocument, count - 1);
14015      };
14016    }
14017    function registerStyle18(hash, css) {
14018      const runtime = getRuntime18();
14019      runtime.styles.set(hash, css);
14020      for (const targetDocument of runtime.documents.keys()) {
14021        injectStyle18(targetDocument, hash, css);
14022      }
14023    }
14024    if (typeof process === "undefined" || true) {
14025      registerStyle18("37477070fb", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.ccc29f9575c4c758__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
14026    }
14027    var resets_default4 = { "box-sizing": "ccc29f9575c4c758__box-sizing" };
14028    if (typeof process === "undefined" || true) {
14029      registerStyle18("7ad1c0f17c", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._069972d5e326bada__dropdown-motion,._66136bf671f00b1f__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}}._069972d5e326bada__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{.db3b5361087077bf__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);&._55f74d412c3e00e8__is-width-anchor{width:var(--anchor-width)}&._90e0b62205351f85__is-width-content{width:auto}&._30ba87899c0b11ce__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&._402d4db0488da324__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._34ead52b2d60b21d__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._3fec17b6dc9029c3__is-width-available{width:var(--available-width)}}._89cf8b0bb3319c7e__is-align-item-with-trigger[data-side=none] .db3b5361087077bf__popup{max-height:none}._66636b371582ead4__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(.b6aeb640498fae5d__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))}}._325f1b7764907c29__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._597ea43c6bec63d8__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)}}._5865110cf5678449__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._597ea43c6bec63d8__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}._09c9c50e605390ff__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._6361da5eb54e618d__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))}._88cf016d20b4f2ef__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}}.c466e5465a76d4f6__item-layout{--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);&:has(>.b6aeb640498fae5d__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))}}.b9c803da5aae76d5__item{user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&._8931f3eb02e2e0ad__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]){._494b2a9f2e72b67f__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&:focus-visible{--_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:0}@media (forced-colors:active){color:GrayText}}}.b6aeb640498fae5d__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);justify-content:center;pointer-events:none;width:var(--wpds-dimension-size-2xs,16px)}._494b2a9f2e72b67f__item-indicator-icon{translate:0 1px}.b40c7d58965ce4a5__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._3c629930ceb193c7__item-text{display:flex;flex-direction:column;min-width:0}._5c4aad98ed7a8382__item-label{--_gcd-heading-color:currentColor;min-width:0}.deb952050541c0e4__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}.b9c803da5aae76d5__item[data-disabled] .deb952050541c0e4__item-description,.b9c803da5aae76d5__item[data-highlighted]:not([data-disabled]) .deb952050541c0e4__item-description{--_gcd-heading-color:currentColor;color:inherit}._5f8e4a2a04ecdade__loading-indicator{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-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}.c1bf7c14e9600f0a__status{grid-area:status;&:has(._5f8e4a2a04ecdade__loading-indicator){padding-block:var(--wp-ui-popup-padding)}}._0850de87108c9441__empty:not(:empty){grid-area:main}._0850de87108c9441__empty:not(:empty),.c1bf7c14e9600f0a__status:not(:empty):not(:has([data-visually-hidden],._5f8e4a2a04ecdade__loading-indicator)){--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)}}@layer compositions{.eaec70f7db4a63ef__loading-spinner{height:var(--wpds-dimension-size-3xs,12px);width:var(--wpds-dimension-size-3xs,12px)}}}');
14030    }
14031    var item_popup_default7 = { "popup": "db3b5361087077bf__popup _069972d5e326bada__dropdown-motion", "is-width-anchor": "_55f74d412c3e00e8__is-width-anchor", "is-width-content": "_90e0b62205351f85__is-width-content", "is-width-sm": "_30ba87899c0b11ce__is-width-sm", "is-width-md": "_402d4db0488da324__is-width-md", "is-width-lg": "_34ead52b2d60b21d__is-width-lg", "is-width-available": "_3fec17b6dc9029c3__is-width-available", "is-align-item-with-trigger": "_89cf8b0bb3319c7e__is-align-item-with-trigger", "list-chrome": "_66636b371582ead4__list-chrome", "item-icon": "b6aeb640498fae5d__item-icon", "list": "_325f1b7764907c29__list _66636b371582ead4__list-chrome", "list-scrollable-container": "_597ea43c6bec63d8__list-scrollable-container", "list-footer": "_5865110cf5678449__list-footer", "group": "_09c9c50e605390ff__group", "group-label": "_6361da5eb54e618d__group-label", "separator": "_88cf016d20b4f2ef__separator", "item-layout": "c466e5465a76d4f6__item-layout", "item": "b9c803da5aae76d5__item c466e5465a76d4f6__item-layout", "is-size-small": "_8931f3eb02e2e0ad__is-size-small", "item-indicator-icon": "_494b2a9f2e72b67f__item-indicator-icon", "item-content": "b40c7d58965ce4a5__item-content", "item-text": "_3c629930ceb193c7__item-text", "item-label": "_5c4aad98ed7a8382__item-label", "item-description": "deb952050541c0e4__item-description", "loading-indicator": "_5f8e4a2a04ecdade__loading-indicator c466e5465a76d4f6__item-layout", "status": "c1bf7c14e9600f0a__status", "empty": "_0850de87108c9441__empty", "loading-spinner": "eaec70f7db4a63ef__loading-spinner" };
14032    if (typeof process === "undefined" || true) {
14033      registerStyle18("656946f66b", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.cc0f09fba19eb669__positioner{z-index:var(--wp-ui-select-z-index,initial)}._3a3c25e09f4fd1ec__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)}}}}");
14034    }
14035    var style_default6 = { "positioner": "cc0f09fba19eb669__positioner", "list": "_3a3c25e09f4fd1ec__list" };
14036    var Positioner = (0, import_element28.forwardRef)(
14037      function SelectPositioner3({ className, alignItemWithTrigger = true, ...props }, ref) {
14038        return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
14039          index_parts_exports2.Positioner,
14040          {
14041            ...ITEM_POPUP_POSITIONER_PROPS,
14042            ...props,
14043            alignItemWithTrigger,
14044            ref,
14045            className: clsx_default(
14046              resets_default4["box-sizing"],
14047              style_default6.positioner,
14048              alignItemWithTrigger && item_popup_default7["is-align-item-with-trigger"],
14049              className
14050            )
14051          }
14052        );
14053      }
14054    );
14055  
14056    // packages/ui/build-module/form/primitives/select/popup.mjs
14057    var import_jsx_runtime47 = __toESM(require_jsx_runtime(), 1);
14058    var STYLE_HASH_ATTRIBUTE19 = "data-wp-hash";
14059    function getRuntime19() {
14060      const globalScope = globalThis;
14061      if (globalScope.__wpStyleRuntime) {
14062        return globalScope.__wpStyleRuntime;
14063      }
14064      globalScope.__wpStyleRuntime = {
14065        documents: /* @__PURE__ */ new Map(),
14066        styles: /* @__PURE__ */ new Map(),
14067        injectedStyles: /* @__PURE__ */ new WeakMap()
14068      };
14069      if (typeof document !== "undefined") {
14070        registerDocument19(document);
14071      }
14072      return globalScope.__wpStyleRuntime;
14073    }
14074    function documentContainsStyleHash19(targetDocument, hash) {
14075      if (!targetDocument.head) {
14076        return false;
14077      }
14078      for (const style of targetDocument.head.querySelectorAll(
14079        `style[$STYLE_HASH_ATTRIBUTE19}]`
14080      )) {
14081        if (style.getAttribute(STYLE_HASH_ATTRIBUTE19) === hash) {
14082          return true;
14083        }
14084      }
14085      return false;
14086    }
14087    function injectStyle19(targetDocument, hash, css) {
14088      if (!targetDocument.head) {
14089        return;
14090      }
14091      const runtime = getRuntime19();
14092      let injectedStyles = runtime.injectedStyles.get(targetDocument);
14093      if (!injectedStyles) {
14094        injectedStyles = /* @__PURE__ */ new Set();
14095        runtime.injectedStyles.set(targetDocument, injectedStyles);
14096      }
14097      if (injectedStyles.has(hash)) {
14098        return;
14099      }
14100      if (documentContainsStyleHash19(targetDocument, hash)) {
14101        injectedStyles.add(hash);
14102        return;
14103      }
14104      const style = targetDocument.createElement("style");
14105      style.setAttribute(STYLE_HASH_ATTRIBUTE19, hash);
14106      style.appendChild(targetDocument.createTextNode(css));
14107      targetDocument.head.appendChild(style);
14108      injectedStyles.add(hash);
14109    }
14110    function registerDocument19(targetDocument) {
14111      const runtime = getRuntime19();
14112      runtime.documents.set(
14113        targetDocument,
14114        (runtime.documents.get(targetDocument) ?? 0) + 1
14115      );
14116      for (const [hash, css] of runtime.styles) {
14117        injectStyle19(targetDocument, hash, css);
14118      }
14119      return () => {
14120        const count = runtime.documents.get(targetDocument);
14121        if (count === void 0) {
14122          return;
14123        }
14124        if (count <= 1) {
14125          runtime.documents.delete(targetDocument);
14126          return;
14127        }
14128        runtime.documents.set(targetDocument, count - 1);
14129      };
14130    }
14131    function registerStyle19(hash, css) {
14132      const runtime = getRuntime19();
14133      runtime.styles.set(hash, css);
14134      for (const targetDocument of runtime.documents.keys()) {
14135        injectStyle19(targetDocument, hash, css);
14136      }
14137    }
14138    if (typeof process === "undefined" || true) {
14139      registerStyle19("7ad1c0f17c", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._069972d5e326bada__dropdown-motion,._66136bf671f00b1f__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}}._069972d5e326bada__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{.db3b5361087077bf__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);&._55f74d412c3e00e8__is-width-anchor{width:var(--anchor-width)}&._90e0b62205351f85__is-width-content{width:auto}&._30ba87899c0b11ce__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&._402d4db0488da324__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._34ead52b2d60b21d__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._3fec17b6dc9029c3__is-width-available{width:var(--available-width)}}._89cf8b0bb3319c7e__is-align-item-with-trigger[data-side=none] .db3b5361087077bf__popup{max-height:none}._66636b371582ead4__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(.b6aeb640498fae5d__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))}}._325f1b7764907c29__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._597ea43c6bec63d8__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)}}._5865110cf5678449__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._597ea43c6bec63d8__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}._09c9c50e605390ff__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._6361da5eb54e618d__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))}._88cf016d20b4f2ef__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}}.c466e5465a76d4f6__item-layout{--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);&:has(>.b6aeb640498fae5d__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))}}.b9c803da5aae76d5__item{user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&._8931f3eb02e2e0ad__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]){._494b2a9f2e72b67f__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&:focus-visible{--_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:0}@media (forced-colors:active){color:GrayText}}}.b6aeb640498fae5d__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);justify-content:center;pointer-events:none;width:var(--wpds-dimension-size-2xs,16px)}._494b2a9f2e72b67f__item-indicator-icon{translate:0 1px}.b40c7d58965ce4a5__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._3c629930ceb193c7__item-text{display:flex;flex-direction:column;min-width:0}._5c4aad98ed7a8382__item-label{--_gcd-heading-color:currentColor;min-width:0}.deb952050541c0e4__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}.b9c803da5aae76d5__item[data-disabled] .deb952050541c0e4__item-description,.b9c803da5aae76d5__item[data-highlighted]:not([data-disabled]) .deb952050541c0e4__item-description{--_gcd-heading-color:currentColor;color:inherit}._5f8e4a2a04ecdade__loading-indicator{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-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}.c1bf7c14e9600f0a__status{grid-area:status;&:has(._5f8e4a2a04ecdade__loading-indicator){padding-block:var(--wp-ui-popup-padding)}}._0850de87108c9441__empty:not(:empty){grid-area:main}._0850de87108c9441__empty:not(:empty),.c1bf7c14e9600f0a__status:not(:empty):not(:has([data-visually-hidden],._5f8e4a2a04ecdade__loading-indicator)){--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)}}@layer compositions{.eaec70f7db4a63ef__loading-spinner{height:var(--wpds-dimension-size-3xs,12px);width:var(--wpds-dimension-size-3xs,12px)}}}');
14140    }
14141    var item_popup_default8 = { "popup": "db3b5361087077bf__popup _069972d5e326bada__dropdown-motion", "is-width-anchor": "_55f74d412c3e00e8__is-width-anchor", "is-width-content": "_90e0b62205351f85__is-width-content", "is-width-sm": "_30ba87899c0b11ce__is-width-sm", "is-width-md": "_402d4db0488da324__is-width-md", "is-width-lg": "_34ead52b2d60b21d__is-width-lg", "is-width-available": "_3fec17b6dc9029c3__is-width-available", "is-align-item-with-trigger": "_89cf8b0bb3319c7e__is-align-item-with-trigger", "list-chrome": "_66636b371582ead4__list-chrome", "item-icon": "b6aeb640498fae5d__item-icon", "list": "_325f1b7764907c29__list _66636b371582ead4__list-chrome", "list-scrollable-container": "_597ea43c6bec63d8__list-scrollable-container", "list-footer": "_5865110cf5678449__list-footer", "group": "_09c9c50e605390ff__group", "group-label": "_6361da5eb54e618d__group-label", "separator": "_88cf016d20b4f2ef__separator", "item-layout": "c466e5465a76d4f6__item-layout", "item": "b9c803da5aae76d5__item c466e5465a76d4f6__item-layout", "is-size-small": "_8931f3eb02e2e0ad__is-size-small", "item-indicator-icon": "_494b2a9f2e72b67f__item-indicator-icon", "item-content": "b40c7d58965ce4a5__item-content", "item-text": "_3c629930ceb193c7__item-text", "item-label": "_5c4aad98ed7a8382__item-label", "item-description": "deb952050541c0e4__item-description", "loading-indicator": "_5f8e4a2a04ecdade__loading-indicator c466e5465a76d4f6__item-layout", "status": "c1bf7c14e9600f0a__status", "empty": "_0850de87108c9441__empty", "loading-spinner": "eaec70f7db4a63ef__loading-spinner" };
14142    if (typeof process === "undefined" || true) {
14143      registerStyle19("656946f66b", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.cc0f09fba19eb669__positioner{z-index:var(--wp-ui-select-z-index,initial)}._3a3c25e09f4fd1ec__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)}}}}");
14144    }
14145    var style_default7 = { "positioner": "cc0f09fba19eb669__positioner", "list": "_3a3c25e09f4fd1ec__list" };
14146    var Popup = (0, import_element29.forwardRef)(
14147      function UnforwardedPopup({ className, portal, positioner, width, children, ...restProps }, ref) {
14148        const popupContent = /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
14149          index_parts_exports2.Popup,
14150          {
14151            ref,
14152            className: clsx_default(
14153              item_popup_default8.popup,
14154              getItemPopupWidthClassName(width),
14155              className
14156            ),
14157            ...restProps,
14158            children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
14159              index_parts_exports2.List,
14160              {
14161                className: clsx_default(
14162                  item_popup_default8["list-chrome"],
14163                  style_default7.list
14164                ),
14165                children
14166              }
14167            )
14168          }
14169        );
14170        const positionedPopup = renderSlotWithChildren(
14171          positioner,
14172          /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Positioner, {}),
14173          popupContent
14174        );
14175        return renderSlotWithChildren(portal, /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Portal, {}), positionedPopup);
14176      }
14177    );
14178  
14179    // packages/ui/build-module/form/primitives/select/root.mjs
14180    var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1);
14181    function Root2(props) {
14182      return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DirectionProvider3, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(index_parts_exports2.Root, { ...props }) });
14183    }
14184  
14185    // packages/ui/build-module/form/primitives/select/separator.mjs
14186    var import_element30 = __toESM(require_element(), 1);
14187    var import_jsx_runtime49 = __toESM(require_jsx_runtime(), 1);
14188    var STYLE_HASH_ATTRIBUTE20 = "data-wp-hash";
14189    function getRuntime20() {
14190      const globalScope = globalThis;
14191      if (globalScope.__wpStyleRuntime) {
14192        return globalScope.__wpStyleRuntime;
14193      }
14194      globalScope.__wpStyleRuntime = {
14195        documents: /* @__PURE__ */ new Map(),
14196        styles: /* @__PURE__ */ new Map(),
14197        injectedStyles: /* @__PURE__ */ new WeakMap()
14198      };
14199      if (typeof document !== "undefined") {
14200        registerDocument20(document);
14201      }
14202      return globalScope.__wpStyleRuntime;
14203    }
14204    function documentContainsStyleHash20(targetDocument, hash) {
14205      if (!targetDocument.head) {
14206        return false;
14207      }
14208      for (const style of targetDocument.head.querySelectorAll(
14209        `style[$STYLE_HASH_ATTRIBUTE20}]`
14210      )) {
14211        if (style.getAttribute(STYLE_HASH_ATTRIBUTE20) === hash) {
14212          return true;
14213        }
14214      }
14215      return false;
14216    }
14217    function injectStyle20(targetDocument, hash, css) {
14218      if (!targetDocument.head) {
14219        return;
14220      }
14221      const runtime = getRuntime20();
14222      let injectedStyles = runtime.injectedStyles.get(targetDocument);
14223      if (!injectedStyles) {
14224        injectedStyles = /* @__PURE__ */ new Set();
14225        runtime.injectedStyles.set(targetDocument, injectedStyles);
14226      }
14227      if (injectedStyles.has(hash)) {
14228        return;
14229      }
14230      if (documentContainsStyleHash20(targetDocument, hash)) {
14231        injectedStyles.add(hash);
14232        return;
14233      }
14234      const style = targetDocument.createElement("style");
14235      style.setAttribute(STYLE_HASH_ATTRIBUTE20, hash);
14236      style.appendChild(targetDocument.createTextNode(css));
14237      targetDocument.head.appendChild(style);
14238      injectedStyles.add(hash);
14239    }
14240    function registerDocument20(targetDocument) {
14241      const runtime = getRuntime20();
14242      runtime.documents.set(
14243        targetDocument,
14244        (runtime.documents.get(targetDocument) ?? 0) + 1
14245      );
14246      for (const [hash, css] of runtime.styles) {
14247        injectStyle20(targetDocument, hash, css);
14248      }
14249      return () => {
14250        const count = runtime.documents.get(targetDocument);
14251        if (count === void 0) {
14252          return;
14253        }
14254        if (count <= 1) {
14255          runtime.documents.delete(targetDocument);
14256          return;
14257        }
14258        runtime.documents.set(targetDocument, count - 1);
14259      };
14260    }
14261    function registerStyle20(hash, css) {
14262      const runtime = getRuntime20();
14263      runtime.styles.set(hash, css);
14264      for (const targetDocument of runtime.documents.keys()) {
14265        injectStyle20(targetDocument, hash, css);
14266      }
14267    }
14268    if (typeof process === "undefined" || true) {
14269      registerStyle20("7ad1c0f17c", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._069972d5e326bada__dropdown-motion,._66136bf671f00b1f__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}}._069972d5e326bada__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{.db3b5361087077bf__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);&._55f74d412c3e00e8__is-width-anchor{width:var(--anchor-width)}&._90e0b62205351f85__is-width-content{width:auto}&._30ba87899c0b11ce__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&._402d4db0488da324__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._34ead52b2d60b21d__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._3fec17b6dc9029c3__is-width-available{width:var(--available-width)}}._89cf8b0bb3319c7e__is-align-item-with-trigger[data-side=none] .db3b5361087077bf__popup{max-height:none}._66636b371582ead4__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(.b6aeb640498fae5d__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))}}._325f1b7764907c29__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._597ea43c6bec63d8__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)}}._5865110cf5678449__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._597ea43c6bec63d8__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}._09c9c50e605390ff__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._6361da5eb54e618d__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))}._88cf016d20b4f2ef__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}}.c466e5465a76d4f6__item-layout{--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);&:has(>.b6aeb640498fae5d__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))}}.b9c803da5aae76d5__item{user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&._8931f3eb02e2e0ad__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]){._494b2a9f2e72b67f__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&:focus-visible{--_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:0}@media (forced-colors:active){color:GrayText}}}.b6aeb640498fae5d__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);justify-content:center;pointer-events:none;width:var(--wpds-dimension-size-2xs,16px)}._494b2a9f2e72b67f__item-indicator-icon{translate:0 1px}.b40c7d58965ce4a5__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._3c629930ceb193c7__item-text{display:flex;flex-direction:column;min-width:0}._5c4aad98ed7a8382__item-label{--_gcd-heading-color:currentColor;min-width:0}.deb952050541c0e4__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}.b9c803da5aae76d5__item[data-disabled] .deb952050541c0e4__item-description,.b9c803da5aae76d5__item[data-highlighted]:not([data-disabled]) .deb952050541c0e4__item-description{--_gcd-heading-color:currentColor;color:inherit}._5f8e4a2a04ecdade__loading-indicator{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-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}.c1bf7c14e9600f0a__status{grid-area:status;&:has(._5f8e4a2a04ecdade__loading-indicator){padding-block:var(--wp-ui-popup-padding)}}._0850de87108c9441__empty:not(:empty){grid-area:main}._0850de87108c9441__empty:not(:empty),.c1bf7c14e9600f0a__status:not(:empty):not(:has([data-visually-hidden],._5f8e4a2a04ecdade__loading-indicator)){--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)}}@layer compositions{.eaec70f7db4a63ef__loading-spinner{height:var(--wpds-dimension-size-3xs,12px);width:var(--wpds-dimension-size-3xs,12px)}}}');
14270    }
14271    var item_popup_default9 = { "popup": "db3b5361087077bf__popup _069972d5e326bada__dropdown-motion", "is-width-anchor": "_55f74d412c3e00e8__is-width-anchor", "is-width-content": "_90e0b62205351f85__is-width-content", "is-width-sm": "_30ba87899c0b11ce__is-width-sm", "is-width-md": "_402d4db0488da324__is-width-md", "is-width-lg": "_34ead52b2d60b21d__is-width-lg", "is-width-available": "_3fec17b6dc9029c3__is-width-available", "is-align-item-with-trigger": "_89cf8b0bb3319c7e__is-align-item-with-trigger", "list-chrome": "_66636b371582ead4__list-chrome", "item-icon": "b6aeb640498fae5d__item-icon", "list": "_325f1b7764907c29__list _66636b371582ead4__list-chrome", "list-scrollable-container": "_597ea43c6bec63d8__list-scrollable-container", "list-footer": "_5865110cf5678449__list-footer", "group": "_09c9c50e605390ff__group", "group-label": "_6361da5eb54e618d__group-label", "separator": "_88cf016d20b4f2ef__separator", "item-layout": "c466e5465a76d4f6__item-layout", "item": "b9c803da5aae76d5__item c466e5465a76d4f6__item-layout", "is-size-small": "_8931f3eb02e2e0ad__is-size-small", "item-indicator-icon": "_494b2a9f2e72b67f__item-indicator-icon", "item-content": "b40c7d58965ce4a5__item-content", "item-text": "_3c629930ceb193c7__item-text", "item-label": "_5c4aad98ed7a8382__item-label", "item-description": "deb952050541c0e4__item-description", "loading-indicator": "_5f8e4a2a04ecdade__loading-indicator c466e5465a76d4f6__item-layout", "status": "c1bf7c14e9600f0a__status", "empty": "_0850de87108c9441__empty", "loading-spinner": "eaec70f7db4a63ef__loading-spinner" };
14272    var Separator = (0, import_element30.forwardRef)(
14273      function SelectSeparator2({
14274        className,
14275        orientation: _orientation,
14276        ...props
14277      }, ref) {
14278        return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
14279          index_parts_exports2.Separator,
14280          {
14281            ref,
14282            className: clsx_default(item_popup_default9.separator, className),
14283            ...props
14284          }
14285        );
14286      }
14287    );
14288  
14289    // packages/ui/build-module/form/primitives/select/trigger.mjs
14290    var import_element31 = __toESM(require_element(), 1);
14291    var import_i18n3 = __toESM(require_i18n(), 1);
14292    var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1);
14293    var STYLE_HASH_ATTRIBUTE21 = "data-wp-hash";
14294    function getRuntime21() {
14295      const globalScope = globalThis;
14296      if (globalScope.__wpStyleRuntime) {
14297        return globalScope.__wpStyleRuntime;
14298      }
14299      globalScope.__wpStyleRuntime = {
14300        documents: /* @__PURE__ */ new Map(),
14301        styles: /* @__PURE__ */ new Map(),
14302        injectedStyles: /* @__PURE__ */ new WeakMap()
14303      };
14304      if (typeof document !== "undefined") {
14305        registerDocument21(document);
14306      }
14307      return globalScope.__wpStyleRuntime;
14308    }
14309    function documentContainsStyleHash21(targetDocument, hash) {
14310      if (!targetDocument.head) {
14311        return false;
14312      }
14313      for (const style of targetDocument.head.querySelectorAll(
14314        `style[$STYLE_HASH_ATTRIBUTE21}]`
14315      )) {
14316        if (style.getAttribute(STYLE_HASH_ATTRIBUTE21) === hash) {
14317          return true;
14318        }
14319      }
14320      return false;
14321    }
14322    function injectStyle21(targetDocument, hash, css) {
14323      if (!targetDocument.head) {
14324        return;
14325      }
14326      const runtime = getRuntime21();
14327      let injectedStyles = runtime.injectedStyles.get(targetDocument);
14328      if (!injectedStyles) {
14329        injectedStyles = /* @__PURE__ */ new Set();
14330        runtime.injectedStyles.set(targetDocument, injectedStyles);
14331      }
14332      if (injectedStyles.has(hash)) {
14333        return;
14334      }
14335      if (documentContainsStyleHash21(targetDocument, hash)) {
14336        injectedStyles.add(hash);
14337        return;
14338      }
14339      const style = targetDocument.createElement("style");
14340      style.setAttribute(STYLE_HASH_ATTRIBUTE21, hash);
14341      style.appendChild(targetDocument.createTextNode(css));
14342      targetDocument.head.appendChild(style);
14343      injectedStyles.add(hash);
14344    }
14345    function registerDocument21(targetDocument) {
14346      const runtime = getRuntime21();
14347      runtime.documents.set(
14348        targetDocument,
14349        (runtime.documents.get(targetDocument) ?? 0) + 1
14350      );
14351      for (const [hash, css] of runtime.styles) {
14352        injectStyle21(targetDocument, hash, css);
14353      }
14354      return () => {
14355        const count = runtime.documents.get(targetDocument);
14356        if (count === void 0) {
14357          return;
14358        }
14359        if (count <= 1) {
14360          runtime.documents.delete(targetDocument);
14361          return;
14362        }
14363        runtime.documents.set(targetDocument, count - 1);
14364      };
14365    }
14366    function registerStyle21(hash, css) {
14367      const runtime = getRuntime21();
14368      runtime.styles.set(hash, css);
14369      for (const targetDocument of runtime.documents.keys()) {
14370        injectStyle21(targetDocument, hash, css);
14371      }
14372    }
14373    if (typeof process === "undefined" || true) {
14374      registerStyle21("c13e206e92", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._0f52be5f1d4ce686__outset-ring--focus-within:focus-within,._8f922cee854f2408__outset-ring--focus-visible:focus-visible,.accedd6ae8fd878e__outset-ring--focus:focus{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}._3ad2c88c126f2bdd__outset-ring--focus-within-except-active:focus-within,.c20f61b115485a7f__outset-ring--focus-except-active:focus{outline:none}._3ad2c88c126f2bdd__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.c20f61b115485a7f__outset-ring--focus-except-active:focus:not(:active){--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}}}");
14375    }
14376    var focus_module_default = { "outset-ring--focus": "accedd6ae8fd878e__outset-ring--focus", "outset-ring--focus-visible": "_8f922cee854f2408__outset-ring--focus-visible", "outset-ring--focus-within": "_0f52be5f1d4ce686__outset-ring--focus-within", "outset-ring--focus-except-active": "c20f61b115485a7f__outset-ring--focus-except-active", "outset-ring--focus-within-except-active": "_3ad2c88c126f2bdd__outset-ring--focus-within-except-active" };
14377    if (typeof process === "undefined" || true) {
14378      registerStyle21("56b0509c70", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.f19aaaa579fccf54__trigger-wrapper{&.bfac6d240be543bd__is-minimal{width:fit-content}}.e1f5987e5bdc9112__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)}&.bfac6d240be543bd__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)}}.ba63264311039401__trigger-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;.e1f5987e5bdc9112__trigger[data-placeholder]:not([data-disabled]) &{color:var(--wpds-color-foreground-interactive-neutral-weak,#707070)}}.cb34834e4f533240__trigger-caret{flex:0 0 auto}}}");
14379    }
14380    var select_trigger_default = { "trigger-wrapper": "f19aaaa579fccf54__trigger-wrapper", "is-minimal": "bfac6d240be543bd__is-minimal", "trigger": "e1f5987e5bdc9112__trigger", "trigger-value": "ba63264311039401__trigger-value", "trigger-caret": "cb34834e4f533240__trigger-caret" };
14381    var Trigger = (0, import_element31.forwardRef)(
14382      function UnforwardedTrigger({
14383        className,
14384        size: size4,
14385        variant,
14386        children,
14387        placeholder = (0, import_i18n3.__)("Select"),
14388        ...restProps
14389      }, ref) {
14390        return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
14391          InputLayout2,
14392          {
14393            className: clsx_default(
14394              focus_module_default["outset-ring--focus-within-except-active"],
14395              select_trigger_default["trigger-wrapper"],
14396              variant === "minimal" && select_trigger_default["is-minimal"],
14397              className
14398            ),
14399            size: size4,
14400            isBorderless: variant === "minimal",
14401            children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
14402              index_parts_exports2.Trigger,
14403              {
14404                ...restProps,
14405                className: clsx_default(
14406                  select_trigger_default.trigger,
14407                  variant === "minimal" && select_trigger_default["is-minimal"]
14408                ),
14409                "data-can-disable-input-layout": true,
14410                ref,
14411                children: [
14412                  /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
14413                    index_parts_exports2.Value,
14414                    {
14415                      placeholder,
14416                      className: select_trigger_default["trigger-value"],
14417                      children
14418                    }
14419                  ),
14420                  /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
14421                    Icon,
14422                    {
14423                      className: select_trigger_default["trigger-caret"],
14424                      icon: chevron_down_default,
14425                      size: 18
14426                    }
14427                  )
14428                ]
14429              }
14430            )
14431          }
14432        );
14433      }
14434    );
14435  
14436    // packages/ui/build-module/form/select-control/select-control.mjs
14437    var import_element34 = __toESM(require_element(), 1);
14438  
14439    // packages/ui/build-module/form/select-control/dev-warnings.mjs
14440    var import_warning = __toESM(require_warning(), 1);
14441    function warnSelectControlProps(items, itemToStringValue) {
14442      if (!itemToStringValue && items?.some((item) => item.value === "")) {
14443        (0, import_warning.default)(
14444          "SelectControl: empty string item values are treated as empty selections by default. Use a non-empty item value or return a non-empty string from `itemToStringValue`. Use `null` for an option that clears the selection."
14445        );
14446      }
14447    }
14448  
14449    // packages/ui/build-module/form/select-control/item.mjs
14450    var import_element32 = __toESM(require_element(), 1);
14451    var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
14452    var Item3 = (0, import_element32.forwardRef)(
14453      function UnforwardedItem3(props, ref) {
14454        return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(select_exports.Item, { ref, ...props });
14455      }
14456    );
14457  
14458    // packages/ui/build-module/form/select-control/trigger.mjs
14459    var import_element33 = __toESM(require_element(), 1);
14460    var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1);
14461    var Trigger2 = (0, import_element33.forwardRef)(function UnforwardedTrigger2(props, ref) {
14462      return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(select_exports.Trigger, { ref, ...props });
14463    });
14464  
14465    // packages/ui/build-module/form/select-control/select-control.mjs
14466    var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1);
14467    var DEFAULT_TRIGGER = /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Trigger2, {});
14468    var SelectControl = (0, import_element34.forwardRef)(function UnforwardedSelectControl({
14469      className,
14470      children,
14471      items,
14472      label,
14473      description,
14474      details,
14475      hideLabelFromVision,
14476      placeholder,
14477      popupWidth = "content",
14478      size: size4 = "default",
14479      trigger,
14480      ...restProps
14481    }, ref) {
14482      if (true) {
14483        warnSelectControlProps(items, restProps.itemToStringValue);
14484      }
14485      const triggerElement = useRender({
14486        render: trigger ?? DEFAULT_TRIGGER,
14487        ref,
14488        props: { placeholder, size: size4 }
14489      });
14490      return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(field_exports.Root, { className, children: [
14491        /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(field_exports.Label, { hideFromVision: hideLabelFromVision, children: label }),
14492        /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(select_exports.Root, { items, ...restProps, children: [
14493          triggerElement,
14494          /* @__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)(
14495            Item3,
14496            {
14497              value: item,
14498              label: item.label,
14499              disabled: item.disabled,
14500              children: [
14501                /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(select_exports.ItemLabel, { children: item.label }),
14502                item.description ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(select_exports.ItemDescription, { children: item.description }) : null
14503              ]
14504            },
14505            item.value ?? "null"
14506          )) })
14507        ] }),
14508        description && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(field_exports.Description, { children: description }),
14509        details && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(field_exports.Details, { children: details })
14510      ] });
14511    });
14512  
14513    // packages/ui/build-module/form/select-control/index.mjs
14514    Trigger2.displayName = "SelectControl.Trigger";
14515    Group.displayName = "SelectControl.Group";
14516    GroupLabel.displayName = "SelectControl.GroupLabel";
14517    Item3.displayName = "SelectControl.Item";
14518    ItemLabel.displayName = "SelectControl.ItemLabel";
14519    ItemDescription.displayName = "SelectControl.ItemDescription";
14520    var SelectControl2 = Object.assign(SelectControl, {
14521      /**
14522       * The trigger button, passed through the `trigger` prop to customize
14523       * its props while retaining the control's label and selected content.
14524       */
14525      Trigger: Trigger2,
14526      /**
14527       * Groups related items together with an associated label rendered by
14528       * `SelectControl.GroupLabel`.
14529       */
14530      Group,
14531      /**
14532       * Renders a label for a `SelectControl.Group`.
14533       */
14534      GroupLabel,
14535      /**
14536       * An item rendered inside a `SelectControl` popup.
14537       */
14538      Item: Item3,
14539      /**
14540       * The primary label of a select item.
14541       */
14542      ItemLabel,
14543      /**
14544       * Supplementary content that describes a select item via
14545       * `aria-describedby`.
14546       */
14547      ItemDescription,
14548      /**
14549       * Renders a visual separator between items or groups.
14550       */
14551      Separator
14552    });
14553  
14554    // packages/widgets/build-module/blocks/legacy-widget/edit/widget-type-selector.mjs
14555    var import_i18n4 = __toESM(require_i18n(), 1);
14556    var import_data = __toESM(require_data(), 1);
14557    var import_core_data = __toESM(require_core_data(), 1);
14558    var import_block_editor = __toESM(require_block_editor(), 1);
14559    var import_jsx_runtime54 = __toESM(require_jsx_runtime(), 1);
14560    function WidgetTypeSelector({ selectedId, onSelect }) {
14561      const widgetTypes = (0, import_data.useSelect)((select2) => {
14562        const hiddenIds = select2(import_block_editor.store).getSettings()?.widgetTypesToHideFromLegacyWidgetBlock ?? [];
14563        return select2(import_core_data.store).getWidgetTypes({ per_page: -1 })?.filter((widgetType) => !hiddenIds.includes(widgetType.id));
14564      }, []);
14565      if (!widgetTypes) {
14566        return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_components.Spinner, {});
14567      }
14568      if (widgetTypes.length === 0) {
14569        return (0, import_i18n4.__)("There are no widgets available.");
14570      }
14571      const items = [
14572        { value: null, label: (0, import_i18n4.__)("Select widget") },
14573        ...widgetTypes.map((widgetType) => ({
14574          value: widgetType.id,
14575          label: widgetType.name
14576        }))
14577      ];
14578      return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
14579        SelectControl2,
14580        {
14581          label: (0, import_i18n4.__)("Legacy widget"),
14582          value: items.find(
14583            (item) => item.value === (selectedId ?? null)
14584          ) ?? items[0],
14585          items,
14586          onValueChange: (item) => {
14587            const value = item?.value;
14588            if (value) {
14589              const selected = widgetTypes.find(
14590                (widgetType) => widgetType.id === value
14591              );
14592              onSelect({
14593                selectedId: selected.id,
14594                isMulti: selected.is_multi
14595              });
14596            } else {
14597              onSelect({ selectedId: null });
14598            }
14599          }
14600        }
14601      );
14602    }
14603  
14604    // packages/widgets/build-module/blocks/legacy-widget/edit/inspector-card.mjs
14605    var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1);
14606    function InspectorCard({ name: name3, description }) {
14607      return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "wp-block-legacy-widget-inspector-card", children: [
14608        /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("h3", { className: "wp-block-legacy-widget-inspector-card__name", children: name3 }),
14609        /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { children: description })
14610      ] });
14611    }
14612  
14613    // packages/widgets/build-module/blocks/legacy-widget/edit/form.mjs
14614    var import_element35 = __toESM(require_element(), 1);
14615    var import_data2 = __toESM(require_data(), 1);
14616    var import_notices = __toESM(require_notices(), 1);
14617    var import_i18n6 = __toESM(require_i18n(), 1);
14618    var import_components2 = __toESM(require_components(), 1);
14619    var import_compose2 = __toESM(require_compose(), 1);
14620  
14621    // packages/widgets/build-module/blocks/legacy-widget/edit/control.mjs
14622    var import_api_fetch = __toESM(require_api_fetch(), 1);
14623    var import_compose = __toESM(require_compose(), 1);
14624    var import_i18n5 = __toESM(require_i18n(), 1);
14625    var Control2 = class {
14626      /**
14627       * Creates and loads a new control.
14628       *
14629       * @access public
14630       * @param {Object}   params
14631       * @param {string}   params.id
14632       * @param {string}   params.idBase
14633       * @param {Object}   params.instance
14634       * @param {Function} params.onChangeInstance
14635       * @param {Function} params.onChangeHasPreview
14636       * @param {Function} params.onError
14637       */
14638      constructor({
14639        id,
14640        idBase,
14641        instance,
14642        onChangeInstance,
14643        onChangeHasPreview,
14644        onError
14645      }) {
14646        this.id = id;
14647        this.idBase = idBase;
14648        this._instance = instance;
14649        this._hasPreview = null;
14650        this.onChangeInstance = onChangeInstance;
14651        this.onChangeHasPreview = onChangeHasPreview;
14652        this.onError = onError;
14653        this.number = ++lastNumber;
14654        this.handleFormChange = (0, import_compose.debounce)(
14655          this.handleFormChange.bind(this),
14656          200
14657        );
14658        this.handleFormSubmit = this.handleFormSubmit.bind(this);
14659        this.initDOM();
14660        this.bindEvents();
14661        this.loadContent();
14662      }
14663      /**
14664       * Clean up the control so that it can be garbage collected.
14665       *
14666       * @access public
14667       */
14668      destroy() {
14669        this.unbindEvents();
14670        this.element.remove();
14671      }
14672      /**
14673       * Creates the control's DOM structure.
14674       *
14675       * @access private
14676       */
14677      initDOM() {
14678        this.element = el("div", { class: "widget open" }, [
14679          el("div", { class: "widget-inside" }, [
14680            this.form = el("form", { class: "form", method: "post" }, [
14681              // These hidden form inputs are what most widgets' scripts
14682              // use to access data about the widget.
14683              el("input", {
14684                class: "widget-id",
14685                type: "hidden",
14686                name: "widget-id",
14687                value: this.id ?? `$this.idBase}-$this.number}`
14688              }),
14689              el("input", {
14690                class: "id_base",
14691                type: "hidden",
14692                name: "id_base",
14693                value: this.idBase ?? this.id
14694              }),
14695              el("input", {
14696                class: "widget-width",
14697                type: "hidden",
14698                name: "widget-width",
14699                value: "250"
14700              }),
14701              el("input", {
14702                class: "widget-height",
14703                type: "hidden",
14704                name: "widget-height",
14705                value: "200"
14706              }),
14707              el("input", {
14708                class: "widget_number",
14709                type: "hidden",
14710                name: "widget_number",
14711                value: this.idBase ? this.number.toString() : ""
14712              }),
14713              this.content = el("div", { class: "widget-content" }),
14714              // Non-multi widgets can be saved via a Save button.
14715              this.id && el(
14716                "button",
14717                {
14718                  class: "button is-primary",
14719                  type: "submit"
14720                },
14721                (0, import_i18n5.__)("Save")
14722              )
14723            ])
14724          ])
14725        ]);
14726      }
14727      /**
14728       * Adds the control's event listeners.
14729       *
14730       * @access private
14731       */
14732      bindEvents() {
14733        if (window.jQuery) {
14734          const { jQuery: $ } = window;
14735          $(this.form).on("change", null, this.handleFormChange);
14736          $(this.form).on("input", null, this.handleFormChange);
14737          $(this.form).on("submit", this.handleFormSubmit);
14738        } else {
14739          this.form.addEventListener("change", this.handleFormChange);
14740          this.form.addEventListener("input", this.handleFormChange);
14741          this.form.addEventListener("submit", this.handleFormSubmit);
14742        }
14743      }
14744      /**
14745       * Removes the control's event listeners.
14746       *
14747       * @access private
14748       */
14749      unbindEvents() {
14750        if (window.jQuery) {
14751          const { jQuery: $ } = window;
14752          $(this.form).off("change", null, this.handleFormChange);
14753          $(this.form).off("input", null, this.handleFormChange);
14754          $(this.form).off("submit", this.handleFormSubmit);
14755        } else {
14756          this.form.removeEventListener("change", this.handleFormChange);
14757          this.form.removeEventListener("input", this.handleFormChange);
14758          this.form.removeEventListener("submit", this.handleFormSubmit);
14759        }
14760      }
14761      /**
14762       * Fetches the widget's form HTML from the REST API and loads it into the
14763       * control's form.
14764       *
14765       * @access private
14766       */
14767      async loadContent() {
14768        try {
14769          if (this.id) {
14770            const { form } = await saveWidget(this.id);
14771            this.content.innerHTML = form;
14772          } else if (this.idBase) {
14773            const { form, preview } = await encodeWidget({
14774              idBase: this.idBase,
14775              instance: this.instance,
14776              number: this.number
14777            });
14778            this.content.innerHTML = form;
14779            this.hasPreview = !isEmptyHTML(preview);
14780            if (!this.instance.hash) {
14781              const { instance } = await encodeWidget({
14782                idBase: this.idBase,
14783                instance: this.instance,
14784                number: this.number,
14785                formData: serializeForm(this.form)
14786              });
14787              this.instance = instance;
14788            }
14789          }
14790          if (window.jQuery) {
14791            const { jQuery: $ } = window;
14792            $(document).trigger("widget-added", [$(this.element)]);
14793          }
14794        } catch (error2) {
14795          this.onError(error2);
14796        }
14797      }
14798      /**
14799       * Perform a save when a multi widget's form is changed. Non-multi widgets
14800       * are saved manually.
14801       *
14802       * @access private
14803       */
14804      handleFormChange() {
14805        if (this.idBase) {
14806          this.saveForm();
14807        }
14808      }
14809      /**
14810       * Perform a save when the control's form is manually submitted.
14811       *
14812       * @access private
14813       * @param {Event} event
14814       */
14815      handleFormSubmit(event) {
14816        event.preventDefault();
14817        this.saveForm();
14818      }
14819      /**
14820       * Serialize the control's form, send it to the REST API, and update the
14821       * instance with the encoded instance that the REST API returns.
14822       *
14823       * @access private
14824       */
14825      async saveForm() {
14826        const formData = serializeForm(this.form);
14827        try {
14828          if (this.id) {
14829            const { form } = await saveWidget(this.id, formData);
14830            this.content.innerHTML = form;
14831            if (window.jQuery) {
14832              const { jQuery: $ } = window;
14833              $(document).trigger("widget-updated", [
14834                $(this.element)
14835              ]);
14836            }
14837          } else if (this.idBase) {
14838            const { instance, preview } = await encodeWidget({
14839              idBase: this.idBase,
14840              instance: this.instance,
14841              number: this.number,
14842              formData
14843            });
14844            this.instance = instance;
14845            this.hasPreview = !isEmptyHTML(preview);
14846          }
14847        } catch (error2) {
14848          this.onError(error2);
14849        }
14850      }
14851      /**
14852       * The widget's instance object.
14853       *
14854       * @access private
14855       */
14856      get instance() {
14857        return this._instance;
14858      }
14859      /**
14860       * The widget's instance object.
14861       *
14862       * @access private
14863       */
14864      set instance(instance) {
14865        if (this._instance !== instance) {
14866          this._instance = instance;
14867          this.onChangeInstance(instance);
14868        }
14869      }
14870      /**
14871       * Whether or not the widget can be previewed.
14872       *
14873       * @access public
14874       */
14875      get hasPreview() {
14876        return this._hasPreview;
14877      }
14878      /**
14879       * Whether or not the widget can be previewed.
14880       *
14881       * @access private
14882       */
14883      set hasPreview(hasPreview) {
14884        if (this._hasPreview !== hasPreview) {
14885          this._hasPreview = hasPreview;
14886          this.onChangeHasPreview(hasPreview);
14887        }
14888      }
14889    };
14890    var lastNumber = 0;
14891    function el(tagName, attributes = {}, content = null) {
14892      const element = document.createElement(tagName);
14893      for (const [attribute, value] of Object.entries(attributes)) {
14894        element.setAttribute(attribute, value);
14895      }
14896      if (Array.isArray(content)) {
14897        for (const child of content) {
14898          if (child) {
14899            element.appendChild(child);
14900          }
14901        }
14902      } else if (typeof content === "string") {
14903        element.innerText = content;
14904      }
14905      return element;
14906    }
14907    async function saveWidget(id, formData = null) {
14908      let widget;
14909      if (formData) {
14910        widget = await (0, import_api_fetch.default)({
14911          path: `/wp/v2/widgets/$id}?context=edit`,
14912          method: "PUT",
14913          data: {
14914            form_data: formData
14915          }
14916        });
14917      } else {
14918        widget = await (0, import_api_fetch.default)({
14919          path: `/wp/v2/widgets/$id}?context=edit`,
14920          method: "GET"
14921        });
14922      }
14923      return { form: widget.rendered_form };
14924    }
14925    async function encodeWidget({ idBase, instance, number, formData = null }) {
14926      const response = await (0, import_api_fetch.default)({
14927        path: `/wp/v2/widget-types/$idBase}/encode`,
14928        method: "POST",
14929        data: {
14930          instance,
14931          number,
14932          form_data: formData
14933        }
14934      });
14935      return {
14936        instance: response.instance,
14937        form: response.form,
14938        preview: response.preview
14939      };
14940    }
14941    function isEmptyHTML(html) {
14942      const element = document.createElement("div");
14943      element.innerHTML = html;
14944      return isEmptyNode(element);
14945    }
14946    function isEmptyNode(node) {
14947      switch (node.nodeType) {
14948        case node.TEXT_NODE:
14949          return node.nodeValue.trim() === "";
14950        case node.ELEMENT_NODE:
14951          if ([
14952            "AUDIO",
14953            "CANVAS",
14954            "EMBED",
14955            "IFRAME",
14956            "IMG",
14957            "MATH",
14958            "OBJECT",
14959            "SVG",
14960            "VIDEO"
14961          ].includes(node.tagName)) {
14962            return false;
14963          }
14964          if (!node.hasChildNodes()) {
14965            return true;
14966          }
14967          return Array.from(node.childNodes).every(isEmptyNode);
14968        default:
14969          return true;
14970      }
14971    }
14972    function serializeForm(form) {
14973      return new window.URLSearchParams(
14974        Array.from(new window.FormData(form))
14975      ).toString();
14976    }
14977  
14978    // packages/widgets/build-module/blocks/legacy-widget/edit/form.mjs
14979    var import_jsx_runtime56 = __toESM(require_jsx_runtime(), 1);
14980    function Form({
14981      title,
14982      isVisible,
14983      id,
14984      idBase,
14985      instance,
14986      isWide,
14987      onChangeInstance,
14988      onChangeHasPreview
14989    }) {
14990      const ref = (0, import_element35.useRef)();
14991      const isMediumLargeViewport = (0, import_compose2.useViewportMatch)("small");
14992      const outgoingInstances = (0, import_element35.useRef)(/* @__PURE__ */ new Set());
14993      const incomingInstances = (0, import_element35.useRef)(/* @__PURE__ */ new Set());
14994      const { createNotice } = (0, import_data2.useDispatch)(import_notices.store);
14995      (0, import_element35.useEffect)(() => {
14996        if (incomingInstances.current.has(instance)) {
14997          incomingInstances.current.delete(instance);
14998          return;
14999        }
15000        const control = new Control2({
15001          id,
15002          idBase,
15003          instance,
15004          onChangeInstance(nextInstance) {
15005            outgoingInstances.current.add(instance);
15006            incomingInstances.current.add(nextInstance);
15007            onChangeInstance(nextInstance);
15008          },
15009          onChangeHasPreview,
15010          onError(error2) {
15011            window.console.error(error2);
15012            createNotice(
15013              "error",
15014              (0, import_i18n6.sprintf)(
15015                /* translators: %s: the name of the affected block. */
15016                (0, import_i18n6.__)(
15017                  'The "%s" block was affected by errors and may not function properly. Check the developer tools for more details.'
15018                ),
15019                idBase || id
15020              )
15021            );
15022          }
15023        });
15024        ref.current.appendChild(control.element);
15025        return () => {
15026          if (outgoingInstances.current.has(instance)) {
15027            outgoingInstances.current.delete(instance);
15028            return;
15029          }
15030          control.destroy();
15031        };
15032      }, [
15033        id,
15034        idBase,
15035        instance,
15036        onChangeInstance,
15037        onChangeHasPreview,
15038        isMediumLargeViewport
15039      ]);
15040      if (isWide && isMediumLargeViewport) {
15041        return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
15042          "div",
15043          {
15044            className: clsx_default({
15045              "wp-block-legacy-widget__container": isVisible
15046            }),
15047            children: [
15048              isVisible && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("h3", { className: "wp-block-legacy-widget__edit-form-title", children: title }),
15049              /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
15050                import_components2.Popover,
15051                {
15052                  focusOnMount: false,
15053                  placement: "right",
15054                  offset: 32,
15055                  resize: false,
15056                  flip: false,
15057                  shift: true,
15058                  children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
15059                    "div",
15060                    {
15061                      ref,
15062                      className: "wp-block-legacy-widget__edit-form",
15063                      hidden: !isVisible
15064                    }
15065                  )
15066                }
15067              )
15068            ]
15069          }
15070        );
15071      }
15072      return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
15073        "div",
15074        {
15075          ref,
15076          className: "wp-block-legacy-widget__edit-form",
15077          hidden: !isVisible,
15078          children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("h3", { className: "wp-block-legacy-widget__edit-form-title", children: title })
15079        }
15080      );
15081    }
15082  
15083    // packages/widgets/build-module/blocks/legacy-widget/edit/preview.mjs
15084    var import_compose3 = __toESM(require_compose(), 1);
15085    var import_element36 = __toESM(require_element(), 1);
15086    var import_components3 = __toESM(require_components(), 1);
15087    var import_i18n7 = __toESM(require_i18n(), 1);
15088    var import_api_fetch2 = __toESM(require_api_fetch(), 1);
15089    var import_jsx_runtime57 = __toESM(require_jsx_runtime(), 1);
15090    function Preview({ idBase, instance, isVisible }) {
15091      const [isLoaded, setIsLoaded] = (0, import_element36.useState)(false);
15092      const [srcDoc, setSrcDoc] = (0, import_element36.useState)("");
15093      (0, import_element36.useEffect)(() => {
15094        const abortController = typeof window.AbortController === "undefined" ? void 0 : new window.AbortController();
15095        async function fetchPreviewHTML() {
15096          const restRoute = `/wp/v2/widget-types/$idBase}/render`;
15097          return await (0, import_api_fetch2.default)({
15098            path: restRoute,
15099            method: "POST",
15100            signal: abortController?.signal,
15101            data: instance ? { instance } : {}
15102          });
15103        }
15104        fetchPreviewHTML().then((response) => {
15105          setSrcDoc(response.preview);
15106        }).catch((error2) => {
15107          if ("AbortError" === error2.name) {
15108            return;
15109          }
15110          throw error2;
15111        });
15112        return () => abortController?.abort();
15113      }, [idBase, instance]);
15114      const ref = (0, import_compose3.useRefEffect)(
15115        (iframe) => {
15116          if (!isLoaded) {
15117            return;
15118          }
15119          function setHeight() {
15120            const height = Math.max(
15121              iframe.contentDocument.documentElement?.offsetHeight ?? 0,
15122              iframe.contentDocument.body?.offsetHeight ?? 0
15123            );
15124            iframe.style.height = `$height !== 0 ? height : 100}px`;
15125          }
15126          const { IntersectionObserver: IntersectionObserver2 } = iframe.ownerDocument.defaultView;
15127          const intersectionObserver = new IntersectionObserver2(
15128            ([entry]) => {
15129              if (entry.isIntersecting) {
15130                setHeight();
15131              }
15132            },
15133            {
15134              threshold: 1
15135            }
15136          );
15137          intersectionObserver.observe(iframe);
15138          iframe.addEventListener("load", setHeight);
15139          return () => {
15140            intersectionObserver.disconnect();
15141            iframe.removeEventListener("load", setHeight);
15142          };
15143        },
15144        [isLoaded]
15145      );
15146      return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
15147        isVisible && !isLoaded && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_components3.Placeholder, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_components3.Spinner, {}) }),
15148        /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
15149          "div",
15150          {
15151            className: clsx_default("wp-block-legacy-widget__edit-preview", {
15152              "is-offscreen": !isVisible || !isLoaded
15153            }),
15154            children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_components3.Disabled, { children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
15155              "iframe",
15156              {
15157                ref,
15158                className: "wp-block-legacy-widget__edit-preview-iframe",
15159                tabIndex: "-1",
15160                title: (0, import_i18n7.__)("Legacy Widget Preview"),
15161                srcDoc,
15162                onLoad: (event) => {
15163                  event.target.contentDocument.body.style.overflow = "hidden";
15164                  setIsLoaded(true);
15165                },
15166                height: 100
15167              }
15168            ) })
15169          }
15170        )
15171      ] });
15172    }
15173  
15174    // packages/widgets/build-module/blocks/legacy-widget/edit/no-preview.mjs
15175    var import_i18n8 = __toESM(require_i18n(), 1);
15176    var import_jsx_runtime58 = __toESM(require_jsx_runtime(), 1);
15177    function NoPreview({ name: name3 }) {
15178      return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "wp-block-legacy-widget__edit-no-preview", children: [
15179        name3 && /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("h3", { children: name3 }),
15180        /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { children: (0, import_i18n8.__)("No preview available.") })
15181      ] });
15182    }
15183  
15184    // packages/widgets/build-module/blocks/legacy-widget/edit/convert-to-blocks-button.mjs
15185    var import_data3 = __toESM(require_data(), 1);
15186    var import_block_editor2 = __toESM(require_block_editor(), 1);
15187    var import_components4 = __toESM(require_components(), 1);
15188    var import_blocks = __toESM(require_blocks(), 1);
15189    var import_i18n9 = __toESM(require_i18n(), 1);
15190    var import_jsx_runtime59 = __toESM(require_jsx_runtime(), 1);
15191    function ConvertToBlocksButton({ clientId, rawInstance }) {
15192      const { replaceBlocks } = (0, import_data3.useDispatch)(import_block_editor2.store);
15193      return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
15194        import_components4.ToolbarButton,
15195        {
15196          onClick: () => {
15197            if (rawInstance.title) {
15198              replaceBlocks(clientId, [
15199                (0, import_blocks.createBlock)("core/heading", {
15200                  content: rawInstance.title
15201                }),
15202                ...(0, import_blocks.rawHandler)({ HTML: rawInstance.text })
15203              ]);
15204            } else {
15205              replaceBlocks(
15206                clientId,
15207                (0, import_blocks.rawHandler)({ HTML: rawInstance.text })
15208              );
15209            }
15210          },
15211          children: (0, import_i18n9.__)("Convert to blocks")
15212        }
15213      );
15214    }
15215  
15216    // packages/widgets/build-module/blocks/legacy-widget/edit/index.mjs
15217    var import_jsx_runtime60 = __toESM(require_jsx_runtime(), 1);
15218    function Edit(props) {
15219      const { id, idBase } = props.attributes;
15220      const { isWide = false } = props;
15221      const blockProps = (0, import_block_editor3.useBlockProps)({
15222        className: clsx_default({
15223          "is-wide-widget": isWide
15224        })
15225      });
15226      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 }) });
15227    }
15228    function Empty({ attributes: { id, idBase }, setAttributes }) {
15229      return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
15230        import_components5.Placeholder,
15231        {
15232          icon: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_block_editor3.BlockIcon, { icon: brush_default }),
15233          label: (0, import_i18n10.__)("Legacy Widget"),
15234          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)(
15235            WidgetTypeSelector,
15236            {
15237              selectedId: id ?? idBase,
15238              onSelect: ({ selectedId, isMulti }) => {
15239                if (!selectedId) {
15240                  setAttributes({
15241                    id: null,
15242                    idBase: null,
15243                    instance: null
15244                  });
15245                } else if (isMulti) {
15246                  setAttributes({
15247                    id: null,
15248                    idBase: selectedId,
15249                    instance: {}
15250                  });
15251                } else {
15252                  setAttributes({
15253                    id: selectedId,
15254                    idBase: null,
15255                    instance: null
15256                  });
15257                }
15258              }
15259            }
15260          ) }) })
15261        }
15262      );
15263    }
15264    function NotEmpty({
15265      attributes: { id, idBase, instance },
15266      setAttributes,
15267      clientId,
15268      isSelected,
15269      isWide = false
15270    }) {
15271      const [hasPreview, setHasPreview] = (0, import_element37.useState)(null);
15272      const widgetTypeId = id ?? idBase;
15273      const { record: widgetType, hasResolved: hasResolvedWidgetType } = (0, import_core_data2.useEntityRecord)("root", "widgetType", widgetTypeId);
15274      const setInstance = (0, import_element37.useCallback)((nextInstance) => {
15275        setAttributes({ instance: nextInstance });
15276      }, []);
15277      if (!widgetType && hasResolvedWidgetType) {
15278        return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
15279          import_components5.Placeholder,
15280          {
15281            icon: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_block_editor3.BlockIcon, { icon: brush_default }),
15282            label: (0, import_i18n10.__)("Legacy Widget"),
15283            children: (0, import_i18n10.__)("Widget is missing.")
15284          }
15285        );
15286      }
15287      if (!hasResolvedWidgetType) {
15288        return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_components5.Placeholder, { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_components5.Spinner, {}) });
15289      }
15290      const mode = idBase && !isSelected ? "preview" : "edit";
15291      return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
15292        idBase === "text" && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_block_editor3.BlockControls, { group: "other", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
15293          ConvertToBlocksButton,
15294          {
15295            clientId,
15296            rawInstance: instance.raw
15297          }
15298        ) }),
15299        /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_block_editor3.InspectorControls, { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
15300          InspectorCard,
15301          {
15302            name: widgetType.name,
15303            description: widgetType.description
15304          }
15305        ) }),
15306        /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
15307          Form,
15308          {
15309            title: widgetType.name,
15310            isVisible: mode === "edit",
15311            id,
15312            idBase,
15313            instance,
15314            isWide,
15315            onChangeInstance: setInstance,
15316            onChangeHasPreview: setHasPreview
15317          }
15318        ),
15319        idBase && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
15320          hasPreview === null && mode === "preview" && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_components5.Placeholder, { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_components5.Spinner, {}) }),
15321          hasPreview === true && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
15322            Preview,
15323            {
15324              idBase,
15325              instance,
15326              isVisible: mode === "preview"
15327            }
15328          ),
15329          hasPreview === false && mode === "preview" && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(NoPreview, { name: widgetType.name })
15330        ] })
15331      ] });
15332    }
15333  
15334    // packages/widgets/build-module/blocks/legacy-widget/transforms.mjs
15335    var import_blocks2 = __toESM(require_blocks(), 1);
15336    var legacyWidgetTransforms = [
15337      {
15338        block: "core/calendar",
15339        widget: "calendar"
15340      },
15341      {
15342        block: "core/search",
15343        widget: "search"
15344      },
15345      {
15346        block: "core/html",
15347        widget: "custom_html",
15348        transformBlock: ({ content }) => (0, import_blocks2.createBlock)("core/html", {}, [], [content])
15349      },
15350      {
15351        block: "core/archives",
15352        widget: "archives",
15353        transform: ({ count, dropdown }) => {
15354          return {
15355            displayAsDropdown: !!dropdown,
15356            showPostCounts: !!count
15357          };
15358        }
15359      },
15360      {
15361        block: "core/latest-posts",
15362        widget: "recent-posts",
15363        transform: ({ show_date: displayPostDate, number }) => {
15364          return {
15365            displayPostDate: !!displayPostDate,
15366            postsToShow: number
15367          };
15368        }
15369      },
15370      {
15371        block: "core/latest-comments",
15372        widget: "recent-comments",
15373        transform: ({ number }) => {
15374          return {
15375            commentsToShow: number
15376          };
15377        }
15378      },
15379      {
15380        block: "core/tag-cloud",
15381        widget: "tag_cloud",
15382        transform: ({ taxonomy, count }) => {
15383          return {
15384            showTagCounts: !!count,
15385            taxonomy
15386          };
15387        }
15388      },
15389      {
15390        block: "core/categories",
15391        widget: "categories",
15392        transform: ({ count, dropdown, hierarchical }) => {
15393          return {
15394            displayAsDropdown: !!dropdown,
15395            showPostCounts: !!count,
15396            showHierarchy: !!hierarchical
15397          };
15398        }
15399      },
15400      {
15401        block: "core/audio",
15402        widget: "media_audio",
15403        transform: ({ url, preload, loop, attachment_id: id }) => {
15404          return {
15405            src: url,
15406            id,
15407            preload,
15408            loop
15409          };
15410        }
15411      },
15412      {
15413        block: "core/video",
15414        widget: "media_video",
15415        transform: ({ url, preload, loop, attachment_id: id }) => {
15416          return {
15417            src: url,
15418            id,
15419            preload,
15420            loop
15421          };
15422        }
15423      },
15424      {
15425        block: "core/image",
15426        widget: "media_image",
15427        transform: ({
15428          alt,
15429          attachment_id: id,
15430          caption,
15431          height,
15432          link_classes: linkClass,
15433          link_rel: rel,
15434          link_target_blank: targetBlack,
15435          link_type: linkDestination,
15436          link_url: link,
15437          size: sizeSlug,
15438          url,
15439          width
15440        }) => {
15441          return {
15442            alt,
15443            caption,
15444            height,
15445            id,
15446            link,
15447            linkClass,
15448            linkDestination,
15449            linkTarget: targetBlack ? "_blank" : void 0,
15450            rel,
15451            sizeSlug,
15452            url,
15453            width
15454          };
15455        }
15456      },
15457      {
15458        block: "core/gallery",
15459        widget: "media_gallery",
15460        transform: ({ ids, link_type: linkTo, size: size4, number }) => {
15461          return {
15462            ids,
15463            columns: number,
15464            linkTo,
15465            sizeSlug: size4,
15466            images: ids.map((id) => ({
15467              id
15468            }))
15469          };
15470        }
15471      },
15472      {
15473        block: "core/rss",
15474        widget: "rss",
15475        transform: ({
15476          url,
15477          show_author: displayAuthor,
15478          show_date: displayDate,
15479          show_summary: displayExcerpt,
15480          items
15481        }) => {
15482          return {
15483            feedURL: url,
15484            displayAuthor: !!displayAuthor,
15485            displayDate: !!displayDate,
15486            displayExcerpt: !!displayExcerpt,
15487            itemsToShow: items
15488          };
15489        }
15490      }
15491    ].map(({ block, widget, transform, transformBlock }) => {
15492      return {
15493        type: "block",
15494        blocks: [block],
15495        isMatch: ({ idBase, instance }) => {
15496          return idBase === widget && !!instance?.raw;
15497        },
15498        transform: ({ instance }) => {
15499          const transformedBlock = transformBlock ? transformBlock(instance.raw) : (0, import_blocks2.createBlock)(
15500            block,
15501            transform ? transform(instance.raw) : void 0
15502          );
15503          if (!instance.raw?.title) {
15504            return transformedBlock;
15505          }
15506          return [
15507            (0, import_blocks2.createBlock)("core/heading", {
15508              content: instance.raw.title
15509            }),
15510            transformedBlock
15511          ];
15512        }
15513      };
15514    });
15515    var transforms = {
15516      to: legacyWidgetTransforms
15517    };
15518    var transforms_default = transforms;
15519  
15520    // packages/widgets/build-module/blocks/legacy-widget/index.mjs
15521    var { name } = block_default;
15522    var settings = {
15523      icon: widget_default,
15524      edit: Edit,
15525      transforms: transforms_default
15526    };
15527  
15528    // packages/widgets/build-module/blocks/widget-group/index.mjs
15529    var widget_group_exports = {};
15530    __export(widget_group_exports, {
15531      metadata: () => block_default2,
15532      name: () => name2,
15533      settings: () => settings2
15534    });
15535    var import_i18n12 = __toESM(require_i18n(), 1);
15536    var import_blocks3 = __toESM(require_blocks(), 1);
15537  
15538    // packages/widgets/build-module/blocks/widget-group/block.json
15539    var block_default2 = {
15540      $schema: "https://schemas.wp.org/trunk/block.json",
15541      apiVersion: 3,
15542      name: "core/widget-group",
15543      title: "Widget Group",
15544      category: "widgets",
15545      attributes: {
15546        title: {
15547          type: "string"
15548        }
15549      },
15550      supports: {
15551        html: false,
15552        inserter: true,
15553        customClassName: true,
15554        reusable: false
15555      },
15556      editorStyle: "wp-block-widget-group-editor",
15557      style: "wp-block-widget-group"
15558    };
15559  
15560    // packages/widgets/build-module/blocks/widget-group/edit.mjs
15561    var import_block_editor4 = __toESM(require_block_editor(), 1);
15562    var import_components6 = __toESM(require_components(), 1);
15563    var import_i18n11 = __toESM(require_i18n(), 1);
15564    var import_data4 = __toESM(require_data(), 1);
15565    var import_jsx_runtime61 = __toESM(require_jsx_runtime(), 1);
15566    function Edit2(props) {
15567      const { clientId } = props;
15568      const hasInnerBlocks = (0, import_data4.useSelect)(
15569        (select2) => select2(import_block_editor4.store).getBlockCount(clientId) > 0,
15570        [clientId]
15571      );
15572      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 }) });
15573    }
15574    function PlaceholderContent({ clientId }) {
15575      return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
15576        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
15577          import_components6.Placeholder,
15578          {
15579            className: "wp-block-widget-group__placeholder",
15580            icon: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_block_editor4.BlockIcon, { icon: group_default }),
15581            label: (0, import_i18n11.__)("Widget Group"),
15582            children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_block_editor4.ButtonBlockAppender, { rootClientId: clientId })
15583          }
15584        ),
15585        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_block_editor4.InnerBlocks, { renderAppender: false })
15586      ] });
15587    }
15588    function PreviewContent({ attributes, setAttributes }) {
15589      return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
15590        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
15591          import_block_editor4.RichText,
15592          {
15593            tagName: "h2",
15594            identifier: "title",
15595            className: "widget-title",
15596            allowedFormats: [],
15597            placeholder: (0, import_i18n11.__)("Title"),
15598            value: attributes.title ?? "",
15599            onChange: (title) => setAttributes({ title })
15600          }
15601        ),
15602        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_block_editor4.InnerBlocks, {})
15603      ] });
15604    }
15605  
15606    // packages/widgets/build-module/blocks/widget-group/save.mjs
15607    var import_block_editor5 = __toESM(require_block_editor(), 1);
15608    var import_jsx_runtime62 = __toESM(require_jsx_runtime(), 1);
15609    function save({ attributes }) {
15610      return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
15611        /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
15612          import_block_editor5.RichText.Content,
15613          {
15614            tagName: "h2",
15615            className: "widget-title",
15616            value: attributes.title
15617          }
15618        ),
15619        /* @__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, {}) })
15620      ] });
15621    }
15622  
15623    // packages/widgets/build-module/blocks/widget-group/deprecated.mjs
15624    var import_block_editor6 = __toESM(require_block_editor(), 1);
15625    var import_jsx_runtime63 = __toESM(require_jsx_runtime(), 1);
15626    var v1 = {
15627      attributes: {
15628        title: {
15629          type: "string"
15630        }
15631      },
15632      supports: {
15633        html: false,
15634        inserter: true,
15635        customClassName: true,
15636        reusable: false
15637      },
15638      save({ attributes }) {
15639        return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
15640          /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
15641            import_block_editor6.RichText.Content,
15642            {
15643              tagName: "h2",
15644              className: "widget-title",
15645              value: attributes.title
15646            }
15647          ),
15648          /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_block_editor6.InnerBlocks.Content, {})
15649        ] });
15650      }
15651    };
15652    var deprecated_default = [v1];
15653  
15654    // packages/widgets/build-module/blocks/widget-group/index.mjs
15655    var { name: name2 } = block_default2;
15656    var settings2 = {
15657      title: (0, import_i18n12.__)("Widget Group"),
15658      description: (0, import_i18n12.__)(
15659        "Create a classic widget layout with a title that\u2019s styled by your theme for your widget areas."
15660      ),
15661      icon: group_default,
15662      __experimentalLabel: ({ name: label }) => label,
15663      edit: Edit2,
15664      save,
15665      transforms: {
15666        from: [
15667          {
15668            type: "block",
15669            isMultiBlock: true,
15670            blocks: ["*"],
15671            isMatch(attributes, blocks) {
15672              return !blocks.some(
15673                (block) => block.name === "core/widget-group"
15674              );
15675            },
15676            __experimentalConvert(blocks) {
15677              let innerBlocks = blocks.map(
15678                (block) => (0, import_blocks3.cloneSanitizedBlock)(block)
15679              );
15680              const firstHeadingBlock = innerBlocks[0].name === "core/heading" ? innerBlocks[0] : null;
15681              innerBlocks = innerBlocks.filter(
15682                (block) => block !== firstHeadingBlock
15683              );
15684              return (0, import_blocks3.createBlock)(
15685                "core/widget-group",
15686                {
15687                  ...firstHeadingBlock && {
15688                    title: firstHeadingBlock.attributes.content
15689                  }
15690                },
15691                innerBlocks
15692              );
15693            }
15694          }
15695        ]
15696      },
15697      deprecated: deprecated_default
15698    };
15699  
15700    // packages/widgets/build-module/components/move-to-widget-area/index.mjs
15701    var import_components7 = __toESM(require_components(), 1);
15702    var import_i18n13 = __toESM(require_i18n(), 1);
15703    var import_jsx_runtime64 = __toESM(require_jsx_runtime(), 1);
15704    function MoveToWidgetArea({
15705      currentWidgetAreaId,
15706      widgetAreas,
15707      onSelect
15708    }) {
15709      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)(
15710        import_components7.DropdownMenu,
15711        {
15712          icon: move_to_default,
15713          label: (0, import_i18n13.__)("Move to widget area"),
15714          toggleProps,
15715          children: ({ onClose }) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_components7.MenuGroup, { label: (0, import_i18n13.__)("Move to"), children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
15716            import_components7.MenuItemsChoice,
15717            {
15718              choices: widgetAreas.map(
15719                (widgetArea) => ({
15720                  value: widgetArea.id,
15721                  label: widgetArea.name,
15722                  info: widgetArea.description
15723                })
15724              ),
15725              value: currentWidgetAreaId,
15726              onSelect: (value) => {
15727                onSelect(value);
15728                onClose();
15729              }
15730            }
15731          ) })
15732        }
15733      ) }) });
15734    }
15735  
15736    // packages/widgets/build-module/utils.mjs
15737    function getWidgetIdFromBlock(block) {
15738      return block.attributes.__internalWidgetId;
15739    }
15740    function addWidgetIdToBlock(block, widgetId) {
15741      return {
15742        ...block,
15743        attributes: {
15744          ...block.attributes || {},
15745          __internalWidgetId: widgetId
15746        }
15747      };
15748    }
15749  
15750    // packages/widgets/build-module/register-legacy-widget-variations.mjs
15751    var import_data5 = __toESM(require_data(), 1);
15752    var import_core_data3 = __toESM(require_core_data(), 1);
15753    var import_blocks4 = __toESM(require_blocks(), 1);
15754    function registerLegacyWidgetVariations(settings3) {
15755      const unsubscribe = (0, import_data5.subscribe)(() => {
15756        const hiddenIds = settings3?.widgetTypesToHideFromLegacyWidgetBlock ?? [];
15757        const widgetTypes = (0, import_data5.select)(import_core_data3.store).getWidgetTypes({ per_page: -1 })?.filter((widgetType) => !hiddenIds.includes(widgetType.id));
15758        if (widgetTypes) {
15759          unsubscribe();
15760          (0, import_data5.dispatch)(import_blocks4.store).addBlockVariations(
15761            "core/legacy-widget",
15762            widgetTypes.map((widgetType) => ({
15763              name: widgetType.id,
15764              title: widgetType.name,
15765              description: widgetType.description,
15766              attributes: widgetType.is_multi ? {
15767                idBase: widgetType.id,
15768                instance: {}
15769              } : {
15770                id: widgetType.id
15771              }
15772            }))
15773          );
15774        }
15775      });
15776    }
15777  
15778    // packages/widgets/build-module/index.mjs
15779    function registerLegacyWidgetBlock(supports = {}) {
15780      const { metadata, settings: settings3, name: name3 } = legacy_widget_exports;
15781      (0, import_blocks5.registerBlockType)(
15782        { name: name3, ...metadata },
15783        {
15784          ...settings3,
15785          supports: {
15786            ...settings3.supports,
15787            ...supports
15788          }
15789        }
15790      );
15791    }
15792    function registerWidgetGroupBlock(supports = {}) {
15793      const { metadata, settings: settings3, name: name3 } = widget_group_exports;
15794      (0, import_blocks5.registerBlockType)(
15795        { name: name3, ...metadata },
15796        {
15797          ...settings3,
15798          supports: {
15799            ...settings3.supports,
15800            ...supports
15801          }
15802        }
15803      );
15804    }
15805    return __toCommonJS(index_exports);
15806  })();
15807  /*! Bundled license information:
15808  
15809  use-sync-external-store/cjs/use-sync-external-store-shim.development.js:
15810    (**
15811     * @license React
15812     * use-sync-external-store-shim.development.js
15813     *
15814     * Copyright (c) Meta Platforms, Inc. and affiliates.
15815     *
15816     * This source code is licensed under the MIT license found in the
15817     * LICENSE file in the root directory of this source tree.
15818     *)
15819  
15820  use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js:
15821    (**
15822     * @license React
15823     * use-sync-external-store-shim/with-selector.development.js
15824     *
15825     * Copyright (c) Meta Platforms, Inc. and affiliates.
15826     *
15827     * This source code is licensed under the MIT license found in the
15828     * LICENSE file in the root directory of this source tree.
15829     *)
15830  */
15831  (window.wp ||= {}).widgets = wp.widgets;
15832  })();


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