g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\n// non-standard V8\nvar captureStackTrace = Error.captureStackTrace;\n\nmodule.exports = function (error, C, stack, dropEntries) {\n if (ERROR_STACK_INSTALLABLE) {\n if (captureStackTrace) captureStackTrace(error, C);\n else createNonEnumerableProperty(error, 'stack', clearErrorStack(stack, dropEntries));\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n var error = new Error('a');\n if (!('stack' in error)) return true;\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n if (isObject(options) && 'cause' in options) {\n createNonEnumerableProperty(O, 'cause', options.cause);\n }\n};\n","'use strict';\nvar toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar installErrorCause = require('../internals/install-error-cause');\nvar installErrorStack = require('../internals/error-stack-install');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nmodule.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {\n var STACK_TRACE_LIMIT = 'stackTraceLimit';\n var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;\n var path = FULL_NAME.split('.');\n var ERROR_NAME = path[path.length - 1];\n var OriginalError = getBuiltIn.apply(null, path);\n\n if (!OriginalError) return;\n\n var OriginalErrorPrototype = OriginalError.prototype;\n\n // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006\n if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;\n\n if (!FORCED) return OriginalError;\n\n var BaseError = getBuiltIn('Error');\n\n var WrappedError = wrapper(function (a, b) {\n var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);\n var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();\n if (message !== undefined) createNonEnumerableProperty(result, 'message', message);\n installErrorStack(result, WrappedError, result.stack, 2);\n if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);\n if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);\n return result;\n });\n\n WrappedError.prototype = OriginalErrorPrototype;\n\n if (ERROR_NAME !== 'Error') {\n if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);\n else copyConstructorProperties(WrappedError, BaseError, { name: true });\n } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {\n proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);\n proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');\n }\n\n copyConstructorProperties(WrappedError, OriginalError);\n\n if (!IS_PURE) try {\n // Safari 13- bug: WebAssembly errors does not have a proper `.name`\n if (OriginalErrorPrototype.name !== ERROR_NAME) {\n createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);\n }\n OriginalErrorPrototype.constructor = WrappedError;\n } catch (error) { /* empty */ }\n\n return WrappedError;\n};\n","'use strict';\n/* eslint-disable no-unused-vars -- required for functions `.length` */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar wrapErrorConstructorWithCause = require('../internals/wrap-error-constructor-with-cause');\n\nvar WEB_ASSEMBLY = 'WebAssembly';\nvar WebAssembly = global[WEB_ASSEMBLY];\n\n// eslint-disable-next-line es/no-error-cause -- feature detection\nvar FORCED = new Error('e', { cause: 7 }).cause !== 7;\n\nvar exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);\n $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);\n};\n\nvar exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {\n if (WebAssembly && WebAssembly[ERROR_NAME]) {\n var O = {};\n O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);\n $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);\n }\n};\n\n// https://tc39.es/ecma262/#sec-nativeerror\nexportGlobalErrorCauseWrapper('Error', function (init) {\n return function Error(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('EvalError', function (init) {\n return function EvalError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('RangeError', function (init) {\n return function RangeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('ReferenceError', function (init) {\n return function ReferenceError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('SyntaxError', function (init) {\n return function SyntaxError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('TypeError', function (init) {\n return function TypeError(message) { return apply(init, this, arguments); };\n});\nexportGlobalErrorCauseWrapper('URIError', function (init) {\n return function URIError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('CompileError', function (init) {\n return function CompileError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('LinkError', function (init) {\n return function LinkError(message) { return apply(init, this, arguments); };\n});\nexportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {\n return function RuntimeError(message) { return apply(init, this, arguments); };\n});\n","\"use client\";\nimport {\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/misc.ts\nfunction noop(..._) {\n}\nfunction shallowEqual(a, b) {\n if (a === b)\n return true;\n if (!a)\n return false;\n if (!b)\n return false;\n if (typeof a !== \"object\")\n return false;\n if (typeof b !== \"object\")\n return false;\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n const { length } = aKeys;\n if (bKeys.length !== length)\n return false;\n for (const key of aKeys) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n return true;\n}\nfunction applyState(argument, currentValue) {\n if (isUpdater(argument)) {\n const value = isLazyValue(currentValue) ? currentValue() : currentValue;\n return argument(value);\n }\n return argument;\n}\nfunction isUpdater(argument) {\n return typeof argument === \"function\";\n}\nfunction isLazyValue(value) {\n return typeof value === \"function\";\n}\nfunction isObject(arg) {\n return typeof arg === \"object\" && arg != null;\n}\nfunction isEmpty(arg) {\n if (Array.isArray(arg))\n return !arg.length;\n if (isObject(arg))\n return !Object.keys(arg).length;\n if (arg == null)\n return true;\n if (arg === \"\")\n return true;\n return false;\n}\nfunction isInteger(arg) {\n if (typeof arg === \"number\") {\n return Math.floor(arg) === arg;\n }\n return String(Math.floor(Number(arg))) === arg;\n}\nfunction hasOwnProperty(object, prop) {\n if (typeof Object.hasOwn === \"function\") {\n return Object.hasOwn(object, prop);\n }\n return Object.prototype.hasOwnProperty.call(object, prop);\n}\nfunction chain(...fns) {\n return (...args) => {\n for (const fn of fns) {\n if (typeof fn === \"function\") {\n fn(...args);\n }\n }\n };\n}\nfunction cx(...args) {\n return args.filter(Boolean).join(\" \") || void 0;\n}\nfunction normalizeString(str) {\n return str.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n}\nfunction omit(object, keys) {\n const result = __spreadValues({}, object);\n for (const key of keys) {\n if (hasOwnProperty(result, key)) {\n delete result[key];\n }\n }\n return result;\n}\nfunction pick(object, paths) {\n const result = {};\n for (const key of paths) {\n if (hasOwnProperty(object, key)) {\n result[key] = object[key];\n }\n }\n return result;\n}\nfunction identity(value) {\n return value;\n}\nfunction beforePaint(cb = noop) {\n const raf = requestAnimationFrame(cb);\n return () => cancelAnimationFrame(raf);\n}\nfunction afterPaint(cb = noop) {\n let raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(cb);\n });\n return () => cancelAnimationFrame(raf);\n}\nfunction invariant(condition, message) {\n if (condition)\n return;\n if (typeof message !== \"string\")\n throw new Error(\"Invariant failed\");\n throw new Error(message);\n}\nfunction getKeys(obj) {\n return Object.keys(obj);\n}\nfunction isFalsyBooleanCallback(booleanOrCallback, ...args) {\n const result = typeof booleanOrCallback === \"function\" ? booleanOrCallback(...args) : booleanOrCallback;\n if (result == null)\n return false;\n return !result;\n}\nfunction disabledFromProps(props) {\n return props.disabled || props[\"aria-disabled\"] === true || props[\"aria-disabled\"] === \"true\";\n}\nfunction removeUndefinedValues(obj) {\n const result = {};\n for (const key in obj) {\n if (obj[key] !== void 0) {\n result[key] = obj[key];\n }\n }\n return result;\n}\nfunction defaultValue(...values) {\n for (const value of values) {\n if (value !== void 0)\n return value;\n }\n return void 0;\n}\n\nexport {\n noop,\n shallowEqual,\n applyState,\n isObject,\n isEmpty,\n isInteger,\n hasOwnProperty,\n chain,\n cx,\n normalizeString,\n omit,\n pick,\n identity,\n beforePaint,\n afterPaint,\n invariant,\n getKeys,\n isFalsyBooleanCallback,\n disabledFromProps,\n removeUndefinedValues,\n defaultValue\n};\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\n\nexport {\n __spreadValues,\n __spreadProps,\n __objRest\n};\n","\"use client\";\nimport {\n createDisclosureStore\n} from \"./WCKXDMU7.js\";\n\n// src/dialog/dialog-store.ts\nfunction createDialogStore(props = {}) {\n return createDisclosureStore(props);\n}\n\nexport {\n createDialogStore\n};\n","\"use client\";\nimport {\n applyState,\n chain,\n getKeys,\n hasOwnProperty,\n invariant,\n noop,\n omit,\n pick\n} from \"./22HHDS5F.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/store.ts\nfunction getInternal(store, key) {\n const internals = store.__unstableInternals;\n invariant(internals, \"Invalid store\");\n return internals[key];\n}\nfunction createStore(initialState, ...stores) {\n let state = initialState;\n let prevStateBatch = state;\n let lastUpdate = Symbol();\n let destroy = noop;\n const instances = /* @__PURE__ */ new Set();\n const updatedKeys = /* @__PURE__ */ new Set();\n const setups = /* @__PURE__ */ new Set();\n const listeners = /* @__PURE__ */ new Set();\n const batchListeners = /* @__PURE__ */ new Set();\n const disposables = /* @__PURE__ */ new WeakMap();\n const listenerKeys = /* @__PURE__ */ new WeakMap();\n const storeSetup = (callback) => {\n setups.add(callback);\n return () => setups.delete(callback);\n };\n const storeInit = () => {\n const initialized = instances.size;\n const instance = Symbol();\n instances.add(instance);\n const maybeDestroy = () => {\n instances.delete(instance);\n if (instances.size)\n return;\n destroy();\n };\n if (initialized)\n return maybeDestroy;\n const desyncs = getKeys(state).map(\n (key) => chain(\n ...stores.map((store) => {\n var _a;\n const storeState = (_a = store == null ? void 0 : store.getState) == null ? void 0 : _a.call(store);\n if (!storeState)\n return;\n if (!hasOwnProperty(storeState, key))\n return;\n return sync(store, [key], (state2) => {\n setState(\n key,\n state2[key],\n // @ts-expect-error - Not public API. This is just to prevent\n // infinite loops.\n true\n );\n });\n })\n )\n );\n const teardowns = [];\n setups.forEach((setup2) => teardowns.push(setup2()));\n const cleanups = stores.map(init);\n destroy = chain(...desyncs, ...teardowns, ...cleanups);\n return maybeDestroy;\n };\n const sub = (keys, listener, set = listeners) => {\n set.add(listener);\n listenerKeys.set(listener, keys);\n return () => {\n var _a;\n (_a = disposables.get(listener)) == null ? void 0 : _a();\n disposables.delete(listener);\n listenerKeys.delete(listener);\n set.delete(listener);\n };\n };\n const storeSubscribe = (keys, listener) => sub(keys, listener);\n const storeSync = (keys, listener) => {\n disposables.set(listener, listener(state, state));\n return sub(keys, listener);\n };\n const storeBatch = (keys, listener) => {\n disposables.set(listener, listener(state, prevStateBatch));\n return sub(keys, listener, batchListeners);\n };\n const storePick = (keys) => createStore(pick(state, keys), finalStore);\n const storeOmit = (keys) => createStore(omit(state, keys), finalStore);\n const getState = () => state;\n const setState = (key, value, fromStores = false) => {\n if (!hasOwnProperty(state, key))\n return;\n const nextValue = applyState(value, state[key]);\n if (nextValue === state[key])\n return;\n if (!fromStores) {\n stores.forEach((store) => {\n var _a;\n (_a = store == null ? void 0 : store.setState) == null ? void 0 : _a.call(store, key, nextValue);\n });\n }\n const prevState = state;\n state = __spreadProps(__spreadValues({}, state), { [key]: nextValue });\n const thisUpdate = Symbol();\n lastUpdate = thisUpdate;\n updatedKeys.add(key);\n const run = (listener, prev, uKeys) => {\n var _a;\n const keys = listenerKeys.get(listener);\n const updated = (k) => uKeys ? uKeys.has(k) : k === key;\n if (!keys || keys.some(updated)) {\n (_a = disposables.get(listener)) == null ? void 0 : _a();\n disposables.set(listener, listener(state, prev));\n }\n };\n listeners.forEach((listener) => {\n run(listener, prevState);\n });\n queueMicrotask(() => {\n if (lastUpdate !== thisUpdate)\n return;\n const snapshot = state;\n batchListeners.forEach((listener) => {\n run(listener, prevStateBatch, updatedKeys);\n });\n prevStateBatch = snapshot;\n updatedKeys.clear();\n });\n };\n const finalStore = {\n getState,\n setState,\n __unstableInternals: {\n setup: storeSetup,\n init: storeInit,\n subscribe: storeSubscribe,\n sync: storeSync,\n batch: storeBatch,\n pick: storePick,\n omit: storeOmit\n }\n };\n return finalStore;\n}\nfunction setup(store, ...args) {\n if (!store)\n return;\n return getInternal(store, \"setup\")(...args);\n}\nfunction init(store, ...args) {\n if (!store)\n return;\n return getInternal(store, \"init\")(...args);\n}\nfunction subscribe(store, ...args) {\n if (!store)\n return;\n return getInternal(store, \"subscribe\")(...args);\n}\nfunction sync(store, ...args) {\n if (!store)\n return;\n return getInternal(store, \"sync\")(...args);\n}\nfunction batch(store, ...args) {\n if (!store)\n return;\n return getInternal(store, \"batch\")(...args);\n}\nfunction omit2(store, ...args) {\n if (!store)\n return;\n return getInternal(store, \"omit\")(...args);\n}\nfunction pick2(store, ...args) {\n if (!store)\n return;\n return getInternal(store, \"pick\")(...args);\n}\nfunction mergeStore(...stores) {\n const initialState = stores.reduce((state, store2) => {\n var _a;\n const nextState = (_a = store2 == null ? void 0 : store2.getState) == null ? void 0 : _a.call(store2);\n if (!nextState)\n return state;\n return __spreadValues(__spreadValues({}, state), nextState);\n }, {});\n const store = createStore(initialState, ...stores);\n return store;\n}\nfunction throwOnConflictingProps(props, store) {\n if (process.env.NODE_ENV === \"production\")\n return;\n if (!store)\n return;\n const defaultKeys = Object.entries(props).filter(([key, value]) => key.startsWith(\"default\") && value !== void 0).map(([key]) => {\n var _a;\n const stateKey = key.replace(\"default\", \"\");\n return `${((_a = stateKey[0]) == null ? void 0 : _a.toLowerCase()) || \"\"}${stateKey.slice(1)}`;\n });\n if (!defaultKeys.length)\n return;\n const storeState = store.getState();\n const conflictingProps = defaultKeys.filter(\n (key) => hasOwnProperty(storeState, key)\n );\n if (!conflictingProps.length)\n return;\n throw new Error(\n `Passing a store prop in conjunction with a default state is not supported.\n\nconst store = useSelectStore();\n\n ^ ^\n\nInstead, pass the default state to the topmost store:\n\nconst store = useSelectStore({ defaultValue: \"Apple\" });\n\n\nSee https://github.com/ariakit/ariakit/pull/2745 for more details.\n\nIf there's a particular need for this, please submit a feature request at https://github.com/ariakit/ariakit\n`\n );\n}\n\nexport {\n createStore,\n setup,\n init,\n subscribe,\n sync,\n batch,\n omit2 as omit,\n pick2 as pick,\n mergeStore,\n throwOnConflictingProps\n};\n","\"use client\";\n\n// src/utils/dom.ts\nvar canUseDOM = checkIsBrowser();\nfunction checkIsBrowser() {\n var _a;\n return typeof window !== \"undefined\" && !!((_a = window.document) == null ? void 0 : _a.createElement);\n}\nfunction getDocument(node) {\n return node ? node.ownerDocument || node : document;\n}\nfunction getWindow(node) {\n return getDocument(node).defaultView || window;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n const { activeElement } = getDocument(node);\n if (!(activeElement == null ? void 0 : activeElement.nodeName)) {\n return null;\n }\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(\n activeElement.contentDocument.body,\n activeDescendant\n );\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\nfunction contains(parent, child) {\n return parent === child || parent.contains(child);\n}\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\nfunction isButton(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName === \"button\")\n return true;\n if (tagName === \"input\" && element.type) {\n return buttonInputTypes.indexOf(element.type) !== -1;\n }\n return false;\n}\nvar buttonInputTypes = [\n \"button\",\n \"color\",\n \"file\",\n \"image\",\n \"reset\",\n \"submit\"\n];\nfunction matches(element, selectors) {\n if (\"matches\" in element) {\n return element.matches(selectors);\n }\n if (\"msMatchesSelector\" in element) {\n return element.msMatchesSelector(selectors);\n }\n return element.webkitMatchesSelector(selectors);\n}\nfunction isVisible(element) {\n const htmlElement = element;\n return htmlElement.offsetWidth > 0 || htmlElement.offsetHeight > 0 || element.getClientRects().length > 0;\n}\nfunction closest(element, selectors) {\n if (\"closest\" in element)\n return element.closest(selectors);\n do {\n if (matches(element, selectors))\n return element;\n element = element.parentElement || element.parentNode;\n } while (element !== null && element.nodeType === 1);\n return null;\n}\nfunction isTextField(element) {\n try {\n const isTextInput = element instanceof HTMLInputElement && element.selectionStart !== null;\n const isTextArea = element.tagName === \"TEXTAREA\";\n return isTextInput || isTextArea || false;\n } catch (error) {\n return false;\n }\n}\nfunction getPopupRole(element, fallback) {\n const allowedPopupRoles = [\"dialog\", \"menu\", \"listbox\", \"tree\", \"grid\"];\n const role = element == null ? void 0 : element.getAttribute(\"role\");\n if (role && allowedPopupRoles.indexOf(role) !== -1) {\n return role;\n }\n return fallback;\n}\nfunction getPopupItemRole(element, fallback) {\n var _a;\n const itemRoleByPopupRole = {\n menu: \"menuitem\",\n listbox: \"option\",\n tree: \"treeitem\"\n };\n const popupRole = getPopupRole(element);\n if (!popupRole)\n return fallback;\n const key = popupRole;\n return (_a = itemRoleByPopupRole[key]) != null ? _a : fallback;\n}\nfunction getTextboxSelection(element) {\n let start = 0;\n let end = 0;\n if (isTextField(element)) {\n start = element.selectionStart || 0;\n end = element.selectionEnd || 0;\n } else if (element.isContentEditable) {\n const selection = getDocument(element).getSelection();\n if ((selection == null ? void 0 : selection.rangeCount) && selection.anchorNode && contains(element, selection.anchorNode) && selection.focusNode && contains(element, selection.focusNode)) {\n const range = selection.getRangeAt(0);\n const nextRange = range.cloneRange();\n nextRange.selectNodeContents(element);\n nextRange.setEnd(range.startContainer, range.startOffset);\n start = nextRange.toString().length;\n nextRange.setEnd(range.endContainer, range.endOffset);\n end = nextRange.toString().length;\n }\n }\n return { start, end };\n}\nfunction scrollIntoViewIfNeeded(element, arg) {\n if (isPartiallyHidden(element) && \"scrollIntoView\" in element) {\n element.scrollIntoView(arg);\n }\n}\nfunction getScrollingElement(element) {\n if (!element)\n return null;\n if (element.clientHeight && element.scrollHeight > element.clientHeight) {\n const { overflowY } = getComputedStyle(element);\n const isScrollable = overflowY !== \"visible\" && overflowY !== \"hidden\";\n if (isScrollable)\n return element;\n } else if (element.clientWidth && element.scrollWidth > element.clientWidth) {\n const { overflowX } = getComputedStyle(element);\n const isScrollable = overflowX !== \"visible\" && overflowX !== \"hidden\";\n if (isScrollable)\n return element;\n }\n return getScrollingElement(element.parentElement) || document.scrollingElement || document.body;\n}\nfunction isPartiallyHidden(element) {\n const elementRect = element.getBoundingClientRect();\n const scroller = getScrollingElement(element);\n if (!scroller)\n return false;\n const scrollerRect = scroller.getBoundingClientRect();\n const isHTML = scroller.tagName === \"HTML\";\n const scrollerTop = isHTML ? scrollerRect.top + scroller.scrollTop : scrollerRect.top;\n const scrollerBottom = isHTML ? scroller.clientHeight : scrollerRect.bottom;\n const scrollerLeft = isHTML ? scrollerRect.left + scroller.scrollLeft : scrollerRect.left;\n const scrollerRight = isHTML ? scroller.clientWidth : scrollerRect.right;\n const top = elementRect.top < scrollerTop;\n const left = elementRect.left < scrollerLeft;\n const bottom = elementRect.bottom > scrollerBottom;\n const right = elementRect.right > scrollerRight;\n return top || left || bottom || right;\n}\nfunction setSelectionRange(element, ...args) {\n if (/text|search|password|tel|url/i.test(element.type)) {\n element.setSelectionRange(...args);\n }\n}\n\nexport {\n canUseDOM,\n getDocument,\n getWindow,\n getActiveElement,\n contains,\n isFrame,\n isButton,\n matches,\n isVisible,\n closest,\n isTextField,\n getPopupRole,\n getPopupItemRole,\n getTextboxSelection,\n scrollIntoViewIfNeeded,\n getScrollingElement,\n isPartiallyHidden,\n setSelectionRange\n};\n","\"use client\";\nimport {\n canUseDOM\n} from \"./RRSZHCH6.js\";\n\n// src/utils/platform.ts\nfunction isTouchDevice() {\n return canUseDOM && !!navigator.maxTouchPoints;\n}\nfunction isApple() {\n if (!canUseDOM)\n return false;\n return /mac|iphone|ipad|ipod/i.test(navigator.platform);\n}\nfunction isSafari() {\n return canUseDOM && isApple() && /apple/i.test(navigator.vendor);\n}\nfunction isFirefox() {\n return canUseDOM && /firefox\\//i.test(navigator.userAgent);\n}\nfunction isMac() {\n return canUseDOM && navigator.platform.startsWith(\"Mac\") && !isTouchDevice();\n}\n\nexport {\n isTouchDevice,\n isApple,\n isSafari,\n isFirefox,\n isMac\n};\n","\"use client\";\nimport {\n createStore,\n mergeStore,\n omit,\n setup,\n subscribe,\n sync,\n throwOnConflictingProps\n} from \"./R676XYVY.js\";\nimport {\n defaultValue\n} from \"./22HHDS5F.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/disclosure/disclosure-store.ts\nfunction createDisclosureStore(props = {}) {\n const store = mergeStore(\n props.store,\n omit(props.disclosure, [\"contentElement\", \"disclosureElement\"])\n );\n throwOnConflictingProps(props, store);\n const syncState = store == null ? void 0 : store.getState();\n const open = defaultValue(\n props.open,\n syncState == null ? void 0 : syncState.open,\n props.defaultOpen,\n false\n );\n const animated = defaultValue(props.animated, syncState == null ? void 0 : syncState.animated, false);\n const initialState = {\n open,\n animated,\n animating: !!animated && open,\n mounted: open,\n contentElement: defaultValue(syncState == null ? void 0 : syncState.contentElement, null),\n disclosureElement: defaultValue(syncState == null ? void 0 : syncState.disclosureElement, null)\n };\n const disclosure = createStore(initialState, store);\n setup(\n disclosure,\n () => sync(disclosure, [\"animated\", \"animating\"], (state) => {\n if (state.animated)\n return;\n disclosure.setState(\"animating\", false);\n })\n );\n setup(\n disclosure,\n () => subscribe(disclosure, [\"open\"], () => {\n if (!disclosure.getState().animated)\n return;\n disclosure.setState(\"animating\", true);\n })\n );\n setup(\n disclosure,\n () => sync(disclosure, [\"open\", \"animating\"], (state) => {\n disclosure.setState(\"mounted\", state.open || state.animating);\n })\n );\n return __spreadProps(__spreadValues({}, disclosure), {\n disclosure: props.disclosure,\n setOpen: (value) => disclosure.setState(\"open\", value),\n show: () => disclosure.setState(\"open\", true),\n hide: () => disclosure.setState(\"open\", false),\n toggle: () => disclosure.setState(\"open\", (open2) => !open2),\n stopAnimation: () => disclosure.setState(\"animating\", false),\n setContentElement: (value) => disclosure.setState(\"contentElement\", value),\n setDisclosureElement: (value) => disclosure.setState(\"disclosureElement\", value)\n });\n}\n\nexport {\n createDisclosureStore\n};\n","\"use client\";\nimport {\n isApple\n} from \"../__chunks/VDNATJW2.js\";\nimport {\n contains\n} from \"../__chunks/RRSZHCH6.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/utils/events.ts\nfunction isPortalEvent(event) {\n return Boolean(\n event.currentTarget && !contains(event.currentTarget, event.target)\n );\n}\nfunction isSelfTarget(event) {\n return event.target === event.currentTarget;\n}\nfunction isOpeningInNewTab(event) {\n const element = event.currentTarget;\n if (!element)\n return false;\n const isAppleDevice = isApple();\n if (isAppleDevice && !event.metaKey)\n return false;\n if (!isAppleDevice && !event.ctrlKey)\n return false;\n const tagName = element.tagName.toLowerCase();\n if (tagName === \"a\")\n return true;\n if (tagName === \"button\" && element.type === \"submit\")\n return true;\n if (tagName === \"input\" && element.type === \"submit\")\n return true;\n return false;\n}\nfunction isDownloading(event) {\n const element = event.currentTarget;\n if (!element)\n return false;\n const tagName = element.tagName.toLowerCase();\n if (!event.altKey)\n return false;\n if (tagName === \"a\")\n return true;\n if (tagName === \"button\" && element.type === \"submit\")\n return true;\n if (tagName === \"input\" && element.type === \"submit\")\n return true;\n return false;\n}\nfunction fireEvent(element, type, eventInit) {\n const event = new Event(type, eventInit);\n return element.dispatchEvent(event);\n}\nfunction fireBlurEvent(element, eventInit) {\n const event = new FocusEvent(\"blur\", eventInit);\n const defaultAllowed = element.dispatchEvent(event);\n const bubbleInit = __spreadProps(__spreadValues({}, eventInit), { bubbles: true });\n element.dispatchEvent(new FocusEvent(\"focusout\", bubbleInit));\n return defaultAllowed;\n}\nfunction fireFocusEvent(element, eventInit) {\n const event = new FocusEvent(\"focus\", eventInit);\n const defaultAllowed = element.dispatchEvent(event);\n const bubbleInit = __spreadProps(__spreadValues({}, eventInit), { bubbles: true });\n element.dispatchEvent(new FocusEvent(\"focusin\", bubbleInit));\n return defaultAllowed;\n}\nfunction fireKeyboardEvent(element, type, eventInit) {\n const event = new KeyboardEvent(type, eventInit);\n return element.dispatchEvent(event);\n}\nfunction fireClickEvent(element, eventInit) {\n const event = new MouseEvent(\"click\", eventInit);\n return element.dispatchEvent(event);\n}\nfunction isFocusEventOutside(event, container) {\n const containerElement = container || event.currentTarget;\n const relatedTarget = event.relatedTarget;\n return !relatedTarget || !contains(containerElement, relatedTarget);\n}\nfunction queueBeforeEvent(element, type, callback) {\n const raf = requestAnimationFrame(() => {\n element.removeEventListener(type, callImmediately, true);\n callback();\n });\n const callImmediately = () => {\n cancelAnimationFrame(raf);\n callback();\n };\n element.addEventListener(type, callImmediately, {\n once: true,\n capture: true\n });\n return raf;\n}\nfunction addGlobalEventListener(type, listener, options, scope = window) {\n const children = [];\n try {\n scope.document.addEventListener(type, listener, options);\n for (const frame of Array.from(scope.frames)) {\n children.push(addGlobalEventListener(type, listener, options, frame));\n }\n } catch (e) {\n }\n const removeEventListener = () => {\n try {\n scope.document.removeEventListener(type, listener, options);\n } catch (e) {\n }\n children.forEach((remove) => remove());\n };\n return removeEventListener;\n}\nexport {\n addGlobalEventListener,\n fireBlurEvent,\n fireClickEvent,\n fireEvent,\n fireFocusEvent,\n fireKeyboardEvent,\n isDownloading,\n isFocusEventOutside,\n isOpeningInNewTab,\n isPortalEvent,\n isSelfTarget,\n queueBeforeEvent\n};\n","\"use client\";\nimport {\n closest,\n contains,\n getActiveElement,\n isFrame,\n isVisible,\n matches\n} from \"../__chunks/RRSZHCH6.js\";\nimport {\n __spreadValues\n} from \"../__chunks/4R3V3JGP.js\";\n\n// src/utils/focus.ts\nvar selector = \"input:not([type='hidden']):not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], iframe, object, embed, area[href], audio[controls], video[controls], [contenteditable]:not([contenteditable='false'])\";\nfunction hasNegativeTabIndex(element) {\n const tabIndex = parseInt(element.getAttribute(\"tabindex\") || \"0\", 10);\n return tabIndex < 0;\n}\nfunction isFocusable(element) {\n if (!matches(element, selector))\n return false;\n if (!isVisible(element))\n return false;\n if (closest(element, \"[inert]\"))\n return false;\n return true;\n}\nfunction isTabbable(element) {\n if (!isFocusable(element))\n return false;\n if (hasNegativeTabIndex(element))\n return false;\n if (!(\"form\" in element))\n return true;\n if (!element.form)\n return true;\n if (element.checked)\n return true;\n if (element.type !== \"radio\")\n return true;\n const radioGroup = element.form.elements.namedItem(element.name);\n if (!radioGroup)\n return true;\n if (!(\"length\" in radioGroup))\n return true;\n const activeElement = getActiveElement(element);\n if (!activeElement)\n return true;\n if (activeElement === element)\n return true;\n if (!(\"form\" in activeElement))\n return true;\n if (activeElement.form !== element.form)\n return true;\n if (activeElement.name !== element.name)\n return true;\n return false;\n}\nfunction getAllFocusableIn(container, includeContainer) {\n const elements = Array.from(\n container.querySelectorAll(selector)\n );\n if (includeContainer) {\n elements.unshift(container);\n }\n const focusableElements = elements.filter(isFocusable);\n focusableElements.forEach((element, i) => {\n if (isFrame(element) && element.contentDocument) {\n const frameBody = element.contentDocument.body;\n focusableElements.splice(i, 1, ...getAllFocusableIn(frameBody));\n }\n });\n return focusableElements;\n}\nfunction getAllFocusable(includeBody) {\n return getAllFocusableIn(document.body, includeBody);\n}\nfunction getFirstFocusableIn(container, includeContainer) {\n const [first] = getAllFocusableIn(container, includeContainer);\n return first || null;\n}\nfunction getFirstFocusable(includeBody) {\n return getFirstFocusableIn(document.body, includeBody);\n}\nfunction getAllTabbableIn(container, includeContainer, fallbackToFocusable) {\n const elements = Array.from(\n container.querySelectorAll(selector)\n );\n const tabbableElements = elements.filter(isTabbable);\n if (includeContainer && isTabbable(container)) {\n tabbableElements.unshift(container);\n }\n tabbableElements.forEach((element, i) => {\n if (isFrame(element) && element.contentDocument) {\n const frameBody = element.contentDocument.body;\n const allFrameTabbable = getAllTabbableIn(\n frameBody,\n false,\n fallbackToFocusable\n );\n tabbableElements.splice(i, 1, ...allFrameTabbable);\n }\n });\n if (!tabbableElements.length && fallbackToFocusable) {\n return elements;\n }\n return tabbableElements;\n}\nfunction getAllTabbable(fallbackToFocusable) {\n return getAllTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getFirstTabbableIn(container, includeContainer, fallbackToFocusable) {\n const [first] = getAllTabbableIn(\n container,\n includeContainer,\n fallbackToFocusable\n );\n return first || null;\n}\nfunction getFirstTabbable(fallbackToFocusable) {\n return getFirstTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getLastTabbableIn(container, includeContainer, fallbackToFocusable) {\n const allTabbable = getAllTabbableIn(\n container,\n includeContainer,\n fallbackToFocusable\n );\n return allTabbable[allTabbable.length - 1] || null;\n}\nfunction getLastTabbable(fallbackToFocusable) {\n return getLastTabbableIn(document.body, false, fallbackToFocusable);\n}\nfunction getNextTabbableIn(container, includeContainer, fallbackToFirst, fallbackToFocusable) {\n const activeElement = getActiveElement(container);\n const allFocusable = getAllFocusableIn(container, includeContainer);\n const activeIndex = allFocusable.indexOf(activeElement);\n const nextFocusableElements = allFocusable.slice(activeIndex + 1);\n return nextFocusableElements.find(isTabbable) || (fallbackToFirst ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? nextFocusableElements[0] : null) || null;\n}\nfunction getNextTabbable(fallbackToFirst, fallbackToFocusable) {\n return getNextTabbableIn(\n document.body,\n false,\n fallbackToFirst,\n fallbackToFocusable\n );\n}\nfunction getPreviousTabbableIn(container, includeContainer, fallbackToLast, fallbackToFocusable) {\n const activeElement = getActiveElement(container);\n const allFocusable = getAllFocusableIn(container, includeContainer).reverse();\n const activeIndex = allFocusable.indexOf(activeElement);\n const previousFocusableElements = allFocusable.slice(activeIndex + 1);\n return previousFocusableElements.find(isTabbable) || (fallbackToLast ? allFocusable.find(isTabbable) : null) || (fallbackToFocusable ? previousFocusableElements[0] : null) || null;\n}\nfunction getPreviousTabbable(fallbackToFirst, fallbackToFocusable) {\n return getPreviousTabbableIn(\n document.body,\n false,\n fallbackToFirst,\n fallbackToFocusable\n );\n}\nfunction getClosestFocusable(element) {\n while (element && !isFocusable(element)) {\n element = closest(element, selector);\n }\n return element || null;\n}\nfunction hasFocus(element) {\n const activeElement = getActiveElement(element);\n if (!activeElement)\n return false;\n if (activeElement === element)\n return true;\n const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n if (!activeDescendant)\n return false;\n return activeDescendant === element.id;\n}\nfunction hasFocusWithin(element) {\n const activeElement = getActiveElement(element);\n if (!activeElement)\n return false;\n if (contains(element, activeElement))\n return true;\n const activeDescendant = activeElement.getAttribute(\"aria-activedescendant\");\n if (!activeDescendant)\n return false;\n if (!(\"id\" in element))\n return false;\n if (activeDescendant === element.id)\n return true;\n return !!element.querySelector(`#${CSS.escape(activeDescendant)}`);\n}\nfunction focusIfNeeded(element) {\n if (!hasFocusWithin(element) && isFocusable(element)) {\n element.focus();\n }\n}\nfunction disableFocus(element) {\n var _a;\n const currentTabindex = (_a = element.getAttribute(\"tabindex\")) != null ? _a : \"\";\n element.setAttribute(\"data-tabindex\", currentTabindex);\n element.setAttribute(\"tabindex\", \"-1\");\n}\nfunction disableFocusIn(container, includeContainer) {\n const tabbableElements = getAllTabbableIn(container, includeContainer);\n tabbableElements.forEach(disableFocus);\n}\nfunction restoreFocusIn(container) {\n const elements = container.querySelectorAll(\"[data-tabindex]\");\n const restoreTabIndex = (element) => {\n const tabindex = element.getAttribute(\"data-tabindex\");\n element.removeAttribute(\"data-tabindex\");\n if (tabindex) {\n element.setAttribute(\"tabindex\", tabindex);\n } else {\n element.removeAttribute(\"tabindex\");\n }\n };\n if (container.hasAttribute(\"data-tabindex\")) {\n restoreTabIndex(container);\n }\n elements.forEach(restoreTabIndex);\n}\nfunction focusIntoView(element, options) {\n if (!(\"scrollIntoView\" in element)) {\n element.focus();\n } else {\n element.focus({ preventScroll: true });\n element.scrollIntoView(__spreadValues({ block: \"nearest\", inline: \"nearest\" }, options));\n }\n}\nexport {\n disableFocus,\n disableFocusIn,\n focusIfNeeded,\n focusIntoView,\n getAllFocusable,\n getAllFocusableIn,\n getAllTabbable,\n getAllTabbableIn,\n getClosestFocusable,\n getFirstFocusable,\n getFirstFocusableIn,\n getFirstTabbable,\n getFirstTabbableIn,\n getLastTabbable,\n getLastTabbableIn,\n getNextTabbable,\n getNextTabbableIn,\n getPreviousTabbable,\n getPreviousTabbableIn,\n hasFocus,\n hasFocusWithin,\n isFocusable,\n isTabbable,\n restoreFocusIn\n};\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nvar __objRest = (source, exclude) => {\n var target = {};\n for (var prop in source)\n if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)\n target[prop] = source[prop];\n if (source != null && __getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(source)) {\n if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))\n target[prop] = source[prop];\n }\n return target;\n};\n\nexport {\n __spreadValues,\n __spreadProps,\n __objRest\n};\n","\"use client\";\nimport {\n useMergeRefs\n} from \"./6O5OEQGF.js\";\nimport {\n getRefProperty,\n mergeProps\n} from \"./XM66DUTO.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/system.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction forwardRef2(render) {\n const Role = React.forwardRef((props, ref) => render(__spreadProps(__spreadValues({}, props), { ref })));\n Role.displayName = render.displayName || render.name;\n return Role;\n}\nfunction memo2(Component, propsAreEqual) {\n return React.memo(Component, propsAreEqual);\n}\nfunction createElement(Type, props) {\n const _a = props, { wrapElement, render } = _a, rest = __objRest(_a, [\"wrapElement\", \"render\"]);\n const mergedRef = useMergeRefs(props.ref, getRefProperty(render));\n let element;\n if (React.isValidElement(render)) {\n const renderProps = __spreadProps(__spreadValues({}, render.props), { ref: mergedRef });\n element = React.cloneElement(render, mergeProps(rest, renderProps));\n } else if (render) {\n element = render(rest);\n } else {\n element = /* @__PURE__ */ jsx(Type, __spreadValues({}, rest));\n }\n if (wrapElement) {\n return wrapElement(element);\n }\n return element;\n}\nfunction createHook(useProps) {\n const useRole = (props = {}) => {\n return useProps(props);\n };\n useRole.displayName = useProps.name;\n return useRole;\n}\nfunction createStoreContext(providers = [], scopedProviders = []) {\n const context = React.createContext(void 0);\n const scopedContext = React.createContext(void 0);\n const useContext2 = () => React.useContext(context);\n const useScopedContext = (onlyScoped = false) => {\n const scoped = React.useContext(scopedContext);\n const store = useContext2();\n if (onlyScoped)\n return scoped;\n return scoped || store;\n };\n const useProviderContext = () => {\n const scoped = React.useContext(scopedContext);\n const store = useContext2();\n if (scoped && scoped === store)\n return;\n return store;\n };\n const ContextProvider = (props) => {\n return providers.reduceRight(\n (children, Provider) => /* @__PURE__ */ jsx(Provider, __spreadProps(__spreadValues({}, props), { children })),\n /* @__PURE__ */ jsx(context.Provider, __spreadValues({}, props))\n );\n };\n const ScopedContextProvider = (props) => {\n return /* @__PURE__ */ jsx(ContextProvider, __spreadProps(__spreadValues({}, props), { children: scopedProviders.reduceRight(\n (children, Provider) => /* @__PURE__ */ jsx(Provider, __spreadProps(__spreadValues({}, props), { children })),\n /* @__PURE__ */ jsx(scopedContext.Provider, __spreadValues({}, props))\n ) }));\n };\n return {\n context,\n scopedContext,\n useContext: useContext2,\n useScopedContext,\n useProviderContext,\n ContextProvider,\n ScopedContextProvider\n };\n}\n\nexport {\n forwardRef2 as forwardRef,\n memo2 as memo,\n createElement,\n createHook,\n createStoreContext\n};\n","\"use client\";\nimport {\n setRef\n} from \"./XM66DUTO.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/hooks.ts\nimport {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useReducer,\n useRef,\n useState\n} from \"react\";\nimport * as React from \"react\";\nimport { canUseDOM } from \"@ariakit/core/utils/dom\";\nimport { addGlobalEventListener } from \"@ariakit/core/utils/events\";\nimport { applyState } from \"@ariakit/core/utils/misc\";\nvar _React = __spreadValues({}, React);\nvar useReactId = _React.useId;\nvar useReactDeferredValue = _React.useDeferredValue;\nvar useReactInsertionEffect = _React.useInsertionEffect;\nvar useSafeLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\nfunction useInitialValue(value) {\n const [initialValue] = useState(value);\n return initialValue;\n}\nfunction useLazyValue(init) {\n const ref = useRef();\n if (ref.current === void 0) {\n ref.current = init();\n }\n return ref.current;\n}\nfunction useLiveRef(value) {\n const ref = useRef(value);\n useSafeLayoutEffect(() => {\n ref.current = value;\n });\n return ref;\n}\nfunction usePreviousValue(value) {\n const [previousValue, setPreviousValue] = useState(value);\n if (value !== previousValue) {\n setPreviousValue(value);\n }\n return previousValue;\n}\nfunction useEvent(callback) {\n const ref = useRef(() => {\n throw new Error(\"Cannot call an event handler while rendering.\");\n });\n if (useReactInsertionEffect) {\n useReactInsertionEffect(() => {\n ref.current = callback;\n });\n } else {\n ref.current = callback;\n }\n return useCallback((...args) => {\n var _a;\n return (_a = ref.current) == null ? void 0 : _a.call(ref, ...args);\n }, []);\n}\nfunction useMergeRefs(...refs) {\n return useMemo(() => {\n if (!refs.some(Boolean))\n return;\n return (value) => {\n refs.forEach((ref) => setRef(ref, value));\n };\n }, refs);\n}\nfunction useRefId(ref, deps) {\n const [id, setId] = useState(void 0);\n useSafeLayoutEffect(() => {\n var _a;\n setId((_a = ref == null ? void 0 : ref.current) == null ? void 0 : _a.id);\n }, deps);\n return id;\n}\nfunction useId(defaultId) {\n if (useReactId) {\n const reactId = useReactId();\n if (defaultId)\n return defaultId;\n return reactId;\n }\n const [id, setId] = useState(defaultId);\n useSafeLayoutEffect(() => {\n if (defaultId || id)\n return;\n const random = Math.random().toString(36).substr(2, 6);\n setId(`id-${random}`);\n }, [defaultId, id]);\n return defaultId || id;\n}\nfunction useDeferredValue(value) {\n if (useReactDeferredValue) {\n return useReactDeferredValue(value);\n }\n const [deferredValue, setDeferredValue] = useState(value);\n useEffect(() => {\n const raf = requestAnimationFrame(() => setDeferredValue(value));\n return () => cancelAnimationFrame(raf);\n }, [value]);\n return deferredValue;\n}\nfunction useTagName(refOrElement, type) {\n const stringOrUndefined = (type2) => {\n if (typeof type2 !== \"string\")\n return;\n return type2;\n };\n const [tagName, setTagName] = useState(() => stringOrUndefined(type));\n useSafeLayoutEffect(() => {\n const element = refOrElement && \"current\" in refOrElement ? refOrElement.current : refOrElement;\n setTagName((element == null ? void 0 : element.tagName.toLowerCase()) || stringOrUndefined(type));\n }, [refOrElement, type]);\n return tagName;\n}\nfunction useAttribute(refOrElement, attributeName, defaultValue) {\n const [attribute, setAttribute] = useState(defaultValue);\n useSafeLayoutEffect(() => {\n const element = refOrElement && \"current\" in refOrElement ? refOrElement.current : refOrElement;\n const value = element == null ? void 0 : element.getAttribute(attributeName);\n if (value == null)\n return;\n setAttribute(value);\n }, [refOrElement, attributeName]);\n return attribute;\n}\nfunction useUpdateEffect(effect, deps) {\n const mounted = useRef(false);\n useEffect(() => {\n if (mounted.current) {\n return effect();\n }\n mounted.current = true;\n }, deps);\n useEffect(\n () => () => {\n mounted.current = false;\n },\n []\n );\n}\nfunction useUpdateLayoutEffect(effect, deps) {\n const mounted = useRef(false);\n useSafeLayoutEffect(() => {\n if (mounted.current) {\n return effect();\n }\n mounted.current = true;\n }, deps);\n useSafeLayoutEffect(\n () => () => {\n mounted.current = false;\n },\n []\n );\n}\nfunction useControlledState(defaultState, state, setState) {\n const [localState, setLocalState] = useState(defaultState);\n const nextState = state !== void 0 ? state : localState;\n const stateRef = useLiveRef(state);\n const setStateRef = useLiveRef(setState);\n const nextStateRef = useLiveRef(nextState);\n const setNextState = useCallback((prevValue) => {\n const setStateProp = setStateRef.current;\n if (setStateProp) {\n if (isSetNextState(setStateProp)) {\n setStateProp(prevValue);\n } else {\n const nextValue = applyState(prevValue, nextStateRef.current);\n nextStateRef.current = nextValue;\n setStateProp(nextValue);\n }\n }\n if (stateRef.current === void 0) {\n setLocalState(prevValue);\n }\n }, []);\n defineSetNextState(setNextState);\n return [nextState, setNextState];\n}\nvar SET_NEXT_STATE = Symbol(\"setNextState\");\nfunction isSetNextState(arg) {\n return arg[SET_NEXT_STATE] === true;\n}\nfunction defineSetNextState(arg) {\n if (!isSetNextState(arg)) {\n Object.defineProperty(arg, SET_NEXT_STATE, { value: true });\n }\n}\nfunction useForceUpdate() {\n return useReducer(() => [], []);\n}\nfunction useBooleanEvent(booleanOrCallback) {\n return useEvent(\n typeof booleanOrCallback === \"function\" ? booleanOrCallback : () => booleanOrCallback\n );\n}\nfunction useWrapElement(props, callback, deps = []) {\n const wrapElement = useCallback(\n (element) => {\n if (props.wrapElement) {\n element = props.wrapElement(element);\n }\n return callback(element);\n },\n [...deps, props.wrapElement]\n );\n return __spreadProps(__spreadValues({}, props), { wrapElement });\n}\nfunction usePortalRef(portalProp = false, portalRefProp) {\n const [portalNode, setPortalNode] = useState(null);\n const portalRef = useMergeRefs(setPortalNode, portalRefProp);\n const domReady = !portalProp || portalNode;\n return { portalRef, portalNode, domReady };\n}\nfunction useMetadataProps(props, key, value) {\n const parent = props.onLoadedMetadataCapture;\n const onLoadedMetadataCapture = useMemo(() => {\n return Object.assign(() => {\n }, __spreadProps(__spreadValues({}, parent), { [key]: value }));\n }, [parent, key, value]);\n return [parent == null ? void 0 : parent[key], { onLoadedMetadataCapture }];\n}\nfunction useIsMouseMoving() {\n useEffect(() => {\n addGlobalEventListener(\"mousemove\", setMouseMoving, true);\n addGlobalEventListener(\"mousedown\", resetMouseMoving, true);\n addGlobalEventListener(\"mouseup\", resetMouseMoving, true);\n addGlobalEventListener(\"keydown\", resetMouseMoving, true);\n addGlobalEventListener(\"scroll\", resetMouseMoving, true);\n }, []);\n const isMouseMoving = useEvent(() => mouseMoving);\n return isMouseMoving;\n}\nvar mouseMoving = false;\nvar previousScreenX = 0;\nvar previousScreenY = 0;\nfunction hasMouseMovement(event) {\n const movementX = event.movementX || event.screenX - previousScreenX;\n const movementY = event.movementY || event.screenY - previousScreenY;\n previousScreenX = event.screenX;\n previousScreenY = event.screenY;\n return movementX || movementY || process.env.NODE_ENV === \"test\";\n}\nfunction setMouseMoving(event) {\n if (!hasMouseMovement(event))\n return;\n mouseMoving = true;\n}\nfunction resetMouseMoving() {\n mouseMoving = false;\n}\n\nexport {\n useSafeLayoutEffect,\n useInitialValue,\n useLazyValue,\n useLiveRef,\n usePreviousValue,\n useEvent,\n useMergeRefs,\n useRefId,\n useId,\n useDeferredValue,\n useTagName,\n useAttribute,\n useUpdateEffect,\n useUpdateLayoutEffect,\n useControlledState,\n useForceUpdate,\n useBooleanEvent,\n useWrapElement,\n usePortalRef,\n useMetadataProps,\n useIsMouseMoving\n};\n","\"use client\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\n\n// src/role/role.ts\nvar TagName = \"div\";\nvar elements = [\n \"a\",\n \"button\",\n \"details\",\n \"dialog\",\n \"div\",\n \"form\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\",\n \"header\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"section\",\n \"select\",\n \"span\",\n \"textarea\",\n \"ul\",\n \"svg\"\n];\nvar useRole = createHook(\n function useRole2(props) {\n return props;\n }\n);\nvar Role = forwardRef(\n // @ts-expect-error\n function Role2(props) {\n return createElement(TagName, props);\n }\n);\nObject.assign(\n Role,\n elements.reduce((acc, element) => {\n acc[element] = forwardRef(function Role3(props) {\n return createElement(element, props);\n });\n return acc;\n }, {})\n);\n\nexport {\n useRole,\n Role\n};\n","\"use client\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/visually-hidden/visually-hidden.ts\nvar TagName = \"span\";\nvar useVisuallyHidden = createHook(\n function useVisuallyHidden2(props) {\n props = __spreadProps(__spreadValues({}, props), {\n style: __spreadValues({\n border: 0,\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: 0,\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\"\n }, props.style)\n });\n return props;\n }\n);\nvar VisuallyHidden = forwardRef(function VisuallyHidden2(props) {\n const htmlProps = useVisuallyHidden(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useVisuallyHidden,\n VisuallyHidden\n};\n","\"use client\";\nimport {\n useVisuallyHidden\n} from \"./IFT5JEUU.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/focus-trap/focus-trap.ts\nvar TagName = \"span\";\nvar useFocusTrap = createHook(\n function useFocusTrap2(props) {\n props = __spreadProps(__spreadValues({\n \"data-focus-trap\": \"\",\n tabIndex: 0,\n \"aria-hidden\": true\n }, props), {\n style: __spreadValues({\n // Prevents unintended scroll jumps.\n position: \"fixed\",\n top: 0,\n left: 0\n }, props.style)\n });\n props = useVisuallyHidden(props);\n return props;\n }\n);\nvar FocusTrap = forwardRef(function FocusTrap2(props) {\n const htmlProps = useFocusTrap(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useFocusTrap,\n FocusTrap\n};\n","\"use client\";\n\n// src/portal/portal-context.ts\nimport { createContext } from \"react\";\nvar PortalContext = createContext(null);\n\nexport {\n PortalContext\n};\n","\"use client\";\nimport {\n FocusTrap\n} from \"./WKWX2XLD.js\";\nimport {\n PortalContext\n} from \"./7452U3HH.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useMergeRefs,\n useSafeLayoutEffect,\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n setRef\n} from \"./XM66DUTO.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/portal/portal.tsx\nimport { useContext, useEffect, useRef, useState } from \"react\";\nimport { getDocument } from \"@ariakit/core/utils/dom\";\nimport { isFocusEventOutside } from \"@ariakit/core/utils/events\";\nimport {\n disableFocusIn,\n getNextTabbable,\n getPreviousTabbable,\n restoreFocusIn\n} from \"@ariakit/core/utils/focus\";\nimport { createPortal } from \"react-dom\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nfunction getRootElement(element) {\n return getDocument(element).body;\n}\nfunction getPortalElement(element, portalElement) {\n if (!portalElement) {\n return getDocument(element).createElement(\"div\");\n }\n if (typeof portalElement === \"function\") {\n return portalElement(element);\n }\n return portalElement;\n}\nfunction getRandomId(prefix = \"id\") {\n return `${prefix ? `${prefix}-` : \"\"}${Math.random().toString(36).substr(2, 6)}`;\n}\nfunction queueFocus(element) {\n queueMicrotask(() => {\n element == null ? void 0 : element.focus();\n });\n}\nvar usePortal = createHook(function usePortal2(_a) {\n var _b = _a, {\n preserveTabOrder,\n preserveTabOrderAnchor,\n portalElement,\n portalRef,\n portal = true\n } = _b, props = __objRest(_b, [\n \"preserveTabOrder\",\n \"preserveTabOrderAnchor\",\n \"portalElement\",\n \"portalRef\",\n \"portal\"\n ]);\n const ref = useRef(null);\n const refProp = useMergeRefs(ref, props.ref);\n const context = useContext(PortalContext);\n const [portalNode, setPortalNode] = useState(null);\n const [anchorPortalNode, setAnchorPortalNode] = useState(\n null\n );\n const outerBeforeRef = useRef(null);\n const innerBeforeRef = useRef(null);\n const innerAfterRef = useRef(null);\n const outerAfterRef = useRef(null);\n useSafeLayoutEffect(() => {\n const element = ref.current;\n if (!element || !portal) {\n setPortalNode(null);\n return;\n }\n const portalEl = getPortalElement(element, portalElement);\n if (!portalEl) {\n setPortalNode(null);\n return;\n }\n const isPortalInDocument = portalEl.isConnected;\n if (!isPortalInDocument) {\n const rootElement = context || getRootElement(element);\n rootElement.appendChild(portalEl);\n }\n if (!portalEl.id) {\n portalEl.id = element.id ? `portal/${element.id}` : getRandomId();\n }\n setPortalNode(portalEl);\n setRef(portalRef, portalEl);\n if (isPortalInDocument)\n return;\n return () => {\n portalEl.remove();\n setRef(portalRef, null);\n };\n }, [portal, portalElement, context, portalRef]);\n useSafeLayoutEffect(() => {\n if (!preserveTabOrder)\n return;\n if (!preserveTabOrderAnchor)\n return;\n const doc = getDocument(preserveTabOrderAnchor);\n const element = doc.createElement(\"span\");\n element.style.position = \"fixed\";\n preserveTabOrderAnchor.insertAdjacentElement(\"afterend\", element);\n setAnchorPortalNode(element);\n return () => {\n element.remove();\n setAnchorPortalNode(null);\n };\n }, [preserveTabOrder, preserveTabOrderAnchor]);\n useEffect(() => {\n if (!portalNode)\n return;\n if (!preserveTabOrder)\n return;\n let raf = 0;\n const onFocus = (event) => {\n if (!isFocusEventOutside(event))\n return;\n const focusing = event.type === \"focusin\";\n cancelAnimationFrame(raf);\n if (focusing) {\n return restoreFocusIn(portalNode);\n }\n raf = requestAnimationFrame(() => {\n disableFocusIn(portalNode, true);\n });\n };\n portalNode.addEventListener(\"focusin\", onFocus, true);\n portalNode.addEventListener(\"focusout\", onFocus, true);\n return () => {\n cancelAnimationFrame(raf);\n portalNode.removeEventListener(\"focusin\", onFocus, true);\n portalNode.removeEventListener(\"focusout\", onFocus, true);\n };\n }, [portalNode, preserveTabOrder]);\n props = useWrapElement(\n props,\n (element) => {\n element = // While the portal node is not in the DOM, we need to pass the\n // current context to the portal context, otherwise it's going to\n // reset to the body element on nested portals.\n /* @__PURE__ */ jsx(PortalContext.Provider, { value: portalNode || context, children: element });\n if (!portal)\n return element;\n if (!portalNode) {\n return /* @__PURE__ */ jsx(\n \"span\",\n {\n ref: refProp,\n id: props.id,\n style: { position: \"fixed\" },\n hidden: true\n }\n );\n }\n element = /* @__PURE__ */ jsxs(Fragment, { children: [\n preserveTabOrder && portalNode && /* @__PURE__ */ jsx(\n FocusTrap,\n {\n ref: innerBeforeRef,\n className: \"__focus-trap-inner-before\",\n onFocus: (event) => {\n if (isFocusEventOutside(event, portalNode)) {\n queueFocus(getNextTabbable());\n } else {\n queueFocus(outerBeforeRef.current);\n }\n }\n }\n ),\n element,\n preserveTabOrder && portalNode && /* @__PURE__ */ jsx(\n FocusTrap,\n {\n ref: innerAfterRef,\n className: \"__focus-trap-inner-after\",\n onFocus: (event) => {\n if (isFocusEventOutside(event, portalNode)) {\n queueFocus(getPreviousTabbable());\n } else {\n queueFocus(outerAfterRef.current);\n }\n }\n }\n )\n ] });\n if (portalNode) {\n element = createPortal(element, portalNode);\n }\n let preserveTabOrderElement = /* @__PURE__ */ jsxs(Fragment, { children: [\n preserveTabOrder && portalNode && /* @__PURE__ */ jsx(\n FocusTrap,\n {\n ref: outerBeforeRef,\n className: \"__focus-trap-outer-before\",\n onFocus: (event) => {\n const fromOuter = event.relatedTarget === outerAfterRef.current;\n if (!fromOuter && isFocusEventOutside(event, portalNode)) {\n queueFocus(innerBeforeRef.current);\n } else {\n queueFocus(getPreviousTabbable());\n }\n }\n }\n ),\n preserveTabOrder && // We're using position: fixed here so that the browser doesn't\n // add margin to the element when setting gap on a parent element.\n /* @__PURE__ */ jsx(\"span\", { \"aria-owns\": portalNode == null ? void 0 : portalNode.id, style: { position: \"fixed\" } }),\n preserveTabOrder && portalNode && /* @__PURE__ */ jsx(\n FocusTrap,\n {\n ref: outerAfterRef,\n className: \"__focus-trap-outer-after\",\n onFocus: (event) => {\n if (isFocusEventOutside(event, portalNode)) {\n queueFocus(innerAfterRef.current);\n } else {\n const nextTabbable = getNextTabbable();\n if (nextTabbable === innerBeforeRef.current) {\n requestAnimationFrame(() => {\n var _a2;\n return (_a2 = getNextTabbable()) == null ? void 0 : _a2.focus();\n });\n return;\n }\n queueFocus(nextTabbable);\n }\n }\n }\n )\n ] });\n if (anchorPortalNode && preserveTabOrder) {\n preserveTabOrderElement = createPortal(\n preserveTabOrderElement,\n anchorPortalNode\n );\n }\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n preserveTabOrderElement,\n element\n ] });\n },\n [portalNode, context, portal, props.id, preserveTabOrder, anchorPortalNode]\n );\n props = __spreadProps(__spreadValues({}, props), {\n ref: refProp\n });\n return props;\n});\nvar Portal = forwardRef(function Portal2(props) {\n const htmlProps = usePortal(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n usePortal,\n Portal\n};\n","\"use client\";\nimport {\n useEvent,\n useLiveRef,\n useSafeLayoutEffect\n} from \"./6O5OEQGF.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/store.tsx\nimport * as React from \"react\";\nimport { hasOwnProperty, identity } from \"@ariakit/core/utils/misc\";\nimport { batch, init, subscribe, sync } from \"@ariakit/core/utils/store\";\nimport useSyncExternalStoreExports from \"use-sync-external-store/shim/index.js\";\nvar { useSyncExternalStore } = useSyncExternalStoreExports;\nvar noopSubscribe = () => () => {\n};\nfunction useStoreState(store, keyOrSelector = identity) {\n const storeSubscribe = React.useCallback(\n (callback) => {\n if (!store)\n return noopSubscribe();\n return subscribe(store, null, callback);\n },\n [store]\n );\n const getSnapshot = () => {\n const key = typeof keyOrSelector === \"string\" ? keyOrSelector : null;\n const selector = typeof keyOrSelector === \"function\" ? keyOrSelector : null;\n const state = store == null ? void 0 : store.getState();\n if (selector)\n return selector(state);\n if (!state)\n return;\n if (!key)\n return;\n if (!hasOwnProperty(state, key))\n return;\n return state[key];\n };\n return useSyncExternalStore(storeSubscribe, getSnapshot, getSnapshot);\n}\nfunction useStoreProps(store, props, key, setKey) {\n const value = hasOwnProperty(props, key) ? props[key] : void 0;\n const setValue = setKey ? props[setKey] : void 0;\n const propsRef = useLiveRef({ value, setValue });\n useSafeLayoutEffect(() => {\n return sync(store, [key], (state, prev) => {\n const { value: value2, setValue: setValue2 } = propsRef.current;\n if (!setValue2)\n return;\n if (state[key] === prev[key])\n return;\n if (state[key] === value2)\n return;\n setValue2(state[key]);\n });\n }, [store, key]);\n useSafeLayoutEffect(() => {\n if (value === void 0)\n return;\n store.setState(key, value);\n return batch(store, [key], () => {\n if (value === void 0)\n return;\n store.setState(key, value);\n });\n });\n}\nfunction useStore(createStore, props) {\n const [store, setStore] = React.useState(() => createStore(props));\n useSafeLayoutEffect(() => init(store), [store]);\n const useState2 = React.useCallback(\n (keyOrSelector) => useStoreState(store, keyOrSelector),\n [store]\n );\n const memoizedStore = React.useMemo(\n () => __spreadProps(__spreadValues({}, store), { useState: useState2 }),\n [store, useState2]\n );\n const updateStore = useEvent(() => {\n setStore((store2) => createStore(__spreadValues(__spreadValues({}, props), store2.getState())));\n });\n return [memoizedStore, updateStore];\n}\n\nexport {\n useStoreState,\n useStoreProps,\n useStore\n};\n","\"use client\";\nimport {\n useStore,\n useStoreProps\n} from \"./EKQEJRUF.js\";\nimport {\n useUpdateEffect\n} from \"./6O5OEQGF.js\";\n\n// src/disclosure/disclosure-store.ts\nimport * as Core from \"@ariakit/core/disclosure/disclosure-store\";\nfunction useDisclosureStoreProps(store, update, props) {\n useUpdateEffect(update, [props.store, props.disclosure]);\n useStoreProps(store, props, \"open\", \"setOpen\");\n useStoreProps(store, props, \"mounted\", \"setMounted\");\n useStoreProps(store, props, \"animated\");\n return Object.assign(store, { disclosure: props.disclosure });\n}\nfunction useDisclosureStore(props = {}) {\n const [store, update] = useStore(Core.createDisclosureStore, props);\n return useDisclosureStoreProps(store, update, props);\n}\n\nexport {\n useDisclosureStoreProps,\n useDisclosureStore\n};\n","\"use client\";\nimport {\n useDisclosureStoreProps\n} from \"./HZJ2XALY.js\";\nimport {\n useStore\n} from \"./EKQEJRUF.js\";\n\n// src/dialog/dialog-store.ts\nimport * as Core from \"@ariakit/core/dialog/dialog-store\";\nfunction useDialogStoreProps(store, update, props) {\n return useDisclosureStoreProps(store, update, props);\n}\nfunction useDialogStore(props = {}) {\n const [store, update] = useStore(Core.createDialogStore, props);\n return useDialogStoreProps(store, update, props);\n}\n\nexport {\n useDialogStoreProps,\n useDialogStore\n};\n","\"use client\";\nimport {\n createStoreContext\n} from \"./5M6RSQEC.js\";\n\n// src/disclosure/disclosure-context.tsx\nvar ctx = createStoreContext();\nvar useDisclosureContext = ctx.useContext;\nvar useDisclosureScopedContext = ctx.useScopedContext;\nvar useDisclosureProviderContext = ctx.useProviderContext;\nvar DisclosureContextProvider = ctx.ContextProvider;\nvar DisclosureScopedContextProvider = ctx.ScopedContextProvider;\n\nexport {\n useDisclosureContext,\n useDisclosureScopedContext,\n useDisclosureProviderContext,\n DisclosureContextProvider,\n DisclosureScopedContextProvider\n};\n","\"use client\";\nimport {\n useFocusable\n} from \"./WAZE6NXP.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useEvent,\n useMergeRefs,\n useMetadataProps,\n useTagName\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/command/command.ts\nimport { useEffect, useRef, useState } from \"react\";\nimport { isButton, isTextField } from \"@ariakit/core/utils/dom\";\nimport {\n fireClickEvent,\n isSelfTarget,\n queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport { disabledFromProps } from \"@ariakit/core/utils/misc\";\nimport { isFirefox } from \"@ariakit/core/utils/platform\";\nvar TagName = \"button\";\nfunction isNativeClick(event) {\n if (!event.isTrusted)\n return false;\n const element = event.currentTarget;\n if (event.key === \"Enter\") {\n return isButton(element) || element.tagName === \"SUMMARY\" || element.tagName === \"A\";\n }\n if (event.key === \" \") {\n return isButton(element) || element.tagName === \"SUMMARY\" || element.tagName === \"INPUT\" || element.tagName === \"SELECT\";\n }\n return false;\n}\nvar symbol = Symbol(\"command\");\nvar useCommand = createHook(\n function useCommand2(_a) {\n var _b = _a, { clickOnEnter = true, clickOnSpace = true } = _b, props = __objRest(_b, [\"clickOnEnter\", \"clickOnSpace\"]);\n const ref = useRef(null);\n const tagName = useTagName(ref);\n const type = props.type;\n const [isNativeButton, setIsNativeButton] = useState(\n () => !!tagName && isButton({ tagName, type })\n );\n useEffect(() => {\n if (!ref.current)\n return;\n setIsNativeButton(isButton(ref.current));\n }, []);\n const [active, setActive] = useState(false);\n const activeRef = useRef(false);\n const disabled = disabledFromProps(props);\n const [isDuplicate, metadataProps] = useMetadataProps(props, symbol, true);\n const onKeyDownProp = props.onKeyDown;\n const onKeyDown = useEvent((event) => {\n onKeyDownProp == null ? void 0 : onKeyDownProp(event);\n const element = event.currentTarget;\n if (event.defaultPrevented)\n return;\n if (isDuplicate)\n return;\n if (disabled)\n return;\n if (!isSelfTarget(event))\n return;\n if (isTextField(element))\n return;\n if (element.isContentEditable)\n return;\n const isEnter = clickOnEnter && event.key === \"Enter\";\n const isSpace = clickOnSpace && event.key === \" \";\n const shouldPreventEnter = event.key === \"Enter\" && !clickOnEnter;\n const shouldPreventSpace = event.key === \" \" && !clickOnSpace;\n if (shouldPreventEnter || shouldPreventSpace) {\n event.preventDefault();\n return;\n }\n if (isEnter || isSpace) {\n const nativeClick = isNativeClick(event);\n if (isEnter) {\n if (!nativeClick) {\n event.preventDefault();\n const _a2 = event, { view } = _a2, eventInit = __objRest(_a2, [\"view\"]);\n const click = () => fireClickEvent(element, eventInit);\n if (isFirefox()) {\n queueBeforeEvent(element, \"keyup\", click);\n } else {\n queueMicrotask(click);\n }\n }\n } else if (isSpace) {\n activeRef.current = true;\n if (!nativeClick) {\n event.preventDefault();\n setActive(true);\n }\n }\n }\n });\n const onKeyUpProp = props.onKeyUp;\n const onKeyUp = useEvent((event) => {\n onKeyUpProp == null ? void 0 : onKeyUpProp(event);\n if (event.defaultPrevented)\n return;\n if (isDuplicate)\n return;\n if (disabled)\n return;\n if (event.metaKey)\n return;\n const isSpace = clickOnSpace && event.key === \" \";\n if (activeRef.current && isSpace) {\n activeRef.current = false;\n if (!isNativeClick(event)) {\n event.preventDefault();\n setActive(false);\n const element = event.currentTarget;\n const _a2 = event, { view } = _a2, eventInit = __objRest(_a2, [\"view\"]);\n queueMicrotask(() => fireClickEvent(element, eventInit));\n }\n }\n });\n props = __spreadProps(__spreadValues(__spreadValues({\n \"data-active\": active || void 0,\n type: isNativeButton ? \"button\" : void 0\n }, metadataProps), props), {\n ref: useMergeRefs(ref, props.ref),\n onKeyDown,\n onKeyUp\n });\n props = useFocusable(props);\n return props;\n }\n);\nvar Command = forwardRef(function Command2(props) {\n const htmlProps = useCommand(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useCommand,\n Command\n};\n","\"use client\";\n\n// src/dialog/utils/is-backdrop.ts\nfunction isBackdrop(element, ...ids) {\n if (!element)\n return false;\n const backdrop = element.getAttribute(\"data-backdrop\");\n if (backdrop == null)\n return false;\n if (backdrop === \"\")\n return true;\n if (backdrop === \"true\")\n return true;\n if (!ids.length)\n return true;\n return ids.some((id) => backdrop === id);\n}\n\nexport {\n isBackdrop\n};\n","\"use client\";\n\n// src/dialog/utils/orchestrate.ts\nvar cleanups = /* @__PURE__ */ new WeakMap();\nfunction orchestrate(element, key, setup) {\n if (!cleanups.has(element)) {\n cleanups.set(element, /* @__PURE__ */ new Map());\n }\n const elementCleanups = cleanups.get(element);\n const prevCleanup = elementCleanups.get(key);\n if (!prevCleanup) {\n elementCleanups.set(key, setup());\n return () => {\n var _a;\n (_a = elementCleanups.get(key)) == null ? void 0 : _a();\n elementCleanups.delete(key);\n };\n }\n const cleanup = setup();\n const nextCleanup = () => {\n cleanup();\n prevCleanup();\n elementCleanups.delete(key);\n };\n elementCleanups.set(key, nextCleanup);\n return () => {\n const isCurrent = elementCleanups.get(key) === nextCleanup;\n if (!isCurrent)\n return;\n cleanup();\n elementCleanups.set(key, prevCleanup);\n };\n}\nfunction setAttribute(element, attr, value) {\n const setup = () => {\n const previousValue = element.getAttribute(attr);\n element.setAttribute(attr, value);\n return () => {\n if (previousValue == null) {\n element.removeAttribute(attr);\n } else {\n element.setAttribute(attr, previousValue);\n }\n };\n };\n return orchestrate(element, attr, setup);\n}\nfunction setProperty(element, property, value) {\n const setup = () => {\n const exists = property in element;\n const previousValue = element[property];\n element[property] = value;\n return () => {\n if (!exists) {\n delete element[property];\n } else {\n element[property] = previousValue;\n }\n };\n };\n return orchestrate(element, property, setup);\n}\nfunction assignStyle(element, style) {\n if (!element)\n return () => {\n };\n const setup = () => {\n const prevStyle = element.style.cssText;\n Object.assign(element.style, style);\n return () => {\n element.style.cssText = prevStyle;\n };\n };\n return orchestrate(element, \"style\", setup);\n}\nfunction setCSSProperty(element, property, value) {\n if (!element)\n return () => {\n };\n const setup = () => {\n const previousValue = element.style.getPropertyValue(property);\n element.style.setProperty(property, value);\n return () => {\n if (previousValue) {\n element.style.setProperty(property, previousValue);\n } else {\n element.style.removeProperty(property);\n }\n };\n };\n return orchestrate(element, property, setup);\n}\n\nexport {\n setAttribute,\n setProperty,\n assignStyle,\n setCSSProperty\n};\n","\"use client\";\nimport {\n setProperty\n} from \"./X6WIMZJE.js\";\n\n// src/dialog/utils/walk-tree-outside.ts\nimport { contains, getDocument } from \"@ariakit/core/utils/dom\";\nimport { chain } from \"@ariakit/core/utils/misc\";\nvar ignoreTags = [\"SCRIPT\", \"STYLE\"];\nfunction getSnapshotPropertyName(id) {\n return `__ariakit-dialog-snapshot-${id}`;\n}\nfunction inSnapshot(id, element) {\n const doc = getDocument(element);\n const propertyName = getSnapshotPropertyName(id);\n if (!doc.body[propertyName])\n return true;\n do {\n if (element === doc.body)\n return false;\n if (!!element[propertyName])\n return true;\n if (!element.parentElement)\n return false;\n element = element.parentElement;\n } while (true);\n}\nfunction isValidElement(id, element, ignoredElements) {\n if (ignoreTags.includes(element.tagName))\n return false;\n if (!inSnapshot(id, element))\n return false;\n return !ignoredElements.some(\n (enabledElement) => enabledElement && contains(element, enabledElement)\n );\n}\nfunction walkTreeOutside(id, elements, callback, ancestorCallback) {\n for (let element of elements) {\n if (!(element == null ? void 0 : element.isConnected))\n continue;\n const hasAncestorAlready = elements.some((maybeAncestor) => {\n if (!maybeAncestor)\n return false;\n if (maybeAncestor === element)\n return false;\n return maybeAncestor.contains(element);\n });\n const doc = getDocument(element);\n const originalElement = element;\n while (element.parentElement && element !== doc.body) {\n ancestorCallback == null ? void 0 : ancestorCallback(element.parentElement, originalElement);\n if (!hasAncestorAlready) {\n for (const child of element.parentElement.children) {\n if (isValidElement(id, child, elements)) {\n callback(child, originalElement);\n }\n }\n }\n element = element.parentElement;\n }\n }\n}\nfunction createWalkTreeSnapshot(id, elements) {\n const { body } = getDocument(elements[0]);\n const cleanups = [];\n const markElement = (element) => {\n cleanups.push(setProperty(element, getSnapshotPropertyName(id), true));\n };\n walkTreeOutside(id, elements, markElement);\n return chain(\n setProperty(body, getSnapshotPropertyName(id), true),\n () => cleanups.forEach((fn) => fn())\n );\n}\n\nexport {\n isValidElement,\n walkTreeOutside,\n createWalkTreeSnapshot\n};\n","\"use client\";\nimport {\n isBackdrop\n} from \"./MKDDWKFK.js\";\nimport {\n walkTreeOutside\n} from \"./72E5EPFF.js\";\nimport {\n setProperty\n} from \"./X6WIMZJE.js\";\n\n// src/dialog/utils/mark-tree-outside.ts\nimport { chain } from \"@ariakit/core/utils/misc\";\nfunction getPropertyName(id = \"\", ancestor = false) {\n return `__ariakit-dialog-${ancestor ? \"ancestor\" : \"outside\"}${id ? `-${id}` : \"\"}`;\n}\nfunction markElement(element, id = \"\") {\n return chain(\n setProperty(element, getPropertyName(), true),\n setProperty(element, getPropertyName(id), true)\n );\n}\nfunction markAncestor(element, id = \"\") {\n return chain(\n setProperty(element, getPropertyName(\"\", true), true),\n setProperty(element, getPropertyName(id, true), true)\n );\n}\nfunction isElementMarked(element, id) {\n const ancestorProperty = getPropertyName(id, true);\n if (element[ancestorProperty])\n return true;\n const elementProperty = getPropertyName(id);\n do {\n if (element[elementProperty])\n return true;\n if (!element.parentElement)\n return false;\n element = element.parentElement;\n } while (true);\n}\nfunction markTreeOutside(id, elements) {\n const cleanups = [];\n const ids = elements.map((el) => el == null ? void 0 : el.id);\n walkTreeOutside(\n id,\n elements,\n (element) => {\n if (isBackdrop(element, ...ids))\n return;\n cleanups.unshift(markElement(element, id));\n },\n (ancestor, element) => {\n const isAnotherDialogAncestor = element.hasAttribute(\"data-dialog\") && element.id !== id;\n if (isAnotherDialogAncestor)\n return;\n cleanups.unshift(markAncestor(ancestor, id));\n }\n );\n const restoreAccessibilityTree = () => {\n cleanups.forEach((fn) => fn());\n };\n return restoreAccessibilityTree;\n}\n\nexport {\n markElement,\n markAncestor,\n isElementMarked,\n markTreeOutside\n};\n","\"use client\";\nimport {\n markAncestor\n} from \"./TL67WVI6.js\";\nimport {\n Role\n} from \"./CBTO7DFZ.js\";\nimport {\n useDisclosureContent\n} from \"./RQZGFHI2.js\";\nimport {\n useDisclosureStore\n} from \"./HZJ2XALY.js\";\nimport {\n useSafeLayoutEffect\n} from \"./6O5OEQGF.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/dialog/dialog-backdrop.tsx\nimport { isValidElement, useRef } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction DialogBackdrop({\n store,\n backdrop,\n alwaysVisible,\n hidden\n}) {\n const ref = useRef(null);\n const disclosure = useDisclosureStore({ disclosure: store });\n const contentElement = store.useState(\"contentElement\");\n useSafeLayoutEffect(() => {\n const backdrop2 = ref.current;\n const dialog = contentElement;\n if (!backdrop2)\n return;\n if (!dialog)\n return;\n backdrop2.style.zIndex = getComputedStyle(dialog).zIndex;\n }, [contentElement]);\n useSafeLayoutEffect(() => {\n const id = contentElement == null ? void 0 : contentElement.id;\n if (!id)\n return;\n const backdrop2 = ref.current;\n if (!backdrop2)\n return;\n return markAncestor(backdrop2, id);\n }, [contentElement]);\n const props = useDisclosureContent({\n ref,\n store: disclosure,\n role: \"presentation\",\n \"data-backdrop\": (contentElement == null ? void 0 : contentElement.id) || \"\",\n alwaysVisible,\n hidden: hidden != null ? hidden : void 0,\n style: {\n position: \"fixed\",\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n });\n if (!backdrop)\n return null;\n if (isValidElement(backdrop)) {\n return /* @__PURE__ */ jsx(Role, __spreadProps(__spreadValues({}, props), { render: backdrop }));\n }\n const Component = typeof backdrop !== \"boolean\" ? backdrop : \"div\";\n return /* @__PURE__ */ jsx(Role, __spreadProps(__spreadValues({}, props), { render: /* @__PURE__ */ jsx(Component, {}) }));\n}\n\nexport {\n DialogBackdrop\n};\n","\"use client\";\nimport {\n isBackdrop\n} from \"./MKDDWKFK.js\";\nimport {\n walkTreeOutside\n} from \"./72E5EPFF.js\";\nimport {\n setAttribute\n} from \"./X6WIMZJE.js\";\n\n// src/dialog/utils/disable-accessibility-tree-outside.ts\nfunction hideElementFromAccessibilityTree(element) {\n return setAttribute(element, \"aria-hidden\", \"true\");\n}\nfunction disableAccessibilityTreeOutside(id, elements) {\n const cleanups = [];\n const ids = elements.map((el) => el == null ? void 0 : el.id);\n walkTreeOutside(id, elements, (element) => {\n if (isBackdrop(element, ...ids))\n return;\n cleanups.unshift(hideElementFromAccessibilityTree(element));\n });\n const restoreAccessibilityTree = () => {\n cleanups.forEach((fn) => fn());\n };\n return restoreAccessibilityTree;\n}\n\nexport {\n hideElementFromAccessibilityTree,\n disableAccessibilityTreeOutside\n};\n","\"use client\";\n\n// src/dialog/utils/supports-inert.ts\nfunction supportsInert() {\n return \"inert\" in HTMLElement.prototype;\n}\n\nexport {\n supportsInert\n};\n","\"use client\";\nimport {\n hideElementFromAccessibilityTree\n} from \"./BULCTPRV.js\";\nimport {\n isBackdrop\n} from \"./MKDDWKFK.js\";\nimport {\n walkTreeOutside\n} from \"./72E5EPFF.js\";\nimport {\n assignStyle,\n setAttribute,\n setProperty\n} from \"./X6WIMZJE.js\";\nimport {\n supportsInert\n} from \"./677M2CI3.js\";\n\n// src/dialog/utils/disable-tree.ts\nimport { contains } from \"@ariakit/core/utils/dom\";\nimport { getAllTabbableIn } from \"@ariakit/core/utils/focus\";\nimport { chain, noop } from \"@ariakit/core/utils/misc\";\nfunction disableTree(element, ignoredElements) {\n if (!(\"style\" in element))\n return noop;\n if (supportsInert()) {\n return setProperty(element, \"inert\", true);\n }\n const tabbableElements = getAllTabbableIn(element, true);\n const enableElements = tabbableElements.map((element2) => {\n if (ignoredElements == null ? void 0 : ignoredElements.some((el) => el && contains(el, element2)))\n return noop;\n return setAttribute(element2, \"tabindex\", \"-1\");\n });\n return chain(\n ...enableElements,\n hideElementFromAccessibilityTree(element),\n assignStyle(element, {\n pointerEvents: \"none\",\n userSelect: \"none\",\n cursor: \"default\"\n })\n );\n}\nfunction disableTreeOutside(id, elements) {\n const cleanups = [];\n const ids = elements.map((el) => el == null ? void 0 : el.id);\n walkTreeOutside(\n id,\n elements,\n (element) => {\n if (isBackdrop(element, ...ids))\n return;\n cleanups.unshift(disableTree(element, elements));\n },\n (element) => {\n if (!element.hasAttribute(\"role\"))\n return;\n if (elements.some((el) => el && contains(el, element)))\n return;\n cleanups.unshift(setAttribute(element, \"role\", \"none\"));\n }\n );\n const restoreTreeOutside = () => {\n cleanups.forEach((fn) => fn());\n };\n return restoreTreeOutside;\n}\n\nexport {\n disableTree,\n disableTreeOutside\n};\n","\"use client\";\nimport {\n useRootDialog\n} from \"./CS347UVZ.js\";\nimport {\n assignStyle,\n setCSSProperty\n} from \"./X6WIMZJE.js\";\n\n// src/dialog/utils/use-prevent-body-scroll.ts\nimport { useEffect } from \"react\";\nimport { getDocument, getWindow } from \"@ariakit/core/utils/dom\";\nimport { chain } from \"@ariakit/core/utils/misc\";\nimport { isApple, isMac } from \"@ariakit/core/utils/platform\";\nfunction getPaddingProperty(documentElement) {\n const documentLeft = documentElement.getBoundingClientRect().left;\n const scrollbarX = Math.round(documentLeft) + documentElement.scrollLeft;\n return scrollbarX ? \"paddingLeft\" : \"paddingRight\";\n}\nfunction usePreventBodyScroll(contentElement, contentId, enabled) {\n const isRootDialog = useRootDialog({\n attribute: \"data-dialog-prevent-body-scroll\",\n contentElement,\n contentId,\n enabled\n });\n useEffect(() => {\n if (!isRootDialog())\n return;\n if (!contentElement)\n return;\n const doc = getDocument(contentElement);\n const win = getWindow(contentElement);\n const { documentElement, body } = doc;\n const cssScrollbarWidth = documentElement.style.getPropertyValue(\"--scrollbar-width\");\n const scrollbarWidth = cssScrollbarWidth ? parseInt(cssScrollbarWidth) : win.innerWidth - documentElement.clientWidth;\n const setScrollbarWidthProperty = () => setCSSProperty(\n documentElement,\n \"--scrollbar-width\",\n `${scrollbarWidth}px`\n );\n const paddingProperty = getPaddingProperty(documentElement);\n const setStyle = () => assignStyle(body, {\n overflow: \"hidden\",\n [paddingProperty]: `${scrollbarWidth}px`\n });\n const setIOSStyle = () => {\n var _a, _b;\n const { scrollX, scrollY, visualViewport } = win;\n const offsetLeft = (_a = visualViewport == null ? void 0 : visualViewport.offsetLeft) != null ? _a : 0;\n const offsetTop = (_b = visualViewport == null ? void 0 : visualViewport.offsetTop) != null ? _b : 0;\n const restoreStyle = assignStyle(body, {\n position: \"fixed\",\n overflow: \"hidden\",\n top: `${-(scrollY - Math.floor(offsetTop))}px`,\n left: `${-(scrollX - Math.floor(offsetLeft))}px`,\n right: \"0\",\n [paddingProperty]: `${scrollbarWidth}px`\n });\n return () => {\n restoreStyle();\n if (process.env.NODE_ENV !== \"test\") {\n win.scrollTo(scrollX, scrollY);\n }\n };\n };\n const isIOS = isApple() && !isMac();\n return chain(\n setScrollbarWidthProperty(),\n isIOS ? setIOSStyle() : setStyle()\n );\n }, [isRootDialog, contentElement]);\n}\n\nexport {\n usePreventBodyScroll\n};\n","\"use client\";\nimport {\n useForceUpdate\n} from \"./6O5OEQGF.js\";\n\n// src/dialog/utils/use-root-dialog.ts\nimport { useCallback, useEffect } from \"react\";\nimport { getDocument } from \"@ariakit/core/utils/dom\";\nimport { flushSync } from \"react-dom\";\nfunction useRootDialog({\n attribute,\n contentId,\n contentElement,\n enabled\n}) {\n const [updated, retry] = useForceUpdate();\n const isRootDialog = useCallback(() => {\n if (!enabled)\n return false;\n if (!contentElement)\n return false;\n const { body } = getDocument(contentElement);\n const id = body.getAttribute(attribute);\n return !id || id === contentId;\n }, [updated, enabled, contentElement, attribute, contentId]);\n useEffect(() => {\n if (!enabled)\n return;\n if (!contentId)\n return;\n if (!contentElement)\n return;\n const { body } = getDocument(contentElement);\n if (isRootDialog()) {\n body.setAttribute(attribute, contentId);\n return () => body.removeAttribute(attribute);\n }\n const observer = new MutationObserver(() => flushSync(retry));\n observer.observe(body, { attributeFilter: [attribute] });\n return () => observer.disconnect();\n }, [updated, enabled, contentId, contentElement, isRootDialog, attribute]);\n return isRootDialog;\n}\n\nexport {\n useRootDialog\n};\n","\"use client\";\nimport {\n useSafeLayoutEffect\n} from \"./6O5OEQGF.js\";\n\n// src/dialog/utils/use-nested-dialogs.tsx\nimport {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useState\n} from \"react\";\nimport { chain } from \"@ariakit/core/utils/misc\";\nimport { sync } from \"@ariakit/core/utils/store\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NestedDialogsContext = createContext({});\nfunction useNestedDialogs(store) {\n const context = useContext(NestedDialogsContext);\n const [dialogs, setDialogs] = useState([]);\n const add = useCallback(\n (dialog) => {\n var _a;\n setDialogs((dialogs2) => [...dialogs2, dialog]);\n return chain((_a = context.add) == null ? void 0 : _a.call(context, dialog), () => {\n setDialogs((dialogs2) => dialogs2.filter((d) => d !== dialog));\n });\n },\n [context]\n );\n useSafeLayoutEffect(() => {\n return sync(store, [\"open\", \"contentElement\"], (state) => {\n var _a;\n if (!state.open)\n return;\n if (!state.contentElement)\n return;\n return (_a = context.add) == null ? void 0 : _a.call(context, store);\n });\n }, [store, context]);\n const providerValue = useMemo(() => ({ store, add }), [store, add]);\n const wrapElement = useCallback(\n (element) => /* @__PURE__ */ jsx(NestedDialogsContext.Provider, { value: providerValue, children: element }),\n [providerValue]\n );\n return { wrapElement, nestedDialogs: dialogs };\n}\n\nexport {\n useNestedDialogs\n};\n","\"use client\";\nimport {\n isElementMarked\n} from \"./TL67WVI6.js\";\nimport {\n usePreviousMouseDownRef\n} from \"./OOBDFMJL.js\";\nimport {\n useEvent,\n useSafeLayoutEffect\n} from \"./6O5OEQGF.js\";\nimport {\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/dialog/utils/use-hide-on-interact-outside.ts\nimport { useEffect, useRef } from \"react\";\nimport { contains, getDocument, isVisible } from \"@ariakit/core/utils/dom\";\nimport { addGlobalEventListener } from \"@ariakit/core/utils/events\";\nfunction isInDocument(target) {\n if (target.tagName === \"HTML\")\n return true;\n return contains(getDocument(target).body, target);\n}\nfunction isDisclosure(disclosure, target) {\n if (!disclosure)\n return false;\n if (contains(disclosure, target))\n return true;\n const activeId = target.getAttribute(\"aria-activedescendant\");\n if (activeId) {\n const activeElement = getDocument(disclosure).getElementById(activeId);\n if (activeElement) {\n return contains(disclosure, activeElement);\n }\n }\n return false;\n}\nfunction isMouseEventOnDialog(event, dialog) {\n if (!(\"clientY\" in event))\n return false;\n const rect = dialog.getBoundingClientRect();\n if (rect.width === 0 || rect.height === 0)\n return false;\n return rect.top <= event.clientY && event.clientY <= rect.top + rect.height && rect.left <= event.clientX && event.clientX <= rect.left + rect.width;\n}\nfunction useEventOutside({\n store,\n type,\n listener,\n capture,\n domReady\n}) {\n const callListener = useEvent(listener);\n const open = store.useState(\"open\");\n const focusedRef = useRef(false);\n useSafeLayoutEffect(() => {\n if (!open)\n return;\n if (!domReady)\n return;\n const { contentElement } = store.getState();\n if (!contentElement)\n return;\n const onFocus = () => {\n focusedRef.current = true;\n };\n contentElement.addEventListener(\"focusin\", onFocus, true);\n return () => contentElement.removeEventListener(\"focusin\", onFocus, true);\n }, [store, open, domReady]);\n useEffect(() => {\n if (!open)\n return;\n const onEvent = (event) => {\n const { contentElement, disclosureElement } = store.getState();\n const target = event.target;\n if (!contentElement)\n return;\n if (!target)\n return;\n if (!isInDocument(target))\n return;\n if (contains(contentElement, target))\n return;\n if (isDisclosure(disclosureElement, target))\n return;\n if (target.hasAttribute(\"data-focus-trap\"))\n return;\n if (isMouseEventOnDialog(event, contentElement))\n return;\n const focused = focusedRef.current;\n if (focused && !isElementMarked(target, contentElement.id))\n return;\n callListener(event);\n };\n return addGlobalEventListener(type, onEvent, capture);\n }, [open, capture]);\n}\nfunction shouldHideOnInteractOutside(hideOnInteractOutside, event) {\n if (typeof hideOnInteractOutside === \"function\") {\n return hideOnInteractOutside(event);\n }\n return !!hideOnInteractOutside;\n}\nfunction useHideOnInteractOutside(store, hideOnInteractOutside, domReady) {\n const open = store.useState(\"open\");\n const previousMouseDownRef = usePreviousMouseDownRef(open);\n const props = { store, domReady, capture: true };\n useEventOutside(__spreadProps(__spreadValues({}, props), {\n type: \"click\",\n listener: (event) => {\n const { contentElement } = store.getState();\n const previousMouseDown = previousMouseDownRef.current;\n if (!previousMouseDown)\n return;\n if (!isVisible(previousMouseDown))\n return;\n if (!isElementMarked(previousMouseDown, contentElement == null ? void 0 : contentElement.id))\n return;\n if (!shouldHideOnInteractOutside(hideOnInteractOutside, event))\n return;\n store.hide();\n }\n }));\n useEventOutside(__spreadProps(__spreadValues({}, props), {\n type: \"focusin\",\n listener: (event) => {\n const { contentElement } = store.getState();\n if (!contentElement)\n return;\n if (event.target === getDocument(contentElement))\n return;\n if (!shouldHideOnInteractOutside(hideOnInteractOutside, event))\n return;\n store.hide();\n }\n }));\n useEventOutside(__spreadProps(__spreadValues({}, props), {\n type: \"contextmenu\",\n listener: (event) => {\n if (!shouldHideOnInteractOutside(hideOnInteractOutside, event))\n return;\n store.hide();\n }\n }));\n}\n\nexport {\n useHideOnInteractOutside\n};\n","\"use client\";\n\n// src/dialog/utils/use-previous-mouse-down-ref.ts\nimport { useEffect, useRef } from \"react\";\nimport { addGlobalEventListener } from \"@ariakit/core/utils/events\";\nfunction usePreviousMouseDownRef(enabled) {\n const previousMouseDownRef = useRef();\n useEffect(() => {\n if (!enabled) {\n previousMouseDownRef.current = null;\n return;\n }\n const onMouseDown = (event) => {\n previousMouseDownRef.current = event.target;\n };\n return addGlobalEventListener(\"mousedown\", onMouseDown, true);\n }, [enabled]);\n return previousMouseDownRef;\n}\n\nexport {\n usePreviousMouseDownRef\n};\n","\"use client\";\nimport {\n FocusableContext\n} from \"./SHA3WOPI.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest\n} from \"./4R3V3JGP.js\";\n\n// src/focusable/focusable-container.tsx\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nvar useFocusableContainer = createHook(function useFocusableContainer2(_a) {\n var _b = _a, { autoFocusOnShow = true } = _b, props = __objRest(_b, [\"autoFocusOnShow\"]);\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(FocusableContext.Provider, { value: autoFocusOnShow, children: element }),\n [autoFocusOnShow]\n );\n return props;\n});\nvar FocusableContainer = forwardRef(function FocusableContainer2(props) {\n const htmlProps = useFocusableContainer(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useFocusableContainer,\n FocusableContainer\n};\n","\"use client\";\n\n// src/heading/heading-context.ts\nimport { createContext } from \"react\";\nvar HeadingContext = createContext(0);\n\nexport {\n HeadingContext\n};\n","\"use client\";\nimport {\n HeadingContext\n} from \"./XPF5GU3Q.js\";\n\n// src/heading/heading-level.tsx\nimport { useContext } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction HeadingLevel({ level, children }) {\n const contextLevel = useContext(HeadingContext);\n const nextLevel = Math.max(\n Math.min(level || contextLevel + 1, 6),\n 1\n );\n return /* @__PURE__ */ jsx(HeadingContext.Provider, { value: nextLevel, children });\n}\n\nexport {\n HeadingLevel\n};\n","\"use client\";\nimport {\n DialogBackdrop\n} from \"./3N4FFVWW.js\";\nimport {\n disableTree,\n disableTreeOutside\n} from \"./NOYDL3YS.js\";\nimport {\n usePreventBodyScroll\n} from \"./6BJGLK2C.js\";\nimport {\n useNestedDialogs\n} from \"./IUB2BTEK.js\";\nimport {\n useHideOnInteractOutside\n} from \"./XHJGS6Z5.js\";\nimport {\n isElementMarked,\n markTreeOutside\n} from \"./TL67WVI6.js\";\nimport {\n createWalkTreeSnapshot\n} from \"./72E5EPFF.js\";\nimport {\n supportsInert\n} from \"./677M2CI3.js\";\nimport {\n prependHiddenDismiss\n} from \"./6GXEOXGT.js\";\nimport {\n useFocusableContainer\n} from \"./WCIYB4YS.js\";\nimport {\n HeadingLevel\n} from \"./UYRJLDVS.js\";\nimport {\n usePortal\n} from \"./CK3UW3AQ.js\";\nimport {\n isHidden,\n useDisclosureContent\n} from \"./RQZGFHI2.js\";\nimport {\n DialogDescriptionContext,\n DialogHeadingContext,\n DialogScopedContextProvider,\n useDialogProviderContext\n} from \"./XXVAHUAO.js\";\nimport {\n useFocusable\n} from \"./WAZE6NXP.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useDialogStore\n} from \"./I62TROYO.js\";\nimport {\n useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n useBooleanEvent,\n useEvent,\n useId,\n useMergeRefs,\n usePortalRef,\n useSafeLayoutEffect,\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/dialog/dialog.tsx\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport {\n closest,\n contains,\n getActiveElement,\n getDocument,\n isButton\n} from \"@ariakit/core/utils/dom\";\nimport {\n addGlobalEventListener,\n queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport {\n focusIfNeeded,\n getFirstTabbableIn,\n isFocusable\n} from \"@ariakit/core/utils/focus\";\nimport { chain } from \"@ariakit/core/utils/misc\";\nimport { isSafari } from \"@ariakit/core/utils/platform\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nvar isSafariBrowser = isSafari();\nfunction isAlreadyFocusingAnotherElement(dialog) {\n const activeElement = getActiveElement();\n if (!activeElement)\n return false;\n if (dialog && contains(dialog, activeElement))\n return false;\n if (isFocusable(activeElement))\n return true;\n return false;\n}\nfunction getElementFromProp(prop, focusable = false) {\n if (!prop)\n return null;\n const element = \"current\" in prop ? prop.current : prop;\n if (!element)\n return null;\n if (focusable)\n return isFocusable(element) ? element : null;\n return element;\n}\nvar useDialog = createHook(function useDialog2(_a) {\n var _b = _a, {\n store: storeProp,\n open: openProp,\n onClose,\n focusable = true,\n modal = true,\n portal = !!modal,\n backdrop = !!modal,\n hideOnEscape = true,\n hideOnInteractOutside = true,\n getPersistentElements,\n preventBodyScroll = !!modal,\n autoFocusOnShow = true,\n autoFocusOnHide = true,\n initialFocus,\n finalFocus,\n unmountOnHide\n } = _b, props = __objRest(_b, [\n \"store\",\n \"open\",\n \"onClose\",\n \"focusable\",\n \"modal\",\n \"portal\",\n \"backdrop\",\n \"hideOnEscape\",\n \"hideOnInteractOutside\",\n \"getPersistentElements\",\n \"preventBodyScroll\",\n \"autoFocusOnShow\",\n \"autoFocusOnHide\",\n \"initialFocus\",\n \"finalFocus\",\n \"unmountOnHide\"\n ]);\n const context = useDialogProviderContext();\n const ref = useRef(null);\n const store = useDialogStore({\n store: storeProp || context,\n open: openProp,\n setOpen(open2) {\n if (open2)\n return;\n const dialog = ref.current;\n if (!dialog)\n return;\n const event = new Event(\"close\", { bubbles: false, cancelable: true });\n if (onClose) {\n dialog.addEventListener(\"close\", onClose, { once: true });\n }\n dialog.dispatchEvent(event);\n if (!event.defaultPrevented)\n return;\n store.setOpen(true);\n }\n });\n const { portalRef, domReady } = usePortalRef(portal, props.portalRef);\n const preserveTabOrderProp = props.preserveTabOrder;\n const preserveTabOrder = store.useState(\n (state) => preserveTabOrderProp && !modal && state.mounted\n );\n const id = useId(props.id);\n const open = store.useState(\"open\");\n const mounted = store.useState(\"mounted\");\n const contentElement = store.useState(\"contentElement\");\n const hidden = isHidden(mounted, props.hidden, props.alwaysVisible);\n usePreventBodyScroll(contentElement, id, preventBodyScroll && !hidden);\n useHideOnInteractOutside(store, hideOnInteractOutside, domReady);\n const { wrapElement, nestedDialogs } = useNestedDialogs(store);\n props = useWrapElement(props, wrapElement, [wrapElement]);\n useSafeLayoutEffect(() => {\n if (!open)\n return;\n const dialog = ref.current;\n const activeElement = getActiveElement(dialog, true);\n if (!activeElement)\n return;\n if (activeElement.tagName === \"BODY\")\n return;\n if (dialog && contains(dialog, activeElement))\n return;\n store.setDisclosureElement(activeElement);\n }, [store, open]);\n if (isSafariBrowser) {\n useEffect(() => {\n if (!mounted)\n return;\n const { disclosureElement } = store.getState();\n if (!disclosureElement)\n return;\n if (!isButton(disclosureElement))\n return;\n const onMouseDown = () => {\n let receivedFocus = false;\n const onFocus = () => {\n receivedFocus = true;\n };\n const options = { capture: true, once: true };\n disclosureElement.addEventListener(\"focusin\", onFocus, options);\n queueBeforeEvent(disclosureElement, \"mouseup\", () => {\n disclosureElement.removeEventListener(\"focusin\", onFocus, true);\n if (receivedFocus)\n return;\n focusIfNeeded(disclosureElement);\n });\n };\n disclosureElement.addEventListener(\"mousedown\", onMouseDown);\n return () => {\n disclosureElement.removeEventListener(\"mousedown\", onMouseDown);\n };\n }, [store, mounted]);\n }\n useEffect(() => {\n if (!modal)\n return;\n if (!mounted)\n return;\n if (!domReady)\n return;\n const dialog = ref.current;\n if (!dialog)\n return;\n const existingDismiss = dialog.querySelector(\"[data-dialog-dismiss]\");\n if (existingDismiss)\n return;\n return prependHiddenDismiss(dialog, store.hide);\n }, [store, modal, mounted, domReady]);\n useSafeLayoutEffect(() => {\n if (!supportsInert())\n return;\n if (open)\n return;\n if (!mounted)\n return;\n if (!domReady)\n return;\n const dialog = ref.current;\n if (!dialog)\n return;\n return disableTree(dialog);\n }, [open, mounted, domReady]);\n const canTakeTreeSnapshot = open && domReady;\n useSafeLayoutEffect(() => {\n if (!id)\n return;\n if (!canTakeTreeSnapshot)\n return;\n const dialog = ref.current;\n return createWalkTreeSnapshot(id, [dialog]);\n }, [id, canTakeTreeSnapshot]);\n const getPersistentElementsProp = useEvent(getPersistentElements);\n useSafeLayoutEffect(() => {\n if (!id)\n return;\n if (!canTakeTreeSnapshot)\n return;\n const { disclosureElement } = store.getState();\n const dialog = ref.current;\n const persistentElements = getPersistentElementsProp() || [];\n const allElements = [\n dialog,\n ...persistentElements,\n ...nestedDialogs.map((dialog2) => dialog2.getState().contentElement)\n ];\n if (modal) {\n return chain(\n markTreeOutside(id, allElements),\n disableTreeOutside(id, allElements)\n );\n }\n return markTreeOutside(id, [disclosureElement, ...allElements]);\n }, [\n id,\n store,\n canTakeTreeSnapshot,\n getPersistentElementsProp,\n nestedDialogs,\n modal\n ]);\n const mayAutoFocusOnShow = !!autoFocusOnShow;\n const autoFocusOnShowProp = useBooleanEvent(autoFocusOnShow);\n const [autoFocusEnabled, setAutoFocusEnabled] = useState(false);\n useEffect(() => {\n if (!open)\n return;\n if (!mayAutoFocusOnShow)\n return;\n if (!domReady)\n return;\n if (!(contentElement == null ? void 0 : contentElement.isConnected))\n return;\n const element = getElementFromProp(initialFocus, true) || // If no initial focus is specified, we try to focus the first element\n // with the autofocus attribute. If it's an Ariakit component, the\n // Focusable component will consume the autoFocus prop and add the\n // data-autofocus attribute to the element instead.\n contentElement.querySelector(\n \"[data-autofocus=true],[autofocus]\"\n ) || // We have to fallback to the first focusable element otherwise portaled\n // dialogs with preserveTabOrder set to true will not receive focus\n // properly because the elements aren't tabbable until the dialog receives\n // focus.\n getFirstTabbableIn(contentElement, true, portal && preserveTabOrder) || // Finally, we fallback to the dialog element itself.\n contentElement;\n const isElementFocusable = isFocusable(element);\n if (!autoFocusOnShowProp(isElementFocusable ? element : null))\n return;\n setAutoFocusEnabled(true);\n queueMicrotask(() => {\n element.focus();\n if (!isSafariBrowser)\n return;\n element.scrollIntoView({ block: \"nearest\", inline: \"nearest\" });\n });\n }, [\n open,\n mayAutoFocusOnShow,\n domReady,\n contentElement,\n initialFocus,\n portal,\n preserveTabOrder,\n autoFocusOnShowProp\n ]);\n const mayAutoFocusOnHide = !!autoFocusOnHide;\n const autoFocusOnHideProp = useBooleanEvent(autoFocusOnHide);\n const [hasOpened, setHasOpened] = useState(false);\n useEffect(() => {\n if (!open)\n return;\n setHasOpened(true);\n return () => setHasOpened(false);\n }, [open]);\n const focusOnHide = useCallback(\n (dialog, retry = true) => {\n const { disclosureElement } = store.getState();\n if (isAlreadyFocusingAnotherElement(dialog))\n return;\n let element = getElementFromProp(finalFocus) || disclosureElement;\n if (element == null ? void 0 : element.id) {\n const doc = getDocument(element);\n const selector = `[aria-activedescendant=\"${element.id}\"]`;\n const composite = doc.querySelector(selector);\n if (composite) {\n element = composite;\n }\n }\n if (element && !isFocusable(element)) {\n const maybeParentDialog = closest(element, \"[data-dialog]\");\n if (maybeParentDialog && maybeParentDialog.id) {\n const doc = getDocument(maybeParentDialog);\n const selector = `[aria-controls~=\"${maybeParentDialog.id}\"]`;\n const control = doc.querySelector(selector);\n if (control) {\n element = control;\n }\n }\n }\n const isElementFocusable = element && isFocusable(element);\n if (!isElementFocusable && retry) {\n requestAnimationFrame(() => focusOnHide(dialog, false));\n return;\n }\n if (!autoFocusOnHideProp(isElementFocusable ? element : null))\n return;\n if (!isElementFocusable)\n return;\n element == null ? void 0 : element.focus();\n },\n [store, finalFocus, autoFocusOnHideProp]\n );\n useSafeLayoutEffect(() => {\n if (open)\n return;\n if (!hasOpened)\n return;\n if (!mayAutoFocusOnHide)\n return;\n const dialog = ref.current;\n focusOnHide(dialog);\n }, [open, hasOpened, domReady, mayAutoFocusOnHide, focusOnHide]);\n useEffect(() => {\n if (!hasOpened)\n return;\n if (!mayAutoFocusOnHide)\n return;\n const dialog = ref.current;\n return () => focusOnHide(dialog);\n }, [hasOpened, mayAutoFocusOnHide, focusOnHide]);\n const hideOnEscapeProp = useBooleanEvent(hideOnEscape);\n useEffect(() => {\n if (!domReady)\n return;\n if (!mounted)\n return;\n const onKeyDown = (event) => {\n if (event.key !== \"Escape\")\n return;\n if (event.defaultPrevented)\n return;\n const dialog = ref.current;\n if (!dialog)\n return;\n if (isElementMarked(dialog))\n return;\n const target = event.target;\n if (!target)\n return;\n const { disclosureElement } = store.getState();\n const isValidTarget = () => {\n if (target.tagName === \"BODY\")\n return true;\n if (contains(dialog, target))\n return true;\n if (!disclosureElement)\n return true;\n if (contains(disclosureElement, target))\n return true;\n return false;\n };\n if (!isValidTarget())\n return;\n if (!hideOnEscapeProp(event))\n return;\n store.hide();\n };\n return addGlobalEventListener(\"keydown\", onKeyDown, true);\n }, [store, domReady, mounted, hideOnEscapeProp]);\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(HeadingLevel, { level: modal ? 1 : void 0, children: element }),\n [modal]\n );\n const hiddenProp = props.hidden;\n const alwaysVisible = props.alwaysVisible;\n props = useWrapElement(\n props,\n (element) => {\n if (!backdrop)\n return element;\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n DialogBackdrop,\n {\n store,\n backdrop,\n hidden: hiddenProp,\n alwaysVisible\n }\n ),\n element\n ] });\n },\n [store, backdrop, hiddenProp, alwaysVisible]\n );\n const [headingId, setHeadingId] = useState();\n const [descriptionId, setDescriptionId] = useState();\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(DialogScopedContextProvider, { value: store, children: /* @__PURE__ */ jsx(DialogHeadingContext.Provider, { value: setHeadingId, children: /* @__PURE__ */ jsx(DialogDescriptionContext.Provider, { value: setDescriptionId, children: element }) }) }),\n [store]\n );\n props = __spreadProps(__spreadValues({\n id,\n \"data-dialog\": \"\",\n role: \"dialog\",\n tabIndex: focusable ? -1 : void 0,\n \"aria-labelledby\": headingId,\n \"aria-describedby\": descriptionId\n }, props), {\n ref: useMergeRefs(ref, props.ref)\n });\n props = useFocusableContainer(__spreadProps(__spreadValues({}, props), {\n autoFocusOnShow: autoFocusEnabled\n }));\n props = useDisclosureContent(__spreadValues({ store }, props));\n props = useFocusable(__spreadProps(__spreadValues({}, props), { focusable }));\n props = usePortal(__spreadProps(__spreadValues({ portal }, props), { portalRef, preserveTabOrder }));\n return props;\n});\nfunction createDialogComponent(Component, useProviderContext = useDialogProviderContext) {\n return forwardRef(function DialogComponent(props) {\n const context = useProviderContext();\n const store = props.store || context;\n const mounted = useStoreState(\n store,\n (state) => !props.unmountOnHide || (state == null ? void 0 : state.mounted) || !!props.open\n );\n if (!mounted)\n return null;\n return /* @__PURE__ */ jsx(Component, __spreadValues({}, props));\n });\n}\nvar Dialog = createDialogComponent(\n forwardRef(function Dialog2(props) {\n const htmlProps = useDialog(props);\n return createElement(TagName, htmlProps);\n }),\n useDialogProviderContext\n);\n\nexport {\n useDialog,\n createDialogComponent,\n Dialog\n};\n","\"use client\";\n\n// src/dialog/utils/prepend-hidden-dismiss.ts\nimport { getDocument } from \"@ariakit/core/utils/dom\";\nfunction prependHiddenDismiss(container, onClick) {\n const document = getDocument(container);\n const button = document.createElement(\"button\");\n button.type = \"button\";\n button.tabIndex = -1;\n button.textContent = \"Dismiss popup\";\n Object.assign(button.style, {\n border: \"0px\",\n clip: \"rect(0 0 0 0)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: \"0px\",\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\"\n });\n button.addEventListener(\"click\", onClick);\n container.prepend(button);\n const removeHiddenDismiss = () => {\n button.removeEventListener(\"click\", onClick);\n button.remove();\n };\n return removeHiddenDismiss;\n}\n\nexport {\n prependHiddenDismiss\n};\n","\"use client\";\nimport {\n DialogScopedContextProvider\n} from \"./XXVAHUAO.js\";\nimport {\n useDisclosureProviderContext\n} from \"./J55AVALY.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useStoreState\n} from \"./EKQEJRUF.js\";\nimport {\n useId,\n useMergeRefs,\n useSafeLayoutEffect,\n useWrapElement\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/disclosure/disclosure-content.tsx\nimport { useMemo, useRef, useState } from \"react\";\nimport { invariant, removeUndefinedValues } from \"@ariakit/core/utils/misc\";\nimport { flushSync } from \"react-dom\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TagName = \"div\";\nfunction afterTimeout(timeoutMs, cb) {\n const timeoutId = setTimeout(cb, timeoutMs);\n return () => clearTimeout(timeoutId);\n}\nfunction afterPaint(cb) {\n let raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(cb);\n });\n return () => cancelAnimationFrame(raf);\n}\nfunction parseCSSTime(...times) {\n return times.join(\", \").split(\", \").reduce((longestTime, currentTimeString) => {\n const multiplier = currentTimeString.endsWith(\"ms\") ? 1 : 1e3;\n const currentTime = parseFloat(currentTimeString || \"0s\") * multiplier;\n if (currentTime > longestTime)\n return currentTime;\n return longestTime;\n }, 0);\n}\nfunction isHidden(mounted, hidden, alwaysVisible) {\n return !alwaysVisible && hidden !== false && (!mounted || !!hidden);\n}\nvar useDisclosureContent = createHook(function useDisclosureContent2(_a) {\n var _b = _a, { store, alwaysVisible } = _b, props = __objRest(_b, [\"store\", \"alwaysVisible\"]);\n const context = useDisclosureProviderContext();\n store = store || context;\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" && \"DisclosureContent must receive a `store` prop or be wrapped in a DisclosureProvider component.\"\n );\n const ref = useRef(null);\n const id = useId(props.id);\n const [transition, setTransition] = useState(null);\n const open = store.useState(\"open\");\n const mounted = store.useState(\"mounted\");\n const animated = store.useState(\"animated\");\n const contentElement = store.useState(\"contentElement\");\n const otherElement = useStoreState(store.disclosure, \"contentElement\");\n useSafeLayoutEffect(() => {\n if (!ref.current)\n return;\n store == null ? void 0 : store.setContentElement(ref.current);\n }, [store]);\n useSafeLayoutEffect(() => {\n let previousAnimated;\n store == null ? void 0 : store.setState(\"animated\", (animated2) => {\n previousAnimated = animated2;\n return true;\n });\n return () => {\n if (previousAnimated === void 0)\n return;\n store == null ? void 0 : store.setState(\"animated\", previousAnimated);\n };\n }, [store]);\n useSafeLayoutEffect(() => {\n if (!animated)\n return;\n if (!(contentElement == null ? void 0 : contentElement.isConnected)) {\n setTransition(null);\n return;\n }\n return afterPaint(() => {\n setTransition(open ? \"enter\" : mounted ? \"leave\" : null);\n });\n }, [animated, contentElement, open, mounted]);\n useSafeLayoutEffect(() => {\n if (!store)\n return;\n if (!animated)\n return;\n const stopAnimation = () => store == null ? void 0 : store.setState(\"animating\", false);\n const stopAnimationSync = () => flushSync(stopAnimation);\n if (!transition || !contentElement) {\n stopAnimation();\n return;\n }\n if (transition === \"leave\" && open)\n return;\n if (transition === \"enter\" && !open)\n return;\n if (typeof animated === \"number\") {\n const timeout2 = animated;\n return afterTimeout(timeout2, stopAnimationSync);\n }\n const {\n transitionDuration,\n animationDuration,\n transitionDelay,\n animationDelay\n } = getComputedStyle(contentElement);\n const {\n transitionDuration: transitionDuration2 = \"0\",\n animationDuration: animationDuration2 = \"0\",\n transitionDelay: transitionDelay2 = \"0\",\n animationDelay: animationDelay2 = \"0\"\n } = otherElement ? getComputedStyle(otherElement) : {};\n const delay = parseCSSTime(\n transitionDelay,\n animationDelay,\n transitionDelay2,\n animationDelay2\n );\n const duration = parseCSSTime(\n transitionDuration,\n animationDuration,\n transitionDuration2,\n animationDuration2\n );\n const timeout = delay + duration;\n if (!timeout) {\n if (transition === \"enter\") {\n store.setState(\"animated\", false);\n }\n stopAnimation();\n return;\n }\n const frameRate = 1e3 / 60;\n const maxTimeout = Math.max(timeout - frameRate, 0);\n return afterTimeout(maxTimeout, stopAnimationSync);\n }, [store, animated, contentElement, otherElement, open, transition]);\n props = useWrapElement(\n props,\n (element) => /* @__PURE__ */ jsx(DialogScopedContextProvider, { value: store, children: element }),\n [store]\n );\n const hidden = isHidden(mounted, props.hidden, alwaysVisible);\n const styleProp = props.style;\n const style = useMemo(() => {\n if (hidden)\n return __spreadProps(__spreadValues({}, styleProp), { display: \"none\" });\n return styleProp;\n }, [hidden, styleProp]);\n props = __spreadProps(__spreadValues({\n id,\n \"data-open\": open || void 0,\n \"data-enter\": transition === \"enter\" || void 0,\n \"data-leave\": transition === \"leave\" || void 0,\n hidden\n }, props), {\n ref: useMergeRefs(id ? store.setContentElement : null, ref, props.ref),\n style\n });\n return removeUndefinedValues(props);\n});\nvar DisclosureContentImpl = forwardRef(function DisclosureContentImpl2(props) {\n const htmlProps = useDisclosureContent(props);\n return createElement(TagName, htmlProps);\n});\nvar DisclosureContent = forwardRef(function DisclosureContent2(_a) {\n var _b = _a, {\n unmountOnHide\n } = _b, props = __objRest(_b, [\n \"unmountOnHide\"\n ]);\n const context = useDisclosureProviderContext();\n const store = props.store || context;\n const mounted = useStoreState(\n store,\n (state) => !unmountOnHide || (state == null ? void 0 : state.mounted)\n );\n if (mounted === false)\n return null;\n return /* @__PURE__ */ jsx(DisclosureContentImpl, __spreadValues({}, props));\n});\n\nexport {\n isHidden,\n useDisclosureContent,\n DisclosureContent\n};\n","\"use client\";\n\n// src/focusable/focusable-context.ts\nimport { createContext } from \"react\";\nvar FocusableContext = createContext(true);\n\nexport {\n FocusableContext\n};\n","\"use client\";\nimport {\n FocusableContext\n} from \"./SHA3WOPI.js\";\nimport {\n createElement,\n createHook,\n forwardRef\n} from \"./5M6RSQEC.js\";\nimport {\n useEvent,\n useMergeRefs,\n useTagName\n} from \"./6O5OEQGF.js\";\nimport {\n __objRest,\n __spreadProps,\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/focusable/focusable.ts\nimport { useContext, useEffect, useMemo, useRef, useState } from \"react\";\nimport { isButton } from \"@ariakit/core/utils/dom\";\nimport {\n addGlobalEventListener,\n isFocusEventOutside,\n isPortalEvent,\n isSelfTarget,\n queueBeforeEvent\n} from \"@ariakit/core/utils/events\";\nimport {\n focusIfNeeded,\n hasFocus,\n isFocusable\n} from \"@ariakit/core/utils/focus\";\nimport {\n disabledFromProps,\n removeUndefinedValues\n} from \"@ariakit/core/utils/misc\";\nimport { isSafari } from \"@ariakit/core/utils/platform\";\nvar TagName = \"div\";\nvar isSafariBrowser = isSafari();\nvar alwaysFocusVisibleInputTypes = [\n \"text\",\n \"search\",\n \"url\",\n \"tel\",\n \"email\",\n \"password\",\n \"number\",\n \"date\",\n \"month\",\n \"week\",\n \"time\",\n \"datetime\",\n \"datetime-local\"\n];\nfunction isAlwaysFocusVisible(element) {\n const { tagName, readOnly, type } = element;\n if (tagName === \"TEXTAREA\" && !readOnly)\n return true;\n if (tagName === \"SELECT\" && !readOnly)\n return true;\n if (tagName === \"INPUT\" && !readOnly) {\n return alwaysFocusVisibleInputTypes.includes(type);\n }\n if (element.isContentEditable)\n return true;\n return false;\n}\nfunction isAlwaysFocusVisibleDelayed(element) {\n const role = element.getAttribute(\"role\");\n if (role !== \"combobox\")\n return false;\n return !!element.dataset.name;\n}\nfunction getLabels(element) {\n if (\"labels\" in element) {\n return element.labels;\n }\n return null;\n}\nfunction isNativeCheckboxOrRadio(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName === \"input\" && element.type) {\n return element.type === \"radio\" || element.type === \"checkbox\";\n }\n return false;\n}\nfunction isNativeTabbable(tagName) {\n if (!tagName)\n return true;\n return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\" || tagName === \"a\";\n}\nfunction supportsDisabledAttribute(tagName) {\n if (!tagName)\n return true;\n return tagName === \"button\" || tagName === \"input\" || tagName === \"select\" || tagName === \"textarea\";\n}\nfunction getTabIndex(focusable, trulyDisabled, nativeTabbable, supportsDisabled, tabIndexProp) {\n if (!focusable) {\n return tabIndexProp;\n }\n if (trulyDisabled) {\n if (nativeTabbable && !supportsDisabled) {\n return -1;\n }\n return;\n }\n if (nativeTabbable) {\n return tabIndexProp;\n }\n return tabIndexProp || 0;\n}\nfunction useDisableEvent(onEvent, disabled) {\n return useEvent((event) => {\n onEvent == null ? void 0 : onEvent(event);\n if (event.defaultPrevented)\n return;\n if (disabled) {\n event.stopPropagation();\n event.preventDefault();\n }\n });\n}\nvar isKeyboardModality = true;\nfunction onGlobalMouseDown(event) {\n const target = event.target;\n if (target && \"hasAttribute\" in target) {\n if (!target.hasAttribute(\"data-focus-visible\")) {\n isKeyboardModality = false;\n }\n }\n}\nfunction onGlobalKeyDown(event) {\n if (event.metaKey)\n return;\n if (event.ctrlKey)\n return;\n if (event.altKey)\n return;\n isKeyboardModality = true;\n}\nvar useFocusable = createHook(\n function useFocusable2(_a) {\n var _b = _a, {\n focusable = true,\n accessibleWhenDisabled,\n autoFocus,\n onFocusVisible\n } = _b, props = __objRest(_b, [\n \"focusable\",\n \"accessibleWhenDisabled\",\n \"autoFocus\",\n \"onFocusVisible\"\n ]);\n const ref = useRef(null);\n useEffect(() => {\n if (!focusable)\n return;\n addGlobalEventListener(\"mousedown\", onGlobalMouseDown, true);\n addGlobalEventListener(\"keydown\", onGlobalKeyDown, true);\n }, [focusable]);\n if (isSafariBrowser) {\n useEffect(() => {\n if (!focusable)\n return;\n const element = ref.current;\n if (!element)\n return;\n if (!isNativeCheckboxOrRadio(element))\n return;\n const labels = getLabels(element);\n if (!labels)\n return;\n const onMouseUp = () => queueMicrotask(() => element.focus());\n labels.forEach((label) => label.addEventListener(\"mouseup\", onMouseUp));\n return () => {\n labels.forEach(\n (label) => label.removeEventListener(\"mouseup\", onMouseUp)\n );\n };\n }, [focusable]);\n }\n const disabled = focusable && disabledFromProps(props);\n const trulyDisabled = !!disabled && !accessibleWhenDisabled;\n const [focusVisible, setFocusVisible] = useState(false);\n useEffect(() => {\n if (!focusable)\n return;\n if (trulyDisabled && focusVisible) {\n setFocusVisible(false);\n }\n }, [focusable, trulyDisabled, focusVisible]);\n useEffect(() => {\n if (!focusable)\n return;\n if (!focusVisible)\n return;\n const element = ref.current;\n if (!element)\n return;\n if (typeof IntersectionObserver === \"undefined\")\n return;\n const observer = new IntersectionObserver(() => {\n if (!isFocusable(element)) {\n setFocusVisible(false);\n }\n });\n observer.observe(element);\n return () => observer.disconnect();\n }, [focusable, focusVisible]);\n const onKeyPressCapture = useDisableEvent(\n props.onKeyPressCapture,\n disabled\n );\n const onMouseDownCapture = useDisableEvent(\n props.onMouseDownCapture,\n disabled\n );\n const onClickCapture = useDisableEvent(props.onClickCapture, disabled);\n const onMouseDownProp = props.onMouseDown;\n const onMouseDown = useEvent((event) => {\n onMouseDownProp == null ? void 0 : onMouseDownProp(event);\n if (event.defaultPrevented)\n return;\n if (!focusable)\n return;\n const element = event.currentTarget;\n if (!isSafariBrowser)\n return;\n if (isPortalEvent(event))\n return;\n if (!isButton(element) && !isNativeCheckboxOrRadio(element))\n return;\n let receivedFocus = false;\n const onFocus = () => {\n receivedFocus = true;\n };\n const options = { capture: true, once: true };\n element.addEventListener(\"focusin\", onFocus, options);\n queueBeforeEvent(element, \"mouseup\", () => {\n element.removeEventListener(\"focusin\", onFocus, true);\n if (receivedFocus)\n return;\n focusIfNeeded(element);\n });\n });\n const handleFocusVisible = (event, currentTarget) => {\n if (currentTarget) {\n event.currentTarget = currentTarget;\n }\n if (!focusable)\n return;\n const element = event.currentTarget;\n if (!element)\n return;\n if (!hasFocus(element))\n return;\n onFocusVisible == null ? void 0 : onFocusVisible(event);\n if (event.defaultPrevented)\n return;\n setFocusVisible(true);\n };\n const onKeyDownCaptureProp = props.onKeyDownCapture;\n const onKeyDownCapture = useEvent((event) => {\n onKeyDownCaptureProp == null ? void 0 : onKeyDownCaptureProp(event);\n if (event.defaultPrevented)\n return;\n if (!focusable)\n return;\n if (focusVisible)\n return;\n if (event.metaKey)\n return;\n if (event.altKey)\n return;\n if (event.ctrlKey)\n return;\n if (!isSelfTarget(event))\n return;\n const element = event.currentTarget;\n queueMicrotask(() => handleFocusVisible(event, element));\n });\n const onFocusCaptureProp = props.onFocusCapture;\n const onFocusCapture = useEvent((event) => {\n onFocusCaptureProp == null ? void 0 : onFocusCaptureProp(event);\n if (event.defaultPrevented)\n return;\n if (!focusable)\n return;\n if (!isSelfTarget(event)) {\n setFocusVisible(false);\n return;\n }\n const element = event.currentTarget;\n const applyFocusVisible = () => handleFocusVisible(event, element);\n if (isKeyboardModality || isAlwaysFocusVisible(event.target)) {\n queueMicrotask(applyFocusVisible);\n } else if (isAlwaysFocusVisibleDelayed(event.target)) {\n queueBeforeEvent(event.target, \"focusout\", applyFocusVisible);\n } else {\n setFocusVisible(false);\n }\n });\n const onBlurProp = props.onBlur;\n const onBlur = useEvent((event) => {\n onBlurProp == null ? void 0 : onBlurProp(event);\n if (!focusable)\n return;\n if (!isFocusEventOutside(event))\n return;\n setFocusVisible(false);\n });\n const autoFocusOnShow = useContext(FocusableContext);\n const autoFocusRef = useEvent((element) => {\n if (!focusable)\n return;\n if (!autoFocus)\n return;\n if (!element)\n return;\n if (!autoFocusOnShow)\n return;\n queueMicrotask(() => {\n if (hasFocus(element))\n return;\n if (!isFocusable(element))\n return;\n element.focus();\n });\n });\n const tagName = useTagName(ref);\n const nativeTabbable = focusable && isNativeTabbable(tagName);\n const supportsDisabled = focusable && supportsDisabledAttribute(tagName);\n const styleProp = props.style;\n const style = useMemo(() => {\n if (trulyDisabled) {\n return __spreadValues({ pointerEvents: \"none\" }, styleProp);\n }\n return styleProp;\n }, [trulyDisabled, styleProp]);\n props = __spreadProps(__spreadValues({\n \"data-focus-visible\": focusable && focusVisible || void 0,\n \"data-autofocus\": autoFocus || void 0,\n \"aria-disabled\": disabled || void 0\n }, props), {\n ref: useMergeRefs(ref, autoFocusRef, props.ref),\n style,\n tabIndex: getTabIndex(\n focusable,\n trulyDisabled,\n nativeTabbable,\n supportsDisabled,\n props.tabIndex\n ),\n disabled: supportsDisabled && trulyDisabled ? true : void 0,\n // TODO: Test Focusable contentEditable.\n contentEditable: disabled ? void 0 : props.contentEditable,\n onKeyPressCapture,\n onClickCapture,\n onMouseDownCapture,\n onMouseDown,\n onKeyDownCapture,\n onFocusCapture,\n onBlur\n });\n return removeUndefinedValues(props);\n }\n);\nvar Focusable = forwardRef(function Focusable2(props) {\n const htmlProps = useFocusable(props);\n return createElement(TagName, htmlProps);\n});\n\nexport {\n useFocusable,\n Focusable\n};\n","\"use client\";\nimport {\n __spreadValues\n} from \"./4R3V3JGP.js\";\n\n// src/utils/misc.ts\nimport { isValidElement } from \"react\";\nimport { hasOwnProperty } from \"@ariakit/core/utils/misc\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\nfunction isValidElementWithRef(element) {\n if (!element)\n return false;\n if (!isValidElement(element))\n return false;\n if (!(\"ref\" in element))\n return false;\n return true;\n}\nfunction getRefProperty(element) {\n if (!isValidElementWithRef(element))\n return null;\n return element.ref;\n}\nfunction mergeProps(base, overrides) {\n const props = __spreadValues({}, base);\n for (const key in overrides) {\n if (!hasOwnProperty(overrides, key))\n continue;\n if (key === \"className\") {\n const prop = \"className\";\n props[prop] = base[prop] ? `${base[prop]} ${overrides[prop]}` : overrides[prop];\n continue;\n }\n if (key === \"style\") {\n const prop = \"style\";\n props[prop] = base[prop] ? __spreadValues(__spreadValues({}, base[prop]), overrides[prop]) : overrides[prop];\n continue;\n }\n const overrideValue = overrides[key];\n if (typeof overrideValue === \"function\" && key.startsWith(\"on\")) {\n const baseValue = base[key];\n if (typeof baseValue === \"function\") {\n props[key] = (...args) => {\n overrideValue(...args);\n baseValue(...args);\n };\n continue;\n }\n }\n props[key] = overrideValue;\n }\n return props;\n}\n\nexport {\n setRef,\n isValidElementWithRef,\n getRefProperty,\n mergeProps\n};\n","\"use client\";\nimport {\n DisclosureContextProvider,\n DisclosureScopedContextProvider\n} from \"./J55AVALY.js\";\nimport {\n createStoreContext\n} from \"./5M6RSQEC.js\";\n\n// src/dialog/dialog-context.tsx\nimport { createContext } from \"react\";\nvar ctx = createStoreContext(\n [DisclosureContextProvider],\n [DisclosureScopedContextProvider]\n);\nvar useDialogContext = ctx.useContext;\nvar useDialogScopedContext = ctx.useScopedContext;\nvar useDialogProviderContext = ctx.useProviderContext;\nvar DialogContextProvider = ctx.ContextProvider;\nvar DialogScopedContextProvider = ctx.ScopedContextProvider;\nvar DialogHeadingContext = createContext(void 0);\nvar DialogDescriptionContext = createContext(void 0);\n\nexport {\n useDialogContext,\n useDialogScopedContext,\n useDialogProviderContext,\n DialogContextProvider,\n DialogScopedContextProvider,\n DialogHeadingContext,\n DialogDescriptionContext\n};\n"],"names":["FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","g","Object","freeSelf","self","root","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","debounce","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","remainingWait","debounced","isInvoking","arguments","this","leadingEdge","toNumber","isObject","cancel","clearTimeout","flush","value","type","isObjectLike","call","isSymbol","other","valueOf","replace","isBinary","test","slice","module","exports","aa","ca","p","a","b","c","length","encodeURIComponent","da","Set","ea","fa","ha","add","ia","window","document","createElement","ja","hasOwnProperty","ka","la","ma","v","d","e","f","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","z","split","forEach","toLowerCase","ra","sa","toUpperCase","ta","pa","isNaN","qa","oa","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","Symbol","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","iterator","Ka","La","A","assign","Ma","Error","stack","trim","match","Na","Oa","prepareStackTrace","defineProperty","set","Reflect","construct","l","h","k","displayName","includes","name","Pa","tag","render","Qa","$$typeof","_context","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","getOwnPropertyDescriptor","constructor","get","configurable","enumerable","getValue","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","body","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","cb","db","ownerDocument","eb","Array","isArray","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","children","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeType","nodeValue","pb","animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","qb","rb","sb","style","indexOf","setProperty","keys","charAt","substring","tb","menuitem","area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","ub","vb","is","wb","xb","target","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","push","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","addEventListener","removeEventListener","Nb","m","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","return","flags","Wb","memoizedState","dehydrated","Xb","Zb","child","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","log","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Map","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","shift","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","transition","fd","gd","hd","id","Uc","stopPropagation","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","data","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","key","String","fromCharCode","code","location","repeat","locale","which","Rd","Td","width","height","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","color","date","datetime","email","month","number","password","range","search","tel","text","url","week","me","ne","oe","event","listeners","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","node","offset","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","href","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","start","end","selectionStart","selectionEnd","defaultView","getSelection","extend","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","element","left","scrollLeft","top","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","concat","nf","Ub","instance","listener","D","of","has","pf","qf","rf","random","sf","bind","capture","passive","n","t","J","x","u","w","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","unshift","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Promise","Jf","queueMicrotask","resolve","then","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","elementType","deletions","Cg","pendingProps","overflow","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","ref","_owner","_stringRef","refs","Mg","join","Ng","Og","index","Pg","Qg","props","Rg","implementation","Sg","Tg","q","r","y","next","done","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","_currentValue","bh","childLanes","ch","dependencies","firstContext","lanes","dh","eh","context","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","lh","mh","eventTime","lane","payload","callback","nh","K","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","tagName","zh","Ah","Bh","L","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","M","N","O","Ih","Jh","Kh","Lh","P","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","queue","Uh","Vh","Wh","lastRenderedReducer","action","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","Q","di","lastEffect","stores","ei","fi","gi","hi","ii","create","destroy","deps","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","R","Bi","readContext","useCallback","useContext","useEffect","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useReducer","useRef","useState","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ci","defaultProps","Di","Ei","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","Fi","shouldComponentUpdate","isPureReactComponent","Gi","contextType","state","updater","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Ji","message","digest","Ki","Li","console","error","Mi","WeakMap","Ni","Oi","Pi","Qi","getDerivedStateFromError","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","$i","aj","compare","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","fallback","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","rendering","renderingStartTime","last","tail","tailMode","xj","Dj","S","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","size","createElementNS","autoFocus","createTextNode","T","Gj","Hj","Ij","Jj","U","Kj","WeakSet","V","Lj","W","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","insertBefore","_reactRootContainer","Wj","X","Xj","Yj","Zj","onCommitFiberUnmount","componentWillUnmount","ak","bk","ck","dk","ek","isHidden","fk","gk","display","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","src","Vk","lk","ceil","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","Infinity","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","bl","cache","pendingSuspenseBoundaries","dl","el","fl","gl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","splice","querySelectorAll","JSON","stringify","form","sl","usingClientEntryPoint","Events","tl","findFiberByHostInstance","bundleType","version","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","createPortal","cl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","err","pop","sortIndex","performance","setImmediate","startTime","expirationTime","priorityLevel","navigator","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","floor","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","delay","unstable_wrapCallback","inst","hasOwn","classNames","classes","i","arg","appendClass","parseValue","newClass","default","uncurryThis","$Error","TEST","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","dropEntries","createNonEnumerableProperty","clearErrorStack","ERROR_STACK_INSTALLABLE","captureStackTrace","fails","createPropertyDescriptor","cause","argument","$default","getBuiltIn","isPrototypeOf","setPrototypeOf","copyConstructorProperties","proxyAccessor","inheritIfRequired","normalizeStringArgument","installErrorCause","installErrorStack","DESCRIPTORS","IS_PURE","FULL_NAME","wrapper","FORCED","IS_AGGREGATE_ERROR","STACK_TRACE_LIMIT","OPTIONS_POSITION","path","ERROR_NAME","OriginalError","OriginalErrorPrototype","BaseError","WrappedError","$","global","wrapErrorConstructorWithCause","WEB_ASSEMBLY","WebAssembly","exportGlobalErrorCauseWrapper","arity","forced","exportWebAssemblyErrorCauseWrapper","stat","init","noop","_","shallowEqual","aKeys","bKeys","applyState","currentValue","isUpdater","isLazyValue","object","prop","chain","fns","fn","normalizeString","str","normalize","omit","pick","paths","identity","invariant","condition","getKeys","obj","isFalsyBooleanCallback","booleanOrCallback","disabledFromProps","removeUndefinedValues","values","__defProp","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","getOwnPropertySymbols","__hasOwnProp","__propIsEnum","propertyIsEnumerable","__defNormalProp","writable","__spreadValues","__spreadProps","__objRest","exclude","createDialogStore","getInternal","store","internals","__unstableInternals","createStore","initialState","prevStateBatch","lastUpdate","instances","updatedKeys","setups","batchListeners","disposables","listenerKeys","sub","_a","setState","fromStores","nextValue","prevState","thisUpdate","run","prev","uKeys","some","snapshot","clear","finalStore","getState","setup","initialized","maybeDestroy","desyncs","map","storeState","sync","state2","teardowns","setup2","cleanups","subscribe","batch","omit2","pick2","mergeStore","reduce","store2","nextState","throwOnConflictingProps","canUseDOM","getDocument","getWindow","getActiveElement","activeDescendant","isFrame","contentDocument","getAttribute","getElementById","parent","isButton","buttonInputTypes","matches","selectors","msMatchesSelector","webkitMatchesSelector","isVisible","htmlElement","offsetWidth","offsetHeight","getClientRects","closest","parentElement","isTextField","isTextInput","HTMLInputElement","isTextArea","getPopupRole","role","getPopupItemRole","popupRole","menu","listbox","tree","getScrollingElement","clientHeight","scrollHeight","overflowY","getComputedStyle","clientWidth","scrollWidth","overflowX","scrollingElement","setSelectionRange","isTouchDevice","maxTouchPoints","isApple","platform","isSafari","vendor","isFirefox","userAgent","isMac","startsWith","createDisclosureStore","disclosure","syncState","open","defaultOpen","animated","animating","mounted","contentElement","disclosureElement","setOpen","show","hide","toggle","open2","stopAnimation","setContentElement","setDisclosureElement","isPortalEvent","Boolean","isSelfTarget","isOpeningInNewTab","isAppleDevice","isDownloading","fireEvent","eventInit","Event","fireBlurEvent","FocusEvent","defaultAllowed","bubbleInit","fireKeyboardEvent","KeyboardEvent","fireClickEvent","MouseEvent","isFocusEventOutside","container","containerElement","queueBeforeEvent","raf","requestAnimationFrame","callImmediately","cancelAnimationFrame","once","addGlobalEventListener","scope","frame","from","frames","remove","selector","isFocusable","isTabbable","hasNegativeTabIndex","radioGroup","elements","namedItem","getAllFocusableIn","includeContainer","focusableElements","filter","frameBody","getAllTabbableIn","fallbackToFocusable","tabbableElements","allFrameTabbable","getFirstTabbableIn","first","getNextTabbable","fallbackToFirst","allFocusable","activeIndex","nextFocusableElements","find","getNextTabbableIn","getPreviousTabbable","fallbackToLast","reverse","previousFocusableElements","getPreviousTabbableIn","hasFocus","hasFocusWithin","querySelector","CSS","escape","focusIfNeeded","disableFocus","currentTabindex","disableFocusIn","restoreFocusIn","restoreTabIndex","tabindex","hasAttribute","focusIntoView","preventScroll","scrollIntoView","block","inline","forwardRef2","Role","memo2","Component","propsAreEqual","Type","wrapElement","rest","mergedRef","renderProps","jsx","createHook","useProps","useRole","createStoreContext","providers","scopedProviders","scopedContext","useContext2","ContextProvider","reduceRight","Provider","useScopedContext","onlyScoped","scoped","useProviderContext","ScopedContextProvider","_React","useReactId","useReactInsertionEffect","useSafeLayoutEffect","useLiveRef","useEvent","useMergeRefs","defaultId","reactId","setId","substr","useTagName","refOrElement","stringOrUndefined","type2","setTagName","useAttribute","attribute","useUpdateEffect","effect","useUpdateLayoutEffect","useForceUpdate","useBooleanEvent","useWrapElement","usePortalRef","portalProp","portalRefProp","portalNode","setPortalNode","portalRef","domReady","useMetadataProps","onLoadedMetadataCapture","useIsMouseMoving","setMouseMoving","resetMouseMoving","mouseMoving","previousScreenX","previousScreenY","hasMouseMovement","acc","useVisuallyHidden","border","clip","margin","padding","position","whiteSpace","useFocusTrap","htmlProps","tabIndex","FocusTrap","PortalContext","createContext","queueFocus","usePortal","_b","preserveTabOrder","preserveTabOrderAnchor","portalElement","portal","refProp","anchorPortalNode","setAnchorPortalNode","outerBeforeRef","innerBeforeRef","innerAfterRef","outerAfterRef","portalEl","getPortalElement","isPortalInDocument","isConnected","rootElement","getRootElement","prefix","getRandomId","insertAdjacentElement","onFocus","focusing","hidden","jsxs","Fragment","className","preserveTabOrderElement","nextTabbable","_a2","Portal","noopSubscribe","useStoreState","keyOrSelector","storeSubscribe","useStoreProps","setKey","propsRef","value2","setValue2","useStore","setStore","useState2","useDisclosureStoreProps","update","useDisclosureStore","useDialogStoreProps","useDialogStore","ctx","useDisclosureProviderContext","DisclosureContextProvider","DisclosureScopedContextProvider","isNativeClick","symbol","useCommand","clickOnEnter","clickOnSpace","isNativeButton","setIsNativeButton","active","setActive","activeRef","isDuplicate","metadataProps","onKeyDownProp","onKeyDown","isContentEditable","isEnter","isSpace","shouldPreventEnter","shouldPreventSpace","nativeClick","click","onKeyUpProp","onKeyUp","ids","backdrop","orchestrate","elementCleanups","prevCleanup","cleanup","nextCleanup","attr","previousValue","property","exists","assignStyle","prevStyle","cssText","ignoreTags","getSnapshotPropertyName","isValidElement","ignoredElements","doc","inSnapshot","enabledElement","ancestorCallback","hasAncestorAlready","maybeAncestor","originalElement","getPropertyName","ancestor","markAncestor","isElementMarked","elementProperty","markTreeOutside","markElement","DialogBackdrop","alwaysVisible","backdrop2","dialog","right","bottom","hideElementFromAccessibilityTree","supportsInert","HTMLElement","disableTree","enableElements","element2","pointerEvents","userSelect","cursor","usePreventBodyScroll","contentId","enabled","isRootDialog","updated","retry","observer","MutationObserver","observe","attributeFilter","disconnect","useRootDialog","win","cssScrollbarWidth","getPropertyValue","scrollbarWidth","innerWidth","paddingProperty","documentLeft","getBoundingClientRect","round","getPaddingProperty","isIOS","removeProperty","scrollX","scrollY","visualViewport","offsetLeft","offsetTop","restoreStyle","scrollTo","setIOSStyle","NestedDialogsContext","useEventOutside","callListener","focusedRef","isInDocument","activeId","isDisclosure","rect","isMouseEventOnDialog","shouldHideOnInteractOutside","hideOnInteractOutside","useHideOnInteractOutside","previousMouseDownRef","usePreviousMouseDownRef","previousMouseDown","useFocusableContainer","autoFocusOnShow","HeadingContext","HeadingLevel","level","contextLevel","nextLevel","isSafariBrowser","getElementFromProp","focusable","useDialog","storeProp","openProp","onClose","modal","hideOnEscape","getPersistentElements","preventBodyScroll","autoFocusOnHide","initialFocus","finalFocus","unmountOnHide","preserveTabOrderProp","nestedDialogs","dialogs","setDialogs","dialogs2","providerValue","useNestedDialogs","onMouseDown","receivedFocus","prepend","prependHiddenDismiss","canTakeTreeSnapshot","createWalkTreeSnapshot","getPersistentElementsProp","allElements","dialog2","disableTreeOutside","mayAutoFocusOnShow","autoFocusOnShowProp","autoFocusEnabled","setAutoFocusEnabled","isElementFocusable","mayAutoFocusOnHide","autoFocusOnHideProp","hasOpened","setHasOpened","focusOnHide","isAlreadyFocusingAnotherElement","composite","maybeParentDialog","control","hideOnEscapeProp","hiddenProp","headingId","setHeadingId","descriptionId","setDescriptionId","createDialogComponent","Dialog","afterTimeout","timeoutMs","timeoutId","parseCSSTime","times","longestTime","currentTimeString","multiplier","endsWith","currentTime","parseFloat","useDisclosureContent","setTransition","otherElement","previousAnimated","animated2","afterPaint","stopAnimationSync","transitionDuration","animationDuration","transitionDelay","animationDelay","transitionDuration2","animationDuration2","transitionDelay2","animationDelay2","timeout","styleProp","DisclosureContentImpl","FocusableContext","alwaysFocusVisibleInputTypes","isNativeCheckboxOrRadio","getTabIndex","trulyDisabled","nativeTabbable","supportsDisabled","tabIndexProp","useDisableEvent","onEvent","isKeyboardModality","onGlobalMouseDown","onGlobalKeyDown","useFocusable","accessibleWhenDisabled","onFocusVisible","labels","getLabels","onMouseUp","label","focusVisible","setFocusVisible","IntersectionObserver","onKeyPressCapture","onMouseDownCapture","onClickCapture","onMouseDownProp","handleFocusVisible","onKeyDownCaptureProp","onKeyDownCapture","onFocusCaptureProp","onFocusCapture","applyFocusVisible","readOnly","isAlwaysFocusVisible","isAlwaysFocusVisibleDelayed","onBlurProp","onBlur","autoFocusRef","isNativeTabbable","supportsDisabledAttribute","setRef","getRefProperty","isValidElementWithRef","mergeProps","overrides","overrideValue","baseValue","useDialogScopedContext","useDialogProviderContext","DialogContextProvider","DialogScopedContextProvider","DialogHeadingContext","DialogDescriptionContext"],"sourceRoot":""}