[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-includes/js/dist/ -> format-library.js (source)

   1  (function() {
   2  "use strict";
   3  var wp;
   4  (wp ||= {}).formatLibrary = (() => {
   5    var __create = Object.create;
   6    var __defProp = Object.defineProperty;
   7    var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
   8    var __getOwnPropNames = Object.getOwnPropertyNames;
   9    var __getProtoOf = Object.getPrototypeOf;
  10    var __hasOwnProp = Object.prototype.hasOwnProperty;
  11    var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
  12      get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
  13    }) : x)(function(x) {
  14      if (typeof require !== "undefined") return require.apply(this, arguments);
  15      throw Error('Dynamic require of "' + x + '" is not supported');
  16    });
  17    var __commonJS = (cb, mod) => function __require2() {
  18      return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
  19    };
  20    var __export = (target, all) => {
  21      for (var name16 in all)
  22        __defProp(target, name16, { get: all[name16], enumerable: true });
  23    };
  24    var __copyProps = (to, from, except, desc) => {
  25      if (from && typeof from === "object" || typeof from === "function") {
  26        for (let key of __getOwnPropNames(from))
  27          if (!__hasOwnProp.call(to, key) && key !== except)
  28            __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  29      }
  30      return to;
  31    };
  32    var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  33      // If the importer is in node compatibility mode or this is not an ESM
  34      // file that has been converted to a CommonJS file using a Babel-
  35      // compatible transform (i.e. "__esModule" has not been set), then set
  36      // "default" to the CommonJS "module.exports" for node compatibility.
  37      isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  38      mod
  39    ));
  40  
  41    // package-external:@wordpress/rich-text
  42    var require_rich_text = __commonJS({
  43      "package-external:@wordpress/rich-text"(exports, module) {
  44        module.exports = window.wp.richText;
  45      }
  46    });
  47  
  48    // package-external:@wordpress/i18n
  49    var require_i18n = __commonJS({
  50      "package-external:@wordpress/i18n"(exports, module) {
  51        module.exports = window.wp.i18n;
  52      }
  53    });
  54  
  55    // package-external:@wordpress/block-editor
  56    var require_block_editor = __commonJS({
  57      "package-external:@wordpress/block-editor"(exports, module) {
  58        module.exports = window.wp.blockEditor;
  59      }
  60    });
  61  
  62    // package-external:@wordpress/element
  63    var require_element = __commonJS({
  64      "package-external:@wordpress/element"(exports, module) {
  65        module.exports = window.wp.element;
  66      }
  67    });
  68  
  69    // package-external:@wordpress/primitives
  70    var require_primitives = __commonJS({
  71      "package-external:@wordpress/primitives"(exports, module) {
  72        module.exports = window.wp.primitives;
  73      }
  74    });
  75  
  76    // vendor-external:react/jsx-runtime
  77    var require_jsx_runtime = __commonJS({
  78      "vendor-external:react/jsx-runtime"(exports, module) {
  79        module.exports = window.ReactJSXRuntime;
  80      }
  81    });
  82  
  83    // package-external:@wordpress/components
  84    var require_components = __commonJS({
  85      "package-external:@wordpress/components"(exports, module) {
  86        module.exports = window.wp.components;
  87      }
  88    });
  89  
  90    // vendor-external:react
  91    var require_react = __commonJS({
  92      "vendor-external:react"(exports, module) {
  93        module.exports = window.React;
  94      }
  95    });
  96  
  97    // vendor-external:react-dom
  98    var require_react_dom = __commonJS({
  99      "vendor-external:react-dom"(exports, module) {
 100        module.exports = window.ReactDOM;
 101      }
 102    });
 103  
 104    // 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
 105    var require_use_sync_external_store_shim_development = __commonJS({
 106      "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) {
 107        "use strict";
 108        (function() {
 109          function is(x, y) {
 110            return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
 111          }
 112          function useSyncExternalStore$2(subscribe, getSnapshot) {
 113            didWarnOld18Alpha || void 0 === React101.startTransition || (didWarnOld18Alpha = true, console.error(
 114              "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."
 115            ));
 116            var value = getSnapshot();
 117            if (!didWarnUncachedGetSnapshot) {
 118              var cachedValue = getSnapshot();
 119              objectIs(value, cachedValue) || (console.error(
 120                "The result of getSnapshot should be cached to avoid an infinite loop"
 121              ), didWarnUncachedGetSnapshot = true);
 122            }
 123            cachedValue = useState32({
 124              inst: { value, getSnapshot }
 125            });
 126            var inst = cachedValue[0].inst, forceUpdate = cachedValue[1];
 127            useLayoutEffect4(
 128              function() {
 129                inst.value = value;
 130                inst.getSnapshot = getSnapshot;
 131                checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 132              },
 133              [subscribe, value, getSnapshot]
 134            );
 135            useEffect21(
 136              function() {
 137                checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 138                return subscribe(function() {
 139                  checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 140                });
 141              },
 142              [subscribe]
 143            );
 144            useDebugValue2(value);
 145            return value;
 146          }
 147          function checkIfSnapshotChanged(inst) {
 148            var latestGetSnapshot = inst.getSnapshot;
 149            inst = inst.value;
 150            try {
 151              var nextValue = latestGetSnapshot();
 152              return !objectIs(inst, nextValue);
 153            } catch (error2) {
 154              return true;
 155            }
 156          }
 157          function useSyncExternalStore$1(subscribe, getSnapshot) {
 158            return getSnapshot();
 159          }
 160          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
 161          var React101 = require_react(), objectIs = "function" === typeof Object.is ? Object.is : is, useState32 = React101.useState, useEffect21 = React101.useEffect, useLayoutEffect4 = React101.useLayoutEffect, useDebugValue2 = React101.useDebugValue, didWarnOld18Alpha = false, didWarnUncachedGetSnapshot = false, shim = "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2;
 162          exports.useSyncExternalStore = void 0 !== React101.useSyncExternalStore ? React101.useSyncExternalStore : shim;
 163          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
 164        })();
 165      }
 166    });
 167  
 168    // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/index.js
 169    var require_shim = __commonJS({
 170      "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/index.js"(exports, module) {
 171        "use strict";
 172        if (false) {
 173          module.exports = null;
 174        } else {
 175          module.exports = require_use_sync_external_store_shim_development();
 176        }
 177      }
 178    });
 179  
 180    // 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
 181    var require_with_selector_development = __commonJS({
 182      "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) {
 183        "use strict";
 184        (function() {
 185          function is(x, y) {
 186            return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
 187          }
 188          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
 189          var React101 = require_react(), shim = require_shim(), objectIs = "function" === typeof Object.is ? Object.is : is, useSyncExternalStore3 = shim.useSyncExternalStore, useRef46 = React101.useRef, useEffect21 = React101.useEffect, useMemo31 = React101.useMemo, useDebugValue2 = React101.useDebugValue;
 190          exports.useSyncExternalStoreWithSelector = function(subscribe, getSnapshot, getServerSnapshot, selector, isEqual) {
 191            var instRef = useRef46(null);
 192            if (null === instRef.current) {
 193              var inst = { hasValue: false, value: null };
 194              instRef.current = inst;
 195            } else inst = instRef.current;
 196            instRef = useMemo31(
 197              function() {
 198                function memoizedSelector(nextSnapshot) {
 199                  if (!hasMemo) {
 200                    hasMemo = true;
 201                    memoizedSnapshot = nextSnapshot;
 202                    nextSnapshot = selector(nextSnapshot);
 203                    if (void 0 !== isEqual && inst.hasValue) {
 204                      var currentSelection = inst.value;
 205                      if (isEqual(currentSelection, nextSnapshot))
 206                        return memoizedSelection = currentSelection;
 207                    }
 208                    return memoizedSelection = nextSnapshot;
 209                  }
 210                  currentSelection = memoizedSelection;
 211                  if (objectIs(memoizedSnapshot, nextSnapshot))
 212                    return currentSelection;
 213                  var nextSelection = selector(nextSnapshot);
 214                  if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))
 215                    return memoizedSnapshot = nextSnapshot, currentSelection;
 216                  memoizedSnapshot = nextSnapshot;
 217                  return memoizedSelection = nextSelection;
 218                }
 219                var hasMemo = false, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot;
 220                return [
 221                  function() {
 222                    return memoizedSelector(getSnapshot());
 223                  },
 224                  null === maybeGetServerSnapshot ? void 0 : function() {
 225                    return memoizedSelector(maybeGetServerSnapshot());
 226                  }
 227                ];
 228              },
 229              [getSnapshot, getServerSnapshot, selector, isEqual]
 230            );
 231            var value = useSyncExternalStore3(subscribe, instRef[0], instRef[1]);
 232            useEffect21(
 233              function() {
 234                inst.hasValue = true;
 235                inst.value = value;
 236              },
 237              [value]
 238            );
 239            useDebugValue2(value);
 240            return value;
 241          };
 242          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
 243        })();
 244      }
 245    });
 246  
 247    // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/with-selector.js
 248    var require_with_selector = __commonJS({
 249      "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/with-selector.js"(exports, module) {
 250        "use strict";
 251        if (false) {
 252          module.exports = null;
 253        } else {
 254          module.exports = require_with_selector_development();
 255        }
 256      }
 257    });
 258  
 259    // package-external:@wordpress/compose
 260    var require_compose = __commonJS({
 261      "package-external:@wordpress/compose"(exports, module) {
 262        module.exports = window.wp.compose;
 263      }
 264    });
 265  
 266    // package-external:@wordpress/a11y
 267    var require_a11y = __commonJS({
 268      "package-external:@wordpress/a11y"(exports, module) {
 269        module.exports = window.wp.a11y;
 270      }
 271    });
 272  
 273    // package-external:@wordpress/url
 274    var require_url = __commonJS({
 275      "package-external:@wordpress/url"(exports, module) {
 276        module.exports = window.wp.url;
 277      }
 278    });
 279  
 280    // package-external:@wordpress/html-entities
 281    var require_html_entities = __commonJS({
 282      "package-external:@wordpress/html-entities"(exports, module) {
 283        module.exports = window.wp.htmlEntities;
 284      }
 285    });
 286  
 287    // package-external:@wordpress/data
 288    var require_data = __commonJS({
 289      "package-external:@wordpress/data"(exports, module) {
 290        module.exports = window.wp.data;
 291      }
 292    });
 293  
 294    // packages/format-library/build-module/index.mjs
 295    var import_rich_text18 = __toESM(require_rich_text(), 1);
 296  
 297    // packages/format-library/build-module/bold/index.mjs
 298    var import_i18n = __toESM(require_i18n(), 1);
 299    var import_rich_text = __toESM(require_rich_text(), 1);
 300    var import_block_editor = __toESM(require_block_editor(), 1);
 301  
 302    // packages/icons/build-module/icon/index.mjs
 303    var import_element = __toESM(require_element(), 1);
 304    var icon_default = (0, import_element.forwardRef)(
 305      ({ icon: icon2, size: size4 = 24, style, ...props }, ref) => {
 306        const intrinsicStyle = icon2.props.style;
 307        const mergedStyle = intrinsicStyle || style ? { ...intrinsicStyle, ...style } : void 0;
 308        return (0, import_element.cloneElement)(icon2, {
 309          width: size4,
 310          height: size4,
 311          ...props,
 312          // Merge styles so the icon's intrinsic style (e.g. `fill: none` on
 313          // stroke-based icons) is preserved unless the consumer overrides
 314          // the same property explicitly.
 315          ...mergedStyle ? { style: mergedStyle } : {},
 316          ref
 317        });
 318      }
 319    );
 320  
 321    // packages/icons/build-module/library/button.mjs
 322    var import_primitives = __toESM(require_primitives(), 1);
 323    var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
 324    var button_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: "M8 11.75H16M5 16.25H19C19.6904 16.25 20.25 15.6904 20.25 15V8.5C20.25 7.80964 19.6904 7.25 19 7.25H5C4.30964 7.25 3.75 7.80964 3.75 8.5V15C3.75 15.6904 4.30964 16.25 5 16.25Z" }) });
 325  
 326    // packages/icons/build-module/library/check.mjs
 327    var import_primitives2 = __toESM(require_primitives(), 1);
 328    var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
 329    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" }) });
 330  
 331    // packages/icons/build-module/library/chevron-down.mjs
 332    var import_primitives3 = __toESM(require_primitives(), 1);
 333    var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
 334    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" }) });
 335  
 336    // packages/icons/build-module/library/code.mjs
 337    var import_primitives4 = __toESM(require_primitives(), 1);
 338    var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
 339    var code_default = /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_primitives4.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_primitives4.Path, { d: "M7.99997 7L3.70708 11.2929C3.31655 11.6834 3.31655 12.3166 3.70708 12.7071L7.99997 17M16 17L20.2929 12.7071C20.6834 12.3166 20.6834 11.6834 20.2929 11.2929L16 7", strokeLinejoin: "round" }) });
 340  
 341    // packages/icons/build-module/library/color.mjs
 342    var import_primitives5 = __toESM(require_primitives(), 1);
 343    var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
 344    var color_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: "M17.25 14C17.25 16.8995 14.8995 19.25 12 19.25C9.10051 19.25 6.75 16.8995 6.75 14C6.75 11.1005 10 7.37 12 5.12C14 7.37 17.25 11.1005 17.25 14Z" }) });
 345  
 346    // packages/icons/build-module/library/error.mjs
 347    var import_primitives6 = __toESM(require_primitives(), 1);
 348    var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);
 349    var error_default = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_primitives6.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_primitives6.Path, { d: "M12 9L12 14M12 15.5V17M11.1284 5.04947L3.83827 18.0097C3.46331 18.6763 3.94502 19.5 4.70985 19.5H19.2902C20.055 19.5 20.5367 18.6763 20.1617 18.0097L12.8716 5.04947C12.4893 4.36982 11.5107 4.36982 11.1284 5.04947Z" }) });
 350  
 351    // packages/icons/build-module/library/format-bold.mjs
 352    var import_primitives7 = __toESM(require_primitives(), 1);
 353    var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1);
 354    var format_bold_default = /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_primitives7.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
 355      /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_primitives7.Path, { d: "M7.75 11.5V18H13.25C15.0449 18 16.5 16.5449 16.5 14.75C16.5 12.9551 15.0449 11.5 13.25 11.5H13M7.75 11.5V6H12.7441C14.2661 6 15.5 7.23387 15.5 8.75592C15.5 10.1718 14.4088 11.3591 13 11.5M7.75 11.5H13" }),
 356      /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_primitives7.Path, { d: "M8.25 11.75V17.5H12.8642C14.5503 17.5 15.8744 16.0557 15.7283 14.3759C15.5992 12.8903 14.3554 11.75 12.8642 11.75H8.25ZM8.25 11.75V11.25M8.25 11.25V6.5H12.625C13.9367 6.5 15 7.56332 15 8.875C15 10.1867 13.9367 11.25 12.625 11.25H8.25Z" })
 357    ] });
 358  
 359    // packages/icons/build-module/library/format-italic.mjs
 360    var import_primitives8 = __toESM(require_primitives(), 1);
 361    var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1);
 362    var format_italic_default = /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_primitives8.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_primitives8.Path, { d: "M11 19L13.5 5" }) });
 363  
 364    // packages/icons/build-module/library/format-strikethrough.mjs
 365    var import_primitives9 = __toESM(require_primitives(), 1);
 366    var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1);
 367    var format_strikethrough_default = /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_primitives9.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_primitives9.Path, { d: "M9 16.1554C12 18.02 15 16.5283 15 14.2908C15 13.6314 14.6839 12.999 14.1213 12.5328C14.108 12.5217 14.0945 12.5108 14.081 12.5M9 9.31845C9 7.49773 11.4313 6.3247 13.9199 7.4278M5.5 12.5H14.081M18.5 12.5H14.081", strokeLinecap: "square" }) });
 368  
 369    // packages/icons/build-module/library/help.mjs
 370    var import_primitives10 = __toESM(require_primitives(), 1);
 371    var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1);
 372    var help_default = /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_primitives10.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
 373      /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_primitives10.Path, { d: "M9.75 10.25C9.75 9.00736 10.7574 8 12 8C13.2426 8 14.25 9.00736 14.25 10.25C14.25 11.4083 13.3748 12.3621 12.2496 12.4863C12.1124 12.5015 12 12.6119 12 12.75V14M12 15V16.5" }),
 374      /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_primitives10.Path, { d: "M19.25 12C19.25 16.0041 16.0041 19.25 12 19.25C7.99594 19.25 4.75 16.0041 4.75 12C4.75 7.99594 7.99594 4.75 12 4.75C16.0041 4.75 19.25 7.99594 19.25 12Z", strokeLinejoin: "round" })
 375    ] });
 376  
 377    // packages/icons/build-module/library/inline-image.mjs
 378    var import_primitives11 = __toESM(require_primitives(), 1);
 379    var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1);
 380    var inline_image_default = /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_primitives11.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_primitives11.Path, { d: "M13.25 11.3197L11.4155 9.48453C11.3765 9.44547 11.3132 9.44546 11.2741 9.48452L9.05837 11.7003C9.02448 11.7341 8.97132 11.7392 8.93163 11.7124L7.0648 10.4495C7.03003 10.426 6.98426 10.4267 6.95022 10.4513L4.75 12.0405M13.25 11.3197V7C13.25 6.30964 12.6904 5.75 12 5.75H6C5.30964 5.75 4.75 6.30965 4.75 7V12.0405M13.25 11.3197V13C13.25 13.6904 12.6904 14.25 12 14.25H6C5.30964 14.25 4.75 13.6904 4.75 13V12.0405M16 14H20M4 18H20" }) });
 381  
 382    // packages/icons/build-module/library/language.mjs
 383    var import_primitives12 = __toESM(require_primitives(), 1);
 384    var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1);
 385    var language_default = /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_primitives12.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
 386      /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_primitives12.Path, { d: "M3 6H9.5M16 6H13.5M9.5 6V3M9.5 6H13.5M13.5 6C13.0477 7.24386 11.7361 9.79194 9.44037 12.5512M5.5 16.5C7.04336 15.2139 8.35238 13.8588 9.44037 12.5512M6.5 8C6.9232 8.9522 7.93743 10.7507 9.44037 12.5512M12.5 15.5C11.3314 14.6235 10.305 13.587 9.44037 12.5512" }),
 387      /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_primitives12.Path, { d: "M13.75 20V19.75L14.6667 17M14.6667 17L16.75 10.75H17.25L19.3333 17L20.25 19.75V20M19.3333 17H14.6667" })
 388    ] });
 389  
 390    // packages/icons/build-module/library/link.mjs
 391    var import_primitives13 = __toESM(require_primitives(), 1);
 392    var import_jsx_runtime13 = __toESM(require_jsx_runtime(), 1);
 393    var link_default = /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_primitives13.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_runtime13.jsx)(import_primitives13.Path, { d: "M9.5 12L14.5 12M10 7.75H8.25C5.90279 7.75 4 9.65279 4 12C4 14.3472 5.90279 16.25 8.25 16.25H10M14 16.25H15.75C18.0972 16.25 20 14.3472 20 12C20 9.65279 18.0972 7.75 15.75 7.75L14 7.75" }) });
 394  
 395    // packages/icons/build-module/library/math.mjs
 396    var import_primitives14 = __toESM(require_primitives(), 1);
 397    var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1);
 398    var math_default = /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_primitives14.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_runtime14.jsx)(import_primitives14.Path, { d: "M3 14H5L6.8916 16.3645C6.93974 16.4247 7.03496 16.4101 7.06289 16.3383L10.2521 8.13755C10.4015 7.75318 10.7717 7.5 11.1841 7.5H19M17 11L14.5 13.5M12 16L14.5 13.5M14.5 13.5L17 16M14.5 13.5L12 11" }) });
 399  
 400    // packages/icons/build-module/library/published.mjs
 401    var import_primitives15 = __toESM(require_primitives(), 1);
 402    var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1);
 403    var published_default = /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_primitives15.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
 404      /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_primitives15.Path, { d: "M12 19.25C16.0041 19.25 19.25 16.0041 19.25 12C19.25 7.99594 16.0041 4.75 12 4.75C7.99594 4.75 4.75 7.99594 4.75 12C4.75 16.0041 7.99594 19.25 12 19.25Z", strokeLinejoin: "round" }),
 405      /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_primitives15.Path, { d: "M9 12L11 14L15 10" })
 406    ] });
 407  
 408    // packages/icons/build-module/library/subscript.mjs
 409    var import_primitives16 = __toESM(require_primitives(), 1);
 410    var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);
 411    var subscript_default = /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_primitives16.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
 412      /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_primitives16.Path, { d: "M17.75 18.5988H15.75C15.75 16.5322 17.75 17.0489 17.75 15.4989C17.75 14.7239 16.75 14.0738 15.75 14.8488", strokeLinecap: "square" }),
 413      /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_primitives16.Path, { d: "M10 12L13 7.4V7M10 12L7 7.4L7.00004 7M10 12L7 16.6V17M10 12L13 16.6V17" })
 414    ] });
 415  
 416    // packages/icons/build-module/library/superscript.mjs
 417    var import_primitives17 = __toESM(require_primitives(), 1);
 418    var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);
 419    var superscript_default = /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_primitives17.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
 420      /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_primitives17.Path, { d: "M17.75 8.59884H15.75C15.75 6.53219 17.75 7.04885 17.75 5.49887C17.75 4.72388 16.75 4.07384 15.75 4.84884", strokeLinecap: "square" }),
 421      /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_primitives17.Path, { d: "M10 12L13 7.4V7M10 12L7 7.4L7.00004 7M10 12L7 16.6V17M10 12L13 16.6V17" })
 422    ] });
 423  
 424    // packages/icons/build-module/library/text-color.mjs
 425    var import_primitives18 = __toESM(require_primitives(), 1);
 426    var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1);
 427    var text_color_default = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_primitives18.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_primitives18.Path, { d: "M8 17.5V17.223L9.01577 14.1757M9.01577 14.1757L11.3243 7.25H11.8784L14.1869 14.1757L15.2027 17.223V17.5M14.1869 14.1757H9.01577" }) });
 428  
 429    // packages/format-library/build-module/bold/index.mjs
 430    var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1);
 431    var name = "core/bold";
 432    var title = (0, import_i18n.__)("Bold");
 433    var bold = {
 434      name,
 435      title,
 436      tagName: "strong",
 437      className: null,
 438      edit({
 439        isActive,
 440        value,
 441        onChange,
 442        onFocus,
 443        isVisible = true
 444      }) {
 445        function onToggle() {
 446          onChange((0, import_rich_text.toggleFormat)(value, { type: name, title }));
 447        }
 448        function onClick() {
 449          onChange((0, import_rich_text.toggleFormat)(value, { type: name, title }));
 450          onFocus();
 451        }
 452        return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
 453          /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
 454            import_block_editor.RichTextShortcut,
 455            {
 456              type: "primary",
 457              character: "b",
 458              onUse: onToggle
 459            }
 460          ),
 461          isVisible && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
 462            import_block_editor.RichTextToolbarButton,
 463            {
 464              name: "bold",
 465              icon: format_bold_default,
 466              title,
 467              onClick,
 468              isActive,
 469              shortcutType: "primary",
 470              shortcutCharacter: "b"
 471            }
 472          ),
 473          /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
 474            import_block_editor.__unstableRichTextInputEvent,
 475            {
 476              inputType: "formatBold",
 477              onInput: onToggle
 478            }
 479          )
 480        ] });
 481      }
 482    };
 483  
 484    // packages/format-library/build-module/code/index.mjs
 485    var import_i18n2 = __toESM(require_i18n(), 1);
 486    var import_rich_text2 = __toESM(require_rich_text(), 1);
 487    var import_block_editor2 = __toESM(require_block_editor(), 1);
 488    var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1);
 489    var name2 = "core/code";
 490    var title2 = (0, import_i18n2.__)("Inline code");
 491    var code = {
 492      name: name2,
 493      title: title2,
 494      tagName: "code",
 495      className: null,
 496      __unstableInputRule(value) {
 497        const BACKTICK = "`";
 498        const { start, text } = value;
 499        if (start === void 0) {
 500          return value;
 501        }
 502        const characterBefore = text[start - 1];
 503        if (characterBefore !== BACKTICK) {
 504          return value;
 505        }
 506        if (start - 2 < 0) {
 507          return value;
 508        }
 509        const indexBefore = text.lastIndexOf(BACKTICK, start - 2);
 510        if (indexBefore === -1) {
 511          return value;
 512        }
 513        const startIndex = indexBefore;
 514        const endIndex = start - 2;
 515        if (startIndex === endIndex) {
 516          return value;
 517        }
 518        value = (0, import_rich_text2.remove)(value, startIndex, startIndex + 1);
 519        value = (0, import_rich_text2.remove)(value, endIndex, endIndex + 1);
 520        value = (0, import_rich_text2.applyFormat)(value, { type: name2 }, startIndex, endIndex);
 521        return value;
 522      },
 523      edit({
 524        value,
 525        onChange,
 526        onFocus,
 527        isActive
 528      }) {
 529        function onClick() {
 530          onChange((0, import_rich_text2.toggleFormat)(value, { type: name2, title: title2 }));
 531          onFocus();
 532        }
 533        return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
 534          /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
 535            import_block_editor2.RichTextShortcut,
 536            {
 537              type: "access",
 538              character: "x",
 539              onUse: onClick
 540            }
 541          ),
 542          /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
 543            import_block_editor2.RichTextToolbarButton,
 544            {
 545              icon: code_default,
 546              title: title2,
 547              onClick,
 548              isActive,
 549              role: "menuitemcheckbox"
 550            }
 551          )
 552        ] });
 553      }
 554    };
 555  
 556    // packages/format-library/build-module/image/index.mjs
 557    var import_components = __toESM(require_components(), 1);
 558  
 559    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useRenderElement.mjs
 560    var React4 = __toESM(require_react(), 1);
 561  
 562    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useRefWithInit.mjs
 563    var React = __toESM(require_react(), 1);
 564    var UNINITIALIZED = {};
 565    function useRefWithInit(init, initArg) {
 566      const ref = React.useRef(UNINITIALIZED);
 567      if (ref.current === UNINITIALIZED) {
 568        ref.current = init(initArg);
 569      }
 570      return ref;
 571    }
 572  
 573    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useMergedRefs.mjs
 574    function useMergedRefs(a, b, c, d) {
 575      const forkRef = useRefWithInit(createForkRef).current;
 576      if (didChange(forkRef, a, b, c, d)) {
 577        update(forkRef, [a, b, c, d]);
 578      }
 579      return forkRef.callback;
 580    }
 581    function useMergedRefsN(refs) {
 582      const forkRef = useRefWithInit(createForkRef).current;
 583      if (didChangeN(forkRef, refs)) {
 584        update(forkRef, refs);
 585      }
 586      return forkRef.callback;
 587    }
 588    function createForkRef() {
 589      return {
 590        callback: null,
 591        cleanup: null,
 592        refs: []
 593      };
 594    }
 595    function didChange(forkRef, a, b, c, d) {
 596      return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c || forkRef.refs[3] !== d;
 597    }
 598    function didChangeN(forkRef, newRefs) {
 599      return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index3) => ref !== newRefs[index3]);
 600    }
 601    function update(forkRef, refs) {
 602      forkRef.refs = refs;
 603      if (refs.every((ref) => ref == null)) {
 604        forkRef.callback = null;
 605        return;
 606      }
 607      forkRef.callback = (instance) => {
 608        if (forkRef.cleanup) {
 609          forkRef.cleanup();
 610          forkRef.cleanup = null;
 611        }
 612        if (instance != null) {
 613          const cleanupCallbacks = Array(refs.length).fill(null);
 614          for (let i = 0; i < refs.length; i += 1) {
 615            const ref = refs[i];
 616            if (ref == null) {
 617              continue;
 618            }
 619            switch (typeof ref) {
 620              case "function": {
 621                const refCleanup = ref(instance);
 622                if (typeof refCleanup === "function") {
 623                  cleanupCallbacks[i] = refCleanup;
 624                }
 625                break;
 626              }
 627              case "object": {
 628                ref.current = instance;
 629                break;
 630              }
 631              default:
 632            }
 633          }
 634          forkRef.cleanup = () => {
 635            for (let i = 0; i < refs.length; i += 1) {
 636              const ref = refs[i];
 637              if (ref == null) {
 638                continue;
 639              }
 640              switch (typeof ref) {
 641                case "function": {
 642                  const cleanupCallback = cleanupCallbacks[i];
 643                  if (typeof cleanupCallback === "function") {
 644                    cleanupCallback();
 645                  } else {
 646                    void ref(null);
 647                  }
 648                  break;
 649                }
 650                case "object": {
 651                  ref.current = null;
 652                  break;
 653                }
 654                default:
 655              }
 656            }
 657          };
 658        }
 659      };
 660    }
 661  
 662    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/getReactElementRef.mjs
 663    var React3 = __toESM(require_react(), 1);
 664  
 665    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/reactVersion.mjs
 666    var React2 = __toESM(require_react(), 1);
 667    var majorVersion = parseInt(React2.version, 10);
 668    function isReactVersionAtLeast(reactVersionToCheck) {
 669      return majorVersion >= reactVersionToCheck;
 670    }
 671  
 672    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/getReactElementRef.mjs
 673    function getReactElementRef(element) {
 674      if (!/* @__PURE__ */ React3.isValidElement(element)) {
 675        return null;
 676      }
 677      const reactElement = element;
 678      const propsWithRef = reactElement.props;
 679      return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;
 680    }
 681  
 682    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/mergeObjects.mjs
 683    function mergeObjects(a, b) {
 684      if (a && !b) {
 685        return a;
 686      }
 687      if (!a && b) {
 688        return b;
 689      }
 690      if (a || b) {
 691        return {
 692          ...a,
 693          ...b
 694        };
 695      }
 696      return void 0;
 697    }
 698  
 699    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/createLogOnce.mjs
 700    var loggedMessages;
 701    if (true) {
 702      loggedMessages = /* @__PURE__ */ new Set();
 703    }
 704    function createLogOnce(severity, prefix) {
 705      return function logOnce(...messages) {
 706        if (true) {
 707          const message = messages.join(" ");
 708          const output = prefix ? `$prefix}: $message}` : message;
 709          const key = `$severity}:$output}`;
 710          if (!loggedMessages.has(key)) {
 711            loggedMessages.add(key);
 712            if (severity === "warn") {
 713              console.warn(output);
 714            } else {
 715              console.error(output);
 716            }
 717          }
 718        }
 719      };
 720    }
 721  
 722    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/warn.mjs
 723    var warn = createLogOnce("warn", "Base UI");
 724  
 725    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/empty.mjs
 726    function NOOP() {
 727    }
 728    var EMPTY_ARRAY = Object.freeze([]);
 729    var EMPTY_OBJECT = Object.freeze({});
 730  
 731    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/getStateAttributesProps.mjs
 732    function getStateAttributesProps(state, customMapping) {
 733      const props = {};
 734      for (const key in state) {
 735        const value = state[key];
 736        if (customMapping?.hasOwnProperty(key)) {
 737          const customProps = customMapping[key](value);
 738          if (customProps != null) {
 739            Object.assign(props, customProps);
 740          }
 741          continue;
 742        }
 743        if (value === true) {
 744          props[`data-$key.toLowerCase()}`] = "";
 745        } else if (value) {
 746          props[`data-$key.toLowerCase()}`] = value.toString();
 747        }
 748      }
 749      return props;
 750    }
 751  
 752    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveClassName.mjs
 753    function resolveClassName(className, state) {
 754      return typeof className === "function" ? className(state) : className;
 755    }
 756  
 757    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveStyle.mjs
 758    function resolveStyle(style, state) {
 759      return typeof style === "function" ? style(state) : style;
 760    }
 761  
 762    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/merge-props/mergeProps.mjs
 763    var EMPTY_PROPS = {};
 764    function mergeProps(a, b, c, d, e) {
 765      if (!c && !d && !e && !a) {
 766        return createInitialMergedProps(b);
 767      }
 768      let merged = createInitialMergedProps(a);
 769      if (b) {
 770        merged = mergeInto(merged, b);
 771      }
 772      if (c) {
 773        merged = mergeInto(merged, c);
 774      }
 775      if (d) {
 776        merged = mergeInto(merged, d);
 777      }
 778      if (e) {
 779        merged = mergeInto(merged, e);
 780      }
 781      return merged;
 782    }
 783    function mergePropsN(props) {
 784      if (props.length === 0) {
 785        return EMPTY_PROPS;
 786      }
 787      if (props.length === 1) {
 788        return createInitialMergedProps(props[0]);
 789      }
 790      let merged = createInitialMergedProps(props[0]);
 791      for (let i = 1; i < props.length; i += 1) {
 792        merged = mergeInto(merged, props[i]);
 793      }
 794      return merged;
 795    }
 796    function createInitialMergedProps(inputProps) {
 797      if (isPropsGetter(inputProps)) {
 798        return {
 799          ...inputProps(EMPTY_PROPS)
 800        };
 801      }
 802      return copyInitialProps(inputProps);
 803    }
 804    function mergeInto(merged, inputProps) {
 805      if (isPropsGetter(inputProps)) {
 806        return inputProps(merged);
 807      }
 808      return mutablyMergeInto(merged, inputProps);
 809    }
 810    function copyInitialProps(inputProps) {
 811      const copiedProps = {
 812        ...inputProps
 813      };
 814      for (const propName in copiedProps) {
 815        const propValue = copiedProps[propName];
 816        if (isEventHandler(propName, propValue)) {
 817          copiedProps[propName] = wrapEventHandler(propValue);
 818        }
 819      }
 820      return copiedProps;
 821    }
 822    function mutablyMergeInto(mergedProps, externalProps) {
 823      if (!externalProps) {
 824        return mergedProps;
 825      }
 826      for (const propName in externalProps) {
 827        const externalPropValue = externalProps[propName];
 828        switch (propName) {
 829          case "style": {
 830            mergedProps[propName] = mergeObjects(mergedProps.style, externalPropValue);
 831            break;
 832          }
 833          case "className": {
 834            mergedProps[propName] = mergeClassNames(mergedProps.className, externalPropValue);
 835            break;
 836          }
 837          default: {
 838            if (isEventHandler(propName, externalPropValue)) {
 839              mergedProps[propName] = mergeEventHandlers(mergedProps[propName], externalPropValue);
 840            } else {
 841              mergedProps[propName] = externalPropValue;
 842            }
 843          }
 844        }
 845      }
 846      return mergedProps;
 847    }
 848    function isEventHandler(key, value) {
 849      const code0 = key.charCodeAt(0);
 850      const code1 = key.charCodeAt(1);
 851      const code2 = key.charCodeAt(2);
 852      return code0 === 111 && code1 === 110 && code2 >= 65 && code2 <= 90 && (typeof value === "function" || typeof value === "undefined");
 853    }
 854    function isPropsGetter(inputProps) {
 855      return typeof inputProps === "function";
 856    }
 857    function mergeEventHandlers(ourHandler, theirHandler) {
 858      if (!theirHandler) {
 859        return ourHandler;
 860      }
 861      if (!ourHandler) {
 862        return wrapEventHandler(theirHandler);
 863      }
 864      return (...args) => {
 865        const event = args[0];
 866        if (isSyntheticEvent(event)) {
 867          const baseUIEvent = event;
 868          makeEventPreventable(baseUIEvent);
 869          const result2 = theirHandler(...args);
 870          if (!baseUIEvent.baseUIHandlerPrevented) {
 871            ourHandler?.(...args);
 872          }
 873          return result2;
 874        }
 875        const result = theirHandler(...args);
 876        ourHandler?.(...args);
 877        return result;
 878      };
 879    }
 880    function wrapEventHandler(handler) {
 881      if (!handler) {
 882        return handler;
 883      }
 884      return (...args) => {
 885        const event = args[0];
 886        if (isSyntheticEvent(event)) {
 887          makeEventPreventable(event);
 888        }
 889        return handler(...args);
 890      };
 891    }
 892    function makeEventPreventable(event) {
 893      event.preventBaseUIHandler = () => {
 894        event.baseUIHandlerPrevented = true;
 895      };
 896      return event;
 897    }
 898    function mergeClassNames(ourClassName, theirClassName) {
 899      if (theirClassName) {
 900        if (ourClassName) {
 901          return theirClassName + " " + ourClassName;
 902        }
 903        return theirClassName;
 904      }
 905      return ourClassName;
 906    }
 907    function isSyntheticEvent(event) {
 908      return event != null && typeof event === "object" && "nativeEvent" in event;
 909    }
 910  
 911    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useRenderElement.mjs
 912    var import_react = __toESM(require_react(), 1);
 913    function useRenderElement(element, componentProps, params = {}) {
 914      let renderProp = componentProps.render;
 915      if (params.enabled !== false) {
 916        renderProp = unwrapLazyRenderProp(renderProp);
 917      }
 918      const outProps = useRenderElementProps(componentProps, params, renderProp);
 919      if (params.enabled === false) {
 920        return null;
 921      }
 922      const state = params.state ?? EMPTY_OBJECT;
 923      return evaluateRenderProp(element, renderProp, outProps, state);
 924    }
 925    function useRenderElementProps(componentProps, params, renderProp) {
 926      const {
 927        className: classNameProp,
 928        style: styleProp
 929      } = componentProps;
 930      const {
 931        state = EMPTY_OBJECT,
 932        ref,
 933        props,
 934        stateAttributesMapping: stateAttributesMapping8,
 935        enabled = true
 936      } = params;
 937      const className = enabled ? resolveClassName(classNameProp, state) : void 0;
 938      const style = enabled ? resolveStyle(styleProp, state) : void 0;
 939      const stateProps = enabled ? getStateAttributesProps(state, stateAttributesMapping8) : EMPTY_OBJECT;
 940      const resolvedProps = enabled && props ? resolveRenderFunctionProps(props) : void 0;
 941      const outProps = enabled ? mergeObjects(stateProps, resolvedProps) ?? {} : EMPTY_OBJECT;
 942      if (typeof document !== "undefined") {
 943        if (!enabled) {
 944          void useMergedRefs(null, null);
 945        } else if (Array.isArray(ref)) {
 946          outProps.ref = useMergedRefsN([outProps.ref, getReactElementRef(renderProp), ...ref]);
 947        } else {
 948          outProps.ref = useMergedRefs(outProps.ref, getReactElementRef(renderProp), ref);
 949        }
 950      }
 951      if (!enabled) {
 952        return EMPTY_OBJECT;
 953      }
 954      if (className !== void 0) {
 955        outProps.className = mergeClassNames(outProps.className, className);
 956      }
 957      if (style !== void 0) {
 958        outProps.style = mergeObjects(outProps.style, style);
 959      }
 960      return outProps;
 961    }
 962    function resolveRenderFunctionProps(props) {
 963      if (Array.isArray(props)) {
 964        return mergePropsN(props);
 965      }
 966      return mergeProps(void 0, props);
 967    }
 968    var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy");
 969    var COMPONENT_IDENTIFIER_PATTERN = /^[A-Z][A-Za-z0-9$]*$/;
 970    var LOWERCASE_CHARACTER_PATTERN = /[a-z]/;
 971    function unwrapLazyRenderProp(render) {
 972      if (render?.$$typeof !== REACT_LAZY_TYPE) {
 973        return render;
 974      }
 975      const unwrapped = React4.Children.toArray(render)[0];
 976      return /* @__PURE__ */ React4.isValidElement(unwrapped) ? unwrapped : render;
 977    }
 978    function evaluateRenderProp(element, render, props, state) {
 979      if (render) {
 980        if (typeof render === "function") {
 981          if (true) {
 982            warnIfRenderPropLooksLikeComponent(render);
 983          }
 984          return render(props, state);
 985        }
 986        const mergedProps = mergeProps(props, render.props);
 987        mergedProps.ref = props.ref;
 988        if (true) {
 989          if (!/* @__PURE__ */ React4.isValidElement(render)) {
 990            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"));
 991          }
 992        }
 993        return /* @__PURE__ */ React4.cloneElement(render, mergedProps);
 994      }
 995      return renderTag(element, props);
 996    }
 997    function warnIfRenderPropLooksLikeComponent(renderFn) {
 998      const functionName = renderFn.name;
 999      if (functionName.length === 0) {
1000        return;
1001      }
1002      if (!COMPONENT_IDENTIFIER_PATTERN.test(functionName)) {
1003        return;
1004      }
1005      if (!LOWERCASE_CHARACTER_PATTERN.test(functionName)) {
1006        return;
1007      }
1008      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");
1009    }
1010    function renderTag(Tag, props) {
1011      if (Tag === "button") {
1012        return /* @__PURE__ */ (0, import_react.createElement)("button", {
1013          type: "button",
1014          ...props,
1015          key: props.key
1016        });
1017      }
1018      if (Tag === "img") {
1019        return /* @__PURE__ */ (0, import_react.createElement)("img", {
1020          alt: "",
1021          ...props,
1022          key: props.key
1023        });
1024      }
1025      return /* @__PURE__ */ React4.createElement(Tag, props);
1026    }
1027  
1028    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/safeReact.mjs
1029    var React5 = __toESM(require_react(), 1);
1030    var SafeReact = {
1031      ...React5
1032    };
1033  
1034    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useStableCallback.mjs
1035    var useInsertionEffect = SafeReact.useInsertionEffect;
1036    var useSafeInsertionEffect = (
1037      // React 17 doesn't have useInsertionEffect.
1038      useInsertionEffect && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
1039      useInsertionEffect !== SafeReact.useLayoutEffect ? useInsertionEffect : (fn) => fn()
1040    );
1041    function useStableCallback(callback) {
1042      const stable = useRefWithInit(createStableCallback).current;
1043      stable.next = callback;
1044      useSafeInsertionEffect(stable.effect);
1045      return stable.trampoline;
1046    }
1047    function createStableCallback() {
1048      const stable = {
1049        next: void 0,
1050        callback: assertNotCalled,
1051        trampoline: (...args) => stable.callback?.(...args),
1052        effect: () => {
1053          stable.callback = stable.next;
1054        }
1055      };
1056      return stable;
1057    }
1058    function assertNotCalled() {
1059      if (true) {
1060        throw (
1061          /* minify-error-disabled */
1062          new Error("Base UI: Cannot call an event handler while rendering.")
1063        );
1064      }
1065    }
1066  
1067    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useIsoLayoutEffect.mjs
1068    var React6 = __toESM(require_react(), 1);
1069    var noop = () => {
1070    };
1071    var useIsoLayoutEffect = typeof document !== "undefined" ? React6.useLayoutEffect : noop;
1072  
1073    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
1074    var React8 = __toESM(require_react(), 1);
1075  
1076    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
1077    var ReactDOM = __toESM(require_react_dom(), 1);
1078  
1079    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useOnMount.mjs
1080    var React7 = __toESM(require_react(), 1);
1081    function useOnMount(fn) {
1082      React7.useEffect(fn, EMPTY_ARRAY);
1083    }
1084  
1085    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useAnimationFrame.mjs
1086    var EMPTY = null;
1087    var LAST_RAF = globalThis.requestAnimationFrame;
1088    var Scheduler = class {
1089      /* This implementation uses an array as a backing data-structure for frame callbacks.
1090       * It allows `O(1)` callback cancelling by inserting a `null` in the array, though it
1091       * never calls the native `cancelAnimationFrame` if there are no frames left. This can
1092       * be much more efficient if there is a call pattern that alterns as
1093       * "request-cancel-request-cancel-…".
1094       * But in the case of "request-request-…-cancel-cancel-…", it leaves the final animation
1095       * frame to run anyway. We turn that frame into a `O(1)` no-op via `callbacksCount`. */
1096      callbacks = [];
1097      callbacksCount = 0;
1098      nextId = 1;
1099      startId = 1;
1100      isScheduled = false;
1101      tick = (timestamp) => {
1102        this.isScheduled = false;
1103        const currentCallbacks = this.callbacks;
1104        const currentCallbacksCount = this.callbacksCount;
1105        this.callbacks = [];
1106        this.callbacksCount = 0;
1107        this.startId = this.nextId;
1108        if (currentCallbacksCount > 0) {
1109          for (let i = 0; i < currentCallbacks.length; i += 1) {
1110            currentCallbacks[i]?.(timestamp);
1111          }
1112        }
1113      };
1114      request(fn) {
1115        const id = this.nextId;
1116        this.nextId += 1;
1117        this.callbacks.push(fn);
1118        this.callbacksCount += 1;
1119        const didRAFChange = LAST_RAF !== requestAnimationFrame && (LAST_RAF = requestAnimationFrame, true);
1120        if (!this.isScheduled || didRAFChange) {
1121          requestAnimationFrame(this.tick);
1122          this.isScheduled = true;
1123        }
1124        return id;
1125      }
1126      cancel(id) {
1127        const index3 = id - this.startId;
1128        if (index3 < 0 || index3 >= this.callbacks.length) {
1129          return;
1130        }
1131        if (this.callbacks[index3] === null) {
1132          return;
1133        }
1134        this.callbacks[index3] = null;
1135        this.callbacksCount -= 1;
1136      }
1137    };
1138    var scheduler = new Scheduler();
1139    var AnimationFrame = class _AnimationFrame {
1140      static create() {
1141        return new _AnimationFrame();
1142      }
1143      static request(fn) {
1144        return scheduler.request(fn);
1145      }
1146      static cancel(id) {
1147        return scheduler.cancel(id);
1148      }
1149      currentId = EMPTY;
1150      /**
1151       * Executes `fn` after `delay`, clearing any previously scheduled call.
1152       */
1153      request(fn) {
1154        this.cancel();
1155        this.currentId = scheduler.request(() => {
1156          this.currentId = EMPTY;
1157          fn();
1158        });
1159      }
1160      cancel = () => {
1161        if (this.currentId !== EMPTY) {
1162          scheduler.cancel(this.currentId);
1163          this.currentId = EMPTY;
1164        }
1165      };
1166      disposeEffect = () => {
1167        return this.cancel;
1168      };
1169    };
1170    function useAnimationFrame() {
1171      const timeout = useRefWithInit(AnimationFrame.create).current;
1172      useOnMount(timeout.disposeEffect);
1173      return timeout;
1174    }
1175  
1176    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveRef.mjs
1177    function resolveRef(maybeRef) {
1178      if (maybeRef == null) {
1179        return maybeRef;
1180      }
1181      return "current" in maybeRef ? maybeRef.current : maybeRef;
1182    }
1183  
1184    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getFiniteAnimations.mjs
1185    function getFiniteAnimations(element, options) {
1186      return element.getAnimations(options).filter((animation) => {
1187        const timing = animation.effect?.getTiming();
1188        return timing?.duration !== Infinity && timing?.iterations !== Infinity;
1189      });
1190    }
1191  
1192    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/TransitionStatusDataAttributes.mjs
1193    var TransitionStatusDataAttributes_exports = {};
1194    __export(TransitionStatusDataAttributes_exports, {
1195      endingStyle: () => endingStyle,
1196      startingStyle: () => startingStyle
1197    });
1198    var startingStyle = "data-starting-style";
1199    var endingStyle = "data-ending-style";
1200  
1201    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
1202    var pendingCallbacks = null;
1203    function flushBeforePaint(fn) {
1204      if (!pendingCallbacks) {
1205        const callbacks = [];
1206        pendingCallbacks = callbacks;
1207        queueMicrotask(() => {
1208          pendingCallbacks = null;
1209          ReactDOM.flushSync(() => {
1210            for (const callback of callbacks) {
1211              callback();
1212            }
1213          });
1214        });
1215      }
1216      pendingCallbacks.push(fn);
1217    }
1218    function useAnimationsFinished(elementOrRef, waitForStartingStyleRemoved = false, batch = false) {
1219      const frame = useAnimationFrame();
1220      return useStableCallback((fnToExecute, signal = null) => {
1221        frame.cancel();
1222        const element = resolveRef(elementOrRef);
1223        if (element == null) {
1224          return;
1225        }
1226        const resolvedElement = element;
1227        const done = () => {
1228          if (!batch) {
1229            ReactDOM.flushSync(fnToExecute);
1230            return;
1231          }
1232          flushBeforePaint(() => {
1233            if (!signal?.aborted) {
1234              fnToExecute();
1235            }
1236          });
1237        };
1238        if (typeof resolvedElement.getAnimations !== "function" || globalThis.BASE_UI_ANIMATIONS_DISABLED) {
1239          fnToExecute();
1240          return;
1241        }
1242        function exec() {
1243          Promise.all(getFiniteAnimations(resolvedElement).map((animation) => animation.finished.then(NOOP))).then(() => {
1244            if (!signal?.aborted) {
1245              done();
1246            }
1247          }, () => {
1248            if (signal?.aborted) {
1249              return;
1250            }
1251            const currentAnimations = getFiniteAnimations(resolvedElement);
1252            if (currentAnimations.some((animation) => animation.pending || animation.playState !== "finished")) {
1253              exec();
1254              return;
1255            }
1256            done();
1257          });
1258        }
1259        if (waitForStartingStyleRemoved) {
1260          const startingStyleAttribute = startingStyle;
1261          if (!resolvedElement.hasAttribute(startingStyleAttribute)) {
1262            frame.request(exec);
1263            return;
1264          }
1265          const attributeObserver = new MutationObserver(() => {
1266            if (!resolvedElement.hasAttribute(startingStyleAttribute)) {
1267              attributeObserver.disconnect();
1268              exec();
1269            }
1270          });
1271          attributeObserver.observe(resolvedElement, {
1272            attributes: true,
1273            attributeFilter: [startingStyleAttribute]
1274          });
1275          signal?.addEventListener("abort", () => attributeObserver.disconnect(), {
1276            once: true
1277          });
1278          return;
1279        }
1280        frame.request(exec);
1281      });
1282    }
1283  
1284    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
1285    function useOpenChangeComplete(parameters) {
1286      const {
1287        enabled = true,
1288        open: open2,
1289        ref,
1290        batch = false,
1291        onComplete: onCompleteParam
1292      } = parameters;
1293      const onComplete = useStableCallback(onCompleteParam);
1294      const runOnceAnimationsFinish = useAnimationsFinished(ref, open2, batch);
1295      React8.useEffect(() => {
1296        if (!enabled) {
1297          return void 0;
1298        }
1299        const abortController = new AbortController();
1300        runOnceAnimationsFinish(onComplete, abortController.signal);
1301        return () => {
1302          abortController.abort();
1303        };
1304      }, [enabled, open2, onComplete, runOnceAnimationsFinish]);
1305    }
1306  
1307    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/stateAttributesMapping.mjs
1308    var STARTING_HOOK = {
1309      [startingStyle]: ""
1310    };
1311    var ENDING_HOOK = {
1312      [endingStyle]: ""
1313    };
1314    var transitionStatusMapping = {
1315      transitionStatus(value) {
1316        if (value === "starting") {
1317          return STARTING_HOOK;
1318        }
1319        if (value === "ending") {
1320          return ENDING_HOOK;
1321        }
1322        return null;
1323      }
1324    };
1325  
1326    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useTransitionStatus.mjs
1327    var React9 = __toESM(require_react(), 1);
1328    function useTransitionStatus(open2, enableIdleState = false, deferEndingState = false, animateInitialOpen = false) {
1329      const [transitionStatus, setTransitionStatus] = React9.useState(open2 && enableIdleState ? "idle" : void 0);
1330      const [mounted, setMounted] = React9.useState(open2 && !animateInitialOpen);
1331      if (open2 && !mounted) {
1332        setMounted(true);
1333        setTransitionStatus("starting");
1334      }
1335      if (!open2 && mounted && transitionStatus !== "ending" && !deferEndingState) {
1336        setTransitionStatus("ending");
1337      }
1338      if (!open2 && !mounted && transitionStatus === "ending") {
1339        setTransitionStatus(void 0);
1340      }
1341      useIsoLayoutEffect(() => {
1342        if (!open2 && mounted && transitionStatus !== "ending" && deferEndingState) {
1343          const frame = AnimationFrame.request(() => {
1344            setTransitionStatus("ending");
1345          });
1346          return () => {
1347            AnimationFrame.cancel(frame);
1348          };
1349        }
1350        return void 0;
1351      }, [open2, mounted, transitionStatus, deferEndingState]);
1352      useIsoLayoutEffect(() => {
1353        if (!open2 || enableIdleState || transitionStatus === void 0) {
1354          return void 0;
1355        }
1356        const frame = AnimationFrame.request(() => {
1357          setTransitionStatus(void 0);
1358        });
1359        return () => {
1360          AnimationFrame.cancel(frame);
1361        };
1362      }, [enableIdleState, open2, transitionStatus]);
1363      useIsoLayoutEffect(() => {
1364        if (!open2 || !enableIdleState) {
1365          return void 0;
1366        }
1367        if (open2 && mounted && transitionStatus !== "idle") {
1368          setTransitionStatus("starting");
1369        }
1370        const frame = AnimationFrame.request(() => {
1371          setTransitionStatus("idle");
1372        });
1373        return () => {
1374          AnimationFrame.cancel(frame);
1375        };
1376      }, [enableIdleState, open2, mounted, transitionStatus]);
1377      return {
1378        mounted,
1379        setMounted,
1380        transitionStatus
1381      };
1382    }
1383  
1384    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useTimeout.mjs
1385    var EMPTY2 = 0;
1386    var Timeout = class _Timeout {
1387      static create() {
1388        return new _Timeout();
1389      }
1390      currentId = EMPTY2;
1391      /**
1392       * Executes `fn` after `delay`, clearing any previously scheduled call.
1393       */
1394      start(delay, fn) {
1395        this.clear();
1396        this.currentId = setTimeout(() => {
1397          this.currentId = EMPTY2;
1398          fn();
1399        }, delay);
1400      }
1401      isStarted() {
1402        return this.currentId !== EMPTY2;
1403      }
1404      clear = () => {
1405        if (this.currentId !== EMPTY2) {
1406          clearTimeout(this.currentId);
1407          this.currentId = EMPTY2;
1408        }
1409      };
1410      disposeEffect = () => {
1411        return this.clear;
1412      };
1413    };
1414    function useTimeout() {
1415      const timeout = useRefWithInit(Timeout.create).current;
1416      useOnMount(timeout.disposeEffect);
1417      return timeout;
1418    }
1419  
1420    // node_modules/.store/clsx@2.1.1-XOLP1vUL9vEGfpiXm37fAw/node_modules/clsx/dist/clsx.mjs
1421    function r(e) {
1422      var t, f, n = "";
1423      if ("string" == typeof e || "number" == typeof e) n += e;
1424      else if ("object" == typeof e) if (Array.isArray(e)) {
1425        var o = e.length;
1426        for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
1427      } else for (f in e) e[f] && (n && (n += " "), n += f);
1428      return n;
1429    }
1430    function clsx() {
1431      for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
1432      return n;
1433    }
1434    var clsx_default = clsx;
1435  
1436    // packages/ui/build-module/icon/icon.mjs
1437    var import_element2 = __toESM(require_element(), 1);
1438    var import_primitives19 = __toESM(require_primitives(), 1);
1439    var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1);
1440    var Icon = (0, import_element2.forwardRef)(
1441      function UnforwardedIcon({ icon: icon2, size: size4 = 24, style, ...restProps }, ref) {
1442        const mergedStyle = icon2.props.style || style ? { ...icon2.props.style, ...style } : void 0;
1443        return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1444          import_primitives19.SVG,
1445          {
1446            ref,
1447            ...icon2.props,
1448            ...restProps,
1449            ...mergedStyle ? { style: mergedStyle } : {},
1450            width: size4,
1451            height: size4
1452          }
1453        );
1454      }
1455    );
1456  
1457    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useControlled.mjs
1458    var React10 = __toESM(require_react(), 1);
1459  
1460    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/error.mjs
1461    var error = createLogOnce("error", "Base UI");
1462  
1463    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useControlled.mjs
1464    function useControlled({
1465      controlled,
1466      default: defaultProp,
1467      name: name16,
1468      state = "value"
1469    }) {
1470      const {
1471        current: isControlled
1472      } = React10.useRef(controlled !== void 0);
1473      const [valueState, setValue] = React10.useState(() => defaultProp);
1474      const value = isControlled && controlled !== void 0 ? controlled : valueState;
1475      if (true) {
1476        React10.useEffect(() => {
1477          if (isControlled !== (controlled !== void 0)) {
1478            error([`A component is changing the $isControlled ? "" : "un"}controlled $state} state of $name16} to be $isControlled ? "un" : ""}controlled.`, "Elements should not switch from uncontrolled to controlled (or vice versa).", `Decide between using a controlled or uncontrolled $name16} 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"));
1479          }
1480        }, [state, name16, controlled]);
1481        const {
1482          current: defaultValue
1483        } = React10.useRef(defaultProp);
1484        React10.useEffect(() => {
1485          if (!isControlled && serializeToDevModeString(defaultValue) !== serializeToDevModeString(defaultProp)) {
1486            error([`A component is changing the default $state} state of an uncontrolled $name16} after being initialized. To suppress this warning opt to use a controlled $name16}.`].join("\n"));
1487          }
1488        }, [defaultProp]);
1489      }
1490      const setValueIfUncontrolled = React10.useCallback((newValue) => {
1491        if (!isControlled) {
1492          setValue(newValue);
1493        }
1494      }, []);
1495      return [value, setValueIfUncontrolled];
1496    }
1497    function serializeToDevModeString(input) {
1498      let nextId = 0;
1499      const seen = /* @__PURE__ */ new WeakMap();
1500      try {
1501        const result = JSON.stringify(input, function replacer(key, value) {
1502          if (key === "_owner" && this != null && typeof this === "object" && "$$typeof" in this) {
1503            return void 0;
1504          }
1505          if (typeof value === "bigint") {
1506            return `__bigint__:$value}`;
1507          }
1508          if (value !== null && typeof value === "object") {
1509            const id = seen.get(value);
1510            if (id !== void 0) {
1511              return `__object__:$id}`;
1512            }
1513            seen.set(value, nextId);
1514            nextId += 1;
1515          }
1516          return value;
1517        });
1518        return result ?? `__top__:$typeof input}`;
1519      } catch {
1520        return "__unserializable__";
1521      }
1522    }
1523  
1524    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeList.mjs
1525    var React12 = __toESM(require_react(), 1);
1526  
1527    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeListContext.mjs
1528    var React11 = __toESM(require_react(), 1);
1529    var CompositeListContext = /* @__PURE__ */ React11.createContext({
1530      register: () => {
1531      },
1532      unregister: () => {
1533      },
1534      subscribeMapChange: () => () => {
1535      },
1536      nextIndexRef: {
1537        current: 0
1538      }
1539    });
1540    if (true) CompositeListContext.displayName = "CompositeListContext";
1541    function useCompositeListContext() {
1542      return React11.useContext(CompositeListContext);
1543    }
1544  
1545    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeList.mjs
1546    var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1);
1547    function CompositeList(props) {
1548      const {
1549        children,
1550        elementsRef,
1551        labelsRef,
1552        onMapChange: onMapChangeProp
1553      } = props;
1554      const onMapChange = useStableCallback(onMapChangeProp);
1555      const [, setMapTick] = React12.useState(0);
1556      const listeners = useRefWithInit(createListeners).current;
1557      const map = useRefWithInit(createMap).current;
1558      const nextIndexRef = React12.useRef(0);
1559      const isDirtyRef = React12.useRef(true);
1560      const itemsRef = React12.useRef(null);
1561      const mutationObserverRef = React12.useRef(null);
1562      const scheduleMapUpdate = useStableCallback(() => {
1563        if (isDirtyRef.current) {
1564          return;
1565        }
1566        isDirtyRef.current = true;
1567        setMapTick((tick) => tick + 1);
1568      });
1569      const register2 = useStableCallback((node, registration) => {
1570        map.set(node, registration);
1571        scheduleMapUpdate();
1572      });
1573      const unregister = useStableCallback((node) => {
1574        map.delete(node);
1575        scheduleMapUpdate();
1576      });
1577      const syncRefs = useStableCallback((items) => {
1578        const nextMap = /* @__PURE__ */ new Map();
1579        elementsRef.current.length = 0;
1580        if (labelsRef) {
1581          labelsRef.current.length = 0;
1582        }
1583        items.forEach((item) => {
1584          nextMap.set(item.element, {
1585            ...item.registration.metadata ?? {},
1586            index: item.index
1587          });
1588          elementsRef.current[item.index] = item.element;
1589          if (labelsRef) {
1590            labelsRef.current[item.index] = item.registration.label !== void 0 ? item.registration.label : item.registration.textRef?.current?.textContent ?? item.element.textContent;
1591          }
1592        });
1593        nextIndexRef.current = elementsRef.current.length;
1594        return nextMap;
1595      });
1596      function observe(sortedNodes) {
1597        mutationObserverRef.current?.disconnect();
1598        mutationObserverRef.current = null;
1599        if (typeof MutationObserver !== "function" || sortedNodes.length < 2) {
1600          return;
1601        }
1602        const mutationObserver = new MutationObserver((entries) => {
1603          if (!hasMovedNode(entries)) {
1604            return;
1605          }
1606          let previousConnectedNode = null;
1607          for (const node of sortedNodes) {
1608            if (!node.isConnected) {
1609              continue;
1610            }
1611            if (previousConnectedNode && sortByDocumentPosition(previousConnectedNode, node) > 0) {
1612              mutationObserver.disconnect();
1613              scheduleMapUpdate();
1614              return;
1615            }
1616            previousConnectedNode = node;
1617          }
1618        });
1619        mutationObserverRef.current = mutationObserver;
1620        const roots = /* @__PURE__ */ new Set();
1621        for (let i = 1; i < sortedNodes.length; i += 1) {
1622          const root = getCommonAncestor(sortedNodes[i - 1], sortedNodes[i]);
1623          if (root) {
1624            roots.add(root);
1625          }
1626        }
1627        roots.forEach((root) => mutationObserver.observe(root, {
1628          childList: true
1629        }));
1630      }
1631      const flush = useStableCallback(() => {
1632        const [items, automaticNodes] = getCompositeListSnapshot(map);
1633        const nextMap = syncRefs(items);
1634        const previousItems = itemsRef.current;
1635        const changed = !previousItems || previousItems.length !== items.length || items.some((item, index3) => {
1636          const previousItem = previousItems[index3];
1637          return item.index !== previousItem.index || item.element !== previousItem.element || item.registration.index !== previousItem.registration.index || item.registration.metadata !== previousItem.registration.metadata;
1638        });
1639        observe(automaticNodes);
1640        itemsRef.current = items;
1641        isDirtyRef.current = false;
1642        if (!changed) {
1643          return;
1644        }
1645        listeners.forEach((listener) => listener(nextMap));
1646        onMapChange(nextMap);
1647      });
1648      useIsoLayoutEffect(() => {
1649        if (!isDirtyRef.current && itemsRef.current) {
1650          syncRefs(itemsRef.current);
1651        }
1652        return () => {
1653          elementsRef.current = [];
1654          if (labelsRef) {
1655            labelsRef.current = [];
1656          }
1657        };
1658      }, [elementsRef, labelsRef, syncRefs]);
1659      useIsoLayoutEffect(() => {
1660        if (isDirtyRef.current) {
1661          flush();
1662        }
1663      });
1664      useIsoLayoutEffect(() => {
1665        return () => {
1666          mutationObserverRef.current?.disconnect();
1667          isDirtyRef.current = true;
1668        };
1669      }, []);
1670      const subscribeMapChange = useStableCallback((fn) => {
1671        listeners.add(fn);
1672        return () => {
1673          listeners.delete(fn);
1674        };
1675      });
1676      const contextValue = React12.useMemo(() => ({
1677        register: register2,
1678        unregister,
1679        subscribeMapChange,
1680        nextIndexRef
1681      }), [register2, unregister, subscribeMapChange, nextIndexRef]);
1682      return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(CompositeListContext.Provider, {
1683        value: contextValue,
1684        children
1685      });
1686    }
1687    function createMap() {
1688      return /* @__PURE__ */ new Map();
1689    }
1690    function createListeners() {
1691      return /* @__PURE__ */ new Set();
1692    }
1693    function getCompositeListSnapshot(map) {
1694      const reservedIndices = /* @__PURE__ */ new Set();
1695      const items = [];
1696      const automaticItems = [];
1697      map.forEach((registration, node) => {
1698        if (!node.isConnected) {
1699          return;
1700        }
1701        const index3 = registration.index;
1702        const item = {
1703          index: index3 ?? -1,
1704          element: node,
1705          registration
1706        };
1707        if (index3 === null) {
1708          automaticItems.push(item);
1709        } else if (index3 >= 0) {
1710          reservedIndices.add(index3);
1711          items.push(item);
1712        }
1713      });
1714      let nextAutomaticIndex = 0;
1715      automaticItems.sort((a, b) => sortByDocumentPosition(a.element, b.element));
1716      automaticItems.forEach((item) => {
1717        while (reservedIndices.has(nextAutomaticIndex)) {
1718          nextAutomaticIndex += 1;
1719        }
1720        item.index = nextAutomaticIndex;
1721        items.push(item);
1722        nextAutomaticIndex += 1;
1723      });
1724      if (reservedIndices.size > 0) {
1725        items.sort((a, b) => a.index - b.index);
1726      }
1727      return [items, automaticItems.map((item) => item.element)];
1728    }
1729    function getCommonAncestor(firstNode, lastNode) {
1730      let ancestor = firstNode.parentElement;
1731      while (ancestor && !ancestor.contains(lastNode)) {
1732        ancestor = ancestor.parentElement;
1733      }
1734      return ancestor;
1735    }
1736    function hasMovedNode(entries) {
1737      for (const entry of entries) {
1738        for (let i = 0; i < entry.removedNodes.length; i += 1) {
1739          if (entry.removedNodes[i].isConnected) {
1740            return true;
1741          }
1742        }
1743      }
1744      return false;
1745    }
1746    function sortByDocumentPosition(a, b) {
1747      if (a.nextElementSibling === b) {
1748        return -1;
1749      }
1750      if (b.nextElementSibling === a) {
1751        return 1;
1752      }
1753      return a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;
1754    }
1755  
1756    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useId.mjs
1757    var React14 = __toESM(require_react(), 1);
1758  
1759    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useForcedRerendering.mjs
1760    var React13 = __toESM(require_react(), 1);
1761    function useForcedRerendering() {
1762      const [, setState] = React13.useState({});
1763      return React13.useCallback(() => {
1764        setState({});
1765      }, []);
1766    }
1767  
1768    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useId.mjs
1769    var globalId = 0;
1770    function useGlobalId(idOverride, prefix = "mui") {
1771      const defaultId = React14.useRef(void 0);
1772      const forceRerender = useForcedRerendering();
1773      const id = idOverride ?? defaultId.current;
1774      React14.useEffect(() => {
1775        if (defaultId.current == null) {
1776          globalId += 1;
1777          defaultId.current = `$prefix}-$globalId}`;
1778          if (idOverride == null) {
1779            forceRerender();
1780          }
1781        }
1782      }, [idOverride, prefix, forceRerender]);
1783      return id;
1784    }
1785    var maybeReactUseId = SafeReact.useId;
1786    function useId(idOverride, prefix) {
1787      if (maybeReactUseId !== void 0) {
1788        const reactId = maybeReactUseId();
1789        return idOverride ?? (prefix ? `$prefix}-$reactId}` : reactId);
1790      }
1791      return useGlobalId(idOverride, prefix);
1792    }
1793  
1794    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useBaseUiId.mjs
1795    function useBaseUiId(idOverride) {
1796      return useId(idOverride, "base-ui");
1797    }
1798  
1799    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/createBaseUIEventDetails.mjs
1800    function createChangeEventDetails(reason, event, trigger, customProperties) {
1801      let canceled = false;
1802      let allowPropagation = false;
1803      const custom = customProperties ?? EMPTY_OBJECT;
1804      const details = {
1805        reason,
1806        event: event ?? new Event("base-ui"),
1807        cancel() {
1808          canceled = true;
1809        },
1810        allowPropagation() {
1811          allowPropagation = true;
1812        },
1813        get isCanceled() {
1814          return canceled;
1815        },
1816        get isPropagationAllowed() {
1817          return allowPropagation;
1818        },
1819        trigger,
1820        ...custom
1821      };
1822      return details;
1823    }
1824  
1825    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/reason-parts.mjs
1826    var reason_parts_exports = {};
1827    __export(reason_parts_exports, {
1828      cancelOpen: () => cancelOpen,
1829      chipRemovePress: () => chipRemovePress,
1830      clearPress: () => clearPress,
1831      closePress: () => closePress,
1832      closeWatcher: () => closeWatcher,
1833      decrementPress: () => decrementPress,
1834      disabled: () => disabled,
1835      drag: () => drag,
1836      escapeKey: () => escapeKey,
1837      focusOut: () => focusOut,
1838      imperativeAction: () => imperativeAction,
1839      incrementPress: () => incrementPress,
1840      initial: () => initial,
1841      inputBlur: () => inputBlur,
1842      inputChange: () => inputChange,
1843      inputClear: () => inputClear,
1844      inputPaste: () => inputPaste,
1845      inputPress: () => inputPress,
1846      itemPress: () => itemPress,
1847      keyboard: () => keyboard,
1848      linkPress: () => linkPress,
1849      listNavigation: () => listNavigation,
1850      missing: () => missing,
1851      none: () => none,
1852      outsidePress: () => outsidePress,
1853      pointer: () => pointer,
1854      popupClose: () => popupClose,
1855      scrub: () => scrub,
1856      siblingOpen: () => siblingOpen,
1857      swipe: () => swipe,
1858      trackPress: () => trackPress,
1859      triggerFocus: () => triggerFocus,
1860      triggerHover: () => triggerHover,
1861      triggerPress: () => triggerPress,
1862      wheel: () => wheel,
1863      windowResize: () => windowResize
1864    });
1865    var none = "none";
1866    var triggerPress = "trigger-press";
1867    var triggerHover = "trigger-hover";
1868    var triggerFocus = "trigger-focus";
1869    var outsidePress = "outside-press";
1870    var itemPress = "item-press";
1871    var closePress = "close-press";
1872    var linkPress = "link-press";
1873    var clearPress = "clear-press";
1874    var chipRemovePress = "chip-remove-press";
1875    var trackPress = "track-press";
1876    var incrementPress = "increment-press";
1877    var decrementPress = "decrement-press";
1878    var inputChange = "input-change";
1879    var inputClear = "input-clear";
1880    var inputBlur = "input-blur";
1881    var inputPaste = "input-paste";
1882    var inputPress = "input-press";
1883    var focusOut = "focus-out";
1884    var escapeKey = "escape-key";
1885    var closeWatcher = "close-watcher";
1886    var listNavigation = "list-navigation";
1887    var keyboard = "keyboard";
1888    var pointer = "pointer";
1889    var drag = "drag";
1890    var wheel = "wheel";
1891    var scrub = "scrub";
1892    var popupClose = "popup-close";
1893    var cancelOpen = "cancel-open";
1894    var siblingOpen = "sibling-open";
1895    var disabled = "disabled";
1896    var missing = "missing";
1897    var initial = "initial";
1898    var imperativeAction = "imperative-action";
1899    var swipe = "swipe";
1900    var windowResize = "window-resize";
1901  
1902    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/useCompositeListItem.mjs
1903    var React15 = __toESM(require_react(), 1);
1904    function useCompositeListItem(params = {}) {
1905      const {
1906        guess,
1907        label,
1908        metadata,
1909        textRef,
1910        index: externalIndex
1911      } = params;
1912      const {
1913        register: register2,
1914        unregister,
1915        subscribeMapChange,
1916        nextIndexRef
1917      } = useCompositeListContext();
1918      const indexRef = React15.useRef(-1);
1919      const [internalIndex, setInternalIndex] = React15.useState(externalIndex == null && guess ? () => {
1920        if (indexRef.current === -1) {
1921          const newIndex = nextIndexRef.current;
1922          nextIndexRef.current += 1;
1923          indexRef.current = newIndex;
1924        }
1925        return indexRef.current;
1926      } : -1);
1927      const index3 = externalIndex ?? internalIndex;
1928      const componentRef = React15.useRef(null);
1929      const ref = React15.useCallback((node) => {
1930        const previousNode = componentRef.current;
1931        if (previousNode) {
1932          unregister(previousNode);
1933        }
1934        componentRef.current = node;
1935        if (node) {
1936          register2(node, {
1937            metadata: metadata ?? null,
1938            index: externalIndex ?? null,
1939            label,
1940            textRef
1941          });
1942        }
1943      }, [externalIndex, register2, unregister, metadata, label, textRef]);
1944      useIsoLayoutEffect(() => {
1945        if (externalIndex != null) {
1946          return void 0;
1947        }
1948        return subscribeMapChange((map) => {
1949          const i = componentRef.current ? map.get(componentRef.current)?.index : null;
1950          if (i != null) {
1951            setInternalIndex(i);
1952          }
1953        });
1954      }, [externalIndex, subscribeMapChange]);
1955      return {
1956        ref,
1957        index: index3
1958      };
1959    }
1960  
1961    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/use-button/useButton.mjs
1962    var React18 = __toESM(require_react(), 1);
1963  
1964    // node_modules/.store/@floating-ui/utils@0.2.12-gOxTzMf36nCrbeHpEew-rw/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
1965    function hasWindow() {
1966      return typeof window !== "undefined";
1967    }
1968    function getNodeName(node) {
1969      if (isNode(node)) {
1970        return (node.nodeName || "").toLowerCase();
1971      }
1972      return "#document";
1973    }
1974    function getWindow(node) {
1975      var _node$ownerDocument;
1976      return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
1977    }
1978    function getDocumentElement(node) {
1979      var _ref;
1980      return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
1981    }
1982    function isNode(value) {
1983      if (!hasWindow()) {
1984        return false;
1985      }
1986      return value instanceof Node || value instanceof getWindow(value).Node;
1987    }
1988    function isElement(value) {
1989      if (!hasWindow()) {
1990        return false;
1991      }
1992      return value instanceof Element || value instanceof getWindow(value).Element;
1993    }
1994    function isHTMLElement(value) {
1995      if (!hasWindow()) {
1996        return false;
1997      }
1998      return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
1999    }
2000    function isShadowRoot(value) {
2001      if (!hasWindow() || typeof ShadowRoot === "undefined") {
2002        return false;
2003      }
2004      return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
2005    }
2006    function isOverflowElement(element) {
2007      const {
2008        overflow,
2009        overflowX,
2010        overflowY,
2011        display
2012      } = getComputedStyle2(element);
2013      return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
2014    }
2015    function isTableElement(element) {
2016      return /^(table|td|th)$/.test(getNodeName(element));
2017    }
2018    function isTopLayer(element) {
2019      try {
2020        if (element.matches(":popover-open")) {
2021          return true;
2022        }
2023      } catch (_e) {
2024      }
2025      try {
2026        return element.matches(":modal");
2027      } catch (_e) {
2028        return false;
2029      }
2030    }
2031    var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
2032    var containRe = /paint|layout|strict|content/;
2033    var isNotNone = (value) => !!value && value !== "none";
2034    var isWebKitValue;
2035    function isContainingBlock(elementOrCss) {
2036      const css = isElement(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss;
2037      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 || "");
2038    }
2039    function getContainingBlock(element) {
2040      let currentNode = getParentNode(element);
2041      while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
2042        if (isContainingBlock(currentNode)) {
2043          return currentNode;
2044        } else if (isTopLayer(currentNode)) {
2045          return null;
2046        }
2047        currentNode = getParentNode(currentNode);
2048      }
2049      return null;
2050    }
2051    function isWebKit() {
2052      if (isWebKitValue == null) {
2053        isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
2054      }
2055      return isWebKitValue;
2056    }
2057    function isLastTraversableNode(node) {
2058      return /^(html|body|#document)$/.test(getNodeName(node));
2059    }
2060    function getComputedStyle2(element) {
2061      return getWindow(element).getComputedStyle(element);
2062    }
2063    function getNodeScroll(element) {
2064      if (isElement(element)) {
2065        return {
2066          scrollLeft: element.scrollLeft,
2067          scrollTop: element.scrollTop
2068        };
2069      }
2070      return {
2071        scrollLeft: element.scrollX,
2072        scrollTop: element.scrollY
2073      };
2074    }
2075    function getParentNode(node) {
2076      if (getNodeName(node) === "html") {
2077        return node;
2078      }
2079      const result = (
2080        // Step into the shadow DOM of the parent of a slotted node.
2081        node.assignedSlot || // DOM Element detected.
2082        node.parentNode || // ShadowRoot detected.
2083        isShadowRoot(node) && node.host || // Fallback.
2084        getDocumentElement(node)
2085      );
2086      return isShadowRoot(result) ? result.host : result;
2087    }
2088    function getNearestOverflowAncestor(node) {
2089      const parentNode = getParentNode(node);
2090      if (isLastTraversableNode(parentNode)) {
2091        return (node.ownerDocument || node).body;
2092      }
2093      if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
2094        return parentNode;
2095      }
2096      return getNearestOverflowAncestor(parentNode);
2097    }
2098    function getOverflowAncestors(node, list, traverseIframes) {
2099      var _node$ownerDocument2;
2100      if (list === void 0) {
2101        list = [];
2102      }
2103      if (traverseIframes === void 0) {
2104        traverseIframes = true;
2105      }
2106      const scrollableAncestor = getNearestOverflowAncestor(node);
2107      const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
2108      const win = getWindow(scrollableAncestor);
2109      if (isBody) {
2110        const frameElement = getFrameElement(win);
2111        return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
2112      } else {
2113        return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
2114      }
2115    }
2116    function getFrameElement(win) {
2117      return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
2118    }
2119  
2120    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/root/CompositeRootContext.mjs
2121    var React16 = __toESM(require_react(), 1);
2122    var CompositeRootContext = /* @__PURE__ */ React16.createContext(void 0);
2123    if (true) CompositeRootContext.displayName = "CompositeRootContext";
2124    function useCompositeRootContext(optional = false) {
2125      const context = React16.useContext(CompositeRootContext);
2126      if (context === void 0 && !optional) {
2127        throw new Error(true ? "Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>." : formatErrorMessage_default(16));
2128      }
2129      return context;
2130    }
2131  
2132    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useFocusableWhenDisabled.mjs
2133    var React17 = __toESM(require_react(), 1);
2134    function useFocusableWhenDisabled(parameters) {
2135      const {
2136        focusableWhenDisabled,
2137        disabled: disabled2,
2138        composite = false,
2139        tabIndex: tabIndexProp = 0,
2140        isNativeButton
2141      } = parameters;
2142      const isFocusableComposite = composite && focusableWhenDisabled !== false;
2143      const isNonFocusableComposite = composite && focusableWhenDisabled === false;
2144      const props = React17.useMemo(() => {
2145        const additionalProps = {
2146          // allow Tabbing away from focusableWhenDisabled elements
2147          onKeyDown(event) {
2148            if (disabled2 && focusableWhenDisabled && event.key !== "Tab") {
2149              event.preventDefault();
2150            }
2151          }
2152        };
2153        if (!composite) {
2154          additionalProps.tabIndex = tabIndexProp;
2155          if (!isNativeButton && disabled2) {
2156            additionalProps.tabIndex = focusableWhenDisabled ? tabIndexProp : -1;
2157          }
2158        }
2159        if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled2) {
2160          additionalProps["aria-disabled"] = disabled2;
2161        }
2162        if (isNativeButton && (!focusableWhenDisabled || isNonFocusableComposite)) {
2163          additionalProps.disabled = disabled2;
2164        }
2165        return additionalProps;
2166      }, [composite, disabled2, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);
2167      return {
2168        props
2169      };
2170    }
2171  
2172    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/owner.mjs
2173    function ownerDocument(node) {
2174      return node?.ownerDocument || document;
2175    }
2176  
2177    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/dispatchClickWithModifiers.mjs
2178    function dispatchClickWithModifiers(target, sourceEvent, {
2179      detail = 0,
2180      pointerType = ""
2181    } = {}) {
2182      target.dispatchEvent(new (getWindow(target)).PointerEvent("click", {
2183        bubbles: true,
2184        cancelable: true,
2185        composed: true,
2186        detail,
2187        pointerType,
2188        shiftKey: sourceEvent.shiftKey,
2189        ctrlKey: sourceEvent.ctrlKey,
2190        altKey: sourceEvent.altKey,
2191        metaKey: sourceEvent.metaKey
2192      }));
2193    }
2194  
2195    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/use-button/useButton.mjs
2196    function useButton(parameters = {}) {
2197      const {
2198        disabled: disabled2 = false,
2199        focusableWhenDisabled,
2200        tabIndex = 0,
2201        native: isNativeButton = true,
2202        composite: compositeProp
2203      } = parameters;
2204      const elementRef = React18.useRef(null);
2205      const compositeRootContext = useCompositeRootContext(true);
2206      const isCompositeItem = compositeProp ?? compositeRootContext !== void 0;
2207      const {
2208        props: focusableWhenDisabledProps
2209      } = useFocusableWhenDisabled({
2210        focusableWhenDisabled,
2211        disabled: disabled2,
2212        composite: isCompositeItem,
2213        tabIndex,
2214        isNativeButton
2215      });
2216      if (true) {
2217        React18.useEffect(() => {
2218          if (!elementRef.current) {
2219            return;
2220          }
2221          const isButtonTag = isButtonElement(elementRef.current);
2222          if (isNativeButton) {
2223            if (!isButtonTag) {
2224              const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
2225              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`.";
2226              error(`$message}$ownerStackMessage}`);
2227            }
2228          } else if (isButtonTag) {
2229            const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
2230            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`.";
2231            error(`$message}$ownerStackMessage}`);
2232          }
2233        }, [isNativeButton]);
2234      }
2235      const updateDisabled = React18.useCallback(() => {
2236        const element = elementRef.current;
2237        if (!isButtonElement(element)) {
2238          return;
2239        }
2240        if (isCompositeItem && disabled2 && focusableWhenDisabledProps.disabled === void 0 && element.disabled) {
2241          element.disabled = false;
2242        }
2243      }, [disabled2, focusableWhenDisabledProps.disabled, isCompositeItem]);
2244      useIsoLayoutEffect(updateDisabled, [updateDisabled]);
2245      const getButtonProps = React18.useCallback((externalProps = {}) => {
2246        const {
2247          onClick: externalOnClick,
2248          onMouseDown: externalOnMouseDown,
2249          onKeyUp: externalOnKeyUp,
2250          onKeyDown: externalOnKeyDown,
2251          onPointerDown: externalOnPointerDown,
2252          ...otherExternalProps
2253        } = externalProps;
2254        return mergeProps({
2255          onClick(event) {
2256            if (disabled2) {
2257              event.preventDefault();
2258              return;
2259            }
2260            externalOnClick?.(event);
2261          },
2262          onMouseDown(event) {
2263            if (!disabled2) {
2264              externalOnMouseDown?.(event);
2265            }
2266          },
2267          onKeyDown(event) {
2268            if (disabled2) {
2269              return;
2270            }
2271            makeEventPreventable(event);
2272            externalOnKeyDown?.(event);
2273            if (event.baseUIHandlerPrevented) {
2274              return;
2275            }
2276            const isCurrentTarget = event.target === event.currentTarget;
2277            const currentTarget = event.currentTarget;
2278            const isButton = isButtonElement(currentTarget);
2279            const isLink = !isNativeButton && isValidLinkElement(currentTarget);
2280            const shouldClick = isCurrentTarget && (isNativeButton ? isButton : !isLink);
2281            const isEnterKey = event.key === "Enter";
2282            const isSpaceKey = event.key === " ";
2283            const role = currentTarget.getAttribute("role");
2284            const isTextNavigationRole = role?.startsWith("menuitem") || role === "option" || role === "gridcell";
2285            if (isCurrentTarget && isCompositeItem && isSpaceKey) {
2286              if (event.defaultPrevented && isTextNavigationRole) {
2287                return;
2288              }
2289              event.preventDefault();
2290              if (!isNativeButton || isButton) {
2291                event.preventBaseUIHandler();
2292                dispatchClickWithModifiers(currentTarget, event);
2293              }
2294              return;
2295            }
2296            if (!shouldClick || isNativeButton || !isSpaceKey && !isEnterKey) {
2297              if (isCurrentTarget && isLink && isSpaceKey) {
2298                event.preventDefault();
2299              }
2300              return;
2301            }
2302            if (event.defaultPrevented) {
2303              return;
2304            }
2305            event.preventDefault();
2306            if (isEnterKey) {
2307              event.preventBaseUIHandler();
2308              dispatchClickWithModifiers(currentTarget, event);
2309            }
2310          },
2311          onKeyUp(event) {
2312            if (disabled2) {
2313              return;
2314            }
2315            makeEventPreventable(event);
2316            externalOnKeyUp?.(event);
2317            if (event.target === event.currentTarget && isNativeButton && isCompositeItem && isButtonElement(event.currentTarget) && event.key === " ") {
2318              event.preventDefault();
2319              return;
2320            }
2321            if (event.baseUIHandlerPrevented) {
2322              return;
2323            }
2324            if (event.target === event.currentTarget && !isNativeButton && !isCompositeItem && !event.defaultPrevented && event.key === " ") {
2325              event.preventBaseUIHandler();
2326              dispatchClickWithModifiers(event.currentTarget, event);
2327            }
2328          },
2329          onPointerDown(event) {
2330            if (disabled2) {
2331              event.preventDefault();
2332              return;
2333            }
2334            externalOnPointerDown?.(event);
2335          }
2336        }, isNativeButton ? {
2337          type: "button"
2338        } : {
2339          role: "button"
2340        }, focusableWhenDisabledProps, otherExternalProps);
2341      }, [disabled2, focusableWhenDisabledProps, isCompositeItem, isNativeButton]);
2342      const buttonRef = useStableCallback((element) => {
2343        elementRef.current = element;
2344        updateDisabled();
2345      });
2346      return {
2347        getButtonProps,
2348        buttonRef
2349      };
2350    }
2351    function isButtonElement(elem) {
2352      return isHTMLElement(elem) && elem.tagName === "BUTTON";
2353    }
2354    function isValidLinkElement(elem) {
2355      return isHTMLElement(elem) && elem.tagName === "A" && Boolean(elem.href);
2356    }
2357  
2358    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/addEventListener.mjs
2359    function addEventListener(target, type, listener, options) {
2360      target.addEventListener(type, listener, options);
2361      return () => {
2362        target.removeEventListener(type, listener, options);
2363      };
2364    }
2365  
2366    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useValueAsRef.mjs
2367    function useValueAsRef(value) {
2368      const latest = useRefWithInit(createLatestRef, value).current;
2369      latest.next = value;
2370      useIsoLayoutEffect(latest.effect);
2371      return latest;
2372    }
2373    function createLatestRef(value) {
2374      const latest = {
2375        current: value,
2376        next: value,
2377        effect: () => {
2378          latest.current = latest.next;
2379        }
2380      };
2381      return latest;
2382    }
2383  
2384    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/parts.mjs
2385    var parts_exports = {};
2386    __export(parts_exports, {
2387      engine: () => engine_exports,
2388      env: () => env_exports,
2389      mediaQuery: () => media_query_exports,
2390      os: () => os_exports,
2391      screenReader: () => screen_reader_exports
2392    });
2393  
2394    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/os.mjs
2395    var os_exports = {};
2396    __export(os_exports, {
2397      android: () => android,
2398      apple: () => apple,
2399      ios: () => ios,
2400      linux: () => linux,
2401      mac: () => mac,
2402      windows: () => windows
2403    });
2404  
2405    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/shared.mjs
2406    function readRawData() {
2407      if (typeof navigator === "undefined") {
2408        return {
2409          userAgent: "",
2410          platform: "",
2411          maxTouchPoints: 0
2412        };
2413      }
2414      if (true) {
2415        const uaData = navigator.userAgentData;
2416        if (uaData && Array.isArray(uaData.brands)) {
2417          return {
2418            userAgent: uaData.brands.map(({
2419              brand,
2420              version: version2
2421            }) => `$brand}/$version2}`).join(" "),
2422            platform: uaData.platform ?? navigator.platform ?? "",
2423            maxTouchPoints: navigator.maxTouchPoints ?? 0
2424          };
2425        }
2426      }
2427      return {
2428        userAgent: navigator.userAgent,
2429        platform: navigator.platform ?? "",
2430        maxTouchPoints: navigator.maxTouchPoints ?? 0
2431      };
2432    }
2433    var {
2434      userAgent,
2435      platform,
2436      maxTouchPoints
2437    } = readRawData();
2438    var lowerUserAgent = userAgent.toLowerCase();
2439    var lowerPlatform = platform.toLowerCase();
2440  
2441    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/os.mjs
2442    var ios = /^i(os$|p)/.test(lowerPlatform) || lowerPlatform === "macintel" && maxTouchPoints > 1;
2443    var ANDROID_STRING = "android";
2444    var android = lowerPlatform === ANDROID_STRING || lowerUserAgent.includes(ANDROID_STRING);
2445    var mac = !ios && lowerPlatform.startsWith("mac");
2446    var windows = lowerPlatform.startsWith("win");
2447    var linux = !android && /^(linux|chrome os)/.test(lowerPlatform);
2448    var apple = mac || ios;
2449  
2450    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/engine.mjs
2451    var engine_exports = {};
2452    __export(engine_exports, {
2453      blink: () => blink,
2454      gecko: () => gecko,
2455      webkit: () => webkit
2456    });
2457    var webkit = typeof CSS !== "undefined" && !!CSS.supports?.("-webkit-backdrop-filter:none");
2458    var gecko = !webkit && lowerUserAgent.includes("firefox");
2459    var blink = !webkit && lowerUserAgent.includes("chrom");
2460  
2461    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/screen-reader.mjs
2462    var screen_reader_exports = {};
2463    __export(screen_reader_exports, {
2464      voiceOver: () => voiceOver
2465    });
2466    var voiceOver = apple;
2467  
2468    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/env.mjs
2469    var env_exports = {};
2470    __export(env_exports, {
2471      jsdom: () => jsdom
2472    });
2473    var jsdom = /jsdom|happydom/.test(lowerUserAgent);
2474  
2475    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/media-query.mjs
2476    var media_query_exports = {};
2477    __export(media_query_exports, {
2478      iOS: () => iOS
2479    });
2480    var iOS = "@supports (-webkit-touch-callout: none)";
2481  
2482    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useScrollLock.mjs
2483    var originalHtmlStyles = {};
2484    var originalBodyStyles = {};
2485    var originalHtmlScrollBehavior = "";
2486    function getViewportScroller(html, body) {
2487      return isOverflowElement(html) ? html : body;
2488    }
2489    function isPageScrollLocked(win, html, body) {
2490      return /hidden|clip/.test(win.getComputedStyle(getViewportScroller(html, body)).overflowY);
2491    }
2492    function hasInsetScrollbars(referenceElement) {
2493      if (typeof document === "undefined") {
2494        return false;
2495      }
2496      const doc = ownerDocument(referenceElement);
2497      const win = getWindow(doc);
2498      return win.innerWidth - doc.documentElement.clientWidth > 0;
2499    }
2500    function supportsStableScrollbarGutter(referenceElement) {
2501      const supported = typeof CSS !== "undefined" && CSS.supports && CSS.supports("scrollbar-gutter", "stable");
2502      if (!supported || typeof document === "undefined") {
2503        return false;
2504      }
2505      const doc = ownerDocument(referenceElement);
2506      const html = doc.documentElement;
2507      const body = doc.body;
2508      const scrollContainer = getViewportScroller(html, body);
2509      const originalScrollContainerOverflowY = scrollContainer.style.overflowY;
2510      const originalHtmlStyleGutter = html.style.scrollbarGutter;
2511      html.style.scrollbarGutter = "stable";
2512      scrollContainer.style.overflowY = "scroll";
2513      const before = scrollContainer.offsetWidth;
2514      scrollContainer.style.overflowY = "hidden";
2515      const after = scrollContainer.offsetWidth;
2516      scrollContainer.style.overflowY = originalScrollContainerOverflowY;
2517      html.style.scrollbarGutter = originalHtmlStyleGutter;
2518      return before === after;
2519    }
2520    function preventScrollOverlayScrollbars(referenceElement) {
2521      const doc = ownerDocument(referenceElement);
2522      const html = doc.documentElement;
2523      const body = doc.body;
2524      const elementToLock = getViewportScroller(html, body);
2525      const originalElementToLockStyles = {
2526        overflowY: elementToLock.style.overflowY,
2527        overflowX: elementToLock.style.overflowX
2528      };
2529      Object.assign(elementToLock.style, {
2530        overflowY: "hidden",
2531        overflowX: "hidden"
2532      });
2533      return () => {
2534        Object.assign(elementToLock.style, originalElementToLockStyles);
2535      };
2536    }
2537    function preventScrollInsetScrollbars(referenceElement) {
2538      const doc = ownerDocument(referenceElement);
2539      const html = doc.documentElement;
2540      const body = doc.body;
2541      const win = getWindow(html);
2542      let scrollTop = 0;
2543      let scrollLeft = 0;
2544      let updateGutterOnly = false;
2545      const resizeFrame = AnimationFrame.create();
2546      if (parts_exports.engine.webkit && (win.visualViewport?.scale ?? 1) !== 1) {
2547        return () => {
2548        };
2549      }
2550      function lockScroll() {
2551        const htmlStyles = win.getComputedStyle(html);
2552        const bodyStyles = win.getComputedStyle(body);
2553        const htmlScrollbarGutterValue = htmlStyles.scrollbarGutter || "";
2554        const hasBothEdges = htmlScrollbarGutterValue.includes("both-edges");
2555        const scrollbarGutterValue = hasBothEdges ? "stable both-edges" : "stable";
2556        scrollTop = html.scrollTop;
2557        scrollLeft = html.scrollLeft;
2558        originalHtmlStyles = {
2559          scrollbarGutter: html.style.scrollbarGutter,
2560          overflowY: html.style.overflowY,
2561          overflowX: html.style.overflowX
2562        };
2563        originalHtmlScrollBehavior = html.style.scrollBehavior;
2564        originalBodyStyles = {
2565          position: body.style.position,
2566          height: body.style.height,
2567          width: body.style.width,
2568          boxSizing: body.style.boxSizing,
2569          overflowY: body.style.overflowY,
2570          overflowX: body.style.overflowX,
2571          scrollBehavior: body.style.scrollBehavior
2572        };
2573        const isScrollableY = html.scrollHeight > html.clientHeight;
2574        const isScrollableX = html.scrollWidth > html.clientWidth;
2575        const hasConstantOverflowY = htmlStyles.overflowY === "scroll" || bodyStyles.overflowY === "scroll";
2576        const hasConstantOverflowX = htmlStyles.overflowX === "scroll" || bodyStyles.overflowX === "scroll";
2577        const scrollbarWidth = Math.max(0, win.innerWidth - body.clientWidth);
2578        const scrollbarHeight = Math.max(0, win.innerHeight - body.clientHeight);
2579        const marginY = parseFloat(bodyStyles.marginTop) + parseFloat(bodyStyles.marginBottom);
2580        const marginX = parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight);
2581        const elementToLock = getViewportScroller(html, body);
2582        updateGutterOnly = supportsStableScrollbarGutter(referenceElement);
2583        if (updateGutterOnly) {
2584          html.style.scrollbarGutter = scrollbarGutterValue;
2585          elementToLock.style.overflowY = "hidden";
2586          elementToLock.style.overflowX = "hidden";
2587          return;
2588        }
2589        Object.assign(html.style, {
2590          scrollbarGutter: scrollbarGutterValue,
2591          overflowY: "hidden",
2592          overflowX: "hidden"
2593        });
2594        if (isScrollableY || hasConstantOverflowY) {
2595          html.style.overflowY = "scroll";
2596        }
2597        if (isScrollableX || hasConstantOverflowX) {
2598          html.style.overflowX = "scroll";
2599        }
2600        Object.assign(body.style, {
2601          position: "relative",
2602          height: marginY || scrollbarHeight ? `calc(100dvh - $marginY + scrollbarHeight}px)` : "100dvh",
2603          width: marginX || scrollbarWidth ? `calc(100vw - $marginX + scrollbarWidth}px)` : "100vw",
2604          boxSizing: "border-box",
2605          // Assign the longhands that `cleanup` restores, so nothing is left behind.
2606          overflowY: "hidden",
2607          overflowX: "hidden",
2608          scrollBehavior: "unset"
2609        });
2610        body.scrollTop = scrollTop;
2611        body.scrollLeft = scrollLeft;
2612        html.setAttribute("data-base-ui-scroll-locked", "");
2613        html.style.scrollBehavior = "unset";
2614      }
2615      function cleanup() {
2616        Object.assign(html.style, originalHtmlStyles);
2617        Object.assign(body.style, originalBodyStyles);
2618        if (!updateGutterOnly) {
2619          html.scrollTop = scrollTop;
2620          html.scrollLeft = scrollLeft;
2621          html.removeAttribute("data-base-ui-scroll-locked");
2622          html.style.scrollBehavior = originalHtmlScrollBehavior;
2623        }
2624      }
2625      function handleResize() {
2626        cleanup();
2627        resizeFrame.request(lockScroll);
2628      }
2629      lockScroll();
2630      const unsubscribeResize = addEventListener(win, "resize", handleResize);
2631      return () => {
2632        resizeFrame.cancel();
2633        cleanup();
2634        if (typeof win.removeEventListener === "function") {
2635          unsubscribeResize();
2636        }
2637      };
2638    }
2639    var ScrollLocker = class {
2640      lockCount = 0;
2641      restore = null;
2642      timeoutLock = Timeout.create();
2643      timeoutUnlock = Timeout.create();
2644      acquire(referenceElement) {
2645        this.lockCount += 1;
2646        if (this.lockCount === 1 && this.restore === null) {
2647          this.timeoutLock.start(0, () => this.lock(referenceElement));
2648        }
2649        return this.release;
2650      }
2651      release = () => {
2652        this.lockCount -= 1;
2653        if (this.lockCount === 0 && this.restore) {
2654          this.timeoutUnlock.start(0, this.unlock);
2655        }
2656      };
2657      unlock = () => {
2658        if (this.lockCount === 0 && this.restore) {
2659          this.restore?.();
2660          this.restore = null;
2661        }
2662      };
2663      lock(referenceElement) {
2664        if (this.lockCount === 0 || this.restore !== null) {
2665          return;
2666        }
2667        const doc = ownerDocument(referenceElement);
2668        const html = doc.documentElement;
2669        const body = doc.body;
2670        const win = getWindow(html);
2671        if (isPageScrollLocked(win, html, body)) {
2672          const observer = new win.MutationObserver(() => {
2673            if (isPageScrollLocked(win, html, body)) {
2674              return;
2675            }
2676            observer.disconnect();
2677            this.restore = null;
2678            this.lock(referenceElement);
2679          });
2680          const options = {
2681            attributes: true
2682          };
2683          observer.observe(html, options);
2684          observer.observe(body, options);
2685          this.restore = () => observer.disconnect();
2686          return;
2687        }
2688        const hasOverlayScrollbars = parts_exports.os.ios || !hasInsetScrollbars(referenceElement);
2689        this.restore = hasOverlayScrollbars ? preventScrollOverlayScrollbars(referenceElement) : preventScrollInsetScrollbars(referenceElement);
2690      }
2691    };
2692    var SCROLL_LOCKER = new ScrollLocker();
2693    function useScrollLock(enabled = true, referenceElement = null) {
2694      useIsoLayoutEffect(() => {
2695        if (!enabled) {
2696          return void 0;
2697        }
2698        return SCROLL_LOCKER.acquire(referenceElement);
2699      }, [enabled, referenceElement]);
2700    }
2701  
2702    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/event.mjs
2703    function stopEvent(event) {
2704      event.preventDefault();
2705      event.stopPropagation();
2706    }
2707    function isReactEvent(event) {
2708      return "nativeEvent" in event;
2709    }
2710    function isVirtualClick(event) {
2711      if (event.pointerType === "" && event.isTrusted) {
2712        return true;
2713      }
2714      if (parts_exports.os.android && event.pointerType) {
2715        return event.type === "click" && event.buttons === 1;
2716      }
2717      return event.detail === 0 && !event.pointerType;
2718    }
2719    function isVirtualPointerEvent(event) {
2720      if (parts_exports.env.jsdom) {
2721        return false;
2722      }
2723      return !parts_exports.os.android && event.width === 0 && event.height === 0 || // Chrome synthesizes a screen reader press (TalkBack, VoiceOver, NVDA) as a 1x1 mouse
2724      // `pointerdown` with no pressure. TalkBack can report a pressed button, while desktop
2725      // mouse presses can report no pressure, so only require no pressed button off Android.
2726      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.
2727      event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "touch";
2728    }
2729    function isMouseLikePointerType(pointerType, strict) {
2730      const values = ["mouse", "pen"];
2731      if (!strict) {
2732        values.push("", void 0);
2733      }
2734      return values.includes(pointerType);
2735    }
2736    function isClickLikeEvent(event) {
2737      const type = event.type;
2738      return type === "click" || type === "mousedown" || type === "keydown" || type === "keyup";
2739    }
2740  
2741    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/shadowDom.mjs
2742    function activeElement(doc) {
2743      let element = doc.activeElement;
2744      while (element?.shadowRoot?.activeElement != null) {
2745        element = element.shadowRoot.activeElement;
2746      }
2747      return element;
2748    }
2749    function contains(parent, child) {
2750      if (!parent || !child) {
2751        return false;
2752      }
2753      const rootNode = child.getRootNode?.();
2754      if (parent.contains(child)) {
2755        return true;
2756      }
2757      if (rootNode && isShadowRoot(rootNode)) {
2758        let next = child;
2759        while (next) {
2760          if (parent === next) {
2761            return true;
2762          }
2763          next = next.parentNode || next.host;
2764        }
2765      }
2766      return false;
2767    }
2768    function closest(node, selector) {
2769      let current = node;
2770      while (current) {
2771        if (isElement(current) && current.matches(selector)) {
2772          return current;
2773        }
2774        current = current.assignedSlot ?? current.parentNode ?? (isShadowRoot(current) ? current.host : null);
2775      }
2776      return null;
2777    }
2778    function getTarget(event) {
2779      if ("composedPath" in event) {
2780        return event.composedPath()[0] ?? event.target;
2781      }
2782      return event.target;
2783    }
2784  
2785    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/constants.mjs
2786    var FOCUSABLE_ATTRIBUTE = "data-base-ui-focusable";
2787    var TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
2788    var ARROW_LEFT = "ArrowLeft";
2789    var ARROW_RIGHT = "ArrowRight";
2790    var ARROW_UP = "ArrowUp";
2791    var ARROW_DOWN = "ArrowDown";
2792  
2793    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPopupDataAttributes.mjs
2794    var open = "data-open";
2795    var closed = "data-closed";
2796    var anchorHidden = "data-anchor-hidden";
2797  
2798    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonTriggerDataAttributes.mjs
2799    var CommonTriggerDataAttributes_exports = {};
2800    __export(CommonTriggerDataAttributes_exports, {
2801      popupOpen: () => popupOpen,
2802      pressed: () => pressed
2803    });
2804    var popupOpen = "data-popup-open";
2805    var pressed = "data-pressed";
2806  
2807    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popupStateMapping.mjs
2808    var TRIGGER_HOOK = {
2809      [popupOpen]: ""
2810    };
2811    var PRESSABLE_TRIGGER_HOOK = {
2812      [popupOpen]: "",
2813      [pressed]: ""
2814    };
2815    var POPUP_OPEN_HOOK = {
2816      [open]: ""
2817    };
2818    var POPUP_CLOSED_HOOK = {
2819      [closed]: ""
2820    };
2821    var ANCHOR_HIDDEN_HOOK = {
2822      [anchorHidden]: ""
2823    };
2824    var triggerOpenStateMapping = {
2825      open(value) {
2826        if (value) {
2827          return TRIGGER_HOOK;
2828        }
2829        return null;
2830      }
2831    };
2832    var pressableTriggerOpenStateMapping = {
2833      open(value) {
2834        if (value) {
2835          return PRESSABLE_TRIGGER_HOOK;
2836        }
2837        return null;
2838      }
2839    };
2840    var popupStateMapping = {
2841      open(value) {
2842        if (value) {
2843          return POPUP_OPEN_HOOK;
2844        }
2845        return POPUP_CLOSED_HOOK;
2846      },
2847      anchorHidden(value) {
2848        if (value) {
2849          return ANCHOR_HIDDEN_HOOK;
2850        }
2851        return null;
2852      }
2853    };
2854    var popupTransitionStateMapping = {
2855      ...popupStateMapping,
2856      ...transitionStatusMapping
2857    };
2858  
2859    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/element.mjs
2860    function isEventTargetWithin(event, node) {
2861      if (node == null) {
2862        return false;
2863      }
2864      if ("composedPath" in event) {
2865        return event.composedPath().includes(node);
2866      }
2867      const eventAgain = event;
2868      return eventAgain.target != null && node.contains(eventAgain.target);
2869    }
2870    function isRootElement(element) {
2871      return element.matches("html,body");
2872    }
2873    function isTypeableElement(element) {
2874      return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
2875    }
2876    function isTypeableCombobox(element) {
2877      if (!element) {
2878        return false;
2879      }
2880      return element.getAttribute("role") === "combobox" && isTypeableElement(element);
2881    }
2882    function getFloatingFocusElement(floatingElement) {
2883      if (!floatingElement) {
2884        return null;
2885      }
2886      return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(`[$FOCUSABLE_ATTRIBUTE}]`) || floatingElement;
2887    }
2888  
2889    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingFocusManager.mjs
2890    var React22 = __toESM(require_react(), 1);
2891  
2892    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/mergeCleanups.mjs
2893    function mergeCleanups(...cleanups) {
2894      return () => {
2895        for (let i = 0; i < cleanups.length; i += 1) {
2896          const cleanup = cleanups[i];
2897          if (cleanup) {
2898            cleanup();
2899          }
2900        }
2901      };
2902    }
2903  
2904    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FocusGuard.mjs
2905    var React19 = __toESM(require_react(), 1);
2906  
2907    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/visuallyHidden.mjs
2908    var visuallyHiddenBase = {
2909      clipPath: "inset(50%)",
2910      overflow: "hidden",
2911      whiteSpace: "nowrap",
2912      border: 0,
2913      padding: 0,
2914      width: 1,
2915      height: 1,
2916      margin: -1
2917    };
2918    var visuallyHidden = {
2919      ...visuallyHiddenBase,
2920      position: "fixed",
2921      margin: 0,
2922      top: 0,
2923      left: 0
2924    };
2925    var visuallyHiddenInput = {
2926      ...visuallyHiddenBase,
2927      position: "absolute"
2928    };
2929  
2930    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FocusGuard.mjs
2931    var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1);
2932    var FocusGuard = /* @__PURE__ */ React19.forwardRef(function FocusGuard2(props, ref) {
2933      const [role, setRole] = React19.useState();
2934      useIsoLayoutEffect(() => {
2935        if (parts_exports.screenReader.voiceOver && parts_exports.engine.webkit) {
2936          setRole("button");
2937        }
2938      }, []);
2939      const restProps = {
2940        tabIndex: 0,
2941        // Role is only for VoiceOver
2942        role
2943      };
2944      return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", {
2945        ...props,
2946        ref,
2947        style: visuallyHidden,
2948        "aria-hidden": role ? void 0 : true,
2949        ...restProps,
2950        "data-base-ui-focus-guard": ""
2951      });
2952    });
2953    if (true) FocusGuard.displayName = "FocusGuard";
2954  
2955    // node_modules/.store/@floating-ui/utils@0.2.12-gOxTzMf36nCrbeHpEew-rw/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
2956    var min = Math.min;
2957    var max = Math.max;
2958    var round = Math.round;
2959    var floor = Math.floor;
2960    var createCoords = (v) => ({
2961      x: v,
2962      y: v
2963    });
2964    var oppositeSideMap = {
2965      left: "right",
2966      right: "left",
2967      bottom: "top",
2968      top: "bottom"
2969    };
2970    function clamp(start, value, end) {
2971      return max(start, min(value, end));
2972    }
2973    function evaluate(value, param) {
2974      return typeof value === "function" ? value(param) : value;
2975    }
2976    function getSide(placement) {
2977      return placement.split("-")[0];
2978    }
2979    function getAlignment(placement) {
2980      return placement.split("-")[1];
2981    }
2982    function getOppositeAxis(axis) {
2983      return axis === "x" ? "y" : "x";
2984    }
2985    function getAxisLength(axis) {
2986      return axis === "y" ? "height" : "width";
2987    }
2988    function getSideAxis(placement) {
2989      const firstChar = placement[0];
2990      return firstChar === "t" || firstChar === "b" ? "y" : "x";
2991    }
2992    function getAlignmentAxis(placement) {
2993      return getOppositeAxis(getSideAxis(placement));
2994    }
2995    function getAlignmentSides(placement, rects, rtl) {
2996      if (rtl === void 0) {
2997        rtl = false;
2998      }
2999      const alignment = getAlignment(placement);
3000      const alignmentAxis = getAlignmentAxis(placement);
3001      const length = getAxisLength(alignmentAxis);
3002      let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top";
3003      if (rects.reference[length] > rects.floating[length]) {
3004        mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
3005      }
3006      return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];
3007    }
3008    function getExpandedPlacements(placement) {
3009      const oppositePlacement = getOppositePlacement(placement);
3010      return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
3011    }
3012    function getOppositeAlignmentPlacement(placement) {
3013      return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start");
3014    }
3015    var lrPlacement = ["left", "right"];
3016    var rlPlacement = ["right", "left"];
3017    var tbPlacement = ["top", "bottom"];
3018    var btPlacement = ["bottom", "top"];
3019    function getSideList(side, isStart, rtl) {
3020      switch (side) {
3021        case "top":
3022        case "bottom":
3023          if (rtl) return isStart ? rlPlacement : lrPlacement;
3024          return isStart ? lrPlacement : rlPlacement;
3025        case "left":
3026        case "right":
3027          return isStart ? tbPlacement : btPlacement;
3028        default:
3029          return [];
3030      }
3031    }
3032    function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
3033      const alignment = getAlignment(placement);
3034      let list = getSideList(getSide(placement), direction === "start", rtl);
3035      if (alignment) {
3036        list = list.map((side) => side + "-" + alignment);
3037        if (flipAlignment) {
3038          list = list.concat(list.map(getOppositeAlignmentPlacement));
3039        }
3040      }
3041      return list;
3042    }
3043    function getOppositePlacement(placement) {
3044      const side = getSide(placement);
3045      return oppositeSideMap[side] + placement.slice(side.length);
3046    }
3047    function expandPaddingObject(padding) {
3048      var _padding$top, _padding$right, _padding$bottom, _padding$left;
3049      return {
3050        top: (_padding$top = padding.top) != null ? _padding$top : 0,
3051        right: (_padding$right = padding.right) != null ? _padding$right : 0,
3052        bottom: (_padding$bottom = padding.bottom) != null ? _padding$bottom : 0,
3053        left: (_padding$left = padding.left) != null ? _padding$left : 0
3054      };
3055    }
3056    function getPaddingObject(padding) {
3057      return typeof padding !== "number" ? expandPaddingObject(padding) : {
3058        top: padding,
3059        right: padding,
3060        bottom: padding,
3061        left: padding
3062      };
3063    }
3064    function rectToClientRect(rect) {
3065      const {
3066        x,
3067        y,
3068        width,
3069        height
3070      } = rect;
3071      return {
3072        width,
3073        height,
3074        top: y,
3075        left: x,
3076        right: x + width,
3077        bottom: y + height,
3078        x,
3079        y
3080      };
3081    }
3082  
3083    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/composite.mjs
3084    function isIndexOutOfListBounds(list, index3) {
3085      return index3 < 0 || index3 >= list.length;
3086    }
3087    function getMinListIndex(listRef, disabledIndices) {
3088      return findNonDisabledListIndex(listRef.current, {
3089        disabledIndices
3090      });
3091    }
3092    function getMaxListIndex(listRef, disabledIndices) {
3093      return findNonDisabledListIndex(listRef.current, {
3094        decrement: true,
3095        startingIndex: listRef.current.length,
3096        disabledIndices
3097      });
3098    }
3099    function getNextListIndex(list, currentIndex, options) {
3100      const {
3101        decrement,
3102        loopFocus,
3103        allowEscape,
3104        disabledIndices,
3105        minIndex,
3106        maxIndex
3107      } = options;
3108      const step = () => findNonDisabledListIndex(list, {
3109        startingIndex: currentIndex,
3110        decrement,
3111        disabledIndices
3112      });
3113      let index3;
3114      let wrapped = false;
3115      if (!loopFocus) {
3116        index3 = decrement ? Math.max(minIndex, step()) : Math.min(maxIndex, step());
3117      } else if (decrement ? currentIndex <= minIndex : currentIndex >= maxIndex) {
3118        const outside = decrement ? -1 : list.length;
3119        if (allowEscape && currentIndex !== outside) {
3120          index3 = -1;
3121        } else {
3122          index3 = decrement ? maxIndex : minIndex;
3123          wrapped = true;
3124        }
3125      } else {
3126        index3 = step();
3127      }
3128      return {
3129        index: isIndexOutOfListBounds(list, index3) ? -1 : index3,
3130        wrapped
3131      };
3132    }
3133    function findNonDisabledListIndex(list, {
3134      startingIndex = -1,
3135      decrement = false,
3136      disabledIndices,
3137      amount = 1
3138    } = {}) {
3139      let index3 = startingIndex;
3140      do {
3141        index3 += decrement ? -amount : amount;
3142      } while (index3 >= 0 && index3 <= list.length - 1 && isListIndexDisabled(list, index3, disabledIndices));
3143      return index3;
3144    }
3145    function isListIndexDisabled(list, index3, disabledIndices) {
3146      const isExplicitlyDisabled = typeof disabledIndices === "function" ? disabledIndices(index3) : disabledIndices?.includes(index3) ?? false;
3147      if (isExplicitlyDisabled) {
3148        return true;
3149      }
3150      const element = list[index3];
3151      if (!element) {
3152        return false;
3153      }
3154      if (!isElementVisible(element)) {
3155        return true;
3156      }
3157      if (element.matches(":disabled")) {
3158        return true;
3159      }
3160      return !disabledIndices && (element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true");
3161    }
3162    function isHiddenByStyles(styles) {
3163      return styles.visibility === "hidden" || styles.visibility === "collapse";
3164    }
3165    function isElementVisible(element, styles = element ? getComputedStyle2(element) : null) {
3166      if (!element || !element.isConnected || !styles || isHiddenByStyles(styles)) {
3167        return false;
3168      }
3169      if (typeof element.checkVisibility === "function") {
3170        return element.checkVisibility();
3171      }
3172      return styles.display !== "none" && styles.display !== "contents";
3173    }
3174  
3175    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/tabbable.mjs
3176    var CANDIDATE_SELECTOR = 'a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]';
3177    function getParentElement(element) {
3178      const assignedSlot = element.assignedSlot;
3179      if (assignedSlot) {
3180        return assignedSlot;
3181      }
3182      if (element.parentElement) {
3183        return element.parentElement;
3184      }
3185      const rootNode = element.getRootNode();
3186      return isShadowRoot(rootNode) ? rootNode.host : null;
3187    }
3188    function getDetailsSummary(details) {
3189      for (const child of Array.from(details.children)) {
3190        if (getNodeName(child) === "summary") {
3191          return child;
3192        }
3193      }
3194      return null;
3195    }
3196    function isWithinOpenDetailsSummary(element, details) {
3197      const summary = getDetailsSummary(details);
3198      return !!summary && (element === summary || contains(summary, element));
3199    }
3200    function isFocusableCandidate(element) {
3201      const nodeName = element ? getNodeName(element) : "";
3202      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");
3203    }
3204    function isFocusableElement(element) {
3205      if (!isFocusableCandidate(element) || !element.isConnected || element.matches(":disabled")) {
3206        return false;
3207      }
3208      for (let current = element; current; current = getParentElement(current)) {
3209        const isAncestor = current !== element;
3210        const isSlot = getNodeName(current) === "slot";
3211        if (current.hasAttribute("inert")) {
3212          return false;
3213        }
3214        if (isAncestor && getNodeName(current) === "details" && !current.open && !isWithinOpenDetailsSummary(element, current) || current.hasAttribute("hidden") || !isSlot && !isVisibleInTabbableTree(current, isAncestor)) {
3215          return false;
3216        }
3217      }
3218      return true;
3219    }
3220    function isVisibleInTabbableTree(element, isAncestor) {
3221      const styles = getComputedStyle2(element);
3222      if (!isAncestor) {
3223        return isElementVisible(element, styles);
3224      }
3225      return styles.display !== "none";
3226    }
3227    function getTabIndex(element) {
3228      const tabIndex = element.tabIndex;
3229      if (tabIndex < 0) {
3230        const nodeName = getNodeName(element);
3231        if (nodeName === "details" || nodeName === "audio" || nodeName === "video" || isHTMLElement(element) && element.isContentEditable) {
3232          return 0;
3233        }
3234      }
3235      return tabIndex;
3236    }
3237    function getNamedRadioInput(element) {
3238      if (getNodeName(element) !== "input") {
3239        return null;
3240      }
3241      const input = element;
3242      return input.type === "radio" && input.name !== "" ? input : null;
3243    }
3244    function isTabbableRadio(element, candidates) {
3245      const input = getNamedRadioInput(element);
3246      if (!input) {
3247        return true;
3248      }
3249      const checkedRadio = candidates.find((candidate) => {
3250        const radio = getNamedRadioInput(candidate);
3251        return radio?.name === input.name && radio.form === input.form && radio.checked;
3252      });
3253      if (checkedRadio) {
3254        return checkedRadio === input;
3255      }
3256      return candidates.find((candidate) => {
3257        const radio = getNamedRadioInput(candidate);
3258        return radio?.name === input.name && radio.form === input.form;
3259      }) === input;
3260    }
3261    function getComposedChildren(container) {
3262      if (isHTMLElement(container) && getNodeName(container) === "slot") {
3263        const assignedElements = container.assignedElements({
3264          flatten: true
3265        });
3266        if (assignedElements.length > 0) {
3267          return assignedElements;
3268        }
3269      }
3270      if (isHTMLElement(container) && container.shadowRoot) {
3271        return Array.from(container.shadowRoot.children);
3272      }
3273      return Array.from(container.children);
3274    }
3275    function appendCandidates(container, list) {
3276      getComposedChildren(container).forEach((child) => {
3277        if (isFocusableCandidate(child)) {
3278          list.push(child);
3279        }
3280        appendCandidates(child, list);
3281      });
3282    }
3283    function appendMatchingElements(container, selector, list) {
3284      getComposedChildren(container).forEach((child) => {
3285        if (isHTMLElement(child) && child.matches(selector)) {
3286          list.push(child);
3287        }
3288        appendMatchingElements(child, selector, list);
3289      });
3290    }
3291    function isTabbable(element) {
3292      return isFocusableElement(element) && getTabIndex(element) >= 0;
3293    }
3294    function focusable(container) {
3295      const candidates = [];
3296      appendCandidates(container, candidates);
3297      return candidates.filter(isFocusableElement);
3298    }
3299    function tabbable(container) {
3300      const candidates = focusable(container);
3301      return candidates.filter((element) => getTabIndex(element) >= 0 && isTabbableRadio(element, candidates));
3302    }
3303    function getTabbableIn(container, dir) {
3304      const list = tabbable(container);
3305      const len = list.length;
3306      if (len === 0) {
3307        return void 0;
3308      }
3309      const active = activeElement(ownerDocument(container));
3310      const index3 = list.indexOf(active);
3311      const nextIndex = index3 === -1 ? dir === 1 ? 0 : len - 1 : index3 + dir;
3312      return list[nextIndex];
3313    }
3314    function getNextTabbable(referenceElement) {
3315      return getTabbableIn(ownerDocument(referenceElement).body, 1) || referenceElement;
3316    }
3317    function getPreviousTabbable(referenceElement) {
3318      return getTabbableIn(ownerDocument(referenceElement).body, -1) || referenceElement;
3319    }
3320    function isOutsideEvent(event, container) {
3321      const containerElement = container || event.currentTarget;
3322      const relatedTarget = event.relatedTarget;
3323      return !relatedTarget || !contains(containerElement, relatedTarget);
3324    }
3325    function disableFocusInside(container) {
3326      const tabbableElements = tabbable(container);
3327      tabbableElements.forEach((element) => {
3328        element.dataset.tabindex = element.getAttribute("tabindex") || "";
3329        element.setAttribute("tabindex", "-1");
3330      });
3331    }
3332    function enableFocusInside(container) {
3333      const elements = [];
3334      appendMatchingElements(container, "[data-tabindex]", elements);
3335      elements.forEach((element) => {
3336        const tabindex = element.dataset.tabindex;
3337        delete element.dataset.tabindex;
3338        if (tabindex) {
3339          element.setAttribute("tabindex", tabindex);
3340        } else {
3341          element.removeAttribute("tabindex");
3342        }
3343      });
3344    }
3345  
3346    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/nodes.mjs
3347    function getNodeChildren(nodes, id, onlyOpenChildren = true) {
3348      const directChildren = nodes.filter((node) => node.parentId === id);
3349      return directChildren.flatMap((child) => [...!onlyOpenChildren || child.context?.open ? [child] : [], ...getNodeChildren(nodes, child.id, onlyOpenChildren)]);
3350    }
3351    function getNodeAncestors(nodes, id) {
3352      let allAncestors = [];
3353      let currentParentId = nodes.find((node) => node.id === id)?.parentId;
3354      while (currentParentId) {
3355        const currentNode = nodes.find((node) => node.id === currentParentId);
3356        currentParentId = currentNode?.parentId;
3357        if (currentNode) {
3358          allAncestors = allAncestors.concat(currentNode);
3359        }
3360      }
3361      return allAncestors;
3362    }
3363  
3364    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/createAttribute.mjs
3365    function createAttribute(name16) {
3366      return `data-base-ui-$name16}`;
3367    }
3368  
3369    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/enqueueFocus.mjs
3370    var rafId = 0;
3371    function enqueueFocus(el, options = {}) {
3372      const {
3373        preventScroll = false,
3374        sync = false,
3375        shouldFocus
3376      } = options;
3377      cancelAnimationFrame(rafId);
3378      function exec() {
3379        if (shouldFocus && !shouldFocus()) {
3380          return;
3381        }
3382        el?.focus({
3383          preventScroll
3384        });
3385      }
3386      if (sync) {
3387        exec();
3388        return NOOP;
3389      }
3390      const currentRafId = requestAnimationFrame(exec);
3391      rafId = currentRafId;
3392      return () => {
3393        if (rafId === currentRafId) {
3394          cancelAnimationFrame(currentRafId);
3395          rafId = 0;
3396        }
3397      };
3398    }
3399  
3400    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/markOthers.mjs
3401    var markerName = "data-base-ui-inert";
3402    var ariaHiddenCounterMap = /* @__PURE__ */ new WeakMap();
3403    var uncontrolledElementsSet = /* @__PURE__ */ new WeakSet();
3404    var markerCounterMap = /* @__PURE__ */ new WeakMap();
3405    var lockCount = 0;
3406    function unwrapHost(node) {
3407      if (!node) {
3408        return null;
3409      }
3410      return isShadowRoot(node) ? node.host : unwrapHost(node.parentNode);
3411    }
3412    var correctElements = (parent, targets) => targets.map((target) => {
3413      if (parent.contains(target)) {
3414        return target;
3415      }
3416      const correctedTarget = unwrapHost(target);
3417      if (parent.contains(correctedTarget)) {
3418        return correctedTarget;
3419      }
3420      return null;
3421    }).filter((x) => x != null);
3422    var buildKeepSet = (targets) => {
3423      const keep = /* @__PURE__ */ new Set();
3424      targets.forEach((target) => {
3425        let node = target;
3426        while (node && !keep.has(node)) {
3427          keep.add(node);
3428          node = node.parentNode;
3429        }
3430      });
3431      return keep;
3432    };
3433    var collectOutsideElements = (root, keepElements, stopElements) => {
3434      const outside = [];
3435      const walk = (parent) => {
3436        if (!parent || stopElements.has(parent)) {
3437          return;
3438        }
3439        Array.from(parent.children).forEach((node) => {
3440          if (getNodeName(node) === "script") {
3441            return;
3442          }
3443          if (keepElements.has(node)) {
3444            walk(node);
3445          } else {
3446            outside.push(node);
3447          }
3448        });
3449      };
3450      walk(root);
3451      return outside;
3452    };
3453    function applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, {
3454      mark = true
3455    }) {
3456      const avoidElements = correctElements(body, uncorrectedAvoidElements);
3457      const markerTargets = mark ? collectOutsideElements(body, buildKeepSet(avoidElements), new Set(avoidElements)) : [];
3458      const hiddenElements = [];
3459      const markedElements = [];
3460      if (ariaHidden) {
3461        const ariaLiveElements = correctElements(body, Array.from(body.querySelectorAll("[aria-live]")));
3462        const controlElements = avoidElements.concat(ariaLiveElements);
3463        const controlTargets = collectOutsideElements(body, buildKeepSet(controlElements), new Set(controlElements));
3464        controlTargets.forEach((node) => {
3465          const attr2 = node.getAttribute("aria-hidden");
3466          const alreadyHidden = attr2 !== null && attr2 !== "false";
3467          const counterValue = (ariaHiddenCounterMap.get(node) || 0) + 1;
3468          ariaHiddenCounterMap.set(node, counterValue);
3469          hiddenElements.push(node);
3470          if (counterValue === 1 && alreadyHidden) {
3471            uncontrolledElementsSet.add(node);
3472          }
3473          if (!alreadyHidden) {
3474            node.setAttribute("aria-hidden", "true");
3475          }
3476        });
3477      }
3478      if (mark) {
3479        markerTargets.forEach((node) => {
3480          const markerValue = (markerCounterMap.get(node) || 0) + 1;
3481          markerCounterMap.set(node, markerValue);
3482          markedElements.push(node);
3483          if (markerValue === 1) {
3484            node.setAttribute(markerName, "");
3485          }
3486        });
3487      }
3488      lockCount += 1;
3489      return () => {
3490        hiddenElements.forEach((element) => {
3491          const counterValue = (ariaHiddenCounterMap.get(element) || 0) - 1;
3492          ariaHiddenCounterMap.set(element, counterValue);
3493          if (!counterValue) {
3494            if (!uncontrolledElementsSet.has(element)) {
3495              element.removeAttribute("aria-hidden");
3496            }
3497            uncontrolledElementsSet.delete(element);
3498          }
3499        });
3500        if (mark) {
3501          markedElements.forEach((element) => {
3502            const markerValue = (markerCounterMap.get(element) || 0) - 1;
3503            markerCounterMap.set(element, markerValue);
3504            if (!markerValue) {
3505              element.removeAttribute(markerName);
3506            }
3507          });
3508        }
3509        lockCount -= 1;
3510        if (!lockCount) {
3511          ariaHiddenCounterMap = /* @__PURE__ */ new WeakMap();
3512          uncontrolledElementsSet = /* @__PURE__ */ new WeakSet();
3513          markerCounterMap = /* @__PURE__ */ new WeakMap();
3514        }
3515      };
3516    }
3517    function markOthers(avoidElements, options = {}) {
3518      const {
3519        ariaHidden = false,
3520        mark = true
3521      } = options;
3522      const body = ownerDocument(avoidElements[0]).body;
3523      return applyAttributeToOthers(avoidElements, body, ariaHidden, {
3524        mark
3525      });
3526    }
3527  
3528    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs
3529    var React20 = __toESM(require_react(), 1);
3530    var ReactDOM2 = __toESM(require_react_dom(), 1);
3531  
3532    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/constants.mjs
3533    var DISABLED_TRANSITIONS_STYLE = {
3534      style: {
3535        transition: "none"
3536      }
3537    };
3538    var CLICK_TRIGGER_IDENTIFIER = "data-base-ui-click-trigger";
3539    var BASE_UI_SWIPE_IGNORE_ATTRIBUTE = "data-base-ui-swipe-ignore";
3540    var LEGACY_SWIPE_IGNORE_ATTRIBUTE = "data-swipe-ignore";
3541    var BASE_UI_SWIPE_IGNORE_SELECTOR = `[$BASE_UI_SWIPE_IGNORE_ATTRIBUTE}]`;
3542    var LEGACY_SWIPE_IGNORE_SELECTOR = `[$LEGACY_SWIPE_IGNORE_ATTRIBUTE}]`;
3543    var DROPDOWN_COLLISION_AVOIDANCE = {
3544      fallbackAxisSide: "none"
3545    };
3546    var ownerVisuallyHidden = {
3547      clipPath: "inset(50%)",
3548      position: "fixed",
3549      top: 0,
3550      left: 0
3551    };
3552  
3553    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs
3554    var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1);
3555    var PortalContext = /* @__PURE__ */ React20.createContext(null);
3556    if (true) PortalContext.displayName = "PortalContext";
3557    var usePortalContext = () => React20.useContext(PortalContext);
3558    var attr = createAttribute("portal");
3559    function useFloatingPortalNode(props = {}) {
3560      const {
3561        ref,
3562        container: containerProp,
3563        componentProps = EMPTY_OBJECT,
3564        elementProps
3565      } = props;
3566      const uniqueId = useId();
3567      const portalContext = usePortalContext();
3568      const parentPortalNode = portalContext?.portalNode;
3569      const [containerElement, setContainerElement] = React20.useState(null);
3570      const [portalNode, setPortalNode] = React20.useState(null);
3571      const setPortalNodeRef = useStableCallback((node) => {
3572        if (node !== null) {
3573          setPortalNode(node);
3574        }
3575      });
3576      const containerRef = React20.useRef(null);
3577      useIsoLayoutEffect(() => {
3578        if (containerProp === null) {
3579          if (containerRef.current) {
3580            containerRef.current = null;
3581            setPortalNode(null);
3582            setContainerElement(null);
3583          }
3584          return;
3585        }
3586        const resolvedContainer = (containerProp && (isNode(containerProp) ? containerProp : containerProp.current)) ?? parentPortalNode ?? document.body;
3587        if (resolvedContainer == null) {
3588          if (containerRef.current) {
3589            containerRef.current = null;
3590            setPortalNode(null);
3591            setContainerElement(null);
3592          }
3593          return;
3594        }
3595        if (containerRef.current !== resolvedContainer) {
3596          containerRef.current = resolvedContainer;
3597          setPortalNode(null);
3598          setContainerElement(resolvedContainer);
3599        }
3600      }, [containerProp, parentPortalNode]);
3601      const portalElement = useRenderElement("div", componentProps, {
3602        ref: [ref, setPortalNodeRef],
3603        props: [{
3604          id: uniqueId,
3605          [attr]: ""
3606        }, elementProps]
3607      });
3608      const portalSubtree = containerElement && portalElement ? /* @__PURE__ */ ReactDOM2.createPortal(portalElement, containerElement) : null;
3609      return {
3610        node: portalNode,
3611        // `id` and `render` props can override or remove the generated ID. Use the exact
3612        // rendered value so `aria-owns` never points at an ID absent from the DOM.
3613        nodeId: /* @__PURE__ */ React20.isValidElement(portalElement) ? portalElement.props.id : void 0,
3614        subtree: portalSubtree
3615      };
3616    }
3617    var FloatingPortal = /* @__PURE__ */ React20.forwardRef(function FloatingPortal2(componentProps, forwardedRef) {
3618      const {
3619        render,
3620        className,
3621        style,
3622        children,
3623        container,
3624        portalOwnerRole,
3625        ...elementProps
3626      } = componentProps;
3627      const {
3628        node: portalNode,
3629        nodeId: portalNodeId,
3630        subtree: portalSubtree
3631      } = useFloatingPortalNode({
3632        container,
3633        ref: forwardedRef,
3634        componentProps,
3635        elementProps
3636      });
3637      const beforeOutsideRef = React20.useRef(null);
3638      const afterOutsideRef = React20.useRef(null);
3639      const beforeInsideRef = React20.useRef(null);
3640      const afterInsideRef = React20.useRef(null);
3641      const [focusManagerState, setFocusManagerState] = React20.useState(null);
3642      const focusInsideDisabledRef = React20.useRef(false);
3643      const modal = focusManagerState?.modal;
3644      const open2 = focusManagerState?.open;
3645      const shouldRenderGuards = !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode;
3646      React20.useEffect(() => {
3647        if (!portalNode || modal) {
3648          return void 0;
3649        }
3650        function onFocus(event) {
3651          if (portalNode && event.relatedTarget && isOutsideEvent(event)) {
3652            if (event.type === "focusin") {
3653              if (focusInsideDisabledRef.current) {
3654                enableFocusInside(portalNode);
3655                focusInsideDisabledRef.current = false;
3656              }
3657            } else {
3658              disableFocusInside(portalNode);
3659              focusInsideDisabledRef.current = true;
3660            }
3661          }
3662        }
3663        return mergeCleanups(addEventListener(portalNode, "focusin", onFocus, true), addEventListener(portalNode, "focusout", onFocus, true));
3664      }, [portalNode, modal]);
3665      useIsoLayoutEffect(() => {
3666        if (!portalNode || open2 !== true || !focusInsideDisabledRef.current) {
3667          return;
3668        }
3669        enableFocusInside(portalNode);
3670        focusInsideDisabledRef.current = false;
3671      }, [open2, portalNode]);
3672      const portalContextValue = React20.useMemo(() => ({
3673        beforeOutsideRef,
3674        afterOutsideRef,
3675        beforeInsideRef,
3676        afterInsideRef,
3677        portalNode,
3678        setFocusManagerState
3679      }), [portalNode]);
3680      return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(React20.Fragment, {
3681        children: [portalSubtree, /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(PortalContext.Provider, {
3682          value: portalContextValue,
3683          children: [shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(FocusGuard, {
3684            "data-type": "outside",
3685            ref: beforeOutsideRef,
3686            onFocus: (event) => {
3687              if (isOutsideEvent(event, portalNode)) {
3688                beforeInsideRef.current?.focus();
3689              } else {
3690                const domReference = focusManagerState ? focusManagerState.domReference : null;
3691                const prevTabbable = getPreviousTabbable(domReference);
3692                prevTabbable?.focus();
3693              }
3694            }
3695          }), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", {
3696            role: portalOwnerRole,
3697            "aria-owns": portalNodeId,
3698            style: ownerVisuallyHidden
3699          }), portalNode && /* @__PURE__ */ ReactDOM2.createPortal(children, portalNode), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(FocusGuard, {
3700            "data-type": "outside",
3701            ref: afterOutsideRef,
3702            onFocus: (event) => {
3703              if (isOutsideEvent(event, portalNode)) {
3704                afterInsideRef.current?.focus();
3705              } else {
3706                const domReference = focusManagerState ? focusManagerState.domReference : null;
3707                const nextTabbable = getNextTabbable(domReference);
3708                nextTabbable?.focus();
3709                if (focusManagerState?.closeOnFocusOut) {
3710                  focusManagerState?.onOpenChange(false, createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent));
3711                }
3712              }
3713            }
3714          })]
3715        })]
3716      });
3717    });
3718    if (true) FloatingPortal.displayName = "FloatingPortal";
3719  
3720    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs
3721    var React21 = __toESM(require_react(), 1);
3722  
3723    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/createEventEmitter.mjs
3724    function createEventEmitter() {
3725      const map = /* @__PURE__ */ new Map();
3726      return {
3727        emit(event, data) {
3728          map.get(event)?.forEach((listener) => listener(data));
3729        },
3730        on(event, listener) {
3731          if (!map.has(event)) {
3732            map.set(event, /* @__PURE__ */ new Set());
3733          }
3734          map.get(event).add(listener);
3735        },
3736        off(event, listener) {
3737          map.get(event)?.delete(listener);
3738        }
3739      };
3740    }
3741  
3742    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs
3743    var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1);
3744    var FloatingNodeContext = /* @__PURE__ */ React21.createContext(null);
3745    if (true) FloatingNodeContext.displayName = "FloatingNodeContext";
3746    var FloatingTreeContext = /* @__PURE__ */ React21.createContext(null);
3747    if (true) FloatingTreeContext.displayName = "FloatingTreeContext";
3748    var useFloatingParentNodeId = () => React21.useContext(FloatingNodeContext)?.id || null;
3749    var useFloatingTree = (externalTree) => {
3750      const contextTree = React21.useContext(FloatingTreeContext);
3751      return externalTree ?? contextTree;
3752    };
3753  
3754    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingFocusManager.mjs
3755    var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);
3756    function getEventType(event, lastInteractionType) {
3757      const win = getWindow(getTarget(event));
3758      if (event instanceof win.KeyboardEvent) {
3759        return "keyboard";
3760      }
3761      if (event instanceof win.FocusEvent) {
3762        return lastInteractionType || "keyboard";
3763      }
3764      if ("pointerType" in event) {
3765        return event.pointerType || (isVirtualClick(event) ? "keyboard" : lastInteractionType || "mouse");
3766      }
3767      if ("touches" in event) {
3768        return "touch";
3769      }
3770      if (event instanceof win.MouseEvent) {
3771        return lastInteractionType || (event.detail === 0 ? "keyboard" : "mouse");
3772      }
3773      return "";
3774    }
3775    var LIST_LIMIT = 20;
3776    var previouslyFocusedElements = [];
3777    function clearDisconnectedPreviouslyFocusedElements() {
3778      previouslyFocusedElements = previouslyFocusedElements.filter((entry) => {
3779        return entry.deref()?.isConnected;
3780      });
3781    }
3782    function addPreviouslyFocusedElement(element) {
3783      clearDisconnectedPreviouslyFocusedElements();
3784      if (element && getNodeName(element) !== "body") {
3785        previouslyFocusedElements.push(new WeakRef(element));
3786        if (previouslyFocusedElements.length > LIST_LIMIT) {
3787          previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);
3788        }
3789      }
3790    }
3791    function getPreviouslyFocusedElement() {
3792      clearDisconnectedPreviouslyFocusedElements();
3793      return previouslyFocusedElements[previouslyFocusedElements.length - 1]?.deref();
3794    }
3795    function getFirstTabbableElement(container) {
3796      if (!container) {
3797        return null;
3798      }
3799      if (isTabbable(container)) {
3800        return container;
3801      }
3802      return tabbable(container)[0] || container;
3803    }
3804    function handleTabIndex(floatingFocusElement) {
3805      if (floatingFocusElement.hasAttribute("tabindex") && !floatingFocusElement.hasAttribute("data-tabindex")) {
3806        return;
3807      }
3808      if (!floatingFocusElement.getAttribute("role")?.includes("dialog")) {
3809        return;
3810      }
3811      const focusableElements = focusable(floatingFocusElement);
3812      const tabbableContent = focusableElements.filter((element) => {
3813        const dataTabIndex = element.getAttribute("data-tabindex") || "";
3814        return isTabbable(element) || element.hasAttribute("data-tabindex") && !dataTabIndex.startsWith("-");
3815      });
3816      const tabIndex = floatingFocusElement.getAttribute("tabindex");
3817      if (tabbableContent.length === 0) {
3818        if (tabIndex !== "0") {
3819          floatingFocusElement.setAttribute("tabindex", "0");
3820          floatingFocusElement.setAttribute("data-tabindex", "0");
3821        }
3822      } else if (tabIndex !== "-1" || floatingFocusElement.hasAttribute("data-tabindex") && floatingFocusElement.getAttribute("data-tabindex") !== "-1") {
3823        floatingFocusElement.setAttribute("tabindex", "-1");
3824        floatingFocusElement.setAttribute("data-tabindex", "-1");
3825      }
3826    }
3827    function FloatingFocusManager(props) {
3828      const {
3829        context: store,
3830        children,
3831        disabled: disabled2 = false,
3832        initialFocus = true,
3833        returnFocus = true,
3834        explicitReturnFocus,
3835        restoreFocus = false,
3836        modal = true,
3837        closeOnFocusOut = true,
3838        openInteractionType = "",
3839        nextFocusableElement,
3840        previousFocusableElement,
3841        beforeContentFocusGuardRef,
3842        externalTree,
3843        getInsideElements
3844      } = props;
3845      const open2 = store.useState("open");
3846      const domReference = store.useState("domReferenceElement");
3847      const floating = store.useState("floatingElement");
3848      const {
3849        events,
3850        dataRef
3851      } = store.context;
3852      const getNodeId = useStableCallback(() => dataRef.current.floatingContext?.nodeId);
3853      const ignoreInitialFocus = initialFocus === false;
3854      const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;
3855      const initialFocusRef = useValueAsRef(initialFocus);
3856      const returnFocusRef = useValueAsRef(returnFocus);
3857      const explicitReturnFocusRef = useValueAsRef(explicitReturnFocus);
3858      const openInteractionTypeRef = useValueAsRef(openInteractionType);
3859      const openRef = useValueAsRef(open2);
3860      const tree = useFloatingTree(externalTree);
3861      const portalContext = usePortalContext();
3862      const preventReturnFocusRef = React22.useRef(false);
3863      const isPointerDownRef = React22.useRef(false);
3864      const pointerDownOutsideRef = React22.useRef(false);
3865      const lastFocusedTabbableRef = React22.useRef(null);
3866      const closeTypeRef = React22.useRef("");
3867      const lastInteractionTypeRef = React22.useRef("");
3868      const beforeGuardRef = React22.useRef(null);
3869      const afterGuardRef = React22.useRef(null);
3870      const mergedBeforeGuardRef = useMergedRefs(beforeGuardRef, beforeContentFocusGuardRef, portalContext?.beforeInsideRef);
3871      const mergedAfterGuardRef = useMergedRefs(afterGuardRef, portalContext?.afterInsideRef);
3872      const blurTimeout = useTimeout();
3873      const pointerDownTimeout = useTimeout();
3874      const restoreFocusFrame = useAnimationFrame();
3875      const isInsidePortal = portalContext != null;
3876      const floatingFocusElement = getFloatingFocusElement(floating);
3877      const getTabbableContent = useStableCallback((container = floatingFocusElement) => {
3878        return container ? tabbable(container) : [];
3879      });
3880      const getResolvedInsideElements = useStableCallback(() => getInsideElements?.().filter((element) => element != null) ?? []);
3881      React22.useEffect(() => {
3882        if (disabled2 || !modal) {
3883          return void 0;
3884        }
3885        function onKeyDown(event) {
3886          if (event.key === "Tab") {
3887            if (contains(floatingFocusElement, activeElement(ownerDocument(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {
3888              stopEvent(event);
3889            }
3890          }
3891        }
3892        const doc = ownerDocument(floatingFocusElement);
3893        return addEventListener(doc, "keydown", onKeyDown);
3894      }, [disabled2, floatingFocusElement, modal, isUntrappedTypeableCombobox, getTabbableContent]);
3895      React22.useEffect(() => {
3896        if (disabled2 || !open2) {
3897          return void 0;
3898        }
3899        const doc = ownerDocument(floatingFocusElement);
3900        function clearPointerDownOutside() {
3901          pointerDownOutsideRef.current = false;
3902        }
3903        function onPointerDown(event) {
3904          const target = getTarget(event);
3905          const insideElements = getResolvedInsideElements();
3906          const pointerTargetInside = contains(floating, target) || contains(domReference, target) || contains(portalContext?.portalNode, target) || insideElements.some((element) => element === target || contains(element, target));
3907          pointerDownOutsideRef.current = !pointerTargetInside;
3908          lastInteractionTypeRef.current = event.pointerType || "keyboard";
3909          if (closest(target, `[$CLICK_TRIGGER_IDENTIFIER}]`)) {
3910            isPointerDownRef.current = true;
3911            pointerDownTimeout.start(0, () => {
3912              isPointerDownRef.current = false;
3913            });
3914          }
3915        }
3916        function onKeyDown() {
3917          lastInteractionTypeRef.current = "keyboard";
3918        }
3919        return mergeCleanups(
3920          addEventListener(doc, "pointerdown", onPointerDown, true),
3921          addEventListener(doc, "pointerup", clearPointerDownOutside, true),
3922          addEventListener(doc, "pointercancel", clearPointerDownOutside, true),
3923          addEventListener(doc, "keydown", onKeyDown, true),
3924          // Avoid a stale `true` leaking into the next open (e.g. keep-mounted popups)
3925          // if the popup dismissed between pointerdown and pointerup.
3926          clearPointerDownOutside
3927        );
3928      }, [disabled2, floating, domReference, floatingFocusElement, open2, portalContext, pointerDownTimeout, getResolvedInsideElements]);
3929      React22.useEffect(() => {
3930        if (disabled2 || !closeOnFocusOut) {
3931          return void 0;
3932        }
3933        const doc = ownerDocument(floatingFocusElement);
3934        function handlePointerDown() {
3935          isPointerDownRef.current = true;
3936          pointerDownTimeout.start(0, () => {
3937            isPointerDownRef.current = false;
3938          });
3939        }
3940        function handleFocusIn(event) {
3941          const target = getTarget(event);
3942          if (isTabbable(target)) {
3943            lastFocusedTabbableRef.current = target;
3944          }
3945        }
3946        function handleFocusOutside(event) {
3947          const relatedTarget = event.relatedTarget;
3948          const currentTarget = event.currentTarget;
3949          const target = getTarget(event);
3950          if (modal && relatedTarget == null && target != null && contains(floating, target)) {
3951            addPreviouslyFocusedElement(target);
3952          }
3953          queueMicrotask(() => {
3954            const nodeId = getNodeId();
3955            const triggers = store.context.triggerElements;
3956            const insideElements = getResolvedInsideElements();
3957            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);
3958            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)));
3959            if (currentTarget === domReference && floatingFocusElement) {
3960              handleTabIndex(floatingFocusElement);
3961            }
3962            if (restoreFocus && currentTarget !== domReference && !isElementVisible(target) && activeElement(doc) === doc.body) {
3963              if (isHTMLElement(floatingFocusElement)) {
3964                floatingFocusElement.focus();
3965                if (restoreFocus === "popup") {
3966                  restoreFocusFrame.request(() => {
3967                    floatingFocusElement.focus();
3968                  });
3969                  return;
3970                }
3971              }
3972              const tabbableContent = getTabbableContent();
3973              const prevTabbable = lastFocusedTabbableRef.current;
3974              const nodeToFocus = (prevTabbable && tabbableContent.includes(prevTabbable) ? prevTabbable : null) || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;
3975              if (isHTMLElement(nodeToFocus)) {
3976                nodeToFocus.focus();
3977              }
3978            }
3979            if (dataRef.current.insideReactTree) {
3980              dataRef.current.insideReactTree = false;
3981              return;
3982            }
3983            if ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current && // Fix React 18 Strict Mode returnFocus due to double rendering.
3984            // For an "untrapped" typeable combobox (input role=combobox with
3985            // initialFocus=false), re-opening the popup and tabbing out should still close it even
3986            // when the previously focused element (e.g. the next tabbable outside the popup) is
3987            // focused again. Otherwise, the popup remains open on the second Tab sequence:
3988            // click input -> Tab (closes) -> click input -> Tab.
3989            // Allow closing when `isUntrappedTypeableCombobox` regardless of the previously focused element.
3990            (isUntrappedTypeableCombobox || relatedTarget !== getPreviouslyFocusedElement())) {
3991              preventReturnFocusRef.current = true;
3992              store.setOpen(false, createChangeEventDetails(reason_parts_exports.focusOut, event));
3993            }
3994          });
3995        }
3996        function markInsideReactTree() {
3997          if (pointerDownOutsideRef.current) {
3998            return;
3999          }
4000          dataRef.current.insideReactTree = true;
4001          blurTimeout.start(0, () => {
4002            dataRef.current.insideReactTree = false;
4003          });
4004        }
4005        const domReferenceElement = isHTMLElement(domReference) ? domReference : null;
4006        if (!floating && !domReferenceElement) {
4007          return void 0;
4008        }
4009        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));
4010      }, [disabled2, domReference, floating, floatingFocusElement, modal, tree, portalContext, store, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox, getNodeId, dataRef, blurTimeout, pointerDownTimeout, restoreFocusFrame, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);
4011      React22.useEffect(() => {
4012        if (disabled2 || !floating || !open2) {
4013          return void 0;
4014        }
4015        const portalNodes = Array.from(portalContext?.portalNode?.querySelectorAll(`[$createAttribute("portal")}]`) || []);
4016        const ancestors = tree ? getNodeAncestors(tree.nodesRef.current, getNodeId()) : [];
4017        const rootAncestorComboboxDomReference = ancestors.find((node) => isTypeableCombobox(node.context?.elements.domReference || null))?.context?.elements.domReference;
4018        const controlInsideElements = [floating, ...portalNodes, beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, ...getResolvedInsideElements()];
4019        const insideElements = [...controlInsideElements, rootAncestorComboboxDomReference, resolveRef(previousFocusableElement), resolveRef(nextFocusableElement), isUntrappedTypeableCombobox ? domReference : null].filter((x) => x != null);
4020        const ariaHiddenCleanup = markOthers(insideElements, {
4021          ariaHidden: modal || isUntrappedTypeableCombobox,
4022          mark: false
4023        });
4024        const markerInsideElements = [floating, ...portalNodes].filter((x) => x != null);
4025        const markerCleanup = markOthers(markerInsideElements);
4026        return () => {
4027          markerCleanup();
4028          ariaHiddenCleanup();
4029        };
4030      }, [open2, disabled2, domReference, floating, modal, portalContext, isUntrappedTypeableCombobox, tree, getNodeId, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);
4031      useIsoLayoutEffect(() => {
4032        if (!open2 || disabled2 || !isHTMLElement(floatingFocusElement)) {
4033          return;
4034        }
4035        closeTypeRef.current = "";
4036        lastInteractionTypeRef.current = "";
4037        const doc = ownerDocument(floatingFocusElement);
4038        const previouslyFocusedElement = activeElement(doc);
4039        queueMicrotask(() => {
4040          const initialFocusValueOrFn = initialFocusRef.current;
4041          const resolvedInitialFocus = typeof initialFocusValueOrFn === "function" ? initialFocusValueOrFn(openInteractionTypeRef.current || "") : initialFocusValueOrFn;
4042          if (resolvedInitialFocus === void 0 || resolvedInitialFocus === false) {
4043            return;
4044          }
4045          const focusAlreadyInsideFloatingEl = contains(floatingFocusElement, previouslyFocusedElement);
4046          if (focusAlreadyInsideFloatingEl) {
4047            return;
4048          }
4049          let focusableElements = null;
4050          const getDefaultFocusElement = () => {
4051            if (focusableElements == null) {
4052              focusableElements = getTabbableContent(floatingFocusElement);
4053            }
4054            return focusableElements[0] || floatingFocusElement;
4055          };
4056          let elToFocus;
4057          if (resolvedInitialFocus === true || resolvedInitialFocus === null) {
4058            elToFocus = getDefaultFocusElement();
4059          } else {
4060            elToFocus = resolveRef(resolvedInitialFocus);
4061          }
4062          elToFocus = elToFocus || getDefaultFocusElement();
4063          const hadFocusInside = contains(floatingFocusElement, activeElement(doc));
4064          const openEvent = dataRef.current.openEvent;
4065          const openedByVirtualPress = openEvent?.type === "mousedown" && isVirtualClick(openEvent);
4066          void enqueueFocus(elToFocus, {
4067            sync: openedByVirtualPress,
4068            preventScroll: elToFocus === floatingFocusElement,
4069            shouldFocus() {
4070              if (!openRef.current) {
4071                return false;
4072              }
4073              if (hadFocusInside) {
4074                return true;
4075              }
4076              const currentActiveElement = activeElement(doc);
4077              const focusMovedInside = currentActiveElement !== elToFocus && contains(floatingFocusElement, currentActiveElement);
4078              return !focusMovedInside;
4079            }
4080          });
4081        });
4082      }, [disabled2, open2, floatingFocusElement, getTabbableContent, initialFocusRef, openInteractionTypeRef, openRef, dataRef]);
4083      const pendingReturnFocusRef = React22.useRef(null);
4084      useIsoLayoutEffect(() => {
4085        if (disabled2 || !floatingFocusElement) {
4086          pendingReturnFocusRef.current = null;
4087          return void 0;
4088        }
4089        if (pendingReturnFocusRef.current) {
4090          pendingReturnFocusRef.current.cancelled = true;
4091          pendingReturnFocusRef.current = null;
4092        }
4093        const doc = ownerDocument(floatingFocusElement);
4094        const elementFocusedBeforeOpen = activeElement(doc);
4095        const preferPreviousFocus = openInteractionTypeRef.current == null;
4096        addPreviouslyFocusedElement(elementFocusedBeforeOpen);
4097        function onOpenChangeLocal(details) {
4098          if (!details.open) {
4099            closeTypeRef.current = getEventType(details.nativeEvent, lastInteractionTypeRef.current);
4100          }
4101          if (details.reason === reason_parts_exports.focusOut && details.triggerElement?.hasAttribute(createAttribute("focus-guard")) || details.reason === reason_parts_exports.triggerHover && details.nativeEvent.type === "mouseleave") {
4102            preventReturnFocusRef.current = true;
4103          }
4104          if (details.reason !== reason_parts_exports.outsidePress) {
4105            return;
4106          }
4107          if (details.nested) {
4108            preventReturnFocusRef.current = false;
4109          } else if (isVirtualClick(details.nativeEvent) || isVirtualPointerEvent(details.nativeEvent)) {
4110            preventReturnFocusRef.current = false;
4111          } else {
4112            let isPreventScrollSupported = false;
4113            ownerDocument(floatingFocusElement).createElement("div").focus({
4114              get preventScroll() {
4115                isPreventScrollSupported = true;
4116                return false;
4117              }
4118            });
4119            if (isPreventScrollSupported) {
4120              preventReturnFocusRef.current = false;
4121            } else {
4122              preventReturnFocusRef.current = true;
4123            }
4124          }
4125        }
4126        events.on("openchange", onOpenChangeLocal);
4127        function getReturnElement(closeType) {
4128          const returnFocusValueOrFn = returnFocusRef.current;
4129          let resolvedReturnFocusValue = typeof returnFocusValueOrFn === "function" ? returnFocusValueOrFn(closeType) : returnFocusValueOrFn;
4130          if (resolvedReturnFocusValue === void 0 || resolvedReturnFocusValue === false) {
4131            return null;
4132          }
4133          if (resolvedReturnFocusValue === null) {
4134            resolvedReturnFocusValue = true;
4135          }
4136          const referenceReturnElement = domReference?.isConnected ? domReference : null;
4137          const previousReturnElement = elementFocusedBeforeOpen?.isConnected && getNodeName(elementFocusedBeforeOpen) !== "body" ? elementFocusedBeforeOpen : null;
4138          let defaultReturnElement = preferPreviousFocus ? previousReturnElement || referenceReturnElement : referenceReturnElement || previousReturnElement;
4139          if (!defaultReturnElement) {
4140            defaultReturnElement = getPreviouslyFocusedElement() || null;
4141          }
4142          if (typeof resolvedReturnFocusValue === "boolean") {
4143            return defaultReturnElement;
4144          }
4145          return resolveRef(resolvedReturnFocusValue) || defaultReturnElement || null;
4146        }
4147        return () => {
4148          events.off("openchange", onOpenChangeLocal);
4149          const activeEl = activeElement(doc);
4150          const insideElements = getResolvedInsideElements();
4151          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));
4152          const returnFocusValueOrFn = returnFocusRef.current;
4153          const closeType = closeTypeRef.current;
4154          const returnElement = getReturnElement(closeType);
4155          const job = {
4156            cancelled: false
4157          };
4158          pendingReturnFocusRef.current = job;
4159          queueMicrotask(() => {
4160            if (pendingReturnFocusRef.current === job) {
4161              pendingReturnFocusRef.current = null;
4162            }
4163            const tabbableReturnElement = getFirstTabbableElement(returnElement);
4164            const hasExplicitReturnFocus = (
4165              // eslint-disable-next-line react-hooks/exhaustive-deps
4166              explicitReturnFocusRef.current ?? typeof returnFocusValueOrFn !== "boolean"
4167            );
4168            if (!job.cancelled && returnFocusValueOrFn && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && // If the focus moved somewhere else after mount, avoid returning focus
4169            // since it likely entered a different element which should be
4170            // respected: https://github.com/floating-ui/floating-ui/issues/2607
4171            (!hasExplicitReturnFocus && tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {
4172              const focusOptions = {
4173                preventScroll: true
4174              };
4175              if (closeType === "keyboard") {
4176                focusOptions.focusVisible = true;
4177              }
4178              tabbableReturnElement.focus(focusOptions);
4179            }
4180            preventReturnFocusRef.current = false;
4181          });
4182        };
4183      }, [disabled2, floating, floatingFocusElement, returnFocusRef, explicitReturnFocusRef, openInteractionTypeRef, events, tree, domReference, getNodeId, getResolvedInsideElements]);
4184      useIsoLayoutEffect(() => {
4185        if (!parts_exports.engine.webkit || open2 || !floating) {
4186          return;
4187        }
4188        const activeEl = activeElement(ownerDocument(floating));
4189        if (!isHTMLElement(activeEl) || !isTypeableElement(activeEl)) {
4190          return;
4191        }
4192        if (contains(floating, activeEl)) {
4193          activeEl.blur();
4194        }
4195      }, [open2, floating]);
4196      useIsoLayoutEffect(() => {
4197        if (disabled2 || !portalContext) {
4198          return void 0;
4199        }
4200        portalContext.setFocusManagerState({
4201          modal,
4202          closeOnFocusOut,
4203          open: open2,
4204          onOpenChange: store.setOpen,
4205          domReference
4206        });
4207        return () => {
4208          portalContext.setFocusManagerState(null);
4209        };
4210      }, [disabled2, portalContext, modal, open2, store, closeOnFocusOut, domReference]);
4211      useIsoLayoutEffect(() => {
4212        if (disabled2 || !floatingFocusElement) {
4213          return void 0;
4214        }
4215        handleTabIndex(floatingFocusElement);
4216        return () => {
4217          queueMicrotask(clearDisconnectedPreviouslyFocusedElements);
4218        };
4219      }, [disabled2, floatingFocusElement]);
4220      const shouldRenderGuards = !disabled2 && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);
4221      return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(React22.Fragment, {
4222        children: [shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(FocusGuard, {
4223          "data-type": "inside",
4224          ref: mergedBeforeGuardRef,
4225          onFocus: (event) => {
4226            if (modal) {
4227              const els = getTabbableContent();
4228              void enqueueFocus(els[els.length - 1]);
4229            } else if (portalContext?.portalNode) {
4230              preventReturnFocusRef.current = false;
4231              if (isOutsideEvent(event, portalContext.portalNode)) {
4232                const nextTabbable = getNextTabbable(domReference);
4233                nextTabbable?.focus();
4234              } else {
4235                resolveRef(previousFocusableElement ?? portalContext.beforeOutsideRef)?.focus();
4236              }
4237            }
4238          }
4239        }), children, shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(FocusGuard, {
4240          "data-type": "inside",
4241          ref: mergedAfterGuardRef,
4242          onFocus: (event) => {
4243            if (modal) {
4244              void enqueueFocus(getTabbableContent()[0]);
4245            } else if (portalContext?.portalNode) {
4246              if (closeOnFocusOut) {
4247                preventReturnFocusRef.current = true;
4248              }
4249              if (isOutsideEvent(event, portalContext.portalNode)) {
4250                const prevTabbable = getPreviousTabbable(domReference);
4251                prevTabbable?.focus();
4252              } else {
4253                resolveRef(nextFocusableElement ?? portalContext.afterOutsideRef)?.focus();
4254              }
4255            }
4256          }
4257        })]
4258      });
4259    }
4260  
4261    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useClick.mjs
4262    var React23 = __toESM(require_react(), 1);
4263    function useClick(store, props = {}) {
4264      const {
4265        enabled = true,
4266        event: eventOption = "click",
4267        toggle = true,
4268        ignoreMouse = false,
4269        stickIfOpen = true,
4270        touchOpenDelay = 0,
4271        reason = reason_parts_exports.triggerPress
4272      } = props;
4273      const dataRef = store.context.dataRef;
4274      const pointerTypeRef = React23.useRef(void 0);
4275      const frame = useAnimationFrame();
4276      const touchOpenTimeout = useTimeout();
4277      const reference = React23.useMemo(() => {
4278        function setOpenWithTouchDelay(nextOpen, nativeEvent, target, pointerType) {
4279          const details = createChangeEventDetails(reason, nativeEvent, target);
4280          if (nextOpen && pointerType === "touch" && touchOpenDelay > 0) {
4281            touchOpenTimeout.start(touchOpenDelay, () => {
4282              store.setOpen(true, details);
4283            });
4284          } else {
4285            store.setOpen(nextOpen, details);
4286          }
4287        }
4288        function getNextOpen(open2, currentTarget, isClickLikeOpenEvent) {
4289          const openEvent = dataRef.current.openEvent;
4290          const hasClickedOnInactiveTrigger = store.select("domReferenceElement") !== currentTarget;
4291          if (open2 && hasClickedOnInactiveTrigger) {
4292            return true;
4293          }
4294          if (!open2) {
4295            return true;
4296          }
4297          if (!toggle) {
4298            return true;
4299          }
4300          if (openEvent && (typeof stickIfOpen === "function" ? stickIfOpen() : stickIfOpen)) {
4301            return !isClickLikeOpenEvent(openEvent.type);
4302          }
4303          return false;
4304        }
4305        return {
4306          onPointerDown(event) {
4307            pointerTypeRef.current = isMouseLikePointerType(event.pointerType, true) && isVirtualPointerEvent(event.nativeEvent) ? "virtual" : event.pointerType;
4308          },
4309          onMouseDown(event) {
4310            const pointerType = pointerTypeRef.current;
4311            const nativeEvent = event.nativeEvent;
4312            const open2 = store.select("open");
4313            if (event.button !== 0 || eventOption === "click" || isMouseLikePointerType(pointerType, true) && ignoreMouse) {
4314              return;
4315            }
4316            const nextOpen = getNextOpen(open2, event.currentTarget, (openEventType) => openEventType === "click" || openEventType === "mousedown");
4317            const target = getTarget(nativeEvent);
4318            const isTypeable = isTypeableElement(target);
4319            if (isTypeable || pointerType === "virtual") {
4320              setOpenWithTouchDelay(nextOpen, nativeEvent, isTypeable ? target : event.currentTarget, pointerType);
4321              return;
4322            }
4323            const eventCurrentTarget = event.currentTarget;
4324            frame.request(() => {
4325              setOpenWithTouchDelay(nextOpen, nativeEvent, eventCurrentTarget, pointerType);
4326            });
4327          },
4328          onClick(event) {
4329            if (eventOption === "mousedown-only") {
4330              return;
4331            }
4332            const pointerType = pointerTypeRef.current;
4333            if (eventOption === "mousedown" && pointerType) {
4334              pointerTypeRef.current = void 0;
4335              return;
4336            }
4337            if (isMouseLikePointerType(pointerType, true) && ignoreMouse) {
4338              return;
4339            }
4340            const open2 = store.select("open");
4341            const nextOpen = getNextOpen(open2, event.currentTarget, (openEventType) => openEventType === "click" || openEventType === "mousedown" || openEventType === "keydown" || openEventType === "keyup");
4342            setOpenWithTouchDelay(nextOpen, event.nativeEvent, event.currentTarget, pointerType);
4343          },
4344          onKeyDown() {
4345            pointerTypeRef.current = void 0;
4346          }
4347        };
4348      }, [dataRef, eventOption, ignoreMouse, reason, store, stickIfOpen, toggle, frame, touchOpenTimeout, touchOpenDelay]);
4349      return React23.useMemo(() => enabled ? {
4350        reference
4351      } : EMPTY_OBJECT, [enabled, reference]);
4352    }
4353  
4354    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useDismiss.mjs
4355    var React24 = __toESM(require_react(), 1);
4356    function alwaysFalse() {
4357      return false;
4358    }
4359    function normalizeProp(normalizable) {
4360      return {
4361        escapeKey: typeof normalizable === "boolean" ? normalizable : normalizable?.escapeKey ?? false,
4362        outsidePress: typeof normalizable === "boolean" ? normalizable : normalizable?.outsidePress ?? true
4363      };
4364    }
4365    function useDismiss(store, props = {}) {
4366      const {
4367        enabled = true,
4368        escapeKey: escapeKey2 = true,
4369        outsidePress: outsidePressProp = true,
4370        outsidePressEvent = "sloppy",
4371        referencePress = alwaysFalse,
4372        bubbles,
4373        externalTree
4374      } = props;
4375      const open2 = store.useState("open");
4376      const floatingElement = store.useState("floatingElement");
4377      const {
4378        dataRef,
4379        events
4380      } = store.context;
4381      const tree = useFloatingTree(externalTree);
4382      const outsidePressFn = useStableCallback(typeof outsidePressProp === "function" ? outsidePressProp : () => false);
4383      const outsidePress2 = typeof outsidePressProp === "function" ? outsidePressFn : outsidePressProp;
4384      const outsidePressEnabled = outsidePress2 !== false;
4385      const getOutsidePressEventProp = useStableCallback(() => outsidePressEvent);
4386      const {
4387        escapeKey: escapeKeyBubbles,
4388        outsidePress: outsidePressBubbles
4389      } = normalizeProp(bubbles);
4390      const pressStartedInsideRef = React24.useRef(false);
4391      const pressStartPreventedRef = React24.useRef(false);
4392      const suppressNextOutsideClickRef = React24.useRef(false);
4393      const sawPressWhileOpenRef = React24.useRef(false);
4394      const isComposingRef = React24.useRef(false);
4395      const currentPointerTypeRef = React24.useRef("");
4396      const touchStateRef = React24.useRef(null);
4397      const cancelDismissOnEndTimeout = useTimeout();
4398      const clearInsideReactTreeTimeout = useTimeout();
4399      const compositionTimeout = useTimeout();
4400      const clearInsideReactTree = useStableCallback(() => {
4401        clearInsideReactTreeTimeout.clear();
4402        dataRef.current.insideReactTree = false;
4403      });
4404      const hasBlockingChild = useStableCallback((bubbleKey) => {
4405        const nodeId = dataRef.current.floatingContext?.nodeId;
4406        const children = tree ? getNodeChildren(tree.nodesRef.current, nodeId) : [];
4407        return children.some((child) => child.context?.open && !child.context.dataRef.current[bubbleKey]);
4408      });
4409      const isEventWithinOwnElements = useStableCallback((event) => {
4410        return isEventTargetWithin(event, store.select("floatingElement")) || isEventTargetWithin(event, store.select("domReferenceElement"));
4411      });
4412      const closeOnReferencePress = useStableCallback((event) => {
4413        if (!referencePress()) {
4414          return;
4415        }
4416        store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerPress, event.nativeEvent));
4417      });
4418      const closeOnEscapeKeyDown = useStableCallback((event) => {
4419        if (!open2 || !enabled || !escapeKey2 || event.key !== "Escape") {
4420          return;
4421        }
4422        const native = isReactEvent(event) ? event.nativeEvent : event;
4423        if (isComposingRef.current || native.isComposing) {
4424          return;
4425        }
4426        if (!escapeKeyBubbles && hasBlockingChild("__escapeKeyBubbles")) {
4427          return;
4428        }
4429        const eventDetails = createChangeEventDetails(reason_parts_exports.escapeKey, native);
4430        store.setOpen(false, eventDetails);
4431        if (!eventDetails.isCanceled) {
4432          event.preventDefault();
4433        }
4434        if (!escapeKeyBubbles && !eventDetails.isPropagationAllowed) {
4435          event.stopPropagation();
4436        }
4437      });
4438      const markInsideReactTree = useStableCallback(() => {
4439        dataRef.current.insideReactTree = true;
4440        clearInsideReactTreeTimeout.start(0, clearInsideReactTree);
4441      });
4442      const markPressStartedInsideReactTree = useStableCallback((event) => {
4443        if (!open2 || !enabled || event.button !== 0) {
4444          return;
4445        }
4446        const target = getTarget(event.nativeEvent);
4447        if (!contains(store.select("floatingElement"), target)) {
4448          return;
4449        }
4450        if (!pressStartedInsideRef.current) {
4451          pressStartedInsideRef.current = true;
4452          pressStartPreventedRef.current = false;
4453        }
4454      });
4455      const markInsidePressStartPrevented = useStableCallback((event) => {
4456        if (!open2 || !enabled) {
4457          return;
4458        }
4459        if (!(event.defaultPrevented || event.nativeEvent.defaultPrevented)) {
4460          return;
4461        }
4462        if (pressStartedInsideRef.current) {
4463          pressStartPreventedRef.current = true;
4464        }
4465      });
4466      React24.useEffect(() => {
4467        function handleOpenChange(details) {
4468          if (!details.open) {
4469            sawPressWhileOpenRef.current = false;
4470          }
4471        }
4472        events.on("openchange", handleOpenChange);
4473        return () => {
4474          events.off("openchange", handleOpenChange);
4475        };
4476      }, [events]);
4477      React24.useEffect(() => clearInsideReactTree, [clearInsideReactTree]);
4478      React24.useEffect(() => {
4479        if (!open2 || !enabled) {
4480          if (!open2) {
4481            sawPressWhileOpenRef.current = false;
4482            isComposingRef.current = false;
4483            currentPointerTypeRef.current = "";
4484            touchStateRef.current = null;
4485          }
4486          return clearInsideReactTree;
4487        }
4488        dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;
4489        dataRef.current.__outsidePressBubbles = outsidePressBubbles;
4490        const preventedPressSuppressionTimeout = new Timeout();
4491        const doc = ownerDocument(floatingElement);
4492        function handleCompositionStart() {
4493          compositionTimeout.clear();
4494          isComposingRef.current = true;
4495        }
4496        function handleCompositionEnd() {
4497          isComposingRef.current = true;
4498          compositionTimeout.start(
4499            // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.
4500            // Only apply to WebKit for the test to remain 0ms.
4501            parts_exports.engine.webkit ? 5 : 0,
4502            () => {
4503              isComposingRef.current = false;
4504            }
4505          );
4506        }
4507        function suppressImmediateOutsideClickAfterPreventedStart() {
4508          suppressNextOutsideClickRef.current = true;
4509          preventedPressSuppressionTimeout.start(0, () => {
4510            suppressNextOutsideClickRef.current = false;
4511          });
4512        }
4513        function resetPressStartState() {
4514          pressStartedInsideRef.current = false;
4515          pressStartPreventedRef.current = false;
4516        }
4517        function getOutsidePressEvent() {
4518          const type = currentPointerTypeRef.current;
4519          const computedType = type === "pen" || !type ? "mouse" : type;
4520          const outsidePressEventValue = getOutsidePressEventProp();
4521          const resolved = typeof outsidePressEventValue === "function" ? outsidePressEventValue() : outsidePressEventValue;
4522          if (typeof resolved === "string") {
4523            return resolved;
4524          }
4525          return resolved[computedType];
4526        }
4527        function shouldIgnoreEvent(event) {
4528          const computedOutsidePressEvent = getOutsidePressEvent();
4529          return computedOutsidePressEvent === "intentional" && event.type !== "click" || computedOutsidePressEvent === "sloppy" && event.type === "click";
4530        }
4531        function isEventWithinFloatingTree(event) {
4532          const nodeId = dataRef.current.floatingContext?.nodeId;
4533          const targetIsInsideChildren = tree && getNodeChildren(tree.nodesRef.current, nodeId).some((node) => isEventTargetWithin(event, node.context?.elements.floating));
4534          return isEventWithinOwnElements(event) || targetIsInsideChildren;
4535        }
4536        function closeOnPressOutside(event) {
4537          if (shouldIgnoreEvent(event)) {
4538            if (event.type !== "click" && !isEventWithinOwnElements(event)) {
4539              preventedPressSuppressionTimeout.clear();
4540              suppressNextOutsideClickRef.current = false;
4541            }
4542            clearInsideReactTree();
4543            return;
4544          }
4545          if (dataRef.current.insideReactTree) {
4546            clearInsideReactTree();
4547            return;
4548          }
4549          const target = getTarget(event);
4550          const inertSelector = `[$createAttribute("inert")}]`;
4551          const targetRoot = isElement(target) ? target.getRootNode() : null;
4552          const markers = Array.from((isShadowRoot(targetRoot) ? targetRoot : ownerDocument(store.select("floatingElement"))).querySelectorAll(inertSelector));
4553          const triggers = store.context.triggerElements;
4554          if (target && (triggers.hasElement(target) || triggers.hasMatchingElement((trigger) => contains(trigger, target)))) {
4555            return;
4556          }
4557          let targetRootAncestor = isElement(target) ? target : null;
4558          while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {
4559            const nextParent = getParentNode(targetRootAncestor);
4560            if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {
4561              break;
4562            }
4563            targetRootAncestor = nextParent;
4564          }
4565          if (markers.length && isElement(target) && !isRootElement(target) && // Clicked on a direct ancestor (e.g. FloatingOverlay).
4566          !contains(target, store.select("floatingElement")) && // If the target root element contains none of the markers, then the
4567          // element was injected after the floating element rendered.
4568          markers.every((marker) => !contains(targetRootAncestor, marker))) {
4569            return;
4570          }
4571          if (isHTMLElement(target) && !("touches" in event)) {
4572            const lastTraversableNode = isLastTraversableNode(target);
4573            const style = getComputedStyle2(target);
4574            const scrollRe = /auto|scroll/;
4575            const isScrollableX = lastTraversableNode || scrollRe.test(style.overflowX);
4576            const isScrollableY = lastTraversableNode || scrollRe.test(style.overflowY);
4577            const canScrollX = isScrollableX && target.clientWidth > 0 && target.scrollWidth > target.clientWidth;
4578            const canScrollY = isScrollableY && target.clientHeight > 0 && target.scrollHeight > target.clientHeight;
4579            const isRTL3 = style.direction === "rtl";
4580            const pressedVerticalScrollbar = canScrollY && (isRTL3 ? event.offsetX <= target.offsetWidth - target.clientWidth : event.offsetX > target.clientWidth);
4581            const pressedHorizontalScrollbar = canScrollX && event.offsetY > target.clientHeight;
4582            if (pressedVerticalScrollbar || pressedHorizontalScrollbar) {
4583              return;
4584            }
4585          }
4586          if (isEventWithinFloatingTree(event)) {
4587            return;
4588          }
4589          if (getOutsidePressEvent() === "intentional") {
4590            if (event.detail !== 0 && !isVirtualClick(event) && !sawPressWhileOpenRef.current) {
4591              return;
4592            }
4593            if (suppressNextOutsideClickRef.current) {
4594              preventedPressSuppressionTimeout.clear();
4595              suppressNextOutsideClickRef.current = false;
4596              return;
4597            }
4598          }
4599          if (typeof outsidePress2 === "function" && !outsidePress2(event)) {
4600            return;
4601          }
4602          if (hasBlockingChild("__outsidePressBubbles")) {
4603            return;
4604          }
4605          store.setOpen(false, createChangeEventDetails(reason_parts_exports.outsidePress, event));
4606          clearInsideReactTree();
4607        }
4608        function handlePointerDown(event) {
4609          if (getOutsidePressEvent() !== "sloppy" || event.pointerType === "touch" || !store.select("open") || !enabled || isEventWithinOwnElements(event)) {
4610            return;
4611          }
4612          closeOnPressOutside(event);
4613        }
4614        function handleTouchStart(event) {
4615          if (getOutsidePressEvent() !== "sloppy" || !store.select("open") || !enabled || isEventWithinOwnElements(event)) {
4616            return;
4617          }
4618          const touch = event.touches[0];
4619          if (touch) {
4620            touchStateRef.current = {
4621              startTime: Date.now(),
4622              startX: touch.clientX,
4623              startY: touch.clientY,
4624              dismissOnTouchEnd: false,
4625              dismissOnMouseDown: true
4626            };
4627            cancelDismissOnEndTimeout.start(1e3, () => {
4628              if (touchStateRef.current) {
4629                touchStateRef.current.dismissOnTouchEnd = false;
4630                touchStateRef.current.dismissOnMouseDown = false;
4631              }
4632            });
4633          }
4634        }
4635        function addTargetEventListenerOnce(event, listener) {
4636          const target = getTarget(event);
4637          if (!target) {
4638            return;
4639          }
4640          const unsubscribe2 = addEventListener(target, event.type, () => {
4641            listener(event);
4642            unsubscribe2();
4643          });
4644        }
4645        function handleTouchStartCapture(event) {
4646          currentPointerTypeRef.current = "touch";
4647          addTargetEventListenerOnce(event, handleTouchStart);
4648        }
4649        function closeOnPressOutsideCapture(event) {
4650          cancelDismissOnEndTimeout.clear();
4651          if (event.type === "pointerdown") {
4652            if (event.button === 0) {
4653              sawPressWhileOpenRef.current = true;
4654            }
4655            currentPointerTypeRef.current = event.pointerType;
4656          }
4657          if (event.type === "mousedown" && touchStateRef.current && !touchStateRef.current.dismissOnMouseDown) {
4658            return;
4659          }
4660          addTargetEventListenerOnce(event, (targetEvent) => {
4661            if (targetEvent.type === "pointerdown") {
4662              handlePointerDown(targetEvent);
4663            } else {
4664              closeOnPressOutside(targetEvent);
4665            }
4666          });
4667        }
4668        function handlePressEndCapture(event) {
4669          if (event.type === "pointercancel") {
4670            sawPressWhileOpenRef.current = false;
4671          }
4672          if (!pressStartedInsideRef.current) {
4673            return;
4674          }
4675          const pressStartedInsideDefaultPrevented = pressStartPreventedRef.current;
4676          resetPressStartState();
4677          if (getOutsidePressEvent() !== "intentional") {
4678            return;
4679          }
4680          if (event.type === "pointercancel") {
4681            if (pressStartedInsideDefaultPrevented) {
4682              suppressImmediateOutsideClickAfterPreventedStart();
4683            }
4684            return;
4685          }
4686          if (isEventWithinFloatingTree(event)) {
4687            return;
4688          }
4689          if (pressStartedInsideDefaultPrevented) {
4690            suppressImmediateOutsideClickAfterPreventedStart();
4691            return;
4692          }
4693          if (typeof outsidePress2 === "function" && !outsidePress2(event)) {
4694            return;
4695          }
4696          preventedPressSuppressionTimeout.clear();
4697          suppressNextOutsideClickRef.current = true;
4698          clearInsideReactTree();
4699        }
4700        function handleTouchMove(event) {
4701          if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) {
4702            return;
4703          }
4704          const touch = event.touches[0];
4705          if (!touch) {
4706            return;
4707          }
4708          const deltaX = Math.abs(touch.clientX - touchStateRef.current.startX);
4709          const deltaY = Math.abs(touch.clientY - touchStateRef.current.startY);
4710          const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
4711          if (distance > 5) {
4712            touchStateRef.current.dismissOnTouchEnd = true;
4713          }
4714          if (distance > 10) {
4715            closeOnPressOutside(event);
4716            cancelDismissOnEndTimeout.clear();
4717            touchStateRef.current = null;
4718          }
4719        }
4720        function handleTouchMoveCapture(event) {
4721          addTargetEventListenerOnce(event, handleTouchMove);
4722        }
4723        function handleTouchEnd(event) {
4724          if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) {
4725            return;
4726          }
4727          if (touchStateRef.current.dismissOnTouchEnd) {
4728            closeOnPressOutside(event);
4729          }
4730          cancelDismissOnEndTimeout.clear();
4731          touchStateRef.current = null;
4732        }
4733        function handleTouchEndCapture(event) {
4734          addTargetEventListenerOnce(event, handleTouchEnd);
4735        }
4736        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, {
4737          capture: true,
4738          passive: true
4739        }), addEventListener(doc, "touchmove", handleTouchMoveCapture, {
4740          capture: true,
4741          passive: true
4742        }), addEventListener(doc, "touchend", handleTouchEndCapture, {
4743          capture: true,
4744          passive: true
4745        })));
4746        return () => {
4747          unsubscribe();
4748          preventedPressSuppressionTimeout.clear();
4749          resetPressStartState();
4750          suppressNextOutsideClickRef.current = false;
4751        };
4752      }, [dataRef, floatingElement, escapeKey2, outsidePressEnabled, outsidePress2, open2, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, clearInsideReactTree, getOutsidePressEventProp, hasBlockingChild, isEventWithinOwnElements, tree, store, cancelDismissOnEndTimeout, compositionTimeout]);
4753      const reference = React24.useMemo(() => ({
4754        onKeyDown: closeOnEscapeKeyDown,
4755        onPointerDown: closeOnReferencePress,
4756        onClick: closeOnReferencePress
4757      }), [closeOnEscapeKeyDown, closeOnReferencePress]);
4758      const floating = React24.useMemo(() => ({
4759        onKeyDown: closeOnEscapeKeyDown,
4760        // `onMouseDown` may be blocked if `event.preventDefault()` is called in
4761        // `onPointerDown`, such as with <NumberField.ScrubArea>.
4762        // See https://github.com/mui/base-ui/pull/3379
4763        onPointerDown: markInsidePressStartPrevented,
4764        onMouseDown: markInsidePressStartPrevented,
4765        onClickCapture: markInsideReactTree,
4766        onMouseDownCapture(event) {
4767          markInsideReactTree();
4768          markPressStartedInsideReactTree(event);
4769        },
4770        onPointerDownCapture(event) {
4771          markInsideReactTree();
4772          markPressStartedInsideReactTree(event);
4773        },
4774        onMouseUpCapture: markInsideReactTree,
4775        onTouchEndCapture: markInsideReactTree,
4776        onTouchMoveCapture: markInsideReactTree
4777      }), [closeOnEscapeKeyDown, markInsideReactTree, markPressStartedInsideReactTree, markInsidePressStartPrevented]);
4778      return React24.useMemo(() => enabled ? {
4779        reference,
4780        floating,
4781        trigger: reference
4782      } : {}, [enabled, reference, floating]);
4783    }
4784  
4785    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs
4786    var React26 = __toESM(require_react(), 1);
4787    var ReactDOM3 = __toESM(require_react_dom(), 1);
4788  
4789    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useUnmountAfterClose.mjs
4790    var React25 = __toESM(require_react(), 1);
4791    function useUnmountAfterClose(parameters) {
4792      const {
4793        open: open2,
4794        ref,
4795        preventUnmountOnClose,
4796        setPreventUnmountOnClose: setPreventUnmountOnCloseParam,
4797        onUnmount,
4798        animateInitialOpen
4799      } = parameters;
4800      const setPreventUnmountOnClose = useStableCallback(setPreventUnmountOnCloseParam);
4801      const {
4802        mounted,
4803        setMounted,
4804        transitionStatus
4805      } = useTransitionStatus(open2, false, false, animateInitialOpen);
4806      const preventUnmountingOnClose = open2 ? false : preventUnmountOnClose;
4807      useIsoLayoutEffect(() => {
4808        if (open2) {
4809          setPreventUnmountOnClose(false);
4810        }
4811      }, [open2, setPreventUnmountOnClose]);
4812      const mountedRef = React25.useRef(mounted);
4813      const pendingUnmountRef = React25.useRef(false);
4814      const rerender = useForcedRerendering();
4815      const unmount = () => {
4816        mountedRef.current = false;
4817        setMounted(false);
4818        onUnmount();
4819      };
4820      useIsoLayoutEffect(() => {
4821        mountedRef.current = mounted;
4822        if (pendingUnmountRef.current) {
4823          pendingUnmountRef.current = false;
4824          if (!open2 && mounted) {
4825            unmount();
4826          }
4827        }
4828      });
4829      const forceUnmount = useStableCallback(() => {
4830        if (!mountedRef.current) {
4831          return;
4832        }
4833        if (open2) {
4834          pendingUnmountRef.current = true;
4835          rerender();
4836          return;
4837        }
4838        unmount();
4839      });
4840      useOpenChangeComplete({
4841        enabled: mounted && !open2 && !preventUnmountingOnClose,
4842        open: open2,
4843        ref,
4844        onComplete() {
4845          if (!open2) {
4846            forceUnmount();
4847          }
4848        }
4849      });
4850      return {
4851        mounted,
4852        transitionStatus,
4853        preventUnmountingOnClose,
4854        forceUnmount
4855      };
4856    }
4857  
4858    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs
4859    var FOCUSABLE_POPUP_PROPS = {
4860      tabIndex: -1,
4861      [FOCUSABLE_ATTRIBUTE]: ""
4862    };
4863    function attachPreventUnmountOnClose(eventDetails) {
4864      let preventUnmountOnClose = false;
4865      eventDetails.preventUnmountOnClose = () => {
4866        preventUnmountOnClose = true;
4867      };
4868      return () => preventUnmountOnClose;
4869    }
4870  
4871    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupTriggerMap.mjs
4872    var devElementIdsByMap;
4873    function getDevElementIds(map) {
4874      devElementIdsByMap ??= /* @__PURE__ */ new WeakMap();
4875      let elementIds = devElementIdsByMap.get(map);
4876      if (!elementIds) {
4877        elementIds = /* @__PURE__ */ new WeakMap();
4878        devElementIdsByMap.set(map, elementIds);
4879      }
4880      return elementIds;
4881    }
4882    var PopupTriggerMap = class {
4883      idMap = /* @__PURE__ */ new Map();
4884      /**
4885       * Adds a trigger element with the given ID.
4886       *
4887       * Note: The provided element is assumed to not be registered under multiple IDs.
4888       */
4889      add(id, element) {
4890        if (true) {
4891          const elementIds = getDevElementIds(this);
4892          const existingId = elementIds.get(element);
4893          if (existingId !== void 0 && existingId !== id) {
4894            throw new Error("Base UI: A trigger element cannot be registered under multiple IDs in PopupTriggerMap.");
4895          }
4896          const previousElement = this.idMap.get(id);
4897          if (previousElement !== void 0 && previousElement !== element) {
4898            elementIds.delete(previousElement);
4899          }
4900          elementIds.set(element, id);
4901        }
4902        this.idMap.set(id, element);
4903      }
4904      /**
4905       * Removes the trigger element with the given ID.
4906       */
4907      delete(id) {
4908        if (true) {
4909          const element = this.idMap.get(id);
4910          if (element !== void 0) {
4911            devElementIdsByMap?.get(this)?.delete(element);
4912          }
4913        }
4914        this.idMap.delete(id);
4915      }
4916      /**
4917       * Whether the given element is registered as a trigger.
4918       */
4919      hasElement(element) {
4920        for (const registered of this.idMap.values()) {
4921          if (registered === element) {
4922            return true;
4923          }
4924        }
4925        return false;
4926      }
4927      /**
4928       * Whether there is a registered trigger element matching the given predicate.
4929       */
4930      hasMatchingElement(predicate) {
4931        for (const element of this.idMap.values()) {
4932          if (predicate(element)) {
4933            return true;
4934          }
4935        }
4936        return false;
4937      }
4938      /**
4939       * Returns the trigger element associated with the given ID, or undefined if no such element exists.
4940       */
4941      getById(id) {
4942        return this.idMap.get(id);
4943      }
4944      /**
4945       * Returns an iterable of all registered trigger entries, where each entry is a tuple of [id, element].
4946       */
4947      entries() {
4948        return this.idMap.entries();
4949      }
4950      /**
4951       * Returns an iterable of all registered trigger elements.
4952       */
4953      elements() {
4954        return this.idMap.values();
4955      }
4956      /**
4957       * Returns the number of registered trigger elements.
4958       */
4959      get size() {
4960        return this.idMap.size;
4961      }
4962    };
4963  
4964    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/useStore.mjs
4965    var React28 = __toESM(require_react(), 1);
4966    var import_shim = __toESM(require_shim(), 1);
4967    var import_with_selector = __toESM(require_with_selector(), 1);
4968  
4969    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/fastHooks.mjs
4970    var React27 = __toESM(require_react(), 1);
4971    var hooks = [];
4972    var currentInstance = void 0;
4973    function getInstance() {
4974      return currentInstance;
4975    }
4976    function register(hook) {
4977      hooks.push(hook);
4978    }
4979  
4980    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/useStore.mjs
4981    var canUseRawUseSyncExternalStore = isReactVersionAtLeast(19);
4982    var useStoreImplementation = canUseRawUseSyncExternalStore ? useStoreFast : useStoreLegacy;
4983    function useStore(store, selector, a1, a2, a3) {
4984      return useStoreImplementation(store, selector, a1, a2, a3);
4985    }
4986    function useStoreR19(store, selector, a1, a2, a3) {
4987      const getSelection = React28.useCallback(() => selector(store.getSnapshot(), a1, a2, a3), [store, selector, a1, a2, a3]);
4988      return (0, import_shim.useSyncExternalStore)(store.subscribe, getSelection, getSelection);
4989    }
4990    register({
4991      before(instance) {
4992        instance.syncIndex = 0;
4993        if (!instance.didInitialize) {
4994          instance.syncTick = 1;
4995          instance.syncHooks = [];
4996          instance.didChangeStore = true;
4997          instance.getSnapshot = () => {
4998            let didChange2 = false;
4999            for (let i = 0; i < instance.syncHooks.length; i += 1) {
5000              const hook = instance.syncHooks[i];
5001              const value = hook.selector(hook.store.state, hook.a1, hook.a2, hook.a3);
5002              if (!Object.is(hook.value, value)) {
5003                didChange2 = true;
5004                hook.value = value;
5005              }
5006            }
5007            if (didChange2) {
5008              instance.syncTick += 1;
5009            }
5010            return instance.syncTick;
5011          };
5012        }
5013      },
5014      after(instance) {
5015        if (instance.syncHooks.length > 0) {
5016          if (instance.didChangeStore) {
5017            instance.didChangeStore = false;
5018            instance.subscribe = (onStoreChange) => {
5019              const stores = /* @__PURE__ */ new Set();
5020              for (const hook of instance.syncHooks) {
5021                stores.add(hook.store);
5022              }
5023              const unsubscribes = [];
5024              for (const store of stores) {
5025                unsubscribes.push(store.subscribe(onStoreChange));
5026              }
5027              return () => {
5028                for (const unsubscribe of unsubscribes) {
5029                  unsubscribe();
5030                }
5031              };
5032            };
5033          }
5034          (0, import_shim.useSyncExternalStore)(instance.subscribe, instance.getSnapshot, instance.getSnapshot);
5035        }
5036      }
5037    });
5038    function useStoreFast(store, selector, a1, a2, a3) {
5039      const instance = getInstance();
5040      if (!instance) {
5041        return useStoreR19(store, selector, a1, a2, a3);
5042      }
5043      const index3 = instance.syncIndex;
5044      instance.syncIndex += 1;
5045      let hook;
5046      if (!instance.didInitialize) {
5047        hook = {
5048          store,
5049          selector,
5050          a1,
5051          a2,
5052          a3,
5053          value: selector(store.getSnapshot(), a1, a2, a3)
5054        };
5055        instance.syncHooks.push(hook);
5056      } else {
5057        hook = instance.syncHooks[index3];
5058        if (hook.store !== store || hook.selector !== selector || !Object.is(hook.a1, a1) || !Object.is(hook.a2, a2) || !Object.is(hook.a3, a3)) {
5059          if (hook.store !== store) {
5060            instance.didChangeStore = true;
5061          }
5062          hook.store = store;
5063          hook.selector = selector;
5064          hook.a1 = a1;
5065          hook.a2 = a2;
5066          hook.a3 = a3;
5067          hook.value = selector(store.getSnapshot(), a1, a2, a3);
5068        }
5069      }
5070      return hook.value;
5071    }
5072    function useStoreLegacy(store, selector, a1, a2, a3) {
5073      return (0, import_with_selector.useSyncExternalStoreWithSelector)(store.subscribe, store.getSnapshot, store.getSnapshot, (state) => selector(state, a1, a2, a3));
5074    }
5075  
5076    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/Store.mjs
5077    var Store = class {
5078      /**
5079       * Creates a store with the given initial state, constructing the class it is called on.
5080       * Calling it on a generic base class (e.g. `ReactStore.create(...)`) constructs that
5081       * class but degrades the inferred instance type to `Store`; use `new` there instead.
5082       */
5083      static create(state) {
5084        return new this(state);
5085      }
5086      /**
5087       * The current state of the store.
5088       * This property is updated immediately when the state changes as a result of calling {@link setState}, {@link update}, or {@link set}.
5089       * 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).
5090       * The values can be used directly (to avoid subscribing to the store) in effects or event handlers.
5091       *
5092       * Do not modify properties in state directly. Instead, use the provided methods to ensure proper state management and listener notification.
5093       */
5094      // Internal state to handle recursive `setState()` calls
5095      constructor(state) {
5096        this.state = state;
5097        this.listeners = /* @__PURE__ */ new Set();
5098        this.updateTick = 0;
5099      }
5100      /**
5101       * Registers a listener that will be called whenever the store's state changes.
5102       *
5103       * @param fn The listener function to be called on state changes.
5104       * @returns A function to unsubscribe the listener.
5105       */
5106      subscribe = (fn) => {
5107        this.listeners.add(fn);
5108        return () => {
5109          this.listeners.delete(fn);
5110        };
5111      };
5112      /**
5113       * Returns the current state of the store.
5114       */
5115      getSnapshot = () => {
5116        return this.state;
5117      };
5118      /**
5119       * Updates the entire store's state and notifies all registered listeners.
5120       *
5121       * @param newState The new state to set for the store.
5122       */
5123      setState(newState) {
5124        if (this.state === newState) {
5125          return;
5126        }
5127        this.state = newState;
5128        this.updateTick += 1;
5129        const currentTick = this.updateTick;
5130        for (const listener of this.listeners) {
5131          if (currentTick !== this.updateTick) {
5132            return;
5133          }
5134          listener(newState);
5135        }
5136      }
5137      /**
5138       * Merges the provided changes into the current state and notifies listeners if there are changes.
5139       * Each value must match its state key. Pass an exact known subset rather than a broad
5140       * `Partial<State>`, which may contain `undefined` for required state fields.
5141       *
5142       * @param changes An object containing the changes to apply to the current state.
5143       */
5144      update(changes) {
5145        for (const key in changes) {
5146          if (!Object.is(this.state[key], changes[key])) {
5147            this.setState({
5148              ...this.state,
5149              ...changes
5150            });
5151            return;
5152          }
5153        }
5154      }
5155      /**
5156       * Sets a specific key in the store's state to a new value and notifies listeners if the value has changed.
5157       *
5158       * @param key The key in the store's state to update.
5159       * @param value The new value to set for the specified key.
5160       */
5161      set(key, value) {
5162        if (!Object.is(this.state[key], value)) {
5163          this.setState({
5164            ...this.state,
5165            [key]: value
5166          });
5167        }
5168      }
5169      /**
5170       * Gives the state a new reference and updates all registered listeners.
5171       */
5172      notifyAll() {
5173        const newState = {
5174          ...this.state
5175        };
5176        this.setState(newState);
5177      }
5178      use(selector, a1, a2, a3) {
5179        return useStore(this, selector, a1, a2, a3);
5180      }
5181    };
5182  
5183    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/ReactStore.mjs
5184    var React29 = __toESM(require_react(), 1);
5185    var ReactStore = class extends Store {
5186      /**
5187       * Creates a new ReactStore instance.
5188       *
5189       * @param state Initial state of the store.
5190       * @param context Non-reactive context values.
5191       * @param selectors Optional selectors for use with `useState`.
5192       */
5193      constructor(state, context = {}, selectors3) {
5194        super(state);
5195        this.context = context;
5196        this.selectors = selectors3;
5197      }
5198      /**
5199       * Non-reactive values such as refs, callbacks, etc.
5200       */
5201      /**
5202       * Synchronizes a single external value into the store.
5203       *
5204       * Note that the while the value in `state` is updated immediately, the value returned
5205       * by `useState` is updated before the next render (similarly to React's `useState`).
5206       */
5207      useSyncedValue(key, value) {
5208        React29.useDebugValue(key);
5209        const store = this;
5210        useIsoLayoutEffect(() => {
5211          if (store.state[key] !== value) {
5212            store.set(key, value);
5213          }
5214        }, [store, key, value]);
5215      }
5216      /**
5217       * Synchronizes a single external value into the store and
5218       * cleans it up (sets to `undefined`) on unmount.
5219       *
5220       * Note that the while the value in `state` is updated immediately, the value returned
5221       * by `useState` is updated before the next render (similarly to React's `useState`).
5222       */
5223      useSyncedValueWithCleanup(key, value) {
5224        const store = this;
5225        useIsoLayoutEffect(() => {
5226          if (store.state[key] !== value) {
5227            store.set(key, value);
5228          }
5229          return () => {
5230            store.set(key, void 0);
5231          };
5232        }, [store, key, value]);
5233      }
5234      /**
5235       * Synchronizes multiple external values into the store.
5236       * Each value must match its state key. Pass an exact known subset rather than a broad
5237       * `Partial<State>`, which may contain `undefined` for required state fields.
5238       *
5239       * Note that the while the values in `state` are updated immediately, the values returned
5240       * by `useState` are updated before the next render (similarly to React's `useState`).
5241       *
5242       * @param statePart An exact subset of state fields to synchronize. Unknown keys are not accepted.
5243       */
5244      useSyncedValues(statePart) {
5245        const store = this;
5246        if (true) {
5247          React29.useDebugValue(statePart, (p) => Object.keys(p));
5248          const keys = React29.useRef(Object.keys(statePart)).current;
5249          const nextKeys = Object.keys(statePart);
5250          if (keys.length !== nextKeys.length || keys.some((key, index3) => key !== nextKeys[index3])) {
5251            console.error("ReactStore.useSyncedValues expects the same prop keys on every render. Keys should be stable.");
5252          }
5253        }
5254        const dependencies = Object.values(statePart);
5255        useIsoLayoutEffect(() => {
5256          store.update(statePart);
5257        }, [store, ...dependencies]);
5258      }
5259      /**
5260       * Registers a controllable prop pair (`controlled`, `defaultValue`) for a specific key. If `controlled`
5261       * is non-undefined, the store's state at `key` is updated to match `controlled`.
5262       */
5263      useControlledProp(key, controlled) {
5264        React29.useDebugValue(key);
5265        const store = this;
5266        const isControlled = controlled !== void 0;
5267        useIsoLayoutEffect(() => {
5268          if (isControlled && !Object.is(store.state[key], controlled)) {
5269            store.setState({
5270              ...store.state,
5271              [key]: controlled
5272            });
5273          }
5274        }, [store, key, controlled, isControlled]);
5275        if (true) {
5276          const cache = this.controlledValues ??= /* @__PURE__ */ new Map();
5277          if (!cache.has(key)) {
5278            cache.set(key, isControlled);
5279          }
5280          const previouslyControlled = cache.get(key);
5281          if (previouslyControlled !== void 0 && previouslyControlled !== isControlled) {
5282            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).`);
5283          }
5284        }
5285      }
5286      /** Gets the current value from the store using a selector with the provided key.
5287       *
5288       * @param key Key of the selector to use.
5289       */
5290      select(key, a1, a2, a3) {
5291        const selector = this.selectors[key];
5292        return selector(this.state, a1, a2, a3);
5293      }
5294      /**
5295       * Returns a value from the store's state using a selector function.
5296       * Used to subscribe to specific parts of the state.
5297       * This methods causes a rerender whenever the selected state changes.
5298       *
5299       * @param key Key of the selector to use.
5300       */
5301      useState(key, a1, a2, a3) {
5302        React29.useDebugValue(key);
5303        return useStore(this, this.selectors[key], a1, a2, a3);
5304      }
5305      /**
5306       * Wraps a function with `useStableCallback` to ensure it has a stable reference
5307       * and assigns it to the context.
5308       *
5309       * @param key Key of the event callback. Must be a function in the context.
5310       * @param fn Function to assign.
5311       */
5312      useContextCallback(key, fn) {
5313        React29.useDebugValue(key);
5314        const stableFunction = useStableCallback(fn ?? NOOP);
5315        this.context[key] = stableFunction;
5316      }
5317      /**
5318       * Returns a stable setter function for a specific key in the store's state.
5319       * It's commonly used to pass as a ref callback to React elements.
5320       *
5321       * @param key Key of the state to set.
5322       */
5323      useStateSetter(key) {
5324        const ref = React29.useRef(void 0);
5325        if (ref.current === void 0) {
5326          ref.current = (value) => {
5327            this.set(key, value);
5328          };
5329        }
5330        return ref.current;
5331      }
5332      /**
5333       * Observes changes derived from the store's selectors and calls the listener when the selected value changes.
5334       *
5335       * @param key Key of the selector to observe.
5336       * @param listener Listener function called when the selector result changes.
5337       */
5338      observe(selector, listener) {
5339        let selectFn;
5340        if (typeof selector === "function") {
5341          selectFn = selector;
5342        } else {
5343          selectFn = this.selectors[selector];
5344        }
5345        let prevValue = selectFn(this.state);
5346        listener(prevValue, prevValue, this);
5347        return this.subscribe((nextState) => {
5348          const nextValue = selectFn(nextState);
5349          if (!Object.is(prevValue, nextValue)) {
5350            const oldValue = prevValue;
5351            prevValue = nextValue;
5352            listener(nextValue, oldValue, this);
5353          }
5354        });
5355      }
5356    };
5357  
5358    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingRootStore.mjs
5359    var selectors = {
5360      open: (state) => state.open,
5361      transitionStatus: (state) => state.transitionStatus,
5362      domReferenceElement: (state) => state.domReferenceElement,
5363      referenceElement: (state) => state.positionReference ?? state.referenceElement,
5364      floatingElement: (state) => state.floatingElement,
5365      floatingId: (state) => state.floatingId
5366    };
5367    var FloatingRootStore = class extends ReactStore {
5368      constructor(options) {
5369        const {
5370          syncOnly,
5371          nested,
5372          onOpenChange,
5373          triggerElements,
5374          ...initialState
5375        } = options;
5376        super({
5377          ...initialState,
5378          positionReference: initialState.referenceElement,
5379          domReferenceElement: initialState.referenceElement
5380        }, {
5381          onOpenChange,
5382          dataRef: {
5383            current: {}
5384          },
5385          events: createEventEmitter(),
5386          nested,
5387          triggerElements
5388        }, selectors);
5389        this.syncOnly = syncOnly;
5390      }
5391      /**
5392       * Syncs the event used by hover logic to distinguish hover-open from click-like interaction.
5393       */
5394      syncOpenEvent = (newOpen, event) => {
5395        if (!newOpen || !this.state.open || // Prevent a pending hover-open from overwriting a click-open event, while allowing
5396        // click events to upgrade a hover-open.
5397        event != null && isClickLikeEvent(event)) {
5398          this.context.dataRef.current.openEvent = newOpen ? event : void 0;
5399        }
5400      };
5401      /**
5402       * Runs the root-owned side effects for an open state change.
5403       */
5404      dispatchOpenChange = (newOpen, eventDetails) => {
5405        this.syncOpenEvent(newOpen, eventDetails.event);
5406        const details = {
5407          open: newOpen,
5408          reason: eventDetails.reason,
5409          nativeEvent: eventDetails.event,
5410          nested: this.context.nested,
5411          triggerElement: eventDetails.trigger
5412        };
5413        this.context.events.emit("openchange", details);
5414      };
5415      /**
5416       * Emits the `openchange` event through the internal event emitter and calls the `onOpenChange` handler with the provided arguments.
5417       *
5418       * @param newOpen The new open state.
5419       * @param eventDetails Details about the event that triggered the open state change.
5420       */
5421      setOpen = (newOpen, eventDetails) => {
5422        if (this.syncOnly) {
5423          this.context.onOpenChange?.(newOpen, eventDetails);
5424          return;
5425        }
5426        this.dispatchOpenChange(newOpen, eventDetails);
5427        this.context.onOpenChange?.(newOpen, eventDetails);
5428      };
5429    };
5430  
5431    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useFloatingRootContext.mjs
5432    function useFloatingRootContext(options) {
5433      const {
5434        open: open2 = false,
5435        onOpenChange,
5436        elements = {}
5437      } = options;
5438      const floatingId = useId();
5439      const nested = useFloatingParentNodeId() != null;
5440      if (true) {
5441        const optionDomReference = elements.reference;
5442        if (optionDomReference && !isElement(optionDomReference)) {
5443          console.error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `context.setPositionReference()`", "instead.");
5444        }
5445      }
5446      const store = useRefWithInit(() => new FloatingRootStore({
5447        open: open2,
5448        transitionStatus: void 0,
5449        onOpenChange,
5450        referenceElement: elements.reference ?? null,
5451        floatingElement: elements.floating ?? null,
5452        triggerElements: new PopupTriggerMap(),
5453        floatingId,
5454        syncOnly: false,
5455        nested
5456      })).current;
5457      useIsoLayoutEffect(() => {
5458        const valuesToSync = {
5459          open: open2,
5460          floatingId
5461        };
5462        if (elements.reference !== void 0) {
5463          valuesToSync.referenceElement = elements.reference;
5464          valuesToSync.domReferenceElement = isElement(elements.reference) ? elements.reference : null;
5465        }
5466        if (elements.floating !== void 0) {
5467          valuesToSync.floatingElement = elements.floating;
5468        }
5469        store.update(valuesToSync);
5470      }, [open2, floatingId, elements.reference, elements.floating, store]);
5471      store.context.onOpenChange = onOpenChange;
5472      store.context.nested = nested;
5473      return store;
5474    }
5475  
5476    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useListNavigation.mjs
5477    var React30 = __toESM(require_react(), 1);
5478    function isStationaryWebKitPointer(event) {
5479      return parts_exports.engine.webkit && event.movementX === 0 && event.movementY === 0;
5480    }
5481    function doSwitch(orientation, vertical, horizontal) {
5482      switch (orientation) {
5483        case "vertical":
5484          return vertical;
5485        case "horizontal":
5486          return horizontal;
5487        default:
5488          return vertical || horizontal;
5489      }
5490    }
5491    function isMainOrientationKey(key, orientation) {
5492      const vertical = key === ARROW_UP || key === ARROW_DOWN;
5493      const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;
5494      return doSwitch(orientation, vertical, horizontal);
5495    }
5496    function isMainOrientationToEndKey(key, orientation, rtl) {
5497      const vertical = key === ARROW_DOWN;
5498      const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;
5499      return doSwitch(orientation, vertical, horizontal) || key === "Enter" || key === " " || key === "";
5500    }
5501    function isCrossOrientationOpenKey(key, orientation, rtl) {
5502      const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;
5503      const horizontal = key === ARROW_DOWN;
5504      return doSwitch(orientation, vertical, horizontal);
5505    }
5506    function isCrossOrientationCloseKey(key, orientation, rtl, grid) {
5507      const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;
5508      const horizontal = key === ARROW_UP;
5509      if (orientation === "both" || orientation === "horizontal" && grid) {
5510        return key === "Escape";
5511      }
5512      return doSwitch(orientation, vertical, horizontal);
5513    }
5514    function useListNavigation(store, props) {
5515      const {
5516        listRef,
5517        activeIndex,
5518        onNavigate: onNavigateProp = () => {
5519        },
5520        enabled = true,
5521        selectedIndex = null,
5522        allowEscape = false,
5523        loopFocus = false,
5524        nested = false,
5525        rtl = false,
5526        virtual = false,
5527        focusItemOnOpen = "auto",
5528        focusItemOnHover = true,
5529        openOnArrowKeyDown = true,
5530        disabledIndices = void 0,
5531        orientation = "vertical",
5532        triggerOrientation = orientation,
5533        parentOrientation,
5534        id,
5535        resetOnPointerLeave = true,
5536        externalTree,
5537        nestedReturnFocusRef,
5538        grid: navigateGrid
5539      } = props;
5540      const isGrid = navigateGrid != null;
5541      if (true) {
5542        if (allowEscape) {
5543          if (!loopFocus) {
5544            console.warn("`useListNavigation` looping must be enabled to allow escaping.");
5545          }
5546          if (!virtual) {
5547            console.warn("`useListNavigation` must be virtual to allow escaping.");
5548          }
5549        }
5550        if (orientation === "vertical" && isGrid) {
5551          console.warn("In grid list navigation mode, the `orientation` should", 'be either "horizontal" or "both".');
5552        }
5553      }
5554      const open2 = store.useState("open");
5555      const floatingElement = store.useState("floatingElement");
5556      const domReferenceElement = store.useState("domReferenceElement");
5557      const dataRef = store.context.dataRef;
5558      const floatingFocusElement = getFloatingFocusElement(floatingElement);
5559      const typeableComboboxReference = isTypeableCombobox(domReferenceElement);
5560      const floatingFocusElementRef = useValueAsRef(floatingFocusElement);
5561      const parentId = useFloatingParentNodeId();
5562      const tree = useFloatingTree(externalTree);
5563      const focusItemOnOpenRef = React30.useRef(focusItemOnOpen);
5564      const indexRef = React30.useRef(selectedIndex ?? -1);
5565      const keyRef = React30.useRef(null);
5566      const isPointerModalityRef = React30.useRef(true);
5567      const onNavigate = useStableCallback((event) => {
5568        onNavigateProp(indexRef.current === -1 ? null : indexRef.current, event);
5569      });
5570      const previousMountedRef = React30.useRef(!!floatingElement);
5571      const previousOpenRef = React30.useRef(open2);
5572      const forceSyncFocusRef = React30.useRef(false);
5573      const forceScrollIntoViewRef = React30.useRef(false);
5574      const cancelQueuedFocusRef = React30.useRef(null);
5575      const disabledIndicesRef = useValueAsRef(disabledIndices);
5576      const latestOpenRef = useValueAsRef(open2);
5577      const selectedIndexRef = useValueAsRef(selectedIndex);
5578      const resetOnPointerLeaveRef = useValueAsRef(resetOnPointerLeave);
5579      const focusFrame = useAnimationFrame();
5580      const waitForListPopulatedFrame = useAnimationFrame();
5581      const focusItem = useStableCallback(() => {
5582        focusFrame.cancel();
5583        function runFocus(item2) {
5584          if (!virtual) {
5585            cancelQueuedFocusRef.current = enqueueFocus(item2, {
5586              sync: forceSyncFocusRef.current,
5587              preventScroll: true
5588            });
5589          }
5590        }
5591        const initialItem = listRef.current[indexRef.current];
5592        const forceScrollIntoView = forceScrollIntoViewRef.current;
5593        if (initialItem) {
5594          runFocus(initialItem);
5595        }
5596        const scheduler2 = forceSyncFocusRef.current ? (callback) => callback() : (callback) => focusFrame.request(callback);
5597        scheduler2(() => {
5598          const waitedItem = listRef.current[indexRef.current] || initialItem;
5599          if (!waitedItem) {
5600            return;
5601          }
5602          if (!initialItem) {
5603            runFocus(waitedItem);
5604          }
5605          const shouldScrollIntoView = (
5606            // eslint-disable-next-line @typescript-eslint/no-use-before-define
5607            item && (forceScrollIntoView || !isPointerModalityRef.current)
5608          );
5609          if (shouldScrollIntoView) {
5610            waitedItem.scrollIntoView?.({
5611              block: "nearest",
5612              inline: "nearest"
5613            });
5614          }
5615        });
5616      });
5617      useIsoLayoutEffect(() => {
5618        dataRef.current.orientation = orientation;
5619      }, [dataRef, orientation]);
5620      useIsoLayoutEffect(() => {
5621        if (!open2) {
5622          keyRef.current = null;
5623        }
5624        if (!open2 || focusItemOnOpen !== "auto") {
5625          focusItemOnOpenRef.current = focusItemOnOpen;
5626        }
5627      }, [open2, focusItemOnOpen]);
5628      useIsoLayoutEffect(() => {
5629        if (!enabled) {
5630          return;
5631        }
5632        if (open2 && floatingElement) {
5633          indexRef.current = selectedIndex ?? -1;
5634          if (focusItemOnOpenRef.current && selectedIndex != null) {
5635            forceScrollIntoViewRef.current = true;
5636            onNavigate();
5637          }
5638        } else if (previousMountedRef.current) {
5639          indexRef.current = -1;
5640          onNavigate();
5641        }
5642      }, [enabled, open2, floatingElement, selectedIndex, onNavigate]);
5643      useIsoLayoutEffect(() => {
5644        if (!enabled) {
5645          return;
5646        }
5647        if (!open2) {
5648          forceSyncFocusRef.current = false;
5649          return;
5650        }
5651        if (!floatingElement) {
5652          return;
5653        }
5654        if (activeIndex == null) {
5655          forceSyncFocusRef.current = false;
5656          if (selectedIndexRef.current != null) {
5657            return;
5658          }
5659          if (previousMountedRef.current) {
5660            indexRef.current = -1;
5661            focusItem();
5662          }
5663          if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {
5664            let runs = 0;
5665            const waitForListPopulated = () => {
5666              if (listRef.current[0] == null) {
5667                if (runs < 2) {
5668                  const scheduler2 = runs ? (callback) => waitForListPopulatedFrame.request(callback) : queueMicrotask;
5669                  scheduler2(waitForListPopulated);
5670                }
5671                runs += 1;
5672              } else {
5673                indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, triggerOrientation, rtl) || nested ? getMinListIndex(listRef) : getMaxListIndex(listRef);
5674                keyRef.current = null;
5675                onNavigate();
5676              }
5677            };
5678            waitForListPopulated();
5679          }
5680        } else if (!isIndexOutOfListBounds(listRef.current, activeIndex)) {
5681          indexRef.current = activeIndex;
5682          focusItem();
5683          forceScrollIntoViewRef.current = false;
5684        }
5685      }, [enabled, open2, floatingElement, activeIndex, selectedIndexRef, nested, listRef, triggerOrientation, rtl, onNavigate, focusItem, waitForListPopulatedFrame]);
5686      useIsoLayoutEffect(() => {
5687        if (!enabled || floatingElement || !tree || virtual || !previousMountedRef.current) {
5688          return;
5689        }
5690        const nodes = tree.nodesRef.current;
5691        const parent = nodes.find((node) => node.id === parentId)?.context?.elements.floating;
5692        const activeEl = activeElement(ownerDocument(domReferenceElement ?? parent ?? null));
5693        const treeContainsActiveEl = nodes.some((node) => node.context && contains(node.context.elements.floating, activeEl));
5694        if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {
5695          parent.focus({
5696            preventScroll: true
5697          });
5698        }
5699      }, [enabled, floatingElement, domReferenceElement, tree, parentId, virtual]);
5700      useIsoLayoutEffect(() => {
5701        previousOpenRef.current = open2;
5702        previousMountedRef.current = !!floatingElement;
5703      });
5704      const hasActiveIndex = activeIndex != null;
5705      const syncCurrentTarget = useStableCallback((event) => {
5706        if (!latestOpenRef.current) {
5707          return;
5708        }
5709        const index3 = listRef.current.indexOf(event.currentTarget);
5710        if (index3 !== -1 && (indexRef.current !== index3 || activeIndex !== index3)) {
5711          indexRef.current = index3;
5712          onNavigate(event);
5713        }
5714      });
5715      const getParentOrientation = useStableCallback(() => {
5716        return parentOrientation ?? tree?.nodesRef.current.find((node) => node.id === parentId)?.context?.dataRef?.current.orientation;
5717      });
5718      const getMinEnabledIndex = useStableCallback(() => {
5719        return getMinListIndex(listRef, disabledIndicesRef.current);
5720      });
5721      const commonOnKeyDown = useStableCallback((event) => {
5722        isPointerModalityRef.current = false;
5723        forceSyncFocusRef.current = true;
5724        if (event.which === 229) {
5725          return;
5726        }
5727        if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {
5728          return;
5729        }
5730        if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl, isGrid)) {
5731          if (!isMainOrientationKey(event.key, getParentOrientation())) {
5732            stopEvent(event);
5733          }
5734          store.setOpen(false, createChangeEventDetails(reason_parts_exports.listNavigation, event.nativeEvent));
5735          const returnElement = nestedReturnFocusRef?.current ?? domReferenceElement;
5736          if (isHTMLElement(returnElement)) {
5737            returnElement.focus();
5738          }
5739          return;
5740        }
5741        if (activeIndex != null && activeIndex !== indexRef.current && !isIndexOutOfListBounds(listRef.current, activeIndex)) {
5742          indexRef.current = activeIndex;
5743        }
5744        const currentIndex = indexRef.current;
5745        const minIndex = getMinListIndex(listRef, disabledIndices);
5746        const maxIndex = getMaxListIndex(listRef, disabledIndices);
5747        if (!typeableComboboxReference) {
5748          if (event.key === "Home") {
5749            stopEvent(event);
5750            indexRef.current = minIndex;
5751            onNavigate(event);
5752          }
5753          if (event.key === "End") {
5754            stopEvent(event);
5755            indexRef.current = maxIndex;
5756            onNavigate(event);
5757          }
5758        }
5759        if (navigateGrid != null) {
5760          const index3 = navigateGrid(event, indexRef.current, listRef, orientation, loopFocus, rtl, disabledIndices, minIndex, maxIndex);
5761          if (index3 != null && index3 !== indexRef.current) {
5762            indexRef.current = index3;
5763            onNavigate(event);
5764          }
5765          if (orientation === "both") {
5766            return;
5767          }
5768        }
5769        if (isMainOrientationKey(event.key, orientation)) {
5770          stopEvent(event);
5771          const focusedElement = activeElement(event.currentTarget.ownerDocument);
5772          if (open2 && !virtual && contains(event.currentTarget, focusedElement) && !listRef.current.some((item2) => item2 != null && contains(item2, focusedElement))) {
5773            indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;
5774            onNavigate(event);
5775            if (activeIndex === indexRef.current) {
5776              focusItem();
5777            }
5778            return;
5779          }
5780          const {
5781            index: index3,
5782            wrapped
5783          } = getNextListIndex(listRef.current, currentIndex, {
5784            decrement: !isMainOrientationToEndKey(event.key, orientation, rtl),
5785            loopFocus,
5786            allowEscape,
5787            disabledIndices,
5788            minIndex,
5789            maxIndex
5790          });
5791          if (wrapped) {
5792            forceSyncFocusRef.current = false;
5793          }
5794          indexRef.current = index3;
5795          onNavigate(event);
5796        }
5797      });
5798      const item = React30.useMemo(() => {
5799        const itemProps = {
5800          onFocus(event) {
5801            forceSyncFocusRef.current = true;
5802            syncCurrentTarget(event);
5803          },
5804          onClick({
5805            currentTarget
5806          }) {
5807            if (!virtual) {
5808              currentTarget.focus({
5809                preventScroll: true
5810              });
5811            }
5812          },
5813          onMouseMove(event) {
5814            if (isStationaryWebKitPointer(event)) {
5815              return;
5816            }
5817            forceSyncFocusRef.current = true;
5818            forceScrollIntoViewRef.current = false;
5819            if (focusItemOnHover) {
5820              syncCurrentTarget(event);
5821            }
5822          },
5823          onPointerLeave(event) {
5824            if (!latestOpenRef.current || !isPointerModalityRef.current || event.pointerType === "touch") {
5825              return;
5826            }
5827            forceSyncFocusRef.current = true;
5828            const relatedTarget = event.relatedTarget;
5829            if (!focusItemOnHover || listRef.current.includes(relatedTarget)) {
5830              return;
5831            }
5832            if (!resetOnPointerLeaveRef.current) {
5833              return;
5834            }
5835            cancelQueuedFocusRef.current?.();
5836            cancelQueuedFocusRef.current = null;
5837            indexRef.current = -1;
5838            onNavigate(event);
5839            if (!virtual) {
5840              const floatingFocusEl = floatingFocusElementRef.current;
5841              const activeEl = activeElement(ownerDocument(floatingFocusEl));
5842              if (floatingFocusEl && contains(floatingFocusEl, activeEl)) {
5843                floatingFocusEl.focus({
5844                  preventScroll: true
5845                });
5846              }
5847            }
5848          }
5849        };
5850        return itemProps;
5851      }, [syncCurrentTarget, latestOpenRef, floatingFocusElementRef, focusItemOnHover, listRef, onNavigate, resetOnPointerLeaveRef, virtual]);
5852      const ariaActiveDescendantProp = React30.useMemo(() => {
5853        return virtual && open2 && hasActiveIndex && {
5854          "aria-activedescendant": `$id}-$activeIndex}`
5855        };
5856      }, [virtual, open2, hasActiveIndex, id, activeIndex]);
5857      const floating = React30.useMemo(() => {
5858        return {
5859          ...!typeableComboboxReference ? ariaActiveDescendantProp : {},
5860          onKeyDown(event) {
5861            if (event.key === "Tab" && event.shiftKey && open2 && !virtual) {
5862              const target = getTarget(event.nativeEvent);
5863              if (target && !contains(floatingFocusElementRef.current, target)) {
5864                return;
5865              }
5866              stopEvent(event);
5867              const details = createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent);
5868              store.setOpen(false, details);
5869              const returnElement = nestedReturnFocusRef?.current ?? domReferenceElement;
5870              if (!details.isCanceled && isHTMLElement(returnElement)) {
5871                returnElement.focus();
5872              }
5873              return;
5874            }
5875            commonOnKeyDown(event);
5876          },
5877          onPointerMove(event) {
5878            if (isStationaryWebKitPointer(event)) {
5879              return;
5880            }
5881            isPointerModalityRef.current = true;
5882          }
5883        };
5884      }, [ariaActiveDescendantProp, commonOnKeyDown, floatingFocusElementRef, typeableComboboxReference, store, open2, virtual, domReferenceElement, nestedReturnFocusRef]);
5885      const trigger = React30.useMemo(() => {
5886        function openOnNavigationKeyDown(event) {
5887          store.setOpen(true, createChangeEventDetails(reason_parts_exports.listNavigation, event.nativeEvent, event.currentTarget));
5888        }
5889        function checkVirtualMouse(event) {
5890          if (focusItemOnOpen === "auto" && isVirtualClick(event.nativeEvent)) {
5891            focusItemOnOpenRef.current = !virtual;
5892          }
5893        }
5894        function checkVirtualPointer(event) {
5895          focusItemOnOpenRef.current = focusItemOnOpen;
5896          if (focusItemOnOpen === "auto" && isVirtualPointerEvent(event.nativeEvent)) {
5897            focusItemOnOpenRef.current = true;
5898          }
5899        }
5900        return {
5901          onKeyDown(event) {
5902            const currentOpen = store.select("open");
5903            isPointerModalityRef.current = false;
5904            const isArrowKey = event.key.startsWith("Arrow");
5905            const isParentCrossOpenKey = isCrossOrientationOpenKey(event.key, getParentOrientation(), rtl);
5906            const isMainKey = isMainOrientationKey(event.key, currentOpen ? orientation : triggerOrientation);
5907            const isNavigationKey = (nested ? isParentCrossOpenKey : isMainKey) || event.key === "Enter" || event.key.trim() === "";
5908            if (virtual && currentOpen && (!nested || isTypeableElement(event.currentTarget))) {
5909              return commonOnKeyDown(event);
5910            }
5911            if (!currentOpen && !openOnArrowKeyDown && isArrowKey) {
5912              return void 0;
5913            }
5914            if (isNavigationKey) {
5915              const isParentMainKey = isMainOrientationKey(event.key, getParentOrientation());
5916              keyRef.current = nested && isParentMainKey ? null : event.key;
5917            }
5918            if (nested) {
5919              if (isParentCrossOpenKey) {
5920                stopEvent(event);
5921                if (currentOpen) {
5922                  indexRef.current = getMinEnabledIndex();
5923                  onNavigate(event);
5924                  if (virtual) {
5925                    floatingFocusElementRef.current?.focus();
5926                  }
5927                } else {
5928                  openOnNavigationKeyDown(event);
5929                }
5930              }
5931              return void 0;
5932            }
5933            if (isMainKey) {
5934              if (selectedIndexRef.current != null) {
5935                indexRef.current = selectedIndexRef.current;
5936              }
5937              stopEvent(event);
5938              if (!currentOpen && openOnArrowKeyDown) {
5939                openOnNavigationKeyDown(event);
5940              } else {
5941                commonOnKeyDown(event);
5942              }
5943              if (currentOpen) {
5944                onNavigate(event);
5945              }
5946            }
5947            return void 0;
5948          },
5949          onFocus(event) {
5950            if (event.target !== event.currentTarget) {
5951              return;
5952            }
5953            if (store.select("open") && !virtual) {
5954              indexRef.current = -1;
5955              onNavigate(event);
5956            }
5957          },
5958          onPointerDown: checkVirtualPointer,
5959          onPointerEnter: checkVirtualPointer,
5960          onMouseDown: checkVirtualMouse,
5961          onClick: checkVirtualMouse
5962        };
5963      }, [commonOnKeyDown, focusItemOnOpen, getMinEnabledIndex, nested, onNavigate, store, openOnArrowKeyDown, orientation, triggerOrientation, getParentOrientation, rtl, selectedIndexRef, virtual, floatingFocusElementRef]);
5964      const reference = React30.useMemo(() => {
5965        return {
5966          ...ariaActiveDescendantProp,
5967          ...trigger
5968        };
5969      }, [ariaActiveDescendantProp, trigger]);
5970      return React30.useMemo(() => enabled ? {
5971        reference,
5972        floating,
5973        item,
5974        trigger
5975      } : {}, [enabled, reference, floating, trigger, item]);
5976    }
5977  
5978    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useTypeahead.mjs
5979    var React31 = __toESM(require_react(), 1);
5980    function useTypeahead(store, props) {
5981      const {
5982        listRef,
5983        elementsRef,
5984        activeIndex,
5985        onMatch: onMatchProp,
5986        disabledIndices,
5987        onTyping: onTypingProp,
5988        enabled = true,
5989        resetMs = 750,
5990        selectedIndex = null
5991      } = props;
5992      const onTyping = useStableCallback(onTypingProp);
5993      const open2 = store.useState("open");
5994      const timeout = useTimeout();
5995      const stringRef = React31.useRef("");
5996      const prevIndexRef = React31.useRef(selectedIndex ?? activeIndex ?? -1);
5997      const matchIndexRef = React31.useRef(null);
5998      const onKeyDown = useStableCallback((event) => {
5999        function getElement(index4) {
6000          return elementsRef?.current[index4];
6001        }
6002        function isItemAvailable(index4) {
6003          const element = getElement(index4);
6004          if (element && !isElementVisible(element) || element?.matches(":disabled")) {
6005            return false;
6006          }
6007          return disabledIndices == null || !isListIndexDisabled(EMPTY_ARRAY, index4, disabledIndices);
6008        }
6009        function getMatchingIndex(list, string, startIndex2 = 0) {
6010          if (list.length === 0) {
6011            return -1;
6012          }
6013          const normalizedStartIndex = (startIndex2 % list.length + list.length) % list.length;
6014          const lowerString = string.toLowerCase();
6015          for (let offset4 = 0; offset4 < list.length; offset4 += 1) {
6016            const index4 = (normalizedStartIndex + offset4) % list.length;
6017            const text = list[index4];
6018            if (!text?.toLowerCase().startsWith(lowerString) || !isItemAvailable(index4)) {
6019              continue;
6020            }
6021            return index4;
6022          }
6023          return -1;
6024        }
6025        const listContent = listRef.current;
6026        if (stringRef.current.length > 0 && event.key === " ") {
6027          stopEvent(event);
6028          onTyping?.(true);
6029        }
6030        if (stringRef.current.length > 0 && stringRef.current[0] !== " ") {
6031          if (getMatchingIndex(listContent, stringRef.current) === -1 && event.key !== " ") {
6032            onTyping?.(false);
6033          }
6034        }
6035        if (listContent == null || // Character key.
6036        event.key.length !== 1 || // Modifier key.
6037        event.ctrlKey || event.metaKey || event.altKey) {
6038          return;
6039        }
6040        if (open2 && event.key !== " ") {
6041          stopEvent(event);
6042          onTyping?.(true);
6043        }
6044        const isNewSession = stringRef.current === "";
6045        if (isNewSession) {
6046          prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;
6047        }
6048        const allowRapidSuccessionOfFirstLetter = listContent.every((text, index4) => text && isItemAvailable(index4) ? text[0]?.toLowerCase() !== text[1]?.toLowerCase() : true);
6049        if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {
6050          stringRef.current = "";
6051          prevIndexRef.current = matchIndexRef.current;
6052        }
6053        stringRef.current += event.key;
6054        timeout.start(resetMs, () => {
6055          stringRef.current = "";
6056          prevIndexRef.current = matchIndexRef.current;
6057          onTyping?.(false);
6058        });
6059        const prevIndex = isNewSession ? selectedIndex ?? activeIndex ?? -1 : prevIndexRef.current;
6060        const startIndex = (prevIndex ?? 0) + 1;
6061        const index3 = getMatchingIndex(listContent, stringRef.current, startIndex);
6062        if (index3 !== -1) {
6063          onMatchProp?.(index3, event);
6064          matchIndexRef.current = index3;
6065        } else if (event.key !== " ") {
6066          stringRef.current = "";
6067          onTyping?.(false);
6068        }
6069      });
6070      const onBlur = useStableCallback((event) => {
6071        const next = event.relatedTarget;
6072        const currentDomReferenceElement = store.select("domReferenceElement");
6073        const currentFloatingElement = store.select("floatingElement");
6074        const withinComposite = contains(currentDomReferenceElement, next) || contains(currentFloatingElement, next);
6075        if (withinComposite) {
6076          return;
6077        }
6078        timeout.clear();
6079        stringRef.current = "";
6080        prevIndexRef.current = matchIndexRef.current;
6081        onTyping?.(false);
6082      });
6083      useIsoLayoutEffect(() => {
6084        if (!open2 && selectedIndex !== null) {
6085          return;
6086        }
6087        timeout.clear();
6088        matchIndexRef.current = null;
6089        if (stringRef.current !== "") {
6090          stringRef.current = "";
6091          onTyping?.(false);
6092        }
6093      }, [open2, selectedIndex, timeout, onTyping]);
6094      const sharedProps = React31.useMemo(() => ({
6095        onKeyDown,
6096        onBlur
6097      }), [onKeyDown, onBlur]);
6098      return React31.useMemo(() => enabled ? {
6099        reference: sharedProps,
6100        floating: sharedProps
6101      } : {}, [enabled, sharedProps]);
6102    }
6103  
6104    // node_modules/.store/@floating-ui/core@1.8.0-3V8aS7jJHHGcsCINjP9-5A/node_modules/@floating-ui/core/dist/floating-ui.core.mjs
6105    function computeCoordsFromPlacement(_ref, placement, rtl) {
6106      let {
6107        reference,
6108        floating
6109      } = _ref;
6110      const sideAxis = getSideAxis(placement);
6111      const alignmentAxis = getAlignmentAxis(placement);
6112      const alignLength = getAxisLength(alignmentAxis);
6113      const side = getSide(placement);
6114      const isVertical = sideAxis === "y";
6115      const commonX = reference.x + reference.width / 2 - floating.width / 2;
6116      const commonY = reference.y + reference.height / 2 - floating.height / 2;
6117      const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
6118      let coords;
6119      switch (side) {
6120        case "top":
6121          coords = {
6122            x: commonX,
6123            y: reference.y - floating.height
6124          };
6125          break;
6126        case "bottom":
6127          coords = {
6128            x: commonX,
6129            y: reference.y + reference.height
6130          };
6131          break;
6132        case "right":
6133          coords = {
6134            x: reference.x + reference.width,
6135            y: commonY
6136          };
6137          break;
6138        case "left":
6139          coords = {
6140            x: reference.x - floating.width,
6141            y: commonY
6142          };
6143          break;
6144        default:
6145          coords = {
6146            x: reference.x,
6147            y: reference.y
6148          };
6149      }
6150      const alignment = getAlignment(placement);
6151      if (alignment) {
6152        coords[alignmentAxis] += commonAlign * (alignment === "end" ? 1 : -1) * (rtl && isVertical ? -1 : 1);
6153      }
6154      return coords;
6155    }
6156    async function detectOverflow(state, options) {
6157      var _await$platform$isEle;
6158      if (options === void 0) {
6159        options = {};
6160      }
6161      const {
6162        x,
6163        y,
6164        platform: platform3,
6165        rects,
6166        elements,
6167        strategy
6168      } = state;
6169      const {
6170        boundary = "clippingAncestors",
6171        rootBoundary = "viewport",
6172        elementContext = "floating",
6173        altBoundary = false,
6174        padding = 0
6175      } = evaluate(options, state);
6176      const paddingObject = getPaddingObject(padding);
6177      const altContext = elementContext === "floating" ? "reference" : "floating";
6178      const element = elements[altBoundary ? altContext : elementContext];
6179      const clippingClientRect = rectToClientRect(await platform3.getClippingRect({
6180        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)),
6181        boundary,
6182        rootBoundary,
6183        strategy
6184      }));
6185      const rect = elementContext === "floating" ? {
6186        x,
6187        y,
6188        width: rects.floating.width,
6189        height: rects.floating.height
6190      } : rects.reference;
6191      const offsetParent = await (platform3.getOffsetParent == null ? void 0 : platform3.getOffsetParent(elements.floating));
6192      const offsetScale = await (platform3.isElement == null ? void 0 : platform3.isElement(offsetParent)) && await (platform3.getScale == null ? void 0 : platform3.getScale(offsetParent)) || {
6193        x: 1,
6194        y: 1
6195      };
6196      const elementClientRect = rectToClientRect(platform3.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform3.convertOffsetParentRelativeRectToViewportRelativeRect({
6197        elements,
6198        rect,
6199        offsetParent,
6200        strategy
6201      }) : rect);
6202      return {
6203        top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
6204        bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
6205        left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
6206        right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
6207      };
6208    }
6209    var MAX_RESET_COUNT = 50;
6210    var computePosition = async (reference, floating, config) => {
6211      const {
6212        placement = "bottom",
6213        strategy = "absolute",
6214        middleware = [],
6215        platform: platform3
6216      } = config;
6217      const platformWithDetectOverflow = platform3.detectOverflow ? platform3 : {
6218        ...platform3,
6219        detectOverflow
6220      };
6221      const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(floating));
6222      let rects = await platform3.getElementRects({
6223        reference,
6224        floating,
6225        strategy
6226      });
6227      let {
6228        x,
6229        y
6230      } = computeCoordsFromPlacement(rects, placement, rtl);
6231      let statefulPlacement = placement;
6232      let resetCount = 0;
6233      const middlewareData = {};
6234      for (let i = 0; i < middleware.length; i++) {
6235        const currentMiddleware = middleware[i];
6236        if (!currentMiddleware) {
6237          continue;
6238        }
6239        const {
6240          name: name16,
6241          fn
6242        } = currentMiddleware;
6243        const {
6244          x: nextX,
6245          y: nextY,
6246          data,
6247          reset
6248        } = await fn({
6249          x,
6250          y,
6251          initialPlacement: placement,
6252          placement: statefulPlacement,
6253          strategy,
6254          middlewareData,
6255          rects,
6256          platform: platformWithDetectOverflow,
6257          elements: {
6258            reference,
6259            floating
6260          }
6261        });
6262        x = nextX != null ? nextX : x;
6263        y = nextY != null ? nextY : y;
6264        middlewareData[name16] = {
6265          ...middlewareData[name16],
6266          ...data
6267        };
6268        if (reset && resetCount < MAX_RESET_COUNT) {
6269          resetCount++;
6270          if (typeof reset === "object") {
6271            if (reset.placement) {
6272              statefulPlacement = reset.placement;
6273            }
6274            if (reset.rects) {
6275              rects = reset.rects === true ? await platform3.getElementRects({
6276                reference,
6277                floating,
6278                strategy
6279              }) : reset.rects;
6280            }
6281            ({
6282              x,
6283              y
6284            } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
6285          }
6286          i = -1;
6287        }
6288      }
6289      return {
6290        x,
6291        y,
6292        placement: statefulPlacement,
6293        strategy,
6294        middlewareData
6295      };
6296    };
6297    var flip = function(options) {
6298      if (options === void 0) {
6299        options = {};
6300      }
6301      return {
6302        name: "flip",
6303        options,
6304        async fn(state) {
6305          var _middlewareData$arrow, _middlewareData$flip;
6306          const {
6307            placement,
6308            middlewareData,
6309            rects,
6310            initialPlacement,
6311            platform: platform3,
6312            elements
6313          } = state;
6314          const {
6315            mainAxis: checkMainAxis = true,
6316            crossAxis: checkCrossAxis = true,
6317            fallbackPlacements: specifiedFallbackPlacements,
6318            fallbackStrategy = "bestFit",
6319            fallbackAxisSideDirection = "none",
6320            flipAlignment = true,
6321            ...detectOverflowOptions
6322          } = evaluate(options, state);
6323          if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
6324            return {};
6325          }
6326          const side = getSide(placement);
6327          const initialSideAxis = getSideAxis(initialPlacement);
6328          const isBasePlacement = getSide(initialPlacement) === initialPlacement;
6329          const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating));
6330          const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
6331          const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none";
6332          if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
6333            fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
6334          }
6335          const placements2 = [initialPlacement, ...fallbackPlacements];
6336          const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
6337          const overflows = [];
6338          let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
6339          if (checkMainAxis) {
6340            overflows.push(overflow[side]);
6341          }
6342          if (checkCrossAxis) {
6343            const sides2 = getAlignmentSides(placement, rects, rtl);
6344            overflows.push(overflow[sides2[0]], overflow[sides2[1]]);
6345          }
6346          overflowsData = [...overflowsData, {
6347            placement,
6348            overflows
6349          }];
6350          if (!overflows.every((side2) => side2 <= 0)) {
6351            var _middlewareData$flip2, _overflowsData$filter;
6352            const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
6353            const nextPlacement = placements2[nextIndex];
6354            if (nextPlacement) {
6355              const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false;
6356              if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis
6357              // overflows the main axis.
6358              overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
6359                return {
6360                  data: {
6361                    index: nextIndex,
6362                    overflows: overflowsData
6363                  },
6364                  reset: {
6365                    placement: nextPlacement
6366                  }
6367                };
6368              }
6369            }
6370            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;
6371            if (!resetPlacement) {
6372              switch (fallbackStrategy) {
6373                case "bestFit": {
6374                  var _overflowsData$filter2;
6375                  const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {
6376                    if (hasFallbackAxisSideDirection) {
6377                      const currentSideAxis = getSideAxis(d.placement);
6378                      return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal
6379                      // reading directions favoring greater width.
6380                      currentSideAxis === "y";
6381                    }
6382                    return true;
6383                  }).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];
6384                  if (placement2) {
6385                    resetPlacement = placement2;
6386                  }
6387                  break;
6388                }
6389                case "initialPlacement":
6390                  resetPlacement = initialPlacement;
6391                  break;
6392              }
6393            }
6394            if (placement !== resetPlacement) {
6395              return {
6396                reset: {
6397                  placement: resetPlacement
6398                }
6399              };
6400            }
6401          }
6402          return {};
6403        }
6404      };
6405    };
6406    var originSides = /* @__PURE__ */ new Set(["left", "top"]);
6407    async function convertValueToCoords(state, options) {
6408      const {
6409        placement,
6410        platform: platform3,
6411        elements
6412      } = state;
6413      const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating));
6414      const side = getSide(placement);
6415      const alignment = getAlignment(placement);
6416      const isVertical = getSideAxis(placement) === "y";
6417      const mainAxisMulti = originSides.has(side) ? -1 : 1;
6418      const crossAxisMulti = rtl && isVertical ? -1 : 1;
6419      const rawValue = evaluate(options, state);
6420      let {
6421        mainAxis,
6422        crossAxis,
6423        alignmentAxis
6424      } = typeof rawValue === "number" ? {
6425        mainAxis: rawValue,
6426        crossAxis: 0,
6427        alignmentAxis: null
6428      } : {
6429        mainAxis: rawValue.mainAxis || 0,
6430        crossAxis: rawValue.crossAxis || 0,
6431        alignmentAxis: rawValue.alignmentAxis
6432      };
6433      if (alignment && typeof alignmentAxis === "number") {
6434        crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis;
6435      }
6436      return isVertical ? {
6437        x: crossAxis * crossAxisMulti,
6438        y: mainAxis * mainAxisMulti
6439      } : {
6440        x: mainAxis * mainAxisMulti,
6441        y: crossAxis * crossAxisMulti
6442      };
6443    }
6444    var offset = function(options) {
6445      if (options === void 0) {
6446        options = 0;
6447      }
6448      return {
6449        name: "offset",
6450        options,
6451        async fn(state) {
6452          var _middlewareData$offse, _middlewareData$arrow;
6453          const {
6454            x,
6455            y,
6456            placement,
6457            middlewareData
6458          } = state;
6459          const diffCoords = await convertValueToCoords(state, options);
6460          if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
6461            return {};
6462          }
6463          return {
6464            x: x + diffCoords.x,
6465            y: y + diffCoords.y,
6466            data: {
6467              ...diffCoords,
6468              placement
6469            }
6470          };
6471        }
6472      };
6473    };
6474    var shift = function(options) {
6475      if (options === void 0) {
6476        options = {};
6477      }
6478      return {
6479        name: "shift",
6480        options,
6481        async fn(state) {
6482          const {
6483            x,
6484            y,
6485            placement,
6486            platform: platform3
6487          } = state;
6488          const {
6489            mainAxis: checkMainAxis = true,
6490            crossAxis: checkCrossAxis = false,
6491            limiter = {
6492              fn: (_ref) => {
6493                let {
6494                  x: x2,
6495                  y: y2
6496                } = _ref;
6497                return {
6498                  x: x2,
6499                  y: y2
6500                };
6501              }
6502            },
6503            ...detectOverflowOptions
6504          } = evaluate(options, state);
6505          const coords = {
6506            x,
6507            y
6508          };
6509          const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
6510          const crossAxis = getSideAxis(placement);
6511          const mainAxis = getOppositeAxis(crossAxis);
6512          let mainAxisCoord = coords[mainAxis];
6513          let crossAxisCoord = coords[crossAxis];
6514          const clampCoord = (axis, coord) => clamp(coord + overflow[axis === "y" ? "top" : "left"], coord, coord - overflow[axis === "y" ? "bottom" : "right"]);
6515          if (checkMainAxis) {
6516            mainAxisCoord = clampCoord(mainAxis, mainAxisCoord);
6517          }
6518          if (checkCrossAxis) {
6519            crossAxisCoord = clampCoord(crossAxis, crossAxisCoord);
6520          }
6521          const limitedCoords = limiter.fn({
6522            ...state,
6523            [mainAxis]: mainAxisCoord,
6524            [crossAxis]: crossAxisCoord
6525          });
6526          return {
6527            ...limitedCoords,
6528            data: {
6529              x: limitedCoords.x - x,
6530              y: limitedCoords.y - y,
6531              enabled: {
6532                [mainAxis]: checkMainAxis,
6533                [crossAxis]: checkCrossAxis
6534              }
6535            }
6536          };
6537        }
6538      };
6539    };
6540    var limitShift = function(options) {
6541      if (options === void 0) {
6542        options = {};
6543      }
6544      return {
6545        options,
6546        fn(state) {
6547          var _rawOffset$mainAxis, _rawOffset$crossAxis;
6548          const {
6549            x,
6550            y,
6551            placement,
6552            rects,
6553            middlewareData
6554          } = state;
6555          const {
6556            offset: offset4 = 0,
6557            mainAxis: checkMainAxis = true,
6558            crossAxis: checkCrossAxis = true
6559          } = evaluate(options, state);
6560          const coords = {
6561            x,
6562            y
6563          };
6564          const crossAxis = getSideAxis(placement);
6565          const mainAxis = getOppositeAxis(crossAxis);
6566          let mainAxisCoord = coords[mainAxis];
6567          let crossAxisCoord = coords[crossAxis];
6568          const rawOffset = evaluate(offset4, state);
6569          const computedOffset = typeof rawOffset === "number" ? {
6570            mainAxis: rawOffset,
6571            crossAxis: 0
6572          } : {
6573            mainAxis: (_rawOffset$mainAxis = rawOffset.mainAxis) != null ? _rawOffset$mainAxis : 0,
6574            crossAxis: (_rawOffset$crossAxis = rawOffset.crossAxis) != null ? _rawOffset$crossAxis : 0
6575          };
6576          if (checkMainAxis) {
6577            const len = mainAxis === "y" ? "height" : "width";
6578            const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;
6579            const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;
6580            if (mainAxisCoord < limitMin) {
6581              mainAxisCoord = limitMin;
6582            } else if (mainAxisCoord > limitMax) {
6583              mainAxisCoord = limitMax;
6584            }
6585          }
6586          if (checkCrossAxis) {
6587            var _middlewareData$offse, _middlewareData$offse2;
6588            const len = mainAxis === "y" ? "width" : "height";
6589            const isOriginSide = originSides.has(getSide(placement));
6590            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);
6591            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);
6592            if (crossAxisCoord < limitMin) {
6593              crossAxisCoord = limitMin;
6594            } else if (crossAxisCoord > limitMax) {
6595              crossAxisCoord = limitMax;
6596            }
6597          }
6598          return {
6599            [mainAxis]: mainAxisCoord,
6600            [crossAxis]: crossAxisCoord
6601          };
6602        }
6603      };
6604    };
6605    var size = function(options) {
6606      if (options === void 0) {
6607        options = {};
6608      }
6609      return {
6610        name: "size",
6611        options,
6612        async fn(state) {
6613          const {
6614            placement,
6615            rects,
6616            platform: platform3,
6617            elements
6618          } = state;
6619          const {
6620            apply = () => {
6621            },
6622            ...detectOverflowOptions
6623          } = evaluate(options, state);
6624          const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
6625          const side = getSide(placement);
6626          const alignment = getAlignment(placement);
6627          const isYAxis = getSideAxis(placement) === "y";
6628          const {
6629            width,
6630            height
6631          } = rects.floating;
6632          let heightSide;
6633          let widthSide;
6634          if (side === "top" || side === "bottom") {
6635            heightSide = side;
6636            widthSide = alignment === (await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating)) ? "start" : "end") ? "left" : "right";
6637          } else {
6638            widthSide = side;
6639            heightSide = alignment === "end" ? "top" : "bottom";
6640          }
6641          const maximumClippingHeight = height - overflow.top - overflow.bottom;
6642          const maximumClippingWidth = width - overflow.left - overflow.right;
6643          const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
6644          const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
6645          const shiftData = state.middlewareData.shift;
6646          const noShift = !shiftData;
6647          let availableHeight2 = overflowAvailableHeight;
6648          let availableWidth2 = overflowAvailableWidth;
6649          if (shiftData != null && shiftData.enabled.x) {
6650            availableWidth2 = maximumClippingWidth;
6651          }
6652          if (shiftData != null && shiftData.enabled.y) {
6653            availableHeight2 = maximumClippingHeight;
6654          }
6655          if (noShift && !alignment) {
6656            if (isYAxis) {
6657              availableWidth2 = width - 2 * max(overflow.left, overflow.right);
6658            } else {
6659              availableHeight2 = height - 2 * max(overflow.top, overflow.bottom);
6660            }
6661          }
6662          await apply({
6663            ...state,
6664            availableWidth: availableWidth2,
6665            availableHeight: availableHeight2
6666          });
6667          const nextDimensions = await platform3.getDimensions(elements.floating);
6668          if (width !== nextDimensions.width || height !== nextDimensions.height) {
6669            return {
6670              reset: {
6671                rects: true
6672              }
6673            };
6674          }
6675          return {};
6676        }
6677      };
6678    };
6679  
6680    // node_modules/.store/@floating-ui/dom@1.8.0-vHXcr4FgWneV0cgwFw-d7A/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
6681    function getCssDimensions(element) {
6682      const css = getComputedStyle2(element);
6683      let width = parseFloat(css.width) || 0;
6684      let height = parseFloat(css.height) || 0;
6685      const hasOffset = isHTMLElement(element);
6686      const offsetWidth = hasOffset ? element.offsetWidth : width;
6687      const offsetHeight = hasOffset ? element.offsetHeight : height;
6688      const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
6689      if (shouldFallback) {
6690        width = offsetWidth;
6691        height = offsetHeight;
6692      }
6693      return {
6694        width,
6695        height,
6696        $: shouldFallback
6697      };
6698    }
6699    function unwrapElement(element) {
6700      return !isElement(element) ? element.contextElement : element;
6701    }
6702    function getScale(element) {
6703      const domElement = unwrapElement(element);
6704      if (!isHTMLElement(domElement)) {
6705        return createCoords(1);
6706      }
6707      const rect = domElement.getBoundingClientRect();
6708      const {
6709        width,
6710        height,
6711        $
6712      } = getCssDimensions(domElement);
6713      let x = ($ ? round(rect.width) : rect.width) / width;
6714      let y = ($ ? round(rect.height) : rect.height) / height;
6715      if (!x || !Number.isFinite(x)) {
6716        x = 1;
6717      }
6718      if (!y || !Number.isFinite(y)) {
6719        y = 1;
6720      }
6721      return {
6722        x,
6723        y
6724      };
6725    }
6726    var noOffsets = /* @__PURE__ */ createCoords(0);
6727    function getVisualOffsets(element) {
6728      const win = getWindow(element);
6729      if (!isWebKit() || !win.visualViewport) {
6730        return noOffsets;
6731      }
6732      return {
6733        x: win.visualViewport.offsetLeft,
6734        y: win.visualViewport.offsetTop
6735      };
6736    }
6737    function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
6738      if (isFixed === void 0) {
6739        isFixed = false;
6740      }
6741      return !!floatingOffsetParent && isFixed && floatingOffsetParent === getWindow(element);
6742    }
6743    function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
6744      if (includeScale === void 0) {
6745        includeScale = false;
6746      }
6747      if (isFixedStrategy === void 0) {
6748        isFixedStrategy = false;
6749      }
6750      const clientRect = element.getBoundingClientRect();
6751      const domElement = unwrapElement(element);
6752      let scale = createCoords(1);
6753      if (includeScale) {
6754        if (offsetParent) {
6755          if (isElement(offsetParent)) {
6756            scale = getScale(offsetParent);
6757          }
6758        } else {
6759          scale = getScale(element);
6760        }
6761      }
6762      const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
6763      let x = (clientRect.left + visualOffsets.x) / scale.x;
6764      let y = (clientRect.top + visualOffsets.y) / scale.y;
6765      let width = clientRect.width / scale.x;
6766      let height = clientRect.height / scale.y;
6767      if (domElement && offsetParent) {
6768        const win = getWindow(domElement);
6769        const offsetWin = isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
6770        let currentWin = win;
6771        let currentIFrame = getFrameElement(currentWin);
6772        while (currentIFrame && offsetWin !== currentWin) {
6773          const iframeScale = getScale(currentIFrame);
6774          const iframeRect = currentIFrame.getBoundingClientRect();
6775          const css = getComputedStyle2(currentIFrame);
6776          const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
6777          const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
6778          x *= iframeScale.x;
6779          y *= iframeScale.y;
6780          width *= iframeScale.x;
6781          height *= iframeScale.y;
6782          x += left;
6783          y += top;
6784          currentWin = getWindow(currentIFrame);
6785          currentIFrame = getFrameElement(currentWin);
6786        }
6787      }
6788      return rectToClientRect({
6789        width,
6790        height,
6791        x,
6792        y
6793      });
6794    }
6795    function getWindowScrollBarX(element, rect) {
6796      const leftScroll = getNodeScroll(element).scrollLeft;
6797      if (!rect) {
6798        return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
6799      }
6800      return rect.left + leftScroll;
6801    }
6802    function getHTMLOffset(documentElement, scroll) {
6803      const htmlRect = documentElement.getBoundingClientRect();
6804      const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
6805      const y = htmlRect.top + scroll.scrollTop;
6806      return {
6807        x,
6808        y
6809      };
6810    }
6811    function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
6812      let {
6813        elements,
6814        rect,
6815        offsetParent,
6816        strategy
6817      } = _ref;
6818      const isFixed = strategy === "fixed";
6819      const documentElement = getDocumentElement(offsetParent);
6820      const topLayer = elements ? isTopLayer(elements.floating) : false;
6821      if (offsetParent === documentElement || topLayer && isFixed) {
6822        return rect;
6823      }
6824      let scroll = {
6825        scrollLeft: 0,
6826        scrollTop: 0
6827      };
6828      let scale = createCoords(1);
6829      const offsets = createCoords(0);
6830      const isOffsetParentAnElement = isHTMLElement(offsetParent);
6831      if (isOffsetParentAnElement || !isFixed) {
6832        if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
6833          scroll = getNodeScroll(offsetParent);
6834        }
6835        if (isOffsetParentAnElement) {
6836          const offsetRect = getBoundingClientRect(offsetParent);
6837          scale = getScale(offsetParent);
6838          offsets.x = offsetRect.x + offsetParent.clientLeft;
6839          offsets.y = offsetRect.y + offsetParent.clientTop;
6840        }
6841      }
6842      const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
6843      return {
6844        width: rect.width * scale.x,
6845        height: rect.height * scale.y,
6846        x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
6847        y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
6848      };
6849    }
6850    function getClientRects(element) {
6851      return element.getClientRects ? Array.from(element.getClientRects()) : [];
6852    }
6853    function getDocumentRect(html) {
6854      const scroll = getNodeScroll(html);
6855      const body = html.ownerDocument.body;
6856      const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
6857      const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
6858      let x = -scroll.scrollLeft + getWindowScrollBarX(html);
6859      const y = -scroll.scrollTop;
6860      if (getComputedStyle2(body).direction === "rtl") {
6861        x += max(html.clientWidth, body.clientWidth) - width;
6862      }
6863      return {
6864        width,
6865        height,
6866        x,
6867        y
6868      };
6869    }
6870    var SCROLLBAR_MAX = 25;
6871    function getViewportRect(element, strategy, rootBoundary) {
6872      if (rootBoundary === void 0) {
6873        rootBoundary = "viewport";
6874      }
6875      const isLayoutViewport = rootBoundary === "layoutViewport";
6876      const win = getWindow(element);
6877      const html = getDocumentElement(element);
6878      const visualViewport = win.visualViewport;
6879      let width = html.clientWidth;
6880      let height = html.clientHeight;
6881      let x = 0;
6882      let y = 0;
6883      if (visualViewport) {
6884        const layoutRelativeClientCoords = !isWebKit() || strategy === "fixed";
6885        if (isLayoutViewport) {
6886          if (!layoutRelativeClientCoords) {
6887            x = -visualViewport.offsetLeft;
6888            y = -visualViewport.offsetTop;
6889          }
6890        } else {
6891          width = visualViewport.width;
6892          height = visualViewport.height;
6893          if (layoutRelativeClientCoords) {
6894            x = visualViewport.offsetLeft;
6895            y = visualViewport.offsetTop;
6896          }
6897        }
6898      }
6899      const windowScrollbarX = getWindowScrollBarX(html);
6900      if (windowScrollbarX <= 0) {
6901        const doc = html.ownerDocument;
6902        const body = doc.body;
6903        const bodyStyles = getComputedStyle(body);
6904        const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
6905        const reservedWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
6906        const gutter = getComputedStyle(html).scrollbarGutter === "stable both-edges" ? reservedWidth / 2 : reservedWidth;
6907        if (gutter <= SCROLLBAR_MAX) {
6908          width -= gutter;
6909        }
6910      }
6911      return {
6912        width,
6913        height,
6914        x,
6915        y
6916      };
6917    }
6918    function getInnerBoundingClientRect(element, strategy) {
6919      const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
6920      const top = clientRect.top + element.clientTop;
6921      const left = clientRect.left + element.clientLeft;
6922      const scale = getScale(element);
6923      const width = element.clientWidth * scale.x;
6924      const height = element.clientHeight * scale.y;
6925      const x = left * scale.x;
6926      const y = top * scale.y;
6927      return {
6928        width,
6929        height,
6930        x,
6931        y
6932      };
6933    }
6934    function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
6935      let rect;
6936      if (clippingAncestor === "viewport" || clippingAncestor === "layoutViewport") {
6937        rect = getViewportRect(element, strategy, clippingAncestor);
6938      } else if (clippingAncestor === "document") {
6939        rect = getDocumentRect(getDocumentElement(element));
6940      } else if (isElement(clippingAncestor)) {
6941        rect = getInnerBoundingClientRect(clippingAncestor, strategy);
6942      } else {
6943        const visualOffsets = getVisualOffsets(element);
6944        rect = {
6945          x: clippingAncestor.x - visualOffsets.x,
6946          y: clippingAncestor.y - visualOffsets.y,
6947          width: clippingAncestor.width,
6948          height: clippingAncestor.height
6949        };
6950      }
6951      return rectToClientRect(rect);
6952    }
6953    function getClippingElementAncestors(element, cache) {
6954      const cachedResult = cache.get(element);
6955      if (cachedResult) {
6956        return cachedResult;
6957      }
6958      let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== "body");
6959      let lastKeptComputedStyle = null;
6960      const elementIsFixed = getComputedStyle2(element).position === "fixed";
6961      let currentNode = elementIsFixed ? getParentNode(element) : element;
6962      while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
6963        const computedStyle = getComputedStyle2(currentNode);
6964        const currentNodeIsContaining = isContainingBlock(currentNode);
6965        const lastPosition = lastKeptComputedStyle ? lastKeptComputedStyle.position : elementIsFixed ? "fixed" : "";
6966        const shouldDropCurrentNode = !currentNodeIsContaining && (lastPosition === "fixed" || lastPosition === "absolute" && computedStyle.position === "static");
6967        if (shouldDropCurrentNode) {
6968          result = result.filter((ancestor) => ancestor !== currentNode);
6969        } else {
6970          lastKeptComputedStyle = computedStyle;
6971        }
6972        currentNode = getParentNode(currentNode);
6973      }
6974      cache.set(element, result);
6975      return result;
6976    }
6977    function getClippingRect(_ref) {
6978      let {
6979        element,
6980        boundary,
6981        rootBoundary,
6982        strategy
6983      } = _ref;
6984      const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
6985      const clippingAncestors = [...elementClippingAncestors, rootBoundary];
6986      const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
6987      let top = firstRect.top;
6988      let right = firstRect.right;
6989      let bottom = firstRect.bottom;
6990      let left = firstRect.left;
6991      for (let i = 1; i < clippingAncestors.length; i++) {
6992        const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
6993        top = max(rect.top, top);
6994        right = min(rect.right, right);
6995        bottom = min(rect.bottom, bottom);
6996        left = max(rect.left, left);
6997      }
6998      return {
6999        width: right - left,
7000        height: bottom - top,
7001        x: left,
7002        y: top
7003      };
7004    }
7005    function getDimensions(element) {
7006      const {
7007        width,
7008        height
7009      } = getCssDimensions(element);
7010      return {
7011        width,
7012        height
7013      };
7014    }
7015    function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
7016      const isOffsetParentAnElement = isHTMLElement(offsetParent);
7017      const documentElement = getDocumentElement(offsetParent);
7018      const isFixed = strategy === "fixed";
7019      const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
7020      let scroll = {
7021        scrollLeft: 0,
7022        scrollTop: 0
7023      };
7024      const offsets = createCoords(0);
7025      if (isOffsetParentAnElement || !isFixed) {
7026        if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
7027          scroll = getNodeScroll(offsetParent);
7028        }
7029        if (isOffsetParentAnElement) {
7030          const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
7031          offsets.x = offsetRect.x + offsetParent.clientLeft;
7032          offsets.y = offsetRect.y + offsetParent.clientTop;
7033        }
7034      }
7035      if (!isOffsetParentAnElement && documentElement) {
7036        offsets.x = getWindowScrollBarX(documentElement);
7037      }
7038      const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
7039      const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
7040      const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
7041      return {
7042        x,
7043        y,
7044        width: rect.width,
7045        height: rect.height
7046      };
7047    }
7048    function isStaticPositioned(element) {
7049      return getComputedStyle2(element).position === "static";
7050    }
7051    function getTrueOffsetParent(element, polyfill) {
7052      if (!isHTMLElement(element) || getComputedStyle2(element).position === "fixed") {
7053        return null;
7054      }
7055      if (polyfill) {
7056        return polyfill(element);
7057      }
7058      let rawOffsetParent = element.offsetParent;
7059      if (getDocumentElement(element) === rawOffsetParent) {
7060        rawOffsetParent = rawOffsetParent.ownerDocument.body;
7061      }
7062      return rawOffsetParent;
7063    }
7064    function getOffsetParent(element, polyfill) {
7065      const win = getWindow(element);
7066      if (isTopLayer(element)) {
7067        return win;
7068      }
7069      if (!isHTMLElement(element)) {
7070        let svgOffsetParent = getParentNode(element);
7071        while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
7072          if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
7073            return svgOffsetParent;
7074          }
7075          svgOffsetParent = getParentNode(svgOffsetParent);
7076        }
7077        return win;
7078      }
7079      let offsetParent = getTrueOffsetParent(element, polyfill);
7080      while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
7081        offsetParent = getTrueOffsetParent(offsetParent, polyfill);
7082      }
7083      if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
7084        return win;
7085      }
7086      return offsetParent || getContainingBlock(element) || win;
7087    }
7088    var getElementRects = async function(data) {
7089      const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
7090      const getDimensionsFn = this.getDimensions;
7091      const floatingDimensions = await getDimensionsFn(data.floating);
7092      return {
7093        reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
7094        floating: {
7095          x: 0,
7096          y: 0,
7097          width: floatingDimensions.width,
7098          height: floatingDimensions.height
7099        }
7100      };
7101    };
7102    function isRTL(element) {
7103      return getComputedStyle2(element).direction === "rtl";
7104    }
7105    var platform2 = {
7106      convertOffsetParentRelativeRectToViewportRelativeRect,
7107      getDocumentElement,
7108      getClippingRect,
7109      getOffsetParent,
7110      getElementRects,
7111      getClientRects,
7112      getDimensions,
7113      getScale,
7114      isElement,
7115      isRTL
7116    };
7117    function rectsAreEqual(a, b) {
7118      return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
7119    }
7120    function observeMove(element, onMove, ancestorResize) {
7121      let io = null;
7122      let timeoutId;
7123      const root = getDocumentElement(element);
7124      function cleanup() {
7125        var _io;
7126        clearTimeout(timeoutId);
7127        (_io = io) == null || _io.disconnect();
7128        io = null;
7129      }
7130      function refresh(skip, threshold) {
7131        if (skip === void 0) {
7132          skip = false;
7133        }
7134        if (threshold === void 0) {
7135          threshold = 1;
7136        }
7137        cleanup();
7138        const elementRectForRootMargin = element.getBoundingClientRect();
7139        const {
7140          left,
7141          top,
7142          width,
7143          height
7144        } = elementRectForRootMargin;
7145        if (!skip) {
7146          onMove();
7147        }
7148        if (!width || !height) {
7149          return;
7150        }
7151        const insetTop = floor(top);
7152        const insetRight = floor(root.clientWidth - (left + width));
7153        const insetBottom = floor(root.clientHeight - (top + height));
7154        const insetLeft = floor(left);
7155        const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
7156        const options = {
7157          rootMargin,
7158          threshold: max(0, min(1, threshold)) || 1
7159        };
7160        let isFirstUpdate = true;
7161        function handleObserve(entries) {
7162          const ratio = entries[0].intersectionRatio;
7163          if (!rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
7164            return refresh();
7165          }
7166          if (ratio !== threshold) {
7167            if (!isFirstUpdate) {
7168              return refresh();
7169            }
7170            if (!ratio) {
7171              timeoutId = setTimeout(() => {
7172                refresh(false, 1e-7);
7173              }, 1e3);
7174            } else {
7175              refresh(false, ratio);
7176            }
7177          }
7178          isFirstUpdate = false;
7179        }
7180        try {
7181          io = new IntersectionObserver(handleObserve, {
7182            ...options,
7183            // Handle <iframe>s
7184            root: root.ownerDocument
7185          });
7186        } catch (_e) {
7187          io = new IntersectionObserver(handleObserve, options);
7188        }
7189        io.observe(element);
7190      }
7191      const win = getWindow(element);
7192      const handleResize = () => refresh(ancestorResize);
7193      win.addEventListener("resize", handleResize);
7194      refresh(true);
7195      return () => {
7196        win.removeEventListener("resize", handleResize);
7197        cleanup();
7198      };
7199    }
7200    function autoUpdate(reference, floating, update2, options) {
7201      if (options === void 0) {
7202        options = {};
7203      }
7204      const {
7205        ancestorScroll = true,
7206        ancestorResize = true,
7207        elementResize = typeof ResizeObserver === "function",
7208        layoutShift = typeof IntersectionObserver === "function",
7209        animationFrame = false
7210      } = options;
7211      const referenceEl = unwrapElement(reference);
7212      const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];
7213      ancestors.forEach((ancestor) => {
7214        ancestorScroll && ancestor.addEventListener("scroll", update2);
7215        ancestorResize && ancestor.addEventListener("resize", update2);
7216      });
7217      const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update2, ancestorResize) : null;
7218      let reobserveFrame = -1;
7219      let resizeObserver = null;
7220      if (elementResize) {
7221        resizeObserver = new ResizeObserver((_ref) => {
7222          let [firstEntry] = _ref;
7223          if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
7224            resizeObserver.unobserve(floating);
7225            cancelAnimationFrame(reobserveFrame);
7226            reobserveFrame = requestAnimationFrame(() => {
7227              var _resizeObserver;
7228              (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
7229            });
7230          }
7231          update2();
7232        });
7233        if (referenceEl && !animationFrame) {
7234          resizeObserver.observe(referenceEl);
7235        }
7236        if (floating) {
7237          resizeObserver.observe(floating);
7238        }
7239      }
7240      let frameId;
7241      let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
7242      if (animationFrame) {
7243        frameLoop();
7244      }
7245      function frameLoop() {
7246        const nextRefRect = getBoundingClientRect(reference);
7247        if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
7248          update2();
7249        }
7250        prevRefRect = nextRefRect;
7251        frameId = requestAnimationFrame(frameLoop);
7252      }
7253      update2();
7254      return () => {
7255        var _resizeObserver2;
7256        ancestors.forEach((ancestor) => {
7257          ancestorScroll && ancestor.removeEventListener("scroll", update2);
7258          ancestorResize && ancestor.removeEventListener("resize", update2);
7259        });
7260        cleanupIo == null || cleanupIo();
7261        (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
7262        resizeObserver = null;
7263        if (animationFrame) {
7264          cancelAnimationFrame(frameId);
7265        }
7266      };
7267    }
7268    var offset2 = offset;
7269    var shift2 = shift;
7270    var flip2 = flip;
7271    var size2 = size;
7272    var limitShift2 = limitShift;
7273    var computePosition2 = (reference, floating, options) => {
7274      const cache = /* @__PURE__ */ new Map();
7275      const mergedOptions = options != null ? options : {};
7276      const platformWithCache = {
7277        ...platform2,
7278        ...mergedOptions.platform,
7279        _c: cache
7280      };
7281      return computePosition(reference, floating, {
7282        ...mergedOptions,
7283        platform: platformWithCache
7284      });
7285    };
7286  
7287    // node_modules/.store/@floating-ui/react-dom@2.1.9-AxWcAwqlMfOrAFOinFKSVg/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs
7288    var React32 = __toESM(require_react(), 1);
7289    var import_react2 = __toESM(require_react(), 1);
7290    var ReactDOM4 = __toESM(require_react_dom(), 1);
7291    var isClient = typeof document !== "undefined";
7292    var noop2 = function noop3() {
7293    };
7294    var index = isClient ? import_react2.useLayoutEffect : noop2;
7295    function deepEqual(a, b) {
7296      if (a === b) {
7297        return true;
7298      }
7299      if (typeof a !== typeof b) {
7300        return false;
7301      }
7302      if (typeof a === "function" && a.toString() === b.toString()) {
7303        return true;
7304      }
7305      let length;
7306      let i;
7307      let keys;
7308      if (a && b && typeof a === "object") {
7309        if (Array.isArray(a)) {
7310          length = a.length;
7311          if (length !== b.length) return false;
7312          for (i = length; i-- !== 0; ) {
7313            if (!deepEqual(a[i], b[i])) {
7314              return false;
7315            }
7316          }
7317          return true;
7318        }
7319        keys = Object.keys(a);
7320        length = keys.length;
7321        if (length !== Object.keys(b).length) {
7322          return false;
7323        }
7324        for (i = length; i-- !== 0; ) {
7325          if (!{}.hasOwnProperty.call(b, keys[i])) {
7326            return false;
7327          }
7328        }
7329        for (i = length; i-- !== 0; ) {
7330          const key = keys[i];
7331          if (key === "_owner" && a.$$typeof) {
7332            continue;
7333          }
7334          if (!deepEqual(a[key], b[key])) {
7335            return false;
7336          }
7337        }
7338        return true;
7339      }
7340      return a !== a && b !== b;
7341    }
7342    function getDPR(element) {
7343      if (typeof window === "undefined") {
7344        return 1;
7345      }
7346      const win = element.ownerDocument.defaultView || window;
7347      return win.devicePixelRatio || 1;
7348    }
7349    function roundByDPR(element, value) {
7350      const dpr = getDPR(element);
7351      return Math.round(value * dpr) / dpr;
7352    }
7353    function useLatestRef(value) {
7354      const ref = React32.useRef(value);
7355      index(() => {
7356        ref.current = value;
7357      });
7358      return ref;
7359    }
7360    function useFloating(options) {
7361      if (options === void 0) {
7362        options = {};
7363      }
7364      const {
7365        placement = "bottom",
7366        strategy = "absolute",
7367        middleware = [],
7368        platform: platform3,
7369        elements: {
7370          reference: externalReference,
7371          floating: externalFloating
7372        } = {},
7373        transform = true,
7374        whileElementsMounted,
7375        open: open2
7376      } = options;
7377      const [data, setData] = React32.useState({
7378        x: 0,
7379        y: 0,
7380        strategy,
7381        placement,
7382        middlewareData: {},
7383        isPositioned: false
7384      });
7385      const [latestMiddleware, setLatestMiddleware] = React32.useState(middleware);
7386      if (!deepEqual(latestMiddleware, middleware)) {
7387        setLatestMiddleware(middleware);
7388      }
7389      const [_reference, _setReference] = React32.useState(null);
7390      const [_floating, _setFloating] = React32.useState(null);
7391      const setReference = React32.useCallback((node) => {
7392        if (node !== referenceRef.current) {
7393          referenceRef.current = node;
7394          _setReference(node);
7395        }
7396      }, []);
7397      const setFloating = React32.useCallback((node) => {
7398        if (node !== floatingRef.current) {
7399          floatingRef.current = node;
7400          _setFloating(node);
7401        }
7402      }, []);
7403      const referenceEl = externalReference || _reference;
7404      const floatingEl = externalFloating || _floating;
7405      const referenceRef = React32.useRef(null);
7406      const floatingRef = React32.useRef(null);
7407      const dataRef = React32.useRef(data);
7408      const hasWhileElementsMounted = whileElementsMounted != null;
7409      const whileElementsMountedRef = useLatestRef(whileElementsMounted);
7410      const platformRef = useLatestRef(platform3);
7411      const openRef = useLatestRef(open2);
7412      const update2 = React32.useCallback(() => {
7413        if (!referenceRef.current || !floatingRef.current) {
7414          return;
7415        }
7416        const config = {
7417          placement,
7418          strategy,
7419          middleware: latestMiddleware
7420        };
7421        if (platformRef.current) {
7422          config.platform = platformRef.current;
7423        }
7424        computePosition2(referenceRef.current, floatingRef.current, config).then((data2) => {
7425          const fullData = {
7426            ...data2,
7427            // The floating element's position may be recomputed while it's closed
7428            // but still mounted (such as when transitioning out). To ensure
7429            // `isPositioned` will be `false` initially on the next open, avoid
7430            // setting it to `true` when `open === false` (must be specified).
7431            isPositioned: openRef.current !== false
7432          };
7433          if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {
7434            dataRef.current = fullData;
7435            ReactDOM4.flushSync(() => {
7436              setData(fullData);
7437            });
7438          }
7439        });
7440      }, [latestMiddleware, placement, strategy, platformRef, openRef]);
7441      index(() => {
7442        if (open2 === false && dataRef.current.isPositioned) {
7443          dataRef.current.isPositioned = false;
7444          setData((data2) => ({
7445            ...data2,
7446            isPositioned: false
7447          }));
7448        }
7449      }, [open2]);
7450      const isMountedRef = React32.useRef(false);
7451      index(() => {
7452        isMountedRef.current = true;
7453        return () => {
7454          isMountedRef.current = false;
7455        };
7456      }, []);
7457      index(() => {
7458        if (referenceEl) referenceRef.current = referenceEl;
7459        if (floatingEl) floatingRef.current = floatingEl;
7460        if (referenceEl && floatingEl) {
7461          if (whileElementsMountedRef.current) {
7462            return whileElementsMountedRef.current(referenceEl, floatingEl, update2);
7463          }
7464          update2();
7465        }
7466      }, [referenceEl, floatingEl, update2, whileElementsMountedRef, hasWhileElementsMounted]);
7467      const refs = React32.useMemo(() => ({
7468        reference: referenceRef,
7469        floating: floatingRef,
7470        setReference,
7471        setFloating
7472      }), [setReference, setFloating]);
7473      const elements = React32.useMemo(() => ({
7474        reference: referenceEl,
7475        floating: floatingEl
7476      }), [referenceEl, floatingEl]);
7477      const floatingStyles = React32.useMemo(() => {
7478        const initialStyles = {
7479          position: strategy,
7480          left: 0,
7481          top: 0
7482        };
7483        if (!elements.floating) {
7484          return initialStyles;
7485        }
7486        const x = roundByDPR(elements.floating, data.x);
7487        const y = roundByDPR(elements.floating, data.y);
7488        if (transform) {
7489          return {
7490            ...initialStyles,
7491            transform: "translate(" + x + "px, " + y + "px)",
7492            ...getDPR(elements.floating) >= 1.5 && {
7493              willChange: "transform"
7494            }
7495          };
7496        }
7497        return {
7498          position: strategy,
7499          left: x,
7500          top: y
7501        };
7502      }, [strategy, transform, elements.floating, data.x, data.y]);
7503      return React32.useMemo(() => ({
7504        ...data,
7505        update: update2,
7506        refs,
7507        elements,
7508        floatingStyles
7509      }), [data, update2, refs, elements, floatingStyles]);
7510    }
7511    var offset3 = (options, deps) => {
7512      const result = offset2(options);
7513      return {
7514        name: result.name,
7515        fn: result.fn,
7516        options: [options, deps]
7517      };
7518    };
7519    var shift3 = (options, deps) => {
7520      const result = shift2(options);
7521      return {
7522        name: result.name,
7523        fn: result.fn,
7524        options: [options, deps]
7525      };
7526    };
7527    var limitShift3 = (options, deps) => {
7528      const result = limitShift2(options);
7529      return {
7530        fn: result.fn,
7531        options: [options, deps]
7532      };
7533    };
7534    var flip3 = (options, deps) => {
7535      const result = flip2(options);
7536      return {
7537        name: result.name,
7538        fn: result.fn,
7539        options: [options, deps]
7540      };
7541    };
7542    var size3 = (options, deps) => {
7543      const result = size2(options);
7544      return {
7545        name: result.name,
7546        fn: result.fn,
7547        options: [options, deps]
7548      };
7549    };
7550  
7551    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/composite.mjs
7552    var ARROW_UP2 = "ArrowUp";
7553    var ARROW_DOWN2 = "ArrowDown";
7554    var ARROW_LEFT2 = "ArrowLeft";
7555    var ARROW_RIGHT2 = "ArrowRight";
7556    var HOME = "Home";
7557    var END = "End";
7558    var COMPOSITE_KEYS = /* @__PURE__ */ new Set([ARROW_UP2, ARROW_DOWN2, ARROW_LEFT2, ARROW_RIGHT2, HOME, END]);
7559    var SHIFT = "Shift";
7560    var MODIFIER_KEYS = [SHIFT, "Control", "Alt", "Meta"];
7561    function isInputElement(element) {
7562      return isHTMLElement(element) && element.tagName === "INPUT";
7563    }
7564    function isNativeInput(element) {
7565      if (isInputElement(element) && element.selectionStart != null) {
7566        return true;
7567      }
7568      if (isHTMLElement(element) && element.tagName === "TEXTAREA") {
7569        return true;
7570      }
7571      return false;
7572    }
7573    function scrollIntoViewIfNeeded(scrollContainer, element, direction, orientation) {
7574      if (!scrollContainer || !element || !element.scrollTo) {
7575        return;
7576      }
7577      let targetX = scrollContainer.scrollLeft;
7578      let targetY = scrollContainer.scrollTop;
7579      const isOverflowingX = scrollContainer.clientWidth < scrollContainer.scrollWidth;
7580      const isOverflowingY = scrollContainer.clientHeight < scrollContainer.scrollHeight;
7581      if (isOverflowingX && orientation !== "vertical") {
7582        const elementOffsetLeft = getOffset(scrollContainer, element, "left");
7583        const containerStyles = getStyles(scrollContainer);
7584        const elementStyles = getStyles(element);
7585        if (direction === "ltr") {
7586          if (elementOffsetLeft + element.offsetWidth + elementStyles.scrollMarginRight > scrollContainer.scrollLeft + scrollContainer.clientWidth - containerStyles.scrollPaddingRight) {
7587            targetX = elementOffsetLeft + element.offsetWidth + elementStyles.scrollMarginRight - scrollContainer.clientWidth + containerStyles.scrollPaddingRight;
7588          } else if (elementOffsetLeft - elementStyles.scrollMarginLeft < scrollContainer.scrollLeft + containerStyles.scrollPaddingLeft) {
7589            targetX = elementOffsetLeft - elementStyles.scrollMarginLeft - containerStyles.scrollPaddingLeft;
7590          }
7591        }
7592        if (direction === "rtl") {
7593          if (elementOffsetLeft - elementStyles.scrollMarginLeft < scrollContainer.scrollLeft + containerStyles.scrollPaddingLeft) {
7594            targetX = elementOffsetLeft - elementStyles.scrollMarginLeft - containerStyles.scrollPaddingLeft;
7595          } else if (elementOffsetLeft + element.offsetWidth + elementStyles.scrollMarginRight > scrollContainer.scrollLeft + scrollContainer.clientWidth - containerStyles.scrollPaddingRight) {
7596            targetX = elementOffsetLeft + element.offsetWidth + elementStyles.scrollMarginRight - scrollContainer.clientWidth + containerStyles.scrollPaddingRight;
7597          }
7598        }
7599      }
7600      if (isOverflowingY && orientation !== "horizontal") {
7601        const elementOffsetTop = getOffset(scrollContainer, element, "top");
7602        const containerStyles = getStyles(scrollContainer);
7603        const elementStyles = getStyles(element);
7604        if (elementOffsetTop - elementStyles.scrollMarginTop < scrollContainer.scrollTop + containerStyles.scrollPaddingTop) {
7605          targetY = elementOffsetTop - elementStyles.scrollMarginTop - containerStyles.scrollPaddingTop;
7606        } else if (elementOffsetTop + element.offsetHeight + elementStyles.scrollMarginBottom > scrollContainer.scrollTop + scrollContainer.clientHeight - containerStyles.scrollPaddingBottom) {
7607          targetY = elementOffsetTop + element.offsetHeight + elementStyles.scrollMarginBottom - scrollContainer.clientHeight + containerStyles.scrollPaddingBottom;
7608        }
7609      }
7610      scrollContainer.scrollTo({
7611        left: targetX,
7612        top: targetY,
7613        behavior: "auto"
7614      });
7615    }
7616    function getOffset(ancestor, element, side) {
7617      const propName = side === "left" ? "offsetLeft" : "offsetTop";
7618      let result = 0;
7619      while (element.offsetParent) {
7620        result += element[propName];
7621        if (element.offsetParent === ancestor) {
7622          break;
7623        }
7624        element = element.offsetParent;
7625      }
7626      return result;
7627    }
7628    function getStyles(element) {
7629      const styles = getComputedStyle(element);
7630      return {
7631        scrollMarginTop: parseFloat(styles.scrollMarginTop) || 0,
7632        scrollMarginRight: parseFloat(styles.scrollMarginRight) || 0,
7633        scrollMarginBottom: parseFloat(styles.scrollMarginBottom) || 0,
7634        scrollMarginLeft: parseFloat(styles.scrollMarginLeft) || 0,
7635        scrollPaddingTop: parseFloat(styles.scrollPaddingTop) || 0,
7636        scrollPaddingRight: parseFloat(styles.scrollPaddingRight) || 0,
7637        scrollPaddingBottom: parseFloat(styles.scrollPaddingBottom) || 0,
7638        scrollPaddingLeft: parseFloat(styles.scrollPaddingLeft) || 0
7639      };
7640    }
7641  
7642    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/inertValue.mjs
7643    function inertValue(value) {
7644      if (isReactVersionAtLeast(19)) {
7645        return value;
7646      }
7647      return value ? "true" : void 0;
7648    }
7649  
7650    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/InternalBackdrop.mjs
7651    var React33 = __toESM(require_react(), 1);
7652    var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);
7653    var InternalBackdrop = /* @__PURE__ */ React33.forwardRef(function InternalBackdrop2(props, ref) {
7654      const {
7655        cutout,
7656        ...otherProps
7657      } = props;
7658      let clipPath;
7659      if (cutout) {
7660        const rect = cutout.getBoundingClientRect();
7661        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)`;
7662      }
7663      return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", {
7664        ref,
7665        role: "presentation",
7666        "data-base-ui-inert": "",
7667        ...otherProps,
7668        style: {
7669          position: "fixed",
7670          inset: 0,
7671          userSelect: "none",
7672          WebkitUserSelect: "none",
7673          clipPath
7674        }
7675      });
7676    });
7677    if (true) InternalBackdrop.displayName = "InternalBackdrop";
7678  
7679    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useOpenInteractionType.mjs
7680    var React36 = __toESM(require_react(), 1);
7681  
7682    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useEnhancedClickHandler.mjs
7683    var React34 = __toESM(require_react(), 1);
7684    function useEnhancedClickHandler(handler) {
7685      const lastClickInteractionTypeRef = React34.useRef("");
7686      const handlePointerDown = React34.useCallback((event) => {
7687        if (event.defaultPrevented) {
7688          return;
7689        }
7690        lastClickInteractionTypeRef.current = event.pointerType;
7691        handler(event, event.pointerType);
7692      }, [handler]);
7693      const handleClick = React34.useCallback((event) => {
7694        if (event.detail === 0) {
7695          handler(event, "keyboard");
7696          return;
7697        }
7698        if ("pointerType" in event) {
7699          handler(event, event.pointerType);
7700        } else {
7701          handler(event, lastClickInteractionTypeRef.current);
7702        }
7703        lastClickInteractionTypeRef.current = "";
7704      }, [handler]);
7705      return {
7706        onClick: handleClick,
7707        onPointerDown: handlePointerDown
7708      };
7709    }
7710  
7711    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useValueChanged.mjs
7712    var React35 = __toESM(require_react(), 1);
7713    function useValueChanged(value, onChange) {
7714      const valueRef = React35.useRef(value);
7715      const onChangeCallback = useStableCallback(onChange);
7716      useIsoLayoutEffect(() => {
7717        if (valueRef.current !== value) {
7718          onChangeCallback(valueRef.current);
7719        }
7720        valueRef.current = value;
7721      }, [value, onChangeCallback]);
7722    }
7723  
7724    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useOpenInteractionType.mjs
7725    function useOpenMethodTriggerProps(open2, setOpenMethod) {
7726      const handleTriggerClick = useStableCallback((_, interactionType) => {
7727        const isOpen = typeof open2 === "function" ? open2() : open2;
7728        if (!isOpen) {
7729          setOpenMethod(interactionType || // On iOS Safari, the hitslop around touch targets means tapping outside an element's
7730          // bounds does not fire `pointerdown` but does fire `mousedown`. The `interactionType`
7731          // will be "" in that case.
7732          (parts_exports.os.ios ? "touch" : ""));
7733        }
7734      });
7735      const {
7736        onClick,
7737        onPointerDown
7738      } = useEnhancedClickHandler(handleTriggerClick);
7739      return React36.useMemo(() => ({
7740        onClick,
7741        onPointerDown
7742      }), [onClick, onPointerDown]);
7743    }
7744    function useOpenInteractionType(open2) {
7745      const [openMethod, setOpenMethod] = React36.useState(null);
7746      const triggerProps = useOpenMethodTriggerProps(open2, setOpenMethod);
7747      useValueChanged(open2, (previousOpen) => {
7748        if (previousOpen && !open2) {
7749          setOpenMethod(null);
7750        }
7751      });
7752      return React36.useMemo(() => ({
7753        openMethod,
7754        triggerProps
7755      }), [openMethod, triggerProps]);
7756    }
7757  
7758    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useOnFirstRender.mjs
7759    var React37 = __toESM(require_react(), 1);
7760    function useOnFirstRender(fn) {
7761      const ref = React37.useRef(true);
7762      if (ref.current) {
7763        ref.current = false;
7764        fn();
7765      }
7766    }
7767  
7768    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/areArraysEqual.mjs
7769    function areArraysEqual(array1, array2, itemComparer = Object.is) {
7770      const {
7771        length
7772      } = array1;
7773      if (length !== array2.length) {
7774        return false;
7775      }
7776      for (let i = 0; i < length; i += 1) {
7777        if (!itemComparer(array1[i], array2[i])) {
7778          return false;
7779        }
7780      }
7781      return true;
7782    }
7783  
7784    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/itemEquality.mjs
7785    var defaultItemEquality = (itemValue, selectedValue) => Object.is(itemValue, selectedValue);
7786    function compareItemEquality(itemValue, selectedValue, comparer) {
7787      if (itemValue == null || selectedValue == null) {
7788        return Object.is(itemValue, selectedValue);
7789      }
7790      return comparer(itemValue, selectedValue);
7791    }
7792    function isSelectedValueDirty(currentValue, initialValue, comparer) {
7793      if (Array.isArray(currentValue) && Array.isArray(initialValue)) {
7794        return !areArraysEqual(currentValue, initialValue, (itemValue, initialItemValue) => compareItemEquality(itemValue, initialItemValue, comparer));
7795      }
7796      return currentValue !== initialValue;
7797    }
7798    function selectedValueIncludes(selectedValues, itemValue, comparer) {
7799      if (!selectedValues) {
7800        return false;
7801      }
7802      return selectedValues.some((selectedValue) => {
7803        if (selectedValue === void 0) {
7804          return false;
7805        }
7806        return compareItemEquality(itemValue, selectedValue, comparer);
7807      });
7808    }
7809    function findItemIndex(itemValues, selectedValue, comparer) {
7810      if (!itemValues) {
7811        return -1;
7812      }
7813      return itemValues.findIndex((itemValue) => {
7814        if (itemValue === void 0) {
7815          return false;
7816        }
7817        return compareItemEquality(itemValue, selectedValue, comparer);
7818      });
7819    }
7820    function createSelectionMatcher(selectedValues, comparer) {
7821      if (comparer !== defaultItemEquality) {
7822        return (itemValue) => selectedValueIncludes(selectedValues, itemValue, comparer);
7823      }
7824      const index3 = new Set(selectedValues);
7825      index3.delete(void 0);
7826      return (itemValue) => index3.has(itemValue) && (itemValue !== 0 || selectedValues.some((v) => Object.is(itemValue, v)));
7827    }
7828    function findSelectionIndex(itemValues, selectedValue, comparer, multiple) {
7829      const index3 = multiple && Array.isArray(selectedValue) ? (
7830        // Anchor to the first selected item in rendered order so the index does not depend
7831        // on the order in which the values were added to the array.
7832        itemValues.findIndex(createSelectionMatcher(selectedValue, comparer))
7833      ) : findItemIndex(itemValues, selectedValue, comparer);
7834      return index3 === -1 ? null : index3;
7835    }
7836    function resolveSelectedIndex(index3, itemValue, registry, selectedValues, comparer, currentIndex) {
7837      if (selectedValueIncludes(selectedValues, itemValue, comparer)) {
7838        return currentIndex != null && index3 > currentIndex && selectedValueIncludes(selectedValues, registry[currentIndex], comparer) ? currentIndex : index3;
7839      }
7840      return index3 === currentIndex ? findSelectionIndex(registry, selectedValues, comparer, true) : currentIndex;
7841    }
7842    function removeItem(selectedValues, itemValue, comparer) {
7843      return selectedValues.filter((selectedValue) => !compareItemEquality(itemValue, selectedValue, comparer));
7844    }
7845  
7846    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/resolveValueLabel.mjs
7847    var React38 = __toESM(require_react(), 1);
7848  
7849    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/serializeValue.mjs
7850    function serializeValue(value) {
7851      if (value == null) {
7852        return "";
7853      }
7854      if (typeof value === "string") {
7855        return value;
7856      }
7857      try {
7858        return JSON.stringify(value);
7859      } catch {
7860        return String(value);
7861      }
7862    }
7863  
7864    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/resolveValueLabel.mjs
7865    var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);
7866    function isGroup(item) {
7867      return typeof item === "object" && item != null && Array.isArray(item.items);
7868    }
7869    function isGroupedItems(items) {
7870      return isGroup(items?.[0]);
7871    }
7872    function flattenLeafItems(items) {
7873      return isGroupedItems(items) ? items.flatMap((group) => group.items) : items;
7874    }
7875    function hasNullItemLabel(items) {
7876      if (!Array.isArray(items)) {
7877        return items != null && "null" in items;
7878      }
7879      const arrayItems = items;
7880      if (isGroupedItems(arrayItems)) {
7881        for (const group of arrayItems) {
7882          for (const item of group.items) {
7883            if (item && item.value == null && item.label != null) {
7884              return true;
7885            }
7886          }
7887        }
7888        return false;
7889      }
7890      for (const item of arrayItems) {
7891        if (item && item.value == null && item.label != null) {
7892          return true;
7893        }
7894      }
7895      return false;
7896    }
7897    function stringifyAsLabel(item, itemToStringLabel) {
7898      if (itemToStringLabel && item != null) {
7899        return itemToStringLabel(item) ?? "";
7900      }
7901      if (item && typeof item === "object") {
7902        if ("label" in item && item.label != null) {
7903          return String(item.label);
7904        }
7905        if ("value" in item) {
7906          return String(item.value);
7907        }
7908      }
7909      return serializeValue(item);
7910    }
7911    function stringifyAsValue(item, itemToStringValue) {
7912      if (itemToStringValue && item != null) {
7913        return itemToStringValue(item) ?? "";
7914      }
7915      if (item && typeof item === "object" && "value" in item && "label" in item) {
7916        return serializeValue(item.value);
7917      }
7918      return serializeValue(item);
7919    }
7920    function resolveSelectedLabel(value, items, itemToStringLabel) {
7921      function fallback() {
7922        return stringifyAsLabel(value, itemToStringLabel);
7923      }
7924      if (itemToStringLabel && value != null) {
7925        return itemToStringLabel(value);
7926      }
7927      if (value && typeof value === "object" && "label" in value && value.label != null) {
7928        return value.label;
7929      }
7930      if (items && !Array.isArray(items)) {
7931        const label = Object.hasOwn(items, value) ? items[value] : void 0;
7932        return label ?? fallback();
7933      }
7934      if (Array.isArray(items)) {
7935        const arrayItems = items;
7936        const flatItems = flattenLeafItems(arrayItems);
7937        if (value == null || typeof value !== "object") {
7938          const match = flatItems.find((item) => item.value === value);
7939          if (match && match.label != null) {
7940            return match.label;
7941          }
7942          return fallback();
7943        }
7944        if ("value" in value) {
7945          const match = flatItems.find((item) => item && item.value === value.value);
7946          if (match && match.label != null) {
7947            return match.label;
7948          }
7949        }
7950      }
7951      return fallback();
7952    }
7953    function resolveMultipleLabels(values, items, itemToStringLabel) {
7954      return values.reduce((acc, value, index3) => {
7955        if (index3 > 0) {
7956          acc.push(", ");
7957        }
7958        acc.push(/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(React38.Fragment, {
7959          children: resolveSelectedLabel(value, items, itemToStringLabel)
7960        }, index3));
7961        return acc;
7962      }, []);
7963    }
7964  
7965    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/FieldRootContext.mjs
7966    var React39 = __toESM(require_react(), 1);
7967  
7968    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/control/FieldControlDataAttributes.mjs
7969    var valid = "data-valid";
7970    var invalid = "data-invalid";
7971  
7972    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-constants/constants.mjs
7973    var DEFAULT_VALIDITY_STATE = {
7974      badInput: false,
7975      customError: false,
7976      patternMismatch: false,
7977      rangeOverflow: false,
7978      rangeUnderflow: false,
7979      stepMismatch: false,
7980      tooLong: false,
7981      tooShort: false,
7982      typeMismatch: false,
7983      valid: null,
7984      valueMissing: false
7985    };
7986    var DEFAULT_FIELD_STATE_ATTRIBUTES = {
7987      valid: null,
7988      touched: false,
7989      dirty: false,
7990      filled: false,
7991      focused: false
7992    };
7993    var DEFAULT_FIELD_ROOT_STATE = {
7994      disabled: false,
7995      ...DEFAULT_FIELD_STATE_ATTRIBUTES
7996    };
7997    var fieldValidityMapping = {
7998      valid(value) {
7999        if (value === null) {
8000          return null;
8001        }
8002        if (value) {
8003          return {
8004            [valid]: ""
8005          };
8006        }
8007        return {
8008          [invalid]: ""
8009        };
8010      }
8011    };
8012  
8013    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/FieldRootContext.mjs
8014    var DEFAULT_FIELD_ROOT_CONTEXT = {
8015      invalid: void 0,
8016      name: void 0,
8017      validityData: {
8018        state: DEFAULT_VALIDITY_STATE,
8019        errors: [],
8020        error: "",
8021        value: "",
8022        initialValue: null
8023      },
8024      setValidityData: NOOP,
8025      disabled: void 0,
8026      setTouched: NOOP,
8027      setDirty: NOOP,
8028      setFilled: NOOP,
8029      setFocused: NOOP,
8030      focusOwnerRef: {
8031        current: void 0
8032      },
8033      validationMode: "onSubmit",
8034      shouldValidateOnChange: () => false,
8035      state: DEFAULT_FIELD_ROOT_STATE,
8036      registerFieldControl: NOOP,
8037      validation: {
8038        getValidationProps: (_disabled, props = EMPTY_OBJECT) => props,
8039        inputRef: {
8040          current: null
8041        },
8042        registeredInputs: /* @__PURE__ */ new Map(),
8043        registerInput: NOOP,
8044        getInputControl: () => null,
8045        commit: async () => {
8046        },
8047        change: NOOP
8048      }
8049    };
8050    var FieldRootContext = /* @__PURE__ */ React39.createContext(DEFAULT_FIELD_ROOT_CONTEXT);
8051    if (true) FieldRootContext.displayName = "FieldRootContext";
8052    function useFieldRootContext(optional = true) {
8053      const context = React39.useContext(FieldRootContext);
8054      if (context.setValidityData === NOOP && !optional) {
8055        throw new Error(true ? "Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>." : formatErrorMessage_default(28));
8056      }
8057      return context;
8058    }
8059  
8060    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-register-control/useRegisterFieldControl.mjs
8061    function useRegisterFieldControl(controlRef, id, value, getFormValueOverride, enabled = true, name16) {
8062      const {
8063        registerFieldControl
8064      } = useFieldRootContext();
8065      const sourceRef = useRefWithInit(() => /* @__PURE__ */ Symbol());
8066      useIsoLayoutEffect(() => {
8067        const source = sourceRef.current;
8068        if (!enabled) {
8069          registerFieldControl(source, void 0);
8070          return;
8071        }
8072        const registration = {
8073          controlRef,
8074          getValue: getFormValueOverride,
8075          id,
8076          name: name16,
8077          value
8078        };
8079        registerFieldControl(source, registration);
8080      }, [controlRef, enabled, getFormValueOverride, id, name16, registerFieldControl, sourceRef, value]);
8081      useIsoLayoutEffect(() => {
8082        const source = sourceRef.current;
8083        return () => {
8084          registerFieldControl(source, void 0);
8085        };
8086      }, [registerFieldControl, sourceRef]);
8087    }
8088  
8089    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/form-context/FormContext.mjs
8090    var React40 = __toESM(require_react(), 1);
8091    var FormContext = /* @__PURE__ */ React40.createContext({
8092      elementRef: {
8093        current: null
8094      },
8095      formRef: {
8096        current: {
8097          fields: /* @__PURE__ */ new Map()
8098        }
8099      },
8100      errors: {},
8101      clearErrors: NOOP,
8102      validationMode: "onSubmit",
8103      submitCountRef: {
8104        current: 0
8105      }
8106    });
8107    if (true) FormContext.displayName = "FormContext";
8108    function useFormContext() {
8109      return React40.useContext(FormContext);
8110    }
8111  
8112    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabelableId.mjs
8113    var React42 = __toESM(require_react(), 1);
8114  
8115    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/LabelableContext.mjs
8116    var React41 = __toESM(require_react(), 1);
8117    var LabelableContext = /* @__PURE__ */ React41.createContext({
8118      controlId: void 0,
8119      registerControlId: NOOP,
8120      resetControlId: NOOP,
8121      labelId: void 0,
8122      setLabelId: NOOP,
8123      messageIds: [],
8124      setMessageIds: NOOP,
8125      getDescriptionProps: (externalProps) => externalProps
8126    });
8127    if (true) LabelableContext.displayName = "LabelableContext";
8128    function useLabelableContext() {
8129      return React41.useContext(LabelableContext);
8130    }
8131  
8132    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabelableId.mjs
8133    function useLabelableId(params = {}) {
8134      const {
8135        id,
8136        enabled = true
8137      } = params;
8138      const {
8139        controlId,
8140        registerControlId,
8141        resetControlId
8142      } = useLabelableContext();
8143      const defaultId = useBaseUiId();
8144      const controlSourceRef = useRefWithInit(() => /* @__PURE__ */ Symbol());
8145      const hasRegisteredRef = React42.useRef(false);
8146      const hadExplicitIdRef = React42.useRef(false);
8147      const unregisterControlId = useStableCallback(() => {
8148        if (!hasRegisteredRef.current || registerControlId === NOOP) {
8149          return;
8150        }
8151        hasRegisteredRef.current = false;
8152        registerControlId(controlSourceRef.current, void 0);
8153      });
8154      useIsoLayoutEffect(() => {
8155        if (!enabled || registerControlId === NOOP) {
8156          unregisterControlId();
8157          return void 0;
8158        }
8159        let nextId;
8160        if (id !== void 0) {
8161          hadExplicitIdRef.current = true;
8162          nextId = id;
8163        } else if (hadExplicitIdRef.current) {
8164          nextId = defaultId;
8165        } else {
8166          resetControlId();
8167          return void 0;
8168        }
8169        if (nextId === void 0) {
8170          unregisterControlId();
8171          return void 0;
8172        }
8173        hasRegisteredRef.current = true;
8174        registerControlId(controlSourceRef.current, nextId);
8175        return void 0;
8176      }, [id, enabled, registerControlId, resetControlId, defaultId, controlSourceRef, unregisterControlId]);
8177      useIsoLayoutEffect(() => {
8178        return unregisterControlId;
8179      }, [unregisterControlId]);
8180      return (enabled ? controlId : void 0) ?? id ?? defaultId;
8181    }
8182  
8183    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/direction-context/DirectionContext.mjs
8184    var React43 = __toESM(require_react(), 1);
8185    var DirectionContext = /* @__PURE__ */ React43.createContext(void 0);
8186    if (true) DirectionContext.displayName = "DirectionContext";
8187    function useDirection() {
8188      const context = React43.useContext(DirectionContext);
8189      return context?.direction ?? "ltr";
8190    }
8191  
8192    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/useSetFieldFocused.mjs
8193    function useSetFieldFocused(disabled2, focusTargetRef, onFocusedChange) {
8194      const {
8195        setFocused,
8196        focusOwnerRef
8197      } = useFieldRootContext();
8198      const setFieldFocused = useStableCallback((focused) => {
8199        if (focused ? !disabled2 : focusOwnerRef.current === setFieldFocused) {
8200          focusOwnerRef.current = focused && setFieldFocused;
8201          onFocusedChange?.(focused);
8202          setFocused(focused);
8203        }
8204      });
8205      useIsoLayoutEffect(() => {
8206        const el = focusTargetRef.current;
8207        const root = el?.getRootNode();
8208        if (root?.activeElement === el) {
8209          setFieldFocused(true);
8210        }
8211        return () => setFieldFocused(false);
8212      }, [disabled2, focusTargetRef, setFieldFocused]);
8213      return setFieldFocused;
8214    }
8215  
8216    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getPseudoElementBounds.mjs
8217    var BOUNDARY_OFFSET = 5;
8218    function isMouseWithinBounds(event, element) {
8219      const bounds = getPseudoElementBounds(element);
8220      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;
8221    }
8222    function getPseudoElementBounds(element) {
8223      const elementRect = element.getBoundingClientRect();
8224      const win = getWindow(element);
8225      if (parts_exports.env.jsdom) {
8226        return elementRect;
8227      }
8228      const beforeStyles = win.getComputedStyle(element, "::before");
8229      const afterStyles = win.getComputedStyle(element, "::after");
8230      const hasPseudoElements = beforeStyles.content !== "none" || afterStyles.content !== "none";
8231      if (!hasPseudoElements) {
8232        return elementRect;
8233      }
8234      const beforeWidth = parseFloat(beforeStyles.width) || 0;
8235      const beforeHeight = parseFloat(beforeStyles.height) || 0;
8236      const afterWidth = parseFloat(afterStyles.width) || 0;
8237      const afterHeight = parseFloat(afterStyles.height) || 0;
8238      const totalWidth = Math.max(elementRect.width, beforeWidth, afterWidth);
8239      const totalHeight = Math.max(elementRect.height, beforeHeight, afterHeight);
8240      const widthDiff = totalWidth - elementRect.width;
8241      const heightDiff = totalHeight - elementRect.height;
8242      return {
8243        left: elementRect.left - widthDiff / 2,
8244        right: elementRect.right + widthDiff / 2,
8245        top: elementRect.top - heightDiff / 2,
8246        bottom: elementRect.bottom + heightDiff / 2
8247      };
8248    }
8249  
8250    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveAriaLabelledBy.mjs
8251    function getDefaultLabelId(id) {
8252      return id == null ? void 0 : `$id}-label`;
8253    }
8254    function resolveAriaLabelledBy(fieldLabelId, localLabelId) {
8255      return fieldLabelId ?? localLabelId;
8256    }
8257  
8258    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnchorPositioning.mjs
8259    var React45 = __toESM(require_react(), 1);
8260  
8261    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useFloating.mjs
8262    var React44 = __toESM(require_react(), 1);
8263    function useBaseUIFloating(options) {
8264      const {
8265        nodeId,
8266        externalTree,
8267        rootContext: store
8268      } = options;
8269      const referenceElement = store.useState("referenceElement");
8270      const floatingElement = store.useState("floatingElement");
8271      const domReferenceElement = store.useState("domReferenceElement");
8272      const open2 = store.useState("open");
8273      const floatingId = store.useState("floatingId");
8274      const [positionReference, setPositionReferenceRaw] = React44.useState(null);
8275      const domReferenceRef = React44.useRef(null);
8276      const tree = useFloatingTree(externalTree);
8277      const storeElements = React44.useMemo(() => ({
8278        reference: referenceElement,
8279        floating: floatingElement,
8280        domReference: domReferenceElement
8281      }), [referenceElement, floatingElement, domReferenceElement]);
8282      const position = useFloating({
8283        ...options,
8284        elements: {
8285          ...storeElements,
8286          ...positionReference && {
8287            reference: positionReference
8288          }
8289        }
8290      });
8291      const setPositionReference = React44.useCallback((node) => {
8292        const computedPositionReference = isElement(node) ? {
8293          getBoundingClientRect: () => node.getBoundingClientRect(),
8294          getClientRects: () => node.getClientRects(),
8295          contextElement: node
8296        } : node;
8297        setPositionReferenceRaw(computedPositionReference);
8298        position.refs.setReference(computedPositionReference);
8299      }, [position.refs]);
8300      const refs = React44.useMemo(() => ({
8301        ...position.refs,
8302        setPositionReference,
8303        domReference: domReferenceRef
8304      }), [position.refs, setPositionReference]);
8305      const elements = React44.useMemo(() => ({
8306        ...position.elements,
8307        domReference: domReferenceElement
8308      }), [position.elements, domReferenceElement]);
8309      const context = React44.useMemo(() => ({
8310        ...position,
8311        dataRef: store.context.dataRef,
8312        open: open2,
8313        onOpenChange: store.setOpen,
8314        events: store.context.events,
8315        floatingId,
8316        refs,
8317        elements,
8318        nodeId,
8319        rootStore: store
8320      }), [position, refs, elements, nodeId, store, open2, floatingId]);
8321      useIsoLayoutEffect(() => {
8322        if (domReferenceElement) {
8323          domReferenceRef.current = domReferenceElement;
8324        }
8325      }, [domReferenceElement]);
8326      useIsoLayoutEffect(() => {
8327        store.context.dataRef.current.floatingContext = context;
8328        const node = tree?.nodesRef.current.find((n) => n.id === nodeId);
8329        if (node) {
8330          node.context = context;
8331        }
8332      });
8333      return React44.useMemo(() => ({
8334        ...position,
8335        context,
8336        refs,
8337        elements,
8338        rootStore: store
8339      }), [position, refs, elements, context, store]);
8340    }
8341  
8342    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/middleware/arrow.mjs
8343    var baseArrow = (options) => ({
8344      name: "arrow",
8345      options,
8346      async fn(state) {
8347        const {
8348          x,
8349          y,
8350          placement,
8351          rects,
8352          platform: platform3,
8353          elements,
8354          middlewareData
8355        } = state;
8356        const {
8357          element,
8358          padding = 0
8359        } = evaluate(options, state) || {};
8360        if (element == null) {
8361          return {};
8362        }
8363        const paddingObject = getPaddingObject(padding);
8364        const coords = {
8365          x,
8366          y
8367        };
8368        const axis = getAlignmentAxis(placement);
8369        const length = getAxisLength(axis);
8370        const arrowDimensions = await platform3.getDimensions(element);
8371        const isYAxis = axis === "y";
8372        const minProp = isYAxis ? "top" : "left";
8373        const maxProp = isYAxis ? "bottom" : "right";
8374        const clientProp = isYAxis ? "clientHeight" : "clientWidth";
8375        const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];
8376        const startDiff = coords[axis] - rects.reference[axis];
8377        const clientSize = elements.floating[clientProp] || rects.floating[length];
8378        const centerToReference = endDiff / 2 - startDiff / 2;
8379        const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
8380        const minPadding = Math.min(paddingObject[minProp], largestPossiblePadding);
8381        const maxPadding = Math.min(paddingObject[maxProp], largestPossiblePadding);
8382        const min2 = minPadding;
8383        const max2 = clientSize - arrowDimensions[length] - maxPadding;
8384        const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
8385        const offset4 = clamp(min2, center, max2);
8386        const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset4 && rects.reference[length] / 2 - (center < min2 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
8387        const alignmentOffset = shouldAddOffset ? center < min2 ? center - min2 : center - max2 : 0;
8388        return {
8389          [axis]: coords[axis] + alignmentOffset,
8390          data: {
8391            [axis]: offset4,
8392            centerOffset: center - offset4 - alignmentOffset,
8393            ...shouldAddOffset && {
8394              alignmentOffset
8395            }
8396          },
8397          reset: shouldAddOffset
8398        };
8399      }
8400    });
8401    var arrow4 = (options, deps) => {
8402      const {
8403        name: name16,
8404        fn
8405      } = baseArrow(options);
8406      return {
8407        name: name16,
8408        fn,
8409        options: [options, deps]
8410      };
8411    };
8412  
8413    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/hideMiddleware.mjs
8414    var hide4 = {
8415      name: "hide",
8416      async fn(state) {
8417        const {
8418          width,
8419          height,
8420          x,
8421          y
8422        } = state.rects.reference;
8423        const anchorHidden2 = width === 0 && height === 0 && x === 0 && y === 0;
8424        const overflow = await state.platform.detectOverflow(state, {
8425          elementContext: "reference"
8426        });
8427        const referenceHidden = overflow.top - height >= 0 || overflow.right - width >= 0 || overflow.bottom - height >= 0 || overflow.left - width >= 0;
8428        return {
8429          data: {
8430            referenceHidden: referenceHidden || anchorHidden2
8431          }
8432        };
8433      }
8434    };
8435  
8436    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/adaptiveOriginConstants.mjs
8437    var DEFAULT_SIDES = {
8438      sideX: "left",
8439      sideY: "top"
8440    };
8441  
8442    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPositionerCssVars.mjs
8443    var availableWidth = "--available-width";
8444    var availableHeight = "--available-height";
8445    var anchorWidth = "--anchor-width";
8446    var anchorHeight = "--anchor-height";
8447    var transformOrigin = "--transform-origin";
8448  
8449    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnchorPositioning.mjs
8450    var AVAILABLE_WIDTH_VAR = availableWidth;
8451    var AVAILABLE_HEIGHT_VAR = availableHeight;
8452    function getLogicalSide(sideParam, renderedSide, isRtl) {
8453      const isLogicalSideParam = sideParam === "inline-start" || sideParam === "inline-end";
8454      const logicalRight = isRtl ? "inline-start" : "inline-end";
8455      const logicalLeft = isRtl ? "inline-end" : "inline-start";
8456      return {
8457        top: "top",
8458        right: isLogicalSideParam ? logicalRight : "right",
8459        bottom: "bottom",
8460        left: isLogicalSideParam ? logicalLeft : "left"
8461      }[renderedSide];
8462    }
8463    function getOffsetData(state, sideParam, isRtl) {
8464      const {
8465        rects,
8466        placement
8467      } = state;
8468      const data = {
8469        side: getLogicalSide(sideParam, getSide(placement), isRtl),
8470        align: getAlignment(placement) || "center",
8471        anchor: {
8472          width: rects.reference.width,
8473          height: rects.reference.height
8474        },
8475        positioner: {
8476          width: rects.floating.width,
8477          height: rects.floating.height
8478        }
8479      };
8480      return data;
8481    }
8482    function useAnchorPositioning(params) {
8483      return useAnchorPositioningWithHook(params, useBaseUIFloating);
8484    }
8485    function useAnchorPositioningWithHook(params, useFloatingHook) {
8486      const {
8487        // Public parameters
8488        anchor,
8489        positionMethod = "absolute",
8490        side: sideParam = "bottom",
8491        sideOffset = 0,
8492        align = "center",
8493        alignOffset = 0,
8494        collisionBoundary,
8495        collisionPadding: collisionPaddingParam = 5,
8496        sticky = false,
8497        arrowPadding = 5,
8498        disableAnchorTracking = false,
8499        inline: inlineMiddleware,
8500        // Private parameters
8501        keepMounted = false,
8502        floatingRootContext,
8503        mounted,
8504        collisionAvoidance,
8505        shift: shift4,
8506        nodeId,
8507        adaptiveOrigin,
8508        lazyFlip = false,
8509        externalTree
8510      } = params;
8511      const collisionAvoidanceSide = collisionAvoidance.side || "flip";
8512      const collisionAvoidanceAlign = collisionAvoidance.align || "flip";
8513      const collisionAvoidanceFallbackAxisSide = collisionAvoidance.fallbackAxisSide || "end";
8514      const shiftCrossAxis = shift4?.crossAxis ?? false;
8515      const shiftRootBoundary = shift4?.rootBoundary;
8516      const anchorFn = typeof anchor === "function" ? anchor : void 0;
8517      const anchorFnCallback = useStableCallback(anchorFn);
8518      const anchorDep = anchorFn ? anchorFnCallback : anchor;
8519      const anchorValueRef = useValueAsRef(anchor);
8520      const mountedRef = useValueAsRef(mounted);
8521      const direction = useDirection();
8522      const isRtl = direction === "rtl";
8523      const [mountPlacement, setMountPlacement] = React45.useState(null);
8524      if (!mounted && mountPlacement !== null) {
8525        setMountPlacement(null);
8526      }
8527      const lockAlign = lazyFlip === "placement";
8528      const mountSide = mountPlacement ? getSide(mountPlacement) : null;
8529      const mountAlign = mountPlacement && lockAlign ? getAlignment(mountPlacement) || "center" : null;
8530      const side = mountSide || {
8531        top: "top",
8532        right: "right",
8533        bottom: "bottom",
8534        left: "left",
8535        "inline-end": isRtl ? "left" : "right",
8536        "inline-start": isRtl ? "right" : "left"
8537      }[sideParam];
8538      const placementAlign = mountAlign || align;
8539      const placement = placementAlign === "center" ? side : `$side}-$placementAlign}`;
8540      let collisionPadding = collisionPaddingParam;
8541      if (typeof collisionPadding === "number") {
8542        collisionPadding = {
8543          top: collisionPadding,
8544          right: collisionPadding,
8545          bottom: collisionPadding,
8546          left: collisionPadding
8547        };
8548      } else if (collisionPadding) {
8549        collisionPadding = {
8550          top: collisionPadding.top || 0,
8551          right: collisionPadding.right || 0,
8552          bottom: collisionPadding.bottom || 0,
8553          left: collisionPadding.left || 0
8554        };
8555      }
8556      const bias = 1;
8557      const biasTop = sideParam === "bottom" ? bias : 0;
8558      const biasBottom = sideParam === "top" ? bias : 0;
8559      const biasLeft = sideParam === "right" ? bias : 0;
8560      const biasRight = sideParam === "left" ? bias : 0;
8561      const commonCollisionProps = {
8562        boundary: collisionBoundary === "clipping-ancestors" ? "clippingAncestors" : collisionBoundary,
8563        padding: collisionPadding
8564      };
8565      const arrowRef = React45.useRef(null);
8566      const sideOffsetRef = useValueAsRef(sideOffset);
8567      const alignOffsetRef = useValueAsRef(alignOffset);
8568      const sideOffsetDep = typeof sideOffset !== "function" ? sideOffset : 0;
8569      const alignOffsetDep = typeof alignOffset !== "function" ? alignOffset : 0;
8570      const middleware = [];
8571      if (inlineMiddleware) {
8572        middleware.push(inlineMiddleware);
8573      }
8574      middleware.push(offset3((state) => {
8575        const data = getOffsetData(state, sideParam, isRtl);
8576        const sideAxis = typeof sideOffsetRef.current === "function" ? sideOffsetRef.current(data) : sideOffsetRef.current;
8577        const alignAxis = typeof alignOffsetRef.current === "function" ? alignOffsetRef.current(data) : alignOffsetRef.current;
8578        return {
8579          mainAxis: sideAxis,
8580          crossAxis: alignAxis,
8581          alignmentAxis: alignAxis
8582        };
8583      }, [sideOffsetDep, alignOffsetDep, isRtl, sideParam]));
8584      const shiftDisabled = collisionAvoidanceAlign === "none" && collisionAvoidanceSide !== "shift";
8585      const crossAxisShiftEnabled = !shiftDisabled && (sticky || shiftCrossAxis || collisionAvoidanceSide === "shift");
8586      const flipMiddleware = collisionAvoidanceSide === "none" ? null : flip3({
8587        ...commonCollisionProps,
8588        // Ensure the popup flips if it's been limited by its --available-height and it resizes.
8589        // Since the size() padding is smaller than the flip() padding, flip() will take precedence.
8590        padding: {
8591          top: collisionPadding.top + bias + biasTop,
8592          right: collisionPadding.right + bias + biasRight,
8593          bottom: collisionPadding.bottom + bias + biasBottom,
8594          left: collisionPadding.left + bias + biasLeft
8595        },
8596        mainAxis: !shiftCrossAxis && collisionAvoidanceSide === "flip",
8597        crossAxis: collisionAvoidanceAlign === "flip" ? "alignment" : false,
8598        fallbackAxisSideDirection: collisionAvoidanceFallbackAxisSide
8599      });
8600      const shiftMiddleware = shiftDisabled ? null : shift3({
8601        ...commonCollisionProps,
8602        // Use the Layout Viewport to avoid shifting around when pinch-zooming.
8603        rootBoundary: shiftRootBoundary,
8604        mainAxis: collisionAvoidanceAlign !== "none",
8605        crossAxis: crossAxisShiftEnabled,
8606        limiter: sticky || shiftCrossAxis ? void 0 : limitShift3((limitData) => {
8607          if (!arrowRef.current) {
8608            return {};
8609          }
8610          const {
8611            width,
8612            height
8613          } = arrowRef.current.getBoundingClientRect();
8614          const sideAxis = getSideAxis(getSide(limitData.placement));
8615          const arrowSize = sideAxis === "y" ? width : height;
8616          const offsetAmount = sideAxis === "y" ? collisionPadding.left + collisionPadding.right : collisionPadding.top + collisionPadding.bottom;
8617          return {
8618            offset: arrowSize / 2 + offsetAmount / 2
8619          };
8620        })
8621      }, [commonCollisionProps, sticky, shiftCrossAxis, shiftRootBoundary, collisionPadding, collisionAvoidanceAlign]);
8622      if (collisionAvoidanceSide === "shift" || collisionAvoidanceAlign === "shift" || placementAlign === "center") {
8623        middleware.push(shiftMiddleware, flipMiddleware);
8624      } else {
8625        middleware.push(flipMiddleware, shiftMiddleware);
8626      }
8627      middleware.push(size3({
8628        ...commonCollisionProps,
8629        apply({
8630          elements: {
8631            floating
8632          },
8633          availableWidth: availableWidth2,
8634          availableHeight: availableHeight2,
8635          rects
8636        }) {
8637          if (!mountedRef.current) {
8638            return;
8639          }
8640          const floatingStyle = floating.style;
8641          floatingStyle.setProperty(AVAILABLE_WIDTH_VAR, `$availableWidth2}px`);
8642          floatingStyle.setProperty(AVAILABLE_HEIGHT_VAR, `$availableHeight2}px`);
8643          const dpr = getWindow(floating).devicePixelRatio || 1;
8644          const {
8645            x: x2,
8646            y: y2,
8647            width,
8648            height
8649          } = rects.reference;
8650          const anchorWidth2 = (Math.round((x2 + width) * dpr) - Math.round(x2 * dpr)) / dpr;
8651          const anchorHeight2 = (Math.round((y2 + height) * dpr) - Math.round(y2 * dpr)) / dpr;
8652          floatingStyle.setProperty(anchorWidth, `$anchorWidth2}px`);
8653          floatingStyle.setProperty(anchorHeight, `$anchorHeight2}px`);
8654        }
8655      }), arrow4((state) => ({
8656        // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set,
8657        // we'll create a fake element.
8658        element: arrowRef.current || ownerDocument(state.elements.floating).createElement("div"),
8659        // No padding for the fake arrow: it would displace aligned popups on narrow anchors.
8660        padding: arrowRef.current ? arrowPadding : 0
8661      }), [arrowPadding]), {
8662        name: "transformOrigin",
8663        fn(state) {
8664          const {
8665            elements: {
8666              floating
8667            },
8668            middlewareData: middlewareData2,
8669            placement: renderedPlacement2,
8670            platform: platform3,
8671            rects,
8672            y: y2
8673          } = state;
8674          const renderedSide2 = getSide(renderedPlacement2);
8675          const renderedAlign2 = getAlignment(renderedPlacement2);
8676          const isVertical = getSideAxis(renderedSide2) === "y";
8677          const arrowEl = arrowRef.current;
8678          const sideOffsetValue = typeof sideOffset === "function" ? sideOffset(getOffsetData(state, sideParam, isRtl)) : sideOffset;
8679          let crossOrigin;
8680          if (!arrowEl && renderedAlign2 && Math.abs(isVertical ? middlewareData2.shift?.x || 0 : middlewareData2.shift?.y || 0) <= 1) {
8681            crossOrigin = renderedAlign2 === "start" === (isVertical && platform3.isRTL?.(floating) === true) ? "100%" : "0%";
8682          } else {
8683            const arrowOffset = isVertical ? middlewareData2.arrow?.x || 0 : middlewareData2.arrow?.y || 0;
8684            const arrowSize = isVertical ? arrowEl?.clientWidth || 0 : arrowEl?.clientHeight || 0;
8685            crossOrigin = `$arrowOffset + arrowSize / 2}px`;
8686          }
8687          let sideOrigin = renderedSide2 === "top" || renderedSide2 === "left" ? `calc(100% + $sideOffsetValue}px)` : `${-sideOffsetValue}px`;
8688          if (crossAxisShiftEnabled && isVertical && Math.abs(middlewareData2.shift?.y || 0) > sideOffsetValue) {
8689            sideOrigin = `$rects.reference.y + rects.reference.height / 2 - y2}px`;
8690          }
8691          floating.style.setProperty(transformOrigin, isVertical ? `$crossOrigin} $sideOrigin}` : `$sideOrigin} $crossOrigin}`);
8692          return {};
8693        }
8694      }, hide4, adaptiveOrigin);
8695      useIsoLayoutEffect(() => {
8696        if (!mounted && floatingRootContext) {
8697          floatingRootContext.update({
8698            referenceElement: null,
8699            floatingElement: null,
8700            domReferenceElement: null,
8701            positionReference: null
8702          });
8703        }
8704      }, [mounted, floatingRootContext]);
8705      const autoUpdateOptions = React45.useMemo(() => ({
8706        ancestorScroll: !disableAnchorTracking,
8707        elementResize: !disableAnchorTracking && typeof ResizeObserver !== "undefined",
8708        layoutShift: !disableAnchorTracking && typeof IntersectionObserver !== "undefined"
8709      }), [disableAnchorTracking]);
8710      const {
8711        refs,
8712        elements,
8713        x,
8714        y,
8715        middlewareData,
8716        update: update2,
8717        placement: renderedPlacement,
8718        context,
8719        isPositioned,
8720        floatingStyles: originalFloatingStyles
8721      } = useFloatingHook({
8722        rootContext: floatingRootContext,
8723        open: keepMounted ? mounted : void 0,
8724        placement,
8725        middleware,
8726        strategy: positionMethod,
8727        whileElementsMounted: keepMounted ? void 0 : (...args) => autoUpdate(...args, autoUpdateOptions),
8728        nodeId,
8729        externalTree
8730      });
8731      const {
8732        sideX,
8733        sideY
8734      } = middlewareData.adaptiveOrigin || DEFAULT_SIDES;
8735      const resolvedPosition = isPositioned ? positionMethod : "fixed";
8736      const floatingStyles = React45.useMemo(() => {
8737        let base;
8738        if (!isPositioned) {
8739          base = {
8740            position: resolvedPosition,
8741            top: 0,
8742            left: 0
8743          };
8744        } else if (adaptiveOrigin) {
8745          base = {
8746            position: resolvedPosition,
8747            [sideX]: x,
8748            [sideY]: y
8749          };
8750        } else {
8751          base = {
8752            ...originalFloatingStyles,
8753            position: resolvedPosition
8754          };
8755        }
8756        base[AVAILABLE_WIDTH_VAR] = "100vw";
8757        base[AVAILABLE_HEIGHT_VAR] = "100vh";
8758        if (!isPositioned) {
8759          base.opacity = 0;
8760        }
8761        return base;
8762      }, [adaptiveOrigin, resolvedPosition, sideX, x, sideY, y, originalFloatingStyles, isPositioned]);
8763      const registeredPositionReferenceRef = React45.useRef(null);
8764      useIsoLayoutEffect(() => {
8765        if (!mounted) {
8766          return;
8767        }
8768        const anchorValue = anchorValueRef.current;
8769        const resolvedAnchor = typeof anchorValue === "function" ? anchorValue() : anchorValue;
8770        const unwrappedElement = (isRef(resolvedAnchor) ? resolvedAnchor.current : resolvedAnchor) || null;
8771        const finalAnchor = unwrappedElement || null;
8772        if (finalAnchor !== registeredPositionReferenceRef.current) {
8773          refs.setPositionReference(finalAnchor);
8774          registeredPositionReferenceRef.current = finalAnchor;
8775        }
8776      }, [mounted, refs, anchorDep, anchorValueRef]);
8777      React45.useEffect(() => {
8778        if (!mounted) {
8779          return;
8780        }
8781        const anchorValue = anchorValueRef.current;
8782        if (typeof anchorValue === "function") {
8783          return;
8784        }
8785        if (isRef(anchorValue) && anchorValue.current !== registeredPositionReferenceRef.current) {
8786          refs.setPositionReference(anchorValue.current);
8787          registeredPositionReferenceRef.current = anchorValue.current;
8788        }
8789      }, [mounted, refs, anchorDep, anchorValueRef]);
8790      React45.useEffect(() => {
8791        if (keepMounted && mounted && elements.reference && elements.floating) {
8792          return autoUpdate(elements.reference, elements.floating, update2, autoUpdateOptions);
8793        }
8794        return void 0;
8795      }, [keepMounted, mounted, elements, update2, autoUpdateOptions]);
8796      const renderedSide = getSide(renderedPlacement);
8797      const logicalRenderedSide = getLogicalSide(sideParam, renderedSide, isRtl);
8798      const renderedAlign = getAlignment(renderedPlacement) || "center";
8799      const anchorHidden2 = Boolean(middlewareData.hide?.referenceHidden);
8800      useIsoLayoutEffect(() => {
8801        if (lazyFlip && mounted && isPositioned && (renderedSide !== side || lockAlign && renderedAlign !== placementAlign)) {
8802          setMountPlacement(renderedPlacement);
8803        }
8804      }, [lazyFlip, lockAlign, mounted, isPositioned, renderedPlacement, renderedSide, renderedAlign, side, placementAlign]);
8805      const arrowStyles = React45.useMemo(() => ({
8806        position: "absolute",
8807        top: middlewareData.arrow?.y,
8808        left: middlewareData.arrow?.x
8809      }), [middlewareData.arrow]);
8810      const arrowUncentered = middlewareData.arrow?.centerOffset !== 0;
8811      return React45.useMemo(() => ({
8812        positionerStyles: floatingStyles,
8813        arrowStyles,
8814        arrowRef,
8815        arrowUncentered,
8816        side: logicalRenderedSide,
8817        align: renderedAlign,
8818        physicalSide: renderedSide,
8819        anchorHidden: anchorHidden2,
8820        refs,
8821        context,
8822        isPositioned,
8823        update: update2
8824      }), [floatingStyles, arrowStyles, arrowRef, arrowUncentered, logicalRenderedSide, renderedAlign, renderedSide, anchorHidden2, refs, context, isPositioned, update2]);
8825    }
8826    function isRef(param) {
8827      return param != null && "current" in param;
8828    }
8829  
8830    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/getDisabledMountTransitionStyles.mjs
8831    function getDisabledMountTransitionStyles(transitionStatus) {
8832      return transitionStatus === "starting" ? DISABLED_TRANSITIONS_STYLE : EMPTY_OBJECT;
8833    }
8834  
8835    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePositioner.mjs
8836    function usePositioner(componentProps, state, {
8837      styles,
8838      transitionStatus,
8839      props,
8840      refs,
8841      hidden,
8842      inert = false
8843    }) {
8844      const style = {
8845        ...styles
8846      };
8847      if (inert) {
8848        style.pointerEvents = "none";
8849      }
8850      return useRenderElement("div", componentProps, {
8851        state,
8852        ref: refs,
8853        props: [{
8854          role: "presentation",
8855          hidden,
8856          style
8857        }, getDisabledMountTransitionStyles(transitionStatus), props],
8858        stateAttributesMapping: popupStateMapping
8859      });
8860    }
8861  
8862    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useAnchoredPopupScrollLock.mjs
8863    var React46 = __toESM(require_react(), 1);
8864    var VIEWPORT_WIDTH_TOLERANCE_PX = 20;
8865    function useAnchoredPopupScrollLock(enabled, touchOpen, positionerElement, referenceElement) {
8866      const [touchOpenShouldLockScroll, setTouchOpenShouldLockScroll] = React46.useState(false);
8867      useIsoLayoutEffect(() => {
8868        if (!enabled || !touchOpen || positionerElement == null) {
8869          setTouchOpenShouldLockScroll(false);
8870          return;
8871        }
8872        const viewportWidth = ownerDocument(positionerElement).documentElement.clientWidth;
8873        const popupWidth = positionerElement.offsetWidth;
8874        setTouchOpenShouldLockScroll(viewportWidth > 0 && popupWidth > 0 && popupWidth >= viewportWidth - VIEWPORT_WIDTH_TOLERANCE_PX);
8875      }, [enabled, touchOpen, positionerElement]);
8876      useScrollLock(enabled && (!touchOpen || touchOpenShouldLockScroll), referenceElement);
8877    }
8878  
8879    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/listbox-separator/ListboxSeparator.mjs
8880    var React47 = __toESM(require_react(), 1);
8881    var ListboxSeparator = /* @__PURE__ */ React47.forwardRef(function ListboxSeparator2(componentProps, forwardedRef) {
8882      const {
8883        className,
8884        render,
8885        orientation = "horizontal",
8886        style,
8887        ...elementProps
8888      } = componentProps;
8889      const state = {
8890        orientation
8891      };
8892      return useRenderElement("div", componentProps, {
8893        state,
8894        ref: forwardedRef,
8895        props: [{
8896          role: "presentation"
8897        }, elementProps]
8898      });
8899    });
8900    if (true) ListboxSeparator.displayName = "ListboxSeparator";
8901  
8902    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/item/FieldItemContext.mjs
8903    var React48 = __toESM(require_react(), 1);
8904    var FieldItemContext = /* @__PURE__ */ React48.createContext({
8905      disabled: false
8906    });
8907    if (true) FieldItemContext.displayName = "FieldItemContext";
8908    function useFieldItemContext() {
8909      const context = React48.useContext(FieldItemContext);
8910      return context;
8911    }
8912  
8913    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/useFieldValidation.mjs
8914    var React49 = __toESM(require_react(), 1);
8915  
8916    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/utils/getCombinedFieldValidityData.mjs
8917    function getCombinedFieldValidityData(validityData, invalid2) {
8918      return {
8919        ...validityData,
8920        state: {
8921          ...validityData.state,
8922          valid: !invalid2 && validityData.state.valid
8923        }
8924      };
8925    }
8926  
8927    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/useFieldValidation.mjs
8928    var validityKeys = Object.keys(DEFAULT_VALIDITY_STATE);
8929    function isEligibleInput(input, formElement) {
8930      if (input.matches(":disabled")) {
8931        return false;
8932      }
8933      if (!formElement || input.form === formElement) {
8934        return true;
8935      }
8936      return input.form === null && !input.hasAttribute("form");
8937    }
8938    function findRepresentativeInput(inputs, formElement) {
8939      let fallback = null;
8940      for (const input of inputs.keys()) {
8941        if (!isEligibleInput(input, formElement)) {
8942          continue;
8943        }
8944        if (!input.validity.valid) {
8945          return input;
8946        }
8947        fallback ??= input;
8948      }
8949      return fallback;
8950    }
8951    function makeState(customError) {
8952      return {
8953        ...DEFAULT_VALIDITY_STATE,
8954        valid: !customError,
8955        customError
8956      };
8957    }
8958    function getNativeErrors(element) {
8959      return element && element.validationMessage ? [element.validationMessage] : [];
8960    }
8961    function useFieldValidation(params) {
8962      const {
8963        elementRef,
8964        formRef
8965      } = useFormContext();
8966      const {
8967        setValidityData,
8968        validate,
8969        validityData,
8970        validationDebounceTime,
8971        invalid: invalid2,
8972        markedDirtyRef,
8973        state,
8974        shouldValidateOnChange,
8975        validationMode,
8976        registeredFieldIdRef
8977      } = params;
8978      const {
8979        controlId,
8980        getDescriptionProps
8981      } = useLabelableContext();
8982      const timeout = useTimeout();
8983      const inputRef = React49.useRef(null);
8984      const registeredInputs = useRefWithInit(() => /* @__PURE__ */ new Map()).current;
8985      const validationCommitIdRef = React49.useRef(0);
8986      const customValidityRef = React49.useRef(null);
8987      const registerInput = React49.useCallback((element, registration) => {
8988        registeredInputs.set(element, registration);
8989        return () => {
8990          registeredInputs.delete(element);
8991        };
8992      }, [registeredInputs]);
8993      const getInputControl = useStableCallback(() => {
8994        const element = findRepresentativeInput(registeredInputs, elementRef.current);
8995        return element && registeredInputs.get(element)?.controlRef.current || null;
8996      });
8997      const commit = useStableCallback(async (value, revalidate = false) => {
8998        validationCommitIdRef.current += 1;
8999        const validationCommitId = validationCommitIdRef.current;
9000        function updateRegisteredFieldValidity(nextValidityData, externalInvalid = invalid2) {
9001          const fieldId = registeredFieldIdRef.current ?? controlId;
9002          if (fieldId == null) {
9003            return;
9004          }
9005          const currentFieldData = formRef.current.fields.get(fieldId);
9006          if (!currentFieldData) {
9007            return;
9008          }
9009          const validityDataWithFormErrors = getCombinedFieldValidityData(nextValidityData, externalInvalid);
9010          formRef.current.fields.set(fieldId, {
9011            ...currentFieldData,
9012            validityData: validityDataWithFormErrors
9013          });
9014        }
9015        function makeValidityData(validityState, errorMessages) {
9016          const errors = validityState.valid === false ? errorMessages : [];
9017          return {
9018            value,
9019            state: validityState,
9020            error: errors[0] ?? "",
9021            errors,
9022            initialValue: validityData.initialValue
9023          };
9024        }
9025        function setCustomValidity(element2, message) {
9026          const displaced = element2.validity.customError ? element2.validationMessage : "";
9027          const ownedMessage = message.replace(/\r\n?/g, "\n");
9028          element2.setCustomValidity(ownedMessage);
9029          customValidityRef.current = [element2, ownedMessage, displaced];
9030        }
9031        function clearCustomValidity() {
9032          const record = customValidityRef.current;
9033          customValidityRef.current = null;
9034          if (record && (!record[0].willValidate || record[0].validationMessage === record[1])) {
9035            record[0].setCustomValidity(record[2]);
9036          }
9037        }
9038        function publish(validityState, errorMessages, externalInvalid) {
9039          const nextValidityData = makeValidityData(validityState, errorMessages);
9040          updateRegisteredFieldValidity(nextValidityData, externalInvalid);
9041          setValidityData(nextValidityData);
9042        }
9043        function getState(el) {
9044          const computedState = validityKeys.reduce((acc, key) => {
9045            acc[key] = el.validity[key];
9046            return acc;
9047          }, {});
9048          let hasOnlyValueMissingError = false;
9049          for (const key of validityKeys) {
9050            if (key === "valid") {
9051              continue;
9052            }
9053            if (key === "valueMissing" && computedState[key]) {
9054              hasOnlyValueMissingError = true;
9055            } else if (computedState[key]) {
9056              return computedState;
9057            }
9058          }
9059          if (hasOnlyValueMissingError && !markedDirtyRef.current) {
9060            computedState.valid = true;
9061            computedState.valueMissing = false;
9062          }
9063          return computedState;
9064        }
9065        function resolveRepresentativeInput() {
9066          return registeredInputs.size > 0 ? findRepresentativeInput(registeredInputs, elementRef.current) : inputRef.current;
9067        }
9068        let element = resolveRepresentativeInput();
9069        function refreshState() {
9070          element = resolveRepresentativeInput();
9071          return element?.willValidate ? getState(element) : makeState(false);
9072        }
9073        if (revalidate) {
9074          if (state.valid !== false || !element) {
9075            return;
9076          }
9077          if (!element.validity.valueMissing) {
9078            clearCustomValidity();
9079            const currentElement = resolveRepresentativeInput();
9080            const foreign = currentElement?.validity.customError ? getNativeErrors(currentElement) : [];
9081            publish(makeState(foreign.length > 0), foreign, false);
9082            return;
9083          }
9084          for (const key of validityKeys) {
9085            if (key !== "valid" && key !== "valueMissing" && key !== "customError" && element.validity[key]) {
9086              return;
9087            }
9088          }
9089        }
9090        timeout.clear();
9091        clearCustomValidity();
9092        let nextState = refreshState();
9093        let validationErrors = getNativeErrors(element);
9094        const isValidatingOnChange = shouldValidateOnChange();
9095        if (validationErrors.length === 0 || isValidatingOnChange) {
9096          const formValues = Array.from(formRef.current.fields.values()).reduce((acc, field) => {
9097            if (field.name) {
9098              acc[field.name] = field.getValue();
9099            }
9100            return acc;
9101          }, {});
9102          const resultOrPromise = validate(value, formValues);
9103          let result;
9104          if (typeof resultOrPromise === "object" && resultOrPromise !== null && "then" in resultOrPromise) {
9105            if (nextState.valid === false) {
9106              publish(nextState, validationErrors);
9107            } else if (validationMode === "onSubmit" || !validityData.state.customError) {
9108              nextState.valid = null;
9109              publish(nextState, validationErrors);
9110            }
9111            result = await resultOrPromise;
9112            if (validationCommitId !== validationCommitIdRef.current) {
9113              return;
9114            }
9115            nextState = refreshState();
9116          } else {
9117            result = resultOrPromise;
9118          }
9119          validationErrors = result ? [].concat(result).filter(Boolean) : [];
9120          if (validationErrors.length > 0) {
9121            nextState.valid = false;
9122            nextState.customError = true;
9123            if (element?.willValidate) {
9124              setCustomValidity(element, validationErrors.join("\n"));
9125            }
9126          } else {
9127            validationErrors = getNativeErrors(element);
9128          }
9129        }
9130        publish(nextState, validationErrors);
9131      });
9132      const change = useStableCallback((value, cancelPending = false) => {
9133        timeout.clear();
9134        validationCommitIdRef.current += 1;
9135        if (cancelPending) {
9136          return;
9137        }
9138        const validateOnChange = shouldValidateOnChange();
9139        if (validateOnChange && value !== "" && validationDebounceTime) {
9140          timeout.start(validationDebounceTime, () => {
9141            commit(value);
9142          });
9143        } else {
9144          commit(value, !validateOnChange);
9145        }
9146      });
9147      const getValidationProps = React49.useCallback((disabled2, externalProps = {}) => mergeProps(getDescriptionProps(externalProps), state.valid === false && !state.disabled && !disabled2 ? {
9148        "aria-invalid": true
9149      } : EMPTY_OBJECT), [getDescriptionProps, state.disabled, state.valid]);
9150      return React49.useMemo(() => ({
9151        getValidationProps,
9152        inputRef,
9153        registeredInputs,
9154        registerInput,
9155        getInputControl,
9156        commit,
9157        change
9158      }), [getValidationProps, registeredInputs, registerInput, getInputControl, commit, change]);
9159    }
9160  
9161    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useRegisteredLabelId.mjs
9162    function useRegisteredLabelId(idProp, setLabelId) {
9163      const id = useBaseUiId(idProp);
9164      useIsoLayoutEffect(() => {
9165        setLabelId(id);
9166        return () => {
9167          setLabelId((currentId) => currentId === id ? void 0 : currentId);
9168        };
9169      }, [id, setLabelId]);
9170      return id;
9171    }
9172  
9173    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabel.mjs
9174    function useLabel(params = {}) {
9175      const {
9176        id: idProp,
9177        fallbackControlId,
9178        native = false,
9179        setLabelId: setLabelIdProp,
9180        focusControl: focusControlProp
9181      } = params;
9182      const {
9183        controlId: contextControlId,
9184        setLabelId: setContextLabelId
9185      } = useLabelableContext();
9186      const syncLabelId = useStableCallback((nextLabelId) => {
9187        setContextLabelId(nextLabelId);
9188        setLabelIdProp?.(nextLabelId);
9189      });
9190      const id = useRegisteredLabelId(idProp, syncLabelId);
9191      const resolvedControlId = contextControlId ?? fallbackControlId;
9192      function focusControl(event) {
9193        if (focusControlProp) {
9194          focusControlProp(event, resolvedControlId);
9195          return;
9196        }
9197        if (!resolvedControlId) {
9198          return;
9199        }
9200        const controlElement = getControlById(event.currentTarget, resolvedControlId);
9201        if (isHTMLElement(controlElement)) {
9202          focusElementWithVisible(controlElement);
9203        }
9204      }
9205      function handleInteraction(event) {
9206        const target = getTarget(event.nativeEvent);
9207        if (closest(target, "button,input,select,textarea")) {
9208          return;
9209        }
9210        if (!event.defaultPrevented && event.detail > 1) {
9211          event.preventDefault();
9212        }
9213        if (native) {
9214          return;
9215        }
9216        focusControl(event);
9217      }
9218      return native ? {
9219        id,
9220        htmlFor: resolvedControlId,
9221        onMouseDown: handleInteraction
9222      } : {
9223        id,
9224        onClick: handleInteraction,
9225        onPointerDown(event) {
9226          event.preventDefault();
9227        }
9228      };
9229    }
9230    function getControlById(label, id) {
9231      let root = label.getRootNode();
9232      while (isShadowRoot(root)) {
9233        const element = root.getElementById(id);
9234        if (element) {
9235          return element;
9236        }
9237        root = root.host.getRootNode();
9238      }
9239      return ownerDocument(label).getElementById(id);
9240    }
9241    function focusElementWithVisible(element) {
9242      element.focus({
9243        // Available from Chrome 144+ (January 2026).
9244        // Safari and Firefox already support it.
9245        focusVisible: true
9246      });
9247    }
9248  
9249    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/ItemIndicator.mjs
9250    var React50 = __toESM(require_react(), 1);
9251    var ItemIndicator = /* @__PURE__ */ React50.memo(/* @__PURE__ */ React50.forwardRef(function ItemIndicator2(componentProps, forwardedRef) {
9252      const {
9253        render,
9254        className,
9255        style,
9256        keepMounted,
9257        selected,
9258        ...elementProps
9259      } = componentProps;
9260      const indicatorRef = React50.useRef(null);
9261      const {
9262        transitionStatus,
9263        setMounted
9264      } = useTransitionStatus(selected);
9265      const state = {
9266        selected,
9267        transitionStatus
9268      };
9269      const element = useRenderElement("span", componentProps, {
9270        ref: [forwardedRef, indicatorRef],
9271        state,
9272        props: [{
9273          "aria-hidden": true,
9274          children: "\u2714\uFE0F"
9275        }, elementProps],
9276        stateAttributesMapping: transitionStatusMapping
9277      });
9278      useOpenChangeComplete({
9279        batch: true,
9280        enabled: !selected,
9281        open: selected,
9282        ref: indicatorRef,
9283        onComplete() {
9284          if (!selected) {
9285            setMounted(false);
9286          }
9287        }
9288      });
9289      return element;
9290    }));
9291    if (true) ItemIndicator.displayName = "ItemIndicator";
9292  
9293    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/toolbar/root/ToolbarRootContext.mjs
9294    var React51 = __toESM(require_react(), 1);
9295    var ToolbarRootContext = /* @__PURE__ */ React51.createContext(void 0);
9296    if (true) ToolbarRootContext.displayName = "ToolbarRootContext";
9297    function useToolbarRootContext(optional) {
9298      const context = React51.useContext(ToolbarRootContext);
9299      if (context === void 0 && !optional) {
9300        throw new Error(true ? "Base UI: ToolbarRootContext is missing. Toolbar parts must be placed within <Toolbar.Root>." : formatErrorMessage_default(69));
9301      }
9302      return context;
9303    }
9304  
9305    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/item/useCompositeItem.mjs
9306    var React52 = __toESM(require_react(), 1);
9307    function useCompositeItem(params = {}) {
9308      const {
9309        highlightItemOnHover,
9310        highlightedIndex,
9311        onHighlightedIndexChange
9312      } = useCompositeRootContext();
9313      const {
9314        ref,
9315        index: index3
9316      } = useCompositeListItem(params);
9317      const isHighlighted = highlightedIndex === index3;
9318      const itemRef = React52.useRef(null);
9319      const mergedRef = useMergedRefs(ref, itemRef);
9320      const compositeProps = {
9321        tabIndex: isHighlighted ? 0 : -1,
9322        onFocus() {
9323          onHighlightedIndexChange(index3);
9324        },
9325        onMouseMove() {
9326          const item = itemRef.current;
9327          if (!highlightItemOnHover || !item) {
9328            return;
9329          }
9330          const disabled2 = item.hasAttribute("disabled") || item.ariaDisabled === "true";
9331          if (!isHighlighted && !disabled2) {
9332            item.focus();
9333          }
9334        }
9335      };
9336      return {
9337        compositeProps,
9338        compositeRef: mergedRef,
9339        index: index3
9340      };
9341    }
9342  
9343    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/usePreviousValue.mjs
9344    var React53 = __toESM(require_react(), 1);
9345    function usePreviousValue(value) {
9346      const [state, setState] = React53.useState({
9347        current: value,
9348        previous: null
9349      });
9350      if (!Object.is(value, state.current)) {
9351        setState({
9352          current: value,
9353          previous: state.current
9354        });
9355      }
9356      return state.previous;
9357    }
9358  
9359    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getCssDimensions.mjs
9360    function getCssDimensions2(element) {
9361      const css = getComputedStyle2(element);
9362      let width = parseFloat(css.width) || 0;
9363      let height = parseFloat(css.height) || 0;
9364      const hasOffset = isHTMLElement(element);
9365      const offsetWidth = hasOffset ? element.offsetWidth : width;
9366      const offsetHeight = hasOffset ? element.offsetHeight : height;
9367      const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
9368      if (shouldFallback) {
9369        width = offsetWidth;
9370        height = offsetHeight;
9371      }
9372      return {
9373        width,
9374        height
9375      };
9376    }
9377  
9378    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/direction-provider/DirectionProvider.mjs
9379    var React54 = __toESM(require_react(), 1);
9380    var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1);
9381    var DirectionProvider = function DirectionProvider2(props) {
9382      const {
9383        direction = "ltr"
9384      } = props;
9385      const contextValue = React54.useMemo(() => ({
9386        direction
9387      }), [direction]);
9388      return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DirectionContext.Provider, {
9389        value: contextValue,
9390        children: props.children
9391      });
9392    };
9393    if (true) DirectionProvider.displayName = "DirectionProvider";
9394  
9395    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/isElementDisabled.mjs
9396    function isElementDisabled(element) {
9397      return element == null || element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true";
9398    }
9399  
9400    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/csp-context/CSPContext.mjs
9401    var React55 = __toESM(require_react(), 1);
9402    var CSPContext = /* @__PURE__ */ React55.createContext(void 0);
9403    if (true) CSPContext.displayName = "CSPContext";
9404    var DEFAULT_CSP_CONTEXT_VALUE = {
9405      disableStyleElements: false
9406    };
9407    function useCSPContext() {
9408      return React55.useContext(CSPContext) ?? DEFAULT_CSP_CONTEXT_VALUE;
9409    }
9410  
9411    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/clamp.mjs
9412    function clamp2(val, min2 = Number.MIN_SAFE_INTEGER, max2 = Number.MAX_SAFE_INTEGER) {
9413      return Math.max(min2, Math.min(val, max2));
9414    }
9415  
9416    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getElementTransform.mjs
9417    function getElementTransform(element, computedStyle) {
9418      const transform = (computedStyle ?? getWindow(element).getComputedStyle(element)).transform;
9419      let translateX = 0;
9420      let translateY = 0;
9421      let scale = 1;
9422      if (transform && transform !== "none") {
9423        const matrix = transform.match(/matrix(?:3d)?\(([^)]+)\)/);
9424        if (matrix) {
9425          const values = matrix[1].split(", ").map(parseFloat);
9426          if (values.length === 6) {
9427            translateX = values[4];
9428            translateY = values[5];
9429            scale = Math.sqrt(values[0] * values[0] + values[1] * values[1]);
9430          } else if (values.length === 16) {
9431            translateX = values[12];
9432            translateY = values[13];
9433            scale = values[0];
9434          }
9435        }
9436      }
9437      return {
9438        x: translateX,
9439        y: translateY,
9440        scale
9441      };
9442    }
9443  
9444    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/index.parts.mjs
9445    var index_parts_exports = {};
9446    __export(index_parts_exports, {
9447      Control: () => FieldControl,
9448      Description: () => FieldDescription,
9449      Error: () => FieldError,
9450      Item: () => FieldItem,
9451      Label: () => FieldLabel,
9452      Root: () => FieldRoot,
9453      Validity: () => FieldValidity
9454    });
9455  
9456    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/FieldRoot.mjs
9457    var React59 = __toESM(require_react(), 1);
9458  
9459    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/fieldset/root/FieldsetRootContext.mjs
9460    var React56 = __toESM(require_react(), 1);
9461    var FieldsetRootContext = /* @__PURE__ */ React56.createContext(void 0);
9462    if (true) FieldsetRootContext.displayName = "FieldsetRootContext";
9463    function useFieldsetRootContext(optional = false) {
9464      const context = React56.useContext(FieldsetRootContext);
9465      if (!context && !optional) {
9466        throw new Error(true ? "Base UI: FieldsetRootContext is missing. Fieldset parts must be placed within <Fieldset.Root>." : formatErrorMessage_default(86));
9467      }
9468      return context;
9469    }
9470  
9471    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/LabelableProvider.mjs
9472    var React57 = __toESM(require_react(), 1);
9473    var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1);
9474    var LabelableProvider = function LabelableProvider2(props) {
9475      const defaultId = useBaseUiId();
9476      const [controlIdState, setControlIdState] = React57.useState(defaultId);
9477      const [labelId, setLabelId] = React57.useState();
9478      const [messageIds, setMessageIds] = React57.useState([]);
9479      const controlId = controlIdState === void 0 ? defaultId : controlIdState;
9480      const registrationsRef = useRefWithInit(() => /* @__PURE__ */ new Map());
9481      const {
9482        messageIds: parentMessageIds
9483      } = useLabelableContext();
9484      const registerControlId = useStableCallback((source, nextId) => {
9485        const registrations = registrationsRef.current;
9486        if (nextId === void 0) {
9487          registrations.delete(source);
9488        } else {
9489          registrations.set(source, nextId);
9490        }
9491        setControlIdState((prev) => {
9492          if (registrations.size === 0) {
9493            return prev;
9494          }
9495          let nextControlId;
9496          for (const id of registrations.values()) {
9497            if (id === prev) {
9498              return prev;
9499            }
9500            if (nextControlId === void 0) {
9501              nextControlId = id;
9502            }
9503          }
9504          return nextControlId;
9505        });
9506      });
9507      const resetControlId = useStableCallback(() => {
9508        if (registrationsRef.current.size === 0) {
9509          setControlIdState(defaultId);
9510        }
9511      });
9512      const getDescriptionProps = React57.useCallback((externalProps) => {
9513        const ids = externalProps["aria-describedby"] ? externalProps["aria-describedby"].split(" ") : [];
9514        ids.push(...parentMessageIds, ...messageIds);
9515        return {
9516          ...externalProps,
9517          "aria-describedby": Array.from(new Set(ids)).join(" ") || void 0
9518        };
9519      }, [parentMessageIds, messageIds]);
9520      const contextValue = React57.useMemo(() => ({
9521        controlId,
9522        registerControlId,
9523        resetControlId,
9524        labelId,
9525        setLabelId,
9526        messageIds,
9527        setMessageIds,
9528        getDescriptionProps
9529      }), [controlId, registerControlId, resetControlId, labelId, setLabelId, messageIds, setMessageIds, getDescriptionProps]);
9530      return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(LabelableContext.Provider, {
9531        value: contextValue,
9532        children: props.children
9533      });
9534    };
9535    if (true) LabelableProvider.displayName = "LabelableProvider";
9536  
9537    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-register-control/useFieldControlRegistration.mjs
9538    var React58 = __toESM(require_react(), 1);
9539    function useFieldControlRegistration(params) {
9540      const {
9541        change,
9542        commit,
9543        invalid: invalid2,
9544        markedDirtyRef,
9545        name: name16,
9546        setRegisteredFieldName,
9547        registeredFieldIdRef,
9548        setValidityData,
9549        validityData
9550      } = params;
9551      const {
9552        formRef
9553      } = useFormContext();
9554      const activeFieldControlSourceRef = React58.useRef(null);
9555      const registrationRef = React58.useRef(null);
9556      const initialValueCapturedRef = React58.useRef(false);
9557      const getValueForForm = useStableCallback(() => {
9558        const registration = registrationRef.current;
9559        if (!registration) {
9560          return void 0;
9561        }
9562        if (registration.getValue) {
9563          return registration.getValue();
9564        }
9565        return registration.value;
9566      });
9567      function getRegistrationValue(registration) {
9568        return registration.value === void 0 ? getValueForForm() : registration.value;
9569      }
9570      const validate = useStableCallback(() => {
9571        const registration = registrationRef.current;
9572        markedDirtyRef.current = true;
9573        if (!registration) {
9574          commit(validityData.value);
9575          return;
9576        }
9577        commit(getRegistrationValue(registration));
9578      });
9579      function refreshRegistration() {
9580        const registration = registrationRef.current;
9581        if (!registration || !registration.id) {
9582          return;
9583        }
9584        formRef.current.fields.set(registration.id, {
9585          getValue: getValueForForm,
9586          name: name16 ?? registration.name,
9587          controlRef: registration.controlRef,
9588          validityData: getCombinedFieldValidityData(validityData, invalid2),
9589          validate
9590        });
9591      }
9592      function deleteRegistration(id = registrationRef.current?.id) {
9593        if (id) {
9594          formRef.current.fields.delete(id);
9595        }
9596      }
9597      function captureInitialValue(registration) {
9598        if (initialValueCapturedRef.current) {
9599          return;
9600        }
9601        initialValueCapturedRef.current = true;
9602        const initialValue = getRegistrationValue(registration);
9603        setValidityData((prev) => prev.initialValue === initialValue ? prev : {
9604          ...prev,
9605          initialValue
9606        });
9607      }
9608      useIsoLayoutEffect(() => {
9609        const registration = registrationRef.current;
9610        if (!registration || !registration.id) {
9611          return;
9612        }
9613        setRegisteredFieldName(name16 ? void 0 : registration.name);
9614        formRef.current.fields.set(registration.id, {
9615          getValue: getValueForForm,
9616          name: name16 ?? registration.name,
9617          controlRef: registration.controlRef,
9618          validityData: getCombinedFieldValidityData(validityData, invalid2),
9619          validate
9620        });
9621      }, [formRef, getValueForForm, invalid2, name16, setRegisteredFieldName, validate, validityData]);
9622      useIsoLayoutEffect(() => {
9623        const fields = formRef.current.fields;
9624        return () => {
9625          const id = registrationRef.current?.id;
9626          if (id) {
9627            fields.delete(id);
9628          }
9629        };
9630      }, [formRef]);
9631      const register2 = useStableCallback((source, registration) => {
9632        if (!registration) {
9633          if (activeFieldControlSourceRef.current === source) {
9634            activeFieldControlSourceRef.current = null;
9635            change(void 0, true);
9636            deleteRegistration();
9637            registrationRef.current = null;
9638            setRegisteredFieldName(void 0);
9639            registeredFieldIdRef.current = void 0;
9640          }
9641          return;
9642        }
9643        const previousId = registrationRef.current?.id;
9644        const previousSource = activeFieldControlSourceRef.current;
9645        if (previousSource && previousSource !== source) {
9646          change(void 0, true);
9647        }
9648        activeFieldControlSourceRef.current = source;
9649        registrationRef.current = registration;
9650        if (!name16) {
9651          setRegisteredFieldName(registration.name);
9652        }
9653        registeredFieldIdRef.current = registration.id;
9654        if (previousId && previousId !== registration.id) {
9655          deleteRegistration(previousId);
9656        }
9657        captureInitialValue(registration);
9658        refreshRegistration();
9659      });
9660      return [validate, register2];
9661    }
9662  
9663    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/FieldRoot.mjs
9664    var import_jsx_runtime31 = __toESM(require_jsx_runtime(), 1);
9665    var FieldRootInner = /* @__PURE__ */ React59.forwardRef(function FieldRootInner2(componentProps, forwardedRef) {
9666      const {
9667        errors,
9668        validationMode: formValidationMode,
9669        submitCountRef
9670      } = useFormContext();
9671      const {
9672        render,
9673        className,
9674        validate: validateProp,
9675        validationDebounceTime = 0,
9676        validationMode = formValidationMode,
9677        name: name16,
9678        disabled: disabledProp = false,
9679        invalid: invalidProp,
9680        dirty: dirtyProp,
9681        touched: touchedProp,
9682        actionsRef,
9683        style,
9684        ...elementProps
9685      } = componentProps;
9686      const disabledFieldset = useFieldsetRootContext(true)?.disabled;
9687      const validate = useStableCallback(validateProp || (() => null));
9688      const disabled2 = disabledFieldset || disabledProp;
9689      const [touchedState, setTouchedUnwrapped] = React59.useState(false);
9690      const [dirtyState, setDirtyUnwrapped] = React59.useState(false);
9691      const [filled, setFilled] = React59.useState(false);
9692      const [focused, setFocused] = React59.useState(false);
9693      const focusOwnerRef = React59.useRef(void 0);
9694      const dirty = dirtyProp ?? dirtyState;
9695      const touched = touchedProp ?? touchedState;
9696      const markedDirtyRef = React59.useRef(dirty);
9697      const registeredFieldIdRef = React59.useRef(void 0);
9698      const [registeredFieldName, setRegisteredFieldName] = React59.useState();
9699      const effectiveName = name16 ?? registeredFieldName;
9700      useIsoLayoutEffect(() => {
9701        if (dirtyProp !== void 0) {
9702          markedDirtyRef.current = dirtyProp;
9703        }
9704      }, [dirtyProp]);
9705      const setDirty = useStableCallback((value) => {
9706        if (dirtyProp !== void 0) {
9707          return;
9708        }
9709        if (value) {
9710          markedDirtyRef.current = true;
9711        }
9712        setDirtyUnwrapped(value);
9713      });
9714      const setTouched = useStableCallback((value) => {
9715        if (touchedProp !== void 0) {
9716          return;
9717        }
9718        setTouchedUnwrapped(value);
9719      });
9720      const shouldValidateOnChange = useStableCallback(() => validationMode === "onChange" || validationMode === "onSubmit" && submitCountRef.current > 0);
9721      const formError = effectiveName && Object.hasOwn(errors, effectiveName) ? errors[effectiveName] : null;
9722      const hasFormError = !!(Array.isArray(formError) ? formError.length : formError);
9723      const invalid2 = invalidProp === true || hasFormError;
9724      const [validityData, setValidityData] = React59.useState({
9725        state: DEFAULT_VALIDITY_STATE,
9726        error: "",
9727        errors: [],
9728        value: null,
9729        initialValue: null
9730      });
9731      const valid2 = !invalid2 && (disabled2 ? null : validityData.state.valid);
9732      const state = React59.useMemo(() => ({
9733        disabled: disabled2,
9734        touched,
9735        dirty,
9736        valid: valid2,
9737        filled,
9738        focused
9739      }), [disabled2, touched, dirty, valid2, filled, focused]);
9740      const validation = useFieldValidation({
9741        setValidityData,
9742        validate,
9743        validityData,
9744        validationDebounceTime,
9745        invalid: invalid2,
9746        markedDirtyRef,
9747        state,
9748        shouldValidateOnChange,
9749        validationMode,
9750        registeredFieldIdRef
9751      });
9752      const [validateFieldControl, registerFieldControl] = useFieldControlRegistration({
9753        change: validation.change,
9754        commit: validation.commit,
9755        invalid: invalid2,
9756        markedDirtyRef,
9757        name: name16,
9758        setRegisteredFieldName,
9759        registeredFieldIdRef,
9760        setValidityData,
9761        validityData
9762      });
9763      React59.useImperativeHandle(actionsRef, () => ({
9764        validate: validateFieldControl
9765      }), [validateFieldControl]);
9766      const contextValue = React59.useMemo(() => ({
9767        invalid: invalid2,
9768        name: effectiveName,
9769        validityData,
9770        setValidityData,
9771        disabled: disabled2,
9772        setTouched,
9773        setDirty,
9774        setFilled,
9775        setFocused,
9776        focusOwnerRef,
9777        validationMode,
9778        shouldValidateOnChange,
9779        state,
9780        registerFieldControl,
9781        validation
9782      }), [invalid2, effectiveName, validityData, disabled2, setTouched, setDirty, setFilled, setFocused, validationMode, shouldValidateOnChange, state, registerFieldControl, validation]);
9783      const element = useRenderElement("div", componentProps, {
9784        ref: forwardedRef,
9785        state,
9786        props: elementProps,
9787        stateAttributesMapping: fieldValidityMapping
9788      });
9789      return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(FieldRootContext.Provider, {
9790        value: contextValue,
9791        children: element
9792      });
9793    });
9794    if (true) FieldRootInner.displayName = "FieldRootInner";
9795    var FieldRoot = /* @__PURE__ */ React59.forwardRef(function FieldRoot2(componentProps, forwardedRef) {
9796      return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(LabelableProvider, {
9797        children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(FieldRootInner, {
9798          ...componentProps,
9799          ref: forwardedRef
9800        })
9801      });
9802    });
9803    if (true) FieldRoot.displayName = "FieldRoot";
9804  
9805    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/label/FieldLabel.mjs
9806    var React60 = __toESM(require_react(), 1);
9807    var FieldLabel = /* @__PURE__ */ React60.forwardRef(function FieldLabel2(componentProps, forwardedRef) {
9808      const {
9809        render,
9810        className,
9811        style,
9812        id: idProp,
9813        nativeLabel = true,
9814        ...elementProps
9815      } = componentProps;
9816      const fieldRootContext = useFieldRootContext(false);
9817      const fieldItemContext = useFieldItemContext();
9818      const {
9819        labelId
9820      } = useLabelableContext();
9821      const state = {
9822        ...fieldRootContext.state,
9823        disabled: fieldRootContext.disabled || fieldItemContext.disabled
9824      };
9825      const labelRef = React60.useRef(null);
9826      const labelProps = useLabel({
9827        id: labelId ?? idProp,
9828        native: nativeLabel
9829      });
9830      if (true) {
9831        React60.useEffect(() => {
9832          if (!labelRef.current) {
9833            return;
9834          }
9835          const isLabelTag = labelRef.current.tagName === "LABEL";
9836          if (nativeLabel) {
9837            if (!isLabelTag) {
9838              const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
9839              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`.";
9840              error(`$message}$ownerStackMessage}`);
9841            }
9842          } else if (isLabelTag) {
9843            const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
9844            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`.";
9845            error(`$message}$ownerStackMessage}`);
9846          }
9847        }, [nativeLabel]);
9848      }
9849      const element = useRenderElement("label", componentProps, {
9850        ref: [forwardedRef, labelRef],
9851        state,
9852        props: [labelProps, elementProps],
9853        stateAttributesMapping: fieldValidityMapping
9854      });
9855      return element;
9856    });
9857    if (true) FieldLabel.displayName = "FieldLabel";
9858  
9859    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/error/FieldError.mjs
9860    var React61 = __toESM(require_react(), 1);
9861    var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1);
9862    var stateAttributesMapping = {
9863      ...fieldValidityMapping,
9864      ...transitionStatusMapping
9865    };
9866    var FieldError = /* @__PURE__ */ React61.forwardRef(function FieldError2(componentProps, forwardedRef) {
9867      const {
9868        render,
9869        id: idProp,
9870        className,
9871        match,
9872        style,
9873        ...elementProps
9874      } = componentProps;
9875      const id = useBaseUiId(idProp);
9876      const {
9877        validityData,
9878        state: fieldState,
9879        name: name16
9880      } = useFieldRootContext(false);
9881      const {
9882        setMessageIds
9883      } = useLabelableContext();
9884      const {
9885        errors
9886      } = useFormContext();
9887      const formError = name16 && Object.hasOwn(errors, name16) ? errors[name16] : null;
9888      const hasFormError = !!(Array.isArray(formError) ? formError.length : formError);
9889      const hasSpecificMatch = typeof match === "string";
9890      let rendered = false;
9891      if (match === true) {
9892        rendered = true;
9893      } else if (fieldState.disabled) {
9894        rendered = false;
9895      } else if (hasSpecificMatch) {
9896        rendered = Boolean(validityData.state[match]);
9897      } else {
9898        rendered = hasFormError || validityData.state.valid === false;
9899      }
9900      const {
9901        mounted,
9902        transitionStatus,
9903        setMounted
9904      } = useTransitionStatus(rendered);
9905      useIsoLayoutEffect(() => {
9906        if (!rendered || !id) {
9907          return void 0;
9908        }
9909        setMessageIds((v) => v.concat(id));
9910        return () => {
9911          setMessageIds((v) => v.filter((item) => item !== id));
9912        };
9913      }, [rendered, id, setMessageIds]);
9914      const errorRef = React61.useRef(null);
9915      const [lastRenderedMessage, setLastRenderedMessage] = React61.useState(null);
9916      const [lastRenderedMessageKey, setLastRenderedMessageKey] = React61.useState(null);
9917      let error2 = validityData.error;
9918      if (!hasSpecificMatch && hasFormError) {
9919        error2 = formError;
9920      } else if (validityData.errors.length > 1) {
9921        error2 = validityData.errors;
9922      }
9923      let errorMessage = error2;
9924      if (Array.isArray(error2)) {
9925        errorMessage = error2.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("ul", {
9926          children: error2.map((message) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("li", {
9927            children: message
9928          }, message))
9929        }) : error2[0];
9930      }
9931      const errorKey = Array.isArray(error2) ? JSON.stringify(error2) : error2;
9932      if (rendered && errorKey !== lastRenderedMessageKey) {
9933        setLastRenderedMessageKey(errorKey);
9934        setLastRenderedMessage(errorMessage);
9935      }
9936      useOpenChangeComplete({
9937        open: rendered,
9938        ref: errorRef,
9939        onComplete() {
9940          if (!rendered) {
9941            setMounted(false);
9942          }
9943        }
9944      });
9945      const state = {
9946        ...fieldState,
9947        transitionStatus
9948      };
9949      const element = useRenderElement("div", componentProps, {
9950        ref: [forwardedRef, errorRef],
9951        state,
9952        props: [{
9953          id,
9954          children: rendered ? errorMessage : lastRenderedMessage
9955        }, elementProps],
9956        stateAttributesMapping,
9957        enabled: mounted
9958      });
9959      if (!mounted) {
9960        return null;
9961      }
9962      return element;
9963    });
9964    if (true) FieldError.displayName = "FieldError";
9965  
9966    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/description/FieldDescription.mjs
9967    var React62 = __toESM(require_react(), 1);
9968    var FieldDescription = /* @__PURE__ */ React62.forwardRef(function FieldDescription2(componentProps, forwardedRef) {
9969      const {
9970        render,
9971        id: idProp,
9972        className,
9973        style,
9974        ...elementProps
9975      } = componentProps;
9976      const id = useBaseUiId(idProp);
9977      const fieldRootContext = useFieldRootContext(false);
9978      const fieldItemContext = useFieldItemContext();
9979      const {
9980        setMessageIds
9981      } = useLabelableContext();
9982      const state = {
9983        ...fieldRootContext.state,
9984        disabled: fieldRootContext.disabled || fieldItemContext.disabled
9985      };
9986      useIsoLayoutEffect(() => {
9987        if (!id) {
9988          return void 0;
9989        }
9990        setMessageIds((v) => v.concat(id));
9991        return () => {
9992          setMessageIds((v) => v.filter((item) => item !== id));
9993        };
9994      }, [id, setMessageIds]);
9995      const element = useRenderElement("p", componentProps, {
9996        ref: forwardedRef,
9997        state,
9998        props: [{
9999          id
10000        }, elementProps],
10001        stateAttributesMapping: fieldValidityMapping
10002      });
10003      return element;
10004    });
10005    if (true) FieldDescription.displayName = "FieldDescription";
10006  
10007    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/control/FieldControl.mjs
10008    var React63 = __toESM(require_react(), 1);
10009    var FieldControl = /* @__PURE__ */ React63.forwardRef(function FieldControl2(componentProps, forwardedRef) {
10010      const {
10011        render,
10012        className,
10013        id: idProp,
10014        name: nameProp,
10015        value,
10016        disabled: disabledProp = false,
10017        onValueChange,
10018        defaultValue,
10019        autoFocus = false,
10020        style,
10021        ...elementProps
10022      } = componentProps;
10023      const {
10024        state: fieldState,
10025        name: fieldName,
10026        disabled: fieldDisabled,
10027        setTouched,
10028        setDirty,
10029        validityData,
10030        setFilled,
10031        validationMode,
10032        validation
10033      } = useFieldRootContext();
10034      const {
10035        clearErrors,
10036        elementRef: formElementRef,
10037        submitCountRef
10038      } = useFormContext();
10039      const disabled2 = fieldDisabled || disabledProp;
10040      const name16 = fieldName ?? nameProp;
10041      const state = {
10042        ...fieldState,
10043        disabled: disabled2
10044      };
10045      const {
10046        labelId
10047      } = useLabelableContext();
10048      const id = useLabelableId({
10049        id: idProp
10050      });
10051      const isControlled = value !== void 0;
10052      const serializedValue = value == null ? void 0 : String(value);
10053      const getValueFromInput = useStableCallback(() => validation.inputRef.current?.value);
10054      useRegisterFieldControl(validation.inputRef, id, serializedValue, getValueFromInput, !disabled2, nameProp);
10055      useIsoLayoutEffect(() => {
10056        const currentValue = serializedValue ?? validation.inputRef.current?.value;
10057        if (currentValue !== void 0) {
10058          setFilled(currentValue !== "");
10059        }
10060      }, [serializedValue, defaultValue, validation.inputRef, setFilled]);
10061      useValueChanged(serializedValue, () => {
10062        if (serializedValue === void 0) {
10063          return;
10064        }
10065        clearErrors(name16);
10066        setDirty(serializedValue !== (validityData.initialValue ?? ""));
10067        validation.change(serializedValue);
10068      });
10069      const inputRef = React63.useRef(null);
10070      const setFocused = useSetFieldFocused(disabled2, inputRef);
10071      const enterValidationTimeout = useTimeout();
10072      const element = useRenderElement("input", componentProps, {
10073        ref: [forwardedRef, inputRef],
10074        state,
10075        props: [{
10076          id,
10077          disabled: disabled2,
10078          name: name16,
10079          ref: validation.inputRef,
10080          "aria-labelledby": labelId,
10081          autoFocus,
10082          ...isControlled ? {
10083            value
10084          } : {
10085            defaultValue
10086          },
10087          onChange(event) {
10088            const inputValue = event.currentTarget.value;
10089            const details = createChangeEventDetails(reason_parts_exports.none, event.nativeEvent);
10090            onValueChange?.(inputValue, details);
10091            if (isControlled) {
10092              return;
10093            }
10094            setDirty(inputValue !== (validityData.initialValue ?? ""));
10095            setFilled(inputValue !== "");
10096            if (!event.nativeEvent.defaultPrevented && !details.isCanceled) {
10097              clearErrors(name16);
10098              validation.change(inputValue);
10099            }
10100          },
10101          onFocus() {
10102            setFocused(true);
10103          },
10104          onBlur(event) {
10105            setTouched(true);
10106            setFocused(false);
10107            if (validationMode === "onBlur") {
10108              const inputValue = event.currentTarget.value;
10109              validation.commit(inputValue);
10110              if (isControlled) {
10111                queueMicrotask(() => {
10112                  const nextValue = validation.inputRef.current?.value;
10113                  if (nextValue !== void 0 && nextValue !== inputValue && nextValue !== (validityData.initialValue ?? "")) {
10114                    validation.commit(nextValue);
10115                  }
10116                });
10117              }
10118            }
10119          },
10120          onKeyDown(event) {
10121            if (event.currentTarget.tagName === "INPUT" && event.key === "Enter") {
10122              setTouched(true);
10123              const value2 = event.currentTarget.value;
10124              const form = event.currentTarget.form;
10125              if (form && form === formElementRef.current && !event.defaultPrevented) {
10126                const input = event.currentTarget;
10127                const submitCount = submitCountRef.current;
10128                enterValidationTimeout.start(0, () => {
10129                  if (submitCountRef.current === submitCount) {
10130                    validation.commit(input.value);
10131                  }
10132                });
10133              } else {
10134                validation.commit(value2);
10135              }
10136            }
10137          }
10138        }, elementProps, (props) => validation.getValidationProps(disabled2, props)],
10139        stateAttributesMapping: fieldValidityMapping
10140      });
10141      return element;
10142    });
10143    if (true) FieldControl.displayName = "FieldControl";
10144  
10145    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/validity/FieldValidity.mjs
10146    var React64 = __toESM(require_react(), 1);
10147    var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1);
10148    var FieldValidity = function FieldValidity2(props) {
10149      const {
10150        children
10151      } = props;
10152      const {
10153        validityData,
10154        invalid: invalid2
10155      } = useFieldRootContext(false);
10156      const combinedFieldValidityData = React64.useMemo(() => getCombinedFieldValidityData(validityData, invalid2), [validityData, invalid2]);
10157      const isInvalid = combinedFieldValidityData.state.valid === false;
10158      const {
10159        transitionStatus
10160      } = useTransitionStatus(isInvalid);
10161      const fieldValidityState = React64.useMemo(() => {
10162        return {
10163          ...combinedFieldValidityData,
10164          validity: combinedFieldValidityData.state,
10165          transitionStatus
10166        };
10167      }, [combinedFieldValidityData, transitionStatus]);
10168      return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(React64.Fragment, {
10169        children: children(fieldValidityState)
10170      });
10171    };
10172    if (true) FieldValidity.displayName = "FieldValidity";
10173  
10174    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/item/FieldItem.mjs
10175    var React65 = __toESM(require_react(), 1);
10176    var import_jsx_runtime34 = __toESM(require_jsx_runtime(), 1);
10177    var FieldItem = /* @__PURE__ */ React65.forwardRef(function FieldItem2(componentProps, forwardedRef) {
10178      const {
10179        render,
10180        className,
10181        style,
10182        disabled: disabledProp = false,
10183        ...elementProps
10184      } = componentProps;
10185      const {
10186        state: fieldState,
10187        disabled: rootDisabled
10188      } = useFieldRootContext(false);
10189      const disabled2 = rootDisabled || disabledProp;
10190      const state = {
10191        ...fieldState,
10192        disabled: disabled2
10193      };
10194      const fieldItemContext = React65.useMemo(() => ({
10195        disabled: disabled2
10196      }), [disabled2]);
10197      const element = useRenderElement("div", componentProps, {
10198        ref: forwardedRef,
10199        state,
10200        props: elementProps,
10201        stateAttributesMapping: fieldValidityMapping
10202      });
10203      return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(LabelableProvider, {
10204        children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(FieldItemContext.Provider, {
10205          value: fieldItemContext,
10206          children: element
10207        })
10208      });
10209    });
10210    if (true) FieldItem.displayName = "FieldItem";
10211  
10212    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/input/Input.mjs
10213    var React66 = __toESM(require_react(), 1);
10214    var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1);
10215    var Input = /* @__PURE__ */ React66.forwardRef(function Input2(props, forwardedRef) {
10216      return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(index_parts_exports.Control, {
10217        ref: forwardedRef,
10218        ...props
10219      });
10220    });
10221    if (true) Input.displayName = "Input";
10222  
10223    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/root/CompositeRoot.mjs
10224    var React68 = __toESM(require_react(), 1);
10225  
10226    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/root/useCompositeRoot.mjs
10227    var React67 = __toESM(require_react(), 1);
10228  
10229    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/constants.mjs
10230    var ACTIVE_COMPOSITE_ITEM = "data-composite-item-active";
10231  
10232    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/root/useCompositeRoot.mjs
10233    function useCompositeRoot(params) {
10234      const {
10235        loopFocus = true,
10236        orientation = "both",
10237        grid,
10238        onLoop,
10239        direction,
10240        highlightedIndex: externalHighlightedIndex,
10241        onHighlightedIndexChange: externalSetHighlightedIndex,
10242        rootRef: externalRef,
10243        enableHomeAndEndKeys = false,
10244        stopEventPropagation,
10245        disabledIndices,
10246        modifierKeys = EMPTY_ARRAY
10247      } = params;
10248      const [internalHighlightedIndex, internalSetHighlightedIndex] = React67.useState(0);
10249      const isGrid = grid != null;
10250      const rootRef = React67.useRef(null);
10251      const mergedRef = useMergedRefs(rootRef, externalRef);
10252      const elementsRef = React67.useRef([]);
10253      const hasSetDefaultIndexRef = React67.useRef(false);
10254      const highlightedElementRef = React67.useRef(null);
10255      const highlightedIndex = externalHighlightedIndex ?? internalHighlightedIndex;
10256      const onHighlightedIndexChange = useStableCallback((index3, shouldScrollIntoView = false) => {
10257        highlightedElementRef.current = elementsRef.current[index3] ?? null;
10258        (externalSetHighlightedIndex ?? internalSetHighlightedIndex)(index3);
10259        if (shouldScrollIntoView) {
10260          const newActiveItem = elementsRef.current[index3];
10261          scrollIntoViewIfNeeded(rootRef.current, newActiveItem, direction, orientation);
10262        }
10263      });
10264      const onMapChange = useStableCallback((map) => {
10265        if (map.size === 0) {
10266          return;
10267        }
10268        if (hasSetDefaultIndexRef.current) {
10269          const elements = elementsRef.current;
10270          const nextIndex = elements.indexOf(highlightedElementRef.current);
10271          if (nextIndex === -1) {
10272            const replacement = elements[highlightedIndex];
10273            if (!replacement || isListIndexDisabled(elements, highlightedIndex, disabledIndices)) {
10274              onHighlightedIndexChange(getFallbackIndex(elements, disabledIndices));
10275            } else {
10276              highlightedElementRef.current = replacement;
10277            }
10278          } else if (nextIndex !== highlightedIndex) {
10279            onHighlightedIndexChange(nextIndex);
10280          }
10281          return;
10282        }
10283        hasSetDefaultIndexRef.current = true;
10284        const sortedElements = Array.from(map.keys());
10285        const activeItem = sortedElements.find((compositeElement) => compositeElement?.hasAttribute(ACTIVE_COMPOSITE_ITEM)) ?? null;
10286        const activeIndex = activeItem ? map.get(activeItem)?.index ?? -1 : -1;
10287        if (activeIndex !== -1) {
10288          onHighlightedIndexChange(activeIndex);
10289        } else if (isListIndexDisabled(sortedElements, highlightedIndex, disabledIndices)) {
10290          const firstEnabledIndex = findNonDisabledListIndex(sortedElements, {
10291            disabledIndices
10292          });
10293          if (!isIndexOutOfListBounds(sortedElements, firstEnabledIndex)) {
10294            onHighlightedIndexChange(firstEnabledIndex);
10295          }
10296        }
10297        scrollIntoViewIfNeeded(rootRef.current, activeItem, direction, orientation);
10298      });
10299      useIsoLayoutEffect(() => {
10300        if (disabledIndices == null || externalHighlightedIndex != null || !hasSetDefaultIndexRef.current) {
10301          return;
10302        }
10303        const elements = elementsRef.current;
10304        if (isListIndexDisabled(elements, highlightedIndex, disabledIndices)) {
10305          const firstEnabledIndex = findNonDisabledListIndex(elements, {
10306            disabledIndices
10307          });
10308          if (!isIndexOutOfListBounds(elements, firstEnabledIndex)) {
10309            onHighlightedIndexChange(firstEnabledIndex);
10310          }
10311        }
10312      }, [disabledIndices, externalHighlightedIndex, highlightedIndex, elementsRef, onHighlightedIndexChange]);
10313      const wrappedOnLoop = useStableCallback((event, prevIndex, nextIndex) => {
10314        if (!onLoop) {
10315          return nextIndex;
10316        }
10317        return onLoop(event, prevIndex, nextIndex, elementsRef);
10318      });
10319      const onKeyDown = useStableCallback((event) => {
10320        const isHomeOrEnd = event.key === HOME || event.key === END;
10321        if (!COMPOSITE_KEYS.has(event.key) || !enableHomeAndEndKeys && isHomeOrEnd) {
10322          return;
10323        }
10324        if (isModifierKeySet(event, modifierKeys)) {
10325          return;
10326        }
10327        const element = rootRef.current;
10328        if (!element) {
10329          return;
10330        }
10331        const isRtl = direction === "rtl";
10332        const horizontalForwardKey = isRtl ? ARROW_LEFT2 : ARROW_RIGHT2;
10333        const horizontalBackwardKey = isRtl ? ARROW_RIGHT2 : ARROW_LEFT2;
10334        const forwardKey = orientation === "vertical" ? ARROW_DOWN2 : horizontalForwardKey;
10335        const backwardKey = orientation === "vertical" ? ARROW_UP2 : horizontalBackwardKey;
10336        const target = getTarget(event.nativeEvent);
10337        if (target != null && isNativeInput(target) && !isElementDisabled(target)) {
10338          const selectionStart = target.selectionStart;
10339          const selectionEnd = target.selectionEnd;
10340          const textContent = target.value;
10341          if (selectionStart == null || event.shiftKey || selectionStart !== selectionEnd) {
10342            return;
10343          }
10344          if (event.key !== backwardKey && selectionStart < textContent.length) {
10345            return;
10346          }
10347          if (event.key !== forwardKey && selectionStart > 0) {
10348            return;
10349          }
10350        }
10351        let nextIndex = highlightedIndex;
10352        const minIndex = getMinListIndex(elementsRef, disabledIndices);
10353        const maxIndex = getMaxListIndex(elementsRef, disabledIndices);
10354        if (grid != null) {
10355          nextIndex = grid({
10356            disabledIndices,
10357            elementsRef,
10358            event,
10359            highlightedIndex,
10360            loopFocus,
10361            maxIndex,
10362            minIndex,
10363            onLoop: wrappedOnLoop,
10364            orientation,
10365            rtl: isRtl
10366          });
10367        }
10368        const isForwardKey = orientation !== "vertical" && event.key === horizontalForwardKey || orientation !== "horizontal" && event.key === ARROW_DOWN2;
10369        const isBackwardKey = orientation !== "vertical" && event.key === horizontalBackwardKey || orientation !== "horizontal" && event.key === ARROW_UP2;
10370        if (enableHomeAndEndKeys) {
10371          if (event.key === HOME) {
10372            nextIndex = minIndex;
10373          } else if (event.key === END) {
10374            nextIndex = maxIndex;
10375          }
10376        }
10377        if (nextIndex === highlightedIndex && (isForwardKey || isBackwardKey)) {
10378          if (loopFocus && nextIndex === maxIndex && isForwardKey) {
10379            nextIndex = minIndex;
10380            if (onLoop) {
10381              nextIndex = onLoop(event, highlightedIndex, nextIndex, elementsRef);
10382            }
10383          } else if (loopFocus && nextIndex === minIndex && isBackwardKey) {
10384            nextIndex = maxIndex;
10385            if (onLoop) {
10386              nextIndex = onLoop(event, highlightedIndex, nextIndex, elementsRef);
10387            }
10388          } else {
10389            nextIndex = findNonDisabledListIndex(elementsRef.current, {
10390              startingIndex: nextIndex,
10391              decrement: isBackwardKey,
10392              disabledIndices
10393            });
10394          }
10395        }
10396        if (nextIndex !== highlightedIndex && !isIndexOutOfListBounds(elementsRef.current, nextIndex)) {
10397          if (stopEventPropagation) {
10398            event.stopPropagation();
10399          }
10400          if (isGrid || isHomeOrEnd || isForwardKey || isBackwardKey) {
10401            event.preventDefault();
10402          }
10403          onHighlightedIndexChange(nextIndex, true);
10404          queueMicrotask(() => {
10405            elementsRef.current[nextIndex]?.focus();
10406          });
10407        }
10408      });
10409      const props = {
10410        ref: mergedRef,
10411        onFocus(event) {
10412          const element = rootRef.current;
10413          const target = getTarget(event.nativeEvent);
10414          if (!element || target == null || !isNativeInput(target)) {
10415            return;
10416          }
10417          target.setSelectionRange(0, target.value.length);
10418        },
10419        onKeyDown
10420      };
10421      return {
10422        props,
10423        highlightedIndex,
10424        onHighlightedIndexChange,
10425        elementsRef,
10426        onMapChange,
10427        relayKeyboardEvent: onKeyDown
10428      };
10429    }
10430    function getFallbackIndex(elements, disabledIndices) {
10431      let fallbackIndex = -1;
10432      for (let index3 = 0; index3 < elements.length; index3 += 1) {
10433        const element = elements[index3];
10434        if (!element || isListIndexDisabled(elements, index3, disabledIndices)) {
10435          continue;
10436        }
10437        if (element.hasAttribute(ACTIVE_COMPOSITE_ITEM)) {
10438          return index3;
10439        }
10440        if (fallbackIndex === -1) {
10441          fallbackIndex = index3;
10442        }
10443      }
10444      return Math.max(fallbackIndex, 0);
10445    }
10446    function isModifierKeySet(event, ignoredModifierKeys) {
10447      for (const key of MODIFIER_KEYS) {
10448        if (ignoredModifierKeys.includes(key)) {
10449          continue;
10450        }
10451        if (event.getModifierState(key)) {
10452          return true;
10453        }
10454      }
10455      return false;
10456    }
10457  
10458    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/root/CompositeRoot.mjs
10459    var import_jsx_runtime36 = __toESM(require_jsx_runtime(), 1);
10460    function CompositeRoot(componentProps) {
10461      const {
10462        render,
10463        className,
10464        style,
10465        refs = EMPTY_ARRAY,
10466        props = EMPTY_ARRAY,
10467        state = EMPTY_OBJECT,
10468        stateAttributesMapping: stateAttributesMapping8,
10469        highlightedIndex: highlightedIndexProp,
10470        onHighlightedIndexChange: onHighlightedIndexChangeProp,
10471        orientation,
10472        grid,
10473        loopFocus,
10474        onLoop,
10475        enableHomeAndEndKeys,
10476        onMapChange: onMapChangeProp,
10477        stopEventPropagation = true,
10478        rootRef,
10479        disabledIndices,
10480        modifierKeys,
10481        highlightItemOnHover = false,
10482        tag = "div",
10483        ...elementProps
10484      } = componentProps;
10485      const direction = useDirection();
10486      const {
10487        props: defaultProps,
10488        highlightedIndex,
10489        onHighlightedIndexChange,
10490        elementsRef,
10491        onMapChange: onMapChangeUnwrapped,
10492        relayKeyboardEvent
10493      } = useCompositeRoot({
10494        grid,
10495        loopFocus,
10496        onLoop,
10497        orientation,
10498        highlightedIndex: highlightedIndexProp,
10499        onHighlightedIndexChange: onHighlightedIndexChangeProp,
10500        rootRef,
10501        stopEventPropagation,
10502        enableHomeAndEndKeys,
10503        direction,
10504        disabledIndices,
10505        modifierKeys
10506      });
10507      const element = useRenderElement(tag, componentProps, {
10508        state,
10509        ref: refs,
10510        props: [defaultProps, ...props, elementProps],
10511        stateAttributesMapping: stateAttributesMapping8
10512      });
10513      const contextValue = React68.useMemo(() => ({
10514        highlightedIndex,
10515        onHighlightedIndexChange,
10516        highlightItemOnHover,
10517        relayKeyboardEvent
10518      }), [highlightedIndex, onHighlightedIndexChange, highlightItemOnHover, relayKeyboardEvent]);
10519      return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CompositeRootContext.Provider, {
10520        value: contextValue,
10521        children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CompositeList, {
10522          elementsRef,
10523          onMapChange: (newMap) => {
10524            onMapChangeProp?.(newMap);
10525            onMapChangeUnwrapped(newMap);
10526          },
10527          children: element
10528        })
10529      });
10530    }
10531  
10532    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/styles.mjs
10533    var import_jsx_runtime37 = __toESM(require_jsx_runtime(), 1);
10534    var DISABLE_SCROLLBAR_CLASS_NAME = "base-ui-disable-scrollbar";
10535    var styleDisableScrollbar = {
10536      className: DISABLE_SCROLLBAR_CLASS_NAME,
10537      getElement(nonce) {
10538        return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("style", {
10539          nonce,
10540          href: DISABLE_SCROLLBAR_CLASS_NAME,
10541          precedence: "base-ui:low",
10542          children: `.$DISABLE_SCROLLBAR_CLASS_NAME}{scrollbar-width:none}.$DISABLE_SCROLLBAR_CLASS_NAME}::-webkit-scrollbar{display:none}`
10543        });
10544      }
10545    };
10546    if (true) styleDisableScrollbar.getElement.displayName = "styleDisableScrollbar.getElement";
10547  
10548    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/scrollEdges.mjs
10549    var SCROLL_EDGE_TOLERANCE_PX = 1;
10550    function getMaxScrollOffset(scrollSize, clientSize) {
10551      return Math.max(0, scrollSize - clientSize);
10552    }
10553    function normalizeScrollOffset(value, max2) {
10554      if (max2 <= 0) {
10555        return 0;
10556      }
10557      const clamped = clamp2(value, 0, max2);
10558      const startDistance = clamped;
10559      const endDistance = max2 - clamped;
10560      const withinStartTolerance = startDistance <= SCROLL_EDGE_TOLERANCE_PX;
10561      const withinEndTolerance = endDistance <= SCROLL_EDGE_TOLERANCE_PX;
10562      if (withinStartTolerance && withinEndTolerance) {
10563        return startDistance <= endDistance ? 0 : max2;
10564      }
10565      if (withinStartTolerance) {
10566        return 0;
10567      }
10568      if (withinEndTolerance) {
10569        return max2;
10570      }
10571      return clamped;
10572    }
10573  
10574    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/index.parts.mjs
10575    var index_parts_exports2 = {};
10576    __export(index_parts_exports2, {
10577      Arrow: () => SelectArrow,
10578      Backdrop: () => SelectBackdrop,
10579      Group: () => SelectGroup,
10580      GroupLabel: () => SelectGroupLabel,
10581      Icon: () => SelectIcon,
10582      Item: () => SelectItem,
10583      ItemIndicator: () => SelectItemIndicator,
10584      ItemText: () => SelectItemText,
10585      Label: () => SelectLabel,
10586      List: () => SelectList,
10587      Popup: () => SelectPopup,
10588      Portal: () => SelectPortal,
10589      Positioner: () => SelectPositioner,
10590      Root: () => SelectRoot,
10591      ScrollDownArrow: () => SelectScrollDownArrow,
10592      ScrollUpArrow: () => SelectScrollUpArrow,
10593      Separator: () => SelectSeparator,
10594      Trigger: () => SelectTrigger,
10595      Value: () => SelectValue
10596    });
10597  
10598    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/root/SelectRoot.mjs
10599    var React70 = __toESM(require_react(), 1);
10600  
10601    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/root/SelectRootContext.mjs
10602    var React69 = __toESM(require_react(), 1);
10603    var SelectRootContext = /* @__PURE__ */ React69.createContext(void 0);
10604    if (true) SelectRootContext.displayName = "SelectRootContext";
10605    var SelectFloatingContext = /* @__PURE__ */ React69.createContext(void 0);
10606    if (true) SelectFloatingContext.displayName = "SelectFloatingContext";
10607    function useSelectRootContext() {
10608      const store = React69.useContext(SelectRootContext);
10609      if (store === void 0) {
10610        throw new Error(true ? "Base UI: SelectRootContext is missing. Select parts must be placed within <Select.Root>." : formatErrorMessage_default(60));
10611      }
10612      return store;
10613    }
10614    function useSelectFloatingContext() {
10615      const context = React69.useContext(SelectFloatingContext);
10616      if (context === void 0) {
10617        throw new Error(true ? "Base UI: SelectFloatingContext is missing. Select parts must be placed within <Select.Root>." : formatErrorMessage_default(61));
10618      }
10619      return context;
10620    }
10621  
10622    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/store.mjs
10623    var selectors2 = {
10624      id: (state) => state.id,
10625      labelId: (state) => state.labelId,
10626      modal: (state) => state.modal,
10627      multiple: (state) => state.multiple,
10628      disabled: (state) => state.disabled,
10629      readOnly: (state) => state.readOnly,
10630      required: (state) => state.required,
10631      highlightItemOnHover: (state) => state.highlightItemOnHover,
10632      items: (state) => state.items,
10633      itemToStringLabel: (state) => state.itemToStringLabel,
10634      isItemEqualToValue: (state) => state.isItemEqualToValue,
10635      value: (state) => state.value,
10636      hasSelectedValue: (state) => {
10637        const {
10638          value,
10639          multiple,
10640          itemToStringValue
10641        } = state;
10642        if (value == null) {
10643          return false;
10644        }
10645        if (multiple && Array.isArray(value)) {
10646          return value.length > 0;
10647        }
10648        return stringifyAsValue(value, itemToStringValue) !== "";
10649      },
10650      hasNullItemLabel: (state, enabled) => {
10651        return enabled ? hasNullItemLabel(state.items) : false;
10652      },
10653      open: (state) => state.open,
10654      mounted: (state) => state.mounted,
10655      forceMount: (state) => state.forceMount,
10656      transitionStatus: (state) => state.transitionStatus,
10657      openMethod: (state) => state.openMethod,
10658      activeIndex: (state) => state.activeIndex,
10659      selectedIndex: (state) => state.selectedIndex,
10660      isActive: (state, index3) => state.activeIndex === index3,
10661      isSelected: (state, itemValue) => {
10662        const comparer = state.isItemEqualToValue;
10663        const storeValue = state.value;
10664        if (state.multiple) {
10665          return Array.isArray(storeValue) && storeValue.some((selectedItem) => compareItemEquality(itemValue, selectedItem, comparer));
10666        }
10667        return compareItemEquality(itemValue, storeValue, comparer);
10668      },
10669      isSelectedByFocus: (state, index3) => {
10670        return state.selectedIndex === index3;
10671      },
10672      popupProps: (state) => state.popupProps,
10673      triggerProps: (state) => state.triggerProps,
10674      itemRoot: (state) => state.itemRoot,
10675      triggerElement: (state) => state.triggerElement,
10676      positionerElement: (state) => state.positionerElement,
10677      listElement: (state) => state.listElement,
10678      popupSide: (state) => state.popupSide,
10679      scrollUpArrowVisible: (state) => state.scrollUpArrowVisible,
10680      scrollDownArrowVisible: (state) => state.scrollDownArrowVisible,
10681      hasScrollArrows: (state) => state.hasScrollArrows
10682    };
10683  
10684    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/root/SelectRoot.mjs
10685    var import_jsx_runtime38 = __toESM(require_jsx_runtime(), 1);
10686    function SelectRoot(props) {
10687      const {
10688        id,
10689        value: valueProp,
10690        defaultValue = null,
10691        onValueChange,
10692        open: openProp,
10693        defaultOpen = false,
10694        onOpenChange,
10695        name: nameProp,
10696        form,
10697        autoComplete,
10698        disabled: disabledProp = false,
10699        readOnly = false,
10700        required = false,
10701        modal = true,
10702        actionsRef,
10703        inputRef,
10704        onOpenChangeComplete,
10705        items,
10706        multiple = false,
10707        itemToStringLabel,
10708        itemToStringValue,
10709        isItemEqualToValue = defaultItemEquality,
10710        highlightItemOnHover = true,
10711        children
10712      } = props;
10713      const {
10714        clearErrors
10715      } = useFormContext();
10716      const {
10717        setDirty,
10718        setTouched,
10719        setFocused,
10720        validityData,
10721        setFilled,
10722        name: fieldName,
10723        disabled: fieldDisabled,
10724        validation,
10725        validationMode
10726      } = useFieldRootContext();
10727      const generatedId = useLabelableId({
10728        id
10729      });
10730      const disabled2 = fieldDisabled || disabledProp;
10731      const name16 = fieldName ?? nameProp;
10732      const [value, setValueUnwrapped] = useControlled({
10733        controlled: valueProp,
10734        default: multiple ? defaultValue ?? EMPTY_ARRAY : defaultValue,
10735        name: "Select",
10736        state: "value"
10737      });
10738      const [open2, setOpenUnwrapped] = useControlled({
10739        controlled: openProp,
10740        default: defaultOpen,
10741        name: "Select",
10742        state: "open"
10743      });
10744      const listRef = React70.useRef([]);
10745      const labelsRef = React70.useRef([]);
10746      const popupRef = React70.useRef(null);
10747      const scrollHandlerRef = React70.useRef(null);
10748      const scrollArrowsMountedCountRef = React70.useRef(0);
10749      const valueRef = React70.useRef(null);
10750      const valuesRef = React70.useRef([]);
10751      const typingRef = React70.useRef(false);
10752      const firstItemTextRef = React70.useRef(null);
10753      const selectedItemTextRef = React70.useRef(null);
10754      const selectionRef = React70.useRef({
10755        allowSelectedMouseUp: false,
10756        allowUnselectedMouseUp: false,
10757        dragY: 0
10758      });
10759      const alignItemWithTriggerActiveRef = React70.useRef(false);
10760      const initialValueRef = React70.useRef(value);
10761      const {
10762        openMethod,
10763        triggerProps: interactionTypeProps
10764      } = useOpenInteractionType(open2);
10765      const store = useRefWithInit(() => new ReactStore({
10766        id: generatedId,
10767        labelId: void 0,
10768        modal,
10769        multiple,
10770        disabled: disabled2,
10771        readOnly,
10772        required,
10773        highlightItemOnHover,
10774        itemToStringLabel,
10775        itemToStringValue,
10776        isItemEqualToValue,
10777        value,
10778        open: open2,
10779        // Seeded with the initial values of `useUnmountAfterClose`, which is called after the
10780        // store because its unmount cleanup writes to it. `useSyncedValues` keeps them in sync.
10781        mounted: open2,
10782        transitionStatus: void 0,
10783        items,
10784        forceMount: false,
10785        openMethod: null,
10786        activeIndex: null,
10787        selectedIndex: null,
10788        popupProps: EMPTY_OBJECT,
10789        triggerProps: EMPTY_OBJECT,
10790        itemRoot: {
10791          props: EMPTY_OBJECT,
10792          multiple,
10793          disabled: disabled2,
10794          readOnly,
10795          isItemEqualToValue
10796        },
10797        triggerElement: null,
10798        positionerElement: null,
10799        listElement: null,
10800        popupSide: null,
10801        scrollUpArrowVisible: false,
10802        scrollDownArrowVisible: false,
10803        hasScrollArrows: false
10804      }, {
10805        setValue: NOOP,
10806        setOpen: NOOP,
10807        handleScrollArrowVisibility: NOOP,
10808        onOpenChangeComplete: NOOP,
10809        listRef,
10810        popupRef,
10811        scrollHandlerRef,
10812        scrollArrowsMountedCountRef,
10813        valueRef,
10814        valuesRef,
10815        labelsRef,
10816        typingRef,
10817        selectionRef,
10818        firstItemTextRef,
10819        selectedItemTextRef,
10820        alignItemWithTriggerActiveRef,
10821        initialValueRef
10822      }, selectors2)).current;
10823      const [preventUnmountOnClose, setPreventUnmountOnClose] = React70.useState(false);
10824      const {
10825        mounted,
10826        transitionStatus,
10827        forceUnmount: handleUnmount
10828      } = useUnmountAfterClose({
10829        open: open2,
10830        ref: popupRef,
10831        preventUnmountOnClose,
10832        setPreventUnmountOnClose,
10833        onUnmount() {
10834          store.update({
10835            activeIndex: null,
10836            openMethod: null,
10837            scrollUpArrowVisible: false,
10838            scrollDownArrowVisible: false
10839          });
10840          onOpenChangeComplete?.(false);
10841        }
10842      });
10843      const activeIndex = store.useState("activeIndex");
10844      const selectedIndex = store.useState("selectedIndex");
10845      const triggerElement = store.useState("triggerElement");
10846      const positionerElement = store.useState("positionerElement");
10847      const previousOpenMethod = usePreviousValue(openMethod);
10848      const renderedOpenMethod = openMethod ?? previousOpenMethod;
10849      const serializedValue = React70.useMemo(() => {
10850        if (multiple) {
10851          return "";
10852        }
10853        return stringifyAsValue(value, itemToStringValue);
10854      }, [multiple, value, itemToStringValue]);
10855      const fieldStringValue = React70.useMemo(() => {
10856        if (multiple && Array.isArray(value)) {
10857          return value.map((currentValue) => stringifyAsValue(currentValue, itemToStringValue));
10858        }
10859        return stringifyAsValue(value, itemToStringValue);
10860      }, [multiple, value, itemToStringValue]);
10861      const controlRef = useValueAsRef(triggerElement);
10862      const getStringifiedValueForForm = useStableCallback(() => fieldStringValue);
10863      useRegisterFieldControl(controlRef, generatedId, value, getStringifiedValueForForm, !disabled2, nameProp);
10864      const hasSelectedValue = multiple ? Array.isArray(value) && value.length > 0 : value != null && serializedValue !== "";
10865      useIsoLayoutEffect(() => {
10866        setFilled(hasSelectedValue);
10867      }, [hasSelectedValue, setFilled]);
10868      useIsoLayoutEffect(function syncSelectedIndex() {
10869        const nextIndex = findSelectionIndex(valuesRef.current, value, isItemEqualToValue, multiple);
10870        if (nextIndex === null) {
10871          selectedItemTextRef.current = null;
10872        }
10873        if (open2) {
10874          return;
10875        }
10876        store.set("selectedIndex", nextIndex);
10877      }, [multiple, open2, value, isItemEqualToValue, store]);
10878      useValueChanged(value, () => {
10879        clearErrors(name16);
10880        setDirty(isSelectedValueDirty(value, validityData.initialValue, isItemEqualToValue));
10881        validation.change(value);
10882      });
10883      const setOpen = useStableCallback((nextOpen, eventDetails) => {
10884        const openEventDetails = eventDetails;
10885        const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(openEventDetails);
10886        onOpenChange?.(nextOpen, openEventDetails);
10887        if (eventDetails.isCanceled) {
10888          return;
10889        }
10890        if (!nextOpen) {
10891          setPreventUnmountOnClose(shouldPreventUnmountOnClose());
10892        }
10893        setOpenUnwrapped(nextOpen);
10894        if (!nextOpen && (eventDetails.reason === reason_parts_exports.focusOut || eventDetails.reason === reason_parts_exports.outsidePress)) {
10895          setTouched(true);
10896          setFocused(false);
10897          if (validationMode === "onBlur") {
10898            validation.commit(value);
10899          }
10900        }
10901      });
10902      React70.useImperativeHandle(actionsRef, () => ({
10903        unmount: handleUnmount,
10904        close: () => {
10905          if (store.state.open) {
10906            setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction));
10907          }
10908        }
10909      }), [handleUnmount, setOpen, store]);
10910      const setValue = useStableCallback((nextValue, eventDetails) => {
10911        onValueChange?.(nextValue, eventDetails);
10912        if (eventDetails.isCanceled) {
10913          return;
10914        }
10915        setValueUnwrapped(nextValue);
10916      });
10917      const handleScrollArrowVisibility = useStableCallback((scroller) => {
10918        const maxScrollTop = getMaxScrollOffset(scroller.scrollHeight, scroller.clientHeight);
10919        const scrollTop = normalizeScrollOffset(scroller.scrollTop, maxScrollTop);
10920        const shouldShowUp = scrollTop > 0;
10921        const shouldShowDown = scrollTop < maxScrollTop;
10922        store.set("scrollUpArrowVisible", shouldShowUp);
10923        store.set("scrollDownArrowVisible", shouldShowDown);
10924      });
10925      const floatingContext = useFloatingRootContext({
10926        open: open2,
10927        onOpenChange: setOpen,
10928        elements: {
10929          reference: triggerElement,
10930          floating: positionerElement
10931        }
10932      });
10933      const click = useClick(floatingContext, {
10934        enabled: !disabled2,
10935        event: "mousedown"
10936      });
10937      const dismiss = useDismiss(floatingContext);
10938      const listNavigation2 = useListNavigation(floatingContext, {
10939        enabled: !disabled2,
10940        listRef,
10941        activeIndex,
10942        selectedIndex,
10943        disabledIndices: EMPTY_ARRAY,
10944        onNavigate(nextActiveIndex) {
10945          if (nextActiveIndex === null && !open2) {
10946            return;
10947          }
10948          store.set("activeIndex", nextActiveIndex);
10949        },
10950        focusItemOnHover: highlightItemOnHover
10951      });
10952      const typeahead = useTypeahead(floatingContext, {
10953        // Typeahead on an open popup only moves the highlight, so it remains available while
10954        // `readOnly`. The closed-trigger variant commits a value instead, so it doesn't.
10955        enabled: !disabled2 && (open2 || !readOnly && !multiple),
10956        listRef: labelsRef,
10957        activeIndex,
10958        selectedIndex,
10959        // Skip disabled items while matching so typeahead advances to the next selectable item
10960        // (a click can never select a disabled item and native `<select>` skips them too). Resolve
10961        // the disabled state from the element via the attribute-only `isElementDisabled` so the
10962        // hidden, force-mounted items used for closed-trigger typeahead aren't dropped by the
10963        // `elementsRef`/visibility filter that `disabledIndices` deliberately sidesteps.
10964        disabledIndices: (index3) => isElementDisabled(listRef.current[index3]),
10965        onMatch(index3) {
10966          if (open2) {
10967            store.set("activeIndex", index3);
10968          } else {
10969            setValue(valuesRef.current[index3], createChangeEventDetails(reason_parts_exports.none));
10970          }
10971        },
10972        onTyping(typing) {
10973          typingRef.current = typing;
10974        }
10975      });
10976      const mergedTriggerProps = React70.useMemo(() => mergeProps(typeahead.reference, listNavigation2.reference, dismiss.reference, click.reference, interactionTypeProps), [click.reference, typeahead.reference, listNavigation2.reference, dismiss.reference, interactionTypeProps]);
10977      const popupProps = React70.useMemo(() => mergeProps(FOCUSABLE_POPUP_PROPS, typeahead.floating, listNavigation2.floating, dismiss.floating), [typeahead.floating, listNavigation2.floating, dismiss.floating]);
10978      const itemProps = listNavigation2.item ?? EMPTY_OBJECT;
10979      const itemRoot = React70.useMemo(() => ({
10980        props: itemProps,
10981        multiple,
10982        disabled: disabled2,
10983        readOnly,
10984        isItemEqualToValue
10985      }), [itemProps, multiple, disabled2, readOnly, isItemEqualToValue]);
10986      store.useContextCallback("setValue", setValue);
10987      store.useContextCallback("setOpen", setOpen);
10988      store.useContextCallback("handleScrollArrowVisibility", handleScrollArrowVisibility);
10989      store.useContextCallback("onOpenChangeComplete", onOpenChangeComplete);
10990      useOnFirstRender(() => {
10991        store.update({
10992          popupProps,
10993          triggerProps: mergedTriggerProps,
10994          itemRoot
10995        });
10996      });
10997      store.useSyncedValues({
10998        id: generatedId,
10999        modal,
11000        multiple,
11001        disabled: disabled2,
11002        readOnly,
11003        required,
11004        highlightItemOnHover,
11005        value,
11006        open: open2,
11007        mounted,
11008        transitionStatus,
11009        popupProps,
11010        triggerProps: mergedTriggerProps,
11011        itemRoot,
11012        items,
11013        itemToStringLabel,
11014        itemToStringValue,
11015        isItemEqualToValue,
11016        openMethod: renderedOpenMethod
11017      });
11018      const ref = useMergedRefs(inputRef, validation.inputRef);
11019      const hiddenInputName = multiple ? void 0 : name16;
11020      const hiddenInputs = React70.useMemo(() => {
11021        if (!multiple || !Array.isArray(value) || !name16) {
11022          return null;
11023        }
11024        return value.map((v) => {
11025          const currentSerializedValue = stringifyAsValue(v, itemToStringValue);
11026          return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("input", {
11027            type: "hidden",
11028            form,
11029            name: name16,
11030            value: currentSerializedValue,
11031            disabled: disabled2
11032          }, currentSerializedValue);
11033        });
11034      }, [multiple, value, form, name16, itemToStringValue, disabled2]);
11035      return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(SelectRootContext.Provider, {
11036        value: store,
11037        children: [/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SelectFloatingContext.Provider, {
11038          value: floatingContext,
11039          children
11040        }), /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("input", {
11041          ...validation.getValidationProps(disabled2, {
11042            onFocus() {
11043              store.state.triggerElement?.focus({
11044                // Supported in Chrome from 144 (January 2026)
11045                focusVisible: true
11046              });
11047            },
11048            // Handle browser autofill.
11049            onChange(event) {
11050              if (event.nativeEvent.defaultPrevented || disabled2 || readOnly) {
11051                return;
11052              }
11053              const nextValue = event.currentTarget.value;
11054              const details = createChangeEventDetails(reason_parts_exports.none, event.nativeEvent);
11055              function handleChange() {
11056                if (multiple) {
11057                  return;
11058                }
11059                const nextValueLower = nextValue.toLowerCase();
11060                let matchingIndex = valuesRef.current.findIndex((candidate) => stringifyAsValue(candidate, itemToStringValue).toLowerCase() === nextValueLower || stringifyAsLabel(candidate, itemToStringLabel).toLowerCase() === nextValueLower);
11061                if (matchingIndex === -1) {
11062                  matchingIndex = valuesRef.current.findIndex((_, index3) => {
11063                    const renderedLabel = labelsRef.current[index3];
11064                    return renderedLabel != null && renderedLabel.toLowerCase() === nextValueLower;
11065                  });
11066                }
11067                const matchingValue = valuesRef.current[matchingIndex];
11068                if (matchingValue != null) {
11069                  setValue(matchingValue, details);
11070                }
11071              }
11072              store.set("forceMount", true);
11073              queueMicrotask(handleChange);
11074            }
11075          }),
11076          id: generatedId && hiddenInputName == null ? `$generatedId}-hidden-input` : void 0,
11077          form,
11078          name: hiddenInputName,
11079          autoComplete,
11080          value: serializedValue,
11081          disabled: disabled2,
11082          required: required && !(multiple && hasSelectedValue),
11083          readOnly,
11084          ref,
11085          style: name16 ? visuallyHiddenInput : visuallyHidden,
11086          tabIndex: -1,
11087          "aria-hidden": true,
11088          suppressHydrationWarning: true
11089        }), hiddenInputs]
11090      });
11091    }
11092  
11093    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/label/SelectLabel.mjs
11094    var React71 = __toESM(require_react(), 1);
11095    var SelectLabel = /* @__PURE__ */ React71.forwardRef(function SelectLabel2(componentProps, forwardedRef) {
11096      const {
11097        render,
11098        className,
11099        style,
11100        ...elementProps
11101      } = componentProps;
11102      const elementPropsWithoutId = elementProps;
11103      delete elementPropsWithoutId.id;
11104      const fieldRootContext = useFieldRootContext();
11105      const store = useSelectRootContext();
11106      const triggerElement = store.useState("triggerElement");
11107      const rootId = store.useState("id");
11108      const defaultLabelId = getDefaultLabelId(rootId);
11109      const labelProps = useLabel({
11110        id: defaultLabelId,
11111        fallbackControlId: triggerElement?.id ?? rootId,
11112        setLabelId(nextLabelId) {
11113          const resolvedLabelId = typeof nextLabelId === "function" ? nextLabelId(store.state.labelId) : nextLabelId;
11114          store.set("labelId", resolvedLabelId);
11115        }
11116      });
11117      return useRenderElement("div", componentProps, {
11118        ref: forwardedRef,
11119        state: fieldRootContext.state,
11120        props: [labelProps, elementProps],
11121        stateAttributesMapping: fieldValidityMapping
11122      });
11123    });
11124    if (true) SelectLabel.displayName = "SelectLabel";
11125  
11126    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/trigger/SelectTrigger.mjs
11127    var React72 = __toESM(require_react(), 1);
11128  
11129    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/trigger/SelectTriggerDataAttributes.mjs
11130    var popupOpen2 = CommonTriggerDataAttributes_exports.popupOpen;
11131    var pressed2 = CommonTriggerDataAttributes_exports.pressed;
11132    var popupSide = "data-popup-side";
11133  
11134    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/trigger/SelectTrigger.mjs
11135    var SELECTED_DELAY = 400;
11136    var stateAttributesMapping2 = {
11137      ...pressableTriggerOpenStateMapping,
11138      ...fieldValidityMapping,
11139      popupSide: (side) => side ? {
11140        [popupSide]: side
11141      } : null,
11142      value: () => null
11143    };
11144    var SelectTrigger = /* @__PURE__ */ React72.forwardRef(function SelectTrigger2(componentProps, forwardedRef) {
11145      const {
11146        render,
11147        className,
11148        id: idProp,
11149        disabled: disabledProp = false,
11150        nativeButton = true,
11151        style,
11152        ...elementProps
11153      } = componentProps;
11154      const {
11155        setTouched,
11156        validationMode,
11157        validation,
11158        state: fieldState,
11159        disabled: fieldDisabled
11160      } = useFieldRootContext();
11161      const {
11162        labelId: fieldLabelId
11163      } = useLabelableContext();
11164      const store = useSelectRootContext();
11165      const readOnly = store.useState("readOnly");
11166      const required = store.useState("required");
11167      const selectDisabled = store.useState("disabled");
11168      const disabled2 = fieldDisabled || selectDisabled || disabledProp;
11169      const open2 = store.useState("open");
11170      const mounted = store.useState("mounted");
11171      const value = store.useState("value");
11172      const triggerProps = store.useState("triggerProps");
11173      const positionerElement = store.useState("positionerElement");
11174      const listElement = store.useState("listElement");
11175      const popupSideValue = store.useState("popupSide");
11176      const rootId = store.useState("id");
11177      const selectLabelId = store.useState("labelId");
11178      const hasSelectedValue = store.useState("hasSelectedValue");
11179      const popupSide2 = mounted && positionerElement ? popupSideValue : null;
11180      const id = idProp ?? rootId;
11181      const ariaLabelledBy = resolveAriaLabelledBy(fieldLabelId, selectLabelId);
11182      useLabelableId({
11183        id: idProp
11184      });
11185      const positionerRef = useValueAsRef(positionerElement);
11186      const triggerRef = React72.useRef(null);
11187      const setFocused = useSetFieldFocused(disabled2, triggerRef);
11188      const {
11189        getButtonProps,
11190        buttonRef
11191      } = useButton({
11192        disabled: disabled2,
11193        native: nativeButton
11194      });
11195      const setTriggerElement = store.useStateSetter("triggerElement");
11196      const timeoutFocus = useTimeout();
11197      const timeoutMouseDown = useTimeout();
11198      const selectedDelayTimeout = useTimeout();
11199      React72.useEffect(() => {
11200        if (open2) {
11201          selectedDelayTimeout.start(SELECTED_DELAY, () => {
11202            store.context.selectionRef.current.allowUnselectedMouseUp = true;
11203            store.context.selectionRef.current.allowSelectedMouseUp = true;
11204          });
11205          return () => {
11206            selectedDelayTimeout.clear();
11207          };
11208        }
11209        store.context.selectionRef.current = {
11210          allowSelectedMouseUp: false,
11211          allowUnselectedMouseUp: false,
11212          dragY: 0
11213        };
11214        timeoutMouseDown.clear();
11215        return void 0;
11216      }, [open2, store, timeoutMouseDown, selectedDelayTimeout]);
11217      const mergedProps = mergeProps(triggerProps, {
11218        id,
11219        role: "combobox",
11220        "aria-expanded": open2,
11221        "aria-haspopup": "listbox",
11222        "aria-controls": open2 ? listElement?.id ?? getFloatingFocusElement(positionerElement)?.id : void 0,
11223        "aria-labelledby": ariaLabelledBy,
11224        "aria-readonly": readOnly || void 0,
11225        "aria-required": required || void 0,
11226        tabIndex: disabled2 ? -1 : 0,
11227        onFocus(event) {
11228          setFocused(true);
11229          if (open2 && store.context.alignItemWithTriggerActiveRef.current) {
11230            store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.none, event.nativeEvent));
11231          }
11232          timeoutFocus.start(0, () => {
11233            store.set("forceMount", true);
11234          });
11235        },
11236        onBlur(event) {
11237          if (contains(positionerElement, event.relatedTarget)) {
11238            return;
11239          }
11240          setTouched(true);
11241          setFocused(false);
11242          if (validationMode === "onBlur") {
11243            validation.commit(value);
11244          }
11245        },
11246        onMouseDown(event) {
11247          if (open2) {
11248            return;
11249          }
11250          const doc = ownerDocument(event.currentTarget);
11251          function handleMouseUp(mouseEvent) {
11252            if (!triggerRef.current) {
11253              return;
11254            }
11255            const mouseUpTarget = mouseEvent.target;
11256            if (contains(triggerRef.current, mouseUpTarget) || contains(positionerRef.current, mouseUpTarget)) {
11257              return;
11258            }
11259            if (isMouseWithinBounds(mouseEvent, triggerRef.current)) {
11260              return;
11261            }
11262            store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.cancelOpen, mouseEvent));
11263          }
11264          timeoutMouseDown.start(0, () => {
11265            doc.addEventListener("mouseup", handleMouseUp, {
11266              once: true
11267            });
11268          });
11269        }
11270      }, elementProps, getButtonProps);
11271      const props = validation.getValidationProps(disabled2, mergedProps);
11272      props.role = "combobox";
11273      const state = {
11274        ...fieldState,
11275        open: open2,
11276        disabled: disabled2,
11277        value,
11278        readOnly,
11279        popupSide: popupSide2,
11280        placeholder: !hasSelectedValue
11281      };
11282      return useRenderElement("button", componentProps, {
11283        ref: [forwardedRef, triggerRef, buttonRef, setTriggerElement],
11284        state,
11285        stateAttributesMapping: stateAttributesMapping2,
11286        props
11287      });
11288    });
11289    if (true) SelectTrigger.displayName = "SelectTrigger";
11290  
11291    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/value/SelectValue.mjs
11292    var React73 = __toESM(require_react(), 1);
11293    var stateAttributesMapping3 = {
11294      value: () => null
11295    };
11296    var SelectValue = /* @__PURE__ */ React73.forwardRef(function SelectValue2(componentProps, forwardedRef) {
11297      const {
11298        className,
11299        render,
11300        children: childrenProp,
11301        placeholder,
11302        style,
11303        ...elementProps
11304      } = componentProps;
11305      const store = useSelectRootContext();
11306      const value = store.useState("value");
11307      const items = store.useState("items");
11308      const itemToStringLabel = store.useState("itemToStringLabel");
11309      const hasSelectedValue = store.useState("hasSelectedValue");
11310      const shouldCheckNullItemLabel = !hasSelectedValue && placeholder != null && childrenProp == null;
11311      const hasNullLabel = store.useState("hasNullItemLabel", shouldCheckNullItemLabel);
11312      const state = {
11313        value,
11314        placeholder: !hasSelectedValue
11315      };
11316      let children = null;
11317      if (typeof childrenProp === "function") {
11318        children = childrenProp(value);
11319      } else if (childrenProp != null) {
11320        children = childrenProp;
11321      } else if (shouldCheckNullItemLabel && !hasNullLabel) {
11322        children = placeholder;
11323      } else if (Array.isArray(value)) {
11324        children = resolveMultipleLabels(value, items, itemToStringLabel);
11325      } else {
11326        children = resolveSelectedLabel(value, items, itemToStringLabel);
11327      }
11328      const element = useRenderElement("span", componentProps, {
11329        state,
11330        ref: [forwardedRef, store.context.valueRef],
11331        props: [{
11332          children
11333        }, elementProps],
11334        stateAttributesMapping: stateAttributesMapping3
11335      });
11336      return element;
11337    });
11338    if (true) SelectValue.displayName = "SelectValue";
11339  
11340    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/icon/SelectIcon.mjs
11341    var React74 = __toESM(require_react(), 1);
11342    var SelectIcon = /* @__PURE__ */ React74.forwardRef(function SelectIcon2(componentProps, forwardedRef) {
11343      const {
11344        render,
11345        className,
11346        style,
11347        ...elementProps
11348      } = componentProps;
11349      const store = useSelectRootContext();
11350      const open2 = store.useState("open");
11351      const state = {
11352        open: open2
11353      };
11354      const element = useRenderElement("span", componentProps, {
11355        state,
11356        ref: forwardedRef,
11357        props: [{
11358          "aria-hidden": true,
11359          children: "\u25BC"
11360        }, elementProps],
11361        stateAttributesMapping: triggerOpenStateMapping
11362      });
11363      return element;
11364    });
11365    if (true) SelectIcon.displayName = "SelectIcon";
11366  
11367    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/portal/SelectPortal.mjs
11368    var React75 = __toESM(require_react(), 1);
11369    var import_jsx_runtime39 = __toESM(require_jsx_runtime(), 1);
11370    var SelectPortal = /* @__PURE__ */ React75.forwardRef(function SelectPortal2(portalProps, forwardedRef) {
11371      const store = useSelectRootContext();
11372      const mounted = store.useState("mounted");
11373      const forceMount = store.useState("forceMount");
11374      const shouldRender = mounted || forceMount;
11375      if (!shouldRender) {
11376        return null;
11377      }
11378      return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(FloatingPortal, {
11379        ref: forwardedRef,
11380        ...portalProps
11381      });
11382    });
11383    if (true) SelectPortal.displayName = "SelectPortal";
11384  
11385    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/backdrop/SelectBackdrop.mjs
11386    var React76 = __toESM(require_react(), 1);
11387    var stateAttributesMapping4 = {
11388      ...popupStateMapping,
11389      ...transitionStatusMapping
11390    };
11391    var SelectBackdrop = /* @__PURE__ */ React76.forwardRef(function SelectBackdrop2(componentProps, forwardedRef) {
11392      const {
11393        render,
11394        className,
11395        style,
11396        ...elementProps
11397      } = componentProps;
11398      const store = useSelectRootContext();
11399      const open2 = store.useState("open");
11400      const mounted = store.useState("mounted");
11401      const transitionStatus = store.useState("transitionStatus");
11402      const state = {
11403        open: open2,
11404        transitionStatus
11405      };
11406      const element = useRenderElement("div", componentProps, {
11407        state,
11408        ref: forwardedRef,
11409        props: [{
11410          role: "presentation",
11411          hidden: !mounted,
11412          style: {
11413            userSelect: "none",
11414            WebkitUserSelect: "none"
11415          }
11416        }, elementProps],
11417        stateAttributesMapping: stateAttributesMapping4
11418      });
11419      return element;
11420    });
11421    if (true) SelectBackdrop.displayName = "SelectBackdrop";
11422  
11423    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositioner.mjs
11424    var React78 = __toESM(require_react(), 1);
11425  
11426    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositionerContext.mjs
11427    var React77 = __toESM(require_react(), 1);
11428    var SelectPositionerContext = /* @__PURE__ */ React77.createContext(void 0);
11429    if (true) SelectPositionerContext.displayName = "SelectPositionerContext";
11430    function useSelectPositionerContext() {
11431      const context = React77.useContext(SelectPositionerContext);
11432      if (!context) {
11433        throw new Error(true ? "Base UI: SelectPositionerContext is missing. SelectPositioner parts must be placed within <Select.Positioner>." : formatErrorMessage_default(59));
11434      }
11435      return context;
11436    }
11437  
11438    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/popup/utils.mjs
11439    function clearStyles(element, originalStyles) {
11440      if (element) {
11441        Object.assign(element.style, originalStyles);
11442      }
11443    }
11444    var LIST_FUNCTIONAL_STYLES = {
11445      position: "relative",
11446      maxHeight: "100%",
11447      overflowX: "hidden",
11448      overflowY: "auto"
11449    };
11450  
11451    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositioner.mjs
11452    var import_jsx_runtime40 = __toESM(require_jsx_runtime(), 1);
11453    var FIXED = {
11454      position: "fixed"
11455    };
11456    var SelectPositioner = /* @__PURE__ */ React78.forwardRef(function SelectPositioner2(componentProps, forwardedRef) {
11457      const {
11458        anchor,
11459        className,
11460        render,
11461        // `useAnchorPositioning` applies the same defaults to the undefined values; the names
11462        // remain destructured to exclude the props from `elementProps`.
11463        positionMethod,
11464        side,
11465        align,
11466        sideOffset,
11467        alignOffset,
11468        collisionBoundary = "clipping-ancestors",
11469        collisionPadding,
11470        arrowPadding,
11471        sticky,
11472        disableAnchorTracking,
11473        alignItemWithTrigger = true,
11474        collisionAvoidance = DROPDOWN_COLLISION_AVOIDANCE,
11475        style,
11476        ...elementProps
11477      } = componentProps;
11478      const store = useSelectRootContext();
11479      const floatingRootContext = useSelectFloatingContext();
11480      const open2 = store.useState("open");
11481      const mounted = store.useState("mounted");
11482      const modal = store.useState("modal");
11483      const value = store.useState("value");
11484      const openMethod = store.useState("openMethod");
11485      const positionerElement = store.useState("positionerElement");
11486      const triggerElement = store.useState("triggerElement");
11487      const isItemEqualToValue = store.useState("isItemEqualToValue");
11488      const transitionStatus = store.useState("transitionStatus");
11489      const scrollUpArrowRef = React78.useRef(null);
11490      const scrollDownArrowRef = React78.useRef(null);
11491      const [controlledAlignItemWithTrigger, setControlledAlignItemWithTrigger] = React78.useState(alignItemWithTrigger);
11492      const alignItemWithTriggerActive = mounted && controlledAlignItemWithTrigger && openMethod !== "touch";
11493      if (!mounted && controlledAlignItemWithTrigger !== alignItemWithTrigger) {
11494        setControlledAlignItemWithTrigger(alignItemWithTrigger);
11495      }
11496      React78.useImperativeHandle(store.context.alignItemWithTriggerActiveRef, () => alignItemWithTriggerActive);
11497      useAnchoredPopupScrollLock((alignItemWithTriggerActive || modal) && open2, openMethod === "touch", positionerElement, triggerElement);
11498      const positioning = useAnchorPositioning({
11499        anchor,
11500        floatingRootContext,
11501        positionMethod,
11502        mounted,
11503        side,
11504        sideOffset,
11505        align,
11506        alignOffset,
11507        arrowPadding,
11508        collisionBoundary,
11509        collisionPadding,
11510        sticky,
11511        disableAnchorTracking: disableAnchorTracking ?? alignItemWithTriggerActive,
11512        collisionAvoidance,
11513        keepMounted: true
11514      });
11515      const renderedSide = alignItemWithTriggerActive ? "none" : positioning.side;
11516      const positionerStyles = alignItemWithTriggerActive ? FIXED : positioning.positionerStyles;
11517      const state = {
11518        open: open2,
11519        side: renderedSide,
11520        align: positioning.align,
11521        anchorHidden: positioning.anchorHidden
11522      };
11523      useIsoLayoutEffect(() => {
11524        store.set("popupSide", positioning.side);
11525      }, [store, positioning.side]);
11526      const setPositionerElement = store.useStateSetter("positionerElement");
11527      const element = usePositioner(componentProps, state, {
11528        styles: positionerStyles,
11529        transitionStatus,
11530        props: elementProps,
11531        refs: [forwardedRef, setPositionerElement],
11532        hidden: !mounted,
11533        inert: !open2
11534      });
11535      const prevMapSizeRef = React78.useRef(0);
11536      const onMapChange = useStableCallback((map) => {
11537        if (store.context.valuesRef.current.length === 0) {
11538          return;
11539        }
11540        const prevSize = prevMapSizeRef.current;
11541        prevMapSizeRef.current = map.size;
11542        const eventDetails = createChangeEventDetails(reason_parts_exports.none);
11543        if (prevSize !== 0 && !store.state.multiple && value !== null) {
11544          const selectedValueIndex = findItemIndex(store.context.valuesRef.current, value, isItemEqualToValue);
11545          if (selectedValueIndex === -1) {
11546            const initialSelectedValue = store.context.initialValueRef.current;
11547            const hasInitial = initialSelectedValue != null && findItemIndex(store.context.valuesRef.current, initialSelectedValue, isItemEqualToValue) !== -1;
11548            const nextValue = hasInitial ? initialSelectedValue : null;
11549            store.context.setValue(nextValue, eventDetails);
11550            if (nextValue === null) {
11551              store.set("selectedIndex", null);
11552              store.context.selectedItemTextRef.current = null;
11553            }
11554          }
11555        }
11556        if (prevSize !== 0 && store.state.multiple && Array.isArray(value)) {
11557          const nextValue = value.filter((selectedItemValue) => findItemIndex(store.context.valuesRef.current, selectedItemValue, isItemEqualToValue) !== -1);
11558          if (nextValue.length !== value.length) {
11559            store.context.setValue(nextValue, eventDetails);
11560            if (nextValue.length === 0) {
11561              store.set("selectedIndex", null);
11562              store.context.selectedItemTextRef.current = null;
11563            }
11564          }
11565        }
11566        if (open2 && alignItemWithTriggerActive) {
11567          store.update({
11568            scrollUpArrowVisible: false,
11569            scrollDownArrowVisible: false
11570          });
11571          const stylesToClear = {
11572            height: ""
11573          };
11574          clearStyles(positionerElement, stylesToClear);
11575          clearStyles(store.context.popupRef.current, stylesToClear);
11576        }
11577      });
11578      const contextValue = React78.useMemo(() => ({
11579        ...positioning,
11580        side: renderedSide,
11581        alignItemWithTriggerActive,
11582        setControlledAlignItemWithTrigger,
11583        scrollUpArrowRef,
11584        scrollDownArrowRef
11585      }), [positioning, renderedSide, alignItemWithTriggerActive, setControlledAlignItemWithTrigger]);
11586      return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(CompositeList, {
11587        elementsRef: store.context.listRef,
11588        labelsRef: store.context.labelsRef,
11589        onMapChange,
11590        children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(SelectPositionerContext.Provider, {
11591          value: contextValue,
11592          children: [mounted && modal && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(InternalBackdrop, {
11593            inert: inertValue(!open2),
11594            cutout: triggerElement
11595          }), element]
11596        })
11597      });
11598    });
11599    if (true) SelectPositioner.displayName = "SelectPositioner";
11600  
11601    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/popup/SelectPopup.mjs
11602    var React79 = __toESM(require_react(), 1);
11603  
11604    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/positioner/SelectPositionerCssVars.mjs
11605    var transformOrigin2 = "--transform-origin";
11606  
11607    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/popup/SelectPopup.mjs
11608    var import_jsx_runtime41 = __toESM(require_jsx_runtime(), 1);
11609    var stateAttributesMapping5 = {
11610      ...popupStateMapping,
11611      ...transitionStatusMapping
11612    };
11613    var SelectPopup = /* @__PURE__ */ React79.forwardRef(function SelectPopup2(componentProps, forwardedRef) {
11614      const {
11615        render,
11616        className,
11617        style,
11618        finalFocus,
11619        ...elementProps
11620      } = componentProps;
11621      const store = useSelectRootContext();
11622      const multiple = store.useState("multiple");
11623      const readOnly = store.useState("readOnly");
11624      const highlightItemOnHover = store.useState("highlightItemOnHover");
11625      const floatingRootContext = useSelectFloatingContext();
11626      const {
11627        side,
11628        align,
11629        alignItemWithTriggerActive,
11630        isPositioned,
11631        setControlledAlignItemWithTrigger
11632      } = useSelectPositionerContext();
11633      const insideToolbar = useToolbarRootContext(true) != null;
11634      const direction = useDirection();
11635      const {
11636        nonce,
11637        disableStyleElements
11638      } = useCSPContext();
11639      const id = store.useState("id");
11640      const open2 = store.useState("open");
11641      const openMethod = store.useState("openMethod");
11642      const mounted = store.useState("mounted");
11643      const popupProps = store.useState("popupProps");
11644      const transitionStatus = store.useState("transitionStatus");
11645      const triggerElement = store.useState("triggerElement");
11646      const positionerElement = store.useState("positionerElement");
11647      const listElement = store.useState("listElement");
11648      const reachedMaxHeightRef = React79.useRef(false);
11649      const initialPlacedRef = React79.useRef(false);
11650      const originalPositionerStylesRef = React79.useRef({});
11651      const scrollArrowFrame = useAnimationFrame();
11652      const handleScroll = useStableCallback((scroller) => {
11653        if (!positionerElement || !store.context.popupRef.current || !initialPlacedRef.current) {
11654          return;
11655        }
11656        const isTopPositioned = positionerElement.style.top === "0px";
11657        const isBottomPositioned = positionerElement.style.bottom === "0px";
11658        if (reachedMaxHeightRef.current || !alignItemWithTriggerActive || !isTopPositioned && !isBottomPositioned) {
11659          store.context.handleScrollArrowVisibility(scroller);
11660          return;
11661        }
11662        const scale = getScale2(positionerElement);
11663        const currentHeight = normalizeSize(positionerElement.getBoundingClientRect().height, "y", scale);
11664        const doc = ownerDocument(positionerElement);
11665        const win = getWindow(positionerElement);
11666        const positionerStyles = win.getComputedStyle(positionerElement);
11667        const marginTop = parseFloat(positionerStyles.marginTop);
11668        const marginBottom = parseFloat(positionerStyles.marginBottom);
11669        const maxPopupHeight = getMaxPopupHeight(win.getComputedStyle(store.context.popupRef.current));
11670        const maxAvailableHeight = Math.min(doc.documentElement.clientHeight - marginTop - marginBottom, maxPopupHeight);
11671        const scrollTop = scroller.scrollTop;
11672        const maxScrollTop = getMaxScrollTop(scroller);
11673        let nextScrollTop = null;
11674        const setHeight = (height) => {
11675          positionerElement.style.height = `$height}px`;
11676        };
11677        const diff = isTopPositioned ? maxScrollTop - scrollTop : scrollTop;
11678        const nextHeight = Math.min(currentHeight + diff, maxAvailableHeight);
11679        if (diff <= SCROLL_EDGE_TOLERANCE_PX) {
11680          const heightDelta = clamp2(diff, 0, maxAvailableHeight - currentHeight);
11681          if (heightDelta > 0) {
11682            setHeight(currentHeight + heightDelta);
11683          }
11684          scroller.scrollTop = isTopPositioned ? maxScrollTop : 0;
11685          if (maxAvailableHeight - (currentHeight + heightDelta) <= SCROLL_EDGE_TOLERANCE_PX) {
11686            reachedMaxHeightRef.current = true;
11687          }
11688          store.context.handleScrollArrowVisibility(scroller);
11689          return;
11690        }
11691        if (maxAvailableHeight - nextHeight > SCROLL_EDGE_TOLERANCE_PX) {
11692          nextScrollTop = isTopPositioned ? Infinity : 0;
11693        } else if (isBottomPositioned && scrollTop < maxScrollTop) {
11694          const overshoot = currentHeight + diff - maxAvailableHeight;
11695          nextScrollTop = scrollTop - (diff - overshoot);
11696        }
11697        const nextPositionerHeight = Math.ceil(nextHeight);
11698        if (nextPositionerHeight !== 0) {
11699          setHeight(nextPositionerHeight);
11700        }
11701        if (nextScrollTop != null) {
11702          const target = clamp2(nextScrollTop, 0, getMaxScrollTop(scroller));
11703          if (Math.abs(scroller.scrollTop - target) > SCROLL_EDGE_TOLERANCE_PX) {
11704            scroller.scrollTop = target;
11705          }
11706        }
11707        if (nextPositionerHeight >= maxAvailableHeight - SCROLL_EDGE_TOLERANCE_PX) {
11708          reachedMaxHeightRef.current = true;
11709        }
11710        store.context.handleScrollArrowVisibility(scroller);
11711      });
11712      React79.useImperativeHandle(store.context.scrollHandlerRef, () => handleScroll, [handleScroll]);
11713      useOpenChangeComplete({
11714        open: open2,
11715        ref: store.context.popupRef,
11716        onComplete() {
11717          if (open2) {
11718            store.context.onOpenChangeComplete(true);
11719          }
11720        }
11721      });
11722      const state = {
11723        open: open2,
11724        transitionStatus,
11725        side,
11726        align
11727      };
11728      useIsoLayoutEffect(() => {
11729        if (!positionerElement || !store.context.popupRef.current || Object.keys(originalPositionerStylesRef.current).length) {
11730          return;
11731        }
11732        originalPositionerStylesRef.current = {
11733          top: positionerElement.style.top || "0",
11734          left: positionerElement.style.left || "0",
11735          right: positionerElement.style.right,
11736          height: positionerElement.style.height,
11737          bottom: positionerElement.style.bottom,
11738          minHeight: positionerElement.style.minHeight,
11739          maxHeight: positionerElement.style.maxHeight,
11740          marginTop: positionerElement.style.marginTop,
11741          marginBottom: positionerElement.style.marginBottom
11742        };
11743      }, [store, positionerElement]);
11744      useIsoLayoutEffect(() => {
11745        if (open2 || alignItemWithTriggerActive) {
11746          return;
11747        }
11748        initialPlacedRef.current = false;
11749        reachedMaxHeightRef.current = false;
11750        clearStyles(positionerElement, originalPositionerStylesRef.current);
11751      }, [open2, alignItemWithTriggerActive, positionerElement]);
11752      useIsoLayoutEffect(() => {
11753        const popupElement = store.context.popupRef.current;
11754        if (!open2 || !triggerElement || !positionerElement || !popupElement || alignItemWithTriggerActive && !isPositioned || store.state.transitionStatus === "ending") {
11755          return;
11756        }
11757        initialPlacedRef.current = true;
11758        popupElement.style.removeProperty(transformOrigin2);
11759        if (!alignItemWithTriggerActive) {
11760          scrollArrowFrame.request(() => store.context.handleScrollArrowVisibility(listElement || popupElement));
11761          return;
11762        }
11763        const restoreTransformStyles = unsetTransformStyles(popupElement);
11764        try {
11765          let textElement = store.context.selectedItemTextRef.current;
11766          if (!textElement?.isConnected) {
11767            const hasSelectedValue = store.select("hasSelectedValue");
11768            textElement = !hasSelectedValue && store.context.firstItemTextRef.current?.isConnected ? store.context.firstItemTextRef.current : null;
11769          }
11770          const valueElement = store.context.valueRef.current;
11771          const win = getWindow(positionerElement);
11772          const positionerStyles = win.getComputedStyle(positionerElement);
11773          const popupStyles = win.getComputedStyle(popupElement);
11774          const doc = ownerDocument(triggerElement);
11775          const scale = getScale2(triggerElement);
11776          const triggerRect = normalizeRect(triggerElement.getBoundingClientRect(), scale);
11777          const positionerRect = normalizeRect(positionerElement.getBoundingClientRect(), scale);
11778          const triggerHeight = triggerRect.height;
11779          const scroller = listElement || popupElement;
11780          const scrollHeight = scroller.scrollHeight;
11781          const borderBottom = parseFloat(popupStyles.borderBottomWidth);
11782          const marginTop = parseFloat(positionerStyles.marginTop) || 10;
11783          const marginBottom = parseFloat(positionerStyles.marginBottom) || 10;
11784          const minHeight = parseFloat(positionerStyles.minHeight) || 100;
11785          const maxPopupHeight = getMaxPopupHeight(popupStyles);
11786          const paddingLeft = 5;
11787          const paddingRight = 5;
11788          const triggerCollisionThreshold = 20;
11789          const viewportHeight = doc.documentElement.clientHeight - marginTop - marginBottom;
11790          const viewportWidth = doc.documentElement.clientWidth;
11791          const availableSpaceBeneathTrigger = viewportHeight - triggerRect.bottom + triggerHeight;
11792          let textRect;
11793          let alignedLeft = direction === "rtl" ? triggerRect.right - positionerRect.width : triggerRect.left;
11794          let offsetY = 0;
11795          if (textElement && valueElement) {
11796            const valueRect = normalizeRect(valueElement.getBoundingClientRect(), scale);
11797            textRect = normalizeRect(textElement.getBoundingClientRect(), scale);
11798            alignedLeft = positionerRect.left + (direction === "rtl" ? valueRect.right - textRect.right : valueRect.left - textRect.left);
11799            const valueCenterFromTriggerTop = valueRect.top - triggerRect.top + valueRect.height / 2;
11800            const textCenterFromPositionerTop = textRect.top - positionerRect.top + textRect.height / 2;
11801            offsetY = textCenterFromPositionerTop - valueCenterFromTriggerTop;
11802          }
11803          const idealHeight = availableSpaceBeneathTrigger + offsetY + marginBottom + borderBottom;
11804          let height = Math.min(viewportHeight, idealHeight);
11805          const maxHeight = viewportHeight - marginTop - marginBottom;
11806          const scrollTop = idealHeight - height;
11807          const maxRight = viewportWidth - paddingRight;
11808          positionerElement.style.left = `$clamp2(alignedLeft, paddingLeft, maxRight - positionerRect.width)}px`;
11809          positionerElement.style.height = `$height}px`;
11810          positionerElement.style.maxHeight = "none";
11811          positionerElement.style.marginTop = `$marginTop}px`;
11812          positionerElement.style.marginBottom = `$marginBottom}px`;
11813          popupElement.style.height = "100%";
11814          const maxScrollTop = getMaxScrollTop(scroller);
11815          const isTopPositioned = scrollTop >= maxScrollTop - SCROLL_EDGE_TOLERANCE_PX;
11816          if (isTopPositioned) {
11817            height = Math.min(viewportHeight, positionerRect.height) - (scrollTop - maxScrollTop);
11818          }
11819          const fallbackToAlignPopupToTrigger = triggerRect.top < triggerCollisionThreshold || triggerRect.bottom > viewportHeight - triggerCollisionThreshold || Math.ceil(height) + SCROLL_EDGE_TOLERANCE_PX < Math.min(scrollHeight, minHeight);
11820          const isPinchZoomed = (win.visualViewport?.scale ?? 1) !== 1 && parts_exports.engine.webkit;
11821          if (fallbackToAlignPopupToTrigger || isPinchZoomed) {
11822            clearStyles(positionerElement, originalPositionerStylesRef.current);
11823            setControlledAlignItemWithTrigger(false);
11824            return;
11825          }
11826          const initialHeight = Math.max(minHeight, height);
11827          if (isTopPositioned) {
11828            const topOffset = Math.max(0, viewportHeight - idealHeight);
11829            positionerElement.style.top = positionerRect.height >= maxHeight ? "0" : `$topOffset}px`;
11830            positionerElement.style.height = `$height}px`;
11831            scroller.scrollTop = getMaxScrollTop(scroller);
11832          } else {
11833            positionerElement.style.bottom = "0";
11834            scroller.scrollTop = scrollTop;
11835          }
11836          if (textRect) {
11837            const popupTop = positionerRect.top;
11838            const popupHeight = positionerRect.height;
11839            const textCenterY = textRect.top + textRect.height / 2;
11840            const clampedY = clamp2(popupHeight > 0 ? (textCenterY - popupTop) / popupHeight * 100 : 50, 0, 100);
11841            popupElement.style.setProperty(transformOrigin2, `50% $clampedY}%`);
11842          }
11843          if (initialHeight === viewportHeight || height >= maxPopupHeight) {
11844            reachedMaxHeightRef.current = true;
11845          }
11846          store.context.handleScrollArrowVisibility(scroller);
11847          if (highlightItemOnHover && store.state.selectedIndex === null && store.state.activeIndex === null && store.context.listRef.current[0] != null) {
11848            store.set("activeIndex", 0);
11849          }
11850        } finally {
11851          restoreTransformStyles();
11852        }
11853      }, [store, open2, positionerElement, triggerElement, alignItemWithTriggerActive, setControlledAlignItemWithTrigger, scrollArrowFrame, listElement, highlightItemOnHover, direction, isPositioned]);
11854      React79.useEffect(() => {
11855        if (!alignItemWithTriggerActive || !positionerElement || !open2) {
11856          return void 0;
11857        }
11858        const win = getWindow(positionerElement);
11859        function handleResize(event) {
11860          store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.windowResize, event));
11861        }
11862        return addEventListener(win, "resize", handleResize);
11863      }, [store, alignItemWithTriggerActive, positionerElement, open2]);
11864      const defaultProps = {
11865        ...listElement ? {
11866          role: "presentation"
11867        } : {
11868          role: "listbox",
11869          "aria-multiselectable": multiple || void 0,
11870          "aria-readonly": readOnly || void 0,
11871          id: `$id}-list`
11872        },
11873        onKeyDown(event) {
11874          if (insideToolbar && COMPOSITE_KEYS.has(event.key)) {
11875            event.stopPropagation();
11876          }
11877        },
11878        onScroll(event) {
11879          if (listElement) {
11880            return;
11881          }
11882          handleScroll(event.currentTarget);
11883        },
11884        ...alignItemWithTriggerActive && {
11885          style: listElement ? {
11886            height: "100%"
11887          } : LIST_FUNCTIONAL_STYLES
11888        },
11889        className: !listElement && alignItemWithTriggerActive ? styleDisableScrollbar.className : void 0
11890      };
11891      const element = useRenderElement("div", componentProps, {
11892        ref: [forwardedRef, store.context.popupRef],
11893        state,
11894        stateAttributesMapping: stateAttributesMapping5,
11895        props: [popupProps, defaultProps, getDisabledMountTransitionStyles(transitionStatus), elementProps]
11896      });
11897      return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(React79.Fragment, {
11898        children: [!disableStyleElements && styleDisableScrollbar.getElement(nonce), /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(FloatingFocusManager, {
11899          context: floatingRootContext,
11900          modal: false,
11901          disabled: !mounted,
11902          openInteractionType: openMethod,
11903          returnFocus: finalFocus,
11904          restoreFocus: true,
11905          children: element
11906        })]
11907      });
11908    });
11909    if (true) SelectPopup.displayName = "SelectPopup";
11910    function getMaxPopupHeight(popupStyles) {
11911      const maxHeightStyle = popupStyles.maxHeight;
11912      return maxHeightStyle.endsWith("px") ? parseFloat(maxHeightStyle) || Infinity : Infinity;
11913    }
11914    function getMaxScrollTop(scroller) {
11915      return getMaxScrollOffset(scroller.scrollHeight, scroller.clientHeight);
11916    }
11917    function getScale2(element) {
11918      return platform2.getScale(element);
11919    }
11920    function normalizeSize(size4, axis, scale) {
11921      return size4 / scale[axis];
11922    }
11923    function normalizeRect(rect, scale) {
11924      return rectToClientRect({
11925        x: normalizeSize(rect.x, "x", scale),
11926        y: normalizeSize(rect.y, "y", scale),
11927        width: normalizeSize(rect.width, "x", scale),
11928        height: normalizeSize(rect.height, "y", scale)
11929      });
11930    }
11931    var TRANSFORM_STYLE_RESETS = [["transform", "none"], ["scale", "1"], ["translate", "0 0"]];
11932    function unsetTransformStyles(popupElement) {
11933      const {
11934        style
11935      } = popupElement;
11936      const originalStyles = {};
11937      for (const [property, value] of TRANSFORM_STYLE_RESETS) {
11938        originalStyles[property] = style.getPropertyValue(property);
11939        style.setProperty(property, value, "important");
11940      }
11941      return () => {
11942        for (const [property] of TRANSFORM_STYLE_RESETS) {
11943          const originalValue = originalStyles[property];
11944          if (originalValue) {
11945            style.setProperty(property, originalValue);
11946          } else {
11947            style.removeProperty(property);
11948          }
11949        }
11950      };
11951    }
11952  
11953    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/list/SelectList.mjs
11954    var React80 = __toESM(require_react(), 1);
11955    var SelectList = /* @__PURE__ */ React80.forwardRef(function SelectList2(componentProps, forwardedRef) {
11956      const {
11957        render,
11958        className,
11959        style,
11960        ...elementProps
11961      } = componentProps;
11962      const store = useSelectRootContext();
11963      const multiple = store.useState("multiple");
11964      const readOnly = store.useState("readOnly");
11965      const {
11966        alignItemWithTriggerActive
11967      } = useSelectPositionerContext();
11968      const hasScrollArrows = store.useState("hasScrollArrows");
11969      const openMethod = store.useState("openMethod");
11970      const id = store.useState("id");
11971      const defaultProps = {
11972        id: `$id}-list`,
11973        role: "listbox",
11974        "aria-multiselectable": multiple || void 0,
11975        "aria-readonly": readOnly || void 0,
11976        onScroll(event) {
11977          store.context.scrollHandlerRef.current?.(event.currentTarget);
11978        },
11979        ...alignItemWithTriggerActive && {
11980          style: LIST_FUNCTIONAL_STYLES
11981        },
11982        className: hasScrollArrows && openMethod !== "touch" ? styleDisableScrollbar.className : void 0
11983      };
11984      const setListElement = store.useStateSetter("listElement");
11985      return useRenderElement("div", componentProps, {
11986        ref: [forwardedRef, setListElement],
11987        props: [defaultProps, elementProps]
11988      });
11989    });
11990    if (true) SelectList.displayName = "SelectList";
11991  
11992    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item/SelectItem.mjs
11993    var React82 = __toESM(require_react(), 1);
11994  
11995    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item/SelectItemContext.mjs
11996    var React81 = __toESM(require_react(), 1);
11997    var SelectItemContext = /* @__PURE__ */ React81.createContext(void 0);
11998    if (true) SelectItemContext.displayName = "SelectItemContext";
11999    function useSelectItemContext() {
12000      const context = React81.useContext(SelectItemContext);
12001      if (!context) {
12002        throw new Error(true ? "Base UI: SelectItemContext is missing. SelectItem parts must be placed within <Select.Item>." : formatErrorMessage_default(57));
12003      }
12004      return context;
12005    }
12006  
12007    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item/SelectItem.mjs
12008    var import_jsx_runtime42 = __toESM(require_jsx_runtime(), 1);
12009    var SelectItem = /* @__PURE__ */ React82.memo(/* @__PURE__ */ React82.forwardRef(function SelectItem2(componentProps, forwardedRef) {
12010      const {
12011        render,
12012        className,
12013        style,
12014        value: itemValue = null,
12015        label,
12016        disabled: disabledProp = false,
12017        nativeButton = false,
12018        ...elementProps
12019      } = componentProps;
12020      const textRef = React82.useRef(null);
12021      const listItem = useCompositeListItem({
12022        guess: true,
12023        label,
12024        textRef
12025      });
12026      const store = useSelectRootContext();
12027      const {
12028        props: itemProps,
12029        multiple,
12030        disabled: selectDisabled,
12031        readOnly,
12032        isItemEqualToValue
12033      } = store.useState("itemRoot");
12034      const disabled2 = selectDisabled || disabledProp;
12035      const highlighted = store.useState("isActive", listItem.index);
12036      const open2 = store.useState("open");
12037      const selected = store.useState("isSelected", itemValue);
12038      const selectedByFocus = store.useState("isSelectedByFocus", listItem.index);
12039      const index3 = listItem.index;
12040      const itemRef = React82.useRef(null);
12041      useIsoLayoutEffect(() => {
12042        const values = store.context.valuesRef.current;
12043        values[index3] = itemValue;
12044        return () => {
12045          delete values[index3];
12046        };
12047      }, [index3, itemValue, store]);
12048      useIsoLayoutEffect(() => {
12049        const selectedValue = store.state.value;
12050        const currentIndex = store.state.selectedIndex;
12051        let nextIndex = currentIndex;
12052        let claims;
12053        if (multiple && Array.isArray(selectedValue)) {
12054          nextIndex = resolveSelectedIndex(index3, itemValue, store.context.valuesRef.current, selectedValue, isItemEqualToValue, currentIndex);
12055          claims = nextIndex === index3;
12056          if (index3 === currentIndex && !claims) {
12057            store.context.selectedItemTextRef.current = null;
12058          }
12059        } else {
12060          claims = selectedValue !== void 0 && compareItemEquality(itemValue, selectedValue, isItemEqualToValue);
12061          if (claims) {
12062            nextIndex = index3;
12063          }
12064        }
12065        store.set("selectedIndex", nextIndex);
12066        if (claims && textRef.current) {
12067          store.context.selectedItemTextRef.current = textRef.current;
12068        }
12069      }, [index3, multiple, isItemEqualToValue, store, itemValue]);
12070      const pointerTypeRef = React82.useRef("mouse");
12071      const allowMouseSelectionRef = React82.useRef(false);
12072      const {
12073        getButtonProps,
12074        buttonRef
12075      } = useButton({
12076        disabled: disabled2,
12077        focusableWhenDisabled: true,
12078        native: nativeButton,
12079        composite: true
12080      });
12081      const state = {
12082        disabled: disabled2,
12083        selected,
12084        highlighted
12085      };
12086      function commitSelection(event) {
12087        if (selectDisabled || readOnly) {
12088          return;
12089        }
12090        const selectedValue = store.state.value;
12091        if (multiple) {
12092          const currentValue = Array.isArray(selectedValue) ? selectedValue : [];
12093          const nextValue = selected ? removeItem(currentValue, itemValue, isItemEqualToValue) : [...currentValue, itemValue];
12094          store.context.setValue(nextValue, createChangeEventDetails(reason_parts_exports.itemPress, event));
12095        } else {
12096          store.context.setValue(itemValue, createChangeEventDetails(reason_parts_exports.itemPress, event));
12097          store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.itemPress, event));
12098        }
12099      }
12100      function resetDragMovement() {
12101        store.context.selectionRef.current.dragY = 0;
12102      }
12103      const defaultProps = {
12104        role: "option",
12105        "aria-selected": selected,
12106        tabIndex: open2 && highlighted ? 0 : -1,
12107        onKeyDown(event) {
12108          store.set("activeIndex", index3);
12109          if (event.key === " " && store.context.typingRef.current) {
12110            event.preventDefault();
12111          }
12112        },
12113        onClick(event) {
12114          const isMouseClick = pointerTypeRef.current !== "touch";
12115          const clickPointerType = event.nativeEvent.pointerType;
12116          const isVirtualMouseClick = isMouseClick && isVirtualClick(event.nativeEvent) && // Generic no-pointer `detail === 0` clicks stay tied to highlight state. Virtual
12117          // clicks that carry browser pointer data, including an empty string from assistive
12118          // technology, can activate unhighlighted items.
12119          (clickPointerType !== void 0 || highlighted);
12120          const isInvalidMouseClick = isMouseClick && !isVirtualMouseClick && !allowMouseSelectionRef.current;
12121          allowMouseSelectionRef.current = false;
12122          if (disabled2 || isInvalidMouseClick) {
12123            return;
12124          }
12125          commitSelection(event.nativeEvent);
12126        },
12127        onPointerEnter(event) {
12128          pointerTypeRef.current = event.pointerType;
12129        },
12130        onPointerMove(event) {
12131          if (event.pointerType === "mouse" && event.buttons === 1) {
12132            const selection = store.context.selectionRef.current;
12133            selection.dragY += event.movementY;
12134            if (selection.dragY ** 2 >= 64) {
12135              selection.allowUnselectedMouseUp = true;
12136            }
12137          }
12138        },
12139        onPointerDown(event) {
12140          pointerTypeRef.current = event.pointerType;
12141          allowMouseSelectionRef.current = true;
12142          resetDragMovement();
12143        },
12144        onMouseUp() {
12145          resetDragMovement();
12146          if (disabled2 || pointerTypeRef.current === "touch") {
12147            return;
12148          }
12149          if (allowMouseSelectionRef.current) {
12150            return;
12151          }
12152          const disallowSelectedMouseUp = !store.context.selectionRef.current.allowSelectedMouseUp && selected;
12153          const disallowUnselectedMouseUp = !store.context.selectionRef.current.allowUnselectedMouseUp && !selected;
12154          if (disallowSelectedMouseUp || disallowUnselectedMouseUp) {
12155            return;
12156          }
12157          allowMouseSelectionRef.current = true;
12158          itemRef.current?.click();
12159          allowMouseSelectionRef.current = false;
12160        }
12161      };
12162      const element = useRenderElement("div", componentProps, {
12163        ref: [buttonRef, forwardedRef, listItem.ref, itemRef],
12164        state,
12165        props: [itemProps, defaultProps, elementProps, getButtonProps]
12166      });
12167      const contextValue = React82.useMemo(() => ({
12168        selected,
12169        index: index3,
12170        textRef,
12171        selectedByFocus
12172      }), [selected, index3, textRef, selectedByFocus]);
12173      return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SelectItemContext.Provider, {
12174        value: contextValue,
12175        children: element
12176      });
12177    }));
12178    if (true) SelectItem.displayName = "SelectItem";
12179  
12180    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item-indicator/SelectItemIndicator.mjs
12181    var React83 = __toESM(require_react(), 1);
12182    var import_jsx_runtime43 = __toESM(require_jsx_runtime(), 1);
12183    var SelectItemIndicator = /* @__PURE__ */ React83.forwardRef(function SelectItemIndicator2(componentProps, forwardedRef) {
12184      const {
12185        selected
12186      } = useSelectItemContext();
12187      const shouldRender = componentProps.keepMounted || selected;
12188      if (!shouldRender) {
12189        return null;
12190      }
12191      return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ItemIndicator, {
12192        ...componentProps,
12193        selected,
12194        ref: forwardedRef
12195      });
12196    });
12197    if (true) SelectItemIndicator.displayName = "SelectItemIndicator";
12198  
12199    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/item-text/SelectItemText.mjs
12200    var React84 = __toESM(require_react(), 1);
12201    var SelectItemText = /* @__PURE__ */ React84.memo(/* @__PURE__ */ React84.forwardRef(function SelectItemText2(componentProps, forwardedRef) {
12202      const {
12203        index: index3,
12204        textRef,
12205        selectedByFocus
12206      } = useSelectItemContext();
12207      const store = useSelectRootContext();
12208      const {
12209        render,
12210        className,
12211        style,
12212        ...elementProps
12213      } = componentProps;
12214      const localRef = React84.useCallback((node) => {
12215        if (!node) {
12216          return;
12217        }
12218        if (index3 === 0) {
12219          store.context.firstItemTextRef.current = node;
12220        }
12221        if (selectedByFocus) {
12222          store.context.selectedItemTextRef.current = node;
12223        }
12224      }, [store, index3, selectedByFocus]);
12225      const element = useRenderElement("div", componentProps, {
12226        ref: [localRef, forwardedRef, textRef],
12227        props: elementProps
12228      });
12229      return element;
12230    }));
12231    if (true) SelectItemText.displayName = "SelectItemText";
12232  
12233    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/arrow/SelectArrow.mjs
12234    var React85 = __toESM(require_react(), 1);
12235    var SelectArrow = /* @__PURE__ */ React85.forwardRef(function SelectArrow2(componentProps, forwardedRef) {
12236      const {
12237        render,
12238        className,
12239        style,
12240        ...elementProps
12241      } = componentProps;
12242      const store = useSelectRootContext();
12243      const {
12244        side,
12245        align,
12246        arrowRef,
12247        arrowStyles,
12248        arrowUncentered,
12249        alignItemWithTriggerActive
12250      } = useSelectPositionerContext();
12251      const open2 = store.useState("open");
12252      const state = {
12253        open: open2,
12254        side,
12255        align,
12256        uncentered: arrowUncentered
12257      };
12258      const element = useRenderElement("div", componentProps, {
12259        state,
12260        ref: [arrowRef, forwardedRef],
12261        props: [{
12262          style: arrowStyles,
12263          "aria-hidden": true
12264        }, elementProps],
12265        stateAttributesMapping: popupTransitionStateMapping
12266      });
12267      if (alignItemWithTriggerActive) {
12268        return null;
12269      }
12270      return element;
12271    });
12272    if (true) SelectArrow.displayName = "SelectArrow";
12273  
12274    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-down-arrow/SelectScrollDownArrow.mjs
12275    var React87 = __toESM(require_react(), 1);
12276  
12277    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-arrow/SelectScrollArrow.mjs
12278    var React86 = __toESM(require_react(), 1);
12279    var SelectScrollArrow = /* @__PURE__ */ React86.forwardRef(function SelectScrollArrow2(componentProps, forwardedRef) {
12280      const {
12281        render,
12282        className,
12283        style,
12284        direction,
12285        keepMounted,
12286        ...elementProps
12287      } = componentProps;
12288      const isUp = direction === "up";
12289      const store = useSelectRootContext();
12290      const {
12291        side,
12292        scrollDownArrowRef,
12293        scrollUpArrowRef
12294      } = useSelectPositionerContext();
12295      const visibleSelector = isUp ? "scrollUpArrowVisible" : "scrollDownArrowVisible";
12296      const stateVisible = store.useState(visibleSelector);
12297      const openMethod = store.useState("openMethod");
12298      const visible = stateVisible && openMethod !== "touch";
12299      const timeout = useTimeout();
12300      const scrollArrowRef = isUp ? scrollUpArrowRef : scrollDownArrowRef;
12301      const {
12302        mounted,
12303        transitionStatus,
12304        setMounted
12305      } = useTransitionStatus(visible);
12306      useIsoLayoutEffect(() => {
12307        store.context.scrollArrowsMountedCountRef.current += 1;
12308        store.set("hasScrollArrows", true);
12309        return () => {
12310          store.context.scrollArrowsMountedCountRef.current = Math.max(0, store.context.scrollArrowsMountedCountRef.current - 1);
12311          if (store.context.scrollArrowsMountedCountRef.current === 0) {
12312            store.set("hasScrollArrows", false);
12313          }
12314        };
12315      }, [store]);
12316      useOpenChangeComplete({
12317        open: visible,
12318        ref: scrollArrowRef,
12319        onComplete() {
12320          if (!visible) {
12321            setMounted(false);
12322          }
12323        }
12324      });
12325      const state = {
12326        direction,
12327        visible,
12328        side,
12329        transitionStatus
12330      };
12331      const defaultProps = {
12332        "aria-hidden": true,
12333        children: isUp ? "\u25B2" : "\u25BC",
12334        style: {
12335          position: "absolute"
12336        },
12337        onMouseMove(event) {
12338          if (event.movementX === 0 && event.movementY === 0 || timeout.isStarted()) {
12339            return;
12340          }
12341          store.set("activeIndex", null);
12342          function scrollNextItem() {
12343            const scroller = store.state.listElement ?? store.context.popupRef.current;
12344            if (!scroller) {
12345              return;
12346            }
12347            store.set("activeIndex", null);
12348            store.context.handleScrollArrowVisibility(scroller);
12349            const maxScrollTop = getMaxScrollOffset(scroller.scrollHeight, scroller.clientHeight);
12350            const scrollTop = normalizeScrollOffset(scroller.scrollTop, maxScrollTop);
12351            const isScrolledToEdge = scrollTop === (isUp ? 0 : maxScrollTop);
12352            const items = store.context.listRef.current;
12353            if (scrollTop !== scroller.scrollTop) {
12354              scroller.scrollTop = scrollTop;
12355            }
12356            if (isScrolledToEdge) {
12357              timeout.clear();
12358              return;
12359            }
12360            if (items.length > 0) {
12361              const scrollArrowHeight = scrollArrowRef.current?.offsetHeight || 0;
12362              scroller.scrollTop = getTargetScrollTop(items, isUp, scrollTop, scroller.clientHeight, scrollArrowHeight, maxScrollTop);
12363            }
12364            timeout.start(40, scrollNextItem);
12365          }
12366          timeout.start(40, scrollNextItem);
12367        },
12368        onMouseLeave() {
12369          timeout.clear();
12370        }
12371      };
12372      const element = useRenderElement("div", componentProps, {
12373        ref: [forwardedRef, scrollArrowRef],
12374        state,
12375        props: [defaultProps, elementProps],
12376        stateAttributesMapping: transitionStatusMapping
12377      });
12378      const shouldRender = mounted || keepMounted;
12379      if (!shouldRender) {
12380        return null;
12381      }
12382      return element;
12383    });
12384    if (true) SelectScrollArrow.displayName = "SelectScrollArrow";
12385    function getTargetScrollTop(items, isUp, scrollTop, clientHeight, scrollArrowHeight, maxScrollTop) {
12386      if (isUp) {
12387        let firstVisibleIndex = 0;
12388        const visibleTop = scrollTop + scrollArrowHeight - SCROLL_EDGE_TOLERANCE_PX;
12389        for (let i = 0; i < items.length; i += 1) {
12390          const item = items[i];
12391          if (item && item.offsetTop >= visibleTop) {
12392            firstVisibleIndex = i;
12393            break;
12394          }
12395        }
12396        const targetIndex2 = Math.max(0, firstVisibleIndex - 1);
12397        const targetItem2 = items[targetIndex2];
12398        return targetIndex2 < firstVisibleIndex && targetItem2 ? normalizeScrollOffset(targetItem2.offsetTop - scrollArrowHeight, maxScrollTop) : 0;
12399      }
12400      let lastVisibleIndex = items.length - 1;
12401      const visibleBottom = scrollTop + clientHeight - scrollArrowHeight + SCROLL_EDGE_TOLERANCE_PX;
12402      for (let i = 0; i < items.length; i += 1) {
12403        const item = items[i];
12404        if (item && item.offsetTop + item.offsetHeight > visibleBottom) {
12405          lastVisibleIndex = Math.max(0, i - 1);
12406          break;
12407        }
12408      }
12409      const targetIndex = Math.min(items.length - 1, lastVisibleIndex + 1);
12410      const targetItem = items[targetIndex];
12411      return targetIndex > lastVisibleIndex && targetItem ? normalizeScrollOffset(targetItem.offsetTop + targetItem.offsetHeight - clientHeight + scrollArrowHeight, maxScrollTop) : maxScrollTop;
12412    }
12413  
12414    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-down-arrow/SelectScrollDownArrow.mjs
12415    var import_jsx_runtime44 = __toESM(require_jsx_runtime(), 1);
12416    var SelectScrollDownArrow = /* @__PURE__ */ React87.forwardRef(function SelectScrollDownArrow2(props, forwardedRef) {
12417      return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(SelectScrollArrow, {
12418        ...props,
12419        ref: forwardedRef,
12420        direction: "down"
12421      });
12422    });
12423    if (true) SelectScrollDownArrow.displayName = "SelectScrollDownArrow";
12424  
12425    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/scroll-up-arrow/SelectScrollUpArrow.mjs
12426    var React88 = __toESM(require_react(), 1);
12427    var import_jsx_runtime45 = __toESM(require_jsx_runtime(), 1);
12428    var SelectScrollUpArrow = /* @__PURE__ */ React88.forwardRef(function SelectScrollUpArrow2(props, forwardedRef) {
12429      return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SelectScrollArrow, {
12430        ...props,
12431        ref: forwardedRef,
12432        direction: "up"
12433      });
12434    });
12435    if (true) SelectScrollUpArrow.displayName = "SelectScrollUpArrow";
12436  
12437    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group/SelectGroup.mjs
12438    var React90 = __toESM(require_react(), 1);
12439  
12440    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group/SelectGroupContext.mjs
12441    var React89 = __toESM(require_react(), 1);
12442    var SelectGroupContext = /* @__PURE__ */ React89.createContext(void 0);
12443    if (true) SelectGroupContext.displayName = "SelectGroupContext";
12444    function useSelectGroupContext() {
12445      const context = React89.useContext(SelectGroupContext);
12446      if (context === void 0) {
12447        throw new Error(true ? "Base UI: SelectGroupContext is missing. SelectGroup parts must be placed within <Select.Group>." : formatErrorMessage_default(56));
12448      }
12449      return context;
12450    }
12451  
12452    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group/SelectGroup.mjs
12453    var import_jsx_runtime46 = __toESM(require_jsx_runtime(), 1);
12454    var SelectGroup = /* @__PURE__ */ React90.forwardRef(function SelectGroup2(componentProps, forwardedRef) {
12455      const {
12456        render,
12457        className,
12458        style,
12459        ...elementProps
12460      } = componentProps;
12461      const [labelId, setLabelId] = React90.useState();
12462      const contextValue = React90.useMemo(() => ({
12463        labelId,
12464        setLabelId
12465      }), [labelId, setLabelId]);
12466      const element = useRenderElement("div", componentProps, {
12467        ref: forwardedRef,
12468        props: [{
12469          role: "group",
12470          "aria-labelledby": labelId
12471        }, elementProps]
12472      });
12473      return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(SelectGroupContext.Provider, {
12474        value: contextValue,
12475        children: element
12476      });
12477    });
12478    if (true) SelectGroup.displayName = "SelectGroup";
12479  
12480    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/group-label/SelectGroupLabel.mjs
12481    var React91 = __toESM(require_react(), 1);
12482    var SelectGroupLabel = /* @__PURE__ */ React91.forwardRef(function SelectGroupLabel2(componentProps, forwardedRef) {
12483      const {
12484        render,
12485        className,
12486        style,
12487        id: idProp,
12488        ...elementProps
12489      } = componentProps;
12490      const {
12491        setLabelId
12492      } = useSelectGroupContext();
12493      const id = useBaseUiId(idProp);
12494      useIsoLayoutEffect(() => {
12495        setLabelId(id);
12496        return () => {
12497          setLabelId((currentId) => currentId === id ? void 0 : currentId);
12498        };
12499      }, [id, setLabelId]);
12500      const element = useRenderElement("div", componentProps, {
12501        ref: forwardedRef,
12502        props: [{
12503          id,
12504          "aria-hidden": true
12505        }, elementProps]
12506      });
12507      return element;
12508    });
12509    if (true) SelectGroupLabel.displayName = "SelectGroupLabel";
12510  
12511    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/select/separator/SelectSeparator.mjs
12512    var SelectSeparator = ListboxSeparator;
12513  
12514    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/prehydrationScript.stub.mjs
12515    var script = "";
12516  
12517    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/hydration.mjs
12518    var React92 = __toESM(require_react(), 1);
12519    var import_shim2 = __toESM(require_shim(), 1);
12520    var emptySubscribe = () => () => {
12521    };
12522    var getTrue = () => true;
12523    var getFalse = () => false;
12524    function useIsHydratedModern() {
12525      return (0, import_shim2.useSyncExternalStore)(emptySubscribe, getTrue, getFalse);
12526    }
12527    function useIsHydratedLegacy() {
12528      const [hydrated, setHydrated] = React92.useState(false);
12529      React92.useEffect(() => {
12530        setHydrated(true);
12531      }, []);
12532      return hydrated;
12533    }
12534    var useIsHydrated = isReactVersionAtLeast(18) ? useIsHydratedModern : useIsHydratedLegacy;
12535    function useIsHydrating() {
12536      return !useIsHydrated();
12537    }
12538  
12539    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/PrehydrationScript.mjs
12540    var React93 = __toESM(require_react(), 1);
12541    var import_jsx_runtime47 = __toESM(require_jsx_runtime(), 1);
12542    function PrehydrationScript(props) {
12543      const {
12544        script: script2
12545      } = props;
12546      const {
12547        nonce
12548      } = useCSPContext();
12549      const isHydrating = useIsHydrating();
12550      if (!isHydrating) {
12551        return null;
12552      }
12553      return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("script", {
12554        nonce,
12555        dangerouslySetInnerHTML: {
12556          __html: script2
12557        },
12558        suppressHydrationWarning: true
12559      });
12560    }
12561  
12562    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/index.parts.mjs
12563    var index_parts_exports3 = {};
12564    __export(index_parts_exports3, {
12565      Indicator: () => TabsIndicator,
12566      List: () => TabsList,
12567      Panel: () => TabsPanel,
12568      Root: () => TabsRoot,
12569      Tab: () => TabsTab
12570    });
12571  
12572    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/root/TabsRoot.mjs
12573    var React95 = __toESM(require_react(), 1);
12574  
12575    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/root/TabsRootContext.mjs
12576    var React94 = __toESM(require_react(), 1);
12577    var TabsRootContext = /* @__PURE__ */ React94.createContext(void 0);
12578    if (true) TabsRootContext.displayName = "TabsRootContext";
12579    function useTabsRootContext() {
12580      const context = React94.useContext(TabsRootContext);
12581      if (context === void 0) {
12582        throw new Error(true ? "Base UI: TabsRootContext is missing. Tabs parts must be placed within <Tabs.Root>." : formatErrorMessage_default(64));
12583      }
12584      return context;
12585    }
12586  
12587    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/root/TabsRootDataAttributes.mjs
12588    var activationDirection = "data-activation-direction";
12589  
12590    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/root/stateAttributesMapping.mjs
12591    var tabsStateAttributesMapping = {
12592      tabActivationDirection: (dir) => ({
12593        [activationDirection]: dir
12594      })
12595    };
12596  
12597    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/root/TabsRoot.mjs
12598    var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1);
12599    var TabsRoot = /* @__PURE__ */ React95.forwardRef(function TabsRoot2(componentProps, forwardedRef) {
12600      const {
12601        className,
12602        defaultValue: defaultValueProp = 0,
12603        onValueChange: onValueChangeProp,
12604        orientation = "horizontal",
12605        render,
12606        value: valueProp,
12607        style,
12608        ...elementProps
12609      } = componentProps;
12610      const hasExplicitDefaultValueProp = componentProps.defaultValue !== void 0;
12611      const tabPanelRefs = React95.useRef([]);
12612      const [mountedTabPanels, setMountedTabPanels] = React95.useState(() => /* @__PURE__ */ new Map());
12613      const [value, setValue] = useControlled({
12614        controlled: valueProp,
12615        default: defaultValueProp,
12616        name: "Tabs",
12617        state: "value"
12618      });
12619      const isControlled = valueProp !== void 0;
12620      const [tabMap, setTabMap] = React95.useState(() => /* @__PURE__ */ new Map());
12621      const lastKnownTabElementRef = React95.useRef(void 0);
12622      const getTabElementBySelectedValue = React95.useCallback((selectedValue) => findTabElement(tabMap, selectedValue), [tabMap]);
12623      const [activationDirectionState, setActivationDirectionState] = React95.useState(() => ({
12624        previousValue: value,
12625        tabActivationDirection: "none"
12626      }));
12627      const {
12628        previousValue,
12629        tabActivationDirection: committedTabActivationDirection
12630      } = activationDirectionState;
12631      let tabActivationDirection = committedTabActivationDirection;
12632      let directionComputationIncomplete = false;
12633      if (previousValue !== value) {
12634        tabActivationDirection = computeActivationDirection(previousValue, value, orientation, tabMap);
12635        directionComputationIncomplete = previousValue != null && value != null && getTabElementBySelectedValue(value) == null;
12636      }
12637      const nextPreviousValue = directionComputationIncomplete ? previousValue : value;
12638      const shouldSyncActivationDirectionState = previousValue !== nextPreviousValue || committedTabActivationDirection !== tabActivationDirection;
12639      useIsoLayoutEffect(() => {
12640        if (!shouldSyncActivationDirectionState) {
12641          return;
12642        }
12643        setActivationDirectionState({
12644          previousValue: nextPreviousValue,
12645          tabActivationDirection
12646        });
12647      }, [nextPreviousValue, shouldSyncActivationDirectionState, tabActivationDirection]);
12648      const onValueChange = useStableCallback((newValue, eventDetails) => {
12649        const activationDirection2 = computeActivationDirection(value, newValue, orientation, tabMap);
12650        eventDetails.activationDirection = activationDirection2;
12651        onValueChangeProp?.(newValue, eventDetails);
12652        if (eventDetails.isCanceled) {
12653          return;
12654        }
12655        setValue(() => newValue);
12656      });
12657      const notifyAutomaticValueChange = useStableCallback((nextValue, reason) => {
12658        onValueChangeProp?.(nextValue, createChangeEventDetails(reason, void 0, void 0, {
12659          activationDirection: "none"
12660        }));
12661      });
12662      const registerMountedTabPanel = useStableCallback((panelValue, panelId) => {
12663        setMountedTabPanels((prev) => {
12664          const next = new Map(prev);
12665          next.set(panelValue, panelId);
12666          return next;
12667        });
12668        return () => {
12669          setMountedTabPanels((prev) => {
12670            if (prev.get(panelValue) !== panelId) {
12671              return prev;
12672            }
12673            const next = new Map(prev);
12674            next.delete(panelValue);
12675            return next;
12676          });
12677        };
12678      });
12679      const getTabPanelIdByValue = React95.useCallback((tabValue) => {
12680        return mountedTabPanels.get(tabValue);
12681      }, [mountedTabPanels]);
12682      const getTabIdByPanelValue = React95.useCallback((tabPanelValue) => {
12683        for (const tabMetadata of tabMap.values()) {
12684          if (tabPanelValue === tabMetadata.value) {
12685            return tabMetadata.id;
12686          }
12687        }
12688        return void 0;
12689      }, [tabMap]);
12690      const tabsContextValue = React95.useMemo(() => ({
12691        getTabElementBySelectedValue,
12692        getTabIdByPanelValue,
12693        getTabPanelIdByValue,
12694        onValueChange,
12695        orientation,
12696        registerMountedTabPanel,
12697        setTabMap,
12698        tabActivationDirection,
12699        value
12700      }), [getTabElementBySelectedValue, getTabIdByPanelValue, getTabPanelIdByValue, onValueChange, orientation, registerMountedTabPanel, setTabMap, tabActivationDirection, value]);
12701      const selectedTabMetadata = React95.useMemo(() => {
12702        for (const tabMetadata of tabMap.values()) {
12703          if (tabMetadata.value === value) {
12704            return tabMetadata;
12705          }
12706        }
12707        return void 0;
12708      }, [tabMap, value]);
12709      const firstEnabledTabValue = React95.useMemo(() => {
12710        for (const tabMetadata of tabMap.values()) {
12711          if (!tabMetadata.disabled) {
12712            return tabMetadata.value;
12713          }
12714        }
12715        return void 0;
12716      }, [tabMap]);
12717      const shouldNotifyInitialValueChangeRef = React95.useRef(!hasExplicitDefaultValueProp);
12718      const initialDefaultValueRef = React95.useRef(defaultValueProp);
12719      const shouldHonorDisabledDefaultValueRef = React95.useRef(hasExplicitDefaultValueProp);
12720      const didRegisterTabsRef = React95.useRef(false);
12721      useIsoLayoutEffect(() => {
12722        if (isControlled) {
12723          return;
12724        }
12725        function commitAutomaticValueChange(fallbackValue, fallbackReason) {
12726          setValue(() => fallbackValue);
12727          setActivationDirectionState({
12728            previousValue: fallbackValue,
12729            tabActivationDirection: "none"
12730          });
12731          notifyAutomaticValueChange(fallbackValue, fallbackReason);
12732          shouldNotifyInitialValueChangeRef.current = false;
12733        }
12734        if (tabMap.size === 0) {
12735          if (didRegisterTabsRef.current && value !== null && !lastKnownTabElementRef.current?.isConnected) {
12736            commitAutomaticValueChange(null, reason_parts_exports.missing);
12737          }
12738          return;
12739        }
12740        didRegisterTabsRef.current = true;
12741        lastKnownTabElementRef.current = tabMap.keys().next().value;
12742        const selectionIsDisabled = selectedTabMetadata?.disabled;
12743        const selectionIsMissing = selectedTabMetadata == null && value !== null;
12744        if (!selectionIsDisabled && value === initialDefaultValueRef.current) {
12745          shouldHonorDisabledDefaultValueRef.current = false;
12746        }
12747        if (shouldHonorDisabledDefaultValueRef.current && selectionIsDisabled && value === initialDefaultValueRef.current) {
12748          return;
12749        }
12750        const shouldNotifyInitialValueChange = shouldNotifyInitialValueChangeRef.current;
12751        if (selectionIsDisabled || selectionIsMissing) {
12752          const fallbackValue = firstEnabledTabValue ?? null;
12753          if (value === fallbackValue) {
12754            shouldNotifyInitialValueChangeRef.current = false;
12755            return;
12756          }
12757          let fallbackReason = reason_parts_exports.missing;
12758          if (shouldNotifyInitialValueChange) {
12759            fallbackReason = reason_parts_exports.initial;
12760          } else if (selectionIsDisabled) {
12761            fallbackReason = reason_parts_exports.disabled;
12762          }
12763          commitAutomaticValueChange(fallbackValue, fallbackReason);
12764          return;
12765        }
12766        if (shouldNotifyInitialValueChange && selectedTabMetadata != null) {
12767          notifyAutomaticValueChange(value, reason_parts_exports.initial);
12768          shouldNotifyInitialValueChangeRef.current = false;
12769        }
12770      }, [firstEnabledTabValue, isControlled, notifyAutomaticValueChange, selectedTabMetadata, setValue, tabMap, value]);
12771      const state = {
12772        orientation,
12773        tabActivationDirection
12774      };
12775      const element = useRenderElement("div", componentProps, {
12776        state,
12777        ref: forwardedRef,
12778        props: elementProps,
12779        stateAttributesMapping: tabsStateAttributesMapping
12780      });
12781      return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(TabsRootContext.Provider, {
12782        value: tabsContextValue,
12783        children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(CompositeList, {
12784          elementsRef: tabPanelRefs,
12785          children: element
12786        })
12787      });
12788    });
12789    if (true) TabsRoot.displayName = "TabsRoot";
12790    function findTabElement(tabMap, value) {
12791      for (const [tabElement, tabMetadata] of tabMap.entries()) {
12792        if (value === tabMetadata.value) {
12793          return tabElement;
12794        }
12795      }
12796      return null;
12797    }
12798    function computeActivationDirection(oldValue, newValue, orientation, tabMap) {
12799      if (oldValue == null || newValue == null) {
12800        return "none";
12801      }
12802      const [positionProp, backward, forward] = orientation === "horizontal" ? ["left", "left", "right"] : ["top", "up", "down"];
12803      const oldTab = findTabElement(tabMap, oldValue);
12804      const newTab = findTabElement(tabMap, newValue);
12805      if (oldTab == null || newTab == null) {
12806        if (oldTab !== newTab && (typeof oldValue === "number" || typeof oldValue === "string") && typeof oldValue === typeof newValue) {
12807          return newValue > oldValue ? forward : backward;
12808        }
12809        return "none";
12810      }
12811      const oldPosition = oldTab.getBoundingClientRect()[positionProp];
12812      const newPosition = newTab.getBoundingClientRect()[positionProp];
12813      if (newPosition < oldPosition) {
12814        return backward;
12815      }
12816      if (newPosition > oldPosition) {
12817        return forward;
12818      }
12819      return "none";
12820    }
12821  
12822    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/tab/TabsTab.mjs
12823    var React97 = __toESM(require_react(), 1);
12824  
12825    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/list/TabsListContext.mjs
12826    var React96 = __toESM(require_react(), 1);
12827    var TabsListContext = /* @__PURE__ */ React96.createContext(void 0);
12828    if (true) TabsListContext.displayName = "TabsListContext";
12829    function useTabsListContext() {
12830      const context = React96.useContext(TabsListContext);
12831      if (context === void 0) {
12832        throw new Error(true ? "Base UI: TabsListContext is missing. TabsList parts must be placed within <Tabs.List>." : formatErrorMessage_default(65));
12833      }
12834      return context;
12835    }
12836  
12837    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/tab/TabsTab.mjs
12838    var TabsTab = /* @__PURE__ */ React97.forwardRef(function TabsTab2(componentProps, forwardedRef) {
12839      const {
12840        className,
12841        disabled: disabled2 = false,
12842        render,
12843        value,
12844        id: idProp,
12845        nativeButton = true,
12846        style,
12847        ...elementProps
12848      } = componentProps;
12849      const {
12850        value: activeTabValue,
12851        getTabPanelIdByValue,
12852        onValueChange,
12853        orientation,
12854        tabActivationDirection
12855      } = useTabsRootContext();
12856      const {
12857        activateOnFocus,
12858        registerTabResizeObserverElement,
12859        tabsListElement
12860      } = useTabsListContext();
12861      const {
12862        highlightedIndex,
12863        onHighlightedIndexChange
12864      } = useCompositeRootContext();
12865      const id = useBaseUiId(idProp);
12866      const tabMetadata = React97.useMemo(() => ({
12867        disabled: disabled2,
12868        id,
12869        value
12870      }), [disabled2, id, value]);
12871      const {
12872        compositeProps,
12873        compositeRef,
12874        index: index3
12875        // hook is used instead of the CompositeItem component
12876        // because the index is needed for Tab internals
12877      } = useCompositeItem({
12878        metadata: tabMetadata
12879      });
12880      const active = value === activeTabValue;
12881      const isNavigatingRef = React97.useRef(false);
12882      const unobserveTabElementRef = React97.useRef(null);
12883      const observeTabElement = useStableCallback((element2) => {
12884        unobserveTabElementRef.current?.();
12885        unobserveTabElementRef.current = element2 ? registerTabResizeObserverElement(element2) : null;
12886      });
12887      useIsoLayoutEffect(() => {
12888        if (isNavigatingRef.current) {
12889          isNavigatingRef.current = false;
12890          return;
12891        }
12892        if (!(active && index3 > -1 && highlightedIndex !== index3)) {
12893          return;
12894        }
12895        const listElement = tabsListElement;
12896        if (listElement != null) {
12897          const activeEl = activeElement(ownerDocument(listElement));
12898          if (activeEl && contains(listElement, activeEl)) {
12899            return;
12900          }
12901        }
12902        if (!disabled2) {
12903          onHighlightedIndexChange(index3);
12904        }
12905      }, [active, index3, highlightedIndex, onHighlightedIndexChange, disabled2, tabsListElement]);
12906      const {
12907        getButtonProps,
12908        buttonRef
12909      } = useButton({
12910        disabled: disabled2,
12911        native: nativeButton,
12912        focusableWhenDisabled: true
12913      });
12914      const tabPanelId = getTabPanelIdByValue(value);
12915      const isPressingRef = React97.useRef(false);
12916      const isMainButtonRef = React97.useRef(false);
12917      function activate(event) {
12918        onValueChange(value, createChangeEventDetails(reason_parts_exports.none, event.nativeEvent, void 0, {
12919          activationDirection: "none"
12920        }));
12921      }
12922      function onClick(event) {
12923        if (active || disabled2) {
12924          return;
12925        }
12926        activate(event);
12927      }
12928      function onFocus(event) {
12929        if (active || disabled2) {
12930          return;
12931        }
12932        if (activateOnFocus && (!isPressingRef.current || // keyboard or touch focus
12933        isMainButtonRef.current)) {
12934          activate(event);
12935        }
12936      }
12937      function onPointerDown(event) {
12938        if (active || disabled2) {
12939          return;
12940        }
12941        isPressingRef.current = true;
12942        isMainButtonRef.current = event.button === 0;
12943        const doc = ownerDocument(event.currentTarget);
12944        function handlePointerEnd() {
12945          isPressingRef.current = false;
12946          isMainButtonRef.current = false;
12947          doc.removeEventListener("pointerup", handlePointerEnd);
12948          doc.removeEventListener("pointercancel", handlePointerEnd);
12949        }
12950        doc.addEventListener("pointerup", handlePointerEnd);
12951        doc.addEventListener("pointercancel", handlePointerEnd);
12952      }
12953      const state = {
12954        disabled: disabled2,
12955        active,
12956        orientation,
12957        tabActivationDirection
12958      };
12959      const element = useRenderElement("button", componentProps, {
12960        state,
12961        ref: [forwardedRef, buttonRef, compositeRef, observeTabElement],
12962        props: [compositeProps, {
12963          role: "tab",
12964          "aria-controls": tabPanelId,
12965          "aria-selected": active,
12966          id,
12967          onClick,
12968          onFocus,
12969          onPointerDown,
12970          [ACTIVE_COMPOSITE_ITEM]: active ? "" : void 0,
12971          onKeyDownCapture() {
12972            isNavigatingRef.current = true;
12973          }
12974        }, elementProps, getButtonProps],
12975        stateAttributesMapping: tabsStateAttributesMapping
12976      });
12977      return element;
12978    });
12979    if (true) TabsTab.displayName = "TabsTab";
12980  
12981    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/indicator/TabsIndicator.mjs
12982    var React98 = __toESM(require_react(), 1);
12983  
12984    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/indicator/TabsIndicatorCssVars.mjs
12985    var activeTabLeft = "--active-tab-left";
12986    var activeTabRight = "--active-tab-right";
12987    var activeTabTop = "--active-tab-top";
12988    var activeTabBottom = "--active-tab-bottom";
12989    var activeTabWidth = "--active-tab-width";
12990    var activeTabHeight = "--active-tab-height";
12991  
12992    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/indicator/TabsIndicator.mjs
12993    var import_jsx_runtime49 = __toESM(require_jsx_runtime(), 1);
12994    var _PrehydrationScript;
12995    var stateAttributesMapping6 = {
12996      ...tabsStateAttributesMapping,
12997      activeTabPosition: () => null,
12998      activeTabSize: () => null
12999    };
13000    var MAX_LAYOUT_ROUNDING_ERROR = 2;
13001    var TabsIndicator = /* @__PURE__ */ React98.forwardRef(function TabsIndicator2(componentProps, forwardedRef) {
13002      const {
13003        className,
13004        render,
13005        renderBeforeHydration = false,
13006        style: styleProp,
13007        ...elementProps
13008      } = componentProps;
13009      const {
13010        getTabElementBySelectedValue,
13011        orientation,
13012        tabActivationDirection,
13013        value
13014      } = useTabsRootContext();
13015      const {
13016        tabsListElement,
13017        registerIndicatorUpdateListener
13018      } = useTabsListContext();
13019      const rerender = useForcedRerendering();
13020      React98.useEffect(() => {
13021        return registerIndicatorUpdateListener(rerender);
13022      }, [registerIndicatorUpdateListener, rerender]);
13023      let left = 0;
13024      let right = 0;
13025      let top = 0;
13026      let bottom = 0;
13027      let width = 0;
13028      let height = 0;
13029      let isTabSelected = false;
13030      if (value != null && tabsListElement != null) {
13031        const activeTab = getTabElementBySelectedValue(value);
13032        if (activeTab != null) {
13033          isTabSelected = true;
13034          const {
13035            width: computedWidth,
13036            height: computedHeight
13037          } = getCssDimensions2(activeTab);
13038          const {
13039            width: tabListWidth,
13040            height: tabListHeight
13041          } = getCssDimensions2(tabsListElement);
13042          const tabRect = activeTab.getBoundingClientRect();
13043          const tabsListRect = tabsListElement.getBoundingClientRect();
13044          const scaleX = tabListWidth > 0 ? tabsListRect.width / tabListWidth : 1;
13045          const scaleY = tabListHeight > 0 ? tabsListRect.height / tabListHeight : 1;
13046          const layoutOffset = getLayoutOffset(activeTab, tabsListElement);
13047          left = layoutOffset.left;
13048          top = layoutOffset.top;
13049          const rectLeft = (tabRect.left - tabsListRect.left) / scaleX + tabsListElement.scrollLeft - tabsListElement.clientLeft;
13050          const rectTop = (tabRect.top - tabsListRect.top) / scaleY + tabsListElement.scrollTop - tabsListElement.clientTop;
13051          const tabTranslation = getActiveTabTranslation(activeTab);
13052          if (Math.abs(rectLeft - tabTranslation.x - left) <= MAX_LAYOUT_ROUNDING_ERROR && Math.abs(rectTop - tabTranslation.y - top) <= MAX_LAYOUT_ROUNDING_ERROR) {
13053            left = rectLeft;
13054            top = rectTop;
13055          }
13056          width = computedWidth;
13057          height = computedHeight;
13058          right = tabsListElement.scrollWidth - left - width;
13059          bottom = tabsListElement.scrollHeight - top - height;
13060        }
13061      }
13062      const activeTabPosition = isTabSelected ? {
13063        left,
13064        right,
13065        top,
13066        bottom
13067      } : null;
13068      const activeTabSize = isTabSelected ? {
13069        width,
13070        height
13071      } : null;
13072      const style = isTabSelected ? {
13073        [activeTabLeft]: `$left}px`,
13074        [activeTabRight]: `$right}px`,
13075        [activeTabTop]: `$top}px`,
13076        [activeTabBottom]: `$bottom}px`,
13077        [activeTabWidth]: `$width}px`,
13078        [activeTabHeight]: `$height}px`
13079      } : void 0;
13080      const displayIndicator = isTabSelected && width > 0 && height > 0;
13081      const state = {
13082        orientation,
13083        activeTabPosition,
13084        activeTabSize,
13085        tabActivationDirection
13086      };
13087      const element = useRenderElement("span", componentProps, {
13088        state,
13089        ref: forwardedRef,
13090        props: [{
13091          role: "presentation",
13092          style,
13093          hidden: !displayIndicator
13094          // do not display the indicator before the layout is settled
13095        }, elementProps, {
13096          suppressHydrationWarning: true
13097        }],
13098        stateAttributesMapping: stateAttributesMapping6
13099      });
13100      if (value == null) {
13101        return null;
13102      }
13103      return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(React98.Fragment, {
13104        children: [element, renderBeforeHydration && (_PrehydrationScript || (_PrehydrationScript = /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(PrehydrationScript, {
13105          script
13106        })))]
13107      });
13108    });
13109    if (true) TabsIndicator.displayName = "TabsIndicator";
13110    function getLayoutOffset(element, ancestor) {
13111      const elementOffset = getCumulativeOffset(element);
13112      const ancestorOffset = getCumulativeOffset(ancestor);
13113      let left = elementOffset.left - ancestorOffset.left - ancestor.clientLeft;
13114      let top = elementOffset.top - ancestorOffset.top - ancestor.clientTop;
13115      let node = getParentNode(element);
13116      while (isHTMLElement(node) && node !== ancestor && !isLastTraversableNode(node)) {
13117        left -= node.scrollLeft;
13118        top -= node.scrollTop;
13119        node = getParentNode(node);
13120      }
13121      return {
13122        left,
13123        top
13124      };
13125    }
13126    function getCumulativeOffset(element) {
13127      let left = 0;
13128      let top = 0;
13129      let currentElement = element;
13130      while (currentElement != null) {
13131        left += currentElement.offsetLeft;
13132        top += currentElement.offsetTop;
13133        const offsetParent = currentElement.offsetParent;
13134        if (offsetParent != null) {
13135          left += offsetParent.clientLeft;
13136          top += offsetParent.clientTop;
13137        }
13138        currentElement = offsetParent;
13139      }
13140      return {
13141        left,
13142        top
13143      };
13144    }
13145    function getActiveTabTranslation(element) {
13146      const computedStyle = getWindow(element).getComputedStyle(element);
13147      const {
13148        x,
13149        y
13150      } = getElementTransform(element, computedStyle);
13151      let translateX = x;
13152      let translateY = y;
13153      const {
13154        translate
13155      } = computedStyle;
13156      if (translate && translate !== "none") {
13157        const parts = translate.split(" ");
13158        translateX += resolveTranslateLength(parts[0], element.offsetWidth);
13159        translateY += resolveTranslateLength(parts[1], element.offsetHeight);
13160      }
13161      return {
13162        x: translateX,
13163        y: translateY
13164      };
13165    }
13166    function resolveTranslateLength(value, referenceSize) {
13167      if (!value) {
13168        return 0;
13169      }
13170      const numeric = parseFloat(value);
13171      if (!Number.isFinite(numeric)) {
13172        return 0;
13173      }
13174      return value.endsWith("%") ? numeric / 100 * referenceSize : numeric;
13175    }
13176  
13177    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/panel/TabsPanel.mjs
13178    var React99 = __toESM(require_react(), 1);
13179  
13180    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/panel/TabsPanelDataAttributes.mjs
13181    var index2 = "data-index";
13182    var startingStyle2 = TransitionStatusDataAttributes_exports.startingStyle;
13183    var endingStyle2 = TransitionStatusDataAttributes_exports.endingStyle;
13184  
13185    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/panel/TabsPanel.mjs
13186    var stateAttributesMapping7 = {
13187      ...tabsStateAttributesMapping,
13188      ...transitionStatusMapping
13189    };
13190    var TabsPanel = /* @__PURE__ */ React99.forwardRef(function TabsPanel2(componentProps, forwardedRef) {
13191      const {
13192        className,
13193        value,
13194        render,
13195        keepMounted = false,
13196        style,
13197        ...elementProps
13198      } = componentProps;
13199      const {
13200        value: selectedValue,
13201        getTabIdByPanelValue,
13202        orientation,
13203        tabActivationDirection,
13204        registerMountedTabPanel
13205      } = useTabsRootContext();
13206      const id = useBaseUiId();
13207      const {
13208        ref: listItemRef,
13209        index: index3
13210      } = useCompositeListItem();
13211      const open2 = value === selectedValue;
13212      const {
13213        mounted,
13214        transitionStatus,
13215        setMounted
13216      } = useTransitionStatus(open2);
13217      const hidden = !mounted;
13218      const correspondingTabId = getTabIdByPanelValue(value);
13219      const state = {
13220        hidden,
13221        orientation,
13222        tabActivationDirection,
13223        transitionStatus
13224      };
13225      const panelRef = React99.useRef(null);
13226      const element = useRenderElement("div", componentProps, {
13227        state,
13228        ref: [forwardedRef, listItemRef, panelRef],
13229        props: [{
13230          "aria-labelledby": correspondingTabId,
13231          hidden,
13232          id,
13233          role: "tabpanel",
13234          tabIndex: open2 ? 0 : -1,
13235          inert: inertValue(!open2),
13236          // Computed key: a plain literal key fails the DOM-props excess property check.
13237          [index2]: index3
13238        }, elementProps],
13239        stateAttributesMapping: stateAttributesMapping7
13240      });
13241      useOpenChangeComplete({
13242        open: open2,
13243        ref: panelRef,
13244        onComplete() {
13245          if (!open2) {
13246            setMounted(false);
13247          }
13248        }
13249      });
13250      useIsoLayoutEffect(() => {
13251        if (id == null || hidden && !keepMounted) {
13252          return void 0;
13253        }
13254        return registerMountedTabPanel(value, id);
13255      }, [hidden, keepMounted, value, id, registerMountedTabPanel]);
13256      const shouldRender = keepMounted || mounted;
13257      if (!shouldRender) {
13258        return null;
13259      }
13260      return element;
13261    });
13262    if (true) TabsPanel.displayName = "TabsPanel";
13263  
13264    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tabs/list/TabsList.mjs
13265    var React100 = __toESM(require_react(), 1);
13266    var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1);
13267    var TabsList = /* @__PURE__ */ React100.forwardRef(function TabsList2(componentProps, forwardedRef) {
13268      const {
13269        activateOnFocus = false,
13270        className,
13271        loopFocus = true,
13272        render,
13273        style,
13274        ...elementProps
13275      } = componentProps;
13276      const {
13277        orientation,
13278        setTabMap,
13279        tabActivationDirection
13280      } = useTabsRootContext();
13281      const [highlightedTabIndex, setHighlightedTabIndex] = React100.useState(0);
13282      const [tabsListElement, setTabsListElement] = React100.useState(null);
13283      const indicatorUpdateListenersRef = React100.useRef(/* @__PURE__ */ new Set());
13284      const tabResizeObserverElementsRef = React100.useRef(/* @__PURE__ */ new Set());
13285      const resizeObserverRef = React100.useRef(null);
13286      useIsoLayoutEffect(() => {
13287        if (typeof ResizeObserver === "undefined") {
13288          return void 0;
13289        }
13290        const resizeObserver = new ResizeObserver(() => {
13291          indicatorUpdateListenersRef.current.forEach((listener) => {
13292            listener();
13293          });
13294        });
13295        resizeObserverRef.current = resizeObserver;
13296        if (tabsListElement) {
13297          resizeObserver.observe(tabsListElement);
13298        }
13299        tabResizeObserverElementsRef.current.forEach((element) => {
13300          resizeObserver.observe(element);
13301        });
13302        return () => {
13303          resizeObserver.disconnect();
13304          resizeObserverRef.current = null;
13305        };
13306      }, [tabsListElement]);
13307      const registerIndicatorUpdateListener = useStableCallback((listener) => {
13308        indicatorUpdateListenersRef.current.add(listener);
13309        return () => {
13310          indicatorUpdateListenersRef.current.delete(listener);
13311        };
13312      });
13313      const registerTabResizeObserverElement = useStableCallback((element) => {
13314        tabResizeObserverElementsRef.current.add(element);
13315        resizeObserverRef.current?.observe(element);
13316        return () => {
13317          tabResizeObserverElementsRef.current.delete(element);
13318          resizeObserverRef.current?.unobserve(element);
13319        };
13320      });
13321      const state = {
13322        orientation,
13323        tabActivationDirection
13324      };
13325      const defaultProps = {
13326        "aria-orientation": orientation === "vertical" ? "vertical" : void 0,
13327        role: "tablist"
13328      };
13329      const tabsListContextValue = React100.useMemo(() => ({
13330        activateOnFocus,
13331        registerIndicatorUpdateListener,
13332        registerTabResizeObserverElement,
13333        tabsListElement
13334      }), [activateOnFocus, registerIndicatorUpdateListener, registerTabResizeObserverElement, tabsListElement]);
13335      return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(TabsListContext.Provider, {
13336        value: tabsListContextValue,
13337        children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(CompositeRoot, {
13338          render,
13339          className,
13340          style,
13341          state,
13342          refs: [forwardedRef, setTabsListElement],
13343          props: [defaultProps, elementProps],
13344          stateAttributesMapping: tabsStateAttributesMapping,
13345          highlightedIndex: highlightedTabIndex,
13346          enableHomeAndEndKeys: true,
13347          loopFocus,
13348          orientation,
13349          onHighlightedIndexChange: setHighlightedTabIndex,
13350          onMapChange: setTabMap,
13351          disabledIndices: EMPTY_ARRAY
13352        })
13353      });
13354    });
13355    if (true) TabsList.displayName = "TabsList";
13356  
13357    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/use-render/useRender.mjs
13358    function useRender(params) {
13359      return useRenderElement(params.defaultTagName ?? "div", params, params);
13360    }
13361  
13362    // packages/ui/build-module/text/text.mjs
13363    var import_element9 = __toESM(require_element(), 1);
13364    var STYLE_HASH_ATTRIBUTE = "data-wp-hash";
13365    function getRuntime() {
13366      const globalScope = globalThis;
13367      if (globalScope.__wpStyleRuntime) {
13368        return globalScope.__wpStyleRuntime;
13369      }
13370      globalScope.__wpStyleRuntime = {
13371        documents: /* @__PURE__ */ new Map(),
13372        styles: /* @__PURE__ */ new Map(),
13373        injectedStyles: /* @__PURE__ */ new WeakMap()
13374      };
13375      if (typeof document !== "undefined") {
13376        registerDocument(document);
13377      }
13378      return globalScope.__wpStyleRuntime;
13379    }
13380    function documentContainsStyleHash(targetDocument, hash) {
13381      if (!targetDocument.head) {
13382        return false;
13383      }
13384      for (const style of targetDocument.head.querySelectorAll(
13385        `style[$STYLE_HASH_ATTRIBUTE}]`
13386      )) {
13387        if (style.getAttribute(STYLE_HASH_ATTRIBUTE) === hash) {
13388          return true;
13389        }
13390      }
13391      return false;
13392    }
13393    function injectStyle(targetDocument, hash, css) {
13394      if (!targetDocument.head) {
13395        return;
13396      }
13397      const runtime = getRuntime();
13398      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13399      if (!injectedStyles) {
13400        injectedStyles = /* @__PURE__ */ new Set();
13401        runtime.injectedStyles.set(targetDocument, injectedStyles);
13402      }
13403      if (injectedStyles.has(hash)) {
13404        return;
13405      }
13406      if (documentContainsStyleHash(targetDocument, hash)) {
13407        injectedStyles.add(hash);
13408        return;
13409      }
13410      const style = targetDocument.createElement("style");
13411      style.setAttribute(STYLE_HASH_ATTRIBUTE, hash);
13412      style.appendChild(targetDocument.createTextNode(css));
13413      targetDocument.head.appendChild(style);
13414      injectedStyles.add(hash);
13415    }
13416    function registerDocument(targetDocument) {
13417      const runtime = getRuntime();
13418      runtime.documents.set(
13419        targetDocument,
13420        (runtime.documents.get(targetDocument) ?? 0) + 1
13421      );
13422      for (const [hash, css] of runtime.styles) {
13423        injectStyle(targetDocument, hash, css);
13424      }
13425      return () => {
13426        const count = runtime.documents.get(targetDocument);
13427        if (count === void 0) {
13428          return;
13429        }
13430        if (count <= 1) {
13431          runtime.documents.delete(targetDocument);
13432          return;
13433        }
13434        runtime.documents.set(targetDocument, count - 1);
13435      };
13436    }
13437    function registerStyle(hash, css) {
13438      const runtime = getRuntime();
13439      runtime.styles.set(hash, css);
13440      for (const targetDocument of runtime.documents.keys()) {
13441        injectStyle(targetDocument, hash, css);
13442      }
13443    }
13444    if (typeof process === "undefined" || true) {
13445      registerStyle("3167e7d116", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._83ed8a8da5dd50ea__text{text-wrap:pretty;margin:0}._14437cfb77831647__heading-2xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-p-line-height:var(--wpds-typography-line-height-2xl,40px);font-size:var(--wpds-typography-font-size-2xl,32px);line-height:var(--wpds-typography-line-height-2xl,40px)}._14437cfb77831647__heading-2xl,._3c78b7fa9b4072dd__heading-xl{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600)}._3c78b7fa9b4072dd__heading-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-md,24px)}.aa58f227716bcde2__heading-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-lg,15px)}.aa58f227716bcde2__heading-lg,.fc4da56d8dfe52c4__heading-md{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-sm,20px)}.fc4da56d8dfe52c4__heading-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px)}.a9b78c7c82e8dff7__heading-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-xs,16px);text-transform:uppercase}._305ff559e52180d5__body-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-xl,32px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-xl,32px)}._305ff559e52180d5__body-xl,.ca1aa3fc2029e958__body-lg{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}.ca1aa3fc2029e958__body-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-lg,15px);line-height:var(--wpds-typography-line-height-md,24px)}._131101940be12424__body-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}._0e8d87a42c1f75fa__body-sm,._131101940be12424__body-md{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}._0e8d87a42c1f75fa__body-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-size:var(--wpds-typography-font-size-sm,12px);line-height:var(--wpds-typography-line-height-xs,16px)}}}');
13446    }
13447    var style_default = { "text": "_83ed8a8da5dd50ea__text", "heading-2xl": "_14437cfb77831647__heading-2xl", "heading-xl": "_3c78b7fa9b4072dd__heading-xl", "heading-lg": "aa58f227716bcde2__heading-lg", "heading-md": "fc4da56d8dfe52c4__heading-md", "heading-sm": "a9b78c7c82e8dff7__heading-sm", "body-xl": "_305ff559e52180d5__body-xl", "body-lg": "ca1aa3fc2029e958__body-lg", "body-md": "_131101940be12424__body-md", "body-sm": "_0e8d87a42c1f75fa__body-sm" };
13448    if (typeof process === "undefined" || true) {
13449      registerStyle("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
13450    }
13451    var global_css_defense_default = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
13452    var Text = (0, import_element9.forwardRef)(
13453      function UnforwardedText({ variant = "body-md", render, className, ...props }, ref) {
13454        const element = useRender({
13455          render,
13456          defaultTagName: "span",
13457          ref,
13458          props: mergeProps(props, {
13459            className: clsx_default(
13460              style_default.text,
13461              global_css_defense_default.heading,
13462              global_css_defense_default.p,
13463              style_default[variant],
13464              className
13465            )
13466          })
13467        });
13468        return element;
13469      }
13470    );
13471  
13472    // packages/ui/build-module/spinner/spinner.mjs
13473    var import_element10 = __toESM(require_element(), 1);
13474    var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
13475    var STYLE_HASH_ATTRIBUTE2 = "data-wp-hash";
13476    function getRuntime2() {
13477      const globalScope = globalThis;
13478      if (globalScope.__wpStyleRuntime) {
13479        return globalScope.__wpStyleRuntime;
13480      }
13481      globalScope.__wpStyleRuntime = {
13482        documents: /* @__PURE__ */ new Map(),
13483        styles: /* @__PURE__ */ new Map(),
13484        injectedStyles: /* @__PURE__ */ new WeakMap()
13485      };
13486      if (typeof document !== "undefined") {
13487        registerDocument2(document);
13488      }
13489      return globalScope.__wpStyleRuntime;
13490    }
13491    function documentContainsStyleHash2(targetDocument, hash) {
13492      if (!targetDocument.head) {
13493        return false;
13494      }
13495      for (const style of targetDocument.head.querySelectorAll(
13496        `style[$STYLE_HASH_ATTRIBUTE2}]`
13497      )) {
13498        if (style.getAttribute(STYLE_HASH_ATTRIBUTE2) === hash) {
13499          return true;
13500        }
13501      }
13502      return false;
13503    }
13504    function injectStyle2(targetDocument, hash, css) {
13505      if (!targetDocument.head) {
13506        return;
13507      }
13508      const runtime = getRuntime2();
13509      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13510      if (!injectedStyles) {
13511        injectedStyles = /* @__PURE__ */ new Set();
13512        runtime.injectedStyles.set(targetDocument, injectedStyles);
13513      }
13514      if (injectedStyles.has(hash)) {
13515        return;
13516      }
13517      if (documentContainsStyleHash2(targetDocument, hash)) {
13518        injectedStyles.add(hash);
13519        return;
13520      }
13521      const style = targetDocument.createElement("style");
13522      style.setAttribute(STYLE_HASH_ATTRIBUTE2, hash);
13523      style.appendChild(targetDocument.createTextNode(css));
13524      targetDocument.head.appendChild(style);
13525      injectedStyles.add(hash);
13526    }
13527    function registerDocument2(targetDocument) {
13528      const runtime = getRuntime2();
13529      runtime.documents.set(
13530        targetDocument,
13531        (runtime.documents.get(targetDocument) ?? 0) + 1
13532      );
13533      for (const [hash, css] of runtime.styles) {
13534        injectStyle2(targetDocument, hash, css);
13535      }
13536      return () => {
13537        const count = runtime.documents.get(targetDocument);
13538        if (count === void 0) {
13539          return;
13540        }
13541        if (count <= 1) {
13542          runtime.documents.delete(targetDocument);
13543          return;
13544        }
13545        runtime.documents.set(targetDocument, count - 1);
13546      };
13547    }
13548    function registerStyle2(hash, css) {
13549      const runtime = getRuntime2();
13550      runtime.styles.set(hash, css);
13551      for (const targetDocument of runtime.documents.keys()) {
13552        injectStyle2(targetDocument, hash, css);
13553      }
13554    }
13555    if (typeof process === "undefined" || true) {
13556      registerStyle2("bc09fb824f", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.ab4d64c07c0ba587__spinner{background-color:transparent;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:inline-block;height:var(--wpds-dimension-size-2xs,16px);opacity:1;overflow:visible;position:relative;width:var(--wpds-dimension-size-2xs,16px)}.a7654e10245bb7d2__indicator{fill:transparent;stroke:currentColor;stroke-width:var(--wpds-border-width-sm,2px);stroke-linecap:round;transform-origin:50% 50%;@media (forced-colors:active){stroke:CanvasText}animation:_02322d973909703c__spinner-spin 1.4s linear infinite both}@keyframes _02322d973909703c__spinner-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}}}");
13557    }
13558    var style_default2 = { "spinner": "ab4d64c07c0ba587__spinner", "indicator": "a7654e10245bb7d2__indicator", "spinner-spin": "_02322d973909703c__spinner-spin" };
13559    var Spinner = (0, import_element10.forwardRef)(
13560      function UnforwardedSpinner({ className, color, style, ...props }, ref) {
13561        return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13562          "svg",
13563          {
13564            className: clsx_default(style_default2.spinner, className),
13565            style: color === void 0 ? style : { ...style, color },
13566            viewBox: "0 0 100 100",
13567            xmlns: "http://www.w3.org/2000/svg",
13568            role: "presentation",
13569            focusable: "false",
13570            ...props,
13571            ref,
13572            children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13573              "path",
13574              {
13575                className: style_default2.indicator,
13576                d: "m 50 0 a 50 50 0 0 1 0 100",
13577                vectorEffect: "non-scaling-stroke"
13578              }
13579            )
13580          }
13581        );
13582      }
13583    );
13584  
13585    // packages/ui/build-module/visually-hidden/visually-hidden.mjs
13586    var import_element11 = __toESM(require_element(), 1);
13587    var STYLE_HASH_ATTRIBUTE3 = "data-wp-hash";
13588    function getRuntime3() {
13589      const globalScope = globalThis;
13590      if (globalScope.__wpStyleRuntime) {
13591        return globalScope.__wpStyleRuntime;
13592      }
13593      globalScope.__wpStyleRuntime = {
13594        documents: /* @__PURE__ */ new Map(),
13595        styles: /* @__PURE__ */ new Map(),
13596        injectedStyles: /* @__PURE__ */ new WeakMap()
13597      };
13598      if (typeof document !== "undefined") {
13599        registerDocument3(document);
13600      }
13601      return globalScope.__wpStyleRuntime;
13602    }
13603    function documentContainsStyleHash3(targetDocument, hash) {
13604      if (!targetDocument.head) {
13605        return false;
13606      }
13607      for (const style of targetDocument.head.querySelectorAll(
13608        `style[$STYLE_HASH_ATTRIBUTE3}]`
13609      )) {
13610        if (style.getAttribute(STYLE_HASH_ATTRIBUTE3) === hash) {
13611          return true;
13612        }
13613      }
13614      return false;
13615    }
13616    function injectStyle3(targetDocument, hash, css) {
13617      if (!targetDocument.head) {
13618        return;
13619      }
13620      const runtime = getRuntime3();
13621      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13622      if (!injectedStyles) {
13623        injectedStyles = /* @__PURE__ */ new Set();
13624        runtime.injectedStyles.set(targetDocument, injectedStyles);
13625      }
13626      if (injectedStyles.has(hash)) {
13627        return;
13628      }
13629      if (documentContainsStyleHash3(targetDocument, hash)) {
13630        injectedStyles.add(hash);
13631        return;
13632      }
13633      const style = targetDocument.createElement("style");
13634      style.setAttribute(STYLE_HASH_ATTRIBUTE3, hash);
13635      style.appendChild(targetDocument.createTextNode(css));
13636      targetDocument.head.appendChild(style);
13637      injectedStyles.add(hash);
13638    }
13639    function registerDocument3(targetDocument) {
13640      const runtime = getRuntime3();
13641      runtime.documents.set(
13642        targetDocument,
13643        (runtime.documents.get(targetDocument) ?? 0) + 1
13644      );
13645      for (const [hash, css] of runtime.styles) {
13646        injectStyle3(targetDocument, hash, css);
13647      }
13648      return () => {
13649        const count = runtime.documents.get(targetDocument);
13650        if (count === void 0) {
13651          return;
13652        }
13653        if (count <= 1) {
13654          runtime.documents.delete(targetDocument);
13655          return;
13656        }
13657        runtime.documents.set(targetDocument, count - 1);
13658      };
13659    }
13660    function registerStyle3(hash, css) {
13661      const runtime = getRuntime3();
13662      runtime.styles.set(hash, css);
13663      for (const targetDocument of runtime.documents.keys()) {
13664        injectStyle3(targetDocument, hash, css);
13665      }
13666    }
13667    if (typeof process === "undefined" || true) {
13668      registerStyle3("15abcab4d0", ".f37b9e2e191ebd66__visually-hidden{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;overflow-wrap:normal;padding:0;position:absolute;width:1px;word-break:normal}");
13669    }
13670    var style_default3 = { "visually-hidden": "f37b9e2e191ebd66__visually-hidden" };
13671    var VisuallyHidden = (0, import_element11.forwardRef)(
13672      function UnforwardedVisuallyHidden({ render, ...restProps }, ref) {
13673        const element = useRender({
13674          render,
13675          ref,
13676          props: mergeProps(
13677            { className: style_default3["visually-hidden"] },
13678            restProps,
13679            {
13680              // @ts-expect-error Arbitrary data-* attributes aren't indexable on the typed div props. Kept hardcoded so consumers can't change or remove it.
13681              "data-visually-hidden": ""
13682            }
13683          )
13684        });
13685        return element;
13686      }
13687    );
13688  
13689    // packages/ui/build-module/utils/item-popup/item-content.mjs
13690    var import_element12 = __toESM(require_element(), 1);
13691    var VALIDATION_ENABLED = true;
13692    function parseItemContent(children, { Label: Label2, Description: Description2, validationMessage }) {
13693      const childArray = import_element12.Children.toArray(children);
13694      const [label, ...descriptions] = childArray;
13695      const hasLabel = (0, import_element12.isValidElement)(label) && label.type === Label2;
13696      const descriptionElements = descriptions.filter(
13697        (description) => (0, import_element12.isValidElement)(description) && description.type === Description2
13698      );
13699      if (VALIDATION_ENABLED && (!hasLabel || descriptionElements.length !== descriptions.length)) {
13700        throw new Error(validationMessage);
13701      }
13702      return {
13703        descriptionIds: descriptionElements.map(
13704          (description) => description.props.id
13705        ),
13706        hasLabel,
13707        labelId: hasLabel ? label.props.id : void 0
13708      };
13709    }
13710    function useItemContent(children, components, {
13711      "aria-describedby": ariaDescribedBy,
13712      "aria-label": ariaLabel,
13713      "aria-labelledby": ariaLabelledBy
13714    } = {}) {
13715      const generatedLabelId = (0, import_element12.useId)();
13716      const generatedDescriptionId = (0, import_element12.useId)();
13717      const { descriptionIds, hasLabel, labelId } = parseItemContent(
13718        children,
13719        components
13720      );
13721      const resolvedLabelId = hasLabel ? labelId ?? generatedLabelId : void 0;
13722      const resolvedDescriptionIds = descriptionIds.map(
13723        (descriptionId, index3) => descriptionId ?? `$generatedDescriptionId}-$index3}`
13724      );
13725      const itemDescribedBy = Array.from(
13726        /* @__PURE__ */ new Set([
13727          ...ariaDescribedBy?.split(/\s+/).filter(Boolean) ?? [],
13728          ...resolvedDescriptionIds
13729        ])
13730      ).join(" ");
13731      let descriptionIndex = 0;
13732      const { Label: Label2, Description: Description2, descriptionValidationToken } = components;
13733      const contentChildren = import_element12.Children.map(children, (child) => {
13734        if (!(0, import_element12.isValidElement)(child)) {
13735          return child;
13736        }
13737        if (child.type === Label2) {
13738          return child.props.id === resolvedLabelId ? child : (0, import_element12.cloneElement)(child, { id: resolvedLabelId });
13739        }
13740        if (child.type !== Description2) {
13741          return child;
13742        }
13743        const descriptionId = resolvedDescriptionIds[descriptionIndex++];
13744        if (!descriptionValidationToken && child.props.id === descriptionId) {
13745          return child;
13746        }
13747        return (0, import_element12.cloneElement)(child, {
13748          id: descriptionId,
13749          ...descriptionValidationToken && {
13750            validationToken: descriptionValidationToken
13751          }
13752        });
13753      });
13754      const labelledBy = ariaLabelledBy ?? (ariaLabel ? void 0 : resolvedLabelId);
13755      return {
13756        contentChildren,
13757        resolvedLabelId,
13758        itemAriaProps: {
13759          "aria-describedby": itemDescribedBy || void 0,
13760          "aria-label": ariaLabel,
13761          "aria-labelledby": labelledBy
13762        }
13763      };
13764    }
13765  
13766    // packages/ui/build-module/utils/render-slot-with-children.mjs
13767    var import_element13 = __toESM(require_element(), 1);
13768    function renderSlotWithChildren(slot, defaultSlot, children) {
13769      return (0, import_element13.cloneElement)(
13770        slot ?? defaultSlot,
13771        { children }
13772      );
13773    }
13774  
13775    // packages/ui/build-module/utils/wp-compat-overlay-slot.mjs
13776    var STYLE_HASH_ATTRIBUTE4 = "data-wp-hash";
13777    function getRuntime4() {
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        registerDocument4(document);
13789      }
13790      return globalScope.__wpStyleRuntime;
13791    }
13792    function documentContainsStyleHash4(targetDocument, hash) {
13793      if (!targetDocument.head) {
13794        return false;
13795      }
13796      for (const style of targetDocument.head.querySelectorAll(
13797        `style[$STYLE_HASH_ATTRIBUTE4}]`
13798      )) {
13799        if (style.getAttribute(STYLE_HASH_ATTRIBUTE4) === hash) {
13800          return true;
13801        }
13802      }
13803      return false;
13804    }
13805    function injectStyle4(targetDocument, hash, css) {
13806      if (!targetDocument.head) {
13807        return;
13808      }
13809      const runtime = getRuntime4();
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 (documentContainsStyleHash4(targetDocument, hash)) {
13819        injectedStyles.add(hash);
13820        return;
13821      }
13822      const style = targetDocument.createElement("style");
13823      style.setAttribute(STYLE_HASH_ATTRIBUTE4, hash);
13824      style.appendChild(targetDocument.createTextNode(css));
13825      targetDocument.head.appendChild(style);
13826      injectedStyles.add(hash);
13827    }
13828    function registerDocument4(targetDocument) {
13829      const runtime = getRuntime4();
13830      runtime.documents.set(
13831        targetDocument,
13832        (runtime.documents.get(targetDocument) ?? 0) + 1
13833      );
13834      for (const [hash, css] of runtime.styles) {
13835        injectStyle4(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 registerStyle4(hash, css) {
13850      const runtime = getRuntime4();
13851      runtime.styles.set(hash, css);
13852      for (const targetDocument of runtime.documents.keys()) {
13853        injectStyle4(targetDocument, hash, css);
13854      }
13855    }
13856    if (typeof process === "undefined" || true) {
13857      registerStyle4("be37f31c1e", "._11fc52b637ff8a7e__slot{inset:0;isolation:isolate;pointer-events:none;position:fixed;z-index:1000000003}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._11fc52b637ff8a7e__slot>*{pointer-events:auto}}}");
13858    }
13859    var wp_compat_overlay_slot_default = { "slot": "_11fc52b637ff8a7e__slot" };
13860    var WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE = "data-wp-compat-overlay-slot";
13861    function resolveOwnerDocument() {
13862      return typeof document === "undefined" ? null : document;
13863    }
13864    function isInWordPressEnvironment() {
13865      let topWp;
13866      try {
13867        topWp = window.top?.wp;
13868      } catch {
13869      }
13870      const wp = topWp ?? window.wp;
13871      return typeof wp?.components === "object" && wp.components !== null;
13872    }
13873    var cachedSlot = null;
13874    function ensureSlotIsAccessible(element) {
13875      element.setAttribute("aria-hidden", "false");
13876      return element;
13877    }
13878    function createSlot(ownerDocument2) {
13879      const element = ownerDocument2.createElement("div");
13880      element.setAttribute(WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE, "");
13881      if (wp_compat_overlay_slot_default.slot) {
13882        element.classList.add(wp_compat_overlay_slot_default.slot);
13883      }
13884      ownerDocument2.body.appendChild(element);
13885      return element;
13886    }
13887    function getWpCompatOverlaySlot() {
13888      if (typeof window === "undefined") {
13889        return void 0;
13890      }
13891      if (!isInWordPressEnvironment() && window.__wpUiCompatOverlaySlotEnabled !== true) {
13892        return void 0;
13893      }
13894      const ownerDocument2 = resolveOwnerDocument();
13895      if (!ownerDocument2 || !ownerDocument2.body) {
13896        return void 0;
13897      }
13898      if (cachedSlot && cachedSlot.ownerDocument === ownerDocument2 && cachedSlot.isConnected) {
13899        return ensureSlotIsAccessible(cachedSlot);
13900      }
13901      const existing = ownerDocument2.querySelector(
13902        `[$WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE}]`
13903      );
13904      if (existing instanceof HTMLDivElement) {
13905        cachedSlot = ensureSlotIsAccessible(existing);
13906        return cachedSlot;
13907      }
13908      if (cachedSlot?.isConnected) {
13909        cachedSlot.remove();
13910      }
13911      cachedSlot = ensureSlotIsAccessible(createSlot(ownerDocument2));
13912      return cachedSlot;
13913    }
13914  
13915    // packages/ui/build-module/form/primitives/constants.mjs
13916    var ITEM_POPUP_POSITIONER_PROPS = {
13917      align: "start",
13918      sideOffset: 8,
13919      collisionPadding: 12
13920    };
13921  
13922    // packages/ui/build-module/utils/direction-provider.mjs
13923    var import_i18n3 = __toESM(require_i18n(), 1);
13924    var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1);
13925    function DirectionProvider3({ children }) {
13926      return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(DirectionProvider, { direction: (0, import_i18n3.isRTL)() ? "rtl" : "ltr", children });
13927    }
13928  
13929    // packages/ui/build-module/link/link.mjs
13930    var import_element14 = __toESM(require_element(), 1);
13931    var import_i18n4 = __toESM(require_i18n(), 1);
13932    var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1);
13933    var STYLE_HASH_ATTRIBUTE5 = "data-wp-hash";
13934    function getRuntime5() {
13935      const globalScope = globalThis;
13936      if (globalScope.__wpStyleRuntime) {
13937        return globalScope.__wpStyleRuntime;
13938      }
13939      globalScope.__wpStyleRuntime = {
13940        documents: /* @__PURE__ */ new Map(),
13941        styles: /* @__PURE__ */ new Map(),
13942        injectedStyles: /* @__PURE__ */ new WeakMap()
13943      };
13944      if (typeof document !== "undefined") {
13945        registerDocument5(document);
13946      }
13947      return globalScope.__wpStyleRuntime;
13948    }
13949    function documentContainsStyleHash5(targetDocument, hash) {
13950      if (!targetDocument.head) {
13951        return false;
13952      }
13953      for (const style of targetDocument.head.querySelectorAll(
13954        `style[$STYLE_HASH_ATTRIBUTE5}]`
13955      )) {
13956        if (style.getAttribute(STYLE_HASH_ATTRIBUTE5) === hash) {
13957          return true;
13958        }
13959      }
13960      return false;
13961    }
13962    function injectStyle5(targetDocument, hash, css) {
13963      if (!targetDocument.head) {
13964        return;
13965      }
13966      const runtime = getRuntime5();
13967      let injectedStyles = runtime.injectedStyles.get(targetDocument);
13968      if (!injectedStyles) {
13969        injectedStyles = /* @__PURE__ */ new Set();
13970        runtime.injectedStyles.set(targetDocument, injectedStyles);
13971      }
13972      if (injectedStyles.has(hash)) {
13973        return;
13974      }
13975      if (documentContainsStyleHash5(targetDocument, hash)) {
13976        injectedStyles.add(hash);
13977        return;
13978      }
13979      const style = targetDocument.createElement("style");
13980      style.setAttribute(STYLE_HASH_ATTRIBUTE5, hash);
13981      style.appendChild(targetDocument.createTextNode(css));
13982      targetDocument.head.appendChild(style);
13983      injectedStyles.add(hash);
13984    }
13985    function registerDocument5(targetDocument) {
13986      const runtime = getRuntime5();
13987      runtime.documents.set(
13988        targetDocument,
13989        (runtime.documents.get(targetDocument) ?? 0) + 1
13990      );
13991      for (const [hash, css] of runtime.styles) {
13992        injectStyle5(targetDocument, hash, css);
13993      }
13994      return () => {
13995        const count = runtime.documents.get(targetDocument);
13996        if (count === void 0) {
13997          return;
13998        }
13999        if (count <= 1) {
14000          runtime.documents.delete(targetDocument);
14001          return;
14002        }
14003        runtime.documents.set(targetDocument, count - 1);
14004      };
14005    }
14006    function registerStyle5(hash, css) {
14007      const runtime = getRuntime5();
14008      runtime.styles.set(hash, css);
14009      for (const targetDocument of runtime.documents.keys()) {
14010        injectStyle5(targetDocument, hash, css);
14011      }
14012    }
14013    if (typeof process === "undefined" || true) {
14014      registerStyle5("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
14015    }
14016    var resets_default = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
14017    if (typeof process === "undefined" || true) {
14018      registerStyle5("7c3267f794", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.af79fb116edb0dd7__outset-ring--focus:focus,.dfcfdc28396e5d98__outset-ring--focus-visible:focus-visible,.e5cd9ee879f6403a__outset-ring--focus-within:focus-within{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within,.abc777e9713fa711__outset-ring--focus-except-active:focus{outline:none}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.abc777e9713fa711__outset-ring--focus-except-active:focus:not(:active){--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}}}");
14019    }
14020    var focus_module_default = { "outset-ring--focus": "af79fb116edb0dd7__outset-ring--focus", "outset-ring--focus-visible": "dfcfdc28396e5d98__outset-ring--focus-visible", "outset-ring--focus-within": "e5cd9ee879f6403a__outset-ring--focus-within", "outset-ring--focus-except-active": "abc777e9713fa711__outset-ring--focus-except-active", "outset-ring--focus-within-except-active": "_3c9f5ee9fc9c136d__outset-ring--focus-within-except-active" };
14021    if (typeof process === "undefined" || true) {
14022      registerStyle5("888e86d20a", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.d4250949359b05ce__link{--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);border-radius:var(--wpds-border-radius-sm,2px);text-decoration-thickness:from-font;text-underline-offset:.2em}.f037c632480d4e11__link-with-icon{text-decoration-line:none}._8dc7567f9ff415bf__link-contents{text-decoration:inherit;text-decoration-line:underline}.c6055659b8e2cd2c__is-brand,.c6055659b8e2cd2c__is-brand:visited{--_gcd-a-color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9));color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9))}.c6055659b8e2cd2c__is-brand:active,.c6055659b8e2cd2c__is-brand:hover{--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000));color:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000))}._92e0dfcaeee15b88__is-neutral,._92e0dfcaeee15b88__is-neutral:visited{--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);text-decoration-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d)}._92e0dfcaeee15b88__is-neutral:active,._92e0dfcaeee15b88__is-neutral:hover{--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e)}.cf122a9bf1035d42__is-unstyled{--_gcd-a-border-radius:0;--_gcd-a-color:inherit;color:inherit;text-decoration:none}._0cb411afac4c86c7__link-icon{font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-padding-xs,4px);text-decoration:none}._0cb411afac4c86c7__link-icon:after{content:"\\2060\\2197"}._0cb411afac4c86c7__link-icon:dir(rtl):after{content:"\\2060\\2196"}}}');
14023    }
14024    var style_default4 = { "link": "d4250949359b05ce__link", "link-with-icon": "f037c632480d4e11__link-with-icon", "link-contents": "_8dc7567f9ff415bf__link-contents", "is-brand": "c6055659b8e2cd2c__is-brand", "is-neutral": "_92e0dfcaeee15b88__is-neutral", "is-unstyled": "cf122a9bf1035d42__is-unstyled", "link-icon": "_0cb411afac4c86c7__link-icon" };
14025    if (typeof process === "undefined" || true) {
14026      registerStyle5("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
14027    }
14028    var global_css_defense_default2 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
14029    var Link = (0, import_element14.forwardRef)(
14030      function UnforwardedLink({
14031        children,
14032        variant = "default",
14033        tone = "brand",
14034        openInNewTab = false,
14035        target,
14036        render,
14037        className,
14038        ...props
14039      }, ref) {
14040        const shouldShowNewTabIndicator = openInNewTab || /^_blank$/i.test(target ?? "");
14041        const element = useRender({
14042          render,
14043          defaultTagName: "a",
14044          ref,
14045          props: mergeProps(props, {
14046            className: clsx_default(
14047              global_css_defense_default2.a,
14048              resets_default["box-sizing"],
14049              focus_module_default["outset-ring--focus-except-active"],
14050              variant !== "unstyled" && style_default4.link,
14051              variant !== "unstyled" && shouldShowNewTabIndicator && style_default4["link-with-icon"],
14052              variant !== "unstyled" && style_default4[`is-$tone}`],
14053              variant === "unstyled" && style_default4["is-unstyled"],
14054              className
14055            ),
14056            target: target ?? (openInNewTab ? "_blank" : void 0),
14057            children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
14058              shouldShowNewTabIndicator && variant !== "unstyled" ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: style_default4["link-contents"], children }) : children,
14059              shouldShowNewTabIndicator && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
14060                "span",
14061                {
14062                  className: style_default4["link-icon"],
14063                  role: "img",
14064                  "aria-label": (
14065                    /* translators: accessibility text appended to link text */
14066                    (0, import_i18n4.__)("(opens in a new tab)")
14067                  )
14068                }
14069              )
14070            ] })
14071          })
14072        });
14073        return element;
14074      }
14075    );
14076  
14077    // packages/ui/build-module/stack/stack.mjs
14078    var import_element15 = __toESM(require_element(), 1);
14079    var STYLE_HASH_ATTRIBUTE6 = "data-wp-hash";
14080    function getRuntime6() {
14081      const globalScope = globalThis;
14082      if (globalScope.__wpStyleRuntime) {
14083        return globalScope.__wpStyleRuntime;
14084      }
14085      globalScope.__wpStyleRuntime = {
14086        documents: /* @__PURE__ */ new Map(),
14087        styles: /* @__PURE__ */ new Map(),
14088        injectedStyles: /* @__PURE__ */ new WeakMap()
14089      };
14090      if (typeof document !== "undefined") {
14091        registerDocument6(document);
14092      }
14093      return globalScope.__wpStyleRuntime;
14094    }
14095    function documentContainsStyleHash6(targetDocument, hash) {
14096      if (!targetDocument.head) {
14097        return false;
14098      }
14099      for (const style of targetDocument.head.querySelectorAll(
14100        `style[$STYLE_HASH_ATTRIBUTE6}]`
14101      )) {
14102        if (style.getAttribute(STYLE_HASH_ATTRIBUTE6) === hash) {
14103          return true;
14104        }
14105      }
14106      return false;
14107    }
14108    function injectStyle6(targetDocument, hash, css) {
14109      if (!targetDocument.head) {
14110        return;
14111      }
14112      const runtime = getRuntime6();
14113      let injectedStyles = runtime.injectedStyles.get(targetDocument);
14114      if (!injectedStyles) {
14115        injectedStyles = /* @__PURE__ */ new Set();
14116        runtime.injectedStyles.set(targetDocument, injectedStyles);
14117      }
14118      if (injectedStyles.has(hash)) {
14119        return;
14120      }
14121      if (documentContainsStyleHash6(targetDocument, hash)) {
14122        injectedStyles.add(hash);
14123        return;
14124      }
14125      const style = targetDocument.createElement("style");
14126      style.setAttribute(STYLE_HASH_ATTRIBUTE6, hash);
14127      style.appendChild(targetDocument.createTextNode(css));
14128      targetDocument.head.appendChild(style);
14129      injectedStyles.add(hash);
14130    }
14131    function registerDocument6(targetDocument) {
14132      const runtime = getRuntime6();
14133      runtime.documents.set(
14134        targetDocument,
14135        (runtime.documents.get(targetDocument) ?? 0) + 1
14136      );
14137      for (const [hash, css] of runtime.styles) {
14138        injectStyle6(targetDocument, hash, css);
14139      }
14140      return () => {
14141        const count = runtime.documents.get(targetDocument);
14142        if (count === void 0) {
14143          return;
14144        }
14145        if (count <= 1) {
14146          runtime.documents.delete(targetDocument);
14147          return;
14148        }
14149        runtime.documents.set(targetDocument, count - 1);
14150      };
14151    }
14152    function registerStyle6(hash, css) {
14153      const runtime = getRuntime6();
14154      runtime.styles.set(hash, css);
14155      for (const targetDocument of runtime.documents.keys()) {
14156        injectStyle6(targetDocument, hash, css);
14157      }
14158    }
14159    if (typeof process === "undefined" || true) {
14160      registerStyle6("32aba35fe1", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._19ce0419607e1896__stack{display:flex}}}");
14161    }
14162    var style_default5 = { "stack": "_19ce0419607e1896__stack" };
14163    var gapTokens = {
14164      xs: "var(--wpds-dimension-gap-xs, 4px)",
14165      sm: "var(--wpds-dimension-gap-sm, 8px)",
14166      md: "var(--wpds-dimension-gap-md, 12px)",
14167      lg: "var(--wpds-dimension-gap-lg, 16px)",
14168      xl: "var(--wpds-dimension-gap-xl, 24px)",
14169      "2xl": "var(--wpds-dimension-gap-2xl, 32px)",
14170      "3xl": "var(--wpds-dimension-gap-3xl, 40px)"
14171    };
14172    var Stack = (0, import_element15.forwardRef)(
14173      function UnforwardedStack({ direction, gap, align, justify, wrap, render, ...props }, ref) {
14174        const style = {
14175          gap: gap && gapTokens[gap],
14176          alignItems: align,
14177          justifyContent: justify,
14178          flexDirection: direction,
14179          flexWrap: wrap
14180        };
14181        const element = useRender({
14182          render,
14183          ref,
14184          props: mergeProps(props, {
14185            style,
14186            className: style_default5.stack
14187          })
14188        });
14189        return element;
14190      }
14191    );
14192  
14193    // packages/ui/build-module/utils/use-schedule-validation.mjs
14194    var import_compose = __toESM(require_compose(), 1);
14195    var import_element16 = __toESM(require_element(), 1);
14196    function useScheduleValidation(validate) {
14197      const validateEvent = (0, import_compose.useEvent)(validate);
14198      const timerRef = (0, import_element16.useRef)(null);
14199      const unmountedRef = (0, import_element16.useRef)(false);
14200      const scheduleValidation = (0, import_element16.useCallback)(() => {
14201        if (unmountedRef.current) {
14202          return;
14203        }
14204        if (timerRef.current) {
14205          clearTimeout(timerRef.current);
14206        }
14207        timerRef.current = setTimeout(() => {
14208          validateEvent();
14209          timerRef.current = null;
14210        }, 0);
14211      }, [validateEvent]);
14212      (0, import_element16.useEffect)(() => {
14213        unmountedRef.current = false;
14214        return () => {
14215          unmountedRef.current = true;
14216          if (timerRef.current) {
14217            clearTimeout(timerRef.current);
14218          }
14219        };
14220      }, []);
14221      return scheduleValidation;
14222    }
14223  
14224    // packages/ui/build-module/form/primitives/input/input.mjs
14225    var import_element19 = __toESM(require_element(), 1);
14226  
14227    // packages/ui/build-module/form/primitives/input-layout/input-layout.mjs
14228    var import_element17 = __toESM(require_element(), 1);
14229    var import_jsx_runtime54 = __toESM(require_jsx_runtime(), 1);
14230    var STYLE_HASH_ATTRIBUTE7 = "data-wp-hash";
14231    function getRuntime7() {
14232      const globalScope = globalThis;
14233      if (globalScope.__wpStyleRuntime) {
14234        return globalScope.__wpStyleRuntime;
14235      }
14236      globalScope.__wpStyleRuntime = {
14237        documents: /* @__PURE__ */ new Map(),
14238        styles: /* @__PURE__ */ new Map(),
14239        injectedStyles: /* @__PURE__ */ new WeakMap()
14240      };
14241      if (typeof document !== "undefined") {
14242        registerDocument7(document);
14243      }
14244      return globalScope.__wpStyleRuntime;
14245    }
14246    function documentContainsStyleHash7(targetDocument, hash) {
14247      if (!targetDocument.head) {
14248        return false;
14249      }
14250      for (const style of targetDocument.head.querySelectorAll(
14251        `style[$STYLE_HASH_ATTRIBUTE7}]`
14252      )) {
14253        if (style.getAttribute(STYLE_HASH_ATTRIBUTE7) === hash) {
14254          return true;
14255        }
14256      }
14257      return false;
14258    }
14259    function injectStyle7(targetDocument, hash, css) {
14260      if (!targetDocument.head) {
14261        return;
14262      }
14263      const runtime = getRuntime7();
14264      let injectedStyles = runtime.injectedStyles.get(targetDocument);
14265      if (!injectedStyles) {
14266        injectedStyles = /* @__PURE__ */ new Set();
14267        runtime.injectedStyles.set(targetDocument, injectedStyles);
14268      }
14269      if (injectedStyles.has(hash)) {
14270        return;
14271      }
14272      if (documentContainsStyleHash7(targetDocument, hash)) {
14273        injectedStyles.add(hash);
14274        return;
14275      }
14276      const style = targetDocument.createElement("style");
14277      style.setAttribute(STYLE_HASH_ATTRIBUTE7, hash);
14278      style.appendChild(targetDocument.createTextNode(css));
14279      targetDocument.head.appendChild(style);
14280      injectedStyles.add(hash);
14281    }
14282    function registerDocument7(targetDocument) {
14283      const runtime = getRuntime7();
14284      runtime.documents.set(
14285        targetDocument,
14286        (runtime.documents.get(targetDocument) ?? 0) + 1
14287      );
14288      for (const [hash, css] of runtime.styles) {
14289        injectStyle7(targetDocument, hash, css);
14290      }
14291      return () => {
14292        const count = runtime.documents.get(targetDocument);
14293        if (count === void 0) {
14294          return;
14295        }
14296        if (count <= 1) {
14297          runtime.documents.delete(targetDocument);
14298          return;
14299        }
14300        runtime.documents.set(targetDocument, count - 1);
14301      };
14302    }
14303    function registerStyle7(hash, css) {
14304      const runtime = getRuntime7();
14305      runtime.styles.set(hash, css);
14306      for (const targetDocument of runtime.documents.keys()) {
14307        injectStyle7(targetDocument, hash, css);
14308      }
14309    }
14310    if (typeof process === "undefined" || true) {
14311      registerStyle7("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
14312    }
14313    var global_css_defense_default3 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
14314    if (typeof process === "undefined" || true) {
14315      registerStyle7("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
14316    }
14317    var resets_default2 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
14318    if (typeof process === "undefined" || true) {
14319      registerStyle7("fae9ae14d3", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.cb2baafdc08746bb__input-layout{--wp-ui-input-layout-padding-inline:var(--wpds-dimension-padding-md,12px);background-color:var(--wpds-color-background-interactive-neutral,var(--wpds-color-background-surface-neutral-strong,#fff));border-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d);border-radius:var(--wpds-border-radius-sm,2px);border-style:solid;border-width:var(--wpds-border-width-xs,1px);color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);display:flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);height:var(--wpds-dimension-size-lg,40px);line-height:1;&._0c807a84cbb94e0c__is-size-compact{height:var(--wpds-dimension-size-md,32px)}&._0c807a84cbb94e0c__is-size-compact,&.ed67cda122dc1e7b__is-size-small{--wp-ui-input-layout-padding-inline:var(--wpds-dimension-padding-sm,8px)}&.ed67cda122dc1e7b__is-size-small{height:var(--wpds-dimension-size-sm,24px)}&._6fb7104732387680__is-disabled,&:has([data-can-disable-input-layout][data-disabled]){color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}&:not(._8097270636ca6100__is-borderless){background-color:var(--wpds-color-background-interactive-neutral-disabled,var(--wpds-color-background-surface-neutral-strong,#fff));border-color:var(--wpds-color-stroke-interactive-neutral-disabled,#dbdbdb);@media (forced-colors:active){border-bottom-color:GrayText;border-left-color:GrayText;border-right-color:GrayText;border-top-color:GrayText}}}&._8097270636ca6100__is-borderless{background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);border-color:transparent}&:has(._0d7afad74a057888__input-layout-slot:focus-within){--_gcd-div-outline:none;outline:none}&:hover:not(._6fb7104732387680__is-disabled,:has([data-can-disable-input-layout][data-disabled]),._8097270636ca6100__is-borderless){background-color:var(--wpds-color-background-interactive-neutral-active,var(--wpds-color-background-surface-neutral-strong,#fff));border-color:var(--wpds-color-stroke-interactive-neutral-active,#6e6e6e)}&:has(:invalid[data-validity-visible]){--focus-color:var(--wpds-color-stroke-interactive-error,#cc1818);border-color:var(--wpds-color-stroke-interactive-error,#cc1818);&:hover{border-color:var(--wpds-color-stroke-interactive-error-active,#9d0000)}}}.c192b41a12b4387b__slot-wrapper{display:contents}._0d7afad74a057888__input-layout-slot{align-items:center;display:flex;&._0c952682762ca288__is-padding-minimal{--wp-ui-input-layout-prefix-padding-start:calc(var(--wp-ui-input-layout-padding-inline) - var(--wpds-dimension-padding-xs, 4px));--wp-ui-input-layout-suffix-padding-end:calc(var(--wp-ui-input-layout-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}[data-slot-type=prefix] &{padding-inline-start:var(--wp-ui-input-layout-prefix-padding-start,var(--wp-ui-input-layout-padding-inline))}[data-slot-type=suffix] &{padding-inline-end:var(--wp-ui-input-layout-suffix-padding-end,var(--wp-ui-input-layout-padding-inline))}}}}');
14320    }
14321    var style_default6 = { "input-layout": "cb2baafdc08746bb__input-layout", "is-size-compact": "_0c807a84cbb94e0c__is-size-compact", "is-size-small": "ed67cda122dc1e7b__is-size-small", "is-disabled": "_6fb7104732387680__is-disabled", "is-borderless": "_8097270636ca6100__is-borderless", "input-layout-slot": "_0d7afad74a057888__input-layout-slot", "slot-wrapper": "c192b41a12b4387b__slot-wrapper", "is-padding-minimal": "_0c952682762ca288__is-padding-minimal" };
14322    var InputLayout = (0, import_element17.forwardRef)(
14323      function UnforwardedInputLayout({
14324        className,
14325        children,
14326        visuallyDisabled,
14327        size: size4 = "default",
14328        isBorderless,
14329        prefix,
14330        suffix,
14331        ...restProps
14332      }, ref) {
14333        return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
14334          "div",
14335          {
14336            ref,
14337            className: clsx_default(
14338              global_css_defense_default3.div,
14339              resets_default2["box-sizing"],
14340              style_default6["input-layout"],
14341              style_default6[`is-size-$size4}`],
14342              visuallyDisabled && style_default6["is-disabled"],
14343              isBorderless && style_default6["is-borderless"],
14344              className
14345            ),
14346            ...restProps,
14347            children: [
14348              import_element17.Children.count(prefix) > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
14349                "div",
14350                {
14351                  className: style_default6["slot-wrapper"],
14352                  "data-slot-type": "prefix",
14353                  children: prefix
14354                }
14355              ),
14356              children,
14357              import_element17.Children.count(suffix) > 0 && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
14358                "div",
14359                {
14360                  className: style_default6["slot-wrapper"],
14361                  "data-slot-type": "suffix",
14362                  children: suffix
14363                }
14364              )
14365            ]
14366          }
14367        );
14368      }
14369    );
14370  
14371    // packages/ui/build-module/form/primitives/input-layout/slot.mjs
14372    var import_element18 = __toESM(require_element(), 1);
14373    var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1);
14374    var STYLE_HASH_ATTRIBUTE8 = "data-wp-hash";
14375    function getRuntime8() {
14376      const globalScope = globalThis;
14377      if (globalScope.__wpStyleRuntime) {
14378        return globalScope.__wpStyleRuntime;
14379      }
14380      globalScope.__wpStyleRuntime = {
14381        documents: /* @__PURE__ */ new Map(),
14382        styles: /* @__PURE__ */ new Map(),
14383        injectedStyles: /* @__PURE__ */ new WeakMap()
14384      };
14385      if (typeof document !== "undefined") {
14386        registerDocument8(document);
14387      }
14388      return globalScope.__wpStyleRuntime;
14389    }
14390    function documentContainsStyleHash8(targetDocument, hash) {
14391      if (!targetDocument.head) {
14392        return false;
14393      }
14394      for (const style of targetDocument.head.querySelectorAll(
14395        `style[$STYLE_HASH_ATTRIBUTE8}]`
14396      )) {
14397        if (style.getAttribute(STYLE_HASH_ATTRIBUTE8) === hash) {
14398          return true;
14399        }
14400      }
14401      return false;
14402    }
14403    function injectStyle8(targetDocument, hash, css) {
14404      if (!targetDocument.head) {
14405        return;
14406      }
14407      const runtime = getRuntime8();
14408      let injectedStyles = runtime.injectedStyles.get(targetDocument);
14409      if (!injectedStyles) {
14410        injectedStyles = /* @__PURE__ */ new Set();
14411        runtime.injectedStyles.set(targetDocument, injectedStyles);
14412      }
14413      if (injectedStyles.has(hash)) {
14414        return;
14415      }
14416      if (documentContainsStyleHash8(targetDocument, hash)) {
14417        injectedStyles.add(hash);
14418        return;
14419      }
14420      const style = targetDocument.createElement("style");
14421      style.setAttribute(STYLE_HASH_ATTRIBUTE8, hash);
14422      style.appendChild(targetDocument.createTextNode(css));
14423      targetDocument.head.appendChild(style);
14424      injectedStyles.add(hash);
14425    }
14426    function registerDocument8(targetDocument) {
14427      const runtime = getRuntime8();
14428      runtime.documents.set(
14429        targetDocument,
14430        (runtime.documents.get(targetDocument) ?? 0) + 1
14431      );
14432      for (const [hash, css] of runtime.styles) {
14433        injectStyle8(targetDocument, hash, css);
14434      }
14435      return () => {
14436        const count = runtime.documents.get(targetDocument);
14437        if (count === void 0) {
14438          return;
14439        }
14440        if (count <= 1) {
14441          runtime.documents.delete(targetDocument);
14442          return;
14443        }
14444        runtime.documents.set(targetDocument, count - 1);
14445      };
14446    }
14447    function registerStyle8(hash, css) {
14448      const runtime = getRuntime8();
14449      runtime.styles.set(hash, css);
14450      for (const targetDocument of runtime.documents.keys()) {
14451        injectStyle8(targetDocument, hash, css);
14452      }
14453    }
14454    if (typeof process === "undefined" || true) {
14455      registerStyle8("fae9ae14d3", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.cb2baafdc08746bb__input-layout{--wp-ui-input-layout-padding-inline:var(--wpds-dimension-padding-md,12px);background-color:var(--wpds-color-background-interactive-neutral,var(--wpds-color-background-surface-neutral-strong,#fff));border-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d);border-radius:var(--wpds-border-radius-sm,2px);border-style:solid;border-width:var(--wpds-border-width-xs,1px);color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);display:flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);height:var(--wpds-dimension-size-lg,40px);line-height:1;&._0c807a84cbb94e0c__is-size-compact{height:var(--wpds-dimension-size-md,32px)}&._0c807a84cbb94e0c__is-size-compact,&.ed67cda122dc1e7b__is-size-small{--wp-ui-input-layout-padding-inline:var(--wpds-dimension-padding-sm,8px)}&.ed67cda122dc1e7b__is-size-small{height:var(--wpds-dimension-size-sm,24px)}&._6fb7104732387680__is-disabled,&:has([data-can-disable-input-layout][data-disabled]){color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}&:not(._8097270636ca6100__is-borderless){background-color:var(--wpds-color-background-interactive-neutral-disabled,var(--wpds-color-background-surface-neutral-strong,#fff));border-color:var(--wpds-color-stroke-interactive-neutral-disabled,#dbdbdb);@media (forced-colors:active){border-bottom-color:GrayText;border-left-color:GrayText;border-right-color:GrayText;border-top-color:GrayText}}}&._8097270636ca6100__is-borderless{background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);border-color:transparent}&:has(._0d7afad74a057888__input-layout-slot:focus-within){--_gcd-div-outline:none;outline:none}&:hover:not(._6fb7104732387680__is-disabled,:has([data-can-disable-input-layout][data-disabled]),._8097270636ca6100__is-borderless){background-color:var(--wpds-color-background-interactive-neutral-active,var(--wpds-color-background-surface-neutral-strong,#fff));border-color:var(--wpds-color-stroke-interactive-neutral-active,#6e6e6e)}&:has(:invalid[data-validity-visible]){--focus-color:var(--wpds-color-stroke-interactive-error,#cc1818);border-color:var(--wpds-color-stroke-interactive-error,#cc1818);&:hover{border-color:var(--wpds-color-stroke-interactive-error-active,#9d0000)}}}.c192b41a12b4387b__slot-wrapper{display:contents}._0d7afad74a057888__input-layout-slot{align-items:center;display:flex;&._0c952682762ca288__is-padding-minimal{--wp-ui-input-layout-prefix-padding-start:calc(var(--wp-ui-input-layout-padding-inline) - var(--wpds-dimension-padding-xs, 4px));--wp-ui-input-layout-suffix-padding-end:calc(var(--wp-ui-input-layout-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}[data-slot-type=prefix] &{padding-inline-start:var(--wp-ui-input-layout-prefix-padding-start,var(--wp-ui-input-layout-padding-inline))}[data-slot-type=suffix] &{padding-inline-end:var(--wp-ui-input-layout-suffix-padding-end,var(--wp-ui-input-layout-padding-inline))}}}}');
14456    }
14457    var style_default7 = { "input-layout": "cb2baafdc08746bb__input-layout", "is-size-compact": "_0c807a84cbb94e0c__is-size-compact", "is-size-small": "ed67cda122dc1e7b__is-size-small", "is-disabled": "_6fb7104732387680__is-disabled", "is-borderless": "_8097270636ca6100__is-borderless", "input-layout-slot": "_0d7afad74a057888__input-layout-slot", "slot-wrapper": "c192b41a12b4387b__slot-wrapper", "is-padding-minimal": "_0c952682762ca288__is-padding-minimal" };
14458    var InputLayoutSlot = (0, import_element18.forwardRef)(function UnforwardedInputLayoutSlot({ padding = "default", className, ...restProps }, ref) {
14459      return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
14460        "div",
14461        {
14462          ref,
14463          className: clsx_default(
14464            style_default7["input-layout-slot"],
14465            style_default7[`is-padding-$padding}`],
14466            className
14467          ),
14468          ...restProps
14469        }
14470      );
14471    });
14472    InputLayoutSlot.displayName = "InputLayout.Slot";
14473  
14474    // packages/ui/build-module/form/primitives/input-layout/index.mjs
14475    var InputLayout2 = Object.assign(InputLayout, {
14476      Slot: InputLayoutSlot
14477    });
14478  
14479    // packages/ui/build-module/form/primitives/input/input.mjs
14480    var import_jsx_runtime56 = __toESM(require_jsx_runtime(), 1);
14481    var STYLE_HASH_ATTRIBUTE9 = "data-wp-hash";
14482    function getRuntime9() {
14483      const globalScope = globalThis;
14484      if (globalScope.__wpStyleRuntime) {
14485        return globalScope.__wpStyleRuntime;
14486      }
14487      globalScope.__wpStyleRuntime = {
14488        documents: /* @__PURE__ */ new Map(),
14489        styles: /* @__PURE__ */ new Map(),
14490        injectedStyles: /* @__PURE__ */ new WeakMap()
14491      };
14492      if (typeof document !== "undefined") {
14493        registerDocument9(document);
14494      }
14495      return globalScope.__wpStyleRuntime;
14496    }
14497    function documentContainsStyleHash9(targetDocument, hash) {
14498      if (!targetDocument.head) {
14499        return false;
14500      }
14501      for (const style of targetDocument.head.querySelectorAll(
14502        `style[$STYLE_HASH_ATTRIBUTE9}]`
14503      )) {
14504        if (style.getAttribute(STYLE_HASH_ATTRIBUTE9) === hash) {
14505          return true;
14506        }
14507      }
14508      return false;
14509    }
14510    function injectStyle9(targetDocument, hash, css) {
14511      if (!targetDocument.head) {
14512        return;
14513      }
14514      const runtime = getRuntime9();
14515      let injectedStyles = runtime.injectedStyles.get(targetDocument);
14516      if (!injectedStyles) {
14517        injectedStyles = /* @__PURE__ */ new Set();
14518        runtime.injectedStyles.set(targetDocument, injectedStyles);
14519      }
14520      if (injectedStyles.has(hash)) {
14521        return;
14522      }
14523      if (documentContainsStyleHash9(targetDocument, hash)) {
14524        injectedStyles.add(hash);
14525        return;
14526      }
14527      const style = targetDocument.createElement("style");
14528      style.setAttribute(STYLE_HASH_ATTRIBUTE9, hash);
14529      style.appendChild(targetDocument.createTextNode(css));
14530      targetDocument.head.appendChild(style);
14531      injectedStyles.add(hash);
14532    }
14533    function registerDocument9(targetDocument) {
14534      const runtime = getRuntime9();
14535      runtime.documents.set(
14536        targetDocument,
14537        (runtime.documents.get(targetDocument) ?? 0) + 1
14538      );
14539      for (const [hash, css] of runtime.styles) {
14540        injectStyle9(targetDocument, hash, css);
14541      }
14542      return () => {
14543        const count = runtime.documents.get(targetDocument);
14544        if (count === void 0) {
14545          return;
14546        }
14547        if (count <= 1) {
14548          runtime.documents.delete(targetDocument);
14549          return;
14550        }
14551        runtime.documents.set(targetDocument, count - 1);
14552      };
14553    }
14554    function registerStyle9(hash, css) {
14555      const runtime = getRuntime9();
14556      runtime.styles.set(hash, css);
14557      for (const targetDocument of runtime.documents.keys()) {
14558        injectStyle9(targetDocument, hash, css);
14559      }
14560    }
14561    if (typeof process === "undefined" || true) {
14562      registerStyle9("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
14563    }
14564    var global_css_defense_default4 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
14565    if (typeof process === "undefined" || true) {
14566      registerStyle9("7c3267f794", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.af79fb116edb0dd7__outset-ring--focus:focus,.dfcfdc28396e5d98__outset-ring--focus-visible:focus-visible,.e5cd9ee879f6403a__outset-ring--focus-within:focus-within{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within,.abc777e9713fa711__outset-ring--focus-except-active:focus{outline:none}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.abc777e9713fa711__outset-ring--focus-except-active:focus:not(:active){--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}}}");
14567    }
14568    var focus_module_default2 = { "outset-ring--focus": "af79fb116edb0dd7__outset-ring--focus", "outset-ring--focus-visible": "dfcfdc28396e5d98__outset-ring--focus-visible", "outset-ring--focus-within": "e5cd9ee879f6403a__outset-ring--focus-within", "outset-ring--focus-except-active": "abc777e9713fa711__outset-ring--focus-except-active", "outset-ring--focus-within-except-active": "_3c9f5ee9fc9c136d__outset-ring--focus-within-except-active" };
14569    if (typeof process === "undefined" || true) {
14570      registerStyle9("afb8caf1cd", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._2ae7be2fc1bb17a3__input{--_gcd-input-padding:var(--wp-ui-input-padding-block,0px) var(--wp-ui-input-layout-padding-inline,0px);--_gcd-input-font-size:max(var(--wpds-typography-font-size-md,13px),16px);background:transparent;border:none;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);font-family:inherit;font-size:inherit;line-height:inherit;outline:none;padding-block:var(--wp-ui-input-padding-block,0);padding-inline:var(--wp-ui-input-layout-padding-inline,0);width:100%;@media (min-width:600px){--_gcd-input-font-size:inherit}&::placeholder{color:var(--wpds-color-foreground-interactive-neutral-weak,#707070)}&:disabled,&[aria-disabled=true]{--_gcd-input-placeholder-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&::placeholder{color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}@media (forced-colors:active){color:GrayText}}&[type=email],&[type=url]{direction:ltr}&[type=number]{appearance:textfield;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{appearance:none;margin:0}}}}@layer compositions{.beecada4b38856ab__layout{font-size:max(var(--wpds-typography-font-size-md,13px),16px);@media (min-width:600px){font-size:var(--wpds-typography-font-size-md,13px)}}}}");
14571    }
14572    var style_default8 = { "input": "_2ae7be2fc1bb17a3__input", "layout": "beecada4b38856ab__layout" };
14573    var Input3 = (0, import_element19.forwardRef)(
14574      function UnforwardedInput({ className, size: size4 = "default", prefix, suffix, style, ...restProps }, ref) {
14575        return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
14576          InputLayout2,
14577          {
14578            className: clsx_default(
14579              style_default8.layout,
14580              focus_module_default2["outset-ring--focus-within"],
14581              className
14582            ),
14583            style,
14584            size: size4,
14585            visuallyDisabled: restProps.disabled,
14586            prefix,
14587            suffix,
14588            children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
14589              Input,
14590              {
14591                ref,
14592                className: clsx_default(global_css_defense_default4.input, style_default8.input),
14593                ...restProps
14594              }
14595            )
14596          }
14597        );
14598      }
14599    );
14600  
14601    // packages/ui/build-module/utils/css/item-popup.mjs
14602    var STYLE_HASH_ATTRIBUTE10 = "data-wp-hash";
14603    function getRuntime10() {
14604      const globalScope = globalThis;
14605      if (globalScope.__wpStyleRuntime) {
14606        return globalScope.__wpStyleRuntime;
14607      }
14608      globalScope.__wpStyleRuntime = {
14609        documents: /* @__PURE__ */ new Map(),
14610        styles: /* @__PURE__ */ new Map(),
14611        injectedStyles: /* @__PURE__ */ new WeakMap()
14612      };
14613      if (typeof document !== "undefined") {
14614        registerDocument10(document);
14615      }
14616      return globalScope.__wpStyleRuntime;
14617    }
14618    function documentContainsStyleHash10(targetDocument, hash) {
14619      if (!targetDocument.head) {
14620        return false;
14621      }
14622      for (const style of targetDocument.head.querySelectorAll(
14623        `style[$STYLE_HASH_ATTRIBUTE10}]`
14624      )) {
14625        if (style.getAttribute(STYLE_HASH_ATTRIBUTE10) === hash) {
14626          return true;
14627        }
14628      }
14629      return false;
14630    }
14631    function injectStyle10(targetDocument, hash, css) {
14632      if (!targetDocument.head) {
14633        return;
14634      }
14635      const runtime = getRuntime10();
14636      let injectedStyles = runtime.injectedStyles.get(targetDocument);
14637      if (!injectedStyles) {
14638        injectedStyles = /* @__PURE__ */ new Set();
14639        runtime.injectedStyles.set(targetDocument, injectedStyles);
14640      }
14641      if (injectedStyles.has(hash)) {
14642        return;
14643      }
14644      if (documentContainsStyleHash10(targetDocument, hash)) {
14645        injectedStyles.add(hash);
14646        return;
14647      }
14648      const style = targetDocument.createElement("style");
14649      style.setAttribute(STYLE_HASH_ATTRIBUTE10, hash);
14650      style.appendChild(targetDocument.createTextNode(css));
14651      targetDocument.head.appendChild(style);
14652      injectedStyles.add(hash);
14653    }
14654    function registerDocument10(targetDocument) {
14655      const runtime = getRuntime10();
14656      runtime.documents.set(
14657        targetDocument,
14658        (runtime.documents.get(targetDocument) ?? 0) + 1
14659      );
14660      for (const [hash, css] of runtime.styles) {
14661        injectStyle10(targetDocument, hash, css);
14662      }
14663      return () => {
14664        const count = runtime.documents.get(targetDocument);
14665        if (count === void 0) {
14666          return;
14667        }
14668        if (count <= 1) {
14669          runtime.documents.delete(targetDocument);
14670          return;
14671        }
14672        runtime.documents.set(targetDocument, count - 1);
14673      };
14674    }
14675    function registerStyle10(hash, css) {
14676      const runtime = getRuntime10();
14677      runtime.styles.set(hash, css);
14678      for (const targetDocument of runtime.documents.keys()) {
14679        injectStyle10(targetDocument, hash, css);
14680      }
14681    }
14682    if (typeof process === "undefined" || true) {
14683      registerStyle10("e25d67a230", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
14684    }
14685    var item_popup_default = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
14686    function getItemPopupWidthClassName(width = "anchor") {
14687      switch (width) {
14688        case "available":
14689          return item_popup_default["is-width-available"];
14690        case "content":
14691          return item_popup_default["is-width-content"];
14692        case "lg":
14693          return item_popup_default["is-width-lg"];
14694        case "md":
14695          return item_popup_default["is-width-md"];
14696        case "sm":
14697          return item_popup_default["is-width-sm"];
14698        case "anchor":
14699          return item_popup_default["is-width-anchor"];
14700        default:
14701          return false;
14702      }
14703    }
14704  
14705    // packages/ui/build-module/form/primitives/control-with-error/control-with-error.mjs
14706    var import_i18n5 = __toESM(require_i18n(), 1);
14707    var import_element20 = __toESM(require_element(), 1);
14708  
14709    // packages/ui/build-module/form/primitives/validity-indicator/validity-indicator.mjs
14710    var import_jsx_runtime57 = __toESM(require_jsx_runtime(), 1);
14711    var STYLE_HASH_ATTRIBUTE11 = "data-wp-hash";
14712    function getRuntime11() {
14713      const globalScope = globalThis;
14714      if (globalScope.__wpStyleRuntime) {
14715        return globalScope.__wpStyleRuntime;
14716      }
14717      globalScope.__wpStyleRuntime = {
14718        documents: /* @__PURE__ */ new Map(),
14719        styles: /* @__PURE__ */ new Map(),
14720        injectedStyles: /* @__PURE__ */ new WeakMap()
14721      };
14722      if (typeof document !== "undefined") {
14723        registerDocument11(document);
14724      }
14725      return globalScope.__wpStyleRuntime;
14726    }
14727    function documentContainsStyleHash11(targetDocument, hash) {
14728      if (!targetDocument.head) {
14729        return false;
14730      }
14731      for (const style of targetDocument.head.querySelectorAll(
14732        `style[$STYLE_HASH_ATTRIBUTE11}]`
14733      )) {
14734        if (style.getAttribute(STYLE_HASH_ATTRIBUTE11) === hash) {
14735          return true;
14736        }
14737      }
14738      return false;
14739    }
14740    function injectStyle11(targetDocument, hash, css) {
14741      if (!targetDocument.head) {
14742        return;
14743      }
14744      const runtime = getRuntime11();
14745      let injectedStyles = runtime.injectedStyles.get(targetDocument);
14746      if (!injectedStyles) {
14747        injectedStyles = /* @__PURE__ */ new Set();
14748        runtime.injectedStyles.set(targetDocument, injectedStyles);
14749      }
14750      if (injectedStyles.has(hash)) {
14751        return;
14752      }
14753      if (documentContainsStyleHash11(targetDocument, hash)) {
14754        injectedStyles.add(hash);
14755        return;
14756      }
14757      const style = targetDocument.createElement("style");
14758      style.setAttribute(STYLE_HASH_ATTRIBUTE11, hash);
14759      style.appendChild(targetDocument.createTextNode(css));
14760      targetDocument.head.appendChild(style);
14761      injectedStyles.add(hash);
14762    }
14763    function registerDocument11(targetDocument) {
14764      const runtime = getRuntime11();
14765      runtime.documents.set(
14766        targetDocument,
14767        (runtime.documents.get(targetDocument) ?? 0) + 1
14768      );
14769      for (const [hash, css] of runtime.styles) {
14770        injectStyle11(targetDocument, hash, css);
14771      }
14772      return () => {
14773        const count = runtime.documents.get(targetDocument);
14774        if (count === void 0) {
14775          return;
14776        }
14777        if (count <= 1) {
14778          runtime.documents.delete(targetDocument);
14779          return;
14780        }
14781        runtime.documents.set(targetDocument, count - 1);
14782      };
14783    }
14784    function registerStyle11(hash, css) {
14785      const runtime = getRuntime11();
14786      runtime.styles.set(hash, css);
14787      for (const targetDocument of runtime.documents.keys()) {
14788        injectStyle11(targetDocument, hash, css);
14789      }
14790    }
14791    if (typeof process === "undefined" || true) {
14792      registerStyle11("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
14793    }
14794    var global_css_defense_default5 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
14795    if (typeof process === "undefined" || true) {
14796      registerStyle11("d11816833c", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._7a7ac88e306348e7__indicator{--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);align-items:flex-start;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-sm,12px);gap:var(--wpds-dimension-gap-xs,4px);line-height:var(--wpds-typography-line-height-xs,16px);@media not (prefers-reduced-motion){animation:_48722cc5dd090ce4__indicator-jump var(--wpds-motion-duration-md,.2s) cubic-bezier(.68,-.55,.27,1.55)}}._57a3bbbfbe38a5c6__is-invalid{color:var(--wpds-color-foreground-content-error-weak,#cc1818)}._9e944dc198aac10b__is-valid{color:var(--wpds-color-foreground-content-success-weak,#008030)}.e482806667437c6a__indicator-icon{flex-shrink:0}._6e46434cc23019d2__indicator-spinner{height:var(--wpds-dimension-size-3xs,12px);margin:2px;width:var(--wpds-dimension-size-3xs,12px)}@keyframes _48722cc5dd090ce4__indicator-jump{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}}}');
14797    }
14798    var style_default9 = { "indicator": "_7a7ac88e306348e7__indicator", "indicator-jump": "_48722cc5dd090ce4__indicator-jump", "is-invalid": "_57a3bbbfbe38a5c6__is-invalid", "is-valid": "_9e944dc198aac10b__is-valid", "indicator-icon": "e482806667437c6a__indicator-icon", "indicator-spinner": "_6e46434cc23019d2__indicator-spinner" };
14799    var ICON = {
14800      valid: published_default,
14801      invalid: error_default
14802    };
14803    function ValidityIndicator({
14804      id,
14805      type,
14806      message
14807    }) {
14808      return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
14809        "p",
14810        {
14811          id,
14812          className: clsx_default(
14813            global_css_defense_default5.p,
14814            style_default9.indicator,
14815            style_default9[`is-$type}`]
14816          ),
14817          children: [
14818            type === "validating" ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Spinner, { className: style_default9["indicator-spinner"] }) : /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
14819              Icon,
14820              {
14821                className: style_default9["indicator-icon"],
14822                icon: ICON[type],
14823                size: 16,
14824                fill: "currentColor"
14825              }
14826            ),
14827            message
14828          ]
14829        }
14830      );
14831    }
14832  
14833    // packages/ui/build-module/form/primitives/control-with-error/control-with-error.mjs
14834    var import_jsx_runtime58 = __toESM(require_jsx_runtime(), 1);
14835    var DEFAULT_RENDER = (props) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Stack, { ...props, direction: "column", gap: "sm" });
14836    function appendRequiredIndicator(label, required, markWhenOptional) {
14837      let suffix;
14838      if (required && !markWhenOptional) {
14839        suffix = `(${(0, import_i18n5.__)("Required")})`;
14840      } else if (!required && markWhenOptional) {
14841        suffix = `(${(0, import_i18n5.__)("Optional")})`;
14842      }
14843      if (!suffix) {
14844        return label;
14845      }
14846      if (typeof label === "string") {
14847        return `$label} $suffix}`;
14848      }
14849      return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
14850        label,
14851        " ",
14852        suffix
14853      ] });
14854    }
14855    var VALIDITY_VISIBLE_ATTRIBUTE = "data-validity-visible";
14856    var ControlWithError = (0, import_element20.forwardRef)(function UnforwardedControlWithError({
14857      required,
14858      markWhenOptional,
14859      customValidity,
14860      getValidityTarget,
14861      children,
14862      render = DEFAULT_RENDER,
14863      ...restProps
14864    }, forwardedRef) {
14865      const [errorMessage, setErrorMessage] = (0, import_element20.useState)();
14866      const [statusMessage, setStatusMessage] = (0, import_element20.useState)();
14867      const [showMessage, setShowMessage] = (0, import_element20.useState)(false);
14868      const [isTouched, setIsTouched] = (0, import_element20.useState)(false);
14869      const wrapperRef = (0, import_element20.useRef)(null);
14870      (0, import_element20.useEffect)(() => {
14871        const validityTarget = getValidityTarget();
14872        const handler = () => {
14873          if (customValidity?.type !== "validating") {
14874            setErrorMessage(validityTarget?.validationMessage);
14875          }
14876          setShowMessage(true);
14877          validityTarget?.setAttribute(VALIDITY_VISIBLE_ATTRIBUTE, "");
14878        };
14879        validityTarget?.addEventListener("invalid", handler);
14880        return () => validityTarget?.removeEventListener("invalid", handler);
14881      }, [customValidity?.type, getValidityTarget]);
14882      (0, import_element20.useEffect)(() => {
14883        const validityTarget = getValidityTarget();
14884        const suppressNativePopover = (event) => {
14885          event.preventDefault();
14886          if (!event.isTrusted) {
14887            return;
14888          }
14889          const target = event.target;
14890          const firstErrorInForm = Array.from(
14891            target.form?.elements ?? []
14892          ).find((el) => !el.validity.valid);
14893          if (!target.form || firstErrorInForm === target) {
14894            target.focus();
14895          }
14896        };
14897        const radioSiblings = validityTarget?.type === "radio" && validityTarget?.name ? Array.from(
14898          wrapperRef.current?.querySelectorAll(
14899            `input[type="radio"][name="$validityTarget?.name}"]`
14900          ) ?? []
14901        ).filter((sibling) => sibling !== validityTarget) : [];
14902        validityTarget?.addEventListener("invalid", suppressNativePopover);
14903        radioSiblings.forEach(
14904          (sibling) => sibling.addEventListener("invalid", suppressNativePopover)
14905        );
14906        return () => {
14907          validityTarget?.removeEventListener(
14908            "invalid",
14909            suppressNativePopover
14910          );
14911          radioSiblings.forEach(
14912            (sibling) => sibling.removeEventListener("invalid", suppressNativePopover)
14913          );
14914        };
14915      }, [getValidityTarget]);
14916      (0, import_element20.useEffect)(() => {
14917        const validityTarget = getValidityTarget();
14918        if (!customValidity?.type) {
14919          validityTarget?.setCustomValidity("");
14920          setErrorMessage(validityTarget?.validationMessage);
14921          setStatusMessage(void 0);
14922          return;
14923        }
14924        switch (customValidity.type) {
14925          case "validating": {
14926            validityTarget?.setCustomValidity("");
14927            setErrorMessage(void 0);
14928            setStatusMessage({
14929              type: "validating",
14930              message: customValidity.message
14931            });
14932            break;
14933          }
14934          case "valid": {
14935            validityTarget?.setCustomValidity("");
14936            setErrorMessage(validityTarget?.validationMessage);
14937            setStatusMessage({
14938              type: "valid",
14939              message: customValidity.message
14940            });
14941            break;
14942          }
14943          case "invalid": {
14944            validityTarget?.setCustomValidity(
14945              customValidity.message ?? ""
14946            );
14947            setErrorMessage(validityTarget?.validationMessage);
14948            setStatusMessage(void 0);
14949            break;
14950          }
14951        }
14952      }, [customValidity, getValidityTarget]);
14953      (0, import_element20.useEffect)(() => {
14954        if (!isTouched || showMessage) {
14955          return;
14956        }
14957        if (customValidity?.type === "validating") {
14958          const timer = setTimeout(() => {
14959            setShowMessage(true);
14960          }, 1e3);
14961          return () => clearTimeout(timer);
14962        }
14963        setShowMessage(true);
14964      }, [isTouched, customValidity?.type, showMessage]);
14965      const onBlur = (event) => {
14966        if (event.relatedTarget && event.currentTarget.contains(event.relatedTarget)) {
14967          return;
14968        }
14969        if (!isTouched) {
14970          setIsTouched(true);
14971          getValidityTarget()?.setAttribute(VALIDITY_VISIBLE_ATTRIBUTE, "");
14972        }
14973        const validityTarget = getValidityTarget();
14974        const isValidating = customValidity?.type === "validating";
14975        window.queueMicrotask(() => {
14976          if (!isValidating) {
14977            setErrorMessage(validityTarget?.validationMessage);
14978          }
14979        });
14980      };
14981      const messageId = (0, import_element20.useId)();
14982      const message = (() => {
14983        if (errorMessage) {
14984          return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
14985            ValidityIndicator,
14986            {
14987              id: messageId,
14988              type: "invalid",
14989              message: errorMessage
14990            }
14991          );
14992        }
14993        if (statusMessage?.type) {
14994          return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
14995            ValidityIndicator,
14996            {
14997              id: messageId,
14998              type: statusMessage.type,
14999              message: statusMessage.message
15000            }
15001          );
15002        }
15003        return null;
15004      })();
15005      const visibleMessage = showMessage ? message : null;
15006      (0, import_element20.useEffect)(() => {
15007        const target = getValidityTarget();
15008        if (!target) {
15009          return;
15010        }
15011        function setDescribedBy(el, shouldAdd) {
15012          const ids = (el.getAttribute("aria-describedby") ?? "").split(" ").filter((id) => id && id !== messageId);
15013          if (shouldAdd) {
15014            ids.push(messageId);
15015          }
15016          if (ids.length) {
15017            el.setAttribute("aria-describedby", ids.join(" "));
15018          } else {
15019            el.removeAttribute("aria-describedby");
15020          }
15021        }
15022        setDescribedBy(target, !!visibleMessage);
15023        return () => setDescribedBy(target, false);
15024      }, [visibleMessage, messageId, getValidityTarget]);
15025      return useRender({
15026        render,
15027        ref: [forwardedRef, wrapperRef],
15028        props: mergeProps(restProps, {
15029          onBlur,
15030          children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
15031            (0, import_element20.cloneElement)(children, {
15032              label: appendRequiredIndicator(
15033                children.props.label,
15034                required,
15035                markWhenOptional
15036              ),
15037              required
15038            }),
15039            visibleMessage
15040          ] })
15041        })
15042      });
15043    });
15044  
15045    // packages/ui/build-module/form/primitives/field/index.mjs
15046    var field_exports = {};
15047    __export(field_exports, {
15048      Control: () => Control,
15049      Description: () => Description,
15050      Details: () => Details,
15051      Item: () => Item,
15052      Label: () => Label,
15053      Root: () => Root,
15054      VisualLabel: () => VisualLabel
15055    });
15056  
15057    // packages/ui/build-module/form/primitives/field/root.mjs
15058    var import_element21 = __toESM(require_element(), 1);
15059    var import_jsx_runtime59 = __toESM(require_jsx_runtime(), 1);
15060    var STYLE_HASH_ATTRIBUTE12 = "data-wp-hash";
15061    function getRuntime12() {
15062      const globalScope = globalThis;
15063      if (globalScope.__wpStyleRuntime) {
15064        return globalScope.__wpStyleRuntime;
15065      }
15066      globalScope.__wpStyleRuntime = {
15067        documents: /* @__PURE__ */ new Map(),
15068        styles: /* @__PURE__ */ new Map(),
15069        injectedStyles: /* @__PURE__ */ new WeakMap()
15070      };
15071      if (typeof document !== "undefined") {
15072        registerDocument12(document);
15073      }
15074      return globalScope.__wpStyleRuntime;
15075    }
15076    function documentContainsStyleHash12(targetDocument, hash) {
15077      if (!targetDocument.head) {
15078        return false;
15079      }
15080      for (const style of targetDocument.head.querySelectorAll(
15081        `style[$STYLE_HASH_ATTRIBUTE12}]`
15082      )) {
15083        if (style.getAttribute(STYLE_HASH_ATTRIBUTE12) === hash) {
15084          return true;
15085        }
15086      }
15087      return false;
15088    }
15089    function injectStyle12(targetDocument, hash, css) {
15090      if (!targetDocument.head) {
15091        return;
15092      }
15093      const runtime = getRuntime12();
15094      let injectedStyles = runtime.injectedStyles.get(targetDocument);
15095      if (!injectedStyles) {
15096        injectedStyles = /* @__PURE__ */ new Set();
15097        runtime.injectedStyles.set(targetDocument, injectedStyles);
15098      }
15099      if (injectedStyles.has(hash)) {
15100        return;
15101      }
15102      if (documentContainsStyleHash12(targetDocument, hash)) {
15103        injectedStyles.add(hash);
15104        return;
15105      }
15106      const style = targetDocument.createElement("style");
15107      style.setAttribute(STYLE_HASH_ATTRIBUTE12, hash);
15108      style.appendChild(targetDocument.createTextNode(css));
15109      targetDocument.head.appendChild(style);
15110      injectedStyles.add(hash);
15111    }
15112    function registerDocument12(targetDocument) {
15113      const runtime = getRuntime12();
15114      runtime.documents.set(
15115        targetDocument,
15116        (runtime.documents.get(targetDocument) ?? 0) + 1
15117      );
15118      for (const [hash, css] of runtime.styles) {
15119        injectStyle12(targetDocument, hash, css);
15120      }
15121      return () => {
15122        const count = runtime.documents.get(targetDocument);
15123        if (count === void 0) {
15124          return;
15125        }
15126        if (count <= 1) {
15127          runtime.documents.delete(targetDocument);
15128          return;
15129        }
15130        runtime.documents.set(targetDocument, count - 1);
15131      };
15132    }
15133    function registerStyle12(hash, css) {
15134      const runtime = getRuntime12();
15135      runtime.styles.set(hash, css);
15136      for (const targetDocument of runtime.documents.keys()) {
15137        injectStyle12(targetDocument, hash, css);
15138      }
15139    }
15140    if (typeof process === "undefined" || true) {
15141      registerStyle12("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
15142    }
15143    var resets_default3 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
15144    var DEFAULT_RENDER2 = (props) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Stack, { ...props, direction: "column", gap: "sm" });
15145    var Root = (0, import_element21.forwardRef)(
15146      function UnforwardedRoot({ className, render = DEFAULT_RENDER2, ...restProps }, ref) {
15147        return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
15148          index_parts_exports.Root,
15149          {
15150            ref,
15151            className: clsx_default(resets_default3["box-sizing"], className),
15152            render,
15153            ...restProps
15154          }
15155        );
15156      }
15157    );
15158  
15159    // packages/ui/build-module/form/primitives/field/item.mjs
15160    var import_element22 = __toESM(require_element(), 1);
15161    var import_jsx_runtime60 = __toESM(require_jsx_runtime(), 1);
15162    var Item = (0, import_element22.forwardRef)(function UnforwardedItem(props, ref) {
15163      return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(index_parts_exports.Item, { ref, ...props });
15164    });
15165  
15166    // packages/ui/build-module/form/primitives/field/label.mjs
15167    var import_element23 = __toESM(require_element(), 1);
15168    var import_jsx_runtime61 = __toESM(require_jsx_runtime(), 1);
15169    var STYLE_HASH_ATTRIBUTE13 = "data-wp-hash";
15170    function getRuntime13() {
15171      const globalScope = globalThis;
15172      if (globalScope.__wpStyleRuntime) {
15173        return globalScope.__wpStyleRuntime;
15174      }
15175      globalScope.__wpStyleRuntime = {
15176        documents: /* @__PURE__ */ new Map(),
15177        styles: /* @__PURE__ */ new Map(),
15178        injectedStyles: /* @__PURE__ */ new WeakMap()
15179      };
15180      if (typeof document !== "undefined") {
15181        registerDocument13(document);
15182      }
15183      return globalScope.__wpStyleRuntime;
15184    }
15185    function documentContainsStyleHash13(targetDocument, hash) {
15186      if (!targetDocument.head) {
15187        return false;
15188      }
15189      for (const style of targetDocument.head.querySelectorAll(
15190        `style[$STYLE_HASH_ATTRIBUTE13}]`
15191      )) {
15192        if (style.getAttribute(STYLE_HASH_ATTRIBUTE13) === hash) {
15193          return true;
15194        }
15195      }
15196      return false;
15197    }
15198    function injectStyle13(targetDocument, hash, css) {
15199      if (!targetDocument.head) {
15200        return;
15201      }
15202      const runtime = getRuntime13();
15203      let injectedStyles = runtime.injectedStyles.get(targetDocument);
15204      if (!injectedStyles) {
15205        injectedStyles = /* @__PURE__ */ new Set();
15206        runtime.injectedStyles.set(targetDocument, injectedStyles);
15207      }
15208      if (injectedStyles.has(hash)) {
15209        return;
15210      }
15211      if (documentContainsStyleHash13(targetDocument, hash)) {
15212        injectedStyles.add(hash);
15213        return;
15214      }
15215      const style = targetDocument.createElement("style");
15216      style.setAttribute(STYLE_HASH_ATTRIBUTE13, hash);
15217      style.appendChild(targetDocument.createTextNode(css));
15218      targetDocument.head.appendChild(style);
15219      injectedStyles.add(hash);
15220    }
15221    function registerDocument13(targetDocument) {
15222      const runtime = getRuntime13();
15223      runtime.documents.set(
15224        targetDocument,
15225        (runtime.documents.get(targetDocument) ?? 0) + 1
15226      );
15227      for (const [hash, css] of runtime.styles) {
15228        injectStyle13(targetDocument, hash, css);
15229      }
15230      return () => {
15231        const count = runtime.documents.get(targetDocument);
15232        if (count === void 0) {
15233          return;
15234        }
15235        if (count <= 1) {
15236          runtime.documents.delete(targetDocument);
15237          return;
15238        }
15239        runtime.documents.set(targetDocument, count - 1);
15240      };
15241    }
15242    function registerStyle13(hash, css) {
15243      const runtime = getRuntime13();
15244      runtime.styles.set(hash, css);
15245      for (const targetDocument of runtime.documents.keys()) {
15246        injectStyle13(targetDocument, hash, css);
15247      }
15248    }
15249    if (typeof process === "undefined" || true) {
15250      registerStyle13("df33c48b2d", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._2d5ad850b2f90964__label{--wp-ui-field-label-line-height:var(--wpds-typography-line-height-xs,16px);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wp-ui-field-label-line-height);text-transform:uppercase;&._17c4214649230bea__is-plain{font-size:var(--wpds-typography-font-size-md,13px);font-weight:var(--wpds-typography-font-weight-default,400);text-transform:none}}._08a3750500e0233f__description{--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);--_gcd-p-margin:0;text-wrap:pretty;color:var(--wpds-color-foreground-content-neutral-weak,#707070);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:var(--wpds-typography-line-height-xs,16px)}}}');
15251    }
15252    var field_default = { "label": "_2d5ad850b2f90964__label", "is-plain": "_17c4214649230bea__is-plain", "description": "_08a3750500e0233f__description" };
15253    var Label = (0, import_element23.forwardRef)(
15254      function UnforwardedLabel({ className, hideFromVision, variant, ...restProps }, ref) {
15255        const label = /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
15256          index_parts_exports.Label,
15257          {
15258            ref,
15259            className: clsx_default(
15260              field_default.label,
15261              variant && field_default[`is-$variant}`],
15262              className
15263            ),
15264            ...restProps
15265          }
15266        );
15267        if (hideFromVision) {
15268          return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(VisuallyHidden, { render: label });
15269        }
15270        return label;
15271      }
15272    );
15273  
15274    // packages/ui/build-module/form/primitives/field/description.mjs
15275    var import_element24 = __toESM(require_element(), 1);
15276    var import_jsx_runtime62 = __toESM(require_jsx_runtime(), 1);
15277    var STYLE_HASH_ATTRIBUTE14 = "data-wp-hash";
15278    function getRuntime14() {
15279      const globalScope = globalThis;
15280      if (globalScope.__wpStyleRuntime) {
15281        return globalScope.__wpStyleRuntime;
15282      }
15283      globalScope.__wpStyleRuntime = {
15284        documents: /* @__PURE__ */ new Map(),
15285        styles: /* @__PURE__ */ new Map(),
15286        injectedStyles: /* @__PURE__ */ new WeakMap()
15287      };
15288      if (typeof document !== "undefined") {
15289        registerDocument14(document);
15290      }
15291      return globalScope.__wpStyleRuntime;
15292    }
15293    function documentContainsStyleHash14(targetDocument, hash) {
15294      if (!targetDocument.head) {
15295        return false;
15296      }
15297      for (const style of targetDocument.head.querySelectorAll(
15298        `style[$STYLE_HASH_ATTRIBUTE14}]`
15299      )) {
15300        if (style.getAttribute(STYLE_HASH_ATTRIBUTE14) === hash) {
15301          return true;
15302        }
15303      }
15304      return false;
15305    }
15306    function injectStyle14(targetDocument, hash, css) {
15307      if (!targetDocument.head) {
15308        return;
15309      }
15310      const runtime = getRuntime14();
15311      let injectedStyles = runtime.injectedStyles.get(targetDocument);
15312      if (!injectedStyles) {
15313        injectedStyles = /* @__PURE__ */ new Set();
15314        runtime.injectedStyles.set(targetDocument, injectedStyles);
15315      }
15316      if (injectedStyles.has(hash)) {
15317        return;
15318      }
15319      if (documentContainsStyleHash14(targetDocument, hash)) {
15320        injectedStyles.add(hash);
15321        return;
15322      }
15323      const style = targetDocument.createElement("style");
15324      style.setAttribute(STYLE_HASH_ATTRIBUTE14, hash);
15325      style.appendChild(targetDocument.createTextNode(css));
15326      targetDocument.head.appendChild(style);
15327      injectedStyles.add(hash);
15328    }
15329    function registerDocument14(targetDocument) {
15330      const runtime = getRuntime14();
15331      runtime.documents.set(
15332        targetDocument,
15333        (runtime.documents.get(targetDocument) ?? 0) + 1
15334      );
15335      for (const [hash, css] of runtime.styles) {
15336        injectStyle14(targetDocument, hash, css);
15337      }
15338      return () => {
15339        const count = runtime.documents.get(targetDocument);
15340        if (count === void 0) {
15341          return;
15342        }
15343        if (count <= 1) {
15344          runtime.documents.delete(targetDocument);
15345          return;
15346        }
15347        runtime.documents.set(targetDocument, count - 1);
15348      };
15349    }
15350    function registerStyle14(hash, css) {
15351      const runtime = getRuntime14();
15352      runtime.styles.set(hash, css);
15353      for (const targetDocument of runtime.documents.keys()) {
15354        injectStyle14(targetDocument, hash, css);
15355      }
15356    }
15357    if (typeof process === "undefined" || true) {
15358      registerStyle14("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
15359    }
15360    var global_css_defense_default6 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
15361    if (typeof process === "undefined" || true) {
15362      registerStyle14("df33c48b2d", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._2d5ad850b2f90964__label{--wp-ui-field-label-line-height:var(--wpds-typography-line-height-xs,16px);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wp-ui-field-label-line-height);text-transform:uppercase;&._17c4214649230bea__is-plain{font-size:var(--wpds-typography-font-size-md,13px);font-weight:var(--wpds-typography-font-weight-default,400);text-transform:none}}._08a3750500e0233f__description{--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);--_gcd-p-margin:0;text-wrap:pretty;color:var(--wpds-color-foreground-content-neutral-weak,#707070);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:var(--wpds-typography-line-height-xs,16px)}}}');
15363    }
15364    var field_default2 = { "label": "_2d5ad850b2f90964__label", "is-plain": "_17c4214649230bea__is-plain", "description": "_08a3750500e0233f__description" };
15365    var Description = (0, import_element24.forwardRef)(function UnforwardedDescription({ className, ...restProps }, ref) {
15366      return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
15367        index_parts_exports.Description,
15368        {
15369          ref,
15370          className: clsx_default(
15371            global_css_defense_default6.p,
15372            field_default2.description,
15373            className
15374          ),
15375          ...restProps
15376        }
15377      );
15378    });
15379  
15380    // packages/ui/build-module/form/primitives/field/details.mjs
15381    var import_element25 = __toESM(require_element(), 1);
15382    var import_i18n6 = __toESM(require_i18n(), 1);
15383    var import_jsx_runtime63 = __toESM(require_jsx_runtime(), 1);
15384    var STYLE_HASH_ATTRIBUTE15 = "data-wp-hash";
15385    function getRuntime15() {
15386      const globalScope = globalThis;
15387      if (globalScope.__wpStyleRuntime) {
15388        return globalScope.__wpStyleRuntime;
15389      }
15390      globalScope.__wpStyleRuntime = {
15391        documents: /* @__PURE__ */ new Map(),
15392        styles: /* @__PURE__ */ new Map(),
15393        injectedStyles: /* @__PURE__ */ new WeakMap()
15394      };
15395      if (typeof document !== "undefined") {
15396        registerDocument15(document);
15397      }
15398      return globalScope.__wpStyleRuntime;
15399    }
15400    function documentContainsStyleHash15(targetDocument, hash) {
15401      if (!targetDocument.head) {
15402        return false;
15403      }
15404      for (const style of targetDocument.head.querySelectorAll(
15405        `style[$STYLE_HASH_ATTRIBUTE15}]`
15406      )) {
15407        if (style.getAttribute(STYLE_HASH_ATTRIBUTE15) === hash) {
15408          return true;
15409        }
15410      }
15411      return false;
15412    }
15413    function injectStyle15(targetDocument, hash, css) {
15414      if (!targetDocument.head) {
15415        return;
15416      }
15417      const runtime = getRuntime15();
15418      let injectedStyles = runtime.injectedStyles.get(targetDocument);
15419      if (!injectedStyles) {
15420        injectedStyles = /* @__PURE__ */ new Set();
15421        runtime.injectedStyles.set(targetDocument, injectedStyles);
15422      }
15423      if (injectedStyles.has(hash)) {
15424        return;
15425      }
15426      if (documentContainsStyleHash15(targetDocument, hash)) {
15427        injectedStyles.add(hash);
15428        return;
15429      }
15430      const style = targetDocument.createElement("style");
15431      style.setAttribute(STYLE_HASH_ATTRIBUTE15, hash);
15432      style.appendChild(targetDocument.createTextNode(css));
15433      targetDocument.head.appendChild(style);
15434      injectedStyles.add(hash);
15435    }
15436    function registerDocument15(targetDocument) {
15437      const runtime = getRuntime15();
15438      runtime.documents.set(
15439        targetDocument,
15440        (runtime.documents.get(targetDocument) ?? 0) + 1
15441      );
15442      for (const [hash, css] of runtime.styles) {
15443        injectStyle15(targetDocument, hash, css);
15444      }
15445      return () => {
15446        const count = runtime.documents.get(targetDocument);
15447        if (count === void 0) {
15448          return;
15449        }
15450        if (count <= 1) {
15451          runtime.documents.delete(targetDocument);
15452          return;
15453        }
15454        runtime.documents.set(targetDocument, count - 1);
15455      };
15456    }
15457    function registerStyle15(hash, css) {
15458      const runtime = getRuntime15();
15459      runtime.styles.set(hash, css);
15460      for (const targetDocument of runtime.documents.keys()) {
15461        injectStyle15(targetDocument, hash, css);
15462      }
15463    }
15464    if (typeof process === "undefined" || true) {
15465      registerStyle15("df33c48b2d", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._2d5ad850b2f90964__label{--wp-ui-field-label-line-height:var(--wpds-typography-line-height-xs,16px);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wp-ui-field-label-line-height);text-transform:uppercase;&._17c4214649230bea__is-plain{font-size:var(--wpds-typography-font-size-md,13px);font-weight:var(--wpds-typography-font-weight-default,400);text-transform:none}}._08a3750500e0233f__description{--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);--_gcd-p-margin:0;text-wrap:pretty;color:var(--wpds-color-foreground-content-neutral-weak,#707070);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:var(--wpds-typography-line-height-xs,16px)}}}');
15466    }
15467    var field_default3 = { "label": "_2d5ad850b2f90964__label", "is-plain": "_17c4214649230bea__is-plain", "description": "_08a3750500e0233f__description" };
15468    var Details = (0, import_element25.forwardRef)(
15469      function UnforwardedDetails({ className, ...restProps }, ref) {
15470        return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
15471          /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(VisuallyHidden, { render: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(index_parts_exports.Description, {}), children: (0, import_i18n6.__)("More details follow the field.") }),
15472          /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
15473            "div",
15474            {
15475              ref,
15476              className: clsx_default(field_default3.description, className),
15477              ...restProps
15478            }
15479          )
15480        ] });
15481      }
15482    );
15483  
15484    // packages/ui/build-module/form/primitives/field/control.mjs
15485    var import_element26 = __toESM(require_element(), 1);
15486    var import_jsx_runtime64 = __toESM(require_jsx_runtime(), 1);
15487    var Control = (0, import_element26.forwardRef)(
15488      function UnforwardedControl(props, ref) {
15489        return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(index_parts_exports.Control, { ref, ...props });
15490      }
15491    );
15492  
15493    // packages/ui/build-module/form/primitives/field/visual-label.mjs
15494    var import_element27 = __toESM(require_element(), 1);
15495    var STYLE_HASH_ATTRIBUTE16 = "data-wp-hash";
15496    function getRuntime16() {
15497      const globalScope = globalThis;
15498      if (globalScope.__wpStyleRuntime) {
15499        return globalScope.__wpStyleRuntime;
15500      }
15501      globalScope.__wpStyleRuntime = {
15502        documents: /* @__PURE__ */ new Map(),
15503        styles: /* @__PURE__ */ new Map(),
15504        injectedStyles: /* @__PURE__ */ new WeakMap()
15505      };
15506      if (typeof document !== "undefined") {
15507        registerDocument16(document);
15508      }
15509      return globalScope.__wpStyleRuntime;
15510    }
15511    function documentContainsStyleHash16(targetDocument, hash) {
15512      if (!targetDocument.head) {
15513        return false;
15514      }
15515      for (const style of targetDocument.head.querySelectorAll(
15516        `style[$STYLE_HASH_ATTRIBUTE16}]`
15517      )) {
15518        if (style.getAttribute(STYLE_HASH_ATTRIBUTE16) === hash) {
15519          return true;
15520        }
15521      }
15522      return false;
15523    }
15524    function injectStyle16(targetDocument, hash, css) {
15525      if (!targetDocument.head) {
15526        return;
15527      }
15528      const runtime = getRuntime16();
15529      let injectedStyles = runtime.injectedStyles.get(targetDocument);
15530      if (!injectedStyles) {
15531        injectedStyles = /* @__PURE__ */ new Set();
15532        runtime.injectedStyles.set(targetDocument, injectedStyles);
15533      }
15534      if (injectedStyles.has(hash)) {
15535        return;
15536      }
15537      if (documentContainsStyleHash16(targetDocument, hash)) {
15538        injectedStyles.add(hash);
15539        return;
15540      }
15541      const style = targetDocument.createElement("style");
15542      style.setAttribute(STYLE_HASH_ATTRIBUTE16, hash);
15543      style.appendChild(targetDocument.createTextNode(css));
15544      targetDocument.head.appendChild(style);
15545      injectedStyles.add(hash);
15546    }
15547    function registerDocument16(targetDocument) {
15548      const runtime = getRuntime16();
15549      runtime.documents.set(
15550        targetDocument,
15551        (runtime.documents.get(targetDocument) ?? 0) + 1
15552      );
15553      for (const [hash, css] of runtime.styles) {
15554        injectStyle16(targetDocument, hash, css);
15555      }
15556      return () => {
15557        const count = runtime.documents.get(targetDocument);
15558        if (count === void 0) {
15559          return;
15560        }
15561        if (count <= 1) {
15562          runtime.documents.delete(targetDocument);
15563          return;
15564        }
15565        runtime.documents.set(targetDocument, count - 1);
15566      };
15567    }
15568    function registerStyle16(hash, css) {
15569      const runtime = getRuntime16();
15570      runtime.styles.set(hash, css);
15571      for (const targetDocument of runtime.documents.keys()) {
15572        injectStyle16(targetDocument, hash, css);
15573      }
15574    }
15575    if (typeof process === "undefined" || true) {
15576      registerStyle16("df33c48b2d", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._2d5ad850b2f90964__label{--wp-ui-field-label-line-height:var(--wpds-typography-line-height-xs,16px);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wp-ui-field-label-line-height);text-transform:uppercase;&._17c4214649230bea__is-plain{font-size:var(--wpds-typography-font-size-md,13px);font-weight:var(--wpds-typography-font-weight-default,400);text-transform:none}}._08a3750500e0233f__description{--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);--_gcd-p-margin:0;text-wrap:pretty;color:var(--wpds-color-foreground-content-neutral-weak,#707070);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:var(--wpds-typography-line-height-xs,16px)}}}');
15577    }
15578    var field_default4 = { "label": "_2d5ad850b2f90964__label", "is-plain": "_17c4214649230bea__is-plain", "description": "_08a3750500e0233f__description" };
15579    var VisualLabel = (0, import_element27.forwardRef)(
15580      function UnforwardedVisualLabel({ className, render, variant, ...restProps }, ref) {
15581        return useRender({
15582          defaultTagName: "span",
15583          render,
15584          ref,
15585          props: mergeProps(restProps, {
15586            className: clsx_default(
15587              field_default4.label,
15588              variant && field_default4[`is-$variant}`],
15589              className
15590            )
15591          })
15592        });
15593      }
15594    );
15595    VisualLabel.displayName = "Field.VisualLabel";
15596  
15597    // packages/ui/build-module/form/primitives/select/index.mjs
15598    var select_exports = {};
15599    __export(select_exports, {
15600      Group: () => Group,
15601      GroupLabel: () => GroupLabel,
15602      Item: () => Item2,
15603      ItemDescription: () => ItemDescription,
15604      ItemLabel: () => ItemLabel,
15605      Popup: () => Popup,
15606      Portal: () => Portal,
15607      Positioner: () => Positioner,
15608      Root: () => Root2,
15609      Separator: () => Separator,
15610      Trigger: () => Trigger
15611    });
15612  
15613    // packages/ui/build-module/form/primitives/select/group.mjs
15614    var import_element28 = __toESM(require_element(), 1);
15615    var import_jsx_runtime65 = __toESM(require_jsx_runtime(), 1);
15616    var STYLE_HASH_ATTRIBUTE17 = "data-wp-hash";
15617    function getRuntime17() {
15618      const globalScope = globalThis;
15619      if (globalScope.__wpStyleRuntime) {
15620        return globalScope.__wpStyleRuntime;
15621      }
15622      globalScope.__wpStyleRuntime = {
15623        documents: /* @__PURE__ */ new Map(),
15624        styles: /* @__PURE__ */ new Map(),
15625        injectedStyles: /* @__PURE__ */ new WeakMap()
15626      };
15627      if (typeof document !== "undefined") {
15628        registerDocument17(document);
15629      }
15630      return globalScope.__wpStyleRuntime;
15631    }
15632    function documentContainsStyleHash17(targetDocument, hash) {
15633      if (!targetDocument.head) {
15634        return false;
15635      }
15636      for (const style of targetDocument.head.querySelectorAll(
15637        `style[$STYLE_HASH_ATTRIBUTE17}]`
15638      )) {
15639        if (style.getAttribute(STYLE_HASH_ATTRIBUTE17) === hash) {
15640          return true;
15641        }
15642      }
15643      return false;
15644    }
15645    function injectStyle17(targetDocument, hash, css) {
15646      if (!targetDocument.head) {
15647        return;
15648      }
15649      const runtime = getRuntime17();
15650      let injectedStyles = runtime.injectedStyles.get(targetDocument);
15651      if (!injectedStyles) {
15652        injectedStyles = /* @__PURE__ */ new Set();
15653        runtime.injectedStyles.set(targetDocument, injectedStyles);
15654      }
15655      if (injectedStyles.has(hash)) {
15656        return;
15657      }
15658      if (documentContainsStyleHash17(targetDocument, hash)) {
15659        injectedStyles.add(hash);
15660        return;
15661      }
15662      const style = targetDocument.createElement("style");
15663      style.setAttribute(STYLE_HASH_ATTRIBUTE17, hash);
15664      style.appendChild(targetDocument.createTextNode(css));
15665      targetDocument.head.appendChild(style);
15666      injectedStyles.add(hash);
15667    }
15668    function registerDocument17(targetDocument) {
15669      const runtime = getRuntime17();
15670      runtime.documents.set(
15671        targetDocument,
15672        (runtime.documents.get(targetDocument) ?? 0) + 1
15673      );
15674      for (const [hash, css] of runtime.styles) {
15675        injectStyle17(targetDocument, hash, css);
15676      }
15677      return () => {
15678        const count = runtime.documents.get(targetDocument);
15679        if (count === void 0) {
15680          return;
15681        }
15682        if (count <= 1) {
15683          runtime.documents.delete(targetDocument);
15684          return;
15685        }
15686        runtime.documents.set(targetDocument, count - 1);
15687      };
15688    }
15689    function registerStyle17(hash, css) {
15690      const runtime = getRuntime17();
15691      runtime.styles.set(hash, css);
15692      for (const targetDocument of runtime.documents.keys()) {
15693        injectStyle17(targetDocument, hash, css);
15694      }
15695    }
15696    if (typeof process === "undefined" || true) {
15697      registerStyle17("e25d67a230", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
15698    }
15699    var item_popup_default2 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
15700    var Group = (0, import_element28.forwardRef)(
15701      function UnforwardedGroup({ className, children, ...restProps }, ref) {
15702        return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
15703          index_parts_exports2.Group,
15704          {
15705            className: clsx_default(item_popup_default2.group, className),
15706            ref,
15707            ...restProps,
15708            children
15709          }
15710        );
15711      }
15712    );
15713  
15714    // packages/ui/build-module/form/primitives/select/group-label.mjs
15715    var import_element29 = __toESM(require_element(), 1);
15716    var import_jsx_runtime66 = __toESM(require_jsx_runtime(), 1);
15717    var STYLE_HASH_ATTRIBUTE18 = "data-wp-hash";
15718    function getRuntime18() {
15719      const globalScope = globalThis;
15720      if (globalScope.__wpStyleRuntime) {
15721        return globalScope.__wpStyleRuntime;
15722      }
15723      globalScope.__wpStyleRuntime = {
15724        documents: /* @__PURE__ */ new Map(),
15725        styles: /* @__PURE__ */ new Map(),
15726        injectedStyles: /* @__PURE__ */ new WeakMap()
15727      };
15728      if (typeof document !== "undefined") {
15729        registerDocument18(document);
15730      }
15731      return globalScope.__wpStyleRuntime;
15732    }
15733    function documentContainsStyleHash18(targetDocument, hash) {
15734      if (!targetDocument.head) {
15735        return false;
15736      }
15737      for (const style of targetDocument.head.querySelectorAll(
15738        `style[$STYLE_HASH_ATTRIBUTE18}]`
15739      )) {
15740        if (style.getAttribute(STYLE_HASH_ATTRIBUTE18) === hash) {
15741          return true;
15742        }
15743      }
15744      return false;
15745    }
15746    function injectStyle18(targetDocument, hash, css) {
15747      if (!targetDocument.head) {
15748        return;
15749      }
15750      const runtime = getRuntime18();
15751      let injectedStyles = runtime.injectedStyles.get(targetDocument);
15752      if (!injectedStyles) {
15753        injectedStyles = /* @__PURE__ */ new Set();
15754        runtime.injectedStyles.set(targetDocument, injectedStyles);
15755      }
15756      if (injectedStyles.has(hash)) {
15757        return;
15758      }
15759      if (documentContainsStyleHash18(targetDocument, hash)) {
15760        injectedStyles.add(hash);
15761        return;
15762      }
15763      const style = targetDocument.createElement("style");
15764      style.setAttribute(STYLE_HASH_ATTRIBUTE18, hash);
15765      style.appendChild(targetDocument.createTextNode(css));
15766      targetDocument.head.appendChild(style);
15767      injectedStyles.add(hash);
15768    }
15769    function registerDocument18(targetDocument) {
15770      const runtime = getRuntime18();
15771      runtime.documents.set(
15772        targetDocument,
15773        (runtime.documents.get(targetDocument) ?? 0) + 1
15774      );
15775      for (const [hash, css] of runtime.styles) {
15776        injectStyle18(targetDocument, hash, css);
15777      }
15778      return () => {
15779        const count = runtime.documents.get(targetDocument);
15780        if (count === void 0) {
15781          return;
15782        }
15783        if (count <= 1) {
15784          runtime.documents.delete(targetDocument);
15785          return;
15786        }
15787        runtime.documents.set(targetDocument, count - 1);
15788      };
15789    }
15790    function registerStyle18(hash, css) {
15791      const runtime = getRuntime18();
15792      runtime.styles.set(hash, css);
15793      for (const targetDocument of runtime.documents.keys()) {
15794        injectStyle18(targetDocument, hash, css);
15795      }
15796    }
15797    if (typeof process === "undefined" || true) {
15798      registerStyle18("e25d67a230", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
15799    }
15800    var item_popup_default3 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
15801    var GroupLabel = (0, import_element29.forwardRef)(
15802      function UnforwardedGroupLabel({ className, children, ...restProps }, ref) {
15803        return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
15804          Text,
15805          {
15806            variant: "heading-sm",
15807            className: clsx_default(
15808              item_popup_default3["group-label"],
15809              className
15810            ),
15811            render: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(index_parts_exports2.GroupLabel, { ref, ...restProps }),
15812            children
15813          }
15814        );
15815      }
15816    );
15817  
15818    // packages/ui/build-module/form/primitives/select/item.mjs
15819    var import_element32 = __toESM(require_element(), 1);
15820  
15821    // packages/ui/build-module/form/primitives/select/item-description.mjs
15822    var import_element30 = __toESM(require_element(), 1);
15823    var import_jsx_runtime67 = __toESM(require_jsx_runtime(), 1);
15824    var STYLE_HASH_ATTRIBUTE19 = "data-wp-hash";
15825    function getRuntime19() {
15826      const globalScope = globalThis;
15827      if (globalScope.__wpStyleRuntime) {
15828        return globalScope.__wpStyleRuntime;
15829      }
15830      globalScope.__wpStyleRuntime = {
15831        documents: /* @__PURE__ */ new Map(),
15832        styles: /* @__PURE__ */ new Map(),
15833        injectedStyles: /* @__PURE__ */ new WeakMap()
15834      };
15835      if (typeof document !== "undefined") {
15836        registerDocument19(document);
15837      }
15838      return globalScope.__wpStyleRuntime;
15839    }
15840    function documentContainsStyleHash19(targetDocument, hash) {
15841      if (!targetDocument.head) {
15842        return false;
15843      }
15844      for (const style of targetDocument.head.querySelectorAll(
15845        `style[$STYLE_HASH_ATTRIBUTE19}]`
15846      )) {
15847        if (style.getAttribute(STYLE_HASH_ATTRIBUTE19) === hash) {
15848          return true;
15849        }
15850      }
15851      return false;
15852    }
15853    function injectStyle19(targetDocument, hash, css) {
15854      if (!targetDocument.head) {
15855        return;
15856      }
15857      const runtime = getRuntime19();
15858      let injectedStyles = runtime.injectedStyles.get(targetDocument);
15859      if (!injectedStyles) {
15860        injectedStyles = /* @__PURE__ */ new Set();
15861        runtime.injectedStyles.set(targetDocument, injectedStyles);
15862      }
15863      if (injectedStyles.has(hash)) {
15864        return;
15865      }
15866      if (documentContainsStyleHash19(targetDocument, hash)) {
15867        injectedStyles.add(hash);
15868        return;
15869      }
15870      const style = targetDocument.createElement("style");
15871      style.setAttribute(STYLE_HASH_ATTRIBUTE19, hash);
15872      style.appendChild(targetDocument.createTextNode(css));
15873      targetDocument.head.appendChild(style);
15874      injectedStyles.add(hash);
15875    }
15876    function registerDocument19(targetDocument) {
15877      const runtime = getRuntime19();
15878      runtime.documents.set(
15879        targetDocument,
15880        (runtime.documents.get(targetDocument) ?? 0) + 1
15881      );
15882      for (const [hash, css] of runtime.styles) {
15883        injectStyle19(targetDocument, hash, css);
15884      }
15885      return () => {
15886        const count = runtime.documents.get(targetDocument);
15887        if (count === void 0) {
15888          return;
15889        }
15890        if (count <= 1) {
15891          runtime.documents.delete(targetDocument);
15892          return;
15893        }
15894        runtime.documents.set(targetDocument, count - 1);
15895      };
15896    }
15897    function registerStyle19(hash, css) {
15898      const runtime = getRuntime19();
15899      runtime.styles.set(hash, css);
15900      for (const targetDocument of runtime.documents.keys()) {
15901        injectStyle19(targetDocument, hash, css);
15902      }
15903    }
15904    if (typeof process === "undefined" || true) {
15905      registerStyle19("e25d67a230", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
15906    }
15907    var item_popup_default4 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
15908    var ITEM_DESCRIPTION_DIRECT_CHILD = /* @__PURE__ */ Symbol();
15909    var ItemDescription = (0, import_element30.forwardRef)(function UnforwardedItemDescription(props, ref) {
15910      const { className, validationToken, ...restProps } = props;
15911      if (validationToken !== ITEM_DESCRIPTION_DIRECT_CHILD) {
15912        throw new Error(
15913          "Select.ItemDescription: Missing direct select item parent. Render <Select.ItemDescription> as a direct child of <Select.Item>."
15914        );
15915      }
15916      return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
15917        Text,
15918        {
15919          ref,
15920          variant: "body-sm",
15921          className: clsx_default(
15922            item_popup_default4["item-description"],
15923            className
15924          ),
15925          ...restProps
15926        }
15927      );
15928    });
15929  
15930    // packages/ui/build-module/form/primitives/select/item-label.mjs
15931    var import_element31 = __toESM(require_element(), 1);
15932    var import_jsx_runtime68 = __toESM(require_jsx_runtime(), 1);
15933    var STYLE_HASH_ATTRIBUTE20 = "data-wp-hash";
15934    function getRuntime20() {
15935      const globalScope = globalThis;
15936      if (globalScope.__wpStyleRuntime) {
15937        return globalScope.__wpStyleRuntime;
15938      }
15939      globalScope.__wpStyleRuntime = {
15940        documents: /* @__PURE__ */ new Map(),
15941        styles: /* @__PURE__ */ new Map(),
15942        injectedStyles: /* @__PURE__ */ new WeakMap()
15943      };
15944      if (typeof document !== "undefined") {
15945        registerDocument20(document);
15946      }
15947      return globalScope.__wpStyleRuntime;
15948    }
15949    function documentContainsStyleHash20(targetDocument, hash) {
15950      if (!targetDocument.head) {
15951        return false;
15952      }
15953      for (const style of targetDocument.head.querySelectorAll(
15954        `style[$STYLE_HASH_ATTRIBUTE20}]`
15955      )) {
15956        if (style.getAttribute(STYLE_HASH_ATTRIBUTE20) === hash) {
15957          return true;
15958        }
15959      }
15960      return false;
15961    }
15962    function injectStyle20(targetDocument, hash, css) {
15963      if (!targetDocument.head) {
15964        return;
15965      }
15966      const runtime = getRuntime20();
15967      let injectedStyles = runtime.injectedStyles.get(targetDocument);
15968      if (!injectedStyles) {
15969        injectedStyles = /* @__PURE__ */ new Set();
15970        runtime.injectedStyles.set(targetDocument, injectedStyles);
15971      }
15972      if (injectedStyles.has(hash)) {
15973        return;
15974      }
15975      if (documentContainsStyleHash20(targetDocument, hash)) {
15976        injectedStyles.add(hash);
15977        return;
15978      }
15979      const style = targetDocument.createElement("style");
15980      style.setAttribute(STYLE_HASH_ATTRIBUTE20, hash);
15981      style.appendChild(targetDocument.createTextNode(css));
15982      targetDocument.head.appendChild(style);
15983      injectedStyles.add(hash);
15984    }
15985    function registerDocument20(targetDocument) {
15986      const runtime = getRuntime20();
15987      runtime.documents.set(
15988        targetDocument,
15989        (runtime.documents.get(targetDocument) ?? 0) + 1
15990      );
15991      for (const [hash, css] of runtime.styles) {
15992        injectStyle20(targetDocument, hash, css);
15993      }
15994      return () => {
15995        const count = runtime.documents.get(targetDocument);
15996        if (count === void 0) {
15997          return;
15998        }
15999        if (count <= 1) {
16000          runtime.documents.delete(targetDocument);
16001          return;
16002        }
16003        runtime.documents.set(targetDocument, count - 1);
16004      };
16005    }
16006    function registerStyle20(hash, css) {
16007      const runtime = getRuntime20();
16008      runtime.styles.set(hash, css);
16009      for (const targetDocument of runtime.documents.keys()) {
16010        injectStyle20(targetDocument, hash, css);
16011      }
16012    }
16013    if (typeof process === "undefined" || true) {
16014      registerStyle20("e25d67a230", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
16015    }
16016    var item_popup_default5 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
16017    var ItemLabel = (0, import_element31.forwardRef)(
16018      function UnforwardedItemLabel({ children, className, render, ...restProps }, ref) {
16019        return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
16020          Text,
16021          {
16022            ref,
16023            variant: "body-md",
16024            render: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(index_parts_exports2.ItemText, { render }),
16025            className: clsx_default(item_popup_default5["item-label"], className),
16026            ...restProps,
16027            children
16028          }
16029        );
16030      }
16031    );
16032  
16033    // packages/ui/build-module/form/primitives/select/item.mjs
16034    var import_jsx_runtime69 = __toESM(require_jsx_runtime(), 1);
16035    var STYLE_HASH_ATTRIBUTE21 = "data-wp-hash";
16036    function getRuntime21() {
16037      const globalScope = globalThis;
16038      if (globalScope.__wpStyleRuntime) {
16039        return globalScope.__wpStyleRuntime;
16040      }
16041      globalScope.__wpStyleRuntime = {
16042        documents: /* @__PURE__ */ new Map(),
16043        styles: /* @__PURE__ */ new Map(),
16044        injectedStyles: /* @__PURE__ */ new WeakMap()
16045      };
16046      if (typeof document !== "undefined") {
16047        registerDocument21(document);
16048      }
16049      return globalScope.__wpStyleRuntime;
16050    }
16051    function documentContainsStyleHash21(targetDocument, hash) {
16052      if (!targetDocument.head) {
16053        return false;
16054      }
16055      for (const style of targetDocument.head.querySelectorAll(
16056        `style[$STYLE_HASH_ATTRIBUTE21}]`
16057      )) {
16058        if (style.getAttribute(STYLE_HASH_ATTRIBUTE21) === hash) {
16059          return true;
16060        }
16061      }
16062      return false;
16063    }
16064    function injectStyle21(targetDocument, hash, css) {
16065      if (!targetDocument.head) {
16066        return;
16067      }
16068      const runtime = getRuntime21();
16069      let injectedStyles = runtime.injectedStyles.get(targetDocument);
16070      if (!injectedStyles) {
16071        injectedStyles = /* @__PURE__ */ new Set();
16072        runtime.injectedStyles.set(targetDocument, injectedStyles);
16073      }
16074      if (injectedStyles.has(hash)) {
16075        return;
16076      }
16077      if (documentContainsStyleHash21(targetDocument, hash)) {
16078        injectedStyles.add(hash);
16079        return;
16080      }
16081      const style = targetDocument.createElement("style");
16082      style.setAttribute(STYLE_HASH_ATTRIBUTE21, hash);
16083      style.appendChild(targetDocument.createTextNode(css));
16084      targetDocument.head.appendChild(style);
16085      injectedStyles.add(hash);
16086    }
16087    function registerDocument21(targetDocument) {
16088      const runtime = getRuntime21();
16089      runtime.documents.set(
16090        targetDocument,
16091        (runtime.documents.get(targetDocument) ?? 0) + 1
16092      );
16093      for (const [hash, css] of runtime.styles) {
16094        injectStyle21(targetDocument, hash, css);
16095      }
16096      return () => {
16097        const count = runtime.documents.get(targetDocument);
16098        if (count === void 0) {
16099          return;
16100        }
16101        if (count <= 1) {
16102          runtime.documents.delete(targetDocument);
16103          return;
16104        }
16105        runtime.documents.set(targetDocument, count - 1);
16106      };
16107    }
16108    function registerStyle21(hash, css) {
16109      const runtime = getRuntime21();
16110      runtime.styles.set(hash, css);
16111      for (const targetDocument of runtime.documents.keys()) {
16112        injectStyle21(targetDocument, hash, css);
16113      }
16114    }
16115    if (typeof process === "undefined" || true) {
16116      registerStyle21("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
16117    }
16118    var global_css_defense_default7 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
16119    if (typeof process === "undefined" || true) {
16120      registerStyle21("e25d67a230", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
16121    }
16122    var item_popup_default6 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
16123    if (typeof process === "undefined" || true) {
16124      registerStyle21("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
16125    }
16126    var resets_default4 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
16127    var ITEM_CONTENT_COMPONENTS = {
16128      Label: ItemLabel,
16129      Description: ItemDescription,
16130      descriptionValidationToken: ITEM_DESCRIPTION_DIRECT_CHILD,
16131      validationMessage: "Select.ItemLabel must be the first direct child of every select item, followed only by Select.ItemDescription components."
16132    };
16133    var Item2 = (0, import_element32.forwardRef)(
16134      function UnforwardedItem2({
16135        className,
16136        value,
16137        size: size4 = "default",
16138        children,
16139        "aria-describedby": ariaDescribedBy,
16140        "aria-label": ariaLabel,
16141        "aria-labelledby": ariaLabelledBy,
16142        ...restProps
16143      }, ref) {
16144        const { contentChildren, itemAriaProps } = useItemContent(
16145          children,
16146          ITEM_CONTENT_COMPONENTS,
16147          {
16148            "aria-describedby": ariaDescribedBy,
16149            "aria-label": ariaLabel,
16150            "aria-labelledby": ariaLabelledBy
16151          }
16152        );
16153        return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
16154          index_parts_exports2.Item,
16155          {
16156            className: clsx_default(
16157              global_css_defense_default7.div,
16158              resets_default4["box-sizing"],
16159              item_popup_default6.item,
16160              size4 === "small" && item_popup_default6["is-size-small"],
16161              className
16162            ),
16163            value,
16164            ref,
16165            ...itemAriaProps,
16166            ...restProps,
16167            children: [
16168              /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: item_popup_default6["item-icon"], children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
16169                Icon,
16170                {
16171                  icon: check_default,
16172                  className: item_popup_default6["item-indicator-icon"],
16173                  size: 16
16174                }
16175              ) }),
16176              /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: item_popup_default6["item-text"], children: contentChildren })
16177            ]
16178          }
16179        );
16180      }
16181    );
16182  
16183    // packages/ui/build-module/form/primitives/select/popup.mjs
16184    var import_element35 = __toESM(require_element(), 1);
16185  
16186    // packages/ui/build-module/form/primitives/select/portal.mjs
16187    var import_element33 = __toESM(require_element(), 1);
16188    var import_jsx_runtime70 = __toESM(require_jsx_runtime(), 1);
16189    var Portal = (0, import_element33.forwardRef)(function SelectPortal3({ container, ...restProps }, ref) {
16190      return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
16191        index_parts_exports2.Portal,
16192        {
16193          container: container === void 0 ? getWpCompatOverlaySlot() : container,
16194          ...restProps,
16195          ref
16196        }
16197      );
16198    });
16199  
16200    // packages/ui/build-module/form/primitives/select/positioner.mjs
16201    var import_element34 = __toESM(require_element(), 1);
16202    var import_jsx_runtime71 = __toESM(require_jsx_runtime(), 1);
16203    var STYLE_HASH_ATTRIBUTE22 = "data-wp-hash";
16204    function getRuntime22() {
16205      const globalScope = globalThis;
16206      if (globalScope.__wpStyleRuntime) {
16207        return globalScope.__wpStyleRuntime;
16208      }
16209      globalScope.__wpStyleRuntime = {
16210        documents: /* @__PURE__ */ new Map(),
16211        styles: /* @__PURE__ */ new Map(),
16212        injectedStyles: /* @__PURE__ */ new WeakMap()
16213      };
16214      if (typeof document !== "undefined") {
16215        registerDocument22(document);
16216      }
16217      return globalScope.__wpStyleRuntime;
16218    }
16219    function documentContainsStyleHash22(targetDocument, hash) {
16220      if (!targetDocument.head) {
16221        return false;
16222      }
16223      for (const style of targetDocument.head.querySelectorAll(
16224        `style[$STYLE_HASH_ATTRIBUTE22}]`
16225      )) {
16226        if (style.getAttribute(STYLE_HASH_ATTRIBUTE22) === hash) {
16227          return true;
16228        }
16229      }
16230      return false;
16231    }
16232    function injectStyle22(targetDocument, hash, css) {
16233      if (!targetDocument.head) {
16234        return;
16235      }
16236      const runtime = getRuntime22();
16237      let injectedStyles = runtime.injectedStyles.get(targetDocument);
16238      if (!injectedStyles) {
16239        injectedStyles = /* @__PURE__ */ new Set();
16240        runtime.injectedStyles.set(targetDocument, injectedStyles);
16241      }
16242      if (injectedStyles.has(hash)) {
16243        return;
16244      }
16245      if (documentContainsStyleHash22(targetDocument, hash)) {
16246        injectedStyles.add(hash);
16247        return;
16248      }
16249      const style = targetDocument.createElement("style");
16250      style.setAttribute(STYLE_HASH_ATTRIBUTE22, hash);
16251      style.appendChild(targetDocument.createTextNode(css));
16252      targetDocument.head.appendChild(style);
16253      injectedStyles.add(hash);
16254    }
16255    function registerDocument22(targetDocument) {
16256      const runtime = getRuntime22();
16257      runtime.documents.set(
16258        targetDocument,
16259        (runtime.documents.get(targetDocument) ?? 0) + 1
16260      );
16261      for (const [hash, css] of runtime.styles) {
16262        injectStyle22(targetDocument, hash, css);
16263      }
16264      return () => {
16265        const count = runtime.documents.get(targetDocument);
16266        if (count === void 0) {
16267          return;
16268        }
16269        if (count <= 1) {
16270          runtime.documents.delete(targetDocument);
16271          return;
16272        }
16273        runtime.documents.set(targetDocument, count - 1);
16274      };
16275    }
16276    function registerStyle22(hash, css) {
16277      const runtime = getRuntime22();
16278      runtime.styles.set(hash, css);
16279      for (const targetDocument of runtime.documents.keys()) {
16280        injectStyle22(targetDocument, hash, css);
16281      }
16282    }
16283    if (typeof process === "undefined" || true) {
16284      registerStyle22("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
16285    }
16286    var resets_default5 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
16287    if (typeof process === "undefined" || true) {
16288      registerStyle22("e25d67a230", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
16289    }
16290    var item_popup_default7 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
16291    if (typeof process === "undefined" || true) {
16292      registerStyle22("aaac8c315e", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._0ab863136fb95530__positioner{z-index:var(--wp-ui-select-z-index,initial)}.a9ab07efb9ef413f__list{display:block;min-block-size:0;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}}}");
16293    }
16294    var style_default10 = { "positioner": "_0ab863136fb95530__positioner", "list": "a9ab07efb9ef413f__list" };
16295    var Positioner = (0, import_element34.forwardRef)(
16296      function SelectPositioner3({ className, alignItemWithTrigger = true, ...props }, ref) {
16297        return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
16298          index_parts_exports2.Positioner,
16299          {
16300            ...ITEM_POPUP_POSITIONER_PROPS,
16301            ...props,
16302            alignItemWithTrigger,
16303            ref,
16304            className: clsx_default(
16305              resets_default5["box-sizing"],
16306              style_default10.positioner,
16307              alignItemWithTrigger && item_popup_default7["is-align-item-with-trigger"],
16308              className
16309            )
16310          }
16311        );
16312      }
16313    );
16314  
16315    // packages/ui/build-module/form/primitives/select/popup.mjs
16316    var import_jsx_runtime72 = __toESM(require_jsx_runtime(), 1);
16317    var STYLE_HASH_ATTRIBUTE23 = "data-wp-hash";
16318    function getRuntime23() {
16319      const globalScope = globalThis;
16320      if (globalScope.__wpStyleRuntime) {
16321        return globalScope.__wpStyleRuntime;
16322      }
16323      globalScope.__wpStyleRuntime = {
16324        documents: /* @__PURE__ */ new Map(),
16325        styles: /* @__PURE__ */ new Map(),
16326        injectedStyles: /* @__PURE__ */ new WeakMap()
16327      };
16328      if (typeof document !== "undefined") {
16329        registerDocument23(document);
16330      }
16331      return globalScope.__wpStyleRuntime;
16332    }
16333    function documentContainsStyleHash23(targetDocument, hash) {
16334      if (!targetDocument.head) {
16335        return false;
16336      }
16337      for (const style of targetDocument.head.querySelectorAll(
16338        `style[$STYLE_HASH_ATTRIBUTE23}]`
16339      )) {
16340        if (style.getAttribute(STYLE_HASH_ATTRIBUTE23) === hash) {
16341          return true;
16342        }
16343      }
16344      return false;
16345    }
16346    function injectStyle23(targetDocument, hash, css) {
16347      if (!targetDocument.head) {
16348        return;
16349      }
16350      const runtime = getRuntime23();
16351      let injectedStyles = runtime.injectedStyles.get(targetDocument);
16352      if (!injectedStyles) {
16353        injectedStyles = /* @__PURE__ */ new Set();
16354        runtime.injectedStyles.set(targetDocument, injectedStyles);
16355      }
16356      if (injectedStyles.has(hash)) {
16357        return;
16358      }
16359      if (documentContainsStyleHash23(targetDocument, hash)) {
16360        injectedStyles.add(hash);
16361        return;
16362      }
16363      const style = targetDocument.createElement("style");
16364      style.setAttribute(STYLE_HASH_ATTRIBUTE23, hash);
16365      style.appendChild(targetDocument.createTextNode(css));
16366      targetDocument.head.appendChild(style);
16367      injectedStyles.add(hash);
16368    }
16369    function registerDocument23(targetDocument) {
16370      const runtime = getRuntime23();
16371      runtime.documents.set(
16372        targetDocument,
16373        (runtime.documents.get(targetDocument) ?? 0) + 1
16374      );
16375      for (const [hash, css] of runtime.styles) {
16376        injectStyle23(targetDocument, hash, css);
16377      }
16378      return () => {
16379        const count = runtime.documents.get(targetDocument);
16380        if (count === void 0) {
16381          return;
16382        }
16383        if (count <= 1) {
16384          runtime.documents.delete(targetDocument);
16385          return;
16386        }
16387        runtime.documents.set(targetDocument, count - 1);
16388      };
16389    }
16390    function registerStyle23(hash, css) {
16391      const runtime = getRuntime23();
16392      runtime.styles.set(hash, css);
16393      for (const targetDocument of runtime.documents.keys()) {
16394        injectStyle23(targetDocument, hash, css);
16395      }
16396    }
16397    if (typeof process === "undefined" || true) {
16398      registerStyle23("e25d67a230", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
16399    }
16400    var item_popup_default8 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
16401    if (typeof process === "undefined" || true) {
16402      registerStyle23("aaac8c315e", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._0ab863136fb95530__positioner{z-index:var(--wp-ui-select-z-index,initial)}.a9ab07efb9ef413f__list{display:block;min-block-size:0;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}}}");
16403    }
16404    var style_default11 = { "positioner": "_0ab863136fb95530__positioner", "list": "a9ab07efb9ef413f__list" };
16405    var Popup = (0, import_element35.forwardRef)(
16406      function UnforwardedPopup({ className, portal, positioner, width, children, ...restProps }, ref) {
16407        const popupContent = /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
16408          index_parts_exports2.Popup,
16409          {
16410            ref,
16411            className: clsx_default(
16412              item_popup_default8.popup,
16413              getItemPopupWidthClassName(width),
16414              className
16415            ),
16416            ...restProps,
16417            children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
16418              index_parts_exports2.List,
16419              {
16420                className: clsx_default(
16421                  item_popup_default8["list-chrome"],
16422                  style_default11.list
16423                ),
16424                children
16425              }
16426            )
16427          }
16428        );
16429        const positionedPopup = renderSlotWithChildren(
16430          positioner,
16431          /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Positioner, {}),
16432          popupContent
16433        );
16434        return renderSlotWithChildren(portal, /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Portal, {}), positionedPopup);
16435      }
16436    );
16437  
16438    // packages/ui/build-module/form/primitives/select/root.mjs
16439    var import_jsx_runtime73 = __toESM(require_jsx_runtime(), 1);
16440    function Root2(props) {
16441      return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(DirectionProvider3, { children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(index_parts_exports2.Root, { ...props }) });
16442    }
16443  
16444    // packages/ui/build-module/form/primitives/select/separator.mjs
16445    var import_element36 = __toESM(require_element(), 1);
16446    var import_jsx_runtime74 = __toESM(require_jsx_runtime(), 1);
16447    var STYLE_HASH_ATTRIBUTE24 = "data-wp-hash";
16448    function getRuntime24() {
16449      const globalScope = globalThis;
16450      if (globalScope.__wpStyleRuntime) {
16451        return globalScope.__wpStyleRuntime;
16452      }
16453      globalScope.__wpStyleRuntime = {
16454        documents: /* @__PURE__ */ new Map(),
16455        styles: /* @__PURE__ */ new Map(),
16456        injectedStyles: /* @__PURE__ */ new WeakMap()
16457      };
16458      if (typeof document !== "undefined") {
16459        registerDocument24(document);
16460      }
16461      return globalScope.__wpStyleRuntime;
16462    }
16463    function documentContainsStyleHash24(targetDocument, hash) {
16464      if (!targetDocument.head) {
16465        return false;
16466      }
16467      for (const style of targetDocument.head.querySelectorAll(
16468        `style[$STYLE_HASH_ATTRIBUTE24}]`
16469      )) {
16470        if (style.getAttribute(STYLE_HASH_ATTRIBUTE24) === hash) {
16471          return true;
16472        }
16473      }
16474      return false;
16475    }
16476    function injectStyle24(targetDocument, hash, css) {
16477      if (!targetDocument.head) {
16478        return;
16479      }
16480      const runtime = getRuntime24();
16481      let injectedStyles = runtime.injectedStyles.get(targetDocument);
16482      if (!injectedStyles) {
16483        injectedStyles = /* @__PURE__ */ new Set();
16484        runtime.injectedStyles.set(targetDocument, injectedStyles);
16485      }
16486      if (injectedStyles.has(hash)) {
16487        return;
16488      }
16489      if (documentContainsStyleHash24(targetDocument, hash)) {
16490        injectedStyles.add(hash);
16491        return;
16492      }
16493      const style = targetDocument.createElement("style");
16494      style.setAttribute(STYLE_HASH_ATTRIBUTE24, hash);
16495      style.appendChild(targetDocument.createTextNode(css));
16496      targetDocument.head.appendChild(style);
16497      injectedStyles.add(hash);
16498    }
16499    function registerDocument24(targetDocument) {
16500      const runtime = getRuntime24();
16501      runtime.documents.set(
16502        targetDocument,
16503        (runtime.documents.get(targetDocument) ?? 0) + 1
16504      );
16505      for (const [hash, css] of runtime.styles) {
16506        injectStyle24(targetDocument, hash, css);
16507      }
16508      return () => {
16509        const count = runtime.documents.get(targetDocument);
16510        if (count === void 0) {
16511          return;
16512        }
16513        if (count <= 1) {
16514          runtime.documents.delete(targetDocument);
16515          return;
16516        }
16517        runtime.documents.set(targetDocument, count - 1);
16518      };
16519    }
16520    function registerStyle24(hash, css) {
16521      const runtime = getRuntime24();
16522      runtime.styles.set(hash, css);
16523      for (const targetDocument of runtime.documents.keys()) {
16524        injectStyle24(targetDocument, hash, css);
16525      }
16526    }
16527    if (typeof process === "undefined" || true) {
16528      registerStyle24("e25d67a230", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([aria-disabled=true]){background-color:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:none;@media (forced-colors:active){--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid Highlight}}&[aria-disabled=true]{background-color:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[aria-disabled=true] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([aria-disabled=true]) ._160635254c702623__item-description{color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
16529    }
16530    var item_popup_default9 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
16531    var Separator = (0, import_element36.forwardRef)(
16532      function SelectSeparator2({
16533        className,
16534        orientation: _orientation,
16535        ...props
16536      }, ref) {
16537        return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
16538          index_parts_exports2.Separator,
16539          {
16540            ref,
16541            className: clsx_default(item_popup_default9.separator, className),
16542            ...props
16543          }
16544        );
16545      }
16546    );
16547  
16548    // packages/ui/build-module/form/primitives/select/trigger.mjs
16549    var import_element37 = __toESM(require_element(), 1);
16550    var import_i18n7 = __toESM(require_i18n(), 1);
16551    var import_jsx_runtime75 = __toESM(require_jsx_runtime(), 1);
16552    var STYLE_HASH_ATTRIBUTE25 = "data-wp-hash";
16553    function getRuntime25() {
16554      const globalScope = globalThis;
16555      if (globalScope.__wpStyleRuntime) {
16556        return globalScope.__wpStyleRuntime;
16557      }
16558      globalScope.__wpStyleRuntime = {
16559        documents: /* @__PURE__ */ new Map(),
16560        styles: /* @__PURE__ */ new Map(),
16561        injectedStyles: /* @__PURE__ */ new WeakMap()
16562      };
16563      if (typeof document !== "undefined") {
16564        registerDocument25(document);
16565      }
16566      return globalScope.__wpStyleRuntime;
16567    }
16568    function documentContainsStyleHash25(targetDocument, hash) {
16569      if (!targetDocument.head) {
16570        return false;
16571      }
16572      for (const style of targetDocument.head.querySelectorAll(
16573        `style[$STYLE_HASH_ATTRIBUTE25}]`
16574      )) {
16575        if (style.getAttribute(STYLE_HASH_ATTRIBUTE25) === hash) {
16576          return true;
16577        }
16578      }
16579      return false;
16580    }
16581    function injectStyle25(targetDocument, hash, css) {
16582      if (!targetDocument.head) {
16583        return;
16584      }
16585      const runtime = getRuntime25();
16586      let injectedStyles = runtime.injectedStyles.get(targetDocument);
16587      if (!injectedStyles) {
16588        injectedStyles = /* @__PURE__ */ new Set();
16589        runtime.injectedStyles.set(targetDocument, injectedStyles);
16590      }
16591      if (injectedStyles.has(hash)) {
16592        return;
16593      }
16594      if (documentContainsStyleHash25(targetDocument, hash)) {
16595        injectedStyles.add(hash);
16596        return;
16597      }
16598      const style = targetDocument.createElement("style");
16599      style.setAttribute(STYLE_HASH_ATTRIBUTE25, hash);
16600      style.appendChild(targetDocument.createTextNode(css));
16601      targetDocument.head.appendChild(style);
16602      injectedStyles.add(hash);
16603    }
16604    function registerDocument25(targetDocument) {
16605      const runtime = getRuntime25();
16606      runtime.documents.set(
16607        targetDocument,
16608        (runtime.documents.get(targetDocument) ?? 0) + 1
16609      );
16610      for (const [hash, css] of runtime.styles) {
16611        injectStyle25(targetDocument, hash, css);
16612      }
16613      return () => {
16614        const count = runtime.documents.get(targetDocument);
16615        if (count === void 0) {
16616          return;
16617        }
16618        if (count <= 1) {
16619          runtime.documents.delete(targetDocument);
16620          return;
16621        }
16622        runtime.documents.set(targetDocument, count - 1);
16623      };
16624    }
16625    function registerStyle25(hash, css) {
16626      const runtime = getRuntime25();
16627      runtime.styles.set(hash, css);
16628      for (const targetDocument of runtime.documents.keys()) {
16629        injectStyle25(targetDocument, hash, css);
16630      }
16631    }
16632    if (typeof process === "undefined" || true) {
16633      registerStyle25("7c3267f794", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.af79fb116edb0dd7__outset-ring--focus:focus,.dfcfdc28396e5d98__outset-ring--focus-visible:focus-visible,.e5cd9ee879f6403a__outset-ring--focus-within:focus-within{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within,.abc777e9713fa711__outset-ring--focus-except-active:focus{outline:none}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.abc777e9713fa711__outset-ring--focus-except-active:focus:not(:active){--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}}}");
16634    }
16635    var focus_module_default3 = { "outset-ring--focus": "af79fb116edb0dd7__outset-ring--focus", "outset-ring--focus-visible": "dfcfdc28396e5d98__outset-ring--focus-visible", "outset-ring--focus-within": "e5cd9ee879f6403a__outset-ring--focus-within", "outset-ring--focus-except-active": "abc777e9713fa711__outset-ring--focus-except-active", "outset-ring--focus-within-except-active": "_3c9f5ee9fc9c136d__outset-ring--focus-within-except-active" };
16636    if (typeof process === "undefined" || true) {
16637      registerStyle25("8fc4b25e27", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._6e4e0445ef20426b__trigger-wrapper{&.fa98c865fb77e675__is-minimal{width:fit-content}}._7893295e3f6d1af7__trigger{align-items:center;background-color:transparent;border:none;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);display:flex;font-family:inherit;font-size:inherit;gap:var(--wpds-dimension-gap-xs,4px);justify-content:space-between;line-height:1.4;padding-block:4px;padding-inline-end:calc(var(--wp-ui-input-layout-padding-inline) - 4px);padding-inline-start:var(--wp-ui-input-layout-padding-inline);text-align:start;user-select:none;width:100%;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&.fa98c865fb77e675__is-minimal{width:auto}&:focus{outline:none}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}}.e760c9339965ce84__trigger-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;._7893295e3f6d1af7__trigger[data-placeholder]:not([data-disabled]) &{color:var(--wpds-color-foreground-interactive-neutral-weak,#707070)}}._308bc63e43681f99__trigger-caret{flex:0 0 auto}}}");
16638    }
16639    var select_trigger_default = { "trigger-wrapper": "_6e4e0445ef20426b__trigger-wrapper", "is-minimal": "fa98c865fb77e675__is-minimal", "trigger": "_7893295e3f6d1af7__trigger", "trigger-value": "e760c9339965ce84__trigger-value", "trigger-caret": "_308bc63e43681f99__trigger-caret" };
16640    var Trigger = (0, import_element37.forwardRef)(
16641      function UnforwardedTrigger({
16642        className,
16643        size: size4,
16644        variant,
16645        children,
16646        placeholder = (0, import_i18n7.__)("Select"),
16647        ...restProps
16648      }, ref) {
16649        return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
16650          InputLayout2,
16651          {
16652            className: clsx_default(
16653              focus_module_default3["outset-ring--focus-within-except-active"],
16654              select_trigger_default["trigger-wrapper"],
16655              variant === "minimal" && select_trigger_default["is-minimal"],
16656              className
16657            ),
16658            size: size4,
16659            isBorderless: variant === "minimal",
16660            children: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
16661              index_parts_exports2.Trigger,
16662              {
16663                ...restProps,
16664                className: clsx_default(
16665                  select_trigger_default.trigger,
16666                  variant === "minimal" && select_trigger_default["is-minimal"]
16667                ),
16668                "data-can-disable-input-layout": true,
16669                ref,
16670                children: [
16671                  /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
16672                    index_parts_exports2.Value,
16673                    {
16674                      placeholder,
16675                      className: select_trigger_default["trigger-value"],
16676                      children
16677                    }
16678                  ),
16679                  /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
16680                    Icon,
16681                    {
16682                      className: select_trigger_default["trigger-caret"],
16683                      icon: chevron_down_default,
16684                      size: 18
16685                    }
16686                  )
16687                ]
16688              }
16689            )
16690          }
16691        );
16692      }
16693    );
16694  
16695    // packages/ui/build-module/form/input-control/input-control.mjs
16696    var import_element38 = __toESM(require_element(), 1);
16697    var import_jsx_runtime76 = __toESM(require_jsx_runtime(), 1);
16698    var STYLE_HASH_ATTRIBUTE26 = "data-wp-hash";
16699    function getRuntime26() {
16700      const globalScope = globalThis;
16701      if (globalScope.__wpStyleRuntime) {
16702        return globalScope.__wpStyleRuntime;
16703      }
16704      globalScope.__wpStyleRuntime = {
16705        documents: /* @__PURE__ */ new Map(),
16706        styles: /* @__PURE__ */ new Map(),
16707        injectedStyles: /* @__PURE__ */ new WeakMap()
16708      };
16709      if (typeof document !== "undefined") {
16710        registerDocument26(document);
16711      }
16712      return globalScope.__wpStyleRuntime;
16713    }
16714    function documentContainsStyleHash26(targetDocument, hash) {
16715      if (!targetDocument.head) {
16716        return false;
16717      }
16718      for (const style of targetDocument.head.querySelectorAll(
16719        `style[$STYLE_HASH_ATTRIBUTE26}]`
16720      )) {
16721        if (style.getAttribute(STYLE_HASH_ATTRIBUTE26) === hash) {
16722          return true;
16723        }
16724      }
16725      return false;
16726    }
16727    function injectStyle26(targetDocument, hash, css) {
16728      if (!targetDocument.head) {
16729        return;
16730      }
16731      const runtime = getRuntime26();
16732      let injectedStyles = runtime.injectedStyles.get(targetDocument);
16733      if (!injectedStyles) {
16734        injectedStyles = /* @__PURE__ */ new Set();
16735        runtime.injectedStyles.set(targetDocument, injectedStyles);
16736      }
16737      if (injectedStyles.has(hash)) {
16738        return;
16739      }
16740      if (documentContainsStyleHash26(targetDocument, hash)) {
16741        injectedStyles.add(hash);
16742        return;
16743      }
16744      const style = targetDocument.createElement("style");
16745      style.setAttribute(STYLE_HASH_ATTRIBUTE26, hash);
16746      style.appendChild(targetDocument.createTextNode(css));
16747      targetDocument.head.appendChild(style);
16748      injectedStyles.add(hash);
16749    }
16750    function registerDocument26(targetDocument) {
16751      const runtime = getRuntime26();
16752      runtime.documents.set(
16753        targetDocument,
16754        (runtime.documents.get(targetDocument) ?? 0) + 1
16755      );
16756      for (const [hash, css] of runtime.styles) {
16757        injectStyle26(targetDocument, hash, css);
16758      }
16759      return () => {
16760        const count = runtime.documents.get(targetDocument);
16761        if (count === void 0) {
16762          return;
16763        }
16764        if (count <= 1) {
16765          runtime.documents.delete(targetDocument);
16766          return;
16767        }
16768        runtime.documents.set(targetDocument, count - 1);
16769      };
16770    }
16771    function registerStyle26(hash, css) {
16772      const runtime = getRuntime26();
16773      runtime.styles.set(hash, css);
16774      for (const targetDocument of runtime.documents.keys()) {
16775        injectStyle26(targetDocument, hash, css);
16776      }
16777    }
16778    if (typeof process === "undefined" || true) {
16779      registerStyle26("0c752c3d08", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer compositions{@supports (-webkit-hyphens:none) and (not (-moz-appearance:none)){.a9211a7e6af24bed__root input[type=date]:not([data-filled]):not(:focus),.a9211a7e6af24bed__root input[type=datetime-local]:not([data-filled]):not(:focus),.a9211a7e6af24bed__root input[type=time]:not([data-filled]):not(:focus){--_gcd-input-color:transparent;--_gcd-input-color-disabled:transparent;color:transparent;&:disabled::-webkit-datetime-edit-text{color:transparent}}}}}");
16780    }
16781    var style_default12 = { "root": "a9211a7e6af24bed__root" };
16782    var InputControl = (0, import_element38.forwardRef)(
16783      function UnforwardedInputControl({
16784        className,
16785        label,
16786        description,
16787        details,
16788        hideLabelFromVision,
16789        ...restProps
16790      }, ref) {
16791        return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(field_exports.Root, { className: clsx_default(style_default12.root, className), children: [
16792          /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(field_exports.Label, { hideFromVision: hideLabelFromVision, children: label }),
16793          /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Input3, { ref, ...restProps }),
16794          description && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(field_exports.Description, { children: description }),
16795          details && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(field_exports.Details, { children: details })
16796        ] });
16797      }
16798    );
16799  
16800    // packages/ui/build-module/form/select-control/select-control.mjs
16801    var import_element41 = __toESM(require_element(), 1);
16802  
16803    // packages/ui/build-module/form/select-control/item.mjs
16804    var import_element39 = __toESM(require_element(), 1);
16805    var import_jsx_runtime77 = __toESM(require_jsx_runtime(), 1);
16806    var Item3 = (0, import_element39.forwardRef)(
16807      function UnforwardedItem3(props, ref) {
16808        return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(select_exports.Item, { ref, ...props });
16809      }
16810    );
16811  
16812    // packages/ui/build-module/form/select-control/trigger.mjs
16813    var import_element40 = __toESM(require_element(), 1);
16814    var import_jsx_runtime78 = __toESM(require_jsx_runtime(), 1);
16815    var Trigger2 = (0, import_element40.forwardRef)(function UnforwardedTrigger2(props, ref) {
16816      return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(select_exports.Trigger, { ref, ...props });
16817    });
16818  
16819    // packages/ui/build-module/form/select-control/select-control.mjs
16820    var import_jsx_runtime79 = __toESM(require_jsx_runtime(), 1);
16821    var DEFAULT_TRIGGER = /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Trigger2, {});
16822    var SelectControl = (0, import_element41.forwardRef)(function UnforwardedSelectControl({
16823      className,
16824      children,
16825      items,
16826      label,
16827      description,
16828      details,
16829      hideLabelFromVision,
16830      placeholder,
16831      popupWidth = "content",
16832      size: size4 = "default",
16833      trigger,
16834      ...restProps
16835    }, ref) {
16836      const triggerElement = useRender({
16837        render: trigger ?? DEFAULT_TRIGGER,
16838        ref,
16839        props: { placeholder, size: size4 }
16840      });
16841      return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(field_exports.Root, { className, children: [
16842        /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(field_exports.Label, { hideFromVision: hideLabelFromVision, children: label }),
16843        /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(select_exports.Root, { items, ...restProps, children: [
16844          triggerElement,
16845          /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(select_exports.Popup, { width: popupWidth, children: children !== void 0 ? children : items?.map((item) => /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
16846            Item3,
16847            {
16848              value: item,
16849              label: item.label,
16850              disabled: item.disabled,
16851              children: [
16852                /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(select_exports.ItemLabel, { children: item.label }),
16853                item.description ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(select_exports.ItemDescription, { children: item.description }) : null
16854              ]
16855            },
16856            item.value ?? "null"
16857          )) })
16858        ] }),
16859        description && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(field_exports.Description, { children: description }),
16860        details && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(field_exports.Details, { children: details })
16861      ] });
16862    });
16863  
16864    // packages/ui/build-module/form/select-control/index.mjs
16865    Trigger2.displayName = "SelectControl.Trigger";
16866    Group.displayName = "SelectControl.Group";
16867    GroupLabel.displayName = "SelectControl.GroupLabel";
16868    Item3.displayName = "SelectControl.Item";
16869    ItemLabel.displayName = "SelectControl.ItemLabel";
16870    ItemDescription.displayName = "SelectControl.ItemDescription";
16871    var SelectControl2 = Object.assign(SelectControl, {
16872      /**
16873       * The trigger button, passed through the `trigger` prop to customize
16874       * its props while retaining the control's label and selected content.
16875       */
16876      Trigger: Trigger2,
16877      /**
16878       * Groups related items together with an associated label rendered by
16879       * `SelectControl.GroupLabel`.
16880       */
16881      Group,
16882      /**
16883       * Renders a label for a `SelectControl.Group`.
16884       */
16885      GroupLabel,
16886      /**
16887       * An item rendered inside a `SelectControl` popup.
16888       */
16889      Item: Item3,
16890      /**
16891       * The primary label of a select item.
16892       */
16893      ItemLabel,
16894      /**
16895       * Supplementary content that describes a select item via
16896       * `aria-describedby`.
16897       */
16898      ItemDescription,
16899      /**
16900       * Renders a visual separator between items or groups.
16901       */
16902      Separator
16903    });
16904  
16905    // packages/ui/build-module/form/with-validation/validated-input-control/validated-input-control.mjs
16906    var import_element42 = __toESM(require_element(), 1);
16907    var import_compose2 = __toESM(require_compose(), 1);
16908    var import_jsx_runtime80 = __toESM(require_jsx_runtime(), 1);
16909    var ValidatedInputControl = (0, import_element42.forwardRef)(function UnforwardedValidatedInputControl({ required, markWhenOptional, customValidity, ...restProps }, forwardedRef) {
16910      const validityTargetRef = (0, import_element42.useRef)(null);
16911      const mergedRefs = (0, import_compose2.useMergeRefs)([forwardedRef, validityTargetRef]);
16912      return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
16913        ControlWithError,
16914        {
16915          required,
16916          markWhenOptional,
16917          customValidity,
16918          getValidityTarget: () => validityTargetRef.current,
16919          children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(InputControl, { ref: mergedRefs, ...restProps })
16920        }
16921      );
16922    });
16923  
16924    // packages/ui/build-module/tabs/index.mjs
16925    var tabs_exports = {};
16926    __export(tabs_exports, {
16927      List: () => List,
16928      Panel: () => Panel,
16929      Root: () => Root3,
16930      Tab: () => Tab
16931    });
16932  
16933    // packages/ui/build-module/tabs/list.mjs
16934    var import_element43 = __toESM(require_element(), 1);
16935    var import_compose3 = __toESM(require_compose(), 1);
16936    var import_jsx_runtime81 = __toESM(require_jsx_runtime(), 1);
16937    var STYLE_HASH_ATTRIBUTE27 = "data-wp-hash";
16938    function getRuntime27() {
16939      const globalScope = globalThis;
16940      if (globalScope.__wpStyleRuntime) {
16941        return globalScope.__wpStyleRuntime;
16942      }
16943      globalScope.__wpStyleRuntime = {
16944        documents: /* @__PURE__ */ new Map(),
16945        styles: /* @__PURE__ */ new Map(),
16946        injectedStyles: /* @__PURE__ */ new WeakMap()
16947      };
16948      if (typeof document !== "undefined") {
16949        registerDocument27(document);
16950      }
16951      return globalScope.__wpStyleRuntime;
16952    }
16953    function documentContainsStyleHash27(targetDocument, hash) {
16954      if (!targetDocument.head) {
16955        return false;
16956      }
16957      for (const style of targetDocument.head.querySelectorAll(
16958        `style[$STYLE_HASH_ATTRIBUTE27}]`
16959      )) {
16960        if (style.getAttribute(STYLE_HASH_ATTRIBUTE27) === hash) {
16961          return true;
16962        }
16963      }
16964      return false;
16965    }
16966    function injectStyle27(targetDocument, hash, css) {
16967      if (!targetDocument.head) {
16968        return;
16969      }
16970      const runtime = getRuntime27();
16971      let injectedStyles = runtime.injectedStyles.get(targetDocument);
16972      if (!injectedStyles) {
16973        injectedStyles = /* @__PURE__ */ new Set();
16974        runtime.injectedStyles.set(targetDocument, injectedStyles);
16975      }
16976      if (injectedStyles.has(hash)) {
16977        return;
16978      }
16979      if (documentContainsStyleHash27(targetDocument, hash)) {
16980        injectedStyles.add(hash);
16981        return;
16982      }
16983      const style = targetDocument.createElement("style");
16984      style.setAttribute(STYLE_HASH_ATTRIBUTE27, hash);
16985      style.appendChild(targetDocument.createTextNode(css));
16986      targetDocument.head.appendChild(style);
16987      injectedStyles.add(hash);
16988    }
16989    function registerDocument27(targetDocument) {
16990      const runtime = getRuntime27();
16991      runtime.documents.set(
16992        targetDocument,
16993        (runtime.documents.get(targetDocument) ?? 0) + 1
16994      );
16995      for (const [hash, css] of runtime.styles) {
16996        injectStyle27(targetDocument, hash, css);
16997      }
16998      return () => {
16999        const count = runtime.documents.get(targetDocument);
17000        if (count === void 0) {
17001          return;
17002        }
17003        if (count <= 1) {
17004          runtime.documents.delete(targetDocument);
17005          return;
17006        }
17007        runtime.documents.set(targetDocument, count - 1);
17008      };
17009    }
17010    function registerStyle27(hash, css) {
17011      const runtime = getRuntime27();
17012      runtime.styles.set(hash, css);
17013      for (const targetDocument of runtime.documents.keys()) {
17014        injectStyle27(targetDocument, hash, css);
17015      }
17016    }
17017    if (typeof process === "undefined" || true) {
17018      registerStyle27("f3c08da521", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._7313adbc8a112e90__tablist{--direction-start:left;--direction-end:right;align-items:stretch;display:flex;overflow-inline:auto;overscroll-behavior-inline:none;position:relative;&:dir(rtl){--direction-start:right;--direction-end:left}&[data-orientation=horizontal]{--fade-width:4rem;--fade-gradient-base:transparent 0%,#000 var(--fade-width);--fade-gradient-composed:var(--fade-gradient-base),#000 60%,transparent 50%;width:fit-content;&:not(.eb7aaeb14de04857__is-scrolling){overflow:visible}&._9f2ac729c68a735a__is-overflowing-first{mask-image:linear-gradient(to var(--direction-end),var(--fade-gradient-base))}&._81c799c1f3cdd261__is-overflowing-last{mask-image:linear-gradient(to var(--direction-start),var(--fade-gradient-base))}&._9f2ac729c68a735a__is-overflowing-first._81c799c1f3cdd261__is-overflowing-last{mask-image:linear-gradient(to right,var(--fade-gradient-composed)),linear-gradient(to left,var(--fade-gradient-composed))}&._59228b5227f38a99__is-minimal-variant{gap:1rem}}&[data-orientation=vertical]{flex-direction:column}}._1c37dcfaa1ad8cda__indicator{@media not (prefers-reduced-motion){transition-duration:.2s;transition-property:translate,width,height;transition-timing-function:ease-out}background-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:2px solid transparent;outline-offset:-1px;pointer-events:none;position:absolute;z-index:1;._7313adbc8a112e90__tablist:has(>.a5fd8814f195aa5e__tab[aria-selected=true]:not([data-disabled]):focus-visible)\n                &{background-color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e)}&[data-orientation=horizontal]{bottom:0;height:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px));left:0;translate:var(--active-tab-left) 0;width:var(--active-tab-width)}&[data-orientation=vertical]{height:max(0px,calc(var(--active-tab-height) - var(--wpds-dimension-padding-md, 12px)*2));inset-inline-start:0;top:var(--wpds-dimension-padding-md,12px);translate:0 var(--active-tab-top);width:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}}.a5fd8814f195aa5e__tab{align-items:center;background:transparent;border:none;border-radius:0;box-shadow:none;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);cursor:var(--wpds-cursor-control,pointer);display:flex;flex:1 0 auto;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);font-weight:400;line-height:1.2;outline:none;padding:0;position:relative;white-space:nowrap;z-index:1;&:is([aria-selected=true],[data-disabled]){cursor:default}&[data-disabled]{color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}&:not([data-disabled]):is(:not([aria-selected=true]):hover,:not([aria-selected=true]):active,:focus-visible){color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);&:after{background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);opacity:1}}&:after,&:before{border-radius:var(--wpds-border-radius-sm,2px);opacity:0;outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid transparent;pointer-events:none;position:absolute;z-index:-1;@media not (prefers-reduced-motion){transition:opacity .1s linear}}&:focus-visible:after{opacity:1;outline-color:var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9))}[data-orientation=horizontal] &{height:48px;padding-inline:var(--wpds-dimension-padding-lg,16px);scroll-margin:24px;&:after{content:"";inset-block:calc(var(--wpds-dimension-padding-md, 12px) + var(--wpds-dimension-padding-xs, 4px));inset-inline:var(--wpds-dimension-padding-lg,16px);outline-offset:var(--wpds-dimension-padding-xs,4px)}&:not([data-disabled]):is(:not([aria-selected=true]):hover,:not([aria-selected=true]):active,:focus-visible):after{box-shadow:0 0 0 var(--wpds-dimension-padding-xs,4px) var(--wpds-color-background-interactive-neutral-weak-active,#ededed)}}._59228b5227f38a99__is-minimal-variant[data-orientation=horizontal] &{padding-inline:0;&:after{inset-inline:0}}._59228b5227f38a99__is-minimal-variant.eb7aaeb14de04857__is-scrolling[data-orientation=horizontal] &{&:before{content:"";inset-block:var(--wpds-dimension-padding-md,12px);inset-inline:round(up,var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)),1px);z-index:0}&:focus-visible{&:before{opacity:1;outline-color:var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9))}&:after{outline:none}}}[data-orientation=vertical] &{min-height:var(--wpds-dimension-size-lg,40px);padding:var(--wpds-dimension-padding-md,12px);&:after{content:"";inset:0;outline-offset:calc(var(--wpds-border-width-focus, var(--wp-admin-border-width-focus, 2px))*-1)}}}._5dfc77e6edd345d4__tab-children{align-items:center;display:flex;flex-grow:1;[data-orientation=horizontal] &{justify-content:center}[data-orientation=vertical] &{justify-content:start}}}}');
17019    }
17020    var style_default13 = { "tablist": "_7313adbc8a112e90__tablist", "is-scrolling": "eb7aaeb14de04857__is-scrolling", "is-overflowing-first": "_9f2ac729c68a735a__is-overflowing-first", "is-overflowing-last": "_81c799c1f3cdd261__is-overflowing-last", "is-minimal-variant": "_59228b5227f38a99__is-minimal-variant", "indicator": "_1c37dcfaa1ad8cda__indicator", "tab": "a5fd8814f195aa5e__tab", "tab-children": "_5dfc77e6edd345d4__tab-children" };
17021    var SCROLL_EPSILON = 1;
17022    var List = (0, import_element43.forwardRef)(
17023      function TabList({
17024        children,
17025        variant = "default",
17026        className,
17027        activateOnFocus,
17028        ...otherProps
17029      }, forwardedRef) {
17030        const [listEl, setListEl] = (0, import_element43.useState)(null);
17031        const [overflow, setOverflow] = (0, import_element43.useState)({
17032          first: false,
17033          last: false,
17034          isScrolling: false
17035        });
17036        (0, import_element43.useEffect)(() => {
17037          if (!listEl) {
17038            return;
17039          }
17040          const measureOverflow = () => {
17041            const { scrollWidth, clientWidth, scrollLeft } = listEl;
17042            const maxScroll = Math.max(scrollWidth - clientWidth, 0);
17043            const direction = listEl.dir || (typeof window !== "undefined" ? window.getComputedStyle(listEl).direction : "ltr");
17044            const scrollFromStart = direction === "rtl" && scrollLeft < 0 ? (
17045              // In RTL layouts, scrollLeft is typically 0 at the visual "start"
17046              // (right edge) and becomes negative toward the "end" (left edge).
17047              // Normalize value for correct first/last detection logic.
17048              -scrollLeft
17049            ) : scrollLeft;
17050            const next = {
17051              first: scrollFromStart > SCROLL_EPSILON,
17052              last: scrollFromStart < maxScroll - SCROLL_EPSILON,
17053              isScrolling: scrollWidth > clientWidth
17054            };
17055            setOverflow(
17056              (prev) => prev.first === next.first && prev.last === next.last && prev.isScrolling === next.isScrolling ? prev : next
17057            );
17058          };
17059          const resizeObserver = new ResizeObserver(measureOverflow);
17060          const observeTabs = () => {
17061            resizeObserver.disconnect();
17062            resizeObserver.observe(listEl);
17063            listEl.querySelectorAll('[role="tab"]').forEach((tab) => resizeObserver.observe(tab));
17064          };
17065          const mutationObserver = new MutationObserver(observeTabs);
17066          mutationObserver.observe(listEl, {
17067            childList: true,
17068            subtree: true
17069          });
17070          let scrollTick = false;
17071          const throttleMeasureOverflowOnScroll = () => {
17072            if (!scrollTick) {
17073              requestAnimationFrame(() => {
17074                measureOverflow();
17075                scrollTick = false;
17076              });
17077              scrollTick = true;
17078            }
17079          };
17080          listEl.addEventListener(
17081            "scroll",
17082            throttleMeasureOverflowOnScroll,
17083            { passive: true }
17084          );
17085          observeTabs();
17086          measureOverflow();
17087          return () => {
17088            listEl.removeEventListener(
17089              "scroll",
17090              throttleMeasureOverflowOnScroll
17091            );
17092            resizeObserver.disconnect();
17093            mutationObserver.disconnect();
17094          };
17095        }, [listEl]);
17096        const mergedListRef = (0, import_compose3.useMergeRefs)([
17097          forwardedRef,
17098          (el) => setListEl(el)
17099        ]);
17100        return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
17101          index_parts_exports3.List,
17102          {
17103            ref: mergedListRef,
17104            activateOnFocus,
17105            "data-select-on-move": activateOnFocus ? "true" : "false",
17106            className: clsx_default(
17107              style_default13.tablist,
17108              overflow.isScrolling && style_default13["is-scrolling"],
17109              overflow.first && style_default13["is-overflowing-first"],
17110              overflow.last && style_default13["is-overflowing-last"],
17111              style_default13[`is-$variant}-variant`],
17112              className
17113            ),
17114            ...otherProps,
17115            tabIndex: otherProps.tabIndex ?? (overflow.isScrolling ? -1 : void 0),
17116            children: [
17117              children,
17118              /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(index_parts_exports3.Indicator, { className: style_default13.indicator })
17119            ]
17120          }
17121        );
17122      }
17123    );
17124  
17125    // packages/ui/build-module/tabs/panel.mjs
17126    var import_element45 = __toESM(require_element(), 1);
17127  
17128    // packages/ui/build-module/tabs/context.mjs
17129    var import_element44 = __toESM(require_element(), 1);
17130    var import_jsx_runtime82 = __toESM(require_jsx_runtime(), 1);
17131    var VALIDATION_ENABLED2 = true;
17132    var TabsValidationContext = VALIDATION_ENABLED2 ? (0, import_element44.createContext)(null) : null;
17133    function useRegisterTabDev() {
17134      const context = (0, import_element44.useContext)(TabsValidationContext);
17135      (0, import_element44.useEffect)(() => {
17136        if (context) {
17137          return context.registerTab();
17138        }
17139        return void 0;
17140      }, [context]);
17141    }
17142    function useRegisterTabProd() {
17143    }
17144    var useRegisterTab = VALIDATION_ENABLED2 ? useRegisterTabDev : useRegisterTabProd;
17145    function useRegisterPanelDev() {
17146      const context = (0, import_element44.useContext)(TabsValidationContext);
17147      (0, import_element44.useEffect)(() => {
17148        if (context) {
17149          return context.registerPanel();
17150        }
17151        return void 0;
17152      }, [context]);
17153    }
17154    function useRegisterPanelProd() {
17155    }
17156    var useRegisterPanel = VALIDATION_ENABLED2 ? useRegisterPanelDev : useRegisterPanelProd;
17157    function TabsValidationProviderDev({
17158      children
17159    }) {
17160      const tabCountRef = (0, import_element44.useRef)(0);
17161      const panelCountRef = (0, import_element44.useRef)(0);
17162      const scheduleValidation = useScheduleValidation(() => {
17163        const tabCount = tabCountRef.current;
17164        const panelCount = panelCountRef.current;
17165        if (tabCount !== panelCount) {
17166          throw new Error(
17167            `Tabs: Tab/Panel count mismatch ($tabCount} Tabs, $panelCount} Panels). Each Tab must be associated with exactly one Panel. Mismatched or missing associations can break screen reader navigation and violate WAI-ARIA Tabs pattern requirements.`
17168          );
17169        }
17170      });
17171      const registerTab = (0, import_element44.useCallback)(() => {
17172        tabCountRef.current += 1;
17173        scheduleValidation();
17174        return () => {
17175          tabCountRef.current -= 1;
17176          scheduleValidation();
17177        };
17178      }, [scheduleValidation]);
17179      const registerPanel = (0, import_element44.useCallback)(() => {
17180        panelCountRef.current += 1;
17181        scheduleValidation();
17182        return () => {
17183          panelCountRef.current -= 1;
17184          scheduleValidation();
17185        };
17186      }, [scheduleValidation]);
17187      const contextValue = (0, import_element44.useMemo)(
17188        () => ({
17189          registerTab,
17190          registerPanel
17191        }),
17192        [registerTab, registerPanel]
17193      );
17194      return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(TabsValidationContext.Provider, { value: contextValue, children });
17195    }
17196    function TabsValidationProviderProd({
17197      children
17198    }) {
17199      return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_jsx_runtime82.Fragment, { children });
17200    }
17201    var TabsValidationProvider = VALIDATION_ENABLED2 ? TabsValidationProviderDev : TabsValidationProviderProd;
17202  
17203    // packages/ui/build-module/tabs/panel.mjs
17204    var import_jsx_runtime83 = __toESM(require_jsx_runtime(), 1);
17205    var STYLE_HASH_ATTRIBUTE28 = "data-wp-hash";
17206    function getRuntime28() {
17207      const globalScope = globalThis;
17208      if (globalScope.__wpStyleRuntime) {
17209        return globalScope.__wpStyleRuntime;
17210      }
17211      globalScope.__wpStyleRuntime = {
17212        documents: /* @__PURE__ */ new Map(),
17213        styles: /* @__PURE__ */ new Map(),
17214        injectedStyles: /* @__PURE__ */ new WeakMap()
17215      };
17216      if (typeof document !== "undefined") {
17217        registerDocument28(document);
17218      }
17219      return globalScope.__wpStyleRuntime;
17220    }
17221    function documentContainsStyleHash28(targetDocument, hash) {
17222      if (!targetDocument.head) {
17223        return false;
17224      }
17225      for (const style of targetDocument.head.querySelectorAll(
17226        `style[$STYLE_HASH_ATTRIBUTE28}]`
17227      )) {
17228        if (style.getAttribute(STYLE_HASH_ATTRIBUTE28) === hash) {
17229          return true;
17230        }
17231      }
17232      return false;
17233    }
17234    function injectStyle28(targetDocument, hash, css) {
17235      if (!targetDocument.head) {
17236        return;
17237      }
17238      const runtime = getRuntime28();
17239      let injectedStyles = runtime.injectedStyles.get(targetDocument);
17240      if (!injectedStyles) {
17241        injectedStyles = /* @__PURE__ */ new Set();
17242        runtime.injectedStyles.set(targetDocument, injectedStyles);
17243      }
17244      if (injectedStyles.has(hash)) {
17245        return;
17246      }
17247      if (documentContainsStyleHash28(targetDocument, hash)) {
17248        injectedStyles.add(hash);
17249        return;
17250      }
17251      const style = targetDocument.createElement("style");
17252      style.setAttribute(STYLE_HASH_ATTRIBUTE28, hash);
17253      style.appendChild(targetDocument.createTextNode(css));
17254      targetDocument.head.appendChild(style);
17255      injectedStyles.add(hash);
17256    }
17257    function registerDocument28(targetDocument) {
17258      const runtime = getRuntime28();
17259      runtime.documents.set(
17260        targetDocument,
17261        (runtime.documents.get(targetDocument) ?? 0) + 1
17262      );
17263      for (const [hash, css] of runtime.styles) {
17264        injectStyle28(targetDocument, hash, css);
17265      }
17266      return () => {
17267        const count = runtime.documents.get(targetDocument);
17268        if (count === void 0) {
17269          return;
17270        }
17271        if (count <= 1) {
17272          runtime.documents.delete(targetDocument);
17273          return;
17274        }
17275        runtime.documents.set(targetDocument, count - 1);
17276      };
17277    }
17278    function registerStyle28(hash, css) {
17279      const runtime = getRuntime28();
17280      runtime.styles.set(hash, css);
17281      for (const targetDocument of runtime.documents.keys()) {
17282        injectStyle28(targetDocument, hash, css);
17283      }
17284    }
17285    if (typeof process === "undefined" || true) {
17286      registerStyle28("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
17287    }
17288    var global_css_defense_default8 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
17289    if (typeof process === "undefined" || true) {
17290      registerStyle28("7c3267f794", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.af79fb116edb0dd7__outset-ring--focus:focus,.dfcfdc28396e5d98__outset-ring--focus-visible:focus-visible,.e5cd9ee879f6403a__outset-ring--focus-within:focus-within{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within,.abc777e9713fa711__outset-ring--focus-except-active:focus{outline:none}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.abc777e9713fa711__outset-ring--focus-except-active:focus:not(:active){--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}}}");
17291    }
17292    var focus_module_default4 = { "outset-ring--focus": "af79fb116edb0dd7__outset-ring--focus", "outset-ring--focus-visible": "dfcfdc28396e5d98__outset-ring--focus-visible", "outset-ring--focus-within": "e5cd9ee879f6403a__outset-ring--focus-within", "outset-ring--focus-except-active": "abc777e9713fa711__outset-ring--focus-except-active", "outset-ring--focus-within-except-active": "_3c9f5ee9fc9c136d__outset-ring--focus-within-except-active" };
17293    var Panel = (0, import_element45.forwardRef)(
17294      function TabPanel({ className, ...otherProps }, forwardedRef) {
17295        useRegisterPanel();
17296        return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
17297          index_parts_exports3.Panel,
17298          {
17299            ref: forwardedRef,
17300            className: clsx_default(
17301              global_css_defense_default8.div,
17302              focus_module_default4["outset-ring--focus-visible"],
17303              className
17304            ),
17305            ...otherProps
17306          }
17307        );
17308      }
17309    );
17310  
17311    // packages/ui/build-module/tabs/root.mjs
17312    var import_element46 = __toESM(require_element(), 1);
17313    var import_jsx_runtime84 = __toESM(require_jsx_runtime(), 1);
17314    var Root3 = (0, import_element46.forwardRef)(
17315      function TabsRoot3({ ...otherProps }, forwardedRef) {
17316        return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(DirectionProvider3, { children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(TabsValidationProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(index_parts_exports3.Root, { ref: forwardedRef, ...otherProps }) }) });
17317      }
17318    );
17319  
17320    // packages/ui/build-module/tabs/tab.mjs
17321    var import_element47 = __toESM(require_element(), 1);
17322    var import_jsx_runtime85 = __toESM(require_jsx_runtime(), 1);
17323    var STYLE_HASH_ATTRIBUTE29 = "data-wp-hash";
17324    function getRuntime29() {
17325      const globalScope = globalThis;
17326      if (globalScope.__wpStyleRuntime) {
17327        return globalScope.__wpStyleRuntime;
17328      }
17329      globalScope.__wpStyleRuntime = {
17330        documents: /* @__PURE__ */ new Map(),
17331        styles: /* @__PURE__ */ new Map(),
17332        injectedStyles: /* @__PURE__ */ new WeakMap()
17333      };
17334      if (typeof document !== "undefined") {
17335        registerDocument29(document);
17336      }
17337      return globalScope.__wpStyleRuntime;
17338    }
17339    function documentContainsStyleHash29(targetDocument, hash) {
17340      if (!targetDocument.head) {
17341        return false;
17342      }
17343      for (const style of targetDocument.head.querySelectorAll(
17344        `style[$STYLE_HASH_ATTRIBUTE29}]`
17345      )) {
17346        if (style.getAttribute(STYLE_HASH_ATTRIBUTE29) === hash) {
17347          return true;
17348        }
17349      }
17350      return false;
17351    }
17352    function injectStyle29(targetDocument, hash, css) {
17353      if (!targetDocument.head) {
17354        return;
17355      }
17356      const runtime = getRuntime29();
17357      let injectedStyles = runtime.injectedStyles.get(targetDocument);
17358      if (!injectedStyles) {
17359        injectedStyles = /* @__PURE__ */ new Set();
17360        runtime.injectedStyles.set(targetDocument, injectedStyles);
17361      }
17362      if (injectedStyles.has(hash)) {
17363        return;
17364      }
17365      if (documentContainsStyleHash29(targetDocument, hash)) {
17366        injectedStyles.add(hash);
17367        return;
17368      }
17369      const style = targetDocument.createElement("style");
17370      style.setAttribute(STYLE_HASH_ATTRIBUTE29, hash);
17371      style.appendChild(targetDocument.createTextNode(css));
17372      targetDocument.head.appendChild(style);
17373      injectedStyles.add(hash);
17374    }
17375    function registerDocument29(targetDocument) {
17376      const runtime = getRuntime29();
17377      runtime.documents.set(
17378        targetDocument,
17379        (runtime.documents.get(targetDocument) ?? 0) + 1
17380      );
17381      for (const [hash, css] of runtime.styles) {
17382        injectStyle29(targetDocument, hash, css);
17383      }
17384      return () => {
17385        const count = runtime.documents.get(targetDocument);
17386        if (count === void 0) {
17387          return;
17388        }
17389        if (count <= 1) {
17390          runtime.documents.delete(targetDocument);
17391          return;
17392        }
17393        runtime.documents.set(targetDocument, count - 1);
17394      };
17395    }
17396    function registerStyle29(hash, css) {
17397      const runtime = getRuntime29();
17398      runtime.styles.set(hash, css);
17399      for (const targetDocument of runtime.documents.keys()) {
17400        injectStyle29(targetDocument, hash, css);
17401      }
17402    }
17403    if (typeof process === "undefined" || true) {
17404      registerStyle29("f3c08da521", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._7313adbc8a112e90__tablist{--direction-start:left;--direction-end:right;align-items:stretch;display:flex;overflow-inline:auto;overscroll-behavior-inline:none;position:relative;&:dir(rtl){--direction-start:right;--direction-end:left}&[data-orientation=horizontal]{--fade-width:4rem;--fade-gradient-base:transparent 0%,#000 var(--fade-width);--fade-gradient-composed:var(--fade-gradient-base),#000 60%,transparent 50%;width:fit-content;&:not(.eb7aaeb14de04857__is-scrolling){overflow:visible}&._9f2ac729c68a735a__is-overflowing-first{mask-image:linear-gradient(to var(--direction-end),var(--fade-gradient-base))}&._81c799c1f3cdd261__is-overflowing-last{mask-image:linear-gradient(to var(--direction-start),var(--fade-gradient-base))}&._9f2ac729c68a735a__is-overflowing-first._81c799c1f3cdd261__is-overflowing-last{mask-image:linear-gradient(to right,var(--fade-gradient-composed)),linear-gradient(to left,var(--fade-gradient-composed))}&._59228b5227f38a99__is-minimal-variant{gap:1rem}}&[data-orientation=vertical]{flex-direction:column}}._1c37dcfaa1ad8cda__indicator{@media not (prefers-reduced-motion){transition-duration:.2s;transition-property:translate,width,height;transition-timing-function:ease-out}background-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);outline:2px solid transparent;outline-offset:-1px;pointer-events:none;position:absolute;z-index:1;._7313adbc8a112e90__tablist:has(>.a5fd8814f195aa5e__tab[aria-selected=true]:not([data-disabled]):focus-visible)\n                &{background-color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e)}&[data-orientation=horizontal]{bottom:0;height:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px));left:0;translate:var(--active-tab-left) 0;width:var(--active-tab-width)}&[data-orientation=vertical]{height:max(0px,calc(var(--active-tab-height) - var(--wpds-dimension-padding-md, 12px)*2));inset-inline-start:0;top:var(--wpds-dimension-padding-md,12px);translate:0 var(--active-tab-top);width:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}}.a5fd8814f195aa5e__tab{align-items:center;background:transparent;border:none;border-radius:0;box-shadow:none;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);cursor:var(--wpds-cursor-control,pointer);display:flex;flex:1 0 auto;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);font-weight:400;line-height:1.2;outline:none;padding:0;position:relative;white-space:nowrap;z-index:1;&:is([aria-selected=true],[data-disabled]){cursor:default}&[data-disabled]{color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}&:not([data-disabled]):is(:not([aria-selected=true]):hover,:not([aria-selected=true]):active,:focus-visible){color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);&:after{background-color:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);opacity:1}}&:after,&:before{border-radius:var(--wpds-border-radius-sm,2px);opacity:0;outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid transparent;pointer-events:none;position:absolute;z-index:-1;@media not (prefers-reduced-motion){transition:opacity .1s linear}}&:focus-visible:after{opacity:1;outline-color:var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9))}[data-orientation=horizontal] &{height:48px;padding-inline:var(--wpds-dimension-padding-lg,16px);scroll-margin:24px;&:after{content:"";inset-block:calc(var(--wpds-dimension-padding-md, 12px) + var(--wpds-dimension-padding-xs, 4px));inset-inline:var(--wpds-dimension-padding-lg,16px);outline-offset:var(--wpds-dimension-padding-xs,4px)}&:not([data-disabled]):is(:not([aria-selected=true]):hover,:not([aria-selected=true]):active,:focus-visible):after{box-shadow:0 0 0 var(--wpds-dimension-padding-xs,4px) var(--wpds-color-background-interactive-neutral-weak-active,#ededed)}}._59228b5227f38a99__is-minimal-variant[data-orientation=horizontal] &{padding-inline:0;&:after{inset-inline:0}}._59228b5227f38a99__is-minimal-variant.eb7aaeb14de04857__is-scrolling[data-orientation=horizontal] &{&:before{content:"";inset-block:var(--wpds-dimension-padding-md,12px);inset-inline:round(up,var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)),1px);z-index:0}&:focus-visible{&:before{opacity:1;outline-color:var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9))}&:after{outline:none}}}[data-orientation=vertical] &{min-height:var(--wpds-dimension-size-lg,40px);padding:var(--wpds-dimension-padding-md,12px);&:after{content:"";inset:0;outline-offset:calc(var(--wpds-border-width-focus, var(--wp-admin-border-width-focus, 2px))*-1)}}}._5dfc77e6edd345d4__tab-children{align-items:center;display:flex;flex-grow:1;[data-orientation=horizontal] &{justify-content:center}[data-orientation=vertical] &{justify-content:start}}}}');
17405    }
17406    var style_default14 = { "tablist": "_7313adbc8a112e90__tablist", "is-scrolling": "eb7aaeb14de04857__is-scrolling", "is-overflowing-first": "_9f2ac729c68a735a__is-overflowing-first", "is-overflowing-last": "_81c799c1f3cdd261__is-overflowing-last", "is-minimal-variant": "_59228b5227f38a99__is-minimal-variant", "indicator": "_1c37dcfaa1ad8cda__indicator", "tab": "a5fd8814f195aa5e__tab", "tab-children": "_5dfc77e6edd345d4__tab-children" };
17407    var Tab = (0, import_element47.forwardRef)(
17408      function UnforwardedTab({ className, children, ...otherProps }, forwardedRef) {
17409        useRegisterTab();
17410        return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
17411          index_parts_exports3.Tab,
17412          {
17413            ref: forwardedRef,
17414            className: clsx_default(style_default14.tab, className),
17415            ...otherProps,
17416            children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: style_default14["tab-children"], children })
17417          }
17418        );
17419      }
17420    );
17421  
17422    // packages/format-library/build-module/image/index.mjs
17423    var import_i18n8 = __toESM(require_i18n(), 1);
17424    var import_element48 = __toESM(require_element(), 1);
17425    var import_rich_text3 = __toESM(require_rich_text(), 1);
17426    var import_block_editor3 = __toESM(require_block_editor(), 1);
17427    var import_jsx_runtime86 = __toESM(require_jsx_runtime(), 1);
17428    var ALLOWED_MEDIA_TYPES = ["image"];
17429    var name3 = "core/image";
17430    var title3 = (0, import_i18n8.__)("Inline image");
17431    function getCurrentImageId(activeObjectAttributes) {
17432      if (!activeObjectAttributes.className) {
17433        return void 0;
17434      }
17435      const [, id] = activeObjectAttributes.className.match(/wp-image-(\d+)/) ?? [];
17436      return id ? parseInt(id, 10) : void 0;
17437    }
17438    var image = {
17439      name: name3,
17440      title: title3,
17441      keywords: [(0, import_i18n8.__)("photo"), (0, import_i18n8.__)("media")],
17442      object: true,
17443      tagName: "img",
17444      className: null,
17445      attributes: {
17446        className: "class",
17447        style: "style",
17448        url: "src",
17449        alt: "alt"
17450      },
17451      edit: Edit
17452    };
17453    function InlineUI({
17454      value,
17455      onChange,
17456      activeObjectAttributes,
17457      contentRef
17458    }) {
17459      const style = activeObjectAttributes.style;
17460      const alt = activeObjectAttributes.alt;
17461      const width = style?.replace(/\D/g, "");
17462      const [editedWidth, setEditedWidth] = (0, import_element48.useState)(width);
17463      const [editedAlt, setEditedAlt] = (0, import_element48.useState)(alt);
17464      const hasChanged = editedWidth !== width || editedAlt !== alt;
17465      const popoverAnchor = (0, import_rich_text3.useAnchor)({
17466        // eslint-disable-next-line react-hooks/refs
17467        editableContentElement: contentRef.current,
17468        settings: image
17469      });
17470      return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
17471        import_components.Popover,
17472        {
17473          focusOnMount: false,
17474          anchor: popoverAnchor,
17475          className: "block-editor-format-toolbar__image-popover",
17476          children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
17477            "form",
17478            {
17479              className: "block-editor-format-toolbar__image-container-content",
17480              onSubmit: (event) => {
17481                event.preventDefault();
17482                if (value.start === void 0) {
17483                  return;
17484                }
17485                const newReplacements = value.replacements.slice();
17486                newReplacements[value.start] = {
17487                  type: name3,
17488                  attributes: {
17489                    ...activeObjectAttributes,
17490                    style: editedWidth ? `width: $editedWidth}px;` : "",
17491                    alt: editedAlt ?? ""
17492                  }
17493                };
17494                onChange({
17495                  ...value,
17496                  replacements: newReplacements
17497                });
17498              },
17499              children: /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(Stack, { direction: "column", gap: "lg", children: [
17500                /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
17501                  import_components.__experimentalNumberControl,
17502                  {
17503                    label: (0, import_i18n8.__)("Width"),
17504                    value: editedWidth,
17505                    min: 1,
17506                    onChange: (newWidth) => {
17507                      setEditedWidth(newWidth);
17508                    }
17509                  }
17510                ),
17511                /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
17512                  import_components.TextareaControl,
17513                  {
17514                    label: (0, import_i18n8.__)("Alternative text"),
17515                    value: editedAlt ?? "",
17516                    onChange: (newAlt) => {
17517                      setEditedAlt(newAlt);
17518                    },
17519                    help: /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(import_jsx_runtime86.Fragment, { children: [
17520                      /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
17521                        Link,
17522                        {
17523                          openInNewTab: true,
17524                          href: (
17525                            // translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.
17526                            (0, import_i18n8.__)(
17527                              "https://www.w3.org/WAI/tutorials/images/decision-tree/"
17528                            )
17529                          ),
17530                          children: (0, import_i18n8.__)(
17531                            "Describe the purpose of the image."
17532                          )
17533                        }
17534                      ),
17535                      /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("br", {}),
17536                      (0, import_i18n8.__)("Leave empty if decorative.")
17537                    ] })
17538                  }
17539                ),
17540                /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Stack, { justify: "right", children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
17541                  import_components.Button,
17542                  {
17543                    disabled: !hasChanged,
17544                    accessibleWhenDisabled: true,
17545                    variant: "primary",
17546                    type: "submit",
17547                    size: "compact",
17548                    children: (0, import_i18n8.__)("Apply")
17549                  }
17550                ) })
17551              ] })
17552            }
17553          )
17554        }
17555      );
17556    }
17557    function Edit({
17558      value,
17559      onChange,
17560      onFocus,
17561      isObjectActive,
17562      activeObjectAttributes,
17563      contentRef
17564    }) {
17565      return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(import_block_editor3.MediaUploadCheck, { children: [
17566        /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
17567          import_block_editor3.MediaUpload,
17568          {
17569            allowedTypes: ALLOWED_MEDIA_TYPES,
17570            value: getCurrentImageId(activeObjectAttributes),
17571            onSelect: ({
17572              id,
17573              url,
17574              alt,
17575              width: imgWidth
17576            }) => {
17577              onChange(
17578                (0, import_rich_text3.insertObject)(value, {
17579                  type: name3,
17580                  attributes: {
17581                    className: `wp-image-$id}`,
17582                    style: `width: $Math.min(
17583                      imgWidth,
17584                      150
17585                    )}px;`,
17586                    url,
17587                    alt
17588                  }
17589                })
17590              );
17591              onFocus();
17592            },
17593            render: ({ open: open2 }) => /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
17594              import_block_editor3.RichTextToolbarButton,
17595              {
17596                icon: inline_image_default,
17597                title: isObjectActive ? (0, import_i18n8.__)("Replace image") : title3,
17598                onClick: open2,
17599                isActive: isObjectActive
17600              }
17601            )
17602          }
17603        ),
17604        isObjectActive && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
17605          InlineUI,
17606          {
17607            value,
17608            onChange,
17609            activeObjectAttributes,
17610            contentRef
17611          }
17612        )
17613      ] });
17614    }
17615  
17616    // packages/format-library/build-module/italic/index.mjs
17617    var import_i18n9 = __toESM(require_i18n(), 1);
17618    var import_rich_text4 = __toESM(require_rich_text(), 1);
17619    var import_block_editor4 = __toESM(require_block_editor(), 1);
17620    var import_jsx_runtime87 = __toESM(require_jsx_runtime(), 1);
17621    var name4 = "core/italic";
17622    var title4 = (0, import_i18n9.__)("Italic");
17623    var italic = {
17624      name: name4,
17625      title: title4,
17626      tagName: "em",
17627      className: null,
17628      edit({
17629        isActive,
17630        value,
17631        onChange,
17632        onFocus,
17633        isVisible = true
17634      }) {
17635        function onToggle() {
17636          onChange((0, import_rich_text4.toggleFormat)(value, { type: name4, title: title4 }));
17637        }
17638        function onClick() {
17639          onChange((0, import_rich_text4.toggleFormat)(value, { type: name4, title: title4 }));
17640          onFocus();
17641        }
17642        return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_jsx_runtime87.Fragment, { children: [
17643          /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
17644            import_block_editor4.RichTextShortcut,
17645            {
17646              type: "primary",
17647              character: "i",
17648              onUse: onToggle
17649            }
17650          ),
17651          isVisible && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
17652            import_block_editor4.RichTextToolbarButton,
17653            {
17654              name: "italic",
17655              icon: format_italic_default,
17656              title: title4,
17657              onClick,
17658              isActive,
17659              shortcutType: "primary",
17660              shortcutCharacter: "i"
17661            }
17662          ),
17663          /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
17664            import_block_editor4.__unstableRichTextInputEvent,
17665            {
17666              inputType: "formatItalic",
17667              onInput: onToggle
17668            }
17669          )
17670        ] });
17671      }
17672    };
17673  
17674    // packages/format-library/build-module/link/index.mjs
17675    var import_i18n12 = __toESM(require_i18n(), 1);
17676    var import_element51 = __toESM(require_element(), 1);
17677    var import_rich_text6 = __toESM(require_rich_text(), 1);
17678    var import_url3 = __toESM(require_url(), 1);
17679    var import_block_editor6 = __toESM(require_block_editor(), 1);
17680    var import_html_entities = __toESM(require_html_entities(), 1);
17681    var import_a11y2 = __toESM(require_a11y(), 1);
17682  
17683    // packages/format-library/build-module/link/inline.mjs
17684    var import_element50 = __toESM(require_element(), 1);
17685    var import_i18n11 = __toESM(require_i18n(), 1);
17686    var import_a11y = __toESM(require_a11y(), 1);
17687    var import_components3 = __toESM(require_components(), 1);
17688    var import_url2 = __toESM(require_url(), 1);
17689    var import_rich_text5 = __toESM(require_rich_text(), 1);
17690    var import_block_editor5 = __toESM(require_block_editor(), 1);
17691    var import_data = __toESM(require_data(), 1);
17692  
17693    // packages/format-library/build-module/link/utils.mjs
17694    var import_url = __toESM(require_url(), 1);
17695    function isValidHref(href) {
17696      if (!href) {
17697        return false;
17698      }
17699      const trimmedHref = href.trim();
17700      if (!trimmedHref) {
17701        return false;
17702      }
17703      if (/^\S+:/.test(trimmedHref)) {
17704        const protocol = (0, import_url.getProtocol)(trimmedHref);
17705        if (!protocol || !(0, import_url.isValidProtocol)(protocol)) {
17706          return false;
17707        }
17708        if (protocol.startsWith("http") && !/^https?:\/\/[^\/\s]/i.test(trimmedHref)) {
17709          return false;
17710        }
17711        const authority = (0, import_url.getAuthority)(trimmedHref);
17712        if (!authority || !(0, import_url.isValidAuthority)(authority)) {
17713          return false;
17714        }
17715        const path = (0, import_url.getPath)(trimmedHref);
17716        if (path && !(0, import_url.isValidPath)(path)) {
17717          return false;
17718        }
17719        const queryString = (0, import_url.getQueryString)(trimmedHref);
17720        if (queryString && !(0, import_url.isValidQueryString)(queryString)) {
17721          return false;
17722        }
17723        const fragment = (0, import_url.getFragment)(trimmedHref);
17724        if (fragment && !(0, import_url.isValidFragment)(fragment)) {
17725          return false;
17726        }
17727      }
17728      if (trimmedHref.startsWith("#") && !(0, import_url.isValidFragment)(trimmedHref)) {
17729        return false;
17730      }
17731      return true;
17732    }
17733    function createLinkFormat({
17734      url,
17735      type,
17736      id,
17737      opensInNewWindow,
17738      nofollow,
17739      cssClasses
17740    }) {
17741      const format = {
17742        type: "core/link",
17743        attributes: {
17744          url
17745        }
17746      };
17747      if (type) {
17748        format.attributes.type = type;
17749      }
17750      if (id) {
17751        format.attributes.id = id;
17752      }
17753      if (opensInNewWindow) {
17754        format.attributes.target = "_blank";
17755        format.attributes.rel = format.attributes.rel ? format.attributes.rel + " noopener" : "noopener";
17756      }
17757      if (nofollow) {
17758        format.attributes.rel = format.attributes.rel ? format.attributes.rel + " nofollow" : "nofollow";
17759      }
17760      const trimmedCssClasses = cssClasses?.trim();
17761      if (trimmedCssClasses?.length) {
17762        format.attributes.class = trimmedCssClasses;
17763      }
17764      return format;
17765    }
17766    function getFormatBoundary(value, format, startIndex = value.start, endIndex = value.end) {
17767      const EMPTY_BOUNDARIES = {
17768        start: void 0,
17769        end: void 0
17770      };
17771      const { formats } = value;
17772      let targetFormat;
17773      let initialIndex;
17774      if (!formats?.length || startIndex === void 0 || endIndex === void 0) {
17775        return EMPTY_BOUNDARIES;
17776      }
17777      const newFormats = formats.slice();
17778      const formatAtStart = newFormats[startIndex]?.find(
17779        ({ type }) => type === format.type
17780      );
17781      const formatAtEnd = newFormats[endIndex]?.find(
17782        ({ type }) => type === format.type
17783      );
17784      const formatAtEndMinusOne = newFormats[endIndex - 1]?.find(
17785        ({ type }) => type === format.type
17786      );
17787      if (!!formatAtStart) {
17788        targetFormat = formatAtStart;
17789        initialIndex = startIndex;
17790      } else if (!!formatAtEnd) {
17791        targetFormat = formatAtEnd;
17792        initialIndex = endIndex;
17793      } else if (!!formatAtEndMinusOne) {
17794        targetFormat = formatAtEndMinusOne;
17795        initialIndex = endIndex - 1;
17796      } else {
17797        return EMPTY_BOUNDARIES;
17798      }
17799      const index3 = newFormats[initialIndex].indexOf(targetFormat);
17800      startIndex = walkToStart(newFormats, initialIndex, targetFormat, index3);
17801      endIndex = walkToEnd(newFormats, initialIndex, targetFormat, index3);
17802      startIndex = startIndex < 0 ? 0 : startIndex;
17803      return {
17804        start: startIndex,
17805        end: endIndex + 1
17806      };
17807    }
17808    function walkToBoundary(formats, initialIndex, targetFormatRef, formatIndex, direction) {
17809      let index3 = initialIndex;
17810      const directions = {
17811        forwards: 1,
17812        backwards: -1
17813      };
17814      const directionIncrement = directions[direction] || 1;
17815      const inverseDirectionIncrement = directionIncrement * -1;
17816      while (formats[index3] && formats[index3][formatIndex] === targetFormatRef) {
17817        index3 = index3 + directionIncrement;
17818      }
17819      index3 = index3 + inverseDirectionIncrement;
17820      return index3;
17821    }
17822    var walkToStart = (...args) => walkToBoundary(...args, "backwards");
17823    var walkToEnd = (...args) => walkToBoundary(...args, "forwards");
17824  
17825    // packages/format-library/build-module/link/css-classes-setting.mjs
17826    var import_element49 = __toESM(require_element(), 1);
17827    var import_compose4 = __toESM(require_compose(), 1);
17828    var import_i18n10 = __toESM(require_i18n(), 1);
17829    var import_components2 = __toESM(require_components(), 1);
17830    var import_jsx_runtime88 = __toESM(require_jsx_runtime(), 1);
17831    var CSSClassesSettingComponent = ({
17832      setting,
17833      value,
17834      onChange
17835    }) => {
17836      const hasValue = !!value?.cssClasses?.length;
17837      const [isSettingActive, setIsSettingActive] = (0, import_element49.useState)(hasValue);
17838      const instanceId = (0, import_compose4.useInstanceId)(CSSClassesSettingComponent);
17839      const controlledRegionId = `css-classes-setting-$instanceId}`;
17840      const handleSettingChange = (newValue) => {
17841        const sanitizedValue = typeof newValue === "string" ? newValue.replace(/,/g, " ").replace(/\s+/g, " ").trim() : newValue;
17842        onChange({
17843          ...value,
17844          [setting.id]: sanitizedValue
17845        });
17846      };
17847      const handleCheckboxChange = () => {
17848        if (isSettingActive) {
17849          if (hasValue) {
17850            handleSettingChange("");
17851          }
17852          setIsSettingActive(false);
17853        } else {
17854          setIsSettingActive(true);
17855        }
17856      };
17857      return /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)("fieldset", { children: [
17858        /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(VisuallyHidden, { render: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("legend", {}), children: setting.title }),
17859        /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(Stack, { direction: "column", gap: "md", children: [
17860          /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
17861            import_components2.CheckboxControl,
17862            {
17863              label: setting.title,
17864              onChange: handleCheckboxChange,
17865              checked: isSettingActive || hasValue,
17866              "aria-expanded": isSettingActive,
17867              "aria-controls": isSettingActive ? controlledRegionId : void 0
17868            }
17869          ),
17870          isSettingActive && /* @__PURE__ */ (0, import_jsx_runtime88.jsx)("div", { id: controlledRegionId, children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
17871            import_components2.__experimentalInputControl,
17872            {
17873              label: (0, import_i18n10.__)("CSS classes"),
17874              value: value?.cssClasses,
17875              onChange: handleSettingChange,
17876              help: (0, import_i18n10.__)(
17877                "Separate multiple classes with spaces."
17878              ),
17879              __unstableInputWidth: "100%"
17880            }
17881          ) })
17882        ] })
17883      ] });
17884    };
17885    var css_classes_setting_default = CSSClassesSettingComponent;
17886  
17887    // packages/format-library/build-module/link/inline.mjs
17888    var import_jsx_runtime89 = __toESM(require_jsx_runtime(), 1);
17889    var LINK_SETTINGS = [
17890      ...import_block_editor5.LinkControl.DEFAULT_LINK_SETTINGS,
17891      {
17892        id: "nofollow",
17893        title: (0, import_i18n11.__)("Mark as nofollow")
17894      },
17895      {
17896        id: "cssClasses",
17897        title: (0, import_i18n11.__)("Additional CSS class(es)"),
17898        render: (setting, value, onChange) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
17899          css_classes_setting_default,
17900          {
17901            setting,
17902            value,
17903            onChange
17904          }
17905        )
17906      }
17907    ];
17908    function InlineLinkUI({
17909      isActive,
17910      activeAttributes,
17911      value,
17912      onChange,
17913      onFocusOutside,
17914      stopAddingLink,
17915      contentRef,
17916      focusOnMount
17917    }) {
17918      const richLinkTextValue = getRichTextValueFromSelection(value, isActive);
17919      const richTextText = richLinkTextValue.text;
17920      const { selectionChange } = (0, import_data.useDispatch)(import_block_editor5.store);
17921      const { createPageEntity, userCanCreatePages, selectionStart } = (0, import_data.useSelect)(
17922        (select) => {
17923          const { getSettings, getSelectionStart } = select(import_block_editor5.store);
17924          const _settings = getSettings();
17925          return {
17926            createPageEntity: _settings.__experimentalCreatePageEntity,
17927            userCanCreatePages: _settings.__experimentalUserCanCreatePages,
17928            selectionStart: getSelectionStart()
17929          };
17930        },
17931        []
17932      );
17933      const linkValue = (0, import_element50.useMemo)(
17934        () => ({
17935          url: activeAttributes.url,
17936          type: activeAttributes.type,
17937          id: activeAttributes.id,
17938          opensInNewTab: activeAttributes.target === "_blank",
17939          nofollow: activeAttributes.rel?.includes("nofollow"),
17940          title: richTextText,
17941          cssClasses: activeAttributes.class
17942        }),
17943        [
17944          activeAttributes.class,
17945          activeAttributes.id,
17946          activeAttributes.rel,
17947          activeAttributes.target,
17948          activeAttributes.type,
17949          activeAttributes.url,
17950          richTextText
17951        ]
17952      );
17953      function removeLink() {
17954        const newValue = (0, import_rich_text5.removeFormat)(value, "core/link");
17955        onChange(newValue);
17956        stopAddingLink();
17957        (0, import_a11y.speak)((0, import_i18n11.__)("Link removed."), "assertive");
17958      }
17959      function onChangeLink(nextValue) {
17960        const hasLink = linkValue?.url;
17961        const isNewLink = !hasLink;
17962        nextValue = {
17963          ...linkValue,
17964          ...nextValue
17965        };
17966        const newUrl = (0, import_url2.prependHTTPS)(nextValue?.url ?? "");
17967        const linkFormat = createLinkFormat({
17968          url: newUrl,
17969          type: nextValue.type,
17970          id: nextValue.id !== void 0 && nextValue.id !== null ? String(nextValue.id) : void 0,
17971          opensInNewWindow: nextValue.opensInNewTab,
17972          nofollow: nextValue.nofollow,
17973          cssClasses: nextValue.cssClasses
17974        });
17975        const newText = nextValue.title || newUrl;
17976        let newValue;
17977        if ((0, import_rich_text5.isCollapsed)(value) && value.start !== void 0 && !isActive) {
17978          const inserted = (0, import_rich_text5.insert)(value, newText);
17979          newValue = (0, import_rich_text5.applyFormat)(
17980            inserted,
17981            linkFormat,
17982            value.start,
17983            value.start + newText.length
17984          );
17985          onChange(newValue);
17986          stopAddingLink();
17987          selectionChange({
17988            clientId: selectionStart.clientId,
17989            identifier: selectionStart.attributeKey,
17990            start: value.start + newText.length + 1
17991          });
17992          return;
17993        } else if (newText === richTextText) {
17994          const boundary = getFormatBoundary(value, {
17995            type: "core/link"
17996          });
17997          newValue = (0, import_rich_text5.applyFormat)(
17998            value,
17999            linkFormat,
18000            boundary.start,
18001            boundary.end
18002          );
18003        } else {
18004          newValue = (0, import_rich_text5.create)({ text: newText });
18005          newValue = (0, import_rich_text5.applyFormat)(newValue, linkFormat, 0, newText.length);
18006          const boundary = getFormatBoundary(value, {
18007            type: "core/link"
18008          });
18009          const splitValue = (0, import_rich_text5.split)(value, boundary.start, boundary.start);
18010          if (!splitValue) {
18011            return;
18012          }
18013          const [valBefore, valAfter] = splitValue;
18014          const newValAfter = (0, import_rich_text5.replace)(valAfter, richTextText, newValue);
18015          newValue = (0, import_rich_text5.concat)(valBefore, newValAfter);
18016        }
18017        onChange(newValue);
18018        if (!isNewLink) {
18019          stopAddingLink();
18020        }
18021        if (!isValidHref(newUrl)) {
18022          (0, import_a11y.speak)(
18023            (0, import_i18n11.__)(
18024              "Warning: the link has been inserted but may have errors. Please test it."
18025            ),
18026            "assertive"
18027          );
18028        } else if (isActive) {
18029          (0, import_a11y.speak)((0, import_i18n11.__)("Link edited."), "assertive");
18030        } else {
18031          (0, import_a11y.speak)((0, import_i18n11.__)("Link inserted."), "assertive");
18032        }
18033      }
18034      const anchorSettings = { ...link, isActive };
18035      const popoverAnchor = (0, import_rich_text5.useAnchor)({
18036        // eslint-disable-next-line react-hooks/refs
18037        editableContentElement: contentRef.current,
18038        settings: anchorSettings
18039      });
18040      async function handleCreate(pageTitle) {
18041        const page = await createPageEntity({
18042          title: pageTitle,
18043          status: "draft"
18044        });
18045        return {
18046          id: page.id,
18047          type: page.type,
18048          title: page.title.rendered,
18049          url: page.link,
18050          kind: "post-type"
18051        };
18052      }
18053      function createButtonText(searchTerm) {
18054        return (0, import_element50.createInterpolateElement)(
18055          (0, import_i18n11.sprintf)(
18056            /* translators: %s: search term. */
18057            (0, import_i18n11.__)("Create page: <mark>%s</mark>"),
18058            searchTerm
18059          ),
18060          { mark: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("mark", {}) }
18061        );
18062      }
18063      return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
18064        import_components3.Popover,
18065        {
18066          anchor: popoverAnchor,
18067          animate: false,
18068          onClose: stopAddingLink,
18069          onFocusOutside,
18070          placement: "bottom",
18071          offset: 8,
18072          shift: true,
18073          focusOnMount,
18074          constrainTabbing: true,
18075          children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
18076            import_block_editor5.LinkControl,
18077            {
18078              value: linkValue,
18079              onChange: onChangeLink,
18080              onRemove: removeLink,
18081              hasRichPreviews: true,
18082              createSuggestion: createPageEntity && handleCreate,
18083              withCreateSuggestion: userCanCreatePages,
18084              createSuggestionButtonText: createButtonText,
18085              hasTextControl: true,
18086              settings: LINK_SETTINGS,
18087              showInitialSuggestions: true,
18088              suggestionsQuery: {
18089                // always show Pages as initial suggestions
18090                initialSuggestionsSearchOptions: {
18091                  type: "post",
18092                  subtype: "page",
18093                  perPage: 20
18094                }
18095              }
18096            }
18097          )
18098        }
18099      );
18100    }
18101    function getRichTextValueFromSelection(value, isActive) {
18102      let textStart = value.start;
18103      let textEnd = value.end;
18104      if (isActive) {
18105        const boundary = getFormatBoundary(value, {
18106          type: "core/link"
18107        });
18108        textStart = boundary.start ?? value.start;
18109        textEnd = boundary.end ?? value.end;
18110      }
18111      return (0, import_rich_text5.slice)(value, textStart, textEnd);
18112    }
18113    var inline_default = InlineLinkUI;
18114  
18115    // packages/format-library/build-module/link/index.mjs
18116    var import_jsx_runtime90 = __toESM(require_jsx_runtime(), 1);
18117    var name5 = "core/link";
18118    var title5 = (0, import_i18n12.__)("Link");
18119    function Edit2({
18120      isActive,
18121      activeAttributes,
18122      value,
18123      onChange,
18124      onFocus,
18125      contentRef,
18126      isVisible = true
18127    }) {
18128      const [addingLink, setAddingLink] = (0, import_element51.useState)(false);
18129      const [openedBy, setOpenedBy] = (0, import_element51.useState)(null);
18130      (0, import_element51.useEffect)(() => {
18131        if (!isActive) {
18132          setAddingLink(false);
18133        }
18134      }, [isActive]);
18135      (0, import_element51.useLayoutEffect)(() => {
18136        const editableContentElement = contentRef.current;
18137        if (!editableContentElement) {
18138          return;
18139        }
18140        function handleClick(event) {
18141          const link2 = event.target.closest(
18142            "[contenteditable] a"
18143          );
18144          if (!link2 || // other formats (e.g. bold) may be nested within the link.
18145          !isActive) {
18146            return;
18147          }
18148          setAddingLink(true);
18149          setOpenedBy({
18150            el: link2,
18151            action: "click"
18152          });
18153        }
18154        editableContentElement.addEventListener("click", handleClick);
18155        return () => {
18156          editableContentElement.removeEventListener("click", handleClick);
18157        };
18158      }, [contentRef, isActive]);
18159      function addLink(target) {
18160        const text = (0, import_rich_text6.getTextContent)((0, import_rich_text6.slice)(value));
18161        if (!isActive && text && (0, import_url3.isURL)(text) && isValidHref(text)) {
18162          onChange(
18163            (0, import_rich_text6.applyFormat)(value, {
18164              type: name5,
18165              attributes: { url: text }
18166            })
18167          );
18168        } else if (!isActive && text && (0, import_url3.isEmail)(text)) {
18169          onChange(
18170            (0, import_rich_text6.applyFormat)(value, {
18171              type: name5,
18172              attributes: { url: `mailto:$text}` }
18173            })
18174          );
18175        } else if (!isActive && text && (0, import_url3.isPhoneNumber)(text)) {
18176          onChange(
18177            (0, import_rich_text6.applyFormat)(value, {
18178              type: name5,
18179              attributes: { url: `tel:$text.replace(/\D/g, "")}` }
18180            })
18181          );
18182        } else {
18183          if (target) {
18184            setOpenedBy({
18185              el: target,
18186              action: null
18187              // We don't need to distinguish between click or keyboard here
18188            });
18189          }
18190          setAddingLink(true);
18191        }
18192      }
18193      function stopAddingLink() {
18194        setAddingLink(false);
18195        if (openedBy?.el?.tagName === "BUTTON") {
18196          openedBy.el.focus();
18197        } else {
18198          onFocus();
18199        }
18200        setOpenedBy(null);
18201      }
18202      function onFocusOutside() {
18203        setAddingLink(false);
18204        setOpenedBy(null);
18205      }
18206      function onRemoveFormat() {
18207        onChange((0, import_rich_text6.removeFormat)(value, name5));
18208        (0, import_a11y2.speak)((0, import_i18n12.__)("Link removed."), "assertive");
18209      }
18210      const shouldAutoFocus = !(openedBy?.el?.tagName === "A" && openedBy?.action === "click");
18211      const hasSelection = !(0, import_rich_text6.isCollapsed)(value);
18212      return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(import_jsx_runtime90.Fragment, { children: [
18213        hasSelection && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
18214          import_block_editor6.RichTextShortcut,
18215          {
18216            type: "primary",
18217            character: "k",
18218            onUse: addLink
18219          }
18220        ),
18221        /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
18222          import_block_editor6.RichTextShortcut,
18223          {
18224            type: "primaryShift",
18225            character: "k",
18226            onUse: onRemoveFormat
18227          }
18228        ),
18229        isVisible && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
18230          import_block_editor6.RichTextToolbarButton,
18231          {
18232            name: "link",
18233            icon: link_default,
18234            title: isActive ? (0, import_i18n12.__)("Link") : title5,
18235            onClick: (event) => {
18236              addLink(event.currentTarget);
18237            },
18238            isActive: isActive || addingLink,
18239            shortcutType: "primary",
18240            shortcutCharacter: "k",
18241            "aria-haspopup": "true",
18242            "aria-expanded": addingLink
18243          }
18244        ),
18245        isVisible && addingLink && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
18246          inline_default,
18247          {
18248            stopAddingLink,
18249            onFocusOutside,
18250            isActive,
18251            activeAttributes,
18252            value,
18253            onChange,
18254            contentRef,
18255            focusOnMount: shouldAutoFocus ? "firstElement" : false
18256          }
18257        )
18258      ] });
18259    }
18260    var link = {
18261      name: name5,
18262      title: title5,
18263      tagName: "a",
18264      className: null,
18265      attributes: {
18266        url: "href",
18267        type: "data-type",
18268        id: "data-id",
18269        _id: "id",
18270        target: "target",
18271        rel: "rel",
18272        class: "class"
18273      },
18274      __unstablePasteRule(value, { html, plainText }) {
18275        const pastedText = (html || plainText).replace(/<[^>]+>/g, "").trim();
18276        if (!(0, import_url3.isURL)(pastedText) || !/^https?:/.test(pastedText)) {
18277          return value;
18278        }
18279        window.console.log("Created link:\n\n", pastedText);
18280        const format = {
18281          type: name5,
18282          attributes: {
18283            url: (0, import_html_entities.decodeEntities)(pastedText)
18284          }
18285        };
18286        if ((0, import_rich_text6.isCollapsed)(value)) {
18287          return (0, import_rich_text6.insert)(
18288            value,
18289            (0, import_rich_text6.applyFormat)(
18290              (0, import_rich_text6.create)({ text: plainText }),
18291              format,
18292              0,
18293              plainText.length
18294            )
18295          );
18296        }
18297        return (0, import_rich_text6.applyFormat)(value, format);
18298      },
18299      edit: Edit2
18300    };
18301  
18302    // packages/format-library/build-module/strikethrough/index.mjs
18303    var import_i18n13 = __toESM(require_i18n(), 1);
18304    var import_rich_text7 = __toESM(require_rich_text(), 1);
18305    var import_block_editor7 = __toESM(require_block_editor(), 1);
18306    var import_jsx_runtime91 = __toESM(require_jsx_runtime(), 1);
18307    var name6 = "core/strikethrough";
18308    var title6 = (0, import_i18n13.__)("Strikethrough");
18309    var strikethrough = {
18310      name: name6,
18311      title: title6,
18312      tagName: "s",
18313      className: null,
18314      edit({ isActive, value, onChange, onFocus }) {
18315        function onClick() {
18316          onChange((0, import_rich_text7.toggleFormat)(value, { type: name6, title: title6 }));
18317          onFocus();
18318        }
18319        return /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(import_jsx_runtime91.Fragment, { children: [
18320          /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
18321            import_block_editor7.RichTextShortcut,
18322            {
18323              type: "access",
18324              character: "d",
18325              onUse: onClick
18326            }
18327          ),
18328          /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
18329            import_block_editor7.RichTextToolbarButton,
18330            {
18331              icon: format_strikethrough_default,
18332              title: title6,
18333              onClick,
18334              isActive,
18335              role: "menuitemcheckbox"
18336            }
18337          )
18338        ] });
18339      }
18340    };
18341  
18342    // packages/format-library/build-module/underline/index.mjs
18343    var import_i18n14 = __toESM(require_i18n(), 1);
18344    var import_rich_text8 = __toESM(require_rich_text(), 1);
18345    var import_block_editor8 = __toESM(require_block_editor(), 1);
18346    var import_jsx_runtime92 = __toESM(require_jsx_runtime(), 1);
18347    var name7 = "core/underline";
18348    var title7 = (0, import_i18n14.__)("Underline");
18349    var underline = {
18350      name: name7,
18351      title: title7,
18352      tagName: "span",
18353      className: null,
18354      attributes: {
18355        style: "style"
18356      },
18357      edit({ value, onChange }) {
18358        const onToggle = () => {
18359          onChange(
18360            (0, import_rich_text8.toggleFormat)(value, {
18361              type: name7,
18362              attributes: {
18363                style: "text-decoration: underline;"
18364              },
18365              title: title7
18366            })
18367          );
18368        };
18369        return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(import_jsx_runtime92.Fragment, { children: [
18370          /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
18371            import_block_editor8.RichTextShortcut,
18372            {
18373              type: "primary",
18374              character: "u",
18375              onUse: onToggle
18376            }
18377          ),
18378          /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
18379            import_block_editor8.__unstableRichTextInputEvent,
18380            {
18381              inputType: "formatUnderline",
18382              onInput: onToggle
18383            }
18384          )
18385        ] });
18386      }
18387    };
18388  
18389    // packages/format-library/build-module/text-color/index.mjs
18390    var import_i18n16 = __toESM(require_i18n(), 1);
18391    var import_element53 = __toESM(require_element(), 1);
18392    var import_block_editor10 = __toESM(require_block_editor(), 1);
18393    var import_rich_text10 = __toESM(require_rich_text(), 1);
18394  
18395    // packages/format-library/build-module/text-color/inline.mjs
18396    var import_element52 = __toESM(require_element(), 1);
18397    var import_data2 = __toESM(require_data(), 1);
18398    var import_rich_text9 = __toESM(require_rich_text(), 1);
18399    var import_block_editor9 = __toESM(require_block_editor(), 1);
18400    var import_components4 = __toESM(require_components(), 1);
18401    var import_i18n15 = __toESM(require_i18n(), 1);
18402    var import_jsx_runtime93 = __toESM(require_jsx_runtime(), 1);
18403    var TABS = [
18404      { name: "color", title: (0, import_i18n15.__)("Text") },
18405      { name: "backgroundColor", title: (0, import_i18n15.__)("Background") }
18406    ];
18407    function parseCSS(css = "") {
18408      return css.split(";").reduce(
18409        (accumulator, rule) => {
18410          if (rule) {
18411            const [property, value] = rule.split(":");
18412            if (property === "color") {
18413              accumulator.color = value;
18414            }
18415            if (property === "background-color" && value !== transparentValue) {
18416              accumulator.backgroundColor = value;
18417            }
18418          }
18419          return accumulator;
18420        },
18421        {}
18422      );
18423    }
18424    function parseClassName(className = "", colorSettings) {
18425      return className.split(" ").reduce((accumulator, name16) => {
18426        if (name16.startsWith("has-") && name16.endsWith("-color")) {
18427          const colorSlug = name16.replace(/^has-/, "").replace(/-color$/, "");
18428          const colorObject = (0, import_block_editor9.getColorObjectByAttributeValues)(
18429            colorSettings,
18430            colorSlug
18431          );
18432          accumulator.color = colorObject.color;
18433        }
18434        return accumulator;
18435      }, {});
18436    }
18437    function getActiveColors(value, name16, colorSettings) {
18438      const activeColorFormat = (0, import_rich_text9.getActiveFormat)(value, name16);
18439      if (!activeColorFormat) {
18440        return {};
18441      }
18442      return {
18443        ...parseCSS(activeColorFormat.attributes?.style),
18444        ...parseClassName(activeColorFormat.attributes?.class, colorSettings)
18445      };
18446    }
18447    function setColors(value, name16, colorSettings, colors) {
18448      const { color, backgroundColor } = {
18449        ...getActiveColors(value, name16, colorSettings),
18450        ...colors
18451      };
18452      if (!color && !backgroundColor) {
18453        return (0, import_rich_text9.removeFormat)(value, name16);
18454      }
18455      const styles = [];
18456      const classNames = [];
18457      const attributes = {};
18458      if (backgroundColor) {
18459        styles.push(["background-color", backgroundColor].join(":"));
18460      } else {
18461        styles.push(["background-color", transparentValue].join(":"));
18462      }
18463      if (color) {
18464        const colorObject = (0, import_block_editor9.getColorObjectByColorValue)(colorSettings, color);
18465        if (colorObject && colorObject.slug) {
18466          const colorClassName = (0, import_block_editor9.getColorClassName)(
18467            "color",
18468            colorObject.slug
18469          );
18470          if (colorClassName) {
18471            classNames.push(colorClassName);
18472          }
18473        } else {
18474          styles.push(["color", color].join(":"));
18475        }
18476      }
18477      if (styles.length) {
18478        attributes.style = styles.join(";");
18479      }
18480      if (classNames.length) {
18481        attributes.class = classNames.join(" ");
18482      }
18483      return (0, import_rich_text9.applyFormat)(value, { type: name16, attributes });
18484    }
18485    function ColorPicker({ name: name16, property, value, onChange }) {
18486      const colors = (0, import_data2.useSelect)((select) => {
18487        const { getSettings } = select(import_block_editor9.store);
18488        return getSettings().colors ?? [];
18489      }, []);
18490      const activeColors = (0, import_element52.useMemo)(
18491        () => getActiveColors(value, name16, colors),
18492        [name16, value, colors]
18493      );
18494      return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
18495        import_block_editor9.ColorPalette,
18496        {
18497          value: activeColors[property],
18498          onChange: (color) => {
18499            onChange(
18500              setColors(value, name16, colors, { [property]: color })
18501            );
18502          },
18503          enableAlpha: true,
18504          __experimentalIsRenderedInSidebar: true
18505        }
18506      );
18507    }
18508    function InlineColorUI({
18509      name: name16,
18510      value,
18511      onChange,
18512      onClose,
18513      contentRef,
18514      isActive
18515    }) {
18516      const anchorSettings = { ...textColor, isActive };
18517      const popoverAnchor = (0, import_rich_text9.useAnchor)({
18518        // eslint-disable-next-line react-hooks/refs
18519        editableContentElement: contentRef.current,
18520        settings: anchorSettings
18521      });
18522      return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
18523        import_components4.Popover,
18524        {
18525          onClose,
18526          className: "format-library__inline-color-popover",
18527          anchor: popoverAnchor,
18528          children: /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(tabs_exports.Root, { defaultValue: TABS[0].name, children: [
18529            /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(tabs_exports.List, { children: TABS.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(tabs_exports.Tab, { value: tab.name, children: tab.title }, tab.name)) }),
18530            TABS.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
18531              tabs_exports.Panel,
18532              {
18533                value: tab.name,
18534                tabIndex: -1,
18535                children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
18536                  ColorPicker,
18537                  {
18538                    name: name16,
18539                    property: tab.name,
18540                    value,
18541                    onChange
18542                  }
18543                )
18544              },
18545              tab.name
18546            ))
18547          ] })
18548        }
18549      );
18550    }
18551  
18552    // packages/format-library/build-module/text-color/index.mjs
18553    var import_jsx_runtime94 = __toESM(require_jsx_runtime(), 1);
18554    var transparentValue = "rgba(0, 0, 0, 0)";
18555    var name8 = "core/text-color";
18556    var title8 = (0, import_i18n16.__)("Highlight");
18557    var EMPTY_ARRAY2 = [];
18558    function getComputedStyleProperty(element, property) {
18559      const { ownerDocument: ownerDocument2 } = element;
18560      const { defaultView } = ownerDocument2;
18561      const style = defaultView?.getComputedStyle(element);
18562      const value = style?.getPropertyValue(property);
18563      if (property === "background-color" && value === transparentValue && element.parentElement) {
18564        return getComputedStyleProperty(element.parentElement, property);
18565      }
18566      return value;
18567    }
18568    function fillComputedColors(element, { color, backgroundColor }) {
18569      if (!element || !color && !backgroundColor) {
18570        return;
18571      }
18572      return {
18573        color: color || getComputedStyleProperty(element, "color"),
18574        backgroundColor: backgroundColor === transparentValue ? getComputedStyleProperty(element, "background-color") : backgroundColor
18575      };
18576    }
18577    function TextColorEdit({
18578      value,
18579      onChange,
18580      isActive,
18581      activeAttributes,
18582      contentRef
18583    }) {
18584      const [allowCustomControl, colors = EMPTY_ARRAY2] = (0, import_block_editor10.useSettings)(
18585        "color.custom",
18586        "color.palette"
18587      );
18588      const [isAddingColor, setIsAddingColor] = (0, import_element53.useState)(false);
18589      const colorIndicatorStyle = (0, import_element53.useMemo)(
18590        () => fillComputedColors(
18591          contentRef.current,
18592          getActiveColors(value, name8, colors)
18593        ),
18594        [contentRef, value, colors]
18595      );
18596      const hasColorsToChoose = !!colors.length || allowCustomControl;
18597      if (!hasColorsToChoose && !isActive) {
18598        return null;
18599      }
18600      return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_jsx_runtime94.Fragment, { children: [
18601        /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
18602          import_block_editor10.RichTextToolbarButton,
18603          {
18604            className: "format-library-text-color-button",
18605            isActive,
18606            icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
18607              icon_default,
18608              {
18609                icon: Object.keys(activeAttributes).length ? text_color_default : color_default,
18610                style: colorIndicatorStyle
18611              }
18612            ),
18613            title: title8,
18614            onClick: hasColorsToChoose ? () => setIsAddingColor(true) : () => onChange((0, import_rich_text10.removeFormat)(value, name8)),
18615            role: "menuitemcheckbox"
18616          }
18617        ),
18618        isAddingColor && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
18619          InlineColorUI,
18620          {
18621            name: name8,
18622            onClose: () => setIsAddingColor(false),
18623            value,
18624            onChange,
18625            contentRef,
18626            isActive
18627          }
18628        )
18629      ] });
18630    }
18631    var textColor = {
18632      name: name8,
18633      title: title8,
18634      tagName: "mark",
18635      className: "has-inline-color",
18636      attributes: {
18637        style: "style",
18638        class: "class"
18639      },
18640      edit: TextColorEdit
18641    };
18642  
18643    // packages/format-library/build-module/subscript/index.mjs
18644    var import_i18n17 = __toESM(require_i18n(), 1);
18645    var import_rich_text11 = __toESM(require_rich_text(), 1);
18646    var import_block_editor11 = __toESM(require_block_editor(), 1);
18647    var import_jsx_runtime95 = __toESM(require_jsx_runtime(), 1);
18648    var name9 = "core/subscript";
18649    var title9 = (0, import_i18n17.__)("Subscript");
18650    var subscript = {
18651      name: name9,
18652      title: title9,
18653      tagName: "sub",
18654      className: null,
18655      edit({ isActive, value, onChange, onFocus }) {
18656        function onToggle() {
18657          onChange((0, import_rich_text11.toggleFormat)(value, { type: name9, title: title9 }));
18658        }
18659        function onClick() {
18660          onToggle();
18661          onFocus();
18662        }
18663        return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
18664          import_block_editor11.RichTextToolbarButton,
18665          {
18666            icon: subscript_default,
18667            title: title9,
18668            onClick,
18669            isActive,
18670            role: "menuitemcheckbox"
18671          }
18672        );
18673      }
18674    };
18675  
18676    // packages/format-library/build-module/superscript/index.mjs
18677    var import_i18n18 = __toESM(require_i18n(), 1);
18678    var import_rich_text12 = __toESM(require_rich_text(), 1);
18679    var import_block_editor12 = __toESM(require_block_editor(), 1);
18680    var import_jsx_runtime96 = __toESM(require_jsx_runtime(), 1);
18681    var name10 = "core/superscript";
18682    var title10 = (0, import_i18n18.__)("Superscript");
18683    var superscript = {
18684      name: name10,
18685      title: title10,
18686      tagName: "sup",
18687      className: null,
18688      edit({ isActive, value, onChange, onFocus }) {
18689        function onToggle() {
18690          onChange((0, import_rich_text12.toggleFormat)(value, { type: name10, title: title10 }));
18691        }
18692        function onClick() {
18693          onToggle();
18694          onFocus();
18695        }
18696        return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
18697          import_block_editor12.RichTextToolbarButton,
18698          {
18699            icon: superscript_default,
18700            title: title10,
18701            onClick,
18702            isActive,
18703            role: "menuitemcheckbox"
18704          }
18705        );
18706      }
18707    };
18708  
18709    // packages/format-library/build-module/keyboard/index.mjs
18710    var import_i18n19 = __toESM(require_i18n(), 1);
18711    var import_rich_text13 = __toESM(require_rich_text(), 1);
18712    var import_block_editor13 = __toESM(require_block_editor(), 1);
18713    var import_jsx_runtime97 = __toESM(require_jsx_runtime(), 1);
18714    var name11 = "core/keyboard";
18715    var title11 = (0, import_i18n19.__)("Keyboard input");
18716    var keyboard2 = {
18717      name: name11,
18718      title: title11,
18719      tagName: "kbd",
18720      className: null,
18721      edit({ isActive, value, onChange, onFocus }) {
18722        function onToggle() {
18723          onChange((0, import_rich_text13.toggleFormat)(value, { type: name11, title: title11 }));
18724        }
18725        function onClick() {
18726          onToggle();
18727          onFocus();
18728        }
18729        return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
18730          import_block_editor13.RichTextToolbarButton,
18731          {
18732            icon: button_default,
18733            title: title11,
18734            onClick,
18735            isActive,
18736            role: "menuitemcheckbox"
18737          }
18738        );
18739      }
18740    };
18741  
18742    // packages/format-library/build-module/unknown/index.mjs
18743    var import_i18n20 = __toESM(require_i18n(), 1);
18744    var import_rich_text14 = __toESM(require_rich_text(), 1);
18745    var import_block_editor14 = __toESM(require_block_editor(), 1);
18746    var import_jsx_runtime98 = __toESM(require_jsx_runtime(), 1);
18747    var name12 = "core/unknown";
18748    var title12 = (0, import_i18n20.__)("Clear Unknown Formatting");
18749    function selectionContainsUnknownFormats(value) {
18750      if ((0, import_rich_text14.isCollapsed)(value)) {
18751        return false;
18752      }
18753      const selectedValue = (0, import_rich_text14.slice)(value);
18754      return selectedValue.formats.some((formats) => {
18755        return formats.some((format) => format.type === name12);
18756      });
18757    }
18758    var unknown = {
18759      name: name12,
18760      title: title12,
18761      tagName: "*",
18762      className: null,
18763      edit({ isActive, value, onChange, onFocus }) {
18764        if (!isActive && !selectionContainsUnknownFormats(value)) {
18765          return null;
18766        }
18767        function onClick() {
18768          onChange((0, import_rich_text14.removeFormat)(value, name12));
18769          onFocus();
18770        }
18771        return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
18772          import_block_editor14.RichTextToolbarButton,
18773          {
18774            name: "unknown",
18775            icon: help_default,
18776            title: title12,
18777            onClick,
18778            isActive: true
18779          }
18780        );
18781      }
18782    };
18783  
18784    // packages/format-library/build-module/language/index.mjs
18785    var import_i18n21 = __toESM(require_i18n(), 1);
18786    var import_block_editor15 = __toESM(require_block_editor(), 1);
18787    var import_components5 = __toESM(require_components(), 1);
18788    var import_element54 = __toESM(require_element(), 1);
18789    var import_rich_text15 = __toESM(require_rich_text(), 1);
18790    var import_jsx_runtime99 = __toESM(require_jsx_runtime(), 1);
18791    var name13 = "core/language";
18792    var title13 = (0, import_i18n21.__)("Language");
18793    var language = {
18794      name: name13,
18795      title: title13,
18796      tagName: "bdo",
18797      className: null,
18798      attributes: {
18799        lang: "lang",
18800        dir: "dir"
18801      },
18802      edit: Edit3
18803    };
18804    function Edit3({ isActive, value, onChange, contentRef }) {
18805      const [isPopoverVisible, setIsPopoverVisible] = (0, import_element54.useState)(false);
18806      const togglePopover = () => {
18807        setIsPopoverVisible((state) => !state);
18808      };
18809      return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_jsx_runtime99.Fragment, { children: [
18810        /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
18811          import_block_editor15.RichTextToolbarButton,
18812          {
18813            icon: language_default,
18814            label: title13,
18815            title: title13,
18816            onClick: () => {
18817              if (isActive) {
18818                onChange((0, import_rich_text15.removeFormat)(value, name13));
18819              } else {
18820                togglePopover();
18821              }
18822            },
18823            isActive,
18824            role: "menuitemcheckbox"
18825          }
18826        ),
18827        isPopoverVisible && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
18828          InlineLanguageUI,
18829          {
18830            value,
18831            onChange,
18832            onClose: togglePopover,
18833            contentRef
18834          }
18835        )
18836      ] });
18837    }
18838    function InlineLanguageUI({
18839      value,
18840      contentRef,
18841      onChange,
18842      onClose
18843    }) {
18844      const popoverAnchor = (0, import_rich_text15.useAnchor)({
18845        // eslint-disable-next-line react-hooks/refs
18846        editableContentElement: contentRef.current,
18847        settings: language
18848      });
18849      const [lang, setLang] = (0, import_element54.useState)("");
18850      const [dir, setDir] = (0, import_element54.useState)("ltr");
18851      const directionItems = [
18852        { label: (0, import_i18n21.__)("Left to right"), value: "ltr" },
18853        { label: (0, import_i18n21.__)("Right to left"), value: "rtl" }
18854      ];
18855      return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
18856        import_components5.Popover,
18857        {
18858          className: "block-editor-format-toolbar__language-popover",
18859          anchor: popoverAnchor,
18860          onClose,
18861          children: /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
18862            Stack,
18863            {
18864              render: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("form", {}),
18865              direction: "column",
18866              gap: "lg",
18867              className: "block-editor-format-toolbar__language-container-content",
18868              onSubmit: (event) => {
18869                event.preventDefault();
18870                onChange(
18871                  (0, import_rich_text15.applyFormat)(value, {
18872                    type: name13,
18873                    attributes: {
18874                      lang,
18875                      dir
18876                    }
18877                  })
18878                );
18879                onClose();
18880              },
18881              children: [
18882                /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
18883                  import_components5.TextControl,
18884                  {
18885                    label: title13,
18886                    value: lang,
18887                    onChange: (val) => setLang(val),
18888                    help: (0, import_i18n21.__)(
18889                      'A valid language attribute, like "en" or "fr".'
18890                    )
18891                  }
18892                ),
18893                /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
18894                  SelectControl2,
18895                  {
18896                    label: (0, import_i18n21.__)("Text direction"),
18897                    value: directionItems.find((item) => item.value === dir) ?? null,
18898                    items: directionItems,
18899                    onValueChange: (item) => {
18900                      if (item?.value === "ltr" || item?.value === "rtl") {
18901                        setDir(item.value);
18902                      }
18903                    }
18904                  }
18905                ),
18906                /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Stack, { justify: "right", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
18907                  import_components5.Button,
18908                  {
18909                    __next40pxDefaultSize: true,
18910                    variant: "primary",
18911                    type: "submit",
18912                    text: (0, import_i18n21.__)("Apply")
18913                  }
18914                ) })
18915              ]
18916            }
18917          )
18918        }
18919      );
18920    }
18921  
18922    // packages/format-library/build-module/math/index.mjs
18923    var import_i18n22 = __toESM(require_i18n(), 1);
18924    var import_element55 = __toESM(require_element(), 1);
18925    var import_rich_text16 = __toESM(require_rich_text(), 1);
18926    var import_block_editor16 = __toESM(require_block_editor(), 1);
18927    var import_components6 = __toESM(require_components(), 1);
18928    var import_jsx_runtime100 = __toESM(require_jsx_runtime(), 1);
18929    var name14 = "core/math";
18930    var title14 = (0, import_i18n22.__)("Math");
18931    function InlineUI2({
18932      value,
18933      onChange,
18934      activeObjectAttributes,
18935      contentRef,
18936      latexToMathML
18937    }) {
18938      const [latex, setLatex] = (0, import_element55.useState)(
18939        activeObjectAttributes["data-latex"] || ""
18940      );
18941      const [error2, setError] = (0, import_element55.useState)(null);
18942      const formRef = (0, import_element55.useRef)(null);
18943      const popoverAnchor = (0, import_rich_text16.useAnchor)({
18944        // eslint-disable-next-line react-hooks/refs
18945        editableContentElement: contentRef.current,
18946        settings: math
18947      });
18948      const handleLatexChange = (newLatex) => {
18949        setLatex(newLatex);
18950        let mathML = "";
18951        if (newLatex && latexToMathML) {
18952          try {
18953            mathML = latexToMathML(newLatex, { displayMode: false });
18954            setError(null);
18955          } catch (err) {
18956            setError(
18957              err instanceof Error ? err.message : (0, import_i18n22.__)("Could not parse the LaTeX math syntax.")
18958            );
18959          }
18960        } else {
18961          setError(null);
18962        }
18963        if (value.start === void 0) {
18964          return;
18965        }
18966        const newReplacements = value.replacements.slice();
18967        newReplacements[value.start] = {
18968          type: name14,
18969          attributes: {
18970            "data-latex": newLatex
18971          },
18972          innerHTML: mathML
18973        };
18974        onChange({
18975          ...value,
18976          replacements: newReplacements
18977        });
18978      };
18979      return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
18980        import_components6.Popover,
18981        {
18982          placement: "bottom-start",
18983          offset: 8,
18984          focusOnMount: false,
18985          anchor: popoverAnchor,
18986          onFocusOutside: () => formRef.current?.reportValidity(),
18987          className: "block-editor-format-toolbar__math-popover",
18988          children: /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
18989            "form",
18990            {
18991              ref: formRef,
18992              style: { minWidth: "300px", padding: "16px" },
18993              onSubmit: (event) => event.preventDefault(),
18994              children: [
18995                /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
18996                  ValidatedInputControl,
18997                  {
18998                    label: (0, import_i18n22.__)("LaTeX math syntax"),
18999                    value: latex,
19000                    customValidity: error2 ? { type: "invalid", message: error2 } : void 0,
19001                    onValueChange: handleLatexChange,
19002                    placeholder: (0, import_i18n22.__)("e.g., x^2, \\frac{a}{b}, \\sqrt{x}"),
19003                    autoComplete: "off",
19004                    className: "block-editor-format-toolbar__math-input"
19005                  }
19006                ),
19007                /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
19008                  Link,
19009                  {
19010                    openInNewTab: true,
19011                    className: "block-editor-format-toolbar__math-learn-more",
19012                    href: (0, import_i18n22.__)(
19013                      "https://wordpress.org/documentation/article/math-block/"
19014                    ),
19015                    children: (0, import_i18n22.__)("Learn more about LaTeX syntax")
19016                  }
19017                )
19018              ]
19019            }
19020          )
19021        }
19022      );
19023    }
19024    function Edit4({
19025      value,
19026      onChange,
19027      onFocus,
19028      isObjectActive,
19029      activeObjectAttributes,
19030      contentRef
19031    }) {
19032      const [latexToMathML, setLatexToMathML] = (0, import_element55.useState)();
19033      (0, import_element55.useEffect)(() => {
19034        import("@wordpress/latex-to-mathml").then((module) => {
19035          setLatexToMathML(() => module.default);
19036        });
19037      }, []);
19038      function onClick() {
19039        let newValue;
19040        if (isObjectActive) {
19041          const latex = activeObjectAttributes["data-latex"] || "";
19042          newValue = (0, import_rich_text16.insert)(value, latex);
19043          newValue.start = newValue.end - latex.length;
19044        } else {
19045          const selectedText = (0, import_rich_text16.getTextContent)((0, import_rich_text16.slice)(value));
19046          let innerHTML = "";
19047          if (selectedText && latexToMathML) {
19048            try {
19049              innerHTML = latexToMathML(selectedText, {
19050                displayMode: false
19051              });
19052            } catch {
19053            }
19054          }
19055          newValue = (0, import_rich_text16.insertObject)(value, {
19056            type: name14,
19057            attributes: { "data-latex": selectedText },
19058            innerHTML
19059          });
19060          newValue.start = newValue.end - 1;
19061        }
19062        onChange(newValue);
19063        onFocus();
19064      }
19065      return /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(import_jsx_runtime100.Fragment, { children: [
19066        /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
19067          import_block_editor16.RichTextToolbarButton,
19068          {
19069            icon: math_default,
19070            title: title14,
19071            onClick,
19072            isActive: isObjectActive
19073          }
19074        ),
19075        isObjectActive && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
19076          InlineUI2,
19077          {
19078            value,
19079            onChange,
19080            activeObjectAttributes,
19081            contentRef,
19082            latexToMathML
19083          }
19084        )
19085      ] });
19086    }
19087    var math = {
19088      name: name14,
19089      title: title14,
19090      tagName: "math",
19091      className: null,
19092      attributes: {
19093        "data-latex": "data-latex"
19094      },
19095      contentEditable: false,
19096      edit: Edit4
19097    };
19098  
19099    // packages/format-library/build-module/non-breaking-space/index.mjs
19100    var import_i18n23 = __toESM(require_i18n(), 1);
19101    var import_rich_text17 = __toESM(require_rich_text(), 1);
19102    var import_block_editor17 = __toESM(require_block_editor(), 1);
19103    var import_components7 = __toESM(require_components(), 1);
19104    var import_jsx_runtime101 = __toESM(require_jsx_runtime(), 1);
19105    var name15 = "core/non-breaking-space";
19106    var title15 = (0, import_i18n23.__)("Non breaking space");
19107    var NBSP = "\xA0";
19108    var icon = /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_components7.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_components7.Path, { d: "M4.5 9.5H6V14h12V9.5h1.5v6h-15z" }) });
19109    function getNonBreakingSpaceRange({ text, start, end }) {
19110      if (start === void 0 || end === void 0) {
19111        return null;
19112      }
19113      const from = start === end ? Math.max(start - 1, 0) : start;
19114      const to = start === end ? end + 1 : end;
19115      return text.slice(from, to).includes(NBSP) ? [from, to] : null;
19116    }
19117    function PopoverAnchor({
19118      contentRef
19119    }) {
19120      const popoverAnchor = (0, import_rich_text17.useAnchor)({
19121        // eslint-disable-next-line react-hooks/refs
19122        editableContentElement: contentRef.current,
19123        settings: nonBreakingSpace
19124      });
19125      return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_components7.Popover, { anchor: popoverAnchor, children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { style: { whiteSpace: "nowrap", padding: "4px" }, children: (0, import_i18n23.__)("Non-breaking space") }) });
19126    }
19127    var nonBreakingSpace = {
19128      name: name15,
19129      title: title15,
19130      tagName: "span",
19131      className: "non-breaking-space",
19132      edit({ value, onChange, onFocus, contentRef }) {
19133        function addNonBreakingSpace() {
19134          onChange((0, import_rich_text17.insert)(value, NBSP));
19135        }
19136        const range = getNonBreakingSpaceRange(value);
19137        function replaceNonBreakingSpaces() {
19138          if (!range) {
19139            return;
19140          }
19141          const [from, to] = range;
19142          const { text } = value;
19143          onChange({
19144            ...value,
19145            text: text.slice(0, from) + text.slice(from, to).replaceAll(NBSP, " ") + text.slice(to)
19146          });
19147          onFocus();
19148        }
19149        const selectedValue = value.start && value.end ? value.text.slice(value.start, value.end) : null;
19150        return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_jsx_runtime101.Fragment, { children: [
19151          /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
19152            import_block_editor17.RichTextShortcut,
19153            {
19154              type: "primaryShift",
19155              character: " ",
19156              onUse: addNonBreakingSpace
19157            }
19158          ),
19159          range && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
19160            import_block_editor17.RichTextToolbarButton,
19161            {
19162              name: "non-breaking-space",
19163              icon,
19164              title: (0, import_i18n23.__)("Replace non-breaking spaces"),
19165              onClick: replaceNonBreakingSpaces,
19166              isActive: true
19167            }
19168          ),
19169          selectedValue === NBSP && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(PopoverAnchor, { contentRef })
19170        ] });
19171      },
19172      __experimentalCreatePrepareEditableTree() {
19173        return (formats, text) => {
19174          let record = { formats, text };
19175          let index3 = -1;
19176          do {
19177            index3 = text.indexOf(NBSP, index3 + 1);
19178            if (index3 !== -1) {
19179              record = (0, import_rich_text17.applyFormat)(
19180                record,
19181                { type: name15 },
19182                index3,
19183                index3 + 1
19184              );
19185            }
19186          } while (index3 !== -1);
19187          return record.formats;
19188        };
19189      }
19190    };
19191  
19192    // packages/format-library/build-module/default-formats.mjs
19193    var default_formats_default = [
19194      bold,
19195      code,
19196      image,
19197      italic,
19198      link,
19199      strikethrough,
19200      underline,
19201      textColor,
19202      subscript,
19203      superscript,
19204      keyboard2,
19205      unknown,
19206      language,
19207      math,
19208      nonBreakingSpace
19209    ];
19210  
19211    // packages/format-library/build-module/index.mjs
19212    default_formats_default.forEach(
19213      ({ name: name16, ...settings }) => (0, import_rich_text18.registerFormatType)(name16, settings)
19214    );
19215  })();
19216  /*! Bundled license information:
19217  
19218  use-sync-external-store/cjs/use-sync-external-store-shim.development.js:
19219    (**
19220     * @license React
19221     * use-sync-external-store-shim.development.js
19222     *
19223     * Copyright (c) Meta Platforms, Inc. and affiliates.
19224     *
19225     * This source code is licensed under the MIT license found in the
19226     * LICENSE file in the root directory of this source tree.
19227     *)
19228  
19229  use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js:
19230    (**
19231     * @license React
19232     * use-sync-external-store-shim/with-selector.development.js
19233     *
19234     * Copyright (c) Meta Platforms, Inc. and affiliates.
19235     *
19236     * This source code is licensed under the MIT license found in the
19237     * LICENSE file in the root directory of this source tree.
19238     *)
19239  */
19240  (window.wp ||= {}).formatLibrary = wp.formatLibrary;
19241  })();


Generated : Mon Oct 26 08:20:34 2026 Cross-referenced by PHPXref