���ѧۧݧ�ӧ�� �ާ֧ߧ֧էا֧� - ���֧էѧܧ�ڧ��ӧѧ�� - /var/www/nitsch.de/wp-includes/php-compat/routes.tar
���ѧ٧ѧ�
connectors-home/route.min.js 0000775 00000001510 00000000000 0012070 0 ustar 00 var S=Object.create;var p=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var a=(r,o)=>()=>(o||r((o={exports:{}}).exports,o),o.exports);var y=(r,o,e,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of g(o))!v.call(r,t)&&t!==e&&p(r,t,{get:()=>o[t],enumerable:!(i=_(o,t))||i.enumerable});return r};var n=(r,o,e)=>(e=r!=null?S(k(r)):{},y(o||!r||!r.__esModule?p(e,"default",{value:r,enumerable:!0}):e,r));var w=a((D,s)=>{s.exports=window.wp.coreData});var m=a((U,c)=>{c.exports=window.wp.data});var l=a((b,d)=>{d.exports=window.wp.i18n});var x=n(w()),f=n(m()),u=n(l()),h={title:()=>(0,u.__)("Connectors"),loader:async()=>{await(0,f.resolveSelect)(x.store).canUser("create",{kind:"root",name:"plugin"})}};export{h as route}; connectors-home/content.min.asset.php 0000775 00000000746 00000000000 0013707 0 ustar 00 <?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-element', 'wp-i18n', 'wp-notices', 'wp-primitives', 'wp-private-apis', 'wp-theme', 'wp-url'), 'module_dependencies' => array(array('id' => '@wordpress/a11y', 'import' => 'static'), array('id' => '@wordpress/connectors', 'import' => 'static'), array('id' => '@wordpress/route', 'import' => 'static')), 'version' => '1c478cb5cadaf4aded06'); connectors-home/content.js 0000775 00001771024 00000000000 0011641 0 ustar 00 var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); // package-external:@wordpress/i18n var require_i18n = __commonJS({ "package-external:@wordpress/i18n"(exports, module) { module.exports = window.wp.i18n; } }); // package-external:@wordpress/element var require_element = __commonJS({ "package-external:@wordpress/element"(exports, module) { module.exports = window.wp.element; } }); // vendor-external:react var require_react = __commonJS({ "vendor-external:react"(exports, module) { module.exports = window.React; } }); // vendor-external:react/jsx-runtime var require_jsx_runtime = __commonJS({ "vendor-external:react/jsx-runtime"(exports, module) { module.exports = window.ReactJSXRuntime; } }); // vendor-external:react-dom var require_react_dom = __commonJS({ "vendor-external:react-dom"(exports, module) { module.exports = window.ReactDOM; } }); // node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js var require_use_sync_external_store_shim_development = __commonJS({ "node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js"(exports) { "use strict"; (function() { function is(x, y) { return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y; } function useSyncExternalStore$2(subscribe, getSnapshot) { didWarnOld18Alpha || void 0 === React52.startTransition || (didWarnOld18Alpha = true, console.error( "You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release." )); var value = getSnapshot(); if (!didWarnUncachedGetSnapshot) { var cachedValue = getSnapshot(); objectIs(value, cachedValue) || (console.error( "The result of getSnapshot should be cached to avoid an infinite loop" ), didWarnUncachedGetSnapshot = true); } cachedValue = useState14({ inst: { value, getSnapshot } }); var inst = cachedValue[0].inst, forceUpdate = cachedValue[1]; useLayoutEffect3( function() { inst.value = value; inst.getSnapshot = getSnapshot; checkIfSnapshotChanged(inst) && forceUpdate({ inst }); }, [subscribe, value, getSnapshot] ); useEffect15( function() { checkIfSnapshotChanged(inst) && forceUpdate({ inst }); return subscribe(function() { checkIfSnapshotChanged(inst) && forceUpdate({ inst }); }); }, [subscribe] ); useDebugValue2(value); return value; } function checkIfSnapshotChanged(inst) { var latestGetSnapshot = inst.getSnapshot; inst = inst.value; try { var nextValue = latestGetSnapshot(); return !objectIs(inst, nextValue); } catch (error2) { return true; } } function useSyncExternalStore$1(subscribe, getSnapshot) { return getSnapshot(); } "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); var React52 = require_react(), objectIs = "function" === typeof Object.is ? Object.is : is, useState14 = React52.useState, useEffect15 = React52.useEffect, useLayoutEffect3 = React52.useLayoutEffect, useDebugValue2 = React52.useDebugValue, didWarnOld18Alpha = false, didWarnUncachedGetSnapshot = false, shim = "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2; exports.useSyncExternalStore = void 0 !== React52.useSyncExternalStore ? React52.useSyncExternalStore : shim; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); })(); } }); // node_modules/use-sync-external-store/shim/index.js var require_shim = __commonJS({ "node_modules/use-sync-external-store/shim/index.js"(exports, module) { "use strict"; if (false) { module.exports = null; } else { module.exports = require_use_sync_external_store_shim_development(); } } }); // node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js var require_with_selector_development = __commonJS({ "node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js"(exports) { "use strict"; (function() { function is(x, y) { return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y; } "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); var React52 = require_react(), shim = require_shim(), objectIs = "function" === typeof Object.is ? Object.is : is, useSyncExternalStore2 = shim.useSyncExternalStore, useRef22 = React52.useRef, useEffect15 = React52.useEffect, useMemo16 = React52.useMemo, useDebugValue2 = React52.useDebugValue; exports.useSyncExternalStoreWithSelector = function(subscribe, getSnapshot, getServerSnapshot, selector, isEqual) { var instRef = useRef22(null); if (null === instRef.current) { var inst = { hasValue: false, value: null }; instRef.current = inst; } else inst = instRef.current; instRef = useMemo16( function() { function memoizedSelector(nextSnapshot) { if (!hasMemo) { hasMemo = true; memoizedSnapshot = nextSnapshot; nextSnapshot = selector(nextSnapshot); if (void 0 !== isEqual && inst.hasValue) { var currentSelection = inst.value; if (isEqual(currentSelection, nextSnapshot)) return memoizedSelection = currentSelection; } return memoizedSelection = nextSnapshot; } currentSelection = memoizedSelection; if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection; var nextSelection = selector(nextSnapshot); if (void 0 !== isEqual && isEqual(currentSelection, nextSelection)) return memoizedSnapshot = nextSnapshot, currentSelection; memoizedSnapshot = nextSnapshot; return memoizedSelection = nextSelection; } var hasMemo = false, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot; return [ function() { return memoizedSelector(getSnapshot()); }, null === maybeGetServerSnapshot ? void 0 : function() { return memoizedSelector(maybeGetServerSnapshot()); } ]; }, [getSnapshot, getServerSnapshot, selector, isEqual] ); var value = useSyncExternalStore2(subscribe, instRef[0], instRef[1]); useEffect15( function() { inst.hasValue = true; inst.value = value; }, [value] ); useDebugValue2(value); return value; }; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); })(); } }); // node_modules/use-sync-external-store/shim/with-selector.js var require_with_selector = __commonJS({ "node_modules/use-sync-external-store/shim/with-selector.js"(exports, module) { "use strict"; if (false) { module.exports = null; } else { module.exports = require_with_selector_development(); } } }); // package-external:@wordpress/primitives var require_primitives = __commonJS({ "package-external:@wordpress/primitives"(exports, module) { module.exports = window.wp.primitives; } }); // package-external:@wordpress/theme var require_theme = __commonJS({ "package-external:@wordpress/theme"(exports, module) { module.exports = window.wp.theme; } }); // package-external:@wordpress/private-apis var require_private_apis = __commonJS({ "package-external:@wordpress/private-apis"(exports, module) { module.exports = window.wp.privateApis; } }); // package-external:@wordpress/components var require_components = __commonJS({ "package-external:@wordpress/components"(exports, module) { module.exports = window.wp.components; } }); // package-external:@wordpress/data var require_data = __commonJS({ "package-external:@wordpress/data"(exports, module) { module.exports = window.wp.data; } }); // package-external:@wordpress/core-data var require_core_data = __commonJS({ "package-external:@wordpress/core-data"(exports, module) { module.exports = window.wp.coreData; } }); // package-external:@wordpress/notices var require_notices = __commonJS({ "package-external:@wordpress/notices"(exports, module) { module.exports = window.wp.notices; } }); // package-external:@wordpress/url var require_url = __commonJS({ "package-external:@wordpress/url"(exports, module) { module.exports = window.wp.url; } }); // node_modules/clsx/dist/clsx.mjs function r(e) { var t, f, n = ""; if ("string" == typeof e || "number" == typeof e) n += e; else if ("object" == typeof e) if (Array.isArray(e)) { var o = e.length; for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f); } else for (f in e) e[f] && (n && (n += " "), n += f); return n; } function clsx() { for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t); return n; } var clsx_default = clsx; // packages/ui/build-module/badge/badge.mjs var import_element11 = __toESM(require_element(), 1); // node_modules/@base-ui/utils/error.mjs var set; if (true) { set = /* @__PURE__ */ new Set(); } function error(...messages) { if (true) { const messageKey = messages.join(" "); if (!set.has(messageKey)) { set.add(messageKey); console.error(`Base UI: ${messageKey}`); } } } // node_modules/@base-ui/utils/safeReact.mjs var React2 = __toESM(require_react(), 1); var SafeReact = { ...React2 }; // node_modules/@base-ui/utils/useRefWithInit.mjs var React3 = __toESM(require_react(), 1); var UNINITIALIZED = {}; function useRefWithInit(init, initArg) { const ref = React3.useRef(UNINITIALIZED); if (ref.current === UNINITIALIZED) { ref.current = init(initArg); } return ref; } // node_modules/@base-ui/utils/useStableCallback.mjs var useInsertionEffect = SafeReact.useInsertionEffect; var useSafeInsertionEffect = ( // React 17 doesn't have useInsertionEffect. useInsertionEffect && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late. useInsertionEffect !== SafeReact.useLayoutEffect ? useInsertionEffect : (fn) => fn() ); function useStableCallback(callback) { const stable = useRefWithInit(createStableCallback).current; stable.next = callback; useSafeInsertionEffect(stable.effect); return stable.trampoline; } function createStableCallback() { const stable = { next: void 0, callback: assertNotCalled, trampoline: (...args) => stable.callback?.(...args), effect: () => { stable.callback = stable.next; } }; return stable; } function assertNotCalled() { if (true) { throw ( /* minify-error-disabled */ new Error("Base UI: Cannot call an event handler while rendering.") ); } } // node_modules/@base-ui/utils/useIsoLayoutEffect.mjs var React4 = __toESM(require_react(), 1); var noop = () => { }; var useIsoLayoutEffect = typeof document !== "undefined" ? React4.useLayoutEffect : noop; // node_modules/@base-ui/utils/warn.mjs var set2; if (true) { set2 = /* @__PURE__ */ new Set(); } function warn(...messages) { if (true) { const messageKey = messages.join(" "); if (!set2.has(messageKey)) { set2.add(messageKey); console.warn(`Base UI: ${messageKey}`); } } } // node_modules/@base-ui/react/internals/direction-context/DirectionContext.mjs var React5 = __toESM(require_react(), 1); var DirectionContext = /* @__PURE__ */ React5.createContext(void 0); if (true) DirectionContext.displayName = "DirectionContext"; function useDirection() { const context = React5.useContext(DirectionContext); return context?.direction ?? "ltr"; } // node_modules/@base-ui/react/internals/useRenderElement.mjs var React8 = __toESM(require_react(), 1); // node_modules/@base-ui/utils/useMergedRefs.mjs function useMergedRefs(a, b, c, d) { const forkRef = useRefWithInit(createForkRef).current; if (didChange(forkRef, a, b, c, d)) { update(forkRef, [a, b, c, d]); } return forkRef.callback; } function useMergedRefsN(refs) { const forkRef = useRefWithInit(createForkRef).current; if (didChangeN(forkRef, refs)) { update(forkRef, refs); } return forkRef.callback; } function createForkRef() { return { callback: null, cleanup: null, refs: [] }; } function didChange(forkRef, a, b, c, d) { return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c || forkRef.refs[3] !== d; } function didChangeN(forkRef, newRefs) { return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index2) => ref !== newRefs[index2]); } function update(forkRef, refs) { forkRef.refs = refs; if (refs.every((ref) => ref == null)) { forkRef.callback = null; return; } forkRef.callback = (instance) => { if (forkRef.cleanup) { forkRef.cleanup(); forkRef.cleanup = null; } if (instance != null) { const cleanupCallbacks = Array(refs.length).fill(null); for (let i = 0; i < refs.length; i += 1) { const ref = refs[i]; if (ref == null) { continue; } switch (typeof ref) { case "function": { const refCleanup = ref(instance); if (typeof refCleanup === "function") { cleanupCallbacks[i] = refCleanup; } break; } case "object": { ref.current = instance; break; } default: } } forkRef.cleanup = () => { for (let i = 0; i < refs.length; i += 1) { const ref = refs[i]; if (ref == null) { continue; } switch (typeof ref) { case "function": { const cleanupCallback = cleanupCallbacks[i]; if (typeof cleanupCallback === "function") { cleanupCallback(); } else { ref(null); } break; } case "object": { ref.current = null; break; } default: } } }; } }; } // node_modules/@base-ui/utils/getReactElementRef.mjs var React7 = __toESM(require_react(), 1); // node_modules/@base-ui/utils/reactVersion.mjs var React6 = __toESM(require_react(), 1); var majorVersion = parseInt(React6.version, 10); function isReactVersionAtLeast(reactVersionToCheck) { return majorVersion >= reactVersionToCheck; } // node_modules/@base-ui/utils/getReactElementRef.mjs function getReactElementRef(element) { if (!/* @__PURE__ */ React7.isValidElement(element)) { return null; } const reactElement = element; const propsWithRef = reactElement.props; return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null; } // node_modules/@base-ui/utils/mergeObjects.mjs function mergeObjects(a, b) { if (a && !b) { return a; } if (!a && b) { return b; } if (a || b) { return { ...a, ...b }; } return void 0; } // node_modules/@base-ui/utils/empty.mjs function NOOP() { } var EMPTY_ARRAY = Object.freeze([]); var EMPTY_OBJECT = Object.freeze({}); // node_modules/@base-ui/react/internals/getStateAttributesProps.mjs function getStateAttributesProps(state, customMapping) { const props = {}; for (const key in state) { const value = state[key]; if (customMapping?.hasOwnProperty(key)) { const customProps = customMapping[key](value); if (customProps != null) { Object.assign(props, customProps); } continue; } if (value === true) { props[`data-${key.toLowerCase()}`] = ""; } else if (value) { props[`data-${key.toLowerCase()}`] = value.toString(); } } return props; } // node_modules/@base-ui/react/utils/resolveClassName.mjs function resolveClassName(className, state) { return typeof className === "function" ? className(state) : className; } // node_modules/@base-ui/react/utils/resolveStyle.mjs function resolveStyle(style, state) { return typeof style === "function" ? style(state) : style; } // node_modules/@base-ui/react/merge-props/mergeProps.mjs var EMPTY_PROPS = {}; function mergeProps(a, b, c, d, e) { if (!c && !d && !e && !a) { return createInitialMergedProps(b); } let merged = createInitialMergedProps(a); if (b) { merged = mergeInto(merged, b); } if (c) { merged = mergeInto(merged, c); } if (d) { merged = mergeInto(merged, d); } if (e) { merged = mergeInto(merged, e); } return merged; } function mergePropsN(props) { if (props.length === 0) { return EMPTY_PROPS; } if (props.length === 1) { return createInitialMergedProps(props[0]); } let merged = createInitialMergedProps(props[0]); for (let i = 1; i < props.length; i += 1) { merged = mergeInto(merged, props[i]); } return merged; } function createInitialMergedProps(inputProps) { if (isPropsGetter(inputProps)) { return { ...resolvePropsGetter(inputProps, EMPTY_PROPS) }; } return copyInitialProps(inputProps); } function mergeInto(merged, inputProps) { if (isPropsGetter(inputProps)) { return resolvePropsGetter(inputProps, merged); } return mutablyMergeInto(merged, inputProps); } function copyInitialProps(inputProps) { const copiedProps = { ...inputProps }; for (const propName in copiedProps) { const propValue = copiedProps[propName]; if (isEventHandler(propName, propValue)) { copiedProps[propName] = wrapEventHandler(propValue); } } return copiedProps; } function mutablyMergeInto(mergedProps, externalProps) { if (!externalProps) { return mergedProps; } for (const propName in externalProps) { const externalPropValue = externalProps[propName]; switch (propName) { case "style": { mergedProps[propName] = mergeObjects(mergedProps.style, externalPropValue); break; } case "className": { mergedProps[propName] = mergeClassNames(mergedProps.className, externalPropValue); break; } default: { if (isEventHandler(propName, externalPropValue)) { mergedProps[propName] = mergeEventHandlers(mergedProps[propName], externalPropValue); } else { mergedProps[propName] = externalPropValue; } } } } return mergedProps; } function isEventHandler(key, value) { const code0 = key.charCodeAt(0); const code1 = key.charCodeAt(1); const code2 = key.charCodeAt(2); return code0 === 111 && code1 === 110 && code2 >= 65 && code2 <= 90 && (typeof value === "function" || typeof value === "undefined"); } function isPropsGetter(inputProps) { return typeof inputProps === "function"; } function resolvePropsGetter(inputProps, previousProps) { if (isPropsGetter(inputProps)) { return inputProps(previousProps); } return inputProps ?? EMPTY_PROPS; } function mergeEventHandlers(ourHandler, theirHandler) { if (!theirHandler) { return ourHandler; } if (!ourHandler) { return wrapEventHandler(theirHandler); } return (...args) => { const event = args[0]; if (isSyntheticEvent(event)) { const baseUIEvent = event; makeEventPreventable(baseUIEvent); const result2 = theirHandler(...args); if (!baseUIEvent.baseUIHandlerPrevented) { ourHandler?.(...args); } return result2; } const result = theirHandler(...args); ourHandler?.(...args); return result; }; } function wrapEventHandler(handler) { if (!handler) { return handler; } return (...args) => { const event = args[0]; if (isSyntheticEvent(event)) { makeEventPreventable(event); } return handler(...args); }; } function makeEventPreventable(event) { event.preventBaseUIHandler = () => { event.baseUIHandlerPrevented = true; }; return event; } function mergeClassNames(ourClassName, theirClassName) { if (theirClassName) { if (ourClassName) { return theirClassName + " " + ourClassName; } return theirClassName; } return ourClassName; } function isSyntheticEvent(event) { return event != null && typeof event === "object" && "nativeEvent" in event; } // node_modules/@base-ui/react/internals/useRenderElement.mjs var import_react = __toESM(require_react(), 1); function useRenderElement(element, componentProps, params = {}) { const renderProp = componentProps.render; const outProps = useRenderElementProps(componentProps, params); if (params.enabled === false) { return null; } const state = params.state ?? EMPTY_OBJECT; return evaluateRenderProp(element, renderProp, outProps, state); } function useRenderElementProps(componentProps, params = {}) { const { className: classNameProp, style: styleProp, render: renderProp } = componentProps; const { state = EMPTY_OBJECT, ref, props, stateAttributesMapping: stateAttributesMapping3, enabled = true } = params; const className = enabled ? resolveClassName(classNameProp, state) : void 0; const style = enabled ? resolveStyle(styleProp, state) : void 0; const stateProps = enabled ? getStateAttributesProps(state, stateAttributesMapping3) : EMPTY_OBJECT; const resolvedProps = enabled && props ? resolveRenderFunctionProps(props) : void 0; const outProps = enabled ? mergeObjects(stateProps, resolvedProps) ?? {} : EMPTY_OBJECT; if (typeof document !== "undefined") { if (!enabled) { useMergedRefs(null, null); } else if (Array.isArray(ref)) { outProps.ref = useMergedRefsN([outProps.ref, getReactElementRef(renderProp), ...ref]); } else { outProps.ref = useMergedRefs(outProps.ref, getReactElementRef(renderProp), ref); } } if (!enabled) { return EMPTY_OBJECT; } if (className !== void 0) { outProps.className = mergeClassNames(outProps.className, className); } if (style !== void 0) { outProps.style = mergeObjects(outProps.style, style); } return outProps; } function resolveRenderFunctionProps(props) { if (Array.isArray(props)) { return mergePropsN(props); } return mergeProps(void 0, props); } var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy"); var COMPONENT_IDENTIFIER_PATTERN = /^[A-Z][A-Za-z0-9$]*$/; var LOWERCASE_CHARACTER_PATTERN = /[a-z]/; function evaluateRenderProp(element, render, props, state) { if (render) { if (typeof render === "function") { if (true) { warnIfRenderPropLooksLikeComponent(render); } return render(props, state); } const mergedProps = mergeProps(props, render.props); mergedProps.ref = props.ref; let newElement = render; if (newElement?.$$typeof === REACT_LAZY_TYPE) { const children = React8.Children.toArray(render); newElement = children[0]; } if (true) { if (!/* @__PURE__ */ React8.isValidElement(newElement)) { throw new Error(["Base UI: The `render` prop was provided an invalid React element as `React.isValidElement(render)` is `false`.", "A valid React element must be provided to the `render` prop because it is cloned with props to replace the default element.", "https://base-ui.com/r/invalid-render-prop"].join("\n")); } } return /* @__PURE__ */ React8.cloneElement(newElement, mergedProps); } if (element) { if (typeof element === "string") { return renderTag(element, props); } } throw new Error(true ? "Base UI: Render element or function are not defined." : formatErrorMessage_default(8)); } function warnIfRenderPropLooksLikeComponent(renderFn) { const functionName = renderFn.name; if (functionName.length === 0) { return; } if (!COMPONENT_IDENTIFIER_PATTERN.test(functionName)) { return; } if (!LOWERCASE_CHARACTER_PATTERN.test(functionName)) { return; } warn(`The \`render\` prop received a function named \`${functionName}\` that starts with an uppercase letter.`, "This usually means a React component was passed directly as `render={Component}`.", "Base UI calls `render` as a plain function, which can break the Rules of Hooks during reconciliation.", "If this is an intentional render callback, rename it to start with a lowercase letter.", "Use `render={<Component />}` or `render={(props) => <Component {...props} />}` instead.", "https://base-ui.com/r/invalid-render-prop"); } function renderTag(Tag, props) { if (Tag === "button") { return /* @__PURE__ */ (0, import_react.createElement)("button", { type: "button", ...props, key: props.key }); } if (Tag === "img") { return /* @__PURE__ */ (0, import_react.createElement)("img", { alt: "", ...props, key: props.key }); } return /* @__PURE__ */ React8.createElement(Tag, props); } // node_modules/@base-ui/utils/useId.mjs var React9 = __toESM(require_react(), 1); var globalId = 0; function useGlobalId(idOverride, prefix = "mui") { const [defaultId, setDefaultId] = React9.useState(idOverride); const id = idOverride || defaultId; React9.useEffect(() => { if (defaultId == null) { globalId += 1; setDefaultId(`${prefix}-${globalId}`); } }, [defaultId, prefix]); return id; } var maybeReactUseId = SafeReact.useId; function useId(idOverride, prefix) { if (maybeReactUseId !== void 0) { const reactId = maybeReactUseId(); return idOverride ?? (prefix ? `${prefix}-${reactId}` : reactId); } return useGlobalId(idOverride, prefix); } // node_modules/@base-ui/react/internals/useBaseUiId.mjs function useBaseUiId(idOverride) { return useId(idOverride, "base-ui"); } // node_modules/@base-ui/react/internals/reason-parts.mjs var reason_parts_exports = {}; __export(reason_parts_exports, { cancelOpen: () => cancelOpen, chipRemovePress: () => chipRemovePress, clearPress: () => clearPress, closePress: () => closePress, closeWatcher: () => closeWatcher, decrementPress: () => decrementPress, disabled: () => disabled, drag: () => drag, escapeKey: () => escapeKey, focusOut: () => focusOut, imperativeAction: () => imperativeAction, incrementPress: () => incrementPress, initial: () => initial, inputBlur: () => inputBlur, inputChange: () => inputChange, inputClear: () => inputClear, inputPaste: () => inputPaste, inputPress: () => inputPress, itemPress: () => itemPress, keyboard: () => keyboard, linkPress: () => linkPress, listNavigation: () => listNavigation, missing: () => missing, none: () => none, outsidePress: () => outsidePress, pointer: () => pointer, scrub: () => scrub, siblingOpen: () => siblingOpen, swipe: () => swipe, trackPress: () => trackPress, triggerFocus: () => triggerFocus, triggerHover: () => triggerHover, triggerPress: () => triggerPress, wheel: () => wheel, windowResize: () => windowResize }); var none = "none"; var triggerPress = "trigger-press"; var triggerHover = "trigger-hover"; var triggerFocus = "trigger-focus"; var outsidePress = "outside-press"; var itemPress = "item-press"; var closePress = "close-press"; var linkPress = "link-press"; var clearPress = "clear-press"; var chipRemovePress = "chip-remove-press"; var trackPress = "track-press"; var incrementPress = "increment-press"; var decrementPress = "decrement-press"; var inputChange = "input-change"; var inputClear = "input-clear"; var inputBlur = "input-blur"; var inputPaste = "input-paste"; var inputPress = "input-press"; var focusOut = "focus-out"; var escapeKey = "escape-key"; var closeWatcher = "close-watcher"; var listNavigation = "list-navigation"; var keyboard = "keyboard"; var pointer = "pointer"; var drag = "drag"; var wheel = "wheel"; var scrub = "scrub"; var cancelOpen = "cancel-open"; var siblingOpen = "sibling-open"; var disabled = "disabled"; var missing = "missing"; var initial = "initial"; var imperativeAction = "imperative-action"; var swipe = "swipe"; var windowResize = "window-resize"; // node_modules/@base-ui/react/internals/createBaseUIEventDetails.mjs function createChangeEventDetails(reason, event, trigger, customProperties) { let canceled = false; let allowPropagation = false; const custom = customProperties ?? EMPTY_OBJECT; const details = { reason, event: event ?? new Event("base-ui"), cancel() { canceled = true; }, allowPropagation() { allowPropagation = true; }, get isCanceled() { return canceled; }, get isPropagationAllowed() { return allowPropagation; }, trigger, ...custom }; return details; } // node_modules/@base-ui/react/internals/useTransitionStatus.mjs var React11 = __toESM(require_react(), 1); // node_modules/@base-ui/utils/useOnMount.mjs var React10 = __toESM(require_react(), 1); var EMPTY = []; function useOnMount(fn) { React10.useEffect(fn, EMPTY); } // node_modules/@base-ui/utils/useAnimationFrame.mjs var EMPTY2 = null; var LAST_RAF = globalThis.requestAnimationFrame; var Scheduler = class { /* This implementation uses an array as a backing data-structure for frame callbacks. * It allows `O(1)` callback cancelling by inserting a `null` in the array, though it * never calls the native `cancelAnimationFrame` if there are no frames left. This can * be much more efficient if there is a call pattern that alterns as * "request-cancel-request-cancel-…". * But in the case of "request-request-…-cancel-cancel-…", it leaves the final animation * frame to run anyway. We turn that frame into a `O(1)` no-op via `callbacksCount`. */ callbacks = []; callbacksCount = 0; nextId = 1; startId = 1; isScheduled = false; tick = (timestamp) => { this.isScheduled = false; const currentCallbacks = this.callbacks; const currentCallbacksCount = this.callbacksCount; this.callbacks = []; this.callbacksCount = 0; this.startId = this.nextId; if (currentCallbacksCount > 0) { for (let i = 0; i < currentCallbacks.length; i += 1) { currentCallbacks[i]?.(timestamp); } } }; request(fn) { const id = this.nextId; this.nextId += 1; this.callbacks.push(fn); this.callbacksCount += 1; const didRAFChange = LAST_RAF !== requestAnimationFrame && (LAST_RAF = requestAnimationFrame, true); if (!this.isScheduled || didRAFChange) { requestAnimationFrame(this.tick); this.isScheduled = true; } return id; } cancel(id) { const index2 = id - this.startId; if (index2 < 0 || index2 >= this.callbacks.length) { return; } this.callbacks[index2] = null; this.callbacksCount -= 1; } }; var scheduler = new Scheduler(); var AnimationFrame = class _AnimationFrame { static create() { return new _AnimationFrame(); } static request(fn) { return scheduler.request(fn); } static cancel(id) { return scheduler.cancel(id); } currentId = EMPTY2; /** * Executes `fn` after `delay`, clearing any previously scheduled call. */ request(fn) { this.cancel(); this.currentId = scheduler.request(() => { this.currentId = EMPTY2; fn(); }); } cancel = () => { if (this.currentId !== EMPTY2) { scheduler.cancel(this.currentId); this.currentId = EMPTY2; } }; disposeEffect = () => { return this.cancel; }; }; function useAnimationFrame() { const timeout = useRefWithInit(AnimationFrame.create).current; useOnMount(timeout.disposeEffect); return timeout; } // node_modules/@base-ui/react/internals/useTransitionStatus.mjs function useTransitionStatus(open, enableIdleState = false, deferEndingState = false) { const [transitionStatus, setTransitionStatus] = React11.useState(open && enableIdleState ? "idle" : void 0); const [mounted, setMounted] = React11.useState(open); if (open && !mounted) { setMounted(true); setTransitionStatus("starting"); } if (!open && mounted && transitionStatus !== "ending" && !deferEndingState) { setTransitionStatus("ending"); } if (!open && !mounted && transitionStatus === "ending") { setTransitionStatus(void 0); } useIsoLayoutEffect(() => { if (!open && mounted && transitionStatus !== "ending" && deferEndingState) { const frame = AnimationFrame.request(() => { setTransitionStatus("ending"); }); return () => { AnimationFrame.cancel(frame); }; } return void 0; }, [open, mounted, transitionStatus, deferEndingState]); useIsoLayoutEffect(() => { if (!open || enableIdleState) { return void 0; } const frame = AnimationFrame.request(() => { setTransitionStatus(void 0); }); return () => { AnimationFrame.cancel(frame); }; }, [enableIdleState, open]); useIsoLayoutEffect(() => { if (!open || !enableIdleState) { return void 0; } if (open && mounted && transitionStatus !== "idle") { setTransitionStatus("starting"); } const frame = AnimationFrame.request(() => { setTransitionStatus("idle"); }); return () => { AnimationFrame.cancel(frame); }; }, [enableIdleState, open, mounted, transitionStatus]); return { mounted, setMounted, transitionStatus }; } // node_modules/@base-ui/react/internals/stateAttributesMapping.mjs var TransitionStatusDataAttributes = /* @__PURE__ */ (function(TransitionStatusDataAttributes2) { TransitionStatusDataAttributes2["startingStyle"] = "data-starting-style"; TransitionStatusDataAttributes2["endingStyle"] = "data-ending-style"; return TransitionStatusDataAttributes2; })({}); var STARTING_HOOK = { [TransitionStatusDataAttributes.startingStyle]: "" }; var ENDING_HOOK = { [TransitionStatusDataAttributes.endingStyle]: "" }; var transitionStatusMapping = { transitionStatus(value) { if (value === "starting") { return STARTING_HOOK; } if (value === "ending") { return ENDING_HOOK; } return null; } }; // node_modules/@base-ui/react/internals/use-button/useButton.mjs var React14 = __toESM(require_react(), 1); // node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs function hasWindow() { return typeof window !== "undefined"; } function getNodeName(node) { if (isNode(node)) { return (node.nodeName || "").toLowerCase(); } return "#document"; } function getWindow(node) { var _node$ownerDocument; return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window; } function getDocumentElement(node) { var _ref; return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement; } function isNode(value) { if (!hasWindow()) { return false; } return value instanceof Node || value instanceof getWindow(value).Node; } function isElement(value) { if (!hasWindow()) { return false; } return value instanceof Element || value instanceof getWindow(value).Element; } function isHTMLElement(value) { if (!hasWindow()) { return false; } return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement; } function isShadowRoot(value) { if (!hasWindow() || typeof ShadowRoot === "undefined") { return false; } return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot; } function isOverflowElement(element) { const { overflow, overflowX, overflowY, display } = getComputedStyle2(element); return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents"; } function isTableElement(element) { return /^(table|td|th)$/.test(getNodeName(element)); } function isTopLayer(element) { try { if (element.matches(":popover-open")) { return true; } } catch (_e) { } try { return element.matches(":modal"); } catch (_e) { return false; } } var willChangeRe = /transform|translate|scale|rotate|perspective|filter/; var containRe = /paint|layout|strict|content/; var isNotNone = (value) => !!value && value !== "none"; var isWebKitValue; function isContainingBlock(elementOrCss) { const css = isElement(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss; return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || "") || containRe.test(css.contain || ""); } function getContainingBlock(element) { let currentNode = getParentNode(element); while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) { if (isContainingBlock(currentNode)) { return currentNode; } else if (isTopLayer(currentNode)) { return null; } currentNode = getParentNode(currentNode); } return null; } function isWebKit() { if (isWebKitValue == null) { isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none"); } return isWebKitValue; } function isLastTraversableNode(node) { return /^(html|body|#document)$/.test(getNodeName(node)); } function getComputedStyle2(element) { return getWindow(element).getComputedStyle(element); } function getNodeScroll(element) { if (isElement(element)) { return { scrollLeft: element.scrollLeft, scrollTop: element.scrollTop }; } return { scrollLeft: element.scrollX, scrollTop: element.scrollY }; } function getParentNode(node) { if (getNodeName(node) === "html") { return node; } const result = ( // Step into the shadow DOM of the parent of a slotted node. node.assignedSlot || // DOM Element detected. node.parentNode || // ShadowRoot detected. isShadowRoot(node) && node.host || // Fallback. getDocumentElement(node) ); return isShadowRoot(result) ? result.host : result; } function getNearestOverflowAncestor(node) { const parentNode = getParentNode(node); if (isLastTraversableNode(parentNode)) { return node.ownerDocument ? node.ownerDocument.body : node.body; } if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) { return parentNode; } return getNearestOverflowAncestor(parentNode); } function getOverflowAncestors(node, list, traverseIframes) { var _node$ownerDocument2; if (list === void 0) { list = []; } if (traverseIframes === void 0) { traverseIframes = true; } const scrollableAncestor = getNearestOverflowAncestor(node); const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body); const win = getWindow(scrollableAncestor); if (isBody) { const frameElement = getFrameElement(win); return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []); } else { return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes)); } } function getFrameElement(win) { return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null; } // node_modules/@base-ui/react/internals/composite/root/CompositeRootContext.mjs var React12 = __toESM(require_react(), 1); var CompositeRootContext = /* @__PURE__ */ React12.createContext(void 0); if (true) CompositeRootContext.displayName = "CompositeRootContext"; function useCompositeRootContext(optional = false) { const context = React12.useContext(CompositeRootContext); if (context === void 0 && !optional) { throw new Error(true ? "Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>." : formatErrorMessage_default(16)); } return context; } // node_modules/@base-ui/react/utils/useFocusableWhenDisabled.mjs var React13 = __toESM(require_react(), 1); function useFocusableWhenDisabled(parameters) { const { focusableWhenDisabled, disabled: disabled2, composite = false, tabIndex: tabIndexProp = 0, isNativeButton } = parameters; const isFocusableComposite = composite && focusableWhenDisabled !== false; const isNonFocusableComposite = composite && focusableWhenDisabled === false; const props = React13.useMemo(() => { const additionalProps = { // allow Tabbing away from focusableWhenDisabled elements onKeyDown(event) { if (disabled2 && focusableWhenDisabled && event.key !== "Tab") { event.preventDefault(); } } }; if (!composite) { additionalProps.tabIndex = tabIndexProp; if (!isNativeButton && disabled2) { additionalProps.tabIndex = focusableWhenDisabled ? tabIndexProp : -1; } } if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled2) { additionalProps["aria-disabled"] = disabled2; } if (isNativeButton && (!focusableWhenDisabled || isNonFocusableComposite)) { additionalProps.disabled = disabled2; } return additionalProps; }, [composite, disabled2, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]); return { props }; } // node_modules/@base-ui/react/internals/use-button/useButton.mjs function useButton(parameters = {}) { const { disabled: disabled2 = false, focusableWhenDisabled, tabIndex = 0, native: isNativeButton = true, composite: compositeProp } = parameters; const elementRef = React14.useRef(null); const compositeRootContext = useCompositeRootContext(true); const isCompositeItem = compositeProp ?? compositeRootContext !== void 0; const { props: focusableWhenDisabledProps } = useFocusableWhenDisabled({ focusableWhenDisabled, disabled: disabled2, composite: isCompositeItem, tabIndex, isNativeButton }); if (true) { React14.useEffect(() => { if (!elementRef.current) { return; } const isButtonTag = isButtonElement(elementRef.current); if (isNativeButton) { if (!isButtonTag) { const ownerStackMessage = SafeReact.captureOwnerStack?.() || ""; const message = "A component that acts as a button expected a native <button> because the `nativeButton` prop is true. Rendering a non-<button> removes native button semantics, which can impact forms and accessibility. Use a real <button> in the `render` prop, or set `nativeButton` to `false`."; error(`${message}${ownerStackMessage}`); } } else if (isButtonTag) { const ownerStackMessage = SafeReact.captureOwnerStack?.() || ""; const message = "A component that acts as a button expected a non-<button> because the `nativeButton` prop is false. Rendering a <button> keeps native behavior while Base UI applies non-native attributes and handlers, which can add unintended extra attributes (such as `role` or `aria-disabled`). Use a non-<button> in the `render` prop, or set `nativeButton` to `true`."; error(`${message}${ownerStackMessage}`); } }, [isNativeButton]); } const updateDisabled = React14.useCallback(() => { const element = elementRef.current; if (!isButtonElement(element)) { return; } if (isCompositeItem && disabled2 && focusableWhenDisabledProps.disabled === void 0 && element.disabled) { element.disabled = false; } }, [disabled2, focusableWhenDisabledProps.disabled, isCompositeItem]); useIsoLayoutEffect(updateDisabled, [updateDisabled]); const getButtonProps = React14.useCallback((externalProps = {}) => { const { onClick: externalOnClick, onMouseDown: externalOnMouseDown, onKeyUp: externalOnKeyUp, onKeyDown: externalOnKeyDown, onPointerDown: externalOnPointerDown, ...otherExternalProps } = externalProps; return mergeProps({ onClick(event) { if (disabled2) { event.preventDefault(); return; } externalOnClick?.(event); }, onMouseDown(event) { if (!disabled2) { externalOnMouseDown?.(event); } }, onKeyDown(event) { if (disabled2) { return; } makeEventPreventable(event); externalOnKeyDown?.(event); if (event.baseUIHandlerPrevented) { return; } const isCurrentTarget = event.target === event.currentTarget; const currentTarget = event.currentTarget; const isButton = isButtonElement(currentTarget); const isLink = !isNativeButton && isValidLinkElement(currentTarget); const shouldClick = isCurrentTarget && (isNativeButton ? isButton : !isLink); const isEnterKey = event.key === "Enter"; const isSpaceKey = event.key === " "; const role = currentTarget.getAttribute("role"); const isTextNavigationRole = role?.startsWith("menuitem") || role === "option" || role === "gridcell"; if (isCurrentTarget && isCompositeItem && isSpaceKey) { if (event.defaultPrevented && isTextNavigationRole) { return; } event.preventDefault(); if (isLink || isNativeButton && isButton) { currentTarget.click(); event.preventBaseUIHandler(); } else if (shouldClick) { externalOnClick?.(event); event.preventBaseUIHandler(); } return; } if (shouldClick) { if (!isNativeButton && (isSpaceKey || isEnterKey)) { event.preventDefault(); } if (!isNativeButton && isEnterKey) { externalOnClick?.(event); } } }, onKeyUp(event) { if (disabled2) { return; } makeEventPreventable(event); externalOnKeyUp?.(event); if (event.target === event.currentTarget && isNativeButton && isCompositeItem && isButtonElement(event.currentTarget) && event.key === " ") { event.preventDefault(); return; } if (event.baseUIHandlerPrevented) { return; } if (event.target === event.currentTarget && !isNativeButton && !isCompositeItem && event.key === " ") { externalOnClick?.(event); } }, onPointerDown(event) { if (disabled2) { event.preventDefault(); return; } externalOnPointerDown?.(event); } }, isNativeButton ? { type: "button" } : { role: "button" }, focusableWhenDisabledProps, otherExternalProps); }, [disabled2, focusableWhenDisabledProps, isCompositeItem, isNativeButton]); const buttonRef = useStableCallback((element) => { elementRef.current = element; updateDisabled(); }); return { getButtonProps, buttonRef }; } function isButtonElement(elem) { return isHTMLElement(elem) && elem.tagName === "BUTTON"; } function isValidLinkElement(elem) { return Boolean(elem?.tagName === "A" && elem?.href); } // node_modules/@base-ui/utils/addEventListener.mjs function addEventListener(target, type, listener, options) { target.addEventListener(type, listener, options); return () => { target.removeEventListener(type, listener, options); }; } // node_modules/@base-ui/utils/useValueAsRef.mjs function useValueAsRef(value) { const latest = useRefWithInit(createLatestRef, value).current; latest.next = value; useIsoLayoutEffect(latest.effect); return latest; } function createLatestRef(value) { const latest = { current: value, next: value, effect: () => { latest.current = latest.next; } }; return latest; } // node_modules/@base-ui/utils/owner.mjs function ownerDocument(node) { return node?.ownerDocument || document; } // node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs var React15 = __toESM(require_react(), 1); // node_modules/@base-ui/react/internals/useAnimationsFinished.mjs var ReactDOM = __toESM(require_react_dom(), 1); // node_modules/@base-ui/react/utils/resolveRef.mjs function resolveRef(maybeRef) { if (maybeRef == null) { return maybeRef; } return "current" in maybeRef ? maybeRef.current : maybeRef; } // node_modules/@base-ui/react/internals/useAnimationsFinished.mjs function useAnimationsFinished(elementOrRef, waitForStartingStyleRemoved = false, treatAbortedAsFinished = true) { const frame = useAnimationFrame(); return useStableCallback((fnToExecute, signal = null) => { frame.cancel(); const element = resolveRef(elementOrRef); if (element == null) { return; } const resolvedElement = element; const done = () => { ReactDOM.flushSync(fnToExecute); }; if (typeof resolvedElement.getAnimations !== "function" || globalThis.BASE_UI_ANIMATIONS_DISABLED) { fnToExecute(); return; } function exec() { Promise.all(resolvedElement.getAnimations().map((animation) => animation.finished)).then(() => { if (!signal?.aborted) { done(); } }).catch(() => { if (treatAbortedAsFinished) { if (!signal?.aborted) { done(); } return; } const currentAnimations = resolvedElement.getAnimations(); if (!signal?.aborted && currentAnimations.length > 0 && currentAnimations.some((animation) => animation.pending || animation.playState !== "finished")) { exec(); } }); } if (waitForStartingStyleRemoved) { const startingStyleAttribute = TransitionStatusDataAttributes.startingStyle; if (!resolvedElement.hasAttribute(startingStyleAttribute)) { frame.request(exec); return; } const attributeObserver = new MutationObserver(() => { if (!resolvedElement.hasAttribute(startingStyleAttribute)) { attributeObserver.disconnect(); exec(); } }); attributeObserver.observe(resolvedElement, { attributes: true, attributeFilter: [startingStyleAttribute] }); signal?.addEventListener("abort", () => attributeObserver.disconnect(), { once: true }); return; } frame.request(exec); }); } // node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs function useOpenChangeComplete(parameters) { const { enabled = true, open, ref, onComplete: onCompleteParam } = parameters; const onComplete = useStableCallback(onCompleteParam); const runOnceAnimationsFinish = useAnimationsFinished(ref, open, false); React15.useEffect(() => { if (!enabled) { return void 0; } const abortController = new AbortController(); runOnceAnimationsFinish(onComplete, abortController.signal); return () => { abortController.abort(); }; }, [enabled, open, onComplete, runOnceAnimationsFinish]); } // node_modules/@base-ui/utils/useOnFirstRender.mjs var React16 = __toESM(require_react(), 1); function useOnFirstRender(fn) { const ref = React16.useRef(true); if (ref.current) { ref.current = false; fn(); } } // node_modules/@base-ui/utils/platform/parts.mjs var parts_exports = {}; __export(parts_exports, { engine: () => engine_exports, env: () => env_exports, os: () => os_exports, screenReader: () => screen_reader_exports }); // node_modules/@base-ui/utils/platform/os.mjs var os_exports = {}; __export(os_exports, { android: () => android, apple: () => apple, ios: () => ios, linux: () => linux, mac: () => mac, windows: () => windows }); // node_modules/@base-ui/utils/platform/shared.mjs function readRawData() { if (typeof navigator === "undefined") { return { userAgent: "", platform: "", maxTouchPoints: 0 }; } if (true) { const uaData = navigator.userAgentData; if (uaData && Array.isArray(uaData.brands)) { return { userAgent: uaData.brands.map(({ brand, version: version2 }) => `${brand}/${version2}`).join(" "), platform: uaData.platform ?? navigator.platform ?? "", maxTouchPoints: navigator.maxTouchPoints ?? 0 }; } } return { userAgent: navigator.userAgent, platform: navigator.platform ?? "", maxTouchPoints: navigator.maxTouchPoints ?? 0 }; } var { userAgent, platform, maxTouchPoints } = readRawData(); var lowerUserAgent = userAgent.toLowerCase(); var lowerPlatform = platform.toLowerCase(); // node_modules/@base-ui/utils/platform/os.mjs var ios = /^i(os$|p)/.test(lowerPlatform) || lowerPlatform === "macintel" && maxTouchPoints > 1; var ANDROID_STRING = "android"; var android = lowerPlatform === ANDROID_STRING || lowerUserAgent.includes(ANDROID_STRING); var mac = !ios && lowerPlatform.startsWith("mac"); var windows = lowerPlatform.startsWith("win"); var linux = !android && /^(linux|chrome os)/.test(lowerPlatform); var apple = mac || ios; // node_modules/@base-ui/utils/platform/engine.mjs var engine_exports = {}; __export(engine_exports, { blink: () => blink, gecko: () => gecko, webkit: () => webkit }); var webkit = typeof CSS !== "undefined" && !!CSS.supports?.("-webkit-backdrop-filter:none"); var gecko = !webkit && lowerUserAgent.includes("firefox"); var blink = !webkit && lowerUserAgent.includes("chrom"); // node_modules/@base-ui/utils/platform/screen-reader.mjs var screen_reader_exports = {}; __export(screen_reader_exports, { voiceOver: () => voiceOver }); var voiceOver = apple; // node_modules/@base-ui/utils/platform/env.mjs var env_exports = {}; __export(env_exports, { jsdom: () => jsdom }); var jsdom = /jsdom|happydom/.test(lowerUserAgent); // node_modules/@base-ui/utils/useTimeout.mjs var EMPTY3 = 0; var Timeout = class _Timeout { static create() { return new _Timeout(); } currentId = EMPTY3; /** * Executes `fn` after `delay`, clearing any previously scheduled call. */ start(delay, fn) { this.clear(); this.currentId = setTimeout(() => { this.currentId = EMPTY3; fn(); }, delay); } isStarted() { return this.currentId !== EMPTY3; } clear = () => { if (this.currentId !== EMPTY3) { clearTimeout(this.currentId); this.currentId = EMPTY3; } }; disposeEffect = () => { return this.clear; }; }; function useTimeout() { const timeout = useRefWithInit(Timeout.create).current; useOnMount(timeout.disposeEffect); return timeout; } // node_modules/@base-ui/react/floating-ui-react/components/FloatingDelayGroup.mjs var React17 = __toESM(require_react(), 1); // node_modules/@base-ui/react/floating-ui-react/utils/event.mjs function isReactEvent(event) { return "nativeEvent" in event; } function isMouseLikePointerType(pointerType, strict) { const values = ["mouse", "pen"]; if (!strict) { values.push("", void 0); } return values.includes(pointerType); } function isClickLikeEvent(event) { const type = event.type; return type === "click" || type === "mousedown" || type === "keydown" || type === "keyup"; } // node_modules/@base-ui/react/floating-ui-react/utils/constants.mjs var FOCUSABLE_ATTRIBUTE = "data-base-ui-focusable"; var TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])"; // node_modules/@base-ui/react/internals/shadowDom.mjs function activeElement(doc) { let element = doc.activeElement; while (element?.shadowRoot?.activeElement != null) { element = element.shadowRoot.activeElement; } return element; } function contains(parent, child) { if (!parent || !child) { return false; } const rootNode = child.getRootNode?.(); if (parent.contains(child)) { return true; } if (rootNode && isShadowRoot(rootNode)) { let next = child; while (next) { if (parent === next) { return true; } next = next.parentNode || next.host; } } return false; } function getTarget(event) { if ("composedPath" in event) { return event.composedPath()[0]; } return event.target; } // node_modules/@base-ui/react/floating-ui-react/utils/element.mjs function isTargetInsideEnabledTrigger(target, triggerElements) { if (!isElement(target)) { return false; } const targetElement = target; if (triggerElements.hasElement(targetElement)) { return !targetElement.hasAttribute("data-trigger-disabled"); } for (const [, trigger] of triggerElements.entries()) { if (contains(trigger, targetElement)) { return !trigger.hasAttribute("data-trigger-disabled"); } } return false; } function isEventTargetWithin(event, node) { if (node == null) { return false; } if ("composedPath" in event) { return event.composedPath().includes(node); } const eventAgain = event; return eventAgain.target != null && node.contains(eventAgain.target); } function isRootElement(element) { return element.matches("html,body"); } function isTypeableElement(element) { return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR); } function isInteractiveElement(element) { return element?.closest(`button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),${TYPEABLE_SELECTOR}`) != null; } function matchesFocusVisible(element) { if (!element || parts_exports.env.jsdom) { return true; } try { return element.matches(":focus-visible"); } catch (_e) { return true; } } // node_modules/@base-ui/react/floating-ui-react/hooks/useHoverShared.mjs function resolveValue(value, pointerType) { if (pointerType != null && !isMouseLikePointerType(pointerType)) { return 0; } if (typeof value === "function") { return value(); } return value; } function getDelay(value, prop, pointerType) { const result = resolveValue(value, pointerType); if (typeof result === "number") { return result; } return result?.[prop]; } function getRestMs(value) { if (typeof value === "function") { return value(); } return value; } function isClickLikeOpenEvent(openEventType, interactedInside) { return interactedInside || openEventType === "click" || openEventType === "mousedown"; } function isHoverOpenEvent(openEventType) { return openEventType?.includes("mouse") && openEventType !== "mousedown"; } // node_modules/@base-ui/react/floating-ui-react/components/FloatingDelayGroup.mjs var import_jsx_runtime = __toESM(require_jsx_runtime(), 1); var FloatingDelayGroupContext = /* @__PURE__ */ React17.createContext({ hasProvider: false, timeoutMs: 0, delayRef: { current: 0 }, initialDelayRef: { current: 0 }, timeout: new Timeout(), currentIdRef: { current: null }, currentContextRef: { current: null } }); if (true) FloatingDelayGroupContext.displayName = "FloatingDelayGroupContext"; function resetDelayRef(delayRef, initialDelayRef) { delayRef.current = initialDelayRef.current; } function FloatingDelayGroup(props) { const { children, delay, timeoutMs = 0 } = props; const delayRef = React17.useRef(delay); const initialDelayRef = React17.useRef(delay); const currentIdRef = React17.useRef(null); const currentContextRef = React17.useRef(null); const timeout = useTimeout(); useIsoLayoutEffect(() => { initialDelayRef.current = delay; if (!currentIdRef.current) { delayRef.current = delay; return; } delayRef.current = { open: getDelay(delayRef.current, "open"), close: getDelay(delay, "close") }; }, [delay, currentIdRef, delayRef, initialDelayRef]); return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FloatingDelayGroupContext.Provider, { value: React17.useMemo(() => ({ hasProvider: true, delayRef, initialDelayRef, currentIdRef, timeoutMs, currentContextRef, timeout }), [timeoutMs, timeout]), children }); } function useDelayGroup(context, options = { open: false }) { const { open } = options; const store2 = "rootStore" in context ? context.rootStore : context; const floatingId = store2.useState("floatingId"); const groupContext = React17.useContext(FloatingDelayGroupContext); const { currentIdRef, delayRef, timeoutMs, initialDelayRef, currentContextRef, hasProvider, timeout } = groupContext; const [isInstantPhase, setIsInstantPhase] = React17.useState(false); const openRef = React17.useRef(open); const isUnmountedRef = React17.useRef(false); useIsoLayoutEffect(() => { openRef.current = open; }, [open]); useIsoLayoutEffect(() => { return () => { isUnmountedRef.current = true; }; }, []); useIsoLayoutEffect(() => { function unset() { if (!isUnmountedRef.current) { setIsInstantPhase(false); } currentContextRef.current?.setIsInstantPhase(false); currentIdRef.current = null; currentContextRef.current = null; delayRef.current = initialDelayRef.current; timeout.clear(); } if (!currentIdRef.current) { return void 0; } if (!open && currentIdRef.current === floatingId) { setIsInstantPhase(false); if (timeoutMs) { const closingId = floatingId; timeout.start(timeoutMs, () => { if (store2.select("open") || currentIdRef.current && currentIdRef.current !== closingId) { return; } unset(); }); return () => { if (openRef.current || currentIdRef.current !== closingId) { timeout.clear(); } }; } unset(); } return void 0; }, [open, floatingId, currentIdRef, delayRef, timeoutMs, initialDelayRef, currentContextRef, timeout, store2]); useIsoLayoutEffect(() => { if (!open) { return; } const prevContext = currentContextRef.current; const prevId = currentIdRef.current; timeout.clear(); currentContextRef.current = { onOpenChange: store2.setOpen, setIsInstantPhase }; currentIdRef.current = floatingId; delayRef.current = { open: 0, close: getDelay(initialDelayRef.current, "close") }; if (prevId !== null && prevId !== floatingId) { setIsInstantPhase(true); prevContext?.setIsInstantPhase(true); prevContext?.onOpenChange(false, createChangeEventDetails(reason_parts_exports.none)); } else { setIsInstantPhase(false); prevContext?.setIsInstantPhase(false); } }, [open, floatingId, store2, currentIdRef, delayRef, initialDelayRef, currentContextRef, timeout]); useIsoLayoutEffect(() => { return () => { if (currentIdRef.current === floatingId) { currentContextRef.current = null; if (!openRef.current) { return; } currentIdRef.current = null; resetDelayRef(delayRef, initialDelayRef); timeout.clear(); } }; }, [currentContextRef, currentIdRef, delayRef, floatingId, initialDelayRef, timeout]); return React17.useMemo(() => ({ hasProvider, delayRef, isInstantPhase }), [hasProvider, delayRef, isInstantPhase]); } // node_modules/@base-ui/utils/mergeCleanups.mjs function mergeCleanups(...cleanups) { return () => { for (let i = 0; i < cleanups.length; i += 1) { const cleanup = cleanups[i]; if (cleanup) { cleanup(); } } }; } // node_modules/@base-ui/react/utils/FocusGuard.mjs var React18 = __toESM(require_react(), 1); // node_modules/@base-ui/utils/visuallyHidden.mjs var visuallyHiddenBase = { clipPath: "inset(50%)", overflow: "hidden", whiteSpace: "nowrap", border: 0, padding: 0, width: 1, height: 1, margin: -1 }; var visuallyHidden = { ...visuallyHiddenBase, position: "fixed", top: 0, left: 0 }; var visuallyHiddenInput = { ...visuallyHiddenBase, position: "absolute" }; // node_modules/@base-ui/react/utils/FocusGuard.mjs var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1); var FocusGuard = /* @__PURE__ */ React18.forwardRef(function FocusGuard2(props, ref) { const [role, setRole] = React18.useState(); useIsoLayoutEffect(() => { if (parts_exports.screenReader.voiceOver && parts_exports.engine.webkit) { setRole("button"); } }, []); const restProps = { tabIndex: 0, // Role is only for VoiceOver role }; return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { ...props, ref, style: visuallyHidden, "aria-hidden": role ? void 0 : true, ...restProps, "data-base-ui-focus-guard": "" }); }); if (true) FocusGuard.displayName = "FocusGuard"; // node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs var sides = ["top", "right", "bottom", "left"]; var min = Math.min; var max = Math.max; var round = Math.round; var floor = Math.floor; var createCoords = (v) => ({ x: v, y: v }); var oppositeSideMap = { left: "right", right: "left", bottom: "top", top: "bottom" }; function clamp(start, value, end) { return max(start, min(value, end)); } function evaluate(value, param) { return typeof value === "function" ? value(param) : value; } function getSide(placement) { return placement.split("-")[0]; } function getAlignment(placement) { return placement.split("-")[1]; } function getOppositeAxis(axis) { return axis === "x" ? "y" : "x"; } function getAxisLength(axis) { return axis === "y" ? "height" : "width"; } function getSideAxis(placement) { const firstChar = placement[0]; return firstChar === "t" || firstChar === "b" ? "y" : "x"; } function getAlignmentAxis(placement) { return getOppositeAxis(getSideAxis(placement)); } function getAlignmentSides(placement, rects, rtl) { if (rtl === void 0) { rtl = false; } const alignment = getAlignment(placement); const alignmentAxis = getAlignmentAxis(placement); const length = getAxisLength(alignmentAxis); let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top"; if (rects.reference[length] > rects.floating[length]) { mainAlignmentSide = getOppositePlacement(mainAlignmentSide); } return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)]; } function getExpandedPlacements(placement) { const oppositePlacement = getOppositePlacement(placement); return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)]; } function getOppositeAlignmentPlacement(placement) { return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start"); } var lrPlacement = ["left", "right"]; var rlPlacement = ["right", "left"]; var tbPlacement = ["top", "bottom"]; var btPlacement = ["bottom", "top"]; function getSideList(side, isStart, rtl) { switch (side) { case "top": case "bottom": if (rtl) return isStart ? rlPlacement : lrPlacement; return isStart ? lrPlacement : rlPlacement; case "left": case "right": return isStart ? tbPlacement : btPlacement; default: return []; } } function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) { const alignment = getAlignment(placement); let list = getSideList(getSide(placement), direction === "start", rtl); if (alignment) { list = list.map((side) => side + "-" + alignment); if (flipAlignment) { list = list.concat(list.map(getOppositeAlignmentPlacement)); } } return list; } function getOppositePlacement(placement) { const side = getSide(placement); return oppositeSideMap[side] + placement.slice(side.length); } function expandPaddingObject(padding) { return { top: 0, right: 0, bottom: 0, left: 0, ...padding }; } function getPaddingObject(padding) { return typeof padding !== "number" ? expandPaddingObject(padding) : { top: padding, right: padding, bottom: padding, left: padding }; } function rectToClientRect(rect) { const { x, y, width, height } = rect; return { width, height, top: y, left: x, right: x + width, bottom: y + height, x, y }; } // node_modules/@base-ui/react/floating-ui-react/utils/composite.mjs function isHiddenByStyles(styles) { return styles.visibility === "hidden" || styles.visibility === "collapse"; } function isElementVisible(element, styles = element ? getComputedStyle2(element) : null) { if (!element || !element.isConnected || !styles || isHiddenByStyles(styles)) { return false; } if (typeof element.checkVisibility === "function") { return element.checkVisibility(); } return styles.display !== "none" && styles.display !== "contents"; } // node_modules/@base-ui/react/floating-ui-react/utils/tabbable.mjs var CANDIDATE_SELECTOR = 'a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]'; function getParentElement(element) { const assignedSlot = element.assignedSlot; if (assignedSlot) { return assignedSlot; } if (element.parentElement) { return element.parentElement; } const rootNode = element.getRootNode(); return isShadowRoot(rootNode) ? rootNode.host : null; } function getDetailsSummary(details) { for (const child of Array.from(details.children)) { if (getNodeName(child) === "summary") { return child; } } return null; } function isWithinOpenDetailsSummary(element, details) { const summary = getDetailsSummary(details); return !!summary && (element === summary || contains(summary, element)); } function isFocusableCandidate(element) { const nodeName = element ? getNodeName(element) : ""; return element != null && element.matches(CANDIDATE_SELECTOR) && (nodeName !== "summary" || element.parentElement != null && getNodeName(element.parentElement) === "details" && getDetailsSummary(element.parentElement) === element) && (nodeName !== "details" || getDetailsSummary(element) == null) && (nodeName !== "input" || element.type !== "hidden"); } function isFocusableElement(element) { if (!isFocusableCandidate(element) || !element.isConnected || element.matches(":disabled")) { return false; } for (let current = element; current; current = getParentElement(current)) { const isAncestor = current !== element; const isSlot = getNodeName(current) === "slot"; if (current.hasAttribute("inert")) { return false; } if (isAncestor && getNodeName(current) === "details" && !current.open && !isWithinOpenDetailsSummary(element, current) || current.hasAttribute("hidden") || !isSlot && !isVisibleInTabbableTree(current, isAncestor)) { return false; } } return true; } function isVisibleInTabbableTree(element, isAncestor) { const styles = getComputedStyle2(element); if (!isAncestor) { return isElementVisible(element, styles); } return styles.display !== "none"; } function getTabIndex(element) { const tabIndex = element.tabIndex; if (tabIndex < 0) { const nodeName = getNodeName(element); if (nodeName === "details" || nodeName === "audio" || nodeName === "video" || isHTMLElement(element) && element.isContentEditable) { return 0; } } return tabIndex; } function getNamedRadioInput(element) { if (getNodeName(element) !== "input") { return null; } const input = element; return input.type === "radio" && input.name !== "" ? input : null; } function isTabbableRadio(element, candidates) { const input = getNamedRadioInput(element); if (!input) { return true; } const checkedRadio = candidates.find((candidate) => { const radio = getNamedRadioInput(candidate); return radio?.name === input.name && radio.form === input.form && radio.checked; }); if (checkedRadio) { return checkedRadio === input; } return candidates.find((candidate) => { const radio = getNamedRadioInput(candidate); return radio?.name === input.name && radio.form === input.form; }) === input; } function getComposedChildren(container) { if (isHTMLElement(container) && getNodeName(container) === "slot") { const assignedElements = container.assignedElements({ flatten: true }); if (assignedElements.length > 0) { return assignedElements; } } if (isHTMLElement(container) && container.shadowRoot) { return Array.from(container.shadowRoot.children); } return Array.from(container.children); } function appendCandidates(container, list) { getComposedChildren(container).forEach((child) => { if (isFocusableCandidate(child)) { list.push(child); } appendCandidates(child, list); }); } function appendMatchingElements(container, selector, list) { getComposedChildren(container).forEach((child) => { if (isHTMLElement(child) && child.matches(selector)) { list.push(child); } appendMatchingElements(child, selector, list); }); } function focusable(container) { const candidates = []; appendCandidates(container, candidates); return candidates.filter(isFocusableElement); } function tabbable(container) { const candidates = focusable(container); return candidates.filter((element) => getTabIndex(element) >= 0 && isTabbableRadio(element, candidates)); } function getTabbableIn(container, dir) { const list = tabbable(container); const len = list.length; if (len === 0) { return void 0; } const active = activeElement(ownerDocument(container)); const index2 = list.indexOf(active); const nextIndex = index2 === -1 ? dir === 1 ? 0 : len - 1 : index2 + dir; return list[nextIndex]; } function getNextTabbable(referenceElement) { return getTabbableIn(ownerDocument(referenceElement).body, 1) || referenceElement; } function getPreviousTabbable(referenceElement) { return getTabbableIn(ownerDocument(referenceElement).body, -1) || referenceElement; } function isOutsideEvent(event, container) { const containerElement = container || event.currentTarget; const relatedTarget = event.relatedTarget; return !relatedTarget || !contains(containerElement, relatedTarget); } function disableFocusInside(container) { const tabbableElements = tabbable(container); tabbableElements.forEach((element) => { element.dataset.tabindex = element.getAttribute("tabindex") || ""; element.setAttribute("tabindex", "-1"); }); } function enableFocusInside(container) { const elements = []; appendMatchingElements(container, "[data-tabindex]", elements); elements.forEach((element) => { const tabindex = element.dataset.tabindex; delete element.dataset.tabindex; if (tabindex) { element.setAttribute("tabindex", tabindex); } else { element.removeAttribute("tabindex"); } }); } // node_modules/@base-ui/react/floating-ui-react/utils/nodes.mjs function getNodeChildren(nodes, id, onlyOpenChildren = true) { const directChildren = nodes.filter((node) => node.parentId === id); return directChildren.flatMap((child) => [...!onlyOpenChildren || child.context?.open ? [child] : [], ...getNodeChildren(nodes, child.id, onlyOpenChildren)]); } // node_modules/@base-ui/react/floating-ui-react/utils/createAttribute.mjs function createAttribute(name) { return `data-base-ui-${name}`; } // node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs var React19 = __toESM(require_react(), 1); var ReactDOM2 = __toESM(require_react_dom(), 1); // node_modules/@base-ui/react/internals/constants.mjs var DISABLED_TRANSITIONS_STYLE = { style: { transition: "none" } }; var BASE_UI_SWIPE_IGNORE_ATTRIBUTE = "data-base-ui-swipe-ignore"; var LEGACY_SWIPE_IGNORE_ATTRIBUTE = "data-swipe-ignore"; var BASE_UI_SWIPE_IGNORE_SELECTOR = `[${BASE_UI_SWIPE_IGNORE_ATTRIBUTE}]`; var LEGACY_SWIPE_IGNORE_SELECTOR = `[${LEGACY_SWIPE_IGNORE_ATTRIBUTE}]`; var POPUP_COLLISION_AVOIDANCE = { fallbackAxisSide: "end" }; var ownerVisuallyHidden = { clipPath: "inset(50%)", position: "fixed", top: 0, left: 0 }; // node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1); var PortalContext = /* @__PURE__ */ React19.createContext(null); if (true) PortalContext.displayName = "PortalContext"; var usePortalContext = () => React19.useContext(PortalContext); var attr = createAttribute("portal"); function useFloatingPortalNode(props = {}) { const { ref, container: containerProp, componentProps = EMPTY_OBJECT, elementProps } = props; const uniqueId = useId(); const portalContext = usePortalContext(); const parentPortalNode = portalContext?.portalNode; const [containerElement, setContainerElement] = React19.useState(null); const [portalNode, setPortalNode] = React19.useState(null); const setPortalNodeRef = useStableCallback((node) => { if (node !== null) { setPortalNode(node); } }); const containerRef = React19.useRef(null); useIsoLayoutEffect(() => { if (containerProp === null) { if (containerRef.current) { containerRef.current = null; setPortalNode(null); setContainerElement(null); } return; } if (uniqueId == null) { return; } const resolvedContainer = (containerProp && (isNode(containerProp) ? containerProp : containerProp.current)) ?? parentPortalNode ?? document.body; if (resolvedContainer == null) { if (containerRef.current) { containerRef.current = null; setPortalNode(null); setContainerElement(null); } return; } if (containerRef.current !== resolvedContainer) { containerRef.current = resolvedContainer; setPortalNode(null); setContainerElement(resolvedContainer); } }, [containerProp, parentPortalNode, uniqueId]); const portalElement = useRenderElement("div", componentProps, { ref: [ref, setPortalNodeRef], props: [{ id: uniqueId, [attr]: "" }, elementProps] }); const portalSubtree = containerElement && portalElement ? /* @__PURE__ */ ReactDOM2.createPortal(portalElement, containerElement) : null; return { portalNode, portalSubtree }; } var FloatingPortal = /* @__PURE__ */ React19.forwardRef(function FloatingPortal2(componentProps, forwardedRef) { const { render, className, style, children, container, renderGuards, ...elementProps } = componentProps; const { portalNode, portalSubtree } = useFloatingPortalNode({ container, ref: forwardedRef, componentProps, elementProps }); const beforeOutsideRef = React19.useRef(null); const afterOutsideRef = React19.useRef(null); const beforeInsideRef = React19.useRef(null); const afterInsideRef = React19.useRef(null); const [focusManagerState, setFocusManagerState] = React19.useState(null); const focusInsideDisabledRef = React19.useRef(false); const modal = focusManagerState?.modal; const open = focusManagerState?.open; const shouldRenderGuards = typeof renderGuards === "boolean" ? renderGuards : !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode; React19.useEffect(() => { if (!portalNode || modal) { return void 0; } function onFocus(event) { if (portalNode && event.relatedTarget && isOutsideEvent(event)) { if (event.type === "focusin") { if (focusInsideDisabledRef.current) { enableFocusInside(portalNode); focusInsideDisabledRef.current = false; } } else { disableFocusInside(portalNode); focusInsideDisabledRef.current = true; } } } return mergeCleanups(addEventListener(portalNode, "focusin", onFocus, true), addEventListener(portalNode, "focusout", onFocus, true)); }, [portalNode, modal]); useIsoLayoutEffect(() => { if (!portalNode || open !== true || !focusInsideDisabledRef.current) { return; } enableFocusInside(portalNode); focusInsideDisabledRef.current = false; }, [open, portalNode]); const portalContextValue = React19.useMemo(() => ({ beforeOutsideRef, afterOutsideRef, beforeInsideRef, afterInsideRef, portalNode, setFocusManagerState }), [portalNode]); return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(React19.Fragment, { children: [portalSubtree, /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(PortalContext.Provider, { value: portalContextValue, children: [shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FocusGuard, { "data-type": "outside", ref: beforeOutsideRef, onFocus: (event) => { if (isOutsideEvent(event, portalNode)) { beforeInsideRef.current?.focus(); } else { const domReference = focusManagerState ? focusManagerState.domReference : null; const prevTabbable = getPreviousTabbable(domReference); prevTabbable?.focus(); } } }), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { "aria-owns": portalNode.id, style: ownerVisuallyHidden }), portalNode && /* @__PURE__ */ ReactDOM2.createPortal(children, portalNode), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FocusGuard, { "data-type": "outside", ref: afterOutsideRef, onFocus: (event) => { if (isOutsideEvent(event, portalNode)) { afterInsideRef.current?.focus(); } else { const domReference = focusManagerState ? focusManagerState.domReference : null; const nextTabbable = getNextTabbable(domReference); nextTabbable?.focus(); if (focusManagerState?.closeOnFocusOut) { focusManagerState?.onOpenChange(false, createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent)); } } } })] })] }); }); if (true) FloatingPortal.displayName = "FloatingPortal"; // node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs var React20 = __toESM(require_react(), 1); // node_modules/@base-ui/react/floating-ui-react/utils/createEventEmitter.mjs function createEventEmitter() { const map = /* @__PURE__ */ new Map(); return { emit(event, data) { map.get(event)?.forEach((listener) => listener(data)); }, on(event, listener) { if (!map.has(event)) { map.set(event, /* @__PURE__ */ new Set()); } map.get(event).add(listener); }, off(event, listener) { map.get(event)?.delete(listener); } }; } // node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1); var FloatingNodeContext = /* @__PURE__ */ React20.createContext(null); if (true) FloatingNodeContext.displayName = "FloatingNodeContext"; var FloatingTreeContext = /* @__PURE__ */ React20.createContext(null); if (true) FloatingTreeContext.displayName = "FloatingTreeContext"; var useFloatingParentNodeId = () => React20.useContext(FloatingNodeContext)?.id || null; var useFloatingTree = (externalTree) => { const contextTree = React20.useContext(FloatingTreeContext); return externalTree ?? contextTree; }; // node_modules/@base-ui/react/floating-ui-react/hooks/useClientPoint.mjs var React21 = __toESM(require_react(), 1); function createVirtualElement(domElement, data) { let offsetX = null; let offsetY = null; let isAutoUpdateEvent = false; return { contextElement: domElement || void 0, getBoundingClientRect() { const domRect = domElement?.getBoundingClientRect() || { width: 0, height: 0, x: 0, y: 0 }; const isXAxis = data.axis === "x" || data.axis === "both"; const isYAxis = data.axis === "y" || data.axis === "both"; const canTrackCursorOnAutoUpdate = ["mouseenter", "mousemove"].includes(data.dataRef.current.openEvent?.type || "") && data.pointerType !== "touch"; let width = domRect.width; let height = domRect.height; let x = domRect.x; let y = domRect.y; if (offsetX == null && data.x && isXAxis) { offsetX = domRect.x - data.x; } if (offsetY == null && data.y && isYAxis) { offsetY = domRect.y - data.y; } x -= offsetX || 0; y -= offsetY || 0; width = 0; height = 0; if (!isAutoUpdateEvent || canTrackCursorOnAutoUpdate) { width = data.axis === "y" ? domRect.width : 0; height = data.axis === "x" ? domRect.height : 0; x = isXAxis && data.x != null ? data.x : x; y = isYAxis && data.y != null ? data.y : y; } else if (isAutoUpdateEvent && !canTrackCursorOnAutoUpdate) { height = data.axis === "x" ? domRect.height : height; width = data.axis === "y" ? domRect.width : width; } isAutoUpdateEvent = true; return { width, height, x, y, top: y, right: x + width, bottom: y + height, left: x }; } }; } function isMouseBasedEvent(event) { return event != null && event.clientX != null; } function useClientPoint(context, props = {}) { const { enabled = true, axis = "both" } = props; const store2 = "rootStore" in context ? context.rootStore : context; const open = store2.useState("open"); const floating = store2.useState("floatingElement"); const domReference = store2.useState("domReferenceElement"); const dataRef = store2.context.dataRef; const initialRef = React21.useRef(false); const cleanupListenerRef = React21.useRef(null); const [pointerType, setPointerType] = React21.useState(); const [reactive, setReactive] = React21.useState([]); const resetReference = useStableCallback((reference2) => { store2.set("positionReference", reference2); }); const setReference = useStableCallback((newX, newY, referenceElement) => { if (initialRef.current) { return; } if (dataRef.current.openEvent && !isMouseBasedEvent(dataRef.current.openEvent)) { return; } store2.set("positionReference", createVirtualElement(referenceElement ?? domReference, { x: newX, y: newY, axis, dataRef, pointerType })); }); const handleReferenceEnterOrMove = useStableCallback((event) => { if (!open) { setReference(event.clientX, event.clientY, event.currentTarget); } else if (!cleanupListenerRef.current) { setReference(event.clientX, event.clientY, event.currentTarget); setReactive([]); } }); const openCheck = isMouseLikePointerType(pointerType) ? floating : open; React21.useEffect(() => { if (!enabled) { resetReference(domReference); return void 0; } if (!openCheck) { return void 0; } function cleanupListener() { cleanupListenerRef.current?.(); cleanupListenerRef.current = null; } const win = getWindow(floating); function handleMouseMove(event) { const target = getTarget(event); if (!contains(floating, target)) { setReference(event.clientX, event.clientY); } else { cleanupListener(); } } if (!dataRef.current.openEvent || isMouseBasedEvent(dataRef.current.openEvent)) { cleanupListenerRef.current = addEventListener(win, "mousemove", handleMouseMove); } else { resetReference(domReference); } return cleanupListener; }, [openCheck, enabled, floating, dataRef, domReference, store2, setReference, resetReference, reactive]); React21.useEffect(() => () => { store2.set("positionReference", null); }, [store2]); React21.useEffect(() => { if (enabled && !floating) { initialRef.current = false; } }, [enabled, floating]); React21.useEffect(() => { if (!enabled && open) { initialRef.current = true; } }, [enabled, open]); const reference = React21.useMemo(() => { function setPointerTypeRef(event) { setPointerType(event.pointerType); } return { onPointerDown: setPointerTypeRef, onPointerEnter: setPointerTypeRef, onMouseMove: handleReferenceEnterOrMove, onMouseEnter: handleReferenceEnterOrMove }; }, [handleReferenceEnterOrMove]); return React21.useMemo(() => enabled ? { reference, trigger: reference } : {}, [enabled, reference]); } // node_modules/@base-ui/react/floating-ui-react/hooks/useDismiss.mjs var React22 = __toESM(require_react(), 1); function alwaysFalse() { return false; } function normalizeProp(normalizable) { return { escapeKey: typeof normalizable === "boolean" ? normalizable : normalizable?.escapeKey ?? false, outsidePress: typeof normalizable === "boolean" ? normalizable : normalizable?.outsidePress ?? true }; } function useDismiss(context, props = {}) { const { enabled = true, escapeKey: escapeKey2 = true, outsidePress: outsidePressProp = true, outsidePressEvent = "sloppy", referencePress = alwaysFalse, bubbles, externalTree } = props; const store2 = "rootStore" in context ? context.rootStore : context; const open = store2.useState("open"); const floatingElement = store2.useState("floatingElement"); const { dataRef } = store2.context; const tree = useFloatingTree(externalTree); const outsidePressFn = useStableCallback(typeof outsidePressProp === "function" ? outsidePressProp : () => false); const outsidePress2 = typeof outsidePressProp === "function" ? outsidePressFn : outsidePressProp; const outsidePressEnabled = outsidePress2 !== false; const getOutsidePressEventProp = useStableCallback(() => outsidePressEvent); const { escapeKey: escapeKeyBubbles, outsidePress: outsidePressBubbles } = normalizeProp(bubbles); const pressStartedInsideRef = React22.useRef(false); const pressStartPreventedRef = React22.useRef(false); const suppressNextOutsideClickRef = React22.useRef(false); const isComposingRef = React22.useRef(false); const currentPointerTypeRef = React22.useRef(""); const touchStateRef = React22.useRef(null); const cancelDismissOnEndTimeout = useTimeout(); const clearInsideReactTreeTimeout = useTimeout(); const clearInsideReactTree = useStableCallback(() => { clearInsideReactTreeTimeout.clear(); dataRef.current.insideReactTree = false; }); const hasBlockingChild = useStableCallback((bubbleKey) => { const nodeId = dataRef.current.floatingContext?.nodeId; const children = tree ? getNodeChildren(tree.nodesRef.current, nodeId) : []; return children.some((child) => child.context?.open && !child.context.dataRef.current[bubbleKey]); }); const isEventWithinOwnElements = useStableCallback((event) => { return isEventTargetWithin(event, store2.select("floatingElement")) || isEventTargetWithin(event, store2.select("domReferenceElement")); }); const closeOnReferencePress = useStableCallback((event) => { if (!referencePress()) { return; } store2.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerPress, event.nativeEvent)); }); const closeOnEscapeKeyDown = useStableCallback((event) => { if (!open || !enabled || !escapeKey2 || event.key !== "Escape") { return; } if (isComposingRef.current) { return; } if (!escapeKeyBubbles && hasBlockingChild("__escapeKeyBubbles")) { return; } const native = isReactEvent(event) ? event.nativeEvent : event; const eventDetails = createChangeEventDetails(reason_parts_exports.escapeKey, native); store2.setOpen(false, eventDetails); if (!eventDetails.isCanceled) { event.preventDefault(); } if (!escapeKeyBubbles && !eventDetails.isPropagationAllowed) { event.stopPropagation(); } }); const markInsideReactTree = useStableCallback(() => { dataRef.current.insideReactTree = true; clearInsideReactTreeTimeout.start(0, clearInsideReactTree); }); const markPressStartedInsideReactTree = useStableCallback((event) => { if (!open || !enabled || event.button !== 0) { return; } const target = getTarget(event.nativeEvent); if (!contains(store2.select("floatingElement"), target)) { return; } if (!pressStartedInsideRef.current) { pressStartedInsideRef.current = true; pressStartPreventedRef.current = false; } }); const markInsidePressStartPrevented = useStableCallback((event) => { if (!open || !enabled) { return; } if (!(event.defaultPrevented || event.nativeEvent.defaultPrevented)) { return; } if (pressStartedInsideRef.current) { pressStartPreventedRef.current = true; } }); React22.useEffect(() => { if (!open || !enabled) { return void 0; } dataRef.current.__escapeKeyBubbles = escapeKeyBubbles; dataRef.current.__outsidePressBubbles = outsidePressBubbles; const compositionTimeout = new Timeout(); const preventedPressSuppressionTimeout = new Timeout(); function handleCompositionStart() { compositionTimeout.clear(); isComposingRef.current = true; } function handleCompositionEnd() { compositionTimeout.start( // 0ms or 1ms don't work in Safari. 5ms appears to consistently work. // Only apply to WebKit for the test to remain 0ms. parts_exports.engine.webkit ? 5 : 0, () => { isComposingRef.current = false; } ); } function suppressImmediateOutsideClickAfterPreventedStart() { suppressNextOutsideClickRef.current = true; preventedPressSuppressionTimeout.start(0, () => { suppressNextOutsideClickRef.current = false; }); } function resetPressStartState() { pressStartedInsideRef.current = false; pressStartPreventedRef.current = false; } function getOutsidePressEvent() { const type = currentPointerTypeRef.current; const computedType = type === "pen" || !type ? "mouse" : type; const outsidePressEventValue = getOutsidePressEventProp(); const resolved = typeof outsidePressEventValue === "function" ? outsidePressEventValue() : outsidePressEventValue; if (typeof resolved === "string") { return resolved; } return resolved[computedType]; } function shouldIgnoreEvent(event) { const computedOutsidePressEvent = getOutsidePressEvent(); return computedOutsidePressEvent === "intentional" && event.type !== "click" || computedOutsidePressEvent === "sloppy" && event.type === "click"; } function isEventWithinFloatingTree(event) { const nodeId = dataRef.current.floatingContext?.nodeId; const targetIsInsideChildren = tree && getNodeChildren(tree.nodesRef.current, nodeId).some((node) => isEventTargetWithin(event, node.context?.elements.floating)); return isEventWithinOwnElements(event) || targetIsInsideChildren; } function closeOnPressOutside(event) { if (shouldIgnoreEvent(event)) { if (event.type !== "click" && !isEventWithinOwnElements(event)) { preventedPressSuppressionTimeout.clear(); suppressNextOutsideClickRef.current = false; } clearInsideReactTree(); return; } if (dataRef.current.insideReactTree) { clearInsideReactTree(); return; } const target = getTarget(event); const inertSelector = `[${createAttribute("inert")}]`; const targetRoot = isElement(target) ? target.getRootNode() : null; const markers = Array.from((isShadowRoot(targetRoot) ? targetRoot : ownerDocument(store2.select("floatingElement"))).querySelectorAll(inertSelector)); const triggers = store2.context.triggerElements; if (target && (triggers.hasElement(target) || triggers.hasMatchingElement((trigger) => contains(trigger, target)))) { return; } let targetRootAncestor = isElement(target) ? target : null; while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) { const nextParent = getParentNode(targetRootAncestor); if (isLastTraversableNode(nextParent) || !isElement(nextParent)) { break; } targetRootAncestor = nextParent; } if (markers.length && isElement(target) && !isRootElement(target) && // Clicked on a direct ancestor (e.g. FloatingOverlay). !contains(target, store2.select("floatingElement")) && // If the target root element contains none of the markers, then the // element was injected after the floating element rendered. markers.every((marker) => !contains(targetRootAncestor, marker))) { return; } if (isHTMLElement(target) && !("touches" in event)) { const lastTraversableNode = isLastTraversableNode(target); const style = getComputedStyle2(target); const scrollRe = /auto|scroll/; const isScrollableX = lastTraversableNode || scrollRe.test(style.overflowX); const isScrollableY = lastTraversableNode || scrollRe.test(style.overflowY); const canScrollX = isScrollableX && target.clientWidth > 0 && target.scrollWidth > target.clientWidth; const canScrollY = isScrollableY && target.clientHeight > 0 && target.scrollHeight > target.clientHeight; const isRTL2 = style.direction === "rtl"; const pressedVerticalScrollbar = canScrollY && (isRTL2 ? event.offsetX <= target.offsetWidth - target.clientWidth : event.offsetX > target.clientWidth); const pressedHorizontalScrollbar = canScrollX && event.offsetY > target.clientHeight; if (pressedVerticalScrollbar || pressedHorizontalScrollbar) { return; } } if (isEventWithinFloatingTree(event)) { return; } if (getOutsidePressEvent() === "intentional" && suppressNextOutsideClickRef.current) { preventedPressSuppressionTimeout.clear(); suppressNextOutsideClickRef.current = false; return; } if (typeof outsidePress2 === "function" && !outsidePress2(event)) { return; } if (hasBlockingChild("__outsidePressBubbles")) { return; } store2.setOpen(false, createChangeEventDetails(reason_parts_exports.outsidePress, event)); clearInsideReactTree(); } function handlePointerDown(event) { if (getOutsidePressEvent() !== "sloppy" || event.pointerType === "touch" || !store2.select("open") || !enabled || isEventWithinOwnElements(event)) { return; } closeOnPressOutside(event); } function handleTouchStart(event) { if (getOutsidePressEvent() !== "sloppy" || !store2.select("open") || !enabled || isEventWithinOwnElements(event)) { return; } const touch = event.touches[0]; if (touch) { touchStateRef.current = { startTime: Date.now(), startX: touch.clientX, startY: touch.clientY, dismissOnTouchEnd: false, dismissOnMouseDown: true }; cancelDismissOnEndTimeout.start(1e3, () => { if (touchStateRef.current) { touchStateRef.current.dismissOnTouchEnd = false; touchStateRef.current.dismissOnMouseDown = false; } }); } } function addTargetEventListenerOnce(event, listener) { const target = getTarget(event); if (!target) { return; } const unsubscribe2 = addEventListener(target, event.type, () => { listener(event); unsubscribe2(); }); } function handleTouchStartCapture(event) { currentPointerTypeRef.current = "touch"; addTargetEventListenerOnce(event, handleTouchStart); } function closeOnPressOutsideCapture(event) { cancelDismissOnEndTimeout.clear(); if (event.type === "pointerdown") { currentPointerTypeRef.current = event.pointerType; } if (event.type === "mousedown" && touchStateRef.current && !touchStateRef.current.dismissOnMouseDown) { return; } addTargetEventListenerOnce(event, (targetEvent) => { if (targetEvent.type === "pointerdown") { handlePointerDown(targetEvent); } else { closeOnPressOutside(targetEvent); } }); } function handlePressEndCapture(event) { if (!pressStartedInsideRef.current) { return; } const pressStartedInsideDefaultPrevented = pressStartPreventedRef.current; resetPressStartState(); if (getOutsidePressEvent() !== "intentional") { return; } if (event.type === "pointercancel") { if (pressStartedInsideDefaultPrevented) { suppressImmediateOutsideClickAfterPreventedStart(); } return; } if (isEventWithinFloatingTree(event)) { return; } if (pressStartedInsideDefaultPrevented) { suppressImmediateOutsideClickAfterPreventedStart(); return; } if (typeof outsidePress2 === "function" && !outsidePress2(event)) { return; } preventedPressSuppressionTimeout.clear(); suppressNextOutsideClickRef.current = true; clearInsideReactTree(); } function handleTouchMove(event) { if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) { return; } const touch = event.touches[0]; if (!touch) { return; } const deltaX = Math.abs(touch.clientX - touchStateRef.current.startX); const deltaY = Math.abs(touch.clientY - touchStateRef.current.startY); const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY); if (distance > 5) { touchStateRef.current.dismissOnTouchEnd = true; } if (distance > 10) { closeOnPressOutside(event); cancelDismissOnEndTimeout.clear(); touchStateRef.current = null; } } function handleTouchMoveCapture(event) { addTargetEventListenerOnce(event, handleTouchMove); } function handleTouchEnd(event) { if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) { return; } if (touchStateRef.current.dismissOnTouchEnd) { closeOnPressOutside(event); } cancelDismissOnEndTimeout.clear(); touchStateRef.current = null; } function handleTouchEndCapture(event) { addTargetEventListenerOnce(event, handleTouchEnd); } const doc = ownerDocument(floatingElement); const unsubscribe = mergeCleanups(escapeKey2 && mergeCleanups(addEventListener(doc, "keydown", closeOnEscapeKeyDown), addEventListener(doc, "compositionstart", handleCompositionStart), addEventListener(doc, "compositionend", handleCompositionEnd)), outsidePressEnabled && mergeCleanups(addEventListener(doc, "click", closeOnPressOutsideCapture, true), addEventListener(doc, "pointerdown", closeOnPressOutsideCapture, true), addEventListener(doc, "pointerup", handlePressEndCapture, true), addEventListener(doc, "pointercancel", handlePressEndCapture, true), addEventListener(doc, "mousedown", closeOnPressOutsideCapture, true), addEventListener(doc, "mouseup", handlePressEndCapture, true), addEventListener(doc, "touchstart", handleTouchStartCapture, true), addEventListener(doc, "touchmove", handleTouchMoveCapture, true), addEventListener(doc, "touchend", handleTouchEndCapture, true))); return () => { unsubscribe(); compositionTimeout.clear(); preventedPressSuppressionTimeout.clear(); resetPressStartState(); suppressNextOutsideClickRef.current = false; }; }, [dataRef, floatingElement, escapeKey2, outsidePressEnabled, outsidePress2, open, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, clearInsideReactTree, getOutsidePressEventProp, hasBlockingChild, isEventWithinOwnElements, tree, store2, cancelDismissOnEndTimeout]); React22.useEffect(clearInsideReactTree, [outsidePress2, clearInsideReactTree]); const reference = React22.useMemo(() => ({ onKeyDown: closeOnEscapeKeyDown, onPointerDown: closeOnReferencePress, onClick: closeOnReferencePress }), [closeOnEscapeKeyDown, closeOnReferencePress]); const floating = React22.useMemo(() => ({ onKeyDown: closeOnEscapeKeyDown, // `onMouseDown` may be blocked if `event.preventDefault()` is called in // `onPointerDown`, such as with <NumberField.ScrubArea>. // See https://github.com/mui/base-ui/pull/3379 onPointerDown: markInsidePressStartPrevented, onMouseDown: markInsidePressStartPrevented, onClickCapture: markInsideReactTree, onMouseDownCapture(event) { markInsideReactTree(); markPressStartedInsideReactTree(event); }, onPointerDownCapture(event) { markInsideReactTree(); markPressStartedInsideReactTree(event); }, onMouseUpCapture: markInsideReactTree, onTouchEndCapture: markInsideReactTree, onTouchMoveCapture: markInsideReactTree }), [closeOnEscapeKeyDown, markInsideReactTree, markPressStartedInsideReactTree, markInsidePressStartPrevented]); return React22.useMemo(() => enabled ? { reference, floating, trigger: reference } : {}, [enabled, reference, floating]); } // node_modules/@base-ui/react/floating-ui-react/hooks/useFloating.mjs var React29 = __toESM(require_react(), 1); // node_modules/@floating-ui/core/dist/floating-ui.core.mjs function computeCoordsFromPlacement(_ref, placement, rtl) { let { reference, floating } = _ref; const sideAxis = getSideAxis(placement); const alignmentAxis = getAlignmentAxis(placement); const alignLength = getAxisLength(alignmentAxis); const side = getSide(placement); const isVertical = sideAxis === "y"; const commonX = reference.x + reference.width / 2 - floating.width / 2; const commonY = reference.y + reference.height / 2 - floating.height / 2; const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2; let coords; switch (side) { case "top": coords = { x: commonX, y: reference.y - floating.height }; break; case "bottom": coords = { x: commonX, y: reference.y + reference.height }; break; case "right": coords = { x: reference.x + reference.width, y: commonY }; break; case "left": coords = { x: reference.x - floating.width, y: commonY }; break; default: coords = { x: reference.x, y: reference.y }; } switch (getAlignment(placement)) { case "start": coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1); break; case "end": coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1); break; } return coords; } async function detectOverflow(state, options) { var _await$platform$isEle; if (options === void 0) { options = {}; } const { x, y, platform: platform3, rects, elements, strategy } = state; const { boundary = "clippingAncestors", rootBoundary = "viewport", elementContext = "floating", altBoundary = false, padding = 0 } = evaluate(options, state); const paddingObject = getPaddingObject(padding); const altContext = elementContext === "floating" ? "reference" : "floating"; const element = elements[altBoundary ? altContext : elementContext]; const clippingClientRect = rectToClientRect(await platform3.getClippingRect({ element: ((_await$platform$isEle = await (platform3.isElement == null ? void 0 : platform3.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform3.getDocumentElement == null ? void 0 : platform3.getDocumentElement(elements.floating)), boundary, rootBoundary, strategy })); const rect = elementContext === "floating" ? { x, y, width: rects.floating.width, height: rects.floating.height } : rects.reference; const offsetParent = await (platform3.getOffsetParent == null ? void 0 : platform3.getOffsetParent(elements.floating)); const offsetScale = await (platform3.isElement == null ? void 0 : platform3.isElement(offsetParent)) ? await (platform3.getScale == null ? void 0 : platform3.getScale(offsetParent)) || { x: 1, y: 1 } : { x: 1, y: 1 }; const elementClientRect = rectToClientRect(platform3.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform3.convertOffsetParentRelativeRectToViewportRelativeRect({ elements, rect, offsetParent, strategy }) : rect); return { top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y, bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y, left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x, right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x }; } var MAX_RESET_COUNT = 50; var computePosition = async (reference, floating, config) => { const { placement = "bottom", strategy = "absolute", middleware = [], platform: platform3 } = config; const platformWithDetectOverflow = platform3.detectOverflow ? platform3 : { ...platform3, detectOverflow }; const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(floating)); let rects = await platform3.getElementRects({ reference, floating, strategy }); let { x, y } = computeCoordsFromPlacement(rects, placement, rtl); let statefulPlacement = placement; let resetCount = 0; const middlewareData = {}; for (let i = 0; i < middleware.length; i++) { const currentMiddleware = middleware[i]; if (!currentMiddleware) { continue; } const { name, fn } = currentMiddleware; const { x: nextX, y: nextY, data, reset } = await fn({ x, y, initialPlacement: placement, placement: statefulPlacement, strategy, middlewareData, rects, platform: platformWithDetectOverflow, elements: { reference, floating } }); x = nextX != null ? nextX : x; y = nextY != null ? nextY : y; middlewareData[name] = { ...middlewareData[name], ...data }; if (reset && resetCount < MAX_RESET_COUNT) { resetCount++; if (typeof reset === "object") { if (reset.placement) { statefulPlacement = reset.placement; } if (reset.rects) { rects = reset.rects === true ? await platform3.getElementRects({ reference, floating, strategy }) : reset.rects; } ({ x, y } = computeCoordsFromPlacement(rects, statefulPlacement, rtl)); } i = -1; } } return { x, y, placement: statefulPlacement, strategy, middlewareData }; }; var flip = function(options) { if (options === void 0) { options = {}; } return { name: "flip", options, async fn(state) { var _middlewareData$arrow, _middlewareData$flip; const { placement, middlewareData, rects, initialPlacement, platform: platform3, elements } = state; const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = true, fallbackPlacements: specifiedFallbackPlacements, fallbackStrategy = "bestFit", fallbackAxisSideDirection = "none", flipAlignment = true, ...detectOverflowOptions } = evaluate(options, state); if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { return {}; } const side = getSide(placement); const initialSideAxis = getSideAxis(initialPlacement); const isBasePlacement = getSide(initialPlacement) === initialPlacement; const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating)); const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement)); const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none"; if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) { fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl)); } const placements2 = [initialPlacement, ...fallbackPlacements]; const overflow = await platform3.detectOverflow(state, detectOverflowOptions); const overflows = []; let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || []; if (checkMainAxis) { overflows.push(overflow[side]); } if (checkCrossAxis) { const sides2 = getAlignmentSides(placement, rects, rtl); overflows.push(overflow[sides2[0]], overflow[sides2[1]]); } overflowsData = [...overflowsData, { placement, overflows }]; if (!overflows.every((side2) => side2 <= 0)) { var _middlewareData$flip2, _overflowsData$filter; const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1; const nextPlacement = placements2[nextIndex]; if (nextPlacement) { const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false; if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis // overflows the main axis. overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) { return { data: { index: nextIndex, overflows: overflowsData }, reset: { placement: nextPlacement } }; } } let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement; if (!resetPlacement) { switch (fallbackStrategy) { case "bestFit": { var _overflowsData$filter2; const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => { if (hasFallbackAxisSideDirection) { const currentSideAxis = getSideAxis(d.placement); return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal // reading directions favoring greater width. currentSideAxis === "y"; } return true; }).map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0]; if (placement2) { resetPlacement = placement2; } break; } case "initialPlacement": resetPlacement = initialPlacement; break; } } if (placement !== resetPlacement) { return { reset: { placement: resetPlacement } }; } } return {}; } }; }; function getSideOffsets(overflow, rect) { return { top: overflow.top - rect.height, right: overflow.right - rect.width, bottom: overflow.bottom - rect.height, left: overflow.left - rect.width }; } function isAnySideFullyClipped(overflow) { return sides.some((side) => overflow[side] >= 0); } var hide = function(options) { if (options === void 0) { options = {}; } return { name: "hide", options, async fn(state) { const { rects, platform: platform3 } = state; const { strategy = "referenceHidden", ...detectOverflowOptions } = evaluate(options, state); switch (strategy) { case "referenceHidden": { const overflow = await platform3.detectOverflow(state, { ...detectOverflowOptions, elementContext: "reference" }); const offsets = getSideOffsets(overflow, rects.reference); return { data: { referenceHiddenOffsets: offsets, referenceHidden: isAnySideFullyClipped(offsets) } }; } case "escaped": { const overflow = await platform3.detectOverflow(state, { ...detectOverflowOptions, altBoundary: true }); const offsets = getSideOffsets(overflow, rects.floating); return { data: { escapedOffsets: offsets, escaped: isAnySideFullyClipped(offsets) } }; } default: { return {}; } } } }; }; var originSides = /* @__PURE__ */ new Set(["left", "top"]); async function convertValueToCoords(state, options) { const { placement, platform: platform3, elements } = state; const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating)); const side = getSide(placement); const alignment = getAlignment(placement); const isVertical = getSideAxis(placement) === "y"; const mainAxisMulti = originSides.has(side) ? -1 : 1; const crossAxisMulti = rtl && isVertical ? -1 : 1; const rawValue = evaluate(options, state); let { mainAxis, crossAxis, alignmentAxis } = typeof rawValue === "number" ? { mainAxis: rawValue, crossAxis: 0, alignmentAxis: null } : { mainAxis: rawValue.mainAxis || 0, crossAxis: rawValue.crossAxis || 0, alignmentAxis: rawValue.alignmentAxis }; if (alignment && typeof alignmentAxis === "number") { crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis; } return isVertical ? { x: crossAxis * crossAxisMulti, y: mainAxis * mainAxisMulti } : { x: mainAxis * mainAxisMulti, y: crossAxis * crossAxisMulti }; } var offset = function(options) { if (options === void 0) { options = 0; } return { name: "offset", options, async fn(state) { var _middlewareData$offse, _middlewareData$arrow; const { x, y, placement, middlewareData } = state; const diffCoords = await convertValueToCoords(state, options); if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { return {}; } return { x: x + diffCoords.x, y: y + diffCoords.y, data: { ...diffCoords, placement } }; } }; }; var shift = function(options) { if (options === void 0) { options = {}; } return { name: "shift", options, async fn(state) { const { x, y, placement, platform: platform3 } = state; const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = false, limiter = { fn: (_ref) => { let { x: x2, y: y2 } = _ref; return { x: x2, y: y2 }; } }, ...detectOverflowOptions } = evaluate(options, state); const coords = { x, y }; const overflow = await platform3.detectOverflow(state, detectOverflowOptions); const crossAxis = getSideAxis(getSide(placement)); const mainAxis = getOppositeAxis(crossAxis); let mainAxisCoord = coords[mainAxis]; let crossAxisCoord = coords[crossAxis]; if (checkMainAxis) { const minSide = mainAxis === "y" ? "top" : "left"; const maxSide = mainAxis === "y" ? "bottom" : "right"; const min2 = mainAxisCoord + overflow[minSide]; const max2 = mainAxisCoord - overflow[maxSide]; mainAxisCoord = clamp(min2, mainAxisCoord, max2); } if (checkCrossAxis) { const minSide = crossAxis === "y" ? "top" : "left"; const maxSide = crossAxis === "y" ? "bottom" : "right"; const min2 = crossAxisCoord + overflow[minSide]; const max2 = crossAxisCoord - overflow[maxSide]; crossAxisCoord = clamp(min2, crossAxisCoord, max2); } const limitedCoords = limiter.fn({ ...state, [mainAxis]: mainAxisCoord, [crossAxis]: crossAxisCoord }); return { ...limitedCoords, data: { x: limitedCoords.x - x, y: limitedCoords.y - y, enabled: { [mainAxis]: checkMainAxis, [crossAxis]: checkCrossAxis } } }; } }; }; var limitShift = function(options) { if (options === void 0) { options = {}; } return { options, fn(state) { const { x, y, placement, rects, middlewareData } = state; const { offset: offset4 = 0, mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = true } = evaluate(options, state); const coords = { x, y }; const crossAxis = getSideAxis(placement); const mainAxis = getOppositeAxis(crossAxis); let mainAxisCoord = coords[mainAxis]; let crossAxisCoord = coords[crossAxis]; const rawOffset = evaluate(offset4, state); const computedOffset = typeof rawOffset === "number" ? { mainAxis: rawOffset, crossAxis: 0 } : { mainAxis: 0, crossAxis: 0, ...rawOffset }; if (checkMainAxis) { const len = mainAxis === "y" ? "height" : "width"; const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis; const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis; if (mainAxisCoord < limitMin) { mainAxisCoord = limitMin; } else if (mainAxisCoord > limitMax) { mainAxisCoord = limitMax; } } if (checkCrossAxis) { var _middlewareData$offse, _middlewareData$offse2; const len = mainAxis === "y" ? "width" : "height"; const isOriginSide = originSides.has(getSide(placement)); const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis); const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0); if (crossAxisCoord < limitMin) { crossAxisCoord = limitMin; } else if (crossAxisCoord > limitMax) { crossAxisCoord = limitMax; } } return { [mainAxis]: mainAxisCoord, [crossAxis]: crossAxisCoord }; } }; }; var size = function(options) { if (options === void 0) { options = {}; } return { name: "size", options, async fn(state) { var _state$middlewareData, _state$middlewareData2; const { placement, rects, platform: platform3, elements } = state; const { apply = () => { }, ...detectOverflowOptions } = evaluate(options, state); const overflow = await platform3.detectOverflow(state, detectOverflowOptions); const side = getSide(placement); const alignment = getAlignment(placement); const isYAxis = getSideAxis(placement) === "y"; const { width, height } = rects.floating; let heightSide; let widthSide; if (side === "top" || side === "bottom") { heightSide = side; widthSide = alignment === (await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating)) ? "start" : "end") ? "left" : "right"; } else { widthSide = side; heightSide = alignment === "end" ? "top" : "bottom"; } const maximumClippingHeight = height - overflow.top - overflow.bottom; const maximumClippingWidth = width - overflow.left - overflow.right; const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight); const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth); const noShift = !state.middlewareData.shift; let availableHeight = overflowAvailableHeight; let availableWidth = overflowAvailableWidth; if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) { availableWidth = maximumClippingWidth; } if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) { availableHeight = maximumClippingHeight; } if (noShift && !alignment) { const xMin = max(overflow.left, 0); const xMax = max(overflow.right, 0); const yMin = max(overflow.top, 0); const yMax = max(overflow.bottom, 0); if (isYAxis) { availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)); } else { availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)); } } await apply({ ...state, availableWidth, availableHeight }); const nextDimensions = await platform3.getDimensions(elements.floating); if (width !== nextDimensions.width || height !== nextDimensions.height) { return { reset: { rects: true } }; } return {}; } }; }; // node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs function getCssDimensions(element) { const css = getComputedStyle2(element); let width = parseFloat(css.width) || 0; let height = parseFloat(css.height) || 0; const hasOffset = isHTMLElement(element); const offsetWidth = hasOffset ? element.offsetWidth : width; const offsetHeight = hasOffset ? element.offsetHeight : height; const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight; if (shouldFallback) { width = offsetWidth; height = offsetHeight; } return { width, height, $: shouldFallback }; } function unwrapElement(element) { return !isElement(element) ? element.contextElement : element; } function getScale(element) { const domElement = unwrapElement(element); if (!isHTMLElement(domElement)) { return createCoords(1); } const rect = domElement.getBoundingClientRect(); const { width, height, $ } = getCssDimensions(domElement); let x = ($ ? round(rect.width) : rect.width) / width; let y = ($ ? round(rect.height) : rect.height) / height; if (!x || !Number.isFinite(x)) { x = 1; } if (!y || !Number.isFinite(y)) { y = 1; } return { x, y }; } var noOffsets = /* @__PURE__ */ createCoords(0); function getVisualOffsets(element) { const win = getWindow(element); if (!isWebKit() || !win.visualViewport) { return noOffsets; } return { x: win.visualViewport.offsetLeft, y: win.visualViewport.offsetTop }; } function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) { if (isFixed === void 0) { isFixed = false; } if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) { return false; } return isFixed; } function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) { if (includeScale === void 0) { includeScale = false; } if (isFixedStrategy === void 0) { isFixedStrategy = false; } const clientRect = element.getBoundingClientRect(); const domElement = unwrapElement(element); let scale = createCoords(1); if (includeScale) { if (offsetParent) { if (isElement(offsetParent)) { scale = getScale(offsetParent); } } else { scale = getScale(element); } } const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0); let x = (clientRect.left + visualOffsets.x) / scale.x; let y = (clientRect.top + visualOffsets.y) / scale.y; let width = clientRect.width / scale.x; let height = clientRect.height / scale.y; if (domElement) { const win = getWindow(domElement); const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent; let currentWin = win; let currentIFrame = getFrameElement(currentWin); while (currentIFrame && offsetParent && offsetWin !== currentWin) { const iframeScale = getScale(currentIFrame); const iframeRect = currentIFrame.getBoundingClientRect(); const css = getComputedStyle2(currentIFrame); const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x; const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y; x *= iframeScale.x; y *= iframeScale.y; width *= iframeScale.x; height *= iframeScale.y; x += left; y += top; currentWin = getWindow(currentIFrame); currentIFrame = getFrameElement(currentWin); } } return rectToClientRect({ width, height, x, y }); } function getWindowScrollBarX(element, rect) { const leftScroll = getNodeScroll(element).scrollLeft; if (!rect) { return getBoundingClientRect(getDocumentElement(element)).left + leftScroll; } return rect.left + leftScroll; } function getHTMLOffset(documentElement, scroll) { const htmlRect = documentElement.getBoundingClientRect(); const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect); const y = htmlRect.top + scroll.scrollTop; return { x, y }; } function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) { let { elements, rect, offsetParent, strategy } = _ref; const isFixed = strategy === "fixed"; const documentElement = getDocumentElement(offsetParent); const topLayer = elements ? isTopLayer(elements.floating) : false; if (offsetParent === documentElement || topLayer && isFixed) { return rect; } let scroll = { scrollLeft: 0, scrollTop: 0 }; let scale = createCoords(1); const offsets = createCoords(0); const isOffsetParentAnElement = isHTMLElement(offsetParent); if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) { scroll = getNodeScroll(offsetParent); } if (isOffsetParentAnElement) { const offsetRect = getBoundingClientRect(offsetParent); scale = getScale(offsetParent); offsets.x = offsetRect.x + offsetParent.clientLeft; offsets.y = offsetRect.y + offsetParent.clientTop; } } const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0); return { width: rect.width * scale.x, height: rect.height * scale.y, x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x, y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y }; } function getClientRects(element) { return Array.from(element.getClientRects()); } function getDocumentRect(element) { const html = getDocumentElement(element); const scroll = getNodeScroll(element); const body = element.ownerDocument.body; const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth); const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight); let x = -scroll.scrollLeft + getWindowScrollBarX(element); const y = -scroll.scrollTop; if (getComputedStyle2(body).direction === "rtl") { x += max(html.clientWidth, body.clientWidth) - width; } return { width, height, x, y }; } var SCROLLBAR_MAX = 25; function getViewportRect(element, strategy) { const win = getWindow(element); const html = getDocumentElement(element); const visualViewport = win.visualViewport; let width = html.clientWidth; let height = html.clientHeight; let x = 0; let y = 0; if (visualViewport) { width = visualViewport.width; height = visualViewport.height; const visualViewportBased = isWebKit(); if (!visualViewportBased || visualViewportBased && strategy === "fixed") { x = visualViewport.offsetLeft; y = visualViewport.offsetTop; } } const windowScrollbarX = getWindowScrollBarX(html); if (windowScrollbarX <= 0) { const doc = html.ownerDocument; const body = doc.body; const bodyStyles = getComputedStyle(body); const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0; const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline); if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) { width -= clippingStableScrollbarWidth; } } else if (windowScrollbarX <= SCROLLBAR_MAX) { width += windowScrollbarX; } return { width, height, x, y }; } function getInnerBoundingClientRect(element, strategy) { const clientRect = getBoundingClientRect(element, true, strategy === "fixed"); const top = clientRect.top + element.clientTop; const left = clientRect.left + element.clientLeft; const scale = isHTMLElement(element) ? getScale(element) : createCoords(1); const width = element.clientWidth * scale.x; const height = element.clientHeight * scale.y; const x = left * scale.x; const y = top * scale.y; return { width, height, x, y }; } function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) { let rect; if (clippingAncestor === "viewport") { rect = getViewportRect(element, strategy); } else if (clippingAncestor === "document") { rect = getDocumentRect(getDocumentElement(element)); } else if (isElement(clippingAncestor)) { rect = getInnerBoundingClientRect(clippingAncestor, strategy); } else { const visualOffsets = getVisualOffsets(element); rect = { x: clippingAncestor.x - visualOffsets.x, y: clippingAncestor.y - visualOffsets.y, width: clippingAncestor.width, height: clippingAncestor.height }; } return rectToClientRect(rect); } function hasFixedPositionAncestor(element, stopNode) { const parentNode = getParentNode(element); if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) { return false; } return getComputedStyle2(parentNode).position === "fixed" || hasFixedPositionAncestor(parentNode, stopNode); } function getClippingElementAncestors(element, cache) { const cachedResult = cache.get(element); if (cachedResult) { return cachedResult; } let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== "body"); let currentContainingBlockComputedStyle = null; const elementIsFixed = getComputedStyle2(element).position === "fixed"; let currentNode = elementIsFixed ? getParentNode(element) : element; while (isElement(currentNode) && !isLastTraversableNode(currentNode)) { const computedStyle = getComputedStyle2(currentNode); const currentNodeIsContaining = isContainingBlock(currentNode); if (!currentNodeIsContaining && computedStyle.position === "fixed") { currentContainingBlockComputedStyle = null; } const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === "absolute" || currentContainingBlockComputedStyle.position === "fixed") || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode); if (shouldDropCurrentNode) { result = result.filter((ancestor) => ancestor !== currentNode); } else { currentContainingBlockComputedStyle = computedStyle; } currentNode = getParentNode(currentNode); } cache.set(element, result); return result; } function getClippingRect(_ref) { let { element, boundary, rootBoundary, strategy } = _ref; const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary); const clippingAncestors = [...elementClippingAncestors, rootBoundary]; const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy); let top = firstRect.top; let right = firstRect.right; let bottom = firstRect.bottom; let left = firstRect.left; for (let i = 1; i < clippingAncestors.length; i++) { const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy); top = max(rect.top, top); right = min(rect.right, right); bottom = min(rect.bottom, bottom); left = max(rect.left, left); } return { width: right - left, height: bottom - top, x: left, y: top }; } function getDimensions(element) { const { width, height } = getCssDimensions(element); return { width, height }; } function getRectRelativeToOffsetParent(element, offsetParent, strategy) { const isOffsetParentAnElement = isHTMLElement(offsetParent); const documentElement = getDocumentElement(offsetParent); const isFixed = strategy === "fixed"; const rect = getBoundingClientRect(element, true, isFixed, offsetParent); let scroll = { scrollLeft: 0, scrollTop: 0 }; const offsets = createCoords(0); function setLeftRTLScrollbarOffset() { offsets.x = getWindowScrollBarX(documentElement); } if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) { scroll = getNodeScroll(offsetParent); } if (isOffsetParentAnElement) { const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent); offsets.x = offsetRect.x + offsetParent.clientLeft; offsets.y = offsetRect.y + offsetParent.clientTop; } else if (documentElement) { setLeftRTLScrollbarOffset(); } } if (isFixed && !isOffsetParentAnElement && documentElement) { setLeftRTLScrollbarOffset(); } const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0); const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x; const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y; return { x, y, width: rect.width, height: rect.height }; } function isStaticPositioned(element) { return getComputedStyle2(element).position === "static"; } function getTrueOffsetParent(element, polyfill) { if (!isHTMLElement(element) || getComputedStyle2(element).position === "fixed") { return null; } if (polyfill) { return polyfill(element); } let rawOffsetParent = element.offsetParent; if (getDocumentElement(element) === rawOffsetParent) { rawOffsetParent = rawOffsetParent.ownerDocument.body; } return rawOffsetParent; } function getOffsetParent(element, polyfill) { const win = getWindow(element); if (isTopLayer(element)) { return win; } if (!isHTMLElement(element)) { let svgOffsetParent = getParentNode(element); while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) { if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) { return svgOffsetParent; } svgOffsetParent = getParentNode(svgOffsetParent); } return win; } let offsetParent = getTrueOffsetParent(element, polyfill); while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) { offsetParent = getTrueOffsetParent(offsetParent, polyfill); } if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) { return win; } return offsetParent || getContainingBlock(element) || win; } var getElementRects = async function(data) { const getOffsetParentFn = this.getOffsetParent || getOffsetParent; const getDimensionsFn = this.getDimensions; const floatingDimensions = await getDimensionsFn(data.floating); return { reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy), floating: { x: 0, y: 0, width: floatingDimensions.width, height: floatingDimensions.height } }; }; function isRTL(element) { return getComputedStyle2(element).direction === "rtl"; } var platform2 = { convertOffsetParentRelativeRectToViewportRelativeRect, getDocumentElement, getClippingRect, getOffsetParent, getElementRects, getClientRects, getDimensions, getScale, isElement, isRTL }; function rectsAreEqual(a, b) { return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height; } function observeMove(element, onMove) { let io = null; let timeoutId; const root = getDocumentElement(element); function cleanup() { var _io; clearTimeout(timeoutId); (_io = io) == null || _io.disconnect(); io = null; } function refresh(skip, threshold) { if (skip === void 0) { skip = false; } if (threshold === void 0) { threshold = 1; } cleanup(); const elementRectForRootMargin = element.getBoundingClientRect(); const { left, top, width, height } = elementRectForRootMargin; if (!skip) { onMove(); } if (!width || !height) { return; } const insetTop = floor(top); const insetRight = floor(root.clientWidth - (left + width)); const insetBottom = floor(root.clientHeight - (top + height)); const insetLeft = floor(left); const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px"; const options = { rootMargin, threshold: max(0, min(1, threshold)) || 1 }; let isFirstUpdate = true; function handleObserve(entries) { const ratio = entries[0].intersectionRatio; if (ratio !== threshold) { if (!isFirstUpdate) { return refresh(); } if (!ratio) { timeoutId = setTimeout(() => { refresh(false, 1e-7); }, 1e3); } else { refresh(false, ratio); } } if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) { refresh(); } isFirstUpdate = false; } try { io = new IntersectionObserver(handleObserve, { ...options, // Handle <iframe>s root: root.ownerDocument }); } catch (_e) { io = new IntersectionObserver(handleObserve, options); } io.observe(element); } refresh(true); return cleanup; } function autoUpdate(reference, floating, update2, options) { if (options === void 0) { options = {}; } const { ancestorScroll = true, ancestorResize = true, elementResize = typeof ResizeObserver === "function", layoutShift = typeof IntersectionObserver === "function", animationFrame = false } = options; const referenceEl = unwrapElement(reference); const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : []; ancestors.forEach((ancestor) => { ancestorScroll && ancestor.addEventListener("scroll", update2, { passive: true }); ancestorResize && ancestor.addEventListener("resize", update2); }); const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update2) : null; let reobserveFrame = -1; let resizeObserver = null; if (elementResize) { resizeObserver = new ResizeObserver((_ref) => { let [firstEntry] = _ref; if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) { resizeObserver.unobserve(floating); cancelAnimationFrame(reobserveFrame); reobserveFrame = requestAnimationFrame(() => { var _resizeObserver; (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating); }); } update2(); }); if (referenceEl && !animationFrame) { resizeObserver.observe(referenceEl); } if (floating) { resizeObserver.observe(floating); } } let frameId; let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null; if (animationFrame) { frameLoop(); } function frameLoop() { const nextRefRect = getBoundingClientRect(reference); if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) { update2(); } prevRefRect = nextRefRect; frameId = requestAnimationFrame(frameLoop); } update2(); return () => { var _resizeObserver2; ancestors.forEach((ancestor) => { ancestorScroll && ancestor.removeEventListener("scroll", update2); ancestorResize && ancestor.removeEventListener("resize", update2); }); cleanupIo == null || cleanupIo(); (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect(); resizeObserver = null; if (animationFrame) { cancelAnimationFrame(frameId); } }; } var offset2 = offset; var shift2 = shift; var flip2 = flip; var size2 = size; var hide2 = hide; var limitShift2 = limitShift; var computePosition2 = (reference, floating, options) => { const cache = /* @__PURE__ */ new Map(); const mergedOptions = { platform: platform2, ...options }; const platformWithCache = { ...mergedOptions.platform, _c: cache }; return computePosition(reference, floating, { ...mergedOptions, platform: platformWithCache }); }; // node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs var React23 = __toESM(require_react(), 1); var import_react2 = __toESM(require_react(), 1); var ReactDOM3 = __toESM(require_react_dom(), 1); var isClient = typeof document !== "undefined"; var noop2 = function noop3() { }; var index = isClient ? import_react2.useLayoutEffect : noop2; function deepEqual(a, b) { if (a === b) { return true; } if (typeof a !== typeof b) { return false; } if (typeof a === "function" && a.toString() === b.toString()) { return true; } let length; let i; let keys; if (a && b && typeof a === "object") { if (Array.isArray(a)) { length = a.length; if (length !== b.length) return false; for (i = length; i-- !== 0; ) { if (!deepEqual(a[i], b[i])) { return false; } } return true; } keys = Object.keys(a); length = keys.length; if (length !== Object.keys(b).length) { return false; } for (i = length; i-- !== 0; ) { if (!{}.hasOwnProperty.call(b, keys[i])) { return false; } } for (i = length; i-- !== 0; ) { const key = keys[i]; if (key === "_owner" && a.$$typeof) { continue; } if (!deepEqual(a[key], b[key])) { return false; } } return true; } return a !== a && b !== b; } function getDPR(element) { if (typeof window === "undefined") { return 1; } const win = element.ownerDocument.defaultView || window; return win.devicePixelRatio || 1; } function roundByDPR(element, value) { const dpr = getDPR(element); return Math.round(value * dpr) / dpr; } function useLatestRef(value) { const ref = React23.useRef(value); index(() => { ref.current = value; }); return ref; } function useFloating(options) { if (options === void 0) { options = {}; } const { placement = "bottom", strategy = "absolute", middleware = [], platform: platform3, elements: { reference: externalReference, floating: externalFloating } = {}, transform = true, whileElementsMounted, open } = options; const [data, setData] = React23.useState({ x: 0, y: 0, strategy, placement, middlewareData: {}, isPositioned: false }); const [latestMiddleware, setLatestMiddleware] = React23.useState(middleware); if (!deepEqual(latestMiddleware, middleware)) { setLatestMiddleware(middleware); } const [_reference, _setReference] = React23.useState(null); const [_floating, _setFloating] = React23.useState(null); const setReference = React23.useCallback((node) => { if (node !== referenceRef.current) { referenceRef.current = node; _setReference(node); } }, []); const setFloating = React23.useCallback((node) => { if (node !== floatingRef.current) { floatingRef.current = node; _setFloating(node); } }, []); const referenceEl = externalReference || _reference; const floatingEl = externalFloating || _floating; const referenceRef = React23.useRef(null); const floatingRef = React23.useRef(null); const dataRef = React23.useRef(data); const hasWhileElementsMounted = whileElementsMounted != null; const whileElementsMountedRef = useLatestRef(whileElementsMounted); const platformRef = useLatestRef(platform3); const openRef = useLatestRef(open); const update2 = React23.useCallback(() => { if (!referenceRef.current || !floatingRef.current) { return; } const config = { placement, strategy, middleware: latestMiddleware }; if (platformRef.current) { config.platform = platformRef.current; } computePosition2(referenceRef.current, floatingRef.current, config).then((data2) => { const fullData = { ...data2, // The floating element's position may be recomputed while it's closed // but still mounted (such as when transitioning out). To ensure // `isPositioned` will be `false` initially on the next open, avoid // setting it to `true` when `open === false` (must be specified). isPositioned: openRef.current !== false }; if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) { dataRef.current = fullData; ReactDOM3.flushSync(() => { setData(fullData); }); } }); }, [latestMiddleware, placement, strategy, platformRef, openRef]); index(() => { if (open === false && dataRef.current.isPositioned) { dataRef.current.isPositioned = false; setData((data2) => ({ ...data2, isPositioned: false })); } }, [open]); const isMountedRef = React23.useRef(false); index(() => { isMountedRef.current = true; return () => { isMountedRef.current = false; }; }, []); index(() => { if (referenceEl) referenceRef.current = referenceEl; if (floatingEl) floatingRef.current = floatingEl; if (referenceEl && floatingEl) { if (whileElementsMountedRef.current) { return whileElementsMountedRef.current(referenceEl, floatingEl, update2); } update2(); } }, [referenceEl, floatingEl, update2, whileElementsMountedRef, hasWhileElementsMounted]); const refs = React23.useMemo(() => ({ reference: referenceRef, floating: floatingRef, setReference, setFloating }), [setReference, setFloating]); const elements = React23.useMemo(() => ({ reference: referenceEl, floating: floatingEl }), [referenceEl, floatingEl]); const floatingStyles = React23.useMemo(() => { const initialStyles = { position: strategy, left: 0, top: 0 }; if (!elements.floating) { return initialStyles; } const x = roundByDPR(elements.floating, data.x); const y = roundByDPR(elements.floating, data.y); if (transform) { return { ...initialStyles, transform: "translate(" + x + "px, " + y + "px)", ...getDPR(elements.floating) >= 1.5 && { willChange: "transform" } }; } return { position: strategy, left: x, top: y }; }, [strategy, transform, elements.floating, data.x, data.y]); return React23.useMemo(() => ({ ...data, update: update2, refs, elements, floatingStyles }), [data, update2, refs, elements, floatingStyles]); } var offset3 = (options, deps) => { const result = offset2(options); return { name: result.name, fn: result.fn, options: [options, deps] }; }; var shift3 = (options, deps) => { const result = shift2(options); return { name: result.name, fn: result.fn, options: [options, deps] }; }; var limitShift3 = (options, deps) => { const result = limitShift2(options); return { fn: result.fn, options: [options, deps] }; }; var flip3 = (options, deps) => { const result = flip2(options); return { name: result.name, fn: result.fn, options: [options, deps] }; }; var size3 = (options, deps) => { const result = size2(options); return { name: result.name, fn: result.fn, options: [options, deps] }; }; var hide3 = (options, deps) => { const result = hide2(options); return { name: result.name, fn: result.fn, options: [options, deps] }; }; // node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs var React28 = __toESM(require_react(), 1); var ReactDOM4 = __toESM(require_react_dom(), 1); // node_modules/@base-ui/react/floating-ui-react/hooks/useSyncedFloatingRootContext.mjs var React27 = __toESM(require_react(), 1); // node_modules/@base-ui/utils/store/createSelector.mjs var createSelector = (a, b, c, d, e, f, ...other) => { if (other.length > 0) { throw new Error(true ? "Unsupported number of selectors" : formatErrorMessage_default(1)); } let selector; if (a && b && c && d && e && f) { selector = (state, a1, a2, a3) => { const va = a(state, a1, a2, a3); const vb = b(state, a1, a2, a3); const vc = c(state, a1, a2, a3); const vd = d(state, a1, a2, a3); const ve = e(state, a1, a2, a3); return f(va, vb, vc, vd, ve, a1, a2, a3); }; } else if (a && b && c && d && e) { selector = (state, a1, a2, a3) => { const va = a(state, a1, a2, a3); const vb = b(state, a1, a2, a3); const vc = c(state, a1, a2, a3); const vd = d(state, a1, a2, a3); return e(va, vb, vc, vd, a1, a2, a3); }; } else if (a && b && c && d) { selector = (state, a1, a2, a3) => { const va = a(state, a1, a2, a3); const vb = b(state, a1, a2, a3); const vc = c(state, a1, a2, a3); return d(va, vb, vc, a1, a2, a3); }; } else if (a && b && c) { selector = (state, a1, a2, a3) => { const va = a(state, a1, a2, a3); const vb = b(state, a1, a2, a3); return c(va, vb, a1, a2, a3); }; } else if (a && b) { selector = (state, a1, a2, a3) => { const va = a(state, a1, a2, a3); return b(va, a1, a2, a3); }; } else if (a) { selector = a; } else { throw ( /* minify-error-disabled */ new Error("Missing arguments") ); } return selector; }; // node_modules/@base-ui/utils/store/useStore.mjs var React25 = __toESM(require_react(), 1); var import_shim = __toESM(require_shim(), 1); var import_with_selector = __toESM(require_with_selector(), 1); // node_modules/@base-ui/utils/fastHooks.mjs var React24 = __toESM(require_react(), 1); var hooks = []; var currentInstance = void 0; function getInstance() { return currentInstance; } function register(hook) { hooks.push(hook); } function fastComponent(fn) { const FastComponent = (props, forwardedRef) => { const instance = useRefWithInit(createInstance).current; let result; try { currentInstance = instance; for (const hook of hooks) { hook.before(instance); } result = fn(props, forwardedRef); for (const hook of hooks) { hook.after(instance); } instance.didInitialize = true; } finally { currentInstance = void 0; } return result; }; FastComponent.displayName = fn.displayName || fn.name; return FastComponent; } function fastComponentRef(fn) { return /* @__PURE__ */ React24.forwardRef(fastComponent(fn)); } function createInstance() { return { didInitialize: false }; } // node_modules/@base-ui/utils/store/useStore.mjs var canUseRawUseSyncExternalStore = isReactVersionAtLeast(19); var useStoreImplementation = canUseRawUseSyncExternalStore ? useStoreFast : useStoreLegacy; function useStore(store2, selector, a1, a2, a3) { return useStoreImplementation(store2, selector, a1, a2, a3); } function useStoreR19(store2, selector, a1, a2, a3) { const getSelection = React25.useCallback(() => selector(store2.getSnapshot(), a1, a2, a3), [store2, selector, a1, a2, a3]); return (0, import_shim.useSyncExternalStore)(store2.subscribe, getSelection, getSelection); } register({ before(instance) { instance.syncIndex = 0; if (!instance.didInitialize) { instance.syncTick = 1; instance.syncHooks = []; instance.didChangeStore = true; instance.getSnapshot = () => { let didChange2 = false; for (let i = 0; i < instance.syncHooks.length; i += 1) { const hook = instance.syncHooks[i]; const value = hook.selector(hook.store.state, hook.a1, hook.a2, hook.a3); if (!Object.is(hook.value, value)) { didChange2 = true; hook.value = value; } } if (didChange2) { instance.syncTick += 1; } return instance.syncTick; }; } }, after(instance) { if (instance.syncHooks.length > 0) { if (instance.didChangeStore) { instance.didChangeStore = false; instance.subscribe = (onStoreChange) => { const stores = /* @__PURE__ */ new Set(); for (const hook of instance.syncHooks) { stores.add(hook.store); } const unsubscribes = []; for (const store2 of stores) { unsubscribes.push(store2.subscribe(onStoreChange)); } return () => { for (const unsubscribe of unsubscribes) { unsubscribe(); } }; }; } (0, import_shim.useSyncExternalStore)(instance.subscribe, instance.getSnapshot, instance.getSnapshot); } } }); function useStoreFast(store2, selector, a1, a2, a3) { const instance = getInstance(); if (!instance) { return useStoreR19(store2, selector, a1, a2, a3); } const index2 = instance.syncIndex; instance.syncIndex += 1; let hook; if (!instance.didInitialize) { hook = { store: store2, selector, a1, a2, a3, value: selector(store2.getSnapshot(), a1, a2, a3) }; instance.syncHooks.push(hook); } else { hook = instance.syncHooks[index2]; if (hook.store !== store2 || hook.selector !== selector || !Object.is(hook.a1, a1) || !Object.is(hook.a2, a2) || !Object.is(hook.a3, a3)) { if (hook.store !== store2) { instance.didChangeStore = true; } hook.store = store2; hook.selector = selector; hook.a1 = a1; hook.a2 = a2; hook.a3 = a3; hook.value = selector(store2.getSnapshot(), a1, a2, a3); } } return hook.value; } function useStoreLegacy(store2, selector, a1, a2, a3) { return (0, import_with_selector.useSyncExternalStoreWithSelector)(store2.subscribe, store2.getSnapshot, store2.getSnapshot, (state) => selector(state, a1, a2, a3)); } // node_modules/@base-ui/utils/store/Store.mjs var Store = class { /** * The current state of the store. * This property is updated immediately when the state changes as a result of calling {@link setState}, {@link update}, or {@link set}. * To subscribe to state changes, use the {@link useState} method. The value returned by {@link useState} is updated after the component renders (similarly to React's useState). * The values can be used directly (to avoid subscribing to the store) in effects or event handlers. * * Do not modify properties in state directly. Instead, use the provided methods to ensure proper state management and listener notification. */ // Internal state to handle recursive `setState()` calls constructor(state) { this.state = state; this.listeners = /* @__PURE__ */ new Set(); this.updateTick = 0; } /** * Registers a listener that will be called whenever the store's state changes. * * @param fn The listener function to be called on state changes. * @returns A function to unsubscribe the listener. */ subscribe = (fn) => { this.listeners.add(fn); return () => { this.listeners.delete(fn); }; }; /** * Returns the current state of the store. */ getSnapshot = () => { return this.state; }; /** * Updates the entire store's state and notifies all registered listeners. * * @param newState The new state to set for the store. */ setState(newState) { if (this.state === newState) { return; } this.state = newState; this.updateTick += 1; const currentTick = this.updateTick; for (const listener of this.listeners) { if (currentTick !== this.updateTick) { return; } listener(newState); } } /** * Merges the provided changes into the current state and notifies listeners if there are changes. * * @param changes An object containing the changes to apply to the current state. */ update(changes) { for (const key in changes) { if (!Object.is(this.state[key], changes[key])) { this.setState({ ...this.state, ...changes }); return; } } } /** * Sets a specific key in the store's state to a new value and notifies listeners if the value has changed. * * @param key The key in the store's state to update. * @param value The new value to set for the specified key. */ set(key, value) { if (!Object.is(this.state[key], value)) { this.setState({ ...this.state, [key]: value }); } } /** * Gives the state a new reference and updates all registered listeners. */ notifyAll() { const newState = { ...this.state }; this.setState(newState); } use(selector, a1, a2, a3) { return useStore(this, selector, a1, a2, a3); } }; // node_modules/@base-ui/utils/store/ReactStore.mjs var React26 = __toESM(require_react(), 1); var ReactStore = class extends Store { /** * Creates a new ReactStore instance. * * @param state Initial state of the store. * @param context Non-reactive context values. * @param selectors Optional selectors for use with `useState`. */ constructor(state, context = {}, selectors3) { super(state); this.context = context; this.selectors = selectors3; } /** * Non-reactive values such as refs, callbacks, etc. */ /** * Synchronizes a single external value into the store. * * Note that the while the value in `state` is updated immediately, the value returned * by `useState` is updated before the next render (similarly to React's `useState`). */ useSyncedValue(key, value) { React26.useDebugValue(key); const store2 = this; useIsoLayoutEffect(() => { if (store2.state[key] !== value) { store2.set(key, value); } }, [store2, key, value]); } /** * Synchronizes a single external value into the store and * cleans it up (sets to `undefined`) on unmount. * * Note that the while the value in `state` is updated immediately, the value returned * by `useState` is updated before the next render (similarly to React's `useState`). */ useSyncedValueWithCleanup(key, value) { const store2 = this; useIsoLayoutEffect(() => { if (store2.state[key] !== value) { store2.set(key, value); } return () => { store2.set(key, void 0); }; }, [store2, key, value]); } /** * Synchronizes multiple external values into the store. * * Note that the while the values in `state` are updated immediately, the values returned * by `useState` are updated before the next render (similarly to React's `useState`). */ useSyncedValues(statePart) { const store2 = this; if (true) { React26.useDebugValue(statePart, (p) => Object.keys(p)); const keys = React26.useRef(Object.keys(statePart)).current; const nextKeys = Object.keys(statePart); if (keys.length !== nextKeys.length || keys.some((key, index2) => key !== nextKeys[index2])) { console.error("ReactStore.useSyncedValues expects the same prop keys on every render. Keys should be stable."); } } const dependencies = Object.values(statePart); useIsoLayoutEffect(() => { store2.update(statePart); }, [store2, ...dependencies]); } /** * Registers a controllable prop pair (`controlled`, `defaultValue`) for a specific key. If `controlled` * is non-undefined, the store's state at `key` is updated to match `controlled`. */ useControlledProp(key, controlled) { React26.useDebugValue(key); const store2 = this; const isControlled = controlled !== void 0; useIsoLayoutEffect(() => { if (isControlled && !Object.is(store2.state[key], controlled)) { store2.setState({ ...store2.state, [key]: controlled }); } }, [store2, key, controlled, isControlled]); if (true) { const cache = this.controlledValues ??= /* @__PURE__ */ new Map(); if (!cache.has(key)) { cache.set(key, isControlled); } const previouslyControlled = cache.get(key); if (previouslyControlled !== void 0 && previouslyControlled !== isControlled) { console.error(`A component is changing the ${isControlled ? "" : "un"}controlled state of ${key.toString()} to be ${isControlled ? "un" : ""}controlled. Elements should not switch from uncontrolled to controlled (or vice versa).`); } } } /** Gets the current value from the store using a selector with the provided key. * * @param key Key of the selector to use. */ select(key, a1, a2, a3) { const selector = this.selectors[key]; return selector(this.state, a1, a2, a3); } /** * Returns a value from the store's state using a selector function. * Used to subscribe to specific parts of the state. * This methods causes a rerender whenever the selected state changes. * * @param key Key of the selector to use. */ useState(key, a1, a2, a3) { React26.useDebugValue(key); return useStore(this, this.selectors[key], a1, a2, a3); } /** * Wraps a function with `useStableCallback` to ensure it has a stable reference * and assigns it to the context. * * @param key Key of the event callback. Must be a function in the context. * @param fn Function to assign. */ useContextCallback(key, fn) { React26.useDebugValue(key); const stableFunction = useStableCallback(fn ?? NOOP); this.context[key] = stableFunction; } /** * Returns a stable setter function for a specific key in the store's state. * It's commonly used to pass as a ref callback to React elements. * * @param key Key of the state to set. */ useStateSetter(key) { const ref = React26.useRef(void 0); if (ref.current === void 0) { ref.current = (value) => { this.set(key, value); }; } return ref.current; } /** * Observes changes derived from the store's selectors and calls the listener when the selected value changes. * * @param key Key of the selector to observe. * @param listener Listener function called when the selector result changes. */ observe(selector, listener) { let selectFn; if (typeof selector === "function") { selectFn = selector; } else { selectFn = this.selectors[selector]; } let prevValue = selectFn(this.state); listener(prevValue, prevValue, this); return this.subscribe((nextState) => { const nextValue = selectFn(nextState); if (!Object.is(prevValue, nextValue)) { const oldValue = prevValue; prevValue = nextValue; listener(nextValue, oldValue, this); } }); } }; // node_modules/@base-ui/react/floating-ui-react/components/FloatingRootStore.mjs var selectors = { open: createSelector((state) => state.open), transitionStatus: createSelector((state) => state.transitionStatus), domReferenceElement: createSelector((state) => state.domReferenceElement), referenceElement: createSelector((state) => state.positionReference ?? state.referenceElement), floatingElement: createSelector((state) => state.floatingElement), floatingId: createSelector((state) => state.floatingId) }; var FloatingRootStore = class extends ReactStore { constructor(options) { const { syncOnly, nested, onOpenChange, triggerElements, ...initialState } = options; super({ ...initialState, positionReference: initialState.referenceElement, domReferenceElement: initialState.referenceElement }, { onOpenChange, dataRef: { current: {} }, events: createEventEmitter(), nested, triggerElements }, selectors); this.syncOnly = syncOnly; } /** * Syncs the event used by hover logic to distinguish hover-open from click-like interaction. */ syncOpenEvent = (newOpen, event) => { if (!newOpen || !this.state.open || // Prevent a pending hover-open from overwriting a click-open event, while allowing // click events to upgrade a hover-open. event != null && isClickLikeEvent(event)) { this.context.dataRef.current.openEvent = newOpen ? event : void 0; } }; /** * Runs the root-owned side effects for an open state change. */ dispatchOpenChange = (newOpen, eventDetails) => { this.syncOpenEvent(newOpen, eventDetails.event); const details = { open: newOpen, reason: eventDetails.reason, nativeEvent: eventDetails.event, nested: this.context.nested, triggerElement: eventDetails.trigger }; this.context.events.emit("openchange", details); }; /** * Emits the `openchange` event through the internal event emitter and calls the `onOpenChange` handler with the provided arguments. * * @param newOpen The new open state. * @param eventDetails Details about the event that triggered the open state change. */ setOpen = (newOpen, eventDetails) => { if (this.syncOnly) { this.context.onOpenChange?.(newOpen, eventDetails); return; } this.dispatchOpenChange(newOpen, eventDetails); this.context.onOpenChange?.(newOpen, eventDetails); }; }; // node_modules/@base-ui/react/floating-ui-react/hooks/useSyncedFloatingRootContext.mjs function useSyncedFloatingRootContext(options) { const { popupStore, treatPopupAsFloatingElement = false, floatingRootContext: floatingRootContextProp, floatingId, nested, onOpenChange } = options; const open = popupStore.useState("open"); const referenceElement = popupStore.useState("activeTriggerElement"); const floatingElement = popupStore.useState(treatPopupAsFloatingElement ? "popupElement" : "positionerElement"); const triggerElements = popupStore.context.triggerElements; const handleOpenChange = onOpenChange; const internalStoreRef = React27.useRef(null); if (floatingRootContextProp === void 0 && internalStoreRef.current === null) { internalStoreRef.current = new FloatingRootStore({ open, transitionStatus: void 0, referenceElement, floatingElement, triggerElements, onOpenChange: handleOpenChange, floatingId, syncOnly: true, nested }); } const store2 = floatingRootContextProp ?? internalStoreRef.current; popupStore.useSyncedValue("floatingId", floatingId); useIsoLayoutEffect(() => { const valuesToSync = { open, floatingId, referenceElement, floatingElement }; if (isElement(referenceElement)) { valuesToSync.domReferenceElement = referenceElement; } if (store2.state.positionReference === store2.state.referenceElement) { valuesToSync.positionReference = referenceElement; } store2.update(valuesToSync); }, [open, floatingId, referenceElement, floatingElement, store2]); store2.context.onOpenChange = handleOpenChange; store2.context.nested = nested; return store2; } // node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs var FOCUSABLE_POPUP_PROPS = { tabIndex: -1, [FOCUSABLE_ATTRIBUTE]: "" }; function usePopupStore(externalStore, createStore, treatPopupAsFloatingElement = false) { const floatingId = useId(); const nested = useFloatingParentNodeId() != null; const internalStoreRef = React28.useRef(null); if (externalStore === void 0 && internalStoreRef.current === null) { internalStoreRef.current = createStore(floatingId, nested); } const store2 = externalStore ?? internalStoreRef.current; useSyncedFloatingRootContext({ popupStore: store2, treatPopupAsFloatingElement, floatingRootContext: store2.state.floatingRootContext, floatingId, nested, onOpenChange: store2.setOpen }); return { store: store2, internalStore: internalStoreRef.current }; } function useTriggerRegistration(id, store2) { const registeredElementIdRef = React28.useRef(null); const registeredElementRef = React28.useRef(null); return React28.useCallback((element) => { if (id === void 0) { return; } let shouldSyncTriggerCount = false; if (registeredElementIdRef.current !== null) { const registeredId = registeredElementIdRef.current; const registeredElement = registeredElementRef.current; const currentElement = store2.context.triggerElements.getById(registeredId); if (registeredElement && currentElement === registeredElement) { store2.context.triggerElements.delete(registeredId); shouldSyncTriggerCount = true; } registeredElementIdRef.current = null; registeredElementRef.current = null; } if (element !== null) { registeredElementIdRef.current = id; registeredElementRef.current = element; store2.context.triggerElements.add(id, element); shouldSyncTriggerCount = true; } if (shouldSyncTriggerCount) { const triggerCount = store2.context.triggerElements.size; if (store2.select("open") && store2.state.triggerCount !== triggerCount) { store2.set("triggerCount", triggerCount); } } }, [store2, id]); } function setPopupOpenState(state, open, trigger, preventUnmountOnClose = false) { if (open) { state.preventUnmountingOnClose = false; } else if (preventUnmountOnClose) { state.preventUnmountingOnClose = true; } const triggerId = trigger?.id ?? null; if (triggerId || open) { state.activeTriggerId = triggerId; state.activeTriggerElement = trigger ?? null; } } function attachPreventUnmountOnClose(eventDetails) { let preventUnmountOnClose = false; eventDetails.preventUnmountOnClose = () => { preventUnmountOnClose = true; }; return () => preventUnmountOnClose; } function applyPopupOpenChange(store2, nextOpen, eventDetails, options = {}) { const reason = eventDetails.reason; const isHover = reason === reason_parts_exports.triggerHover; const isFocusOpen = nextOpen && reason === reason_parts_exports.triggerFocus; const isDismissClose = !nextOpen && (reason === reason_parts_exports.triggerPress || reason === reason_parts_exports.escapeKey); const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(eventDetails); store2.context.onOpenChange?.(nextOpen, eventDetails); if (eventDetails.isCanceled) { return; } options.onBeforeDispatch?.(); store2.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails); const changeState = () => { const updatedState = { ...options.extraState, open: nextOpen }; if (isFocusOpen) { updatedState.instantType = "focus"; } else if (isDismissClose) { updatedState.instantType = "dismiss"; } else if (isHover) { updatedState.instantType = void 0; } setPopupOpenState(updatedState, nextOpen, eventDetails.trigger, shouldPreventUnmountOnClose()); store2.update(updatedState); }; if (isHover) { ReactDOM4.flushSync(changeState); } else { changeState(); } } function useInitialOpenSync(store2, openProp, defaultOpen, defaultTriggerId) { useOnFirstRender(() => { if (openProp === void 0 && store2.state.open === false && defaultOpen) { store2.state = { ...store2.state, open: true, activeTriggerId: defaultTriggerId, preventUnmountingOnClose: false }; } }); } function useTriggerDataForwarding(triggerId, triggerElementRef, store2, stateUpdates) { const isMountedByThisTrigger = store2.useState("isMountedByTrigger", triggerId); const baseRegisterTrigger = useTriggerRegistration(triggerId, store2); const registerTrigger = useStableCallback((element) => { baseRegisterTrigger(element); if (!element) { return; } const open = store2.select("open"); const activeTriggerId = store2.select("activeTriggerId"); if (activeTriggerId === triggerId) { store2.update({ activeTriggerElement: element, ...open ? stateUpdates : null }); return; } if (activeTriggerId == null && open) { store2.update({ activeTriggerId: triggerId, activeTriggerElement: element, ...stateUpdates }); } }); useIsoLayoutEffect(() => { if (isMountedByThisTrigger) { store2.update({ activeTriggerElement: triggerElementRef.current, ...stateUpdates }); } }, [isMountedByThisTrigger, store2, triggerElementRef, ...Object.values(stateUpdates)]); return { registerTrigger, isMountedByThisTrigger }; } function useImplicitActiveTrigger(store2, options = {}) { const { closeOnActiveTriggerUnmount = false } = options; const open = store2.useState("open"); const reactiveTriggerCount = store2.useState("triggerCount"); useIsoLayoutEffect(() => { if (!open) { if (store2.state.triggerCount !== 0) { store2.set("triggerCount", 0); } return; } const triggerCount = store2.context.triggerElements.size; const stateUpdates = {}; if (store2.state.triggerCount !== triggerCount) { stateUpdates.triggerCount = triggerCount; } const activeTriggerId = store2.select("activeTriggerId"); let lostActiveTriggerId = null; if (activeTriggerId) { const activeTriggerElement = store2.context.triggerElements.getById(activeTriggerId); if (!activeTriggerElement) { lostActiveTriggerId = activeTriggerId; } else if (activeTriggerElement !== store2.state.activeTriggerElement) { stateUpdates.activeTriggerElement = activeTriggerElement; } } if (!lostActiveTriggerId && !activeTriggerId && triggerCount === 1) { const iteratorResult = store2.context.triggerElements.entries().next(); if (!iteratorResult.done) { const [implicitTriggerId, implicitTriggerElement] = iteratorResult.value; stateUpdates.activeTriggerId = implicitTriggerId; stateUpdates.activeTriggerElement = implicitTriggerElement; } } if (stateUpdates.triggerCount !== void 0 || stateUpdates.activeTriggerId !== void 0 || stateUpdates.activeTriggerElement !== void 0) { store2.update(stateUpdates); } if (lostActiveTriggerId) { if (closeOnActiveTriggerUnmount) { queueMicrotask(() => { if (store2.select("open") && store2.select("activeTriggerId") === lostActiveTriggerId && !store2.context.triggerElements.getById(lostActiveTriggerId)) { const eventDetails = createChangeEventDetails(reason_parts_exports.none); store2.setOpen(false, eventDetails); if (!eventDetails.isCanceled) { store2.update({ activeTriggerId: null, activeTriggerElement: null }); } } }); } } }, [open, store2, reactiveTriggerCount, closeOnActiveTriggerUnmount]); } function useOpenStateTransitions(open, store2, onUnmount) { const { mounted, setMounted, transitionStatus } = useTransitionStatus(open); const preventUnmountingOnClose = store2.useState("preventUnmountingOnClose"); const syncedPreventUnmountingOnClose = open ? false : preventUnmountingOnClose; store2.useSyncedValues({ mounted, transitionStatus, preventUnmountingOnClose: syncedPreventUnmountingOnClose }); const forceUnmount = useStableCallback(() => { setMounted(false); store2.update({ activeTriggerId: null, activeTriggerElement: null, mounted: false, preventUnmountingOnClose: false }); onUnmount?.(); store2.context.onOpenChangeComplete?.(false); }); useOpenChangeComplete({ enabled: mounted && !open && !syncedPreventUnmountingOnClose, open, ref: store2.context.popupRef, onComplete() { if (!open) { forceUnmount(); } } }); return { forceUnmount, transitionStatus }; } function usePopupInteractionProps(store2, statePart) { store2.useSyncedValues(statePart); useIsoLayoutEffect(() => () => { store2.update({ activeTriggerProps: EMPTY_OBJECT, inactiveTriggerProps: EMPTY_OBJECT, popupProps: EMPTY_OBJECT }); }, [store2]); } // node_modules/@base-ui/react/utils/popups/popupTriggerMap.mjs var PopupTriggerMap = class { constructor() { this.elementsSet = /* @__PURE__ */ new Set(); this.idMap = /* @__PURE__ */ new Map(); } /** * Adds a trigger element with the given ID. * * Note: The provided element is assumed to not be registered under multiple IDs. */ add(id, element) { const existingElement = this.idMap.get(id); if (existingElement === element) { return; } if (existingElement !== void 0) { this.elementsSet.delete(existingElement); } this.elementsSet.add(element); this.idMap.set(id, element); if (true) { if (this.elementsSet.size !== this.idMap.size) { throw new Error("Base UI: A trigger element cannot be registered under multiple IDs in PopupTriggerMap."); } } } /** * Removes the trigger element with the given ID. */ delete(id) { const element = this.idMap.get(id); if (element) { this.elementsSet.delete(element); this.idMap.delete(id); } } /** * Whether the given element is registered as a trigger. */ hasElement(element) { return this.elementsSet.has(element); } /** * Whether there is a registered trigger element matching the given predicate. */ hasMatchingElement(predicate) { for (const element of this.elementsSet) { if (predicate(element)) { return true; } } return false; } /** * Returns the trigger element associated with the given ID, or undefined if no such element exists. */ getById(id) { return this.idMap.get(id); } /** * Returns an iterable of all registered trigger entries, where each entry is a tuple of [id, element]. */ entries() { return this.idMap.entries(); } /** * Returns an iterable of all registered trigger elements. */ elements() { return this.elementsSet.values(); } /** * Returns the number of registered trigger elements. */ get size() { return this.idMap.size; } }; // node_modules/@base-ui/react/floating-ui-react/utils/getEmptyRootContext.mjs function getEmptyRootContext() { return new FloatingRootStore({ open: false, transitionStatus: void 0, floatingElement: null, referenceElement: null, triggerElements: new PopupTriggerMap(), floatingId: void 0, syncOnly: false, nested: false, onOpenChange: void 0 }); } // node_modules/@base-ui/react/utils/popups/store.mjs function createInitialPopupStoreState() { return { open: false, openProp: void 0, mounted: false, transitionStatus: void 0, floatingRootContext: getEmptyRootContext(), floatingId: void 0, triggerCount: 0, preventUnmountingOnClose: false, payload: void 0, activeTriggerId: null, activeTriggerElement: null, triggerIdProp: void 0, popupElement: null, positionerElement: null, activeTriggerProps: EMPTY_OBJECT, inactiveTriggerProps: EMPTY_OBJECT, popupProps: EMPTY_OBJECT }; } function createPopupFloatingRootContext(triggerElements, floatingId, nested = false) { return new FloatingRootStore({ open: false, transitionStatus: void 0, floatingElement: null, referenceElement: null, triggerElements, floatingId, syncOnly: true, nested, onOpenChange: void 0 }); } var activeTriggerIdSelector = createSelector((state) => state.triggerIdProp ?? state.activeTriggerId); var openSelector = createSelector((state) => state.openProp ?? state.open); var popupIdSelector = createSelector((state) => { const popupId = state.popupElement?.id ?? state.floatingId; return popupId || void 0; }); function triggerOwnsOpenPopup(state, triggerId) { return triggerId !== void 0 && openSelector(state) && activeTriggerIdSelector(state) === triggerId; } function triggerOwnsOpenPopupOrIsOnlyTrigger(state, triggerId) { if (triggerOwnsOpenPopup(state, triggerId)) { return true; } return triggerId !== void 0 && openSelector(state) && activeTriggerIdSelector(state) == null && state.triggerCount === 1; } var popupStoreSelectors = { open: openSelector, mounted: createSelector((state) => state.mounted), transitionStatus: createSelector((state) => state.transitionStatus), floatingRootContext: createSelector((state) => state.floatingRootContext), triggerCount: createSelector((state) => state.triggerCount), preventUnmountingOnClose: createSelector((state) => state.preventUnmountingOnClose), payload: createSelector((state) => state.payload), activeTriggerId: activeTriggerIdSelector, activeTriggerElement: createSelector((state) => state.mounted ? state.activeTriggerElement : null), popupId: popupIdSelector, /** * Whether the trigger with the given ID was used to open the popup. */ isTriggerActive: createSelector((state, triggerId) => triggerId !== void 0 && activeTriggerIdSelector(state) === triggerId), /** * Whether the popup is open and was activated by a trigger with the given ID. */ isOpenedByTrigger: createSelector((state, triggerId) => triggerOwnsOpenPopup(state, triggerId)), /** * Whether the popup is mounted and was activated by a trigger with the given ID. */ isMountedByTrigger: createSelector((state, triggerId) => triggerId !== void 0 && activeTriggerIdSelector(state) === triggerId && state.mounted), triggerProps: createSelector((state, isActive) => isActive ? state.activeTriggerProps : state.inactiveTriggerProps), /** * Popup id for the trigger that currently owns the open popup. */ triggerPopupId: createSelector((state, triggerId) => triggerOwnsOpenPopupOrIsOnlyTrigger(state, triggerId) ? popupIdSelector(state) : void 0), popupProps: createSelector((state) => state.popupProps), popupElement: createSelector((state) => state.popupElement), positionerElement: createSelector((state) => state.positionerElement) }; // node_modules/@base-ui/react/floating-ui-react/hooks/useFloatingRootContext.mjs function useFloatingRootContext(options) { const { open = false, onOpenChange, elements = {} } = options; const floatingId = useId(); const nested = useFloatingParentNodeId() != null; if (true) { const optionDomReference = elements.reference; if (optionDomReference && !isElement(optionDomReference)) { console.error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `context.setPositionReference()`", "instead."); } } const store2 = useRefWithInit(() => new FloatingRootStore({ open, transitionStatus: void 0, onOpenChange, referenceElement: elements.reference ?? null, floatingElement: elements.floating ?? null, triggerElements: new PopupTriggerMap(), floatingId, syncOnly: false, nested })).current; useIsoLayoutEffect(() => { const valuesToSync = { open, floatingId }; if (elements.reference !== void 0) { valuesToSync.referenceElement = elements.reference; valuesToSync.domReferenceElement = isElement(elements.reference) ? elements.reference : null; } if (elements.floating !== void 0) { valuesToSync.floatingElement = elements.floating; } store2.update(valuesToSync); }, [open, floatingId, elements.reference, elements.floating, store2]); store2.context.onOpenChange = onOpenChange; store2.context.nested = nested; return store2; } // node_modules/@base-ui/react/floating-ui-react/hooks/useFloating.mjs function useFloating2(options = {}) { const { nodeId, externalTree } = options; const internalStore = useFloatingRootContext(options); const store2 = options.rootContext || internalStore; const referenceElement = store2.useState("referenceElement"); const floatingElement = store2.useState("floatingElement"); const domReferenceElement = store2.useState("domReferenceElement"); const open = store2.useState("open"); const floatingId = store2.useState("floatingId"); const [positionReference, setPositionReferenceRaw] = React29.useState(null); const [localDomReference, setLocalDomReference] = React29.useState(void 0); const [localFloatingElement, setLocalFloatingElement] = React29.useState(void 0); const domReferenceRef = React29.useRef(null); const tree = useFloatingTree(externalTree); const storeElements = React29.useMemo(() => ({ reference: referenceElement, floating: floatingElement, domReference: domReferenceElement }), [referenceElement, floatingElement, domReferenceElement]); const position = useFloating({ ...options, elements: { ...storeElements, ...positionReference && { reference: positionReference } } }); const localDomReferenceElement = isElement(localDomReference) ? localDomReference : null; const syncedFloatingElement = localFloatingElement === void 0 ? store2.state.floatingElement : localFloatingElement; store2.useSyncedValue("referenceElement", localDomReference ?? null); store2.useSyncedValue("domReferenceElement", localDomReference === void 0 ? domReferenceElement : localDomReferenceElement); store2.useSyncedValue("floatingElement", syncedFloatingElement); const setPositionReference = React29.useCallback((node) => { const computedPositionReference = isElement(node) ? { getBoundingClientRect: () => node.getBoundingClientRect(), getClientRects: () => node.getClientRects(), contextElement: node } : node; setPositionReferenceRaw(computedPositionReference); position.refs.setReference(computedPositionReference); }, [position.refs]); const setReference = React29.useCallback((node) => { if (isElement(node) || node === null) { domReferenceRef.current = node; setLocalDomReference(node); } if (isElement(position.refs.reference.current) || position.refs.reference.current === null || // Don't allow setting virtual elements using the old technique back to // `null` to support `positionReference` + an unstable `reference` // callback ref. node !== null && !isElement(node)) { position.refs.setReference(node); } }, [position.refs, setLocalDomReference]); const setFloating = React29.useCallback((node) => { setLocalFloatingElement(node); position.refs.setFloating(node); }, [position.refs]); const refs = React29.useMemo(() => ({ ...position.refs, setReference, setFloating, setPositionReference, domReference: domReferenceRef }), [position.refs, setReference, setFloating, setPositionReference]); const elements = React29.useMemo(() => ({ ...position.elements, domReference: domReferenceElement }), [position.elements, domReferenceElement]); const context = React29.useMemo(() => ({ ...position, dataRef: store2.context.dataRef, open, onOpenChange: store2.setOpen, events: store2.context.events, floatingId, refs, elements, nodeId, rootStore: store2 }), [position, refs, elements, nodeId, store2, open, floatingId]); useIsoLayoutEffect(() => { if (domReferenceElement) { domReferenceRef.current = domReferenceElement; } }, [domReferenceElement]); useIsoLayoutEffect(() => { store2.context.dataRef.current.floatingContext = context; const node = tree?.nodesRef.current.find((n) => n.id === nodeId); if (node) { node.context = context; } }); return React29.useMemo(() => ({ ...position, context, refs, elements, rootStore: store2 }), [position, refs, elements, context, store2]); } // node_modules/@base-ui/react/floating-ui-react/hooks/useFocus.mjs var React30 = __toESM(require_react(), 1); var isMacSafari = parts_exports.os.mac && parts_exports.engine.webkit; function useFocus(context, props = {}) { const { enabled = true, delay } = props; const store2 = "rootStore" in context ? context.rootStore : context; const { events, dataRef } = store2.context; const blockFocusRef = React30.useRef(false); const blockedReferenceRef = React30.useRef(null); const keyboardModalityRef = React30.useRef(true); const timeout = useTimeout(); React30.useEffect(() => { const domReference = store2.select("domReferenceElement"); if (!enabled) { return void 0; } const win = getWindow(domReference); function onBlur() { const currentDomReference = store2.select("domReferenceElement"); if (!store2.select("open") && isHTMLElement(currentDomReference) && currentDomReference === activeElement(ownerDocument(currentDomReference))) { blockFocusRef.current = true; } } function onKeyDown() { keyboardModalityRef.current = true; } function onPointerDown() { keyboardModalityRef.current = false; } return mergeCleanups(addEventListener(win, "blur", onBlur), isMacSafari && addEventListener(win, "keydown", onKeyDown, true), isMacSafari && addEventListener(win, "pointerdown", onPointerDown, true)); }, [store2, enabled]); React30.useEffect(() => { if (!enabled) { return void 0; } function onOpenChangeLocal(details) { if (details.reason === reason_parts_exports.triggerPress || details.reason === reason_parts_exports.escapeKey) { const referenceElement = store2.select("domReferenceElement"); if (isElement(referenceElement)) { blockedReferenceRef.current = referenceElement; blockFocusRef.current = true; } } } events.on("openchange", onOpenChangeLocal); return () => { events.off("openchange", onOpenChangeLocal); }; }, [events, enabled, store2]); const reference = React30.useMemo(() => { function resetBlockedFocus() { blockFocusRef.current = false; blockedReferenceRef.current = null; } return { onMouseLeave() { resetBlockedFocus(); }, onFocus(event) { const focusTarget = event.currentTarget; if (blockFocusRef.current) { if (blockedReferenceRef.current === focusTarget) { return; } resetBlockedFocus(); } const target = getTarget(event.nativeEvent); if (isElement(target)) { if (isMacSafari && !event.relatedTarget) { if (!keyboardModalityRef.current && !isTypeableElement(target)) { return; } } else if (!matchesFocusVisible(target)) { return; } } const movedFromOtherEnabledTrigger = isTargetInsideEnabledTrigger(event.relatedTarget, store2.context.triggerElements); const { nativeEvent, currentTarget } = event; const delayValue = typeof delay === "function" ? delay() : delay; if (store2.select("open") && movedFromOtherEnabledTrigger || delayValue === 0 || delayValue === void 0) { store2.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent, currentTarget)); return; } timeout.start(delayValue, () => { if (blockFocusRef.current) { return; } store2.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent, currentTarget)); }); }, onBlur(event) { resetBlockedFocus(); const relatedTarget = event.relatedTarget; const nativeEvent = event.nativeEvent; const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute("focus-guard")) && relatedTarget.getAttribute("data-type") === "outside"; timeout.start(0, () => { const domReference = store2.select("domReferenceElement"); const activeEl = activeElement(ownerDocument(domReference)); if (!relatedTarget && activeEl === domReference) { return; } if (contains(dataRef.current.floatingContext?.refs.floating.current, activeEl) || contains(domReference, activeEl) || movedToFocusGuard) { return; } const nextFocusedElement = relatedTarget ?? activeEl; if (isTargetInsideEnabledTrigger(nextFocusedElement, store2.context.triggerElements)) { return; } store2.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent)); }); } }; }, [dataRef, delay, store2, timeout]); return React30.useMemo(() => enabled ? { reference, trigger: reference } : {}, [enabled, reference]); } // node_modules/@base-ui/react/floating-ui-react/hooks/useHoverFloatingInteraction.mjs var React31 = __toESM(require_react(), 1); // node_modules/@base-ui/react/floating-ui-react/hooks/useHoverInteractionSharedState.mjs var HoverInteraction = class _HoverInteraction { constructor() { this.pointerType = void 0; this.interactedInside = false; this.handler = void 0; this.blockMouseMove = true; this.performedPointerEventsMutation = false; this.pointerEventsScopeElement = null; this.pointerEventsReferenceElement = null; this.pointerEventsFloatingElement = null; this.restTimeoutPending = false; this.openChangeTimeout = new Timeout(); this.restTimeout = new Timeout(); this.handleCloseOptions = void 0; } static create() { return new _HoverInteraction(); } dispose = () => { this.openChangeTimeout.clear(); this.restTimeout.clear(); }; disposeEffect = () => { return this.dispose; }; }; var pointerEventsMutationOwnerByScopeElement = /* @__PURE__ */ new WeakMap(); function clearSafePolygonPointerEventsMutation(instance) { if (!instance.performedPointerEventsMutation) { return; } const scopeElement = instance.pointerEventsScopeElement; if (scopeElement && pointerEventsMutationOwnerByScopeElement.get(scopeElement) === instance) { instance.pointerEventsScopeElement?.style.removeProperty("pointer-events"); instance.pointerEventsReferenceElement?.style.removeProperty("pointer-events"); instance.pointerEventsFloatingElement?.style.removeProperty("pointer-events"); pointerEventsMutationOwnerByScopeElement.delete(scopeElement); } instance.performedPointerEventsMutation = false; instance.pointerEventsScopeElement = null; instance.pointerEventsReferenceElement = null; instance.pointerEventsFloatingElement = null; } function applySafePolygonPointerEventsMutation(instance, options) { const { scopeElement, referenceElement, floatingElement } = options; const existingOwner = pointerEventsMutationOwnerByScopeElement.get(scopeElement); if (existingOwner && existingOwner !== instance) { clearSafePolygonPointerEventsMutation(existingOwner); } clearSafePolygonPointerEventsMutation(instance); instance.performedPointerEventsMutation = true; instance.pointerEventsScopeElement = scopeElement; instance.pointerEventsReferenceElement = referenceElement; instance.pointerEventsFloatingElement = floatingElement; pointerEventsMutationOwnerByScopeElement.set(scopeElement, instance); scopeElement.style.pointerEvents = "none"; referenceElement.style.pointerEvents = "auto"; floatingElement.style.pointerEvents = "auto"; } function useHoverInteractionSharedState(store2) { const data = store2.context.dataRef.current; const instance = useRefWithInit(() => data.hoverInteractionState ?? HoverInteraction.create()).current; if (!data.hoverInteractionState) { data.hoverInteractionState = instance; } useOnMount(data.hoverInteractionState.disposeEffect); return data.hoverInteractionState; } // node_modules/@base-ui/react/floating-ui-react/hooks/useHoverFloatingInteraction.mjs function useHoverFloatingInteraction(context, parameters = {}) { const { enabled = true, closeDelay: closeDelayProp = 0, nodeId: nodeIdProp } = parameters; const store2 = "rootStore" in context ? context.rootStore : context; const open = store2.useState("open"); const floatingElement = store2.useState("floatingElement"); const domReferenceElement = store2.useState("domReferenceElement"); const { dataRef } = store2.context; const tree = useFloatingTree(); const parentId = useFloatingParentNodeId(); const instance = useHoverInteractionSharedState(store2); const childClosedTimeout = useTimeout(); const isClickLikeOpenEvent2 = useStableCallback(() => { return isClickLikeOpenEvent(dataRef.current.openEvent?.type, instance.interactedInside); }); const isHoverOpen = useStableCallback(() => { return isHoverOpenEvent(dataRef.current.openEvent?.type); }); const clearPointerEvents = useStableCallback(() => { clearSafePolygonPointerEventsMutation(instance); }); useIsoLayoutEffect(() => { if (!open) { instance.pointerType = void 0; instance.restTimeoutPending = false; instance.interactedInside = false; clearPointerEvents(); } }, [open, instance, clearPointerEvents]); React31.useEffect(() => { return clearPointerEvents; }, [clearPointerEvents]); useIsoLayoutEffect(() => { if (!enabled) { return void 0; } if (open && instance.handleCloseOptions?.blockPointerEvents && isHoverOpen() && isElement(domReferenceElement) && floatingElement) { const ref = domReferenceElement; const floatingEl = floatingElement; const doc = ownerDocument(floatingElement); const parentFloating = tree?.nodesRef.current.find((node) => node.id === parentId)?.context?.elements.floating; if (parentFloating) { parentFloating.style.pointerEvents = ""; } const cachedScopeElement = instance.pointerEventsScopeElement !== floatingEl ? instance.pointerEventsScopeElement : null; const parentScopeElement = parentFloating !== floatingEl ? parentFloating : null; const scopeElement = instance.handleCloseOptions?.getScope?.() ?? cachedScopeElement ?? parentScopeElement ?? ref.closest("[data-rootownerid]") ?? doc.body; applySafePolygonPointerEventsMutation(instance, { scopeElement, referenceElement: ref, floatingElement: floatingEl }); return () => { clearPointerEvents(); }; } return void 0; }, [enabled, open, domReferenceElement, floatingElement, instance, isHoverOpen, tree, parentId, clearPointerEvents]); React31.useEffect(() => { if (!enabled) { return void 0; } function hasParentChildren() { return !!(tree && parentId && getNodeChildren(tree.nodesRef.current, parentId).length > 0); } function closeWithDelay(event) { const closeDelay = getDelay(closeDelayProp, "close", instance.pointerType); const close = () => { store2.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event)); tree?.events.emit("floating.closed", event); }; if (closeDelay) { instance.openChangeTimeout.start(closeDelay, close); } else { instance.openChangeTimeout.clear(); close(); } } function handleInteractInside(event) { const target = getTarget(event); if (!isInteractiveElement(target)) { instance.interactedInside = false; return; } instance.interactedInside = target?.closest("[aria-haspopup]") != null; } function onFloatingMouseEnter() { instance.openChangeTimeout.clear(); childClosedTimeout.clear(); tree?.events.off("floating.closed", onNodeClosed); clearPointerEvents(); } function onFloatingMouseLeave(event) { if (hasParentChildren() && tree) { tree.events.on("floating.closed", onNodeClosed); return; } if (isTargetInsideEnabledTrigger(event.relatedTarget, store2.context.triggerElements)) { return; } const currentNodeId = dataRef.current.floatingContext?.nodeId ?? nodeIdProp; const relatedTarget = event.relatedTarget; const isMovingIntoDescendantFloating = tree && currentNodeId && isElement(relatedTarget) && getNodeChildren(tree.nodesRef.current, currentNodeId, false).some((node) => contains(node.context?.elements.floating, relatedTarget)); if (isMovingIntoDescendantFloating) { return; } if (instance.handler) { instance.handler(event); return; } clearPointerEvents(); if (isHoverOpen() && !isClickLikeOpenEvent2()) { closeWithDelay(event); } } function onNodeClosed(event) { if (!tree || !parentId || hasParentChildren()) { return; } childClosedTimeout.start(0, () => { tree.events.off("floating.closed", onNodeClosed); store2.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event)); tree.events.emit("floating.closed", event); }); } const floating = floatingElement; return mergeCleanups(floating && addEventListener(floating, "mouseenter", onFloatingMouseEnter), floating && addEventListener(floating, "mouseleave", onFloatingMouseLeave), floating && addEventListener(floating, "pointerdown", handleInteractInside, true), () => { tree?.events.off("floating.closed", onNodeClosed); }); }, [enabled, floatingElement, store2, dataRef, closeDelayProp, nodeIdProp, isHoverOpen, isClickLikeOpenEvent2, clearPointerEvents, instance, tree, parentId, childClosedTimeout]); } // node_modules/@base-ui/react/floating-ui-react/hooks/useHoverReferenceInteraction.mjs var React32 = __toESM(require_react(), 1); var ReactDOM5 = __toESM(require_react_dom(), 1); var EMPTY_REF = { current: null }; function useHoverReferenceInteraction(context, props = {}) { const { enabled = true, delay = 0, handleClose = null, mouseOnly = false, restMs = 0, move = true, triggerElementRef = EMPTY_REF, externalTree, isActiveTrigger = true, getHandleCloseContext, isClosing, shouldOpen: shouldOpenProp } = props; const store2 = "rootStore" in context ? context.rootStore : context; const { dataRef, events } = store2.context; const tree = useFloatingTree(externalTree); const instance = useHoverInteractionSharedState(store2); const isHoverCloseActiveRef = React32.useRef(false); const handleCloseRef = useValueAsRef(handleClose); const delayRef = useValueAsRef(delay); const restMsRef = useValueAsRef(restMs); const enabledRef = useValueAsRef(enabled); const shouldOpenRef = useValueAsRef(shouldOpenProp); const isClosingRef = useValueAsRef(isClosing); const isClickLikeOpenEvent2 = useStableCallback(() => { return isClickLikeOpenEvent(dataRef.current.openEvent?.type, instance.interactedInside); }); const checkShouldOpen = useStableCallback(() => { return shouldOpenRef.current?.() !== false; }); const isOverInactiveTrigger = useStableCallback((currentDomReference, currentTarget, target) => { const allTriggers = store2.context.triggerElements; if (allTriggers.hasElement(currentTarget)) { return !currentDomReference || !contains(currentDomReference, currentTarget); } if (!isElement(target)) { return false; } const targetElement = target; return allTriggers.hasMatchingElement((trigger) => contains(trigger, targetElement)) && (!currentDomReference || !contains(currentDomReference, targetElement)); }); const cleanupMouseMoveHandler = useStableCallback(() => { if (!instance.handler) { return; } const doc = ownerDocument(store2.select("domReferenceElement")); doc.removeEventListener("mousemove", instance.handler); instance.handler = void 0; }); const clearPointerEvents = useStableCallback(() => { clearSafePolygonPointerEventsMutation(instance); }); if (isActiveTrigger) { instance.handleCloseOptions = handleCloseRef.current?.__options; } React32.useEffect(() => cleanupMouseMoveHandler, [cleanupMouseMoveHandler]); React32.useEffect(() => { if (!enabled) { return void 0; } function onOpenChangeLocal(details) { if (!details.open) { isHoverCloseActiveRef.current = details.reason === reason_parts_exports.triggerHover; cleanupMouseMoveHandler(); instance.openChangeTimeout.clear(); instance.restTimeout.clear(); instance.blockMouseMove = true; instance.restTimeoutPending = false; } else { isHoverCloseActiveRef.current = false; } } events.on("openchange", onOpenChangeLocal); return () => { events.off("openchange", onOpenChangeLocal); }; }, [enabled, events, instance, cleanupMouseMoveHandler]); React32.useEffect(() => { if (!enabled) { return void 0; } function closeWithDelay(event, runElseBranch = true) { const closeDelay = getDelay(delayRef.current, "close", instance.pointerType); if (closeDelay) { instance.openChangeTimeout.start(closeDelay, () => { store2.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event)); tree?.events.emit("floating.closed", event); }); } else if (runElseBranch) { instance.openChangeTimeout.clear(); store2.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event)); tree?.events.emit("floating.closed", event); } } const trigger = triggerElementRef.current ?? (isActiveTrigger ? store2.select("domReferenceElement") : null); if (!isElement(trigger)) { return void 0; } function onMouseEnter(event) { instance.openChangeTimeout.clear(); instance.blockMouseMove = false; if (mouseOnly && !isMouseLikePointerType(instance.pointerType)) { return; } const restMsValue = getRestMs(restMsRef.current); const openDelay = getDelay(delayRef.current, "open", instance.pointerType); const eventTarget = getTarget(event); const currentTarget = event.currentTarget ?? null; const currentDomReference = store2.select("domReferenceElement"); let triggerNode = currentTarget; if (isElement(eventTarget) && !store2.context.triggerElements.hasElement(eventTarget)) { for (const triggerElement of store2.context.triggerElements.elements()) { if (contains(triggerElement, eventTarget)) { triggerNode = triggerElement; break; } } } if (isElement(currentTarget) && isElement(currentDomReference) && !store2.context.triggerElements.hasElement(currentTarget) && contains(currentTarget, currentDomReference)) { triggerNode = currentDomReference; } const isOverInactive = triggerNode == null ? false : isOverInactiveTrigger(currentDomReference, triggerNode, eventTarget); const isOpen = store2.select("open"); const isInClosingTransition = isClosingRef.current?.() ?? store2.select("transitionStatus") === "ending"; const isHoverCloseTransition = !isOpen && isInClosingTransition && isHoverCloseActiveRef.current; const isReenteringSameTriggerDuringCloseTransition = !isOverInactive && isElement(triggerNode) && isElement(currentDomReference) && contains(currentDomReference, triggerNode) && isHoverCloseTransition; const isRestOnlyDelay = restMsValue > 0 && !openDelay; const shouldOpenImmediately = isOverInactive && (isOpen || isHoverCloseTransition) || isReenteringSameTriggerDuringCloseTransition; const shouldOpen = !isOpen || isOverInactive; if (shouldOpenImmediately) { if (checkShouldOpen()) { store2.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode)); } return; } if (isRestOnlyDelay) { return; } if (openDelay) { instance.openChangeTimeout.start(openDelay, () => { if (shouldOpen && checkShouldOpen()) { store2.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode)); } }); } else if (shouldOpen) { if (checkShouldOpen()) { store2.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode)); } } } function onMouseLeave(event) { if (isClickLikeOpenEvent2()) { clearPointerEvents(); return; } cleanupMouseMoveHandler(); const domReferenceElement = store2.select("domReferenceElement"); const doc = ownerDocument(domReferenceElement); instance.restTimeout.clear(); instance.restTimeoutPending = false; const handleCloseContextBase = dataRef.current.floatingContext ?? getHandleCloseContext?.(); if (isTargetInsideEnabledTrigger(event.relatedTarget, store2.context.triggerElements)) { return; } if (handleCloseRef.current && handleCloseContextBase) { if (!store2.select("open")) { instance.openChangeTimeout.clear(); } const currentTrigger = triggerElementRef.current; instance.handler = handleCloseRef.current({ ...handleCloseContextBase, tree, x: event.clientX, y: event.clientY, onClose() { clearPointerEvents(); cleanupMouseMoveHandler(); if (enabledRef.current && !isClickLikeOpenEvent2() && currentTrigger === store2.select("domReferenceElement")) { closeWithDelay(event, true); } } }); doc.addEventListener("mousemove", instance.handler); instance.handler(event); return; } const shouldClose = instance.pointerType === "touch" ? !contains(store2.select("floatingElement"), event.relatedTarget) : true; if (shouldClose) { closeWithDelay(event); } } if (move) { return mergeCleanups(addEventListener(trigger, "mousemove", onMouseEnter, { once: true }), addEventListener(trigger, "mouseenter", onMouseEnter), addEventListener(trigger, "mouseleave", onMouseLeave)); } return mergeCleanups(addEventListener(trigger, "mouseenter", onMouseEnter), addEventListener(trigger, "mouseleave", onMouseLeave)); }, [cleanupMouseMoveHandler, clearPointerEvents, dataRef, delayRef, store2, enabled, handleCloseRef, instance, isActiveTrigger, isOverInactiveTrigger, isClickLikeOpenEvent2, mouseOnly, move, restMsRef, triggerElementRef, tree, enabledRef, getHandleCloseContext, isClosingRef, checkShouldOpen]); return React32.useMemo(() => { if (!enabled) { return void 0; } function setPointerRef(event) { instance.pointerType = event.pointerType; } return { onPointerDown: setPointerRef, onPointerEnter: setPointerRef, onMouseMove(event) { const { nativeEvent } = event; const trigger = event.currentTarget; const currentDomReference = store2.select("domReferenceElement"); const currentOpen = store2.select("open"); const isOverInactive = isOverInactiveTrigger(currentDomReference, trigger, event.target); if (mouseOnly && !isMouseLikePointerType(instance.pointerType)) { return; } if (currentOpen && isOverInactive && instance.handleCloseOptions?.blockPointerEvents) { const floatingElement = store2.select("floatingElement"); if (floatingElement) { const scopeElement = instance.handleCloseOptions?.getScope?.() ?? trigger.ownerDocument.body; applySafePolygonPointerEventsMutation(instance, { scopeElement, referenceElement: trigger, floatingElement }); } } const restMsValue = getRestMs(restMsRef.current); if (currentOpen && !isOverInactive || restMsValue === 0) { return; } if (!isOverInactive && instance.restTimeoutPending && event.movementX ** 2 + event.movementY ** 2 < 2) { return; } instance.restTimeout.clear(); function handleMouseMove() { instance.restTimeoutPending = false; if (isClickLikeOpenEvent2()) { return; } const latestOpen = store2.select("open"); if (!instance.blockMouseMove && (!latestOpen || isOverInactive) && checkShouldOpen()) { store2.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, nativeEvent, trigger)); } } if (instance.pointerType === "touch") { ReactDOM5.flushSync(() => { handleMouseMove(); }); } else if (isOverInactive && currentOpen) { handleMouseMove(); } else { instance.restTimeoutPending = true; instance.restTimeout.start(restMsValue, handleMouseMove); } } }; }, [enabled, instance, isClickLikeOpenEvent2, isOverInactiveTrigger, mouseOnly, store2, restMsRef, checkShouldOpen]); } // node_modules/@base-ui/react/floating-ui-react/safePolygon.mjs var CURSOR_SPEED_THRESHOLD = 0.1; var CURSOR_SPEED_THRESHOLD_SQUARED = CURSOR_SPEED_THRESHOLD * CURSOR_SPEED_THRESHOLD; var POLYGON_BUFFER = 0.5; function hasIntersectingEdge(pointX, pointY, xi, yi, xj, yj) { return yi >= pointY !== yj >= pointY && pointX <= (xj - xi) * (pointY - yi) / (yj - yi) + xi; } function isPointInQuadrilateral(pointX, pointY, x1, y1, x2, y2, x3, y3, x4, y4) { let isInsideValue = false; if (hasIntersectingEdge(pointX, pointY, x1, y1, x2, y2)) { isInsideValue = !isInsideValue; } if (hasIntersectingEdge(pointX, pointY, x2, y2, x3, y3)) { isInsideValue = !isInsideValue; } if (hasIntersectingEdge(pointX, pointY, x3, y3, x4, y4)) { isInsideValue = !isInsideValue; } if (hasIntersectingEdge(pointX, pointY, x4, y4, x1, y1)) { isInsideValue = !isInsideValue; } return isInsideValue; } function isInsideRect(pointX, pointY, rect) { return pointX >= rect.x && pointX <= rect.x + rect.width && pointY >= rect.y && pointY <= rect.y + rect.height; } function isInsideAxisAlignedRect(pointX, pointY, x1, y1, x2, y2) { const minX = Math.min(x1, x2); const maxX = Math.max(x1, x2); const minY = Math.min(y1, y2); const maxY = Math.max(y1, y2); return pointX >= minX && pointX <= maxX && pointY >= minY && pointY <= maxY; } function safePolygon(options = {}) { const { blockPointerEvents = false } = options; const timeout = new Timeout(); const fn = ({ x, y, placement, elements, onClose, nodeId, tree }) => { const side = placement?.split("-")[0]; let hasLanded = false; let lastX = null; let lastY = null; let lastCursorTime = typeof performance !== "undefined" ? performance.now() : 0; function isCursorMovingSlowly(nextX, nextY) { const currentTime = performance.now(); const elapsedTime = currentTime - lastCursorTime; if (lastX === null || lastY === null || elapsedTime === 0) { lastX = nextX; lastY = nextY; lastCursorTime = currentTime; return false; } const deltaX = nextX - lastX; const deltaY = nextY - lastY; const distanceSquared = deltaX * deltaX + deltaY * deltaY; const thresholdSquared = elapsedTime * elapsedTime * CURSOR_SPEED_THRESHOLD_SQUARED; lastX = nextX; lastY = nextY; lastCursorTime = currentTime; return distanceSquared < thresholdSquared; } function close() { timeout.clear(); onClose(); } return function onMouseMove(event) { timeout.clear(); const domReference = elements.domReference; const floating = elements.floating; if (!domReference || !floating || side == null || x == null || y == null) { return void 0; } const { clientX, clientY } = event; const target = getTarget(event); const isLeave = event.type === "mouseleave"; const isOverFloatingEl = contains(floating, target); const isOverReferenceEl = contains(domReference, target); if (isOverFloatingEl) { hasLanded = true; if (!isLeave) { return void 0; } } if (isOverReferenceEl) { hasLanded = false; if (!isLeave) { hasLanded = true; return void 0; } } if (isLeave && isElement(event.relatedTarget) && contains(floating, event.relatedTarget)) { return void 0; } function hasOpenChildNode() { return Boolean(tree && getNodeChildren(tree.nodesRef.current, nodeId).length > 0); } function closeIfNoOpenChild() { if (!hasOpenChildNode()) { close(); } } if (hasOpenChildNode()) { return void 0; } const refRect = domReference.getBoundingClientRect(); const rect = floating.getBoundingClientRect(); const cursorLeaveFromRight = x > rect.right - rect.width / 2; const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2; const isFloatingWider = rect.width > refRect.width; const isFloatingTaller = rect.height > refRect.height; const left = (isFloatingWider ? refRect : rect).left; const right = (isFloatingWider ? refRect : rect).right; const top = (isFloatingTaller ? refRect : rect).top; const bottom = (isFloatingTaller ? refRect : rect).bottom; if (side === "top" && y >= refRect.bottom - 1 || side === "bottom" && y <= refRect.top + 1 || side === "left" && x >= refRect.right - 1 || side === "right" && x <= refRect.left + 1) { closeIfNoOpenChild(); return void 0; } let isInsideTroughRect = false; switch (side) { case "top": isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, left, refRect.top + 1, right, rect.bottom - 1); break; case "bottom": isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, left, rect.top + 1, right, refRect.bottom - 1); break; case "left": isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, rect.right - 1, bottom, refRect.left + 1, top); break; case "right": isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, refRect.right - 1, bottom, rect.left + 1, top); break; default: } if (isInsideTroughRect) { return void 0; } if (hasLanded && !isInsideRect(clientX, clientY, refRect)) { closeIfNoOpenChild(); return void 0; } if (!isLeave && isCursorMovingSlowly(clientX, clientY)) { closeIfNoOpenChild(); return void 0; } let isInsidePolygon = false; switch (side) { case "top": { const cursorXOffset = isFloatingWider ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4; const cursorPointOneX = isFloatingWider ? x + cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset; const cursorPointTwoX = isFloatingWider ? x - cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset; const cursorPointY = y + POLYGON_BUFFER + 1; const commonYLeft = cursorLeaveFromRight ? rect.bottom - POLYGON_BUFFER : isFloatingWider ? rect.bottom - POLYGON_BUFFER : rect.top; const commonYRight = cursorLeaveFromRight ? isFloatingWider ? rect.bottom - POLYGON_BUFFER : rect.top : rect.bottom - POLYGON_BUFFER; isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointOneX, cursorPointY, cursorPointTwoX, cursorPointY, rect.left, commonYLeft, rect.right, commonYRight); break; } case "bottom": { const cursorXOffset = isFloatingWider ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4; const cursorPointOneX = isFloatingWider ? x + cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset; const cursorPointTwoX = isFloatingWider ? x - cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset; const cursorPointY = y - POLYGON_BUFFER; const commonYLeft = cursorLeaveFromRight ? rect.top + POLYGON_BUFFER : isFloatingWider ? rect.top + POLYGON_BUFFER : rect.bottom; const commonYRight = cursorLeaveFromRight ? isFloatingWider ? rect.top + POLYGON_BUFFER : rect.bottom : rect.top + POLYGON_BUFFER; isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointOneX, cursorPointY, cursorPointTwoX, cursorPointY, rect.left, commonYLeft, rect.right, commonYRight); break; } case "left": { const cursorYOffset = isFloatingTaller ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4; const cursorPointOneY = isFloatingTaller ? y + cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset; const cursorPointTwoY = isFloatingTaller ? y - cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset; const cursorPointX = x + POLYGON_BUFFER + 1; const commonXTop = cursorLeaveFromBottom ? rect.right - POLYGON_BUFFER : isFloatingTaller ? rect.right - POLYGON_BUFFER : rect.left; const commonXBottom = cursorLeaveFromBottom ? isFloatingTaller ? rect.right - POLYGON_BUFFER : rect.left : rect.right - POLYGON_BUFFER; isInsidePolygon = isPointInQuadrilateral(clientX, clientY, commonXTop, rect.top, commonXBottom, rect.bottom, cursorPointX, cursorPointOneY, cursorPointX, cursorPointTwoY); break; } case "right": { const cursorYOffset = isFloatingTaller ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4; const cursorPointOneY = isFloatingTaller ? y + cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset; const cursorPointTwoY = isFloatingTaller ? y - cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset; const cursorPointX = x - POLYGON_BUFFER; const commonXTop = cursorLeaveFromBottom ? rect.left + POLYGON_BUFFER : isFloatingTaller ? rect.left + POLYGON_BUFFER : rect.right; const commonXBottom = cursorLeaveFromBottom ? isFloatingTaller ? rect.left + POLYGON_BUFFER : rect.right : rect.left + POLYGON_BUFFER; isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointX, cursorPointOneY, cursorPointX, cursorPointTwoY, commonXTop, rect.top, commonXBottom, rect.bottom); break; } default: } if (!isInsidePolygon) { closeIfNoOpenChild(); } else if (!hasLanded) { timeout.start(40, closeIfNoOpenChild); } return void 0; }; }; fn.__options = { ...options, blockPointerEvents }; return fn; } // node_modules/@base-ui/react/utils/popupStateMapping.mjs var CommonPopupDataAttributes = (function(CommonPopupDataAttributes2) { CommonPopupDataAttributes2["open"] = "data-open"; CommonPopupDataAttributes2["closed"] = "data-closed"; CommonPopupDataAttributes2[CommonPopupDataAttributes2["startingStyle"] = TransitionStatusDataAttributes.startingStyle] = "startingStyle"; CommonPopupDataAttributes2[CommonPopupDataAttributes2["endingStyle"] = TransitionStatusDataAttributes.endingStyle] = "endingStyle"; CommonPopupDataAttributes2["anchorHidden"] = "data-anchor-hidden"; CommonPopupDataAttributes2["side"] = "data-side"; CommonPopupDataAttributes2["align"] = "data-align"; return CommonPopupDataAttributes2; })({}); var CommonTriggerDataAttributes = /* @__PURE__ */ (function(CommonTriggerDataAttributes2) { CommonTriggerDataAttributes2["popupOpen"] = "data-popup-open"; CommonTriggerDataAttributes2["pressed"] = "data-pressed"; return CommonTriggerDataAttributes2; })({}); var TRIGGER_HOOK = { [CommonTriggerDataAttributes.popupOpen]: "" }; var PRESSABLE_TRIGGER_HOOK = { [CommonTriggerDataAttributes.popupOpen]: "", [CommonTriggerDataAttributes.pressed]: "" }; var POPUP_OPEN_HOOK = { [CommonPopupDataAttributes.open]: "" }; var POPUP_CLOSED_HOOK = { [CommonPopupDataAttributes.closed]: "" }; var ANCHOR_HIDDEN_HOOK = { [CommonPopupDataAttributes.anchorHidden]: "" }; var triggerOpenStateMapping = { open(value) { if (value) { return TRIGGER_HOOK; } return null; } }; var popupStateMapping = { open(value) { if (value) { return POPUP_OPEN_HOOK; } return POPUP_CLOSED_HOOK; }, anchorHidden(value) { if (value) { return ANCHOR_HIDDEN_HOOK; } return null; } }; // node_modules/@base-ui/utils/inertValue.mjs function inertValue(value) { if (isReactVersionAtLeast(19)) { return value; } return value ? "true" : void 0; } // node_modules/@base-ui/react/utils/useAnchorPositioning.mjs var React33 = __toESM(require_react(), 1); // node_modules/@base-ui/react/floating-ui-react/middleware/arrow.mjs var baseArrow = (options) => ({ name: "arrow", options, async fn(state) { const { x, y, placement, rects, platform: platform3, elements, middlewareData } = state; const { element, padding = 0, offsetParent = "real" } = evaluate(options, state) || {}; if (element == null) { return {}; } const paddingObject = getPaddingObject(padding); const coords = { x, y }; const axis = getAlignmentAxis(placement); const length = getAxisLength(axis); const arrowDimensions = await platform3.getDimensions(element); const isYAxis = axis === "y"; const minProp = isYAxis ? "top" : "left"; const maxProp = isYAxis ? "bottom" : "right"; const clientProp = isYAxis ? "clientHeight" : "clientWidth"; const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length]; const startDiff = coords[axis] - rects.reference[axis]; const arrowOffsetParent = offsetParent === "real" ? await platform3.getOffsetParent?.(element) : elements.floating; let clientSize = elements.floating[clientProp] || rects.floating[length]; if (!clientSize || !await platform3.isElement?.(arrowOffsetParent)) { clientSize = elements.floating[clientProp] || rects.floating[length]; } const centerToReference = endDiff / 2 - startDiff / 2; const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1; const minPadding = Math.min(paddingObject[minProp], largestPossiblePadding); const maxPadding = Math.min(paddingObject[maxProp], largestPossiblePadding); const min2 = minPadding; const max2 = clientSize - arrowDimensions[length] - maxPadding; const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference; const offset4 = clamp(min2, center, max2); const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset4 && rects.reference[length] / 2 - (center < min2 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0; const alignmentOffset = shouldAddOffset ? center < min2 ? center - min2 : center - max2 : 0; return { [axis]: coords[axis] + alignmentOffset, data: { [axis]: offset4, centerOffset: center - offset4 - alignmentOffset, ...shouldAddOffset && { alignmentOffset } }, reset: shouldAddOffset }; } }); var arrow4 = (options, deps) => ({ ...baseArrow(options), options: [options, deps] }); // node_modules/@base-ui/react/utils/hideMiddleware.mjs var nativeHideFn = hide3().fn; var hide4 = { name: "hide", async fn(state) { const { width, height, x, y } = state.rects.reference; const anchorHidden = width === 0 && height === 0 && x === 0 && y === 0; const nativeHideResult = await nativeHideFn(state); return { data: { referenceHidden: nativeHideResult.data?.referenceHidden || anchorHidden } }; } }; // node_modules/@base-ui/react/utils/adaptiveOriginMiddleware.mjs var DEFAULT_SIDES = { sideX: "left", sideY: "top" }; var adaptiveOrigin = { name: "adaptiveOrigin", async fn(state) { const { x: rawX, y: rawY, rects: { floating: floatRect }, elements: { floating }, platform: platform3, strategy, placement } = state; const win = getWindow(floating); const styles = win.getComputedStyle(floating); const hasTransition = styles.transitionDuration !== "0s" && styles.transitionDuration !== ""; if (!hasTransition) { return { x: rawX, y: rawY, data: DEFAULT_SIDES }; } const offsetParent = await platform3.getOffsetParent?.(floating); let offsetDimensions = { width: 0, height: 0 }; if (strategy === "fixed" && win?.visualViewport) { offsetDimensions = { width: win.visualViewport.width, height: win.visualViewport.height }; } else if (offsetParent === win) { const doc = ownerDocument(floating); offsetDimensions = { width: doc.documentElement.clientWidth, height: doc.documentElement.clientHeight }; } else if (await platform3.isElement?.(offsetParent)) { offsetDimensions = await platform3.getDimensions(offsetParent); } const currentSide = getSide(placement); let x = rawX; let y = rawY; if (currentSide === "left") { x = offsetDimensions.width - (rawX + floatRect.width); } if (currentSide === "top") { y = offsetDimensions.height - (rawY + floatRect.height); } const sideX = currentSide === "left" ? "right" : DEFAULT_SIDES.sideX; const sideY = currentSide === "top" ? "bottom" : DEFAULT_SIDES.sideY; return { x, y, data: { sideX, sideY } }; } }; // node_modules/@base-ui/react/utils/useAnchorPositioning.mjs function getLogicalSide(sideParam, renderedSide, isRtl) { const isLogicalSideParam = sideParam === "inline-start" || sideParam === "inline-end"; const logicalRight = isRtl ? "inline-start" : "inline-end"; const logicalLeft = isRtl ? "inline-end" : "inline-start"; return { top: "top", right: isLogicalSideParam ? logicalRight : "right", bottom: "bottom", left: isLogicalSideParam ? logicalLeft : "left" }[renderedSide]; } function getOffsetData(state, sideParam, isRtl) { const { rects, placement } = state; const data = { side: getLogicalSide(sideParam, getSide(placement), isRtl), align: getAlignment(placement) || "center", anchor: { width: rects.reference.width, height: rects.reference.height }, positioner: { width: rects.floating.width, height: rects.floating.height } }; return data; } function useAnchorPositioning(params) { const { // Public parameters anchor, positionMethod = "absolute", side: sideParam = "bottom", sideOffset = 0, align = "center", alignOffset = 0, collisionBoundary, collisionPadding: collisionPaddingParam = 5, sticky = false, arrowPadding = 5, disableAnchorTracking = false, inline: inlineMiddleware, // Private parameters keepMounted = false, floatingRootContext, mounted, collisionAvoidance, shiftCrossAxis = false, nodeId, adaptiveOrigin: adaptiveOrigin2, lazyFlip = false, externalTree } = params; const [mountSide, setMountSide] = React33.useState(null); if (!mounted && mountSide !== null) { setMountSide(null); } const collisionAvoidanceSide = collisionAvoidance.side || "flip"; const collisionAvoidanceAlign = collisionAvoidance.align || "flip"; const collisionAvoidanceFallbackAxisSide = collisionAvoidance.fallbackAxisSide || "end"; const anchorFn = typeof anchor === "function" ? anchor : void 0; const anchorFnCallback = useStableCallback(anchorFn); const anchorDep = anchorFn ? anchorFnCallback : anchor; const anchorValueRef = useValueAsRef(anchor); const mountedRef = useValueAsRef(mounted); const direction = useDirection(); const isRtl = direction === "rtl"; const side = mountSide || { top: "top", right: "right", bottom: "bottom", left: "left", "inline-end": isRtl ? "left" : "right", "inline-start": isRtl ? "right" : "left" }[sideParam]; const placement = align === "center" ? side : `${side}-${align}`; let collisionPadding = collisionPaddingParam; const bias = 1; const biasTop = sideParam === "bottom" ? bias : 0; const biasBottom = sideParam === "top" ? bias : 0; const biasLeft = sideParam === "right" ? bias : 0; const biasRight = sideParam === "left" ? bias : 0; if (typeof collisionPadding === "number") { collisionPadding = { top: collisionPadding + biasTop, right: collisionPadding + biasRight, bottom: collisionPadding + biasBottom, left: collisionPadding + biasLeft }; } else if (collisionPadding) { collisionPadding = { top: (collisionPadding.top || 0) + biasTop, right: (collisionPadding.right || 0) + biasRight, bottom: (collisionPadding.bottom || 0) + biasBottom, left: (collisionPadding.left || 0) + biasLeft }; } const commonCollisionProps = { boundary: collisionBoundary === "clipping-ancestors" ? "clippingAncestors" : collisionBoundary, padding: collisionPadding }; const arrowRef = React33.useRef(null); const sideOffsetRef = useValueAsRef(sideOffset); const alignOffsetRef = useValueAsRef(alignOffset); const sideOffsetDep = typeof sideOffset !== "function" ? sideOffset : 0; const alignOffsetDep = typeof alignOffset !== "function" ? alignOffset : 0; const middleware = []; if (inlineMiddleware) { middleware.push(inlineMiddleware); } middleware.push(offset3((state) => { const data = getOffsetData(state, sideParam, isRtl); const sideAxis = typeof sideOffsetRef.current === "function" ? sideOffsetRef.current(data) : sideOffsetRef.current; const alignAxis = typeof alignOffsetRef.current === "function" ? alignOffsetRef.current(data) : alignOffsetRef.current; return { mainAxis: sideAxis, crossAxis: alignAxis, alignmentAxis: alignAxis }; }, [sideOffsetDep, alignOffsetDep, isRtl, sideParam])); const shiftDisabled = collisionAvoidanceAlign === "none" && collisionAvoidanceSide !== "shift"; const crossAxisShiftEnabled = !shiftDisabled && (sticky || shiftCrossAxis || collisionAvoidanceSide === "shift"); const flipMiddleware = collisionAvoidanceSide === "none" ? null : flip3({ ...commonCollisionProps, // Ensure the popup flips if it's been limited by its --available-height and it resizes. // Since the size() padding is smaller than the flip() padding, flip() will take precedence. padding: { top: collisionPadding.top + bias, right: collisionPadding.right + bias, bottom: collisionPadding.bottom + bias, left: collisionPadding.left + bias }, mainAxis: !shiftCrossAxis && collisionAvoidanceSide === "flip", crossAxis: collisionAvoidanceAlign === "flip" ? "alignment" : false, fallbackAxisSideDirection: collisionAvoidanceFallbackAxisSide }); const shiftMiddleware = shiftDisabled ? null : shift3((data) => { const html = ownerDocument(data.elements.floating).documentElement; return { ...commonCollisionProps, // Use the Layout Viewport to avoid shifting around when pinch-zooming // for context menus. rootBoundary: shiftCrossAxis ? { x: 0, y: 0, width: html.clientWidth, height: html.clientHeight } : void 0, mainAxis: collisionAvoidanceAlign !== "none", crossAxis: crossAxisShiftEnabled, limiter: sticky || shiftCrossAxis ? void 0 : limitShift3((limitData) => { if (!arrowRef.current) { return {}; } const { width, height } = arrowRef.current.getBoundingClientRect(); const sideAxis = getSideAxis(getSide(limitData.placement)); const arrowSize = sideAxis === "y" ? width : height; const offsetAmount = sideAxis === "y" ? collisionPadding.left + collisionPadding.right : collisionPadding.top + collisionPadding.bottom; return { offset: arrowSize / 2 + offsetAmount / 2 }; }) }; }, [commonCollisionProps, sticky, shiftCrossAxis, collisionPadding, collisionAvoidanceAlign]); if (collisionAvoidanceSide === "shift" || collisionAvoidanceAlign === "shift" || align === "center") { middleware.push(shiftMiddleware, flipMiddleware); } else { middleware.push(flipMiddleware, shiftMiddleware); } middleware.push(size3({ ...commonCollisionProps, apply({ elements: { floating }, availableWidth, availableHeight, rects }) { if (!mountedRef.current) { return; } const floatingStyle = floating.style; floatingStyle.setProperty("--available-width", `${availableWidth}px`); floatingStyle.setProperty("--available-height", `${availableHeight}px`); const dpr = getWindow(floating).devicePixelRatio || 1; const { x: x2, y: y2, width, height } = rects.reference; const anchorWidth = (Math.round((x2 + width) * dpr) - Math.round(x2 * dpr)) / dpr; const anchorHeight = (Math.round((y2 + height) * dpr) - Math.round(y2 * dpr)) / dpr; floatingStyle.setProperty("--anchor-width", `${anchorWidth}px`); floatingStyle.setProperty("--anchor-height", `${anchorHeight}px`); } }), arrow4((state) => ({ // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set, // we'll create a fake element. element: arrowRef.current || ownerDocument(state.elements.floating).createElement("div"), padding: arrowPadding, offsetParent: "floating" }), [arrowPadding]), { name: "transformOrigin", fn(state) { const { elements: elements2, middlewareData: middlewareData2, placement: renderedPlacement2, rects, y: y2 } = state; const currentRenderedSide = getSide(renderedPlacement2); const currentRenderedAxis = getSideAxis(currentRenderedSide); const arrowEl = arrowRef.current; const arrowX = middlewareData2.arrow?.x || 0; const arrowY = middlewareData2.arrow?.y || 0; const arrowWidth = arrowEl?.clientWidth || 0; const arrowHeight = arrowEl?.clientHeight || 0; const transformX = arrowX + arrowWidth / 2; const transformY = arrowY + arrowHeight / 2; const shiftY = Math.abs(middlewareData2.shift?.y || 0); const halfAnchorHeight = rects.reference.height / 2; const sideOffsetValue = typeof sideOffset === "function" ? sideOffset(getOffsetData(state, sideParam, isRtl)) : sideOffset; const isOverlappingAnchor = shiftY > sideOffsetValue; const adjacentTransformOrigin = { top: `${transformX}px calc(100% + ${sideOffsetValue}px)`, bottom: `${transformX}px ${-sideOffsetValue}px`, left: `calc(100% + ${sideOffsetValue}px) ${transformY}px`, right: `${-sideOffsetValue}px ${transformY}px` }[currentRenderedSide]; const overlapTransformOrigin = `${transformX}px ${rects.reference.y + halfAnchorHeight - y2}px`; elements2.floating.style.setProperty("--transform-origin", crossAxisShiftEnabled && currentRenderedAxis === "y" && isOverlappingAnchor ? overlapTransformOrigin : adjacentTransformOrigin); return {}; } }, hide4, adaptiveOrigin2); useIsoLayoutEffect(() => { if (!mounted && floatingRootContext) { floatingRootContext.update({ referenceElement: null, floatingElement: null, domReferenceElement: null, positionReference: null }); } }, [mounted, floatingRootContext]); const autoUpdateOptions = React33.useMemo(() => ({ elementResize: !disableAnchorTracking && typeof ResizeObserver !== "undefined", layoutShift: !disableAnchorTracking && typeof IntersectionObserver !== "undefined" }), [disableAnchorTracking]); const { refs, elements, x, y, middlewareData, update: update2, placement: renderedPlacement, context, isPositioned, floatingStyles: originalFloatingStyles } = useFloating2({ rootContext: floatingRootContext, open: keepMounted ? mounted : void 0, placement, middleware, strategy: positionMethod, whileElementsMounted: keepMounted ? void 0 : (...args) => autoUpdate(...args, autoUpdateOptions), nodeId, externalTree }); const { sideX, sideY } = middlewareData.adaptiveOrigin || DEFAULT_SIDES; const resolvedPosition = isPositioned ? positionMethod : "fixed"; const floatingStyles = React33.useMemo(() => { const base = adaptiveOrigin2 ? { position: resolvedPosition, [sideX]: x, [sideY]: y } : { position: resolvedPosition, ...originalFloatingStyles }; if (!isPositioned) { base.opacity = 0; } return base; }, [adaptiveOrigin2, resolvedPosition, sideX, x, sideY, y, originalFloatingStyles, isPositioned]); const registeredPositionReferenceRef = React33.useRef(null); useIsoLayoutEffect(() => { if (!mounted) { return; } const anchorValue = anchorValueRef.current; const resolvedAnchor = typeof anchorValue === "function" ? anchorValue() : anchorValue; const unwrappedElement = (isRef(resolvedAnchor) ? resolvedAnchor.current : resolvedAnchor) || null; const finalAnchor = unwrappedElement || null; if (finalAnchor !== registeredPositionReferenceRef.current) { refs.setPositionReference(finalAnchor); registeredPositionReferenceRef.current = finalAnchor; } }, [mounted, refs, anchorDep, anchorValueRef]); React33.useEffect(() => { if (!mounted) { return; } const anchorValue = anchorValueRef.current; if (typeof anchorValue === "function") { return; } if (isRef(anchorValue) && anchorValue.current !== registeredPositionReferenceRef.current) { refs.setPositionReference(anchorValue.current); registeredPositionReferenceRef.current = anchorValue.current; } }, [mounted, refs, anchorDep, anchorValueRef]); React33.useEffect(() => { if (keepMounted && mounted && elements.reference && elements.floating) { return autoUpdate(elements.reference, elements.floating, update2, autoUpdateOptions); } return void 0; }, [keepMounted, mounted, elements, update2, autoUpdateOptions]); const renderedSide = getSide(renderedPlacement); const logicalRenderedSide = getLogicalSide(sideParam, renderedSide, isRtl); const renderedAlign = getAlignment(renderedPlacement) || "center"; const anchorHidden = Boolean(middlewareData.hide?.referenceHidden); useIsoLayoutEffect(() => { if (lazyFlip && mounted && isPositioned) { setMountSide(renderedSide); } }, [lazyFlip, mounted, isPositioned, renderedSide]); const arrowStyles = React33.useMemo(() => ({ position: "absolute", top: middlewareData.arrow?.y, left: middlewareData.arrow?.x }), [middlewareData.arrow]); const arrowUncentered = middlewareData.arrow?.centerOffset !== 0; return React33.useMemo(() => ({ positionerStyles: floatingStyles, arrowStyles, arrowRef, arrowUncentered, side: logicalRenderedSide, align: renderedAlign, physicalSide: renderedSide, anchorHidden, refs, context, isPositioned, update: update2 }), [floatingStyles, arrowStyles, arrowRef, arrowUncentered, logicalRenderedSide, renderedAlign, renderedSide, anchorHidden, refs, context, isPositioned, update2]); } function isRef(param) { return param != null && "current" in param; } // node_modules/@base-ui/react/utils/getDisabledMountTransitionStyles.mjs function getDisabledMountTransitionStyles(transitionStatus) { return transitionStatus === "starting" ? DISABLED_TRANSITIONS_STYLE : EMPTY_OBJECT; } // node_modules/@base-ui/react/utils/usePositioner.mjs function usePositioner(componentProps, state, { styles, transitionStatus, props, refs, hidden, inert = false }) { const style = { ...styles }; if (inert) { style.pointerEvents = "none"; } return useRenderElement("div", componentProps, { state, ref: refs, props: [{ role: "presentation", hidden, style }, getDisabledMountTransitionStyles(transitionStatus), props], stateAttributesMapping: popupStateMapping }); } // node_modules/@base-ui/react/button/Button.mjs var React34 = __toESM(require_react(), 1); var Button = /* @__PURE__ */ React34.forwardRef(function Button2(componentProps, forwardedRef) { const { render, className, disabled: disabled2 = false, focusableWhenDisabled = false, nativeButton = true, style, ...elementProps } = componentProps; const { getButtonProps, buttonRef } = useButton({ disabled: disabled2, focusableWhenDisabled, native: nativeButton }); const state = { disabled: disabled2 }; return useRenderElement("button", componentProps, { state, ref: [forwardedRef, buttonRef], props: [elementProps, getButtonProps] }); }); if (true) Button.displayName = "Button"; // node_modules/@base-ui/react/utils/usePopupViewport.mjs var React37 = __toESM(require_react(), 1); var ReactDOM6 = __toESM(require_react_dom(), 1); // node_modules/@base-ui/utils/usePreviousValue.mjs var React35 = __toESM(require_react(), 1); function usePreviousValue(value) { const [state, setState] = React35.useState({ current: value, previous: null }); if (value !== state.current) { setState({ current: value, previous: state.current }); } return state.previous; } // node_modules/@base-ui/react/utils/usePopupAutoResize.mjs var React36 = __toESM(require_react(), 1); // node_modules/@base-ui/react/utils/getCssDimensions.mjs function getCssDimensions2(element) { const css = getComputedStyle2(element); let width = parseFloat(css.width) || 0; let height = parseFloat(css.height) || 0; const hasOffset = isHTMLElement(element); const offsetWidth = hasOffset ? element.offsetWidth : width; const offsetHeight = hasOffset ? element.offsetHeight : height; const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight; if (shouldFallback) { width = offsetWidth; height = offsetHeight; } return { width, height }; } // node_modules/@base-ui/react/utils/usePopupAutoResize.mjs function usePopupAutoResize(parameters) { const { popupElement, positionerElement, content, mounted, onMeasureLayout: onMeasureLayoutParam, onMeasureLayoutComplete: onMeasureLayoutCompleteParam, side, direction } = parameters; const runOnceAnimationsFinish = useAnimationsFinished(popupElement, true, false); const animationFrame = useAnimationFrame(); const committedDimensionsRef = React36.useRef(null); const isInitialRenderRef = React36.useRef(true); const restoreAnchoringStylesRef = React36.useRef(NOOP); const onMeasureLayout = useStableCallback(onMeasureLayoutParam); const onMeasureLayoutComplete = useStableCallback(onMeasureLayoutCompleteParam); const anchoringStyles = React36.useMemo(() => { let isOriginSide = side === "top"; let isPhysicalLeft = side === "left"; if (direction === "rtl") { isOriginSide = isOriginSide || side === "inline-end"; isPhysicalLeft = isPhysicalLeft || side === "inline-end"; } else { isOriginSide = isOriginSide || side === "inline-start"; isPhysicalLeft = isPhysicalLeft || side === "inline-start"; } return isOriginSide ? { position: "absolute", [side === "top" ? "bottom" : "top"]: "0", [isPhysicalLeft ? "right" : "left"]: "0" } : EMPTY_OBJECT; }, [side, direction]); useIsoLayoutEffect(() => { if (!mounted) { restoreAnchoringStylesRef.current = NOOP; isInitialRenderRef.current = true; committedDimensionsRef.current = null; return void 0; } if (!popupElement || !positionerElement) { return void 0; } restoreAnchoringStylesRef.current = applyElementStyles(popupElement, anchoringStyles); setPopupCssSize(popupElement, "auto"); const restorePopupPosition = overrideElementStyle(popupElement, "position", "static"); const restorePopupTransform = overrideElementStyle(popupElement, "transform", "none"); const restorePopupScale = overrideElementStyle(popupElement, "scale", "1"); const restorePositionerAvailableSize = applyElementStyles(positionerElement, { "--available-width": "max-content", "--available-height": "max-content" }); function restoreMeasurementOverrides() { restorePopupPosition(); restorePopupTransform(); restorePositionerAvailableSize(); } function restoreMeasurementOverridesIncludingScale() { restoreMeasurementOverrides(); restorePopupScale(); } onMeasureLayout?.(); if (isInitialRenderRef.current || committedDimensionsRef.current === null) { setPositionerCssSize(positionerElement, "max-content"); const dimensions = getCssDimensions2(popupElement); committedDimensionsRef.current = dimensions; setPositionerCssSize(positionerElement, dimensions); restoreMeasurementOverridesIncludingScale(); onMeasureLayoutComplete?.(null, dimensions); isInitialRenderRef.current = false; return () => { restoreAnchoringStylesRef.current(); restoreAnchoringStylesRef.current = NOOP; }; } setPositionerCssSize(positionerElement, "max-content"); const previousDimensions = committedDimensionsRef.current; const newDimensions = getCssDimensions2(popupElement); committedDimensionsRef.current = newDimensions; setPopupCssSize(popupElement, previousDimensions); restoreMeasurementOverridesIncludingScale(); onMeasureLayoutComplete?.(previousDimensions, newDimensions); setPositionerCssSize(positionerElement, newDimensions); const abortController = new AbortController(); animationFrame.request(() => { setPopupCssSize(popupElement, newDimensions); runOnceAnimationsFinish(() => { popupElement.style.setProperty("--popup-width", "auto"); popupElement.style.setProperty("--popup-height", "auto"); }, abortController.signal); }); return () => { abortController.abort(); animationFrame.cancel(); restoreAnchoringStylesRef.current(); restoreAnchoringStylesRef.current = NOOP; }; }, [content, popupElement, positionerElement, runOnceAnimationsFinish, animationFrame, mounted, onMeasureLayout, onMeasureLayoutComplete, anchoringStyles]); } function overrideElementStyle(element, property, value) { const originalValue = element.style.getPropertyValue(property); element.style.setProperty(property, value); return () => { element.style.setProperty(property, originalValue); }; } function applyElementStyles(element, styles) { const restorers = []; for (const [key, value] of Object.entries(styles)) { restorers.push(overrideElementStyle(element, key, value)); } return restorers.length ? () => { restorers.forEach((restore) => restore()); } : NOOP; } function setPopupCssSize(popupElement, size4) { const width = size4 === "auto" ? "auto" : `${size4.width}px`; const height = size4 === "auto" ? "auto" : `${size4.height}px`; popupElement.style.setProperty("--popup-width", width); popupElement.style.setProperty("--popup-height", height); } function setPositionerCssSize(positionerElement, size4) { const width = size4 === "max-content" ? "max-content" : `${size4.width}px`; const height = size4 === "max-content" ? "max-content" : `${size4.height}px`; positionerElement.style.setProperty("--positioner-width", width); positionerElement.style.setProperty("--positioner-height", height); } // node_modules/@base-ui/react/utils/usePopupViewport.mjs var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1); function usePopupViewport(parameters) { const { store: store2, side, cssVars, children } = parameters; const direction = useDirection(); const activeTrigger = store2.useState("activeTriggerElement"); const activeTriggerId = store2.useState("activeTriggerId"); const open = store2.useState("open"); const payload = store2.useState("payload"); const mounted = store2.useState("mounted"); const popupElement = store2.useState("popupElement"); const positionerElement = store2.useState("positionerElement"); const previousActiveTrigger = usePreviousValue(open ? activeTrigger : null); const currentContentKey = usePopupContentKey(activeTriggerId, payload); const capturedNodeRef = React37.useRef(null); const [previousContentNode, setPreviousContentNode] = React37.useState(null); const [newTriggerOffset, setNewTriggerOffset] = React37.useState(null); const currentContainerRef = React37.useRef(null); const previousContainerRef = React37.useRef(null); const onAnimationsFinished = useAnimationsFinished(currentContainerRef, true, false); const cleanupFrame = useAnimationFrame(); const [previousContentDimensions, setPreviousContentDimensions] = React37.useState(null); const [showStartingStyleAttribute, setShowStartingStyleAttribute] = React37.useState(false); useIsoLayoutEffect(() => { store2.set("hasViewport", true); return () => { store2.set("hasViewport", false); }; }, [store2]); const handleMeasureLayout = useStableCallback(() => { currentContainerRef.current?.style.setProperty("animation", "none"); currentContainerRef.current?.style.setProperty("transition", "none"); previousContainerRef.current?.style.setProperty("display", "none"); }); const handleMeasureLayoutComplete = useStableCallback((previousDimensions) => { currentContainerRef.current?.style.removeProperty("animation"); currentContainerRef.current?.style.removeProperty("transition"); previousContainerRef.current?.style.removeProperty("display"); if (previousDimensions) { setPreviousContentDimensions(previousDimensions); } }); const lastHandledTriggerRef = React37.useRef(null); useIsoLayoutEffect(() => { if (!open || !mounted) { lastHandledTriggerRef.current = null; } }, [open, mounted]); useIsoLayoutEffect(() => { if (activeTrigger && previousActiveTrigger && activeTrigger !== previousActiveTrigger && lastHandledTriggerRef.current !== activeTrigger && capturedNodeRef.current) { setPreviousContentNode(capturedNodeRef.current); setShowStartingStyleAttribute(true); const offset4 = calculateRelativePosition(previousActiveTrigger, activeTrigger); setNewTriggerOffset(offset4); cleanupFrame.request(() => { ReactDOM6.flushSync(() => { setShowStartingStyleAttribute(false); }); onAnimationsFinished(() => { setPreviousContentNode(null); setPreviousContentDimensions(null); capturedNodeRef.current = null; }); }); lastHandledTriggerRef.current = activeTrigger; } }, [activeTrigger, previousActiveTrigger, previousContentNode, onAnimationsFinished, cleanupFrame]); useIsoLayoutEffect(() => { const source = currentContainerRef.current; if (!source) { return; } const wrapper = ownerDocument(source).createElement("div"); for (const child of Array.from(source.childNodes)) { wrapper.appendChild(child.cloneNode(true)); } capturedNodeRef.current = wrapper; }); const isTransitioning = previousContentNode != null; let childrenToRender; if (!isTransitioning) { childrenToRender = /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { "data-current": true, ref: currentContainerRef, children }, currentContentKey); } else { childrenToRender = /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(React37.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { "data-previous": true, inert: inertValue(true), ref: previousContainerRef, style: { ...previousContentDimensions ? { [cssVars.popupWidth]: `${previousContentDimensions.width}px`, [cssVars.popupHeight]: `${previousContentDimensions.height}px` } : null, position: "absolute" }, "data-ending-style": showStartingStyleAttribute ? void 0 : "" }, "previous"), /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { "data-current": true, ref: currentContainerRef, "data-starting-style": showStartingStyleAttribute ? "" : void 0, children }, currentContentKey)] }); } useIsoLayoutEffect(() => { const container = previousContainerRef.current; if (!container || !previousContentNode) { return; } container.replaceChildren(...Array.from(previousContentNode.childNodes)); }, [previousContentNode]); usePopupAutoResize({ popupElement, positionerElement, mounted, content: payload, onMeasureLayout: handleMeasureLayout, onMeasureLayoutComplete: handleMeasureLayoutComplete, side, direction }); const state = { activationDirection: getActivationDirection(newTriggerOffset), transitioning: isTransitioning }; return { children: childrenToRender, state }; } function getActivationDirection(offset4) { if (!offset4) { return void 0; } return `${getValueWithTolerance(offset4.horizontal, 5, "right", "left")} ${getValueWithTolerance(offset4.vertical, 5, "down", "up")}`; } function getValueWithTolerance(value, tolerance, positiveLabel, negativeLabel) { if (value > tolerance) { return positiveLabel; } if (value < -tolerance) { return negativeLabel; } return ""; } function calculateRelativePosition(from, to) { const fromRect = from.getBoundingClientRect(); const toRect = to.getBoundingClientRect(); const fromCenter = { x: fromRect.left + fromRect.width / 2, y: fromRect.top + fromRect.height / 2 }; const toCenter = { x: toRect.left + toRect.width / 2, y: toRect.top + toRect.height / 2 }; return { horizontal: toCenter.x - fromCenter.x, vertical: toCenter.y - fromCenter.y }; } function usePopupContentKey(activeTriggerId, payload) { const [contentKey, setContentKey] = React37.useState(0); const previousActiveTriggerIdRef = React37.useRef(activeTriggerId); const previousPayloadRef = React37.useRef(payload); const pendingPayloadUpdateRef = React37.useRef(false); useIsoLayoutEffect(() => { const previousActiveTriggerId = previousActiveTriggerIdRef.current; const previousPayload = previousPayloadRef.current; const triggerIdChanged = activeTriggerId !== previousActiveTriggerId; const payloadChanged = payload !== previousPayload; if (triggerIdChanged) { setContentKey((value) => value + 1); pendingPayloadUpdateRef.current = !payloadChanged; } else if (pendingPayloadUpdateRef.current && payloadChanged) { setContentKey((value) => value + 1); pendingPayloadUpdateRef.current = false; } previousActiveTriggerIdRef.current = activeTriggerId; previousPayloadRef.current = payload; }, [activeTriggerId, payload]); return `${activeTriggerId ?? "current"}-${contentKey}`; } // node_modules/@base-ui/react/utils/FloatingPortalLite.mjs var React38 = __toESM(require_react(), 1); var ReactDOM7 = __toESM(require_react_dom(), 1); var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1); var FloatingPortalLite = /* @__PURE__ */ React38.forwardRef(function FloatingPortalLite2(componentProps, forwardedRef) { const { children, container, className, render, style, ...elementProps } = componentProps; const { portalNode, portalSubtree } = useFloatingPortalNode({ container, ref: forwardedRef, componentProps, elementProps }); if (!portalSubtree && !portalNode) { return null; } return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(React38.Fragment, { children: [portalSubtree, portalNode && /* @__PURE__ */ ReactDOM7.createPortal(children, portalNode)] }); }); if (true) FloatingPortalLite.displayName = "FloatingPortalLite"; // node_modules/@base-ui/react/tooltip/index.parts.mjs var index_parts_exports = {}; __export(index_parts_exports, { Arrow: () => TooltipArrow, Handle: () => TooltipHandle, Popup: () => TooltipPopup, Portal: () => TooltipPortal, Positioner: () => TooltipPositioner, Provider: () => TooltipProvider, Root: () => TooltipRoot, Trigger: () => TooltipTrigger, Viewport: () => TooltipViewport, createHandle: () => createTooltipHandle }); // node_modules/@base-ui/react/tooltip/root/TooltipRoot.mjs var React41 = __toESM(require_react(), 1); // node_modules/@base-ui/react/tooltip/root/TooltipRootContext.mjs var React39 = __toESM(require_react(), 1); var TooltipRootContext = /* @__PURE__ */ React39.createContext(void 0); if (true) TooltipRootContext.displayName = "TooltipRootContext"; function useTooltipRootContext(optional) { const context = React39.useContext(TooltipRootContext); if (context === void 0 && !optional) { throw new Error(true ? "Base UI: TooltipRootContext is missing. Tooltip parts must be placed within <Tooltip.Root>." : formatErrorMessage_default(72)); } return context; } // node_modules/@base-ui/react/tooltip/store/TooltipStore.mjs var React40 = __toESM(require_react(), 1); var selectors2 = { ...popupStoreSelectors, disabled: createSelector((state) => state.disabled), instantType: createSelector((state) => state.instantType), isInstantPhase: createSelector((state) => state.isInstantPhase), trackCursorAxis: createSelector((state) => state.trackCursorAxis), disableHoverablePopup: createSelector((state) => state.disableHoverablePopup), lastOpenChangeReason: createSelector((state) => state.openChangeReason), closeOnClick: createSelector((state) => state.closeOnClick), closeDelay: createSelector((state) => state.closeDelay), hasViewport: createSelector((state) => state.hasViewport) }; var TooltipStore = class _TooltipStore extends ReactStore { constructor(initialState, floatingId, nested = false) { const triggerElements = new PopupTriggerMap(); const state = { ...createInitialState(), ...initialState }; state.floatingRootContext = createPopupFloatingRootContext(triggerElements, floatingId, nested); super(state, { popupRef: /* @__PURE__ */ React40.createRef(), onOpenChange: void 0, onOpenChangeComplete: void 0, triggerElements }, selectors2); } setOpen = (nextOpen, eventDetails) => { applyPopupOpenChange(this, nextOpen, eventDetails, { extraState: { openChangeReason: eventDetails.reason } }); }; // Used by trigger clicks to clear a delayed hover open without reporting a public open-state change. cancelPendingOpen(event) { this.state.floatingRootContext.dispatchOpenChange(false, createChangeEventDetails(reason_parts_exports.triggerPress, event)); } static useStore(externalStore, initialState) { const store2 = usePopupStore(externalStore, (floatingId, nested) => new _TooltipStore(initialState, floatingId, nested)).store; return store2; } }; function createInitialState() { return { ...createInitialPopupStoreState(), disabled: false, instantType: void 0, isInstantPhase: false, trackCursorAxis: "none", disableHoverablePopup: false, openChangeReason: null, closeOnClick: true, closeDelay: 0, hasViewport: false }; } // node_modules/@base-ui/react/tooltip/root/TooltipRoot.mjs var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1); var TooltipRoot = fastComponent(function TooltipRoot2(props) { const { disabled: disabled2 = false, defaultOpen = false, open: openProp, disableHoverablePopup = false, trackCursorAxis = "none", actionsRef, onOpenChange, onOpenChangeComplete, handle, triggerId: triggerIdProp, defaultTriggerId: defaultTriggerIdProp = null, children } = props; const store2 = TooltipStore.useStore(handle?.store, { open: defaultOpen, openProp, activeTriggerId: defaultTriggerIdProp, triggerIdProp }); useInitialOpenSync(store2, openProp, defaultOpen, defaultTriggerIdProp); store2.useControlledProp("openProp", openProp); store2.useControlledProp("triggerIdProp", triggerIdProp); store2.useContextCallback("onOpenChange", onOpenChange); store2.useContextCallback("onOpenChangeComplete", onOpenChangeComplete); const openState = store2.useState("open"); const open = !disabled2 && openState; const activeTriggerId = store2.useState("activeTriggerId"); const mounted = store2.useState("mounted"); const payload = store2.useState("payload"); store2.useSyncedValues({ trackCursorAxis, disableHoverablePopup }); store2.useSyncedValue("disabled", disabled2); useImplicitActiveTrigger(store2, { closeOnActiveTriggerUnmount: true }); const { forceUnmount, transitionStatus } = useOpenStateTransitions(open, store2); const isInstantPhase = store2.useState("isInstantPhase"); const instantType = store2.useState("instantType"); const lastOpenChangeReason = store2.useState("lastOpenChangeReason"); const previousInstantTypeRef = React41.useRef(null); useIsoLayoutEffect(() => { if (openState && disabled2) { store2.setOpen(false, createChangeEventDetails(reason_parts_exports.disabled)); } }, [openState, disabled2, store2]); useIsoLayoutEffect(() => { if (transitionStatus === "ending" && lastOpenChangeReason === reason_parts_exports.none || transitionStatus !== "ending" && isInstantPhase) { if (instantType !== "delay") { previousInstantTypeRef.current = instantType; } store2.set("instantType", "delay"); } else if (previousInstantTypeRef.current !== null) { store2.set("instantType", previousInstantTypeRef.current); previousInstantTypeRef.current = null; } }, [transitionStatus, isInstantPhase, lastOpenChangeReason, instantType, store2]); useIsoLayoutEffect(() => { if (open) { if (activeTriggerId == null) { store2.set("payload", void 0); } } }, [store2, activeTriggerId, open]); const handleImperativeClose = React41.useCallback(() => { store2.setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction)); }, [store2]); React41.useImperativeHandle(actionsRef, () => ({ unmount: forceUnmount, close: handleImperativeClose }), [forceUnmount, handleImperativeClose]); const shouldRenderInteractions = open || mounted || !disabled2 && trackCursorAxis !== "none"; return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(TooltipRootContext.Provider, { value: store2, children: [shouldRenderInteractions && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(TooltipInteractions, { store: store2, disabled: disabled2, trackCursorAxis }), typeof children === "function" ? children({ payload }) : children] }); }); if (true) TooltipRoot.displayName = "TooltipRoot"; function TooltipInteractions({ store: store2, disabled: disabled2, trackCursorAxis }) { const floatingRootContext = store2.useState("floatingRootContext"); const dismiss = useDismiss(floatingRootContext, { enabled: !disabled2, referencePress: () => store2.select("closeOnClick") }); const clientPoint = useClientPoint(floatingRootContext, { enabled: !disabled2 && trackCursorAxis !== "none", axis: trackCursorAxis === "none" ? void 0 : trackCursorAxis }); const activeTriggerProps = React41.useMemo(() => mergeProps(clientPoint.reference, dismiss.reference), [clientPoint.reference, dismiss.reference]); const inactiveTriggerProps = React41.useMemo(() => mergeProps(clientPoint.trigger, dismiss.trigger), [clientPoint.trigger, dismiss.trigger]); const popupProps = React41.useMemo(() => mergeProps(FOCUSABLE_POPUP_PROPS, clientPoint.floating, dismiss.floating), [clientPoint.floating, dismiss.floating]); usePopupInteractionProps(store2, { activeTriggerProps, inactiveTriggerProps, popupProps }); return null; } // node_modules/@base-ui/react/tooltip/trigger/TooltipTrigger.mjs var React43 = __toESM(require_react(), 1); // node_modules/@base-ui/react/tooltip/provider/TooltipProviderContext.mjs var React42 = __toESM(require_react(), 1); var TooltipProviderContext = /* @__PURE__ */ React42.createContext(void 0); if (true) TooltipProviderContext.displayName = "TooltipProviderContext"; function useTooltipProviderContext() { return React42.useContext(TooltipProviderContext); } // node_modules/@base-ui/react/tooltip/trigger/TooltipTriggerDataAttributes.mjs var TooltipTriggerDataAttributes = (function(TooltipTriggerDataAttributes2) { TooltipTriggerDataAttributes2[TooltipTriggerDataAttributes2["popupOpen"] = CommonTriggerDataAttributes.popupOpen] = "popupOpen"; TooltipTriggerDataAttributes2["triggerDisabled"] = "data-trigger-disabled"; return TooltipTriggerDataAttributes2; })({}); // node_modules/@base-ui/react/tooltip/utils/constants.mjs var OPEN_DELAY = 600; // node_modules/@base-ui/react/tooltip/trigger/TooltipTrigger.mjs var TOOLTIP_TRIGGER_IDENTIFIER = "data-base-ui-tooltip-trigger"; function getTargetElement(event) { if ("composedPath" in event) { const path = event.composedPath(); for (let i = 0; i < path.length; i += 1) { const element = path[i]; if (isElement(element)) { return element; } } } const target = event.target; if (isElement(target)) { return target; } return null; } function closestEnabledTooltipTrigger(element) { let current = element; while (current) { if (current.hasAttribute(TOOLTIP_TRIGGER_IDENTIFIER)) { return current; } const parentElement = current.parentElement; if (parentElement) { current = parentElement; continue; } const root = current.getRootNode(); current = "host" in root && isElement(root.host) ? root.host : null; } return null; } var TooltipTrigger = fastComponentRef(function TooltipTrigger2(componentProps, forwardedRef) { const { render, className, style, handle, payload, disabled: disabledProp, delay, closeOnClick = true, closeDelay, id: idProp, ...elementProps } = componentProps; const rootContext = useTooltipRootContext(true); const store2 = handle?.store ?? rootContext; if (!store2) { throw new Error(true ? "Base UI: <Tooltip.Trigger> must be either used within a <Tooltip.Root> component or provided with a handle." : formatErrorMessage_default(82)); } const thisTriggerId = useBaseUiId(idProp); const isTriggerActive = store2.useState("isTriggerActive", thisTriggerId); const isOpenedByThisTrigger = store2.useState("isOpenedByTrigger", thisTriggerId); const floatingRootContext = store2.useState("floatingRootContext"); const triggerElementRef = React43.useRef(null); const delayWithDefault = delay ?? OPEN_DELAY; const closeDelayWithDefault = closeDelay ?? 0; const { registerTrigger, isMountedByThisTrigger } = useTriggerDataForwarding(thisTriggerId, triggerElementRef, store2, { payload, closeOnClick, closeDelay: closeDelayWithDefault }); const providerContext = useTooltipProviderContext(); const { delayRef, isInstantPhase, hasProvider } = useDelayGroup(floatingRootContext, { open: isOpenedByThisTrigger }); const hoverInteraction = useHoverInteractionSharedState(floatingRootContext); store2.useSyncedValue("isInstantPhase", isInstantPhase); const rootDisabled = store2.useState("disabled"); const disabled2 = disabledProp ?? rootDisabled; const disabledRef = useValueAsRef(disabled2); const trackCursorAxis = store2.useState("trackCursorAxis"); const disableHoverablePopup = store2.useState("disableHoverablePopup"); const isNestedTriggerHoveredRef = React43.useRef(false); const nestedTriggerOpenTimeout = useTimeout(); const pointerTypeRef = React43.useRef(void 0); function getOpenDelay() { const providerDelay = providerContext?.delay; const groupOpenValue = typeof delayRef.current === "object" ? delayRef.current.open : void 0; let computedOpenDelay = delayWithDefault; if (hasProvider) { if (groupOpenValue !== 0) { computedOpenDelay = delay ?? providerDelay ?? delayWithDefault; } else { computedOpenDelay = 0; } } return computedOpenDelay; } function isEnabledNestedTriggerTarget(target) { const triggerEl = triggerElementRef.current; if (!triggerEl || !target) { return false; } const nearestTrigger = closestEnabledTooltipTrigger(target); return nearestTrigger !== null && nearestTrigger !== triggerEl && contains(triggerEl, nearestTrigger); } function detectNestedTriggerHover(target) { const nestedTriggerHovered = isEnabledNestedTriggerTarget(target); isNestedTriggerHoveredRef.current = nestedTriggerHovered; if (nestedTriggerHovered) { hoverInteraction.openChangeTimeout.clear(); hoverInteraction.restTimeout.clear(); hoverInteraction.restTimeoutPending = false; nestedTriggerOpenTimeout.clear(); } return nestedTriggerHovered; } const hoverProps = useHoverReferenceInteraction(floatingRootContext, { enabled: !disabled2, mouseOnly: true, move: false, handleClose: !disableHoverablePopup && trackCursorAxis !== "both" ? safePolygon() : null, restMs: getOpenDelay, delay() { const closeValue = typeof delayRef.current === "object" ? delayRef.current.close : void 0; let computedCloseDelay = closeDelayWithDefault; if (closeDelay == null && hasProvider) { computedCloseDelay = closeValue; } return { close: computedCloseDelay }; }, triggerElementRef, isActiveTrigger: isTriggerActive, isClosing: () => store2.select("transitionStatus") === "ending", shouldOpen() { return !isNestedTriggerHoveredRef.current; } }); const focusProps = useFocus(floatingRootContext, { enabled: !disabled2 }).reference; const handleNestedTriggerHover = (event) => { const wasNestedTriggerHovered = isNestedTriggerHoveredRef.current; const target = getTargetElement(event); const nestedTriggerHovered = detectNestedTriggerHover(target); const triggerEl = triggerElementRef.current; const targetInsideTrigger = triggerEl && target && contains(triggerEl, target); if (nestedTriggerHovered && store2.select("open") && store2.select("lastOpenChangeReason") === reason_parts_exports.triggerHover) { store2.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event)); return; } if (wasNestedTriggerHovered && !nestedTriggerHovered && targetInsideTrigger && !disabledRef.current && !store2.select("open") && triggerEl && // Match the hover hook's non-strict mouse fallback for mouse-only event sequences. isMouseLikePointerType(pointerTypeRef.current)) { const open = () => { if (!isNestedTriggerHoveredRef.current && !disabledRef.current && !store2.select("open")) { store2.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerEl)); } }; const openDelay = getOpenDelay(); if (openDelay === 0) { nestedTriggerOpenTimeout.clear(); open(); } else { nestedTriggerOpenTimeout.start(openDelay, open); } } }; const rootTriggerProps = store2.useState("triggerProps", isMountedByThisTrigger); const shouldApplyRootTriggerProps = isMountedByThisTrigger || trackCursorAxis !== "none"; const state = { open: isOpenedByThisTrigger }; const element = useRenderElement("button", componentProps, { state, ref: [forwardedRef, registerTrigger, triggerElementRef], props: [hoverProps, focusProps, shouldApplyRootTriggerProps ? rootTriggerProps : void 0, { onMouseOver(event) { handleNestedTriggerHover(event.nativeEvent); }, onFocus(event) { if (isEnabledNestedTriggerTarget(getTargetElement(event.nativeEvent))) { event.preventBaseUIHandler(); } }, onMouseLeave() { isNestedTriggerHoveredRef.current = false; nestedTriggerOpenTimeout.clear(); pointerTypeRef.current = void 0; }, onPointerEnter(event) { pointerTypeRef.current = event.pointerType; }, onPointerDown(event) { pointerTypeRef.current = event.pointerType; store2.set("closeOnClick", closeOnClick); if (closeOnClick && !store2.select("open")) { store2.cancelPendingOpen(event.nativeEvent); } }, onClick(event) { if (closeOnClick && !store2.select("open")) { store2.cancelPendingOpen(event.nativeEvent); } }, id: thisTriggerId, [TooltipTriggerDataAttributes.triggerDisabled]: disabled2 ? "" : void 0, [TOOLTIP_TRIGGER_IDENTIFIER]: disabled2 ? void 0 : "" }, elementProps], stateAttributesMapping: triggerOpenStateMapping }); return element; }); if (true) TooltipTrigger.displayName = "TooltipTrigger"; // node_modules/@base-ui/react/tooltip/portal/TooltipPortal.mjs var React45 = __toESM(require_react(), 1); // node_modules/@base-ui/react/tooltip/portal/TooltipPortalContext.mjs var React44 = __toESM(require_react(), 1); var TooltipPortalContext = /* @__PURE__ */ React44.createContext(void 0); if (true) TooltipPortalContext.displayName = "TooltipPortalContext"; function useTooltipPortalContext() { const value = React44.useContext(TooltipPortalContext); if (value === void 0) { throw new Error(true ? "Base UI: <Tooltip.Portal> is missing." : formatErrorMessage_default(70)); } return value; } // node_modules/@base-ui/react/tooltip/portal/TooltipPortal.mjs var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1); var TooltipPortal = /* @__PURE__ */ React45.forwardRef(function TooltipPortal2(props, forwardedRef) { const { keepMounted = false, ...portalProps } = props; const store2 = useTooltipRootContext(); const mounted = store2.useState("mounted"); const shouldRender = mounted || keepMounted; if (!shouldRender) { return null; } return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(TooltipPortalContext.Provider, { value: keepMounted, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(FloatingPortalLite, { ref: forwardedRef, ...portalProps }) }); }); if (true) TooltipPortal.displayName = "TooltipPortal"; // node_modules/@base-ui/react/tooltip/positioner/TooltipPositioner.mjs var React47 = __toESM(require_react(), 1); // node_modules/@base-ui/react/tooltip/positioner/TooltipPositionerContext.mjs var React46 = __toESM(require_react(), 1); var TooltipPositionerContext = /* @__PURE__ */ React46.createContext(void 0); if (true) TooltipPositionerContext.displayName = "TooltipPositionerContext"; function useTooltipPositionerContext() { const context = React46.useContext(TooltipPositionerContext); if (context === void 0) { throw new Error(true ? "Base UI: TooltipPositionerContext is missing. TooltipPositioner parts must be placed within <Tooltip.Positioner>." : formatErrorMessage_default(71)); } return context; } // node_modules/@base-ui/react/tooltip/positioner/TooltipPositioner.mjs var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1); var TooltipPositioner = /* @__PURE__ */ React47.forwardRef(function TooltipPositioner2(componentProps, forwardedRef) { const { render, className, anchor, positionMethod = "absolute", side = "top", align = "center", sideOffset = 0, alignOffset = 0, collisionBoundary = "clipping-ancestors", collisionPadding = 5, arrowPadding = 5, sticky = false, disableAnchorTracking = false, collisionAvoidance = POPUP_COLLISION_AVOIDANCE, style, ...elementProps } = componentProps; const store2 = useTooltipRootContext(); const keepMounted = useTooltipPortalContext(); const open = store2.useState("open"); const mounted = store2.useState("mounted"); const trackCursorAxis = store2.useState("trackCursorAxis"); const disableHoverablePopup = store2.useState("disableHoverablePopup"); const floatingRootContext = store2.useState("floatingRootContext"); const instantType = store2.useState("instantType"); const transitionStatus = store2.useState("transitionStatus"); const hasViewport = store2.useState("hasViewport"); const positioning = useAnchorPositioning({ anchor, positionMethod, floatingRootContext, mounted, side, sideOffset, align, alignOffset, collisionBoundary, collisionPadding, sticky, arrowPadding, disableAnchorTracking, keepMounted, collisionAvoidance, adaptiveOrigin: hasViewport ? adaptiveOrigin : void 0 }); const state = React47.useMemo(() => ({ open, side: positioning.side, align: positioning.align, anchorHidden: positioning.anchorHidden, instant: trackCursorAxis !== "none" ? "tracking-cursor" : instantType }), [open, positioning.side, positioning.align, positioning.anchorHidden, trackCursorAxis, instantType]); const element = usePositioner(componentProps, state, { styles: positioning.positionerStyles, transitionStatus, props: elementProps, refs: [forwardedRef, store2.useStateSetter("positionerElement")], hidden: !mounted, inert: !open || trackCursorAxis === "both" || disableHoverablePopup }); return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(TooltipPositionerContext.Provider, { value: positioning, children: element }); }); if (true) TooltipPositioner.displayName = "TooltipPositioner"; // node_modules/@base-ui/react/tooltip/popup/TooltipPopup.mjs var React48 = __toESM(require_react(), 1); var stateAttributesMapping = { ...popupStateMapping, ...transitionStatusMapping }; var TooltipPopup = /* @__PURE__ */ React48.forwardRef(function TooltipPopup2(componentProps, forwardedRef) { const { render, className, style, ...elementProps } = componentProps; const store2 = useTooltipRootContext(); const { side, align } = useTooltipPositionerContext(); const open = store2.useState("open"); const instantType = store2.useState("instantType"); const transitionStatus = store2.useState("transitionStatus"); const popupProps = store2.useState("popupProps"); const floatingContext = store2.useState("floatingRootContext"); const disabled2 = store2.useState("disabled"); const closeDelay = store2.useState("closeDelay"); useOpenChangeComplete({ open, ref: store2.context.popupRef, onComplete() { if (open) { store2.context.onOpenChangeComplete?.(true); } } }); useHoverFloatingInteraction(floatingContext, { enabled: !disabled2, closeDelay }); const setPopupElement = store2.useStateSetter("popupElement"); const state = { open, side, align, instant: instantType, transitionStatus }; const element = useRenderElement("div", componentProps, { state, ref: [forwardedRef, store2.context.popupRef, setPopupElement], props: [popupProps, getDisabledMountTransitionStyles(transitionStatus), elementProps], stateAttributesMapping }); return element; }); if (true) TooltipPopup.displayName = "TooltipPopup"; // node_modules/@base-ui/react/tooltip/arrow/TooltipArrow.mjs var React49 = __toESM(require_react(), 1); var TooltipArrow = /* @__PURE__ */ React49.forwardRef(function TooltipArrow2(componentProps, forwardedRef) { const { render, className, style, ...elementProps } = componentProps; const store2 = useTooltipRootContext(); const { arrowRef, side, align, arrowUncentered, arrowStyles } = useTooltipPositionerContext(); const open = store2.useState("open"); const instantType = store2.useState("instantType"); const state = { open, side, align, uncentered: arrowUncentered, instant: instantType }; const element = useRenderElement("div", componentProps, { state, ref: [forwardedRef, arrowRef], props: [{ style: arrowStyles, "aria-hidden": true }, elementProps], stateAttributesMapping: popupStateMapping }); return element; }); if (true) TooltipArrow.displayName = "TooltipArrow"; // node_modules/@base-ui/react/tooltip/provider/TooltipProvider.mjs var React50 = __toESM(require_react(), 1); var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1); var TooltipProvider = function TooltipProvider2(props) { const { delay, closeDelay, timeout = 400 } = props; const contextValue = React50.useMemo(() => ({ delay, closeDelay }), [delay, closeDelay]); const delayValue = React50.useMemo(() => ({ open: delay, close: closeDelay }), [delay, closeDelay]); return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(TooltipProviderContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(FloatingDelayGroup, { delay: delayValue, timeoutMs: timeout, children: props.children }) }); }; if (true) TooltipProvider.displayName = "TooltipProvider"; // node_modules/@base-ui/react/tooltip/viewport/TooltipViewport.mjs var React51 = __toESM(require_react(), 1); // node_modules/@base-ui/react/tooltip/viewport/TooltipViewportCssVars.mjs var TooltipViewportCssVars = /* @__PURE__ */ (function(TooltipViewportCssVars2) { TooltipViewportCssVars2["popupWidth"] = "--popup-width"; TooltipViewportCssVars2["popupHeight"] = "--popup-height"; return TooltipViewportCssVars2; })({}); // node_modules/@base-ui/react/tooltip/viewport/TooltipViewport.mjs var stateAttributesMapping2 = { activationDirection: (value) => value ? { "data-activation-direction": value } : null }; var TooltipViewport = /* @__PURE__ */ React51.forwardRef(function TooltipViewport2(componentProps, forwardedRef) { const { render, className, style, children, ...elementProps } = componentProps; const store2 = useTooltipRootContext(); const positioner = useTooltipPositionerContext(); const instantType = store2.useState("instantType"); const { children: childrenToRender, state: viewportState } = usePopupViewport({ store: store2, side: positioner.side, cssVars: TooltipViewportCssVars, children }); const state = { activationDirection: viewportState.activationDirection, transitioning: viewportState.transitioning, instant: instantType }; return useRenderElement("div", componentProps, { state, ref: forwardedRef, props: [elementProps, { children: childrenToRender }], stateAttributesMapping: stateAttributesMapping2 }); }); if (true) TooltipViewport.displayName = "TooltipViewport"; // node_modules/@base-ui/react/tooltip/store/TooltipHandle.mjs var TooltipHandle = class { /** * Internal store holding the tooltip state. * @internal */ constructor() { this.store = new TooltipStore(); } /** * Opens the tooltip and associates it with the trigger with the given ID. * The trigger must be a Tooltip.Trigger component with this handle passed as a prop. * * This method should only be called in an event handler or an effect (not during rendering). * * @param triggerId ID of the trigger to associate with the tooltip. */ open(triggerId) { const triggerElement = triggerId ? this.store.context.triggerElements.getById(triggerId) : void 0; if (triggerId && !triggerElement) { throw new Error(true ? `Base UI: TooltipHandle.open: No trigger found with id "${triggerId}".` : formatErrorMessage_default(81, triggerId)); } this.store.setOpen(true, createChangeEventDetails(reason_parts_exports.imperativeAction, void 0, triggerElement)); } /** * Closes the tooltip. */ close() { this.store.setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction, void 0, void 0)); } /** * Indicates whether the tooltip is currently open. */ get isOpen() { return this.store.select("open"); } }; function createTooltipHandle() { return new TooltipHandle(); } // node_modules/@base-ui/react/use-render/useRender.mjs function useRender(params) { return useRenderElement(params.defaultTagName ?? "div", params, params); } // packages/ui/build-module/text/text.mjs var import_element10 = __toESM(require_element(), 1); var STYLE_HASH_ATTRIBUTE = "data-wp-hash"; function getRuntime() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE) === hash) { return true; } } return false; } function injectStyle(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument(targetDocument) { const runtime = getRuntime(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle(hash, css) { const runtime = getRuntime(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle("a495f9d138", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._83ed8a8da5dd50ea__text{margin:0}._14437cfb77831647__heading-2xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-p-line-height:var(--wpds-typography-line-height-2xl,40px);font-size:var(--wpds-typography-font-size-2xl,32px);line-height:var(--wpds-typography-line-height-2xl,40px)}._14437cfb77831647__heading-2xl,._3c78b7fa9b4072dd__heading-xl{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600)}._3c78b7fa9b4072dd__heading-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-md,24px)}.aa58f227716bcde2__heading-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-lg,15px)}.aa58f227716bcde2__heading-lg,.fc4da56d8dfe52c4__heading-md{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-sm,20px)}.fc4da56d8dfe52c4__heading-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px)}.a9b78c7c82e8dff7__heading-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-xs,16px);text-transform:uppercase}._305ff559e52180d5__body-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-xl,32px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-xl,32px)}._305ff559e52180d5__body-xl,.ca1aa3fc2029e958__body-lg{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}.ca1aa3fc2029e958__body-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-lg,15px);line-height:var(--wpds-typography-line-height-md,24px)}._131101940be12424__body-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}._0e8d87a42c1f75fa__body-sm,._131101940be12424__body-md{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}._0e8d87a42c1f75fa__body-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-size:var(--wpds-typography-font-size-sm,12px);line-height:var(--wpds-typography-line-height-xs,16px)}}}'); } var style_default = { "text": "_83ed8a8da5dd50ea__text", "heading-2xl": "_14437cfb77831647__heading-2xl", "heading-xl": "_3c78b7fa9b4072dd__heading-xl", "heading-lg": "aa58f227716bcde2__heading-lg", "heading-md": "fc4da56d8dfe52c4__heading-md", "heading-sm": "a9b78c7c82e8dff7__heading-sm", "body-xl": "_305ff559e52180d5__body-xl", "body-lg": "ca1aa3fc2029e958__body-lg", "body-md": "_131101940be12424__body-md", "body-sm": "_0e8d87a42c1f75fa__body-sm" }; if (typeof process === "undefined" || true) { registerStyle("af6d9984a6", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}"); } var global_css_defense_default = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a" }; var Text = (0, import_element10.forwardRef)(function Text2({ variant = "body-md", render, className, ...props }, ref) { const element = useRender({ render, defaultTagName: "span", ref, props: mergeProps(props, { className: clsx_default( style_default.text, global_css_defense_default.heading, global_css_defense_default.p, style_default[variant], className ) }) }); return element; }); // packages/ui/build-module/badge/badge.mjs var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE2 = "data-wp-hash"; function getRuntime2() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument2(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash2(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE2}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE2) === hash) { return true; } } return false; } function injectStyle2(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime2(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash2(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE2, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument2(targetDocument) { const runtime = getRuntime2(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle2(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle2(hash, css) { const runtime = getRuntime2(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle2(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle2("9db2873e7f", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._96e6251aad1a6136__badge{border-radius:var(--wpds-border-radius-lg,8px);padding-block:var(--wpds-dimension-padding-xs,4px);padding-inline:var(--wpds-dimension-padding-sm,8px)}._99f7158cb520f750__is-high-intent{background-color:var(--wpds-color-background-surface-error,#f6e6e3);color:var(--wpds-color-foreground-content-error,#470000)}.c20ebef2365bc8b7__is-medium-intent{background-color:var(--wpds-color-background-surface-warning,#fde6be);color:var(--wpds-color-foreground-content-warning,#2e1900)}._365e1626c6202e52__is-low-intent{background-color:var(--wpds-color-background-surface-caution,#fee995);color:var(--wpds-color-foreground-content-caution,#281d00)}._33f8198127ddf4ef__is-stable-intent{background-color:var(--wpds-color-background-surface-success,#c6f7cd);color:var(--wpds-color-foreground-content-success,#002900)}._04c1aca8fc449412__is-informational-intent{background-color:var(--wpds-color-background-surface-info,#deebfa);color:var(--wpds-color-foreground-content-info,#001b4f)}._90726e69d495ec19__is-draft-intent{background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);color:var(--wpds-color-foreground-content-neutral,#1e1e1e)}._898f4a544993bd39__is-none-intent{background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);padding-block:calc(var(--wpds-dimension-padding-xs, 4px) - var(--wpds-border-width-xs, 1px));padding-inline:calc(var(--wpds-dimension-padding-sm, 8px) - var(--wpds-border-width-xs, 1px))}}}"); } var style_default2 = { "badge": "_96e6251aad1a6136__badge", "is-high-intent": "_99f7158cb520f750__is-high-intent", "is-medium-intent": "c20ebef2365bc8b7__is-medium-intent", "is-low-intent": "_365e1626c6202e52__is-low-intent", "is-stable-intent": "_33f8198127ddf4ef__is-stable-intent", "is-informational-intent": "_04c1aca8fc449412__is-informational-intent", "is-draft-intent": "_90726e69d495ec19__is-draft-intent", "is-none-intent": "_898f4a544993bd39__is-none-intent" }; var Badge = (0, import_element11.forwardRef)(function Badge2({ intent = "none", className, ...props }, ref) { return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)( Text, { ref, className: clsx_default( style_default2.badge, style_default2[`is-${intent}-intent`], className ), ...props, variant: "body-sm" } ); }); // packages/ui/build-module/button/button.mjs var import_element12 = __toESM(require_element(), 1); var import_i18n = __toESM(require_i18n(), 1); var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1); import { speak } from "@wordpress/a11y"; var STYLE_HASH_ATTRIBUTE3 = "data-wp-hash"; function getRuntime3() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument3(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash3(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE3}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE3) === hash) { return true; } } return false; } function injectStyle3(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime3(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash3(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE3, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument3(targetDocument) { const runtime = getRuntime3(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle3(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle3(hash, css) { const runtime = getRuntime3(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle3(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle3("b74f1ac304", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._97b0fc33c028be1a__button,.abbb272e2ce49bd6__is-unstyled{appearance:none;padding:0}._97b0fc33c028be1a__button{--wp-ui-button-font-weight:var(--wpds-typography-font-weight-emphasis,600);--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-strong,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand-strong,#fff);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-strong-disabled,#8d8d8d);--wp-ui-button-padding-block:var(--wpds-dimension-padding-xs,4px);--wp-ui-button-padding-inline:var(--wpds-dimension-padding-md,12px);--wp-ui-button-height:var(--wpds-dimension-size-lg,40px);--wp-ui-button-aspect-ratio:auto;--wp-ui-button-font-size:var(--wpds-typography-font-size-md,13px);--wp-ui-button-min-width:calc(4ch + var(--wp-ui-button-padding-inline)*2);--wp-ui-button-icon-margin:calc((var(--wpds-dimension-size-2xs, 16px) - var(--wpds-dimension-size-sm, 24px))/2);--wp-ui-button-border-color:var(--wp-ui-button-background-color);--wp-ui-button-border-color-active:var(--wp-ui-button-background-color-active);--wp-ui-button-border-color-disabled:var(--wp-ui-button-background-color-disabled);--_gcd-button-font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);--_gcd-button-font-size:var(--wp-ui-button-font-size);--_gcd-button-font-weight:var(--wp-ui-button-font-weight);align-items:center;aspect-ratio:var(--wp-ui-button-aspect-ratio);background-clip:border-box;background-color:var(--wp-ui-button-background-color);border-color:var(--wp-ui-button-border-color);border-radius:var(--wpds-border-radius-sm,2px);border-style:solid;border-width:1px;color:var(--wp-ui-button-foreground-color);display:inline-flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wp-ui-button-font-size);font-weight:var(--wp-ui-button-font-weight);gap:var(--wpds-dimension-gap-sm,8px);justify-content:center;line-height:var(--wpds-typography-line-height-sm,20px);max-width:100%;min-height:var(--wp-ui-button-height);min-width:var(--wp-ui-button-min-width);overflow-wrap:anywhere;padding-block:var(--wp-ui-button-padding-block);padding-inline:var(--wp-ui-button-padding-inline);position:relative;text-align:center;text-decoration:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}@media not (prefers-reduced-motion){transition:color .1s ease-out;*{transition:opacity .1s ease-out}}&[href]{cursor:pointer}[href]{color:inherit;text-decoration:inherit}&:not([data-disabled]):is(:hover,:active,:focus){background-color:var(--wp-ui-button-background-color-active);border-color:var(--wp-ui-button-border-color-active);color:var(--wp-ui-button-foreground-color-active)}&[data-disabled]:not(._914b42f315c0e580__is-loading){background-color:var(--wp-ui-button-background-color-disabled);border-color:var(--wp-ui-button-border-color-disabled);color:var(--wp-ui-button-foreground-color-disabled);@media (forced-colors:active){border-bottom-color:GrayText;border-left-color:GrayText;border-right-color:GrayText;border-top-color:GrayText;color:GrayText}}&:before{aspect-ratio:1;border:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid;border-block-end-color:transparent;border-block-start-color:var(--wp-ui-button-foreground-color);border-inline-end-color:var(--wp-ui-button-foreground-color);border-inline-start-color:transparent;border-radius:50%;box-sizing:border-box;content:"";display:block;height:var(--wp-ui-button-font-size);inset-inline-start:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);@media not (prefers-reduced-motion){transition:opacity .1s ease-out}@media (forced-colors:active){border-block-end-style:none;border-bottom-color:ButtonText;border-inline-start-style:none;border-left-color:ButtonText;border-right-color:ButtonText;border-top-color:ButtonText}}}._908205475f9f2a92__is-small{--wp-ui-button-padding-block:0px;--wp-ui-button-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-button-height:var(--wpds-dimension-size-sm,24px)}._9f6fc6553aeb36fe__icon{margin:var(--wp-ui-button-icon-margin)}.dd460c965226cc77__is-brand{&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000));--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 85%,#000));--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-brand-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000)}}.e722a8f96726aa99__is-neutral{&.ad0619a3217c6a5b__is-minimal[aria-pressed=true],&.b50b3358c5fb4d0b__is-solid{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-strong,#2d2d2d);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-strong-active,#1e1e1e);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral-strong,#f0f0f0);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-strong-active,#f0f0f0);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-strong-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d);--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-neutral-active,#6e6e6e);--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-neutral-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000)}}.abbb272e2ce49bd6__is-unstyled{background:none;border:none;min-width:unset}.cf59cf1b69629838__is-compact{--wp-ui-button-height:var(--wpds-dimension-size-md,32px)}._914b42f315c0e580__is-loading:not(.abbb272e2ce49bd6__is-unstyled){color:transparent;&:not([data-disabled]):is(:hover,:active,:focus){color:transparent}@media (forced-colors:active){color:ButtonFace}*{opacity:0}&:before{opacity:1;transition-delay:.05s;@media not (prefers-reduced-motion){animation:_5a1d53da6f830c8d__loading-animation 1s linear infinite}}}}@keyframes _5a1d53da6f830c8d__loading-animation{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}}'); } var style_default3 = { "button": "_97b0fc33c028be1a__button", "is-unstyled": "abbb272e2ce49bd6__is-unstyled", "is-loading": "_914b42f315c0e580__is-loading", "is-small": "_908205475f9f2a92__is-small", "icon": "_9f6fc6553aeb36fe__icon", "is-brand": "dd460c965226cc77__is-brand", "is-outline": "_62d5a778b7b258ee__is-outline", "is-minimal": "ad0619a3217c6a5b__is-minimal", "is-neutral": "e722a8f96726aa99__is-neutral", "is-solid": "b50b3358c5fb4d0b__is-solid", "is-compact": "cf59cf1b69629838__is-compact", "loading-animation": "_5a1d53da6f830c8d__loading-animation" }; if (typeof process === "undefined" || true) { registerStyle3("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}"); } var resets_default = { "box-sizing": "_336cd3e4e743482f__box-sizing" }; if (typeof process === "undefined" || true) { registerStyle3("da99a163ac", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._08e8a2e44959f892__outset-ring--focus:focus,.c5cb3ee4bddaa8e4__outset-ring--focus-within-visible:focus-within:has(:focus-visible),.cd83dfc2126a0846__outset-ring--focus-within:focus-within,.d0541bc9dd9dc7b6__outset-ring--focus-visible:focus-visible,:focus-visible .ecadb9e080e2dfa5__outset-ring--focus-parent-visible{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}._970d04df7376df67__outset-ring--focus-within-except-active:focus-within,.e25b2bdd7aa21721__outset-ring--focus-except-active:focus{outline:none}._970d04df7376df67__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.e25b2bdd7aa21721__outset-ring--focus-except-active:focus:not(:active){@include mixins.focus-ring()}}}"); } var focus_default = { "outset-ring--focus": "_08e8a2e44959f892__outset-ring--focus", "outset-ring--focus-visible": "d0541bc9dd9dc7b6__outset-ring--focus-visible", "outset-ring--focus-within": "cd83dfc2126a0846__outset-ring--focus-within", "outset-ring--focus-within-visible": "c5cb3ee4bddaa8e4__outset-ring--focus-within-visible", "outset-ring--focus-parent-visible": "ecadb9e080e2dfa5__outset-ring--focus-parent-visible", "outset-ring--focus-except-active": "e25b2bdd7aa21721__outset-ring--focus-except-active", "outset-ring--focus-within-except-active": "_970d04df7376df67__outset-ring--focus-within-except-active" }; if (typeof process === "undefined" || true) { registerStyle3("af6d9984a6", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}"); } var global_css_defense_default2 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a" }; var Button3 = (0, import_element12.forwardRef)( function Button22({ tone = "brand", variant = "solid", size: size4 = "default", className, focusableWhenDisabled = true, disabled: disabled2, loading, loadingAnnouncement = (0, import_i18n.__)("Loading"), children, ...props }, ref) { const mergedClassName = clsx_default( global_css_defense_default2.button, resets_default["box-sizing"], focus_default["outset-ring--focus-except-active"], variant !== "unstyled" && style_default3.button, style_default3[`is-${tone}`], style_default3[`is-${variant}`], style_default3[`is-${size4}`], loading && style_default3["is-loading"], className ); (0, import_element12.useEffect)(() => { if (loading && loadingAnnouncement) { speak(loadingAnnouncement); } }, [loading, loadingAnnouncement]); return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)( Button, { ref, className: mergedClassName, focusableWhenDisabled, disabled: disabled2 ?? loading, ...props, children } ); } ); // packages/ui/build-module/button/icon.mjs var import_element14 = __toESM(require_element(), 1); // packages/ui/build-module/icon/icon.mjs var import_element13 = __toESM(require_element(), 1); var import_primitives = __toESM(require_primitives(), 1); var import_jsx_runtime13 = __toESM(require_jsx_runtime(), 1); var Icon = (0, import_element13.forwardRef)(function Icon2({ icon, size: size4 = 24, ...restProps }, ref) { return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)( import_primitives.SVG, { ref, ...icon.props, ...restProps, width: size4, height: size4 } ); }); // packages/ui/build-module/button/icon.mjs var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE4 = "data-wp-hash"; function getRuntime4() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument4(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash4(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE4}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE4) === hash) { return true; } } return false; } function injectStyle4(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime4(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash4(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE4, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument4(targetDocument) { const runtime = getRuntime4(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle4(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle4(hash, css) { const runtime = getRuntime4(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle4(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle4("b74f1ac304", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._97b0fc33c028be1a__button,.abbb272e2ce49bd6__is-unstyled{appearance:none;padding:0}._97b0fc33c028be1a__button{--wp-ui-button-font-weight:var(--wpds-typography-font-weight-emphasis,600);--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-strong,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand-strong,#fff);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-strong-disabled,#8d8d8d);--wp-ui-button-padding-block:var(--wpds-dimension-padding-xs,4px);--wp-ui-button-padding-inline:var(--wpds-dimension-padding-md,12px);--wp-ui-button-height:var(--wpds-dimension-size-lg,40px);--wp-ui-button-aspect-ratio:auto;--wp-ui-button-font-size:var(--wpds-typography-font-size-md,13px);--wp-ui-button-min-width:calc(4ch + var(--wp-ui-button-padding-inline)*2);--wp-ui-button-icon-margin:calc((var(--wpds-dimension-size-2xs, 16px) - var(--wpds-dimension-size-sm, 24px))/2);--wp-ui-button-border-color:var(--wp-ui-button-background-color);--wp-ui-button-border-color-active:var(--wp-ui-button-background-color-active);--wp-ui-button-border-color-disabled:var(--wp-ui-button-background-color-disabled);--_gcd-button-font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);--_gcd-button-font-size:var(--wp-ui-button-font-size);--_gcd-button-font-weight:var(--wp-ui-button-font-weight);align-items:center;aspect-ratio:var(--wp-ui-button-aspect-ratio);background-clip:border-box;background-color:var(--wp-ui-button-background-color);border-color:var(--wp-ui-button-border-color);border-radius:var(--wpds-border-radius-sm,2px);border-style:solid;border-width:1px;color:var(--wp-ui-button-foreground-color);display:inline-flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wp-ui-button-font-size);font-weight:var(--wp-ui-button-font-weight);gap:var(--wpds-dimension-gap-sm,8px);justify-content:center;line-height:var(--wpds-typography-line-height-sm,20px);max-width:100%;min-height:var(--wp-ui-button-height);min-width:var(--wp-ui-button-min-width);overflow-wrap:anywhere;padding-block:var(--wp-ui-button-padding-block);padding-inline:var(--wp-ui-button-padding-inline);position:relative;text-align:center;text-decoration:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}@media not (prefers-reduced-motion){transition:color .1s ease-out;*{transition:opacity .1s ease-out}}&[href]{cursor:pointer}[href]{color:inherit;text-decoration:inherit}&:not([data-disabled]):is(:hover,:active,:focus){background-color:var(--wp-ui-button-background-color-active);border-color:var(--wp-ui-button-border-color-active);color:var(--wp-ui-button-foreground-color-active)}&[data-disabled]:not(._914b42f315c0e580__is-loading){background-color:var(--wp-ui-button-background-color-disabled);border-color:var(--wp-ui-button-border-color-disabled);color:var(--wp-ui-button-foreground-color-disabled);@media (forced-colors:active){border-bottom-color:GrayText;border-left-color:GrayText;border-right-color:GrayText;border-top-color:GrayText;color:GrayText}}&:before{aspect-ratio:1;border:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid;border-block-end-color:transparent;border-block-start-color:var(--wp-ui-button-foreground-color);border-inline-end-color:var(--wp-ui-button-foreground-color);border-inline-start-color:transparent;border-radius:50%;box-sizing:border-box;content:"";display:block;height:var(--wp-ui-button-font-size);inset-inline-start:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);@media not (prefers-reduced-motion){transition:opacity .1s ease-out}@media (forced-colors:active){border-block-end-style:none;border-bottom-color:ButtonText;border-inline-start-style:none;border-left-color:ButtonText;border-right-color:ButtonText;border-top-color:ButtonText}}}._908205475f9f2a92__is-small{--wp-ui-button-padding-block:0px;--wp-ui-button-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-button-height:var(--wpds-dimension-size-sm,24px)}._9f6fc6553aeb36fe__icon{margin:var(--wp-ui-button-icon-margin)}.dd460c965226cc77__is-brand{&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000));--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 85%,#000));--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-brand-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000)}}.e722a8f96726aa99__is-neutral{&.ad0619a3217c6a5b__is-minimal[aria-pressed=true],&.b50b3358c5fb4d0b__is-solid{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-strong,#2d2d2d);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-strong-active,#1e1e1e);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral-strong,#f0f0f0);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-strong-active,#f0f0f0);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-strong-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d);--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-neutral-active,#6e6e6e);--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-neutral-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000)}}.abbb272e2ce49bd6__is-unstyled{background:none;border:none;min-width:unset}.cf59cf1b69629838__is-compact{--wp-ui-button-height:var(--wpds-dimension-size-md,32px)}._914b42f315c0e580__is-loading:not(.abbb272e2ce49bd6__is-unstyled){color:transparent;&:not([data-disabled]):is(:hover,:active,:focus){color:transparent}@media (forced-colors:active){color:ButtonFace}*{opacity:0}&:before{opacity:1;transition-delay:.05s;@media not (prefers-reduced-motion){animation:_5a1d53da6f830c8d__loading-animation 1s linear infinite}}}}@keyframes _5a1d53da6f830c8d__loading-animation{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}}'); } var style_default4 = { "button": "_97b0fc33c028be1a__button", "is-unstyled": "abbb272e2ce49bd6__is-unstyled", "is-loading": "_914b42f315c0e580__is-loading", "is-small": "_908205475f9f2a92__is-small", "icon": "_9f6fc6553aeb36fe__icon", "is-brand": "dd460c965226cc77__is-brand", "is-outline": "_62d5a778b7b258ee__is-outline", "is-minimal": "ad0619a3217c6a5b__is-minimal", "is-neutral": "e722a8f96726aa99__is-neutral", "is-solid": "b50b3358c5fb4d0b__is-solid", "is-compact": "cf59cf1b69629838__is-compact", "loading-animation": "_5a1d53da6f830c8d__loading-animation" }; var ButtonIcon = (0, import_element14.forwardRef)( function ButtonIcon2({ className, icon, ...props }, ref) { return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)( Icon, { ref, icon, className: clsx_default(style_default4.icon, className), size: 24, ...props } ); } ); // packages/ui/build-module/button/index.mjs ButtonIcon.displayName = "Button.Icon"; var Button4 = Object.assign(Button3, { /** * An icon component specifically designed to work well when rendered inside * a `Button` component. */ Icon: ButtonIcon }); // packages/icons/build-module/library/caution.mjs var import_primitives2 = __toESM(require_primitives(), 1); var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1); var caution_default = /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_primitives2.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_primitives2.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-.75 12v-1.5h1.5V16h-1.5Zm0-8v5h1.5V8h-1.5Z" }) }); // packages/icons/build-module/library/close-small.mjs var import_primitives3 = __toESM(require_primitives(), 1); var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1); var close_small_default = /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_primitives3.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_primitives3.Path, { d: "M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z" }) }); // packages/icons/build-module/library/error.mjs var import_primitives4 = __toESM(require_primitives(), 1); var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1); var error_default = /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_primitives4.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_primitives4.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M12.218 5.377a.25.25 0 0 0-.436 0l-7.29 12.96a.25.25 0 0 0 .218.373h14.58a.25.25 0 0 0 .218-.372l-7.29-12.96Zm-1.743-.735c.669-1.19 2.381-1.19 3.05 0l7.29 12.96a1.75 1.75 0 0 1-1.525 2.608H4.71a1.75 1.75 0 0 1-1.525-2.608l7.29-12.96ZM12.75 17.46h-1.5v-1.5h1.5v1.5Zm-1.5-3h1.5v-5h-1.5v5Z" }) }); // packages/icons/build-module/library/info.mjs var import_primitives5 = __toESM(require_primitives(), 1); var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1); var info_default = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_primitives5.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_primitives5.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.75 4v1.5h-1.5V8h1.5Zm0 8v-5h-1.5v5h1.5Z" }) }); // packages/icons/build-module/library/published.mjs var import_primitives6 = __toESM(require_primitives(), 1); var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1); var published_default = /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_primitives6.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_primitives6.Path, { fillRule: "evenodd", clipRule: "evenodd", d: "M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm11.53-1.47-1.06-1.06L11 12.94l-1.47-1.47-1.06 1.06L11 15.06l4.53-4.53Z" }) }); // packages/ui/build-module/utils/render-slot-with-children.mjs var import_element15 = __toESM(require_element(), 1); function renderSlotWithChildren(slot, defaultSlot, children) { return (0, import_element15.cloneElement)(slot ?? defaultSlot, { children }); } // packages/ui/build-module/utils/theme-provider.mjs var theme = __toESM(require_theme(), 1); // packages/ui/build-module/lock-unlock.mjs var import_private_apis = __toESM(require_private_apis(), 1); var { lock, unlock } = (0, import_private_apis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)( "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.", "@wordpress/ui" ); // packages/ui/build-module/utils/theme-provider.mjs function getThemeProvider() { const themePackage = theme; if (themePackage.ThemeProvider) { return themePackage.ThemeProvider; } if (!themePackage.privateApis) { throw new Error( "@wordpress/ui: @wordpress/theme must expose `ThemeProvider` or `privateApis.ThemeProvider`." ); } return unlock( themePackage.privateApis ).ThemeProvider; } var ThemeProvider = getThemeProvider(); // packages/ui/build-module/stack/stack.mjs var import_element16 = __toESM(require_element(), 1); var STYLE_HASH_ATTRIBUTE5 = "data-wp-hash"; function getRuntime5() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument5(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash5(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE5}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE5) === hash) { return true; } } return false; } function injectStyle5(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime5(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash5(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE5, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument5(targetDocument) { const runtime = getRuntime5(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle5(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle5(hash, css) { const runtime = getRuntime5(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle5(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle5("32aba35fe1", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._19ce0419607e1896__stack{display:flex}}}"); } var style_default5 = { "stack": "_19ce0419607e1896__stack" }; var gapTokens = { xs: "var(--wpds-dimension-gap-xs, 4px)", sm: "var(--wpds-dimension-gap-sm, 8px)", md: "var(--wpds-dimension-gap-md, 12px)", lg: "var(--wpds-dimension-gap-lg, 16px)", xl: "var(--wpds-dimension-gap-xl, 24px)", "2xl": "var(--wpds-dimension-gap-2xl, 32px)", "3xl": "var(--wpds-dimension-gap-3xl, 40px)" }; var Stack = (0, import_element16.forwardRef)(function Stack2({ direction, gap, align, justify, wrap, render, ...props }, ref) { const style = { gap: gap && gapTokens[gap], alignItems: align, justifyContent: justify, flexDirection: direction, flexWrap: wrap }; const element = useRender({ render, ref, props: mergeProps(props, { style, className: style_default5.stack }) }); return element; }); // packages/ui/build-module/icon-button/icon-button.mjs var import_element21 = __toESM(require_element(), 1); // packages/ui/build-module/tooltip/popup.mjs var import_element19 = __toESM(require_element(), 1); // packages/ui/build-module/tooltip/portal.mjs var import_element17 = __toESM(require_element(), 1); // packages/ui/build-module/utils/wp-compat-overlay-slot.mjs var STYLE_HASH_ATTRIBUTE6 = "data-wp-hash"; function getRuntime6() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument6(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash6(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE6}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE6) === hash) { return true; } } return false; } function injectStyle6(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime6(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash6(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE6, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument6(targetDocument) { const runtime = getRuntime6(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle6(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle6(hash, css) { const runtime = getRuntime6(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle6(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle6("be37f31c1e", "._11fc52b637ff8a7e__slot{inset:0;isolation:isolate;pointer-events:none;position:fixed;z-index:1000000003}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._11fc52b637ff8a7e__slot>*{pointer-events:auto}}}"); } var wp_compat_overlay_slot_default = { "slot": "_11fc52b637ff8a7e__slot" }; var WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE = "data-wp-compat-overlay-slot"; function resolveOwnerDocument() { return typeof document === "undefined" ? null : document; } function isInWordPressEnvironment() { let topWp; try { topWp = window.top?.wp; } catch { } const wp = topWp ?? window.wp; return typeof wp?.components === "object" && wp.components !== null; } var cachedSlot = null; function ensureSlotIsAccessible(element) { element.setAttribute("aria-hidden", "false"); return element; } function createSlot(ownerDocument2) { const element = ownerDocument2.createElement("div"); element.setAttribute(WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE, ""); if (wp_compat_overlay_slot_default.slot) { element.classList.add(wp_compat_overlay_slot_default.slot); } ownerDocument2.body.appendChild(element); return element; } function getWpCompatOverlaySlot() { if (typeof window === "undefined") { return void 0; } if (!isInWordPressEnvironment() && window.__wpUiCompatOverlaySlotEnabled !== true) { return void 0; } const ownerDocument2 = resolveOwnerDocument(); if (!ownerDocument2 || !ownerDocument2.body) { return void 0; } if (cachedSlot && cachedSlot.ownerDocument === ownerDocument2 && cachedSlot.isConnected) { return ensureSlotIsAccessible(cachedSlot); } const existing = ownerDocument2.querySelector( `[${WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE}]` ); if (existing instanceof HTMLDivElement) { cachedSlot = ensureSlotIsAccessible(existing); return cachedSlot; } if (cachedSlot?.isConnected) { cachedSlot.remove(); } cachedSlot = ensureSlotIsAccessible(createSlot(ownerDocument2)); return cachedSlot; } // packages/ui/build-module/tooltip/portal.mjs var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1); var Portal = (0, import_element17.forwardRef)( function TooltipPortal3({ container, ...restProps }, ref) { return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)( index_parts_exports.Portal, { container: container ?? getWpCompatOverlaySlot(), ...restProps, ref } ); } ); // packages/ui/build-module/tooltip/positioner.mjs var import_element18 = __toESM(require_element(), 1); var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE7 = "data-wp-hash"; function getRuntime7() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument7(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash7(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE7}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE7) === hash) { return true; } } return false; } function injectStyle7(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime7(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash7(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE7, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument7(targetDocument) { const runtime = getRuntime7(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle7(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle7(hash, css) { const runtime = getRuntime7(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle7(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle7("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}"); } var resets_default2 = { "box-sizing": "_336cd3e4e743482f__box-sizing" }; if (typeof process === "undefined" || true) { registerStyle7("19fcc06039", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._480b748dd3510e64__positioner{z-index:var(--wp-ui-tooltip-z-index,initial)}._50096b232db7709d__popup{--_wp-ui-elevation-sm:0 1px 2px rgba(0,0,0,.05),0 2px 3px rgba(0,0,0,.04),0 6px 6px rgba(0,0,0,.03),0 8px 8px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-sm);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:1.4;padding:var(--wpds-dimension-padding-xs,4px) var(--wpds-dimension-padding-sm,8px);@media (forced-colors:active){border-bottom-color:CanvasText;border-bottom-style:solid;border-bottom-width:1px;border-left-color:CanvasText;border-left-style:solid;border-left-width:1px;border-right-color:CanvasText;border-right-style:solid;border-right-width:1px;border-top-color:CanvasText;border-top-style:solid;border-top-width:1px}}}}'); } var style_default6 = { "positioner": "_480b748dd3510e64__positioner", "popup": "_50096b232db7709d__popup" }; var Positioner = (0, import_element18.forwardRef)( function TooltipPositioner3({ align = "center", className, side = "top", sideOffset = 4, ...props }, ref) { return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)( index_parts_exports.Positioner, { ref, align, side, sideOffset, ...props, className: clsx_default( resets_default2["box-sizing"], style_default6.positioner, className ) } ); } ); // packages/ui/build-module/tooltip/popup.mjs var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE8 = "data-wp-hash"; function getRuntime8() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument8(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash8(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE8}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE8) === hash) { return true; } } return false; } function injectStyle8(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime8(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash8(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE8, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument8(targetDocument) { const runtime = getRuntime8(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle8(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle8(hash, css) { const runtime = getRuntime8(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle8(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle8("19fcc06039", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._480b748dd3510e64__positioner{z-index:var(--wp-ui-tooltip-z-index,initial)}._50096b232db7709d__popup{--_wp-ui-elevation-sm:0 1px 2px rgba(0,0,0,.05),0 2px 3px rgba(0,0,0,.04),0 6px 6px rgba(0,0,0,.03),0 8px 8px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-sm);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:1.4;padding:var(--wpds-dimension-padding-xs,4px) var(--wpds-dimension-padding-sm,8px);@media (forced-colors:active){border-bottom-color:CanvasText;border-bottom-style:solid;border-bottom-width:1px;border-left-color:CanvasText;border-left-style:solid;border-left-width:1px;border-right-color:CanvasText;border-right-style:solid;border-right-width:1px;border-top-color:CanvasText;border-top-style:solid;border-top-width:1px}}}}'); } var style_default7 = { "positioner": "_480b748dd3510e64__positioner", "popup": "_50096b232db7709d__popup" }; var POPUP_COLOR = { background: "#1e1e1e" }; var Popup = (0, import_element19.forwardRef)(function TooltipPopup3({ portal, positioner, children, className, ...props }, ref) { const popupContent = /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ThemeProvider, { color: POPUP_COLOR, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)( index_parts_exports.Popup, { ref, className: clsx_default(style_default7.popup, className), ...props, children } ) }); const positionedPopup = renderSlotWithChildren( positioner, /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Positioner, {}), popupContent ); return renderSlotWithChildren(portal, /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Portal, {}), positionedPopup); }); // packages/ui/build-module/tooltip/trigger.mjs var import_element20 = __toESM(require_element(), 1); var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1); var Trigger = (0, import_element20.forwardRef)( function TooltipTrigger3(props, ref) { return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(index_parts_exports.Trigger, { ref, ...props }); } ); // packages/ui/build-module/tooltip/root.mjs var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1); function Root(props) { return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(index_parts_exports.Root, { ...props }); } // packages/ui/build-module/icon-button/icon-button.mjs var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE9 = "data-wp-hash"; function getRuntime9() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument9(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash9(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE9}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE9) === hash) { return true; } } return false; } function injectStyle9(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime9(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash9(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE9, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument9(targetDocument) { const runtime = getRuntime9(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle9(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle9(hash, css) { const runtime = getRuntime9(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle9(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle9("c5cdafb1bc", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer compositions{._28cfdc260e755391__icon-button{--wp-ui-button-aspect-ratio:1;--wp-ui-button-padding-inline:0px;--wp-ui-button-min-width:unset}.f1c70d719989a85a__icon{margin:-1px}}}"); } var style_default8 = { "icon-button": "_28cfdc260e755391__icon-button", "icon": "f1c70d719989a85a__icon" }; var IconButton = (0, import_element21.forwardRef)( function IconButton2({ label, className, // Prevent accidental forwarding of `children` children: _children, disabled: disabled2, focusableWhenDisabled = true, icon, size: size4, shortcut, positioner, ...restProps }, ref) { const classes = clsx_default(style_default8["icon-button"], className); return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(Root, { children: [ /* @__PURE__ */ (0, import_jsx_runtime25.jsx)( Trigger, { ref, disabled: disabled2 && !focusableWhenDisabled, render: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)( Button4, { ...restProps, size: size4, "aria-label": label, "aria-keyshortcuts": shortcut?.ariaKeyShortcut, disabled: disabled2, focusableWhenDisabled } ), className: classes, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Icon, { icon, size: 24, className: style_default8.icon }) } ), /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(Popup, { positioner, children: [ label, shortcut && /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_jsx_runtime25.Fragment, { children: [ " ", /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { "aria-hidden": "true", children: shortcut.displayShortcut }) ] }) ] }) ] }); } ); // packages/ui/build-module/link/link.mjs var import_element22 = __toESM(require_element(), 1); var import_i18n2 = __toESM(require_i18n(), 1); var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE10 = "data-wp-hash"; function getRuntime10() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument10(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash10(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE10}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE10) === hash) { return true; } } return false; } function injectStyle10(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime10(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash10(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE10, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument10(targetDocument) { const runtime = getRuntime10(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle10(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle10(hash, css) { const runtime = getRuntime10(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle10(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle10("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}"); } var resets_default3 = { "box-sizing": "_336cd3e4e743482f__box-sizing" }; if (typeof process === "undefined" || true) { registerStyle10("da99a163ac", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._08e8a2e44959f892__outset-ring--focus:focus,.c5cb3ee4bddaa8e4__outset-ring--focus-within-visible:focus-within:has(:focus-visible),.cd83dfc2126a0846__outset-ring--focus-within:focus-within,.d0541bc9dd9dc7b6__outset-ring--focus-visible:focus-visible,:focus-visible .ecadb9e080e2dfa5__outset-ring--focus-parent-visible{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}._970d04df7376df67__outset-ring--focus-within-except-active:focus-within,.e25b2bdd7aa21721__outset-ring--focus-except-active:focus{outline:none}._970d04df7376df67__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.e25b2bdd7aa21721__outset-ring--focus-except-active:focus:not(:active){@include mixins.focus-ring()}}}"); } var focus_default2 = { "outset-ring--focus": "_08e8a2e44959f892__outset-ring--focus", "outset-ring--focus-visible": "d0541bc9dd9dc7b6__outset-ring--focus-visible", "outset-ring--focus-within": "cd83dfc2126a0846__outset-ring--focus-within", "outset-ring--focus-within-visible": "c5cb3ee4bddaa8e4__outset-ring--focus-within-visible", "outset-ring--focus-parent-visible": "ecadb9e080e2dfa5__outset-ring--focus-parent-visible", "outset-ring--focus-except-active": "e25b2bdd7aa21721__outset-ring--focus-except-active", "outset-ring--focus-within-except-active": "_970d04df7376df67__outset-ring--focus-within-except-active" }; if (typeof process === "undefined" || true) { registerStyle10("e8e6a9be37", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.d4250949359b05ce__link{text-decoration-thickness:from-font;text-underline-offset:.2em}.c6055659b8e2cd2c__is-brand,.c6055659b8e2cd2c__is-brand:visited{--_gcd-a-color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9));color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9))}.c6055659b8e2cd2c__is-brand:active,.c6055659b8e2cd2c__is-brand:hover{--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000));color:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000))}._92e0dfcaeee15b88__is-neutral,._92e0dfcaeee15b88__is-neutral:visited{--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);text-decoration-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d)}._92e0dfcaeee15b88__is-neutral:active,._92e0dfcaeee15b88__is-neutral:hover{--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e)}.cf122a9bf1035d42__is-unstyled{--_gcd-a-color:inherit;color:inherit;text-decoration:none}._0cb411afac4c86c7__link-icon{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-padding-xs,4px);text-decoration:none}._0cb411afac4c86c7__link-icon:after{content:"\\2197"}._0cb411afac4c86c7__link-icon:dir(rtl):after{content:"\\2196"}}}'); } var style_default9 = { "link": "d4250949359b05ce__link", "is-brand": "c6055659b8e2cd2c__is-brand", "is-neutral": "_92e0dfcaeee15b88__is-neutral", "is-unstyled": "cf122a9bf1035d42__is-unstyled", "link-icon": "_0cb411afac4c86c7__link-icon" }; if (typeof process === "undefined" || true) { registerStyle10("af6d9984a6", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}"); } var global_css_defense_default3 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a" }; var Link = (0, import_element22.forwardRef)(function Link2({ children, variant = "default", tone = "brand", openInNewTab = false, render, className, ...props }, ref) { const element = useRender({ render, defaultTagName: "a", ref, props: mergeProps(props, { className: clsx_default( global_css_defense_default3.a, resets_default3["box-sizing"], focus_default2["outset-ring--focus-except-active"], variant !== "unstyled" && style_default9.link, variant !== "unstyled" && style_default9[`is-${tone}`], variant === "unstyled" && style_default9["is-unstyled"], className ), target: openInNewTab ? "_blank" : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [ children, openInNewTab && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)( "span", { className: style_default9["link-icon"], role: "img", "aria-label": ( /* translators: accessibility text appended to link text */ (0, import_i18n2.__)("(opens in a new tab)") ) } ) ] }) }) }); return element; }); // packages/ui/build-module/notice/index.mjs var notice_exports = {}; __export(notice_exports, { ActionButton: () => ActionButton, ActionLink: () => ActionLink, Actions: () => Actions, CloseIcon: () => CloseIcon, Description: () => Description, Root: () => Root2, Title: () => Title }); // packages/ui/build-module/notice/root.mjs var import_element23 = __toESM(require_element(), 1); import { speak as speak2 } from "@wordpress/a11y"; var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE11 = "data-wp-hash"; function getRuntime11() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument11(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash11(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE11}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE11) === hash) { return true; } } return false; } function injectStyle11(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime11(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash11(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE11, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument11(targetDocument) { const runtime = getRuntime11(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle11(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle11(hash, css) { const runtime = getRuntime11(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle11(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle11("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}"); } var resets_default4 = { "box-sizing": "_336cd3e4e743482f__box-sizing" }; if (typeof process === "undefined" || true) { registerStyle11("726c480820", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description,.b5397fb9d05389e3__title{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._1904b570a89bb815__description{text-wrap:pretty}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#a9c6e7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bc7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#926300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#94d29e);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#dab1aa);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button:is(._8ddb8fb33fbf3d38__is-action-button-outline,._77bbde495a8a0af3__is-action-button-minimal){--wp-ui-button-background-color-active:color-mix(in srgb,transparent 50%,var(--wpds-color-background-interactive-neutral-weak-active,#ededed))}}}"); } var style_default10 = { "notice": "_4145abab73d17514__notice", "icon": "d0a25570cb528528__icon", "title": "b5397fb9d05389e3__title", "description": "_1904b570a89bb815__description", "actions": "_0a1270dcdd79c031__actions", "action-button": "_983740ab855c4e09__action-button", "action-link": "d329e7416d368d31__action-link", "close-icon": "_487e6a5c1375f7dc__close-icon", "is-info": "_531c140826094795__is-info", "is-warning": "ae2e1004697cce95__is-warning", "is-success": "_2e614a76af494837__is-success", "is-error": "af00331ae17a0065__is-error", "is-action-button-outline": "_8ddb8fb33fbf3d38__is-action-button-outline", "is-action-button-minimal": "_77bbde495a8a0af3__is-action-button-minimal" }; var icons = { neutral: null, info: info_default, warning: caution_default, success: published_default, error: error_default }; function getDefaultPoliteness(intent) { return intent === "error" ? "assertive" : "polite"; } function safeRenderToString(message) { if (!message) { return void 0; } if (typeof message === "string") { return message; } try { return (0, import_element23.renderToString)(message); } catch { return void 0; } } function useSpokenMessage(message, politeness) { const spokenMessage = safeRenderToString(message); (0, import_element23.useEffect)(() => { if (spokenMessage) { speak2(spokenMessage, politeness); } }, [spokenMessage, politeness]); } var Root2 = (0, import_element23.forwardRef)(function Notice({ intent = "neutral", children, icon, spokenMessage = children, politeness = getDefaultPoliteness(intent), render, ...restProps }, ref) { useSpokenMessage(spokenMessage, politeness); const iconElement = icon === null ? null : icon ?? icons[intent]; const mergedClassName = clsx_default( style_default10.notice, style_default10[`is-${intent}`], resets_default4["box-sizing"] ); const element = useRender({ defaultTagName: "div", render, ref, props: mergeProps( { className: mergedClassName, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [ children, iconElement && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)( Icon, { className: style_default10.icon, icon: iconElement } ) ] }) }, restProps ) }); return element; }); // packages/ui/build-module/notice/title.mjs var import_element24 = __toESM(require_element(), 1); var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE12 = "data-wp-hash"; function getRuntime12() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument12(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash12(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE12}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE12) === hash) { return true; } } return false; } function injectStyle12(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime12(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash12(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE12, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument12(targetDocument) { const runtime = getRuntime12(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle12(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle12(hash, css) { const runtime = getRuntime12(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle12(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle12("726c480820", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description,.b5397fb9d05389e3__title{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._1904b570a89bb815__description{text-wrap:pretty}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#a9c6e7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bc7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#926300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#94d29e);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#dab1aa);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button:is(._8ddb8fb33fbf3d38__is-action-button-outline,._77bbde495a8a0af3__is-action-button-minimal){--wp-ui-button-background-color-active:color-mix(in srgb,transparent 50%,var(--wpds-color-background-interactive-neutral-weak-active,#ededed))}}}"); } var style_default11 = { "notice": "_4145abab73d17514__notice", "icon": "d0a25570cb528528__icon", "title": "b5397fb9d05389e3__title", "description": "_1904b570a89bb815__description", "actions": "_0a1270dcdd79c031__actions", "action-button": "_983740ab855c4e09__action-button", "action-link": "d329e7416d368d31__action-link", "close-icon": "_487e6a5c1375f7dc__close-icon", "is-info": "_531c140826094795__is-info", "is-warning": "ae2e1004697cce95__is-warning", "is-success": "_2e614a76af494837__is-success", "is-error": "af00331ae17a0065__is-error", "is-action-button-outline": "_8ddb8fb33fbf3d38__is-action-button-outline", "is-action-button-minimal": "_77bbde495a8a0af3__is-action-button-minimal" }; var Title = (0, import_element24.forwardRef)( function NoticeTitle({ className, ...props }, ref) { return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)( Text, { ref, variant: "heading-md", className: clsx_default(style_default11.title, className), ...props } ); } ); // packages/ui/build-module/notice/description.mjs var import_element25 = __toESM(require_element(), 1); var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE13 = "data-wp-hash"; function getRuntime13() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument13(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash13(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE13}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE13) === hash) { return true; } } return false; } function injectStyle13(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime13(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash13(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE13, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument13(targetDocument) { const runtime = getRuntime13(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle13(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle13(hash, css) { const runtime = getRuntime13(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle13(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle13("726c480820", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description,.b5397fb9d05389e3__title{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._1904b570a89bb815__description{text-wrap:pretty}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#a9c6e7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bc7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#926300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#94d29e);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#dab1aa);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button:is(._8ddb8fb33fbf3d38__is-action-button-outline,._77bbde495a8a0af3__is-action-button-minimal){--wp-ui-button-background-color-active:color-mix(in srgb,transparent 50%,var(--wpds-color-background-interactive-neutral-weak-active,#ededed))}}}"); } var style_default12 = { "notice": "_4145abab73d17514__notice", "icon": "d0a25570cb528528__icon", "title": "b5397fb9d05389e3__title", "description": "_1904b570a89bb815__description", "actions": "_0a1270dcdd79c031__actions", "action-button": "_983740ab855c4e09__action-button", "action-link": "d329e7416d368d31__action-link", "close-icon": "_487e6a5c1375f7dc__close-icon", "is-info": "_531c140826094795__is-info", "is-warning": "ae2e1004697cce95__is-warning", "is-success": "_2e614a76af494837__is-success", "is-error": "af00331ae17a0065__is-error", "is-action-button-outline": "_8ddb8fb33fbf3d38__is-action-button-outline", "is-action-button-minimal": "_77bbde495a8a0af3__is-action-button-minimal" }; var Description = (0, import_element25.forwardRef)( function NoticeDescription({ className, ...props }, ref) { return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)( Text, { ref, variant: "body-md", className: clsx_default(style_default12.description, className), ...props } ); } ); // packages/ui/build-module/notice/actions.mjs var import_element26 = __toESM(require_element(), 1); var STYLE_HASH_ATTRIBUTE14 = "data-wp-hash"; function getRuntime14() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument14(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash14(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE14}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE14) === hash) { return true; } } return false; } function injectStyle14(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime14(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash14(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE14, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument14(targetDocument) { const runtime = getRuntime14(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle14(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle14(hash, css) { const runtime = getRuntime14(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle14(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle14("726c480820", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description,.b5397fb9d05389e3__title{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._1904b570a89bb815__description{text-wrap:pretty}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#a9c6e7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bc7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#926300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#94d29e);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#dab1aa);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button:is(._8ddb8fb33fbf3d38__is-action-button-outline,._77bbde495a8a0af3__is-action-button-minimal){--wp-ui-button-background-color-active:color-mix(in srgb,transparent 50%,var(--wpds-color-background-interactive-neutral-weak-active,#ededed))}}}"); } var style_default13 = { "notice": "_4145abab73d17514__notice", "icon": "d0a25570cb528528__icon", "title": "b5397fb9d05389e3__title", "description": "_1904b570a89bb815__description", "actions": "_0a1270dcdd79c031__actions", "action-button": "_983740ab855c4e09__action-button", "action-link": "d329e7416d368d31__action-link", "close-icon": "_487e6a5c1375f7dc__close-icon", "is-info": "_531c140826094795__is-info", "is-warning": "ae2e1004697cce95__is-warning", "is-success": "_2e614a76af494837__is-success", "is-error": "af00331ae17a0065__is-error", "is-action-button-outline": "_8ddb8fb33fbf3d38__is-action-button-outline", "is-action-button-minimal": "_77bbde495a8a0af3__is-action-button-minimal" }; var Actions = (0, import_element26.forwardRef)( function NoticeActions({ render, ...props }, ref) { const element = useRender({ defaultTagName: "div", render, ref, props: mergeProps( { className: style_default13.actions }, props ) }); return element; } ); // packages/ui/build-module/notice/close-icon.mjs var import_element27 = __toESM(require_element(), 1); var import_i18n3 = __toESM(require_i18n(), 1); var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE15 = "data-wp-hash"; function getRuntime15() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument15(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash15(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE15}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE15) === hash) { return true; } } return false; } function injectStyle15(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime15(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash15(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE15, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument15(targetDocument) { const runtime = getRuntime15(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle15(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle15(hash, css) { const runtime = getRuntime15(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle15(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle15("726c480820", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description,.b5397fb9d05389e3__title{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._1904b570a89bb815__description{text-wrap:pretty}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#a9c6e7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bc7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#926300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#94d29e);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#dab1aa);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button:is(._8ddb8fb33fbf3d38__is-action-button-outline,._77bbde495a8a0af3__is-action-button-minimal){--wp-ui-button-background-color-active:color-mix(in srgb,transparent 50%,var(--wpds-color-background-interactive-neutral-weak-active,#ededed))}}}"); } var style_default14 = { "notice": "_4145abab73d17514__notice", "icon": "d0a25570cb528528__icon", "title": "b5397fb9d05389e3__title", "description": "_1904b570a89bb815__description", "actions": "_0a1270dcdd79c031__actions", "action-button": "_983740ab855c4e09__action-button", "action-link": "d329e7416d368d31__action-link", "close-icon": "_487e6a5c1375f7dc__close-icon", "is-info": "_531c140826094795__is-info", "is-warning": "ae2e1004697cce95__is-warning", "is-success": "_2e614a76af494837__is-success", "is-error": "af00331ae17a0065__is-error", "is-action-button-outline": "_8ddb8fb33fbf3d38__is-action-button-outline", "is-action-button-minimal": "_77bbde495a8a0af3__is-action-button-minimal" }; var CloseIcon = (0, import_element27.forwardRef)( function NoticeCloseIcon({ className, icon = close_small_default, label = (0, import_i18n3.__)("Dismiss"), ...props }, ref) { return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)( IconButton, { ...props, ref, className: clsx_default(style_default14["close-icon"], className), variant: "minimal", size: "small", tone: "neutral", icon, label } ); } ); // packages/ui/build-module/notice/action-button.mjs var import_element28 = __toESM(require_element(), 1); var import_jsx_runtime31 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE16 = "data-wp-hash"; function getRuntime16() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument16(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash16(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE16}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE16) === hash) { return true; } } return false; } function injectStyle16(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime16(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash16(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE16, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument16(targetDocument) { const runtime = getRuntime16(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle16(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle16(hash, css) { const runtime = getRuntime16(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle16(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle16("726c480820", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description,.b5397fb9d05389e3__title{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._1904b570a89bb815__description{text-wrap:pretty}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#a9c6e7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bc7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#926300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#94d29e);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#dab1aa);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button:is(._8ddb8fb33fbf3d38__is-action-button-outline,._77bbde495a8a0af3__is-action-button-minimal){--wp-ui-button-background-color-active:color-mix(in srgb,transparent 50%,var(--wpds-color-background-interactive-neutral-weak-active,#ededed))}}}"); } var style_default15 = { "notice": "_4145abab73d17514__notice", "icon": "d0a25570cb528528__icon", "title": "b5397fb9d05389e3__title", "description": "_1904b570a89bb815__description", "actions": "_0a1270dcdd79c031__actions", "action-button": "_983740ab855c4e09__action-button", "action-link": "d329e7416d368d31__action-link", "close-icon": "_487e6a5c1375f7dc__close-icon", "is-info": "_531c140826094795__is-info", "is-warning": "ae2e1004697cce95__is-warning", "is-success": "_2e614a76af494837__is-success", "is-error": "af00331ae17a0065__is-error", "is-action-button-outline": "_8ddb8fb33fbf3d38__is-action-button-outline", "is-action-button-minimal": "_77bbde495a8a0af3__is-action-button-minimal" }; var ActionButton = (0, import_element28.forwardRef)( function NoticeActionButton({ className, loading, loadingAnnouncement, variant, ...props }, ref) { const loadingProps = loading !== void 0 ? { loading, loadingAnnouncement: loadingAnnouncement ?? "" } : {}; return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)( Button4, { ...props, ...loadingProps, ref, size: "compact", tone: "neutral", variant, className: clsx_default( style_default15["action-button"], style_default15[`is-action-button-${variant}`], className ) } ); } ); // packages/ui/build-module/notice/action-link.mjs var import_element29 = __toESM(require_element(), 1); var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE17 = "data-wp-hash"; function getRuntime17() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument17(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash17(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE17}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE17) === hash) { return true; } } return false; } function injectStyle17(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime17(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash17(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE17, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument17(targetDocument) { const runtime = getRuntime17(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle17(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle17(hash, css) { const runtime = getRuntime17(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle17(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle17("726c480820", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description,.b5397fb9d05389e3__title{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._1904b570a89bb815__description{text-wrap:pretty}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#a9c6e7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bc7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#926300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#94d29e);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#dab1aa);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button:is(._8ddb8fb33fbf3d38__is-action-button-outline,._77bbde495a8a0af3__is-action-button-minimal){--wp-ui-button-background-color-active:color-mix(in srgb,transparent 50%,var(--wpds-color-background-interactive-neutral-weak-active,#ededed))}}}"); } var style_default16 = { "notice": "_4145abab73d17514__notice", "icon": "d0a25570cb528528__icon", "title": "b5397fb9d05389e3__title", "description": "_1904b570a89bb815__description", "actions": "_0a1270dcdd79c031__actions", "action-button": "_983740ab855c4e09__action-button", "action-link": "d329e7416d368d31__action-link", "close-icon": "_487e6a5c1375f7dc__close-icon", "is-info": "_531c140826094795__is-info", "is-warning": "ae2e1004697cce95__is-warning", "is-success": "_2e614a76af494837__is-success", "is-error": "af00331ae17a0065__is-error", "is-action-button-outline": "_8ddb8fb33fbf3d38__is-action-button-outline", "is-action-button-minimal": "_77bbde495a8a0af3__is-action-button-minimal" }; var ActionLink = (0, import_element29.forwardRef)( function NoticeActionLink({ className, render, ...props }, ref) { return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)( Text, { ref, className: clsx_default(style_default16["action-link"], className), ...props, variant: "body-md", render: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Link, { tone: "neutral", variant: "default", render }) } ); } ); // packages/admin-ui/build-module/navigable-region/index.mjs var import_element30 = __toESM(require_element(), 1); var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1); var NavigableRegion = (0, import_element30.forwardRef)( ({ children, className, ariaLabel, as: Tag = "div", ...props }, ref) => { return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)( Tag, { ref, className: clsx_default("admin-ui-navigable-region", className), "aria-label": ariaLabel, role: "region", tabIndex: "-1", ...props, children } ); } ); NavigableRegion.displayName = "NavigableRegion"; var navigable_region_default = NavigableRegion; // packages/admin-ui/build-module/page/sidebar-toggle-slot.mjs var import_components = __toESM(require_components(), 1); var { Fill: SidebarToggleFill, Slot: SidebarToggleSlot } = (0, import_components.createSlotFill)("SidebarToggle"); // packages/admin-ui/build-module/page/header.mjs var import_jsx_runtime34 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE18 = "data-wp-hash"; function getRuntime18() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument18(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash18(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE18}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE18) === hash) { return true; } } return false; } function injectStyle18(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime18(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash18(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE18, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument18(targetDocument) { const runtime = getRuntime18(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle18(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle18(hash, css) { const runtime = getRuntime18(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle18(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle18("ddd9aab364", "._956b6df0898efed0__page{text-wrap:pretty;background-color:var(--wpds-color-background-surface-neutral,#fcfcfc);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);display:flex;flex-flow:column;height:100%;position:relative;z-index:1}._0625b55e82a0d93d__header{background:var(--wpds-color-background-surface-neutral-strong,#fff);border-block-end:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);inset-block-start:0;padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px);position:sticky;z-index:1}.a43c44d5ae28b2e8__header-content{min-height:var(--wpds-dimension-size-md,32px)}.b7cb5b9daf3a3b25__header-actions{flex-shrink:0}._8113be94e7caf73c__header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._9a776c7f70996f61__header-visual{display:grid;flex-shrink:0;grid-template-columns:1fr;grid-template-rows:1fr;height:var(--wpds-dimension-size-sm,24px);width:var(--wpds-dimension-size-sm,24px);>*{grid-column:1/-1;grid-row:1/-1;max-height:100%;max-width:100%}}.d5e0920cd15d35bc__sidebar-toggle-slot:empty{display:none}._60fea2f6bf5319cd__header-subtitle{color:var(--wpds-color-foreground-content-neutral-weak,#707070);padding-block-end:var(--wpds-dimension-padding-xs,4px)}.be5e57d029ec4036__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;&._128806d0b26e3a50__has-padding{padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px)}}"); } var style_default17 = { "page": "_956b6df0898efed0__page", "header": "_0625b55e82a0d93d__header", "header-content": "a43c44d5ae28b2e8__header-content", "header-actions": "b7cb5b9daf3a3b25__header-actions", "header-title": "_8113be94e7caf73c__header-title", "header-visual": "_9a776c7f70996f61__header-visual", "sidebar-toggle-slot": "d5e0920cd15d35bc__sidebar-toggle-slot", "header-subtitle": "_60fea2f6bf5319cd__header-subtitle", "content": "be5e57d029ec4036__content", "has-padding": "_128806d0b26e3a50__has-padding" }; function Header({ headingLevel = 1, breadcrumbs, badges, visual, title, subTitle, actions, showSidebarToggle = true }) { const HeadingTag = `h${headingLevel}`; return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Stack, { direction: "column", className: style_default17.header, children: [ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)( Stack, { className: style_default17["header-content"], direction: "row", gap: "sm", justify: "space-between", children: [ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Stack, { direction: "row", gap: "sm", align: "center", justify: "start", children: [ showSidebarToggle && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)( SidebarToggleSlot, { bubblesVirtually: true, className: style_default17["sidebar-toggle-slot"] } ), visual && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)( "div", { className: style_default17["header-visual"], "aria-hidden": "true", children: visual } ), title && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)( Text, { className: style_default17["header-title"], render: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(HeadingTag, {}), variant: "heading-lg", children: title } ), breadcrumbs, badges ] }), actions && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)( Stack, { align: "center", className: style_default17["header-actions"], direction: "row", gap: "sm", children: actions } ) ] } ), subTitle && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)( Text, { render: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", {}), variant: "body-md", className: style_default17["header-subtitle"], children: subTitle } ) ] }); } // packages/admin-ui/build-module/page/index.mjs var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE19 = "data-wp-hash"; function getRuntime19() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument19(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash19(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE19}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE19) === hash) { return true; } } return false; } function injectStyle19(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime19(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash19(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE19, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument19(targetDocument) { const runtime = getRuntime19(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle19(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle19(hash, css) { const runtime = getRuntime19(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle19(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle19("ddd9aab364", "._956b6df0898efed0__page{text-wrap:pretty;background-color:var(--wpds-color-background-surface-neutral,#fcfcfc);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);display:flex;flex-flow:column;height:100%;position:relative;z-index:1}._0625b55e82a0d93d__header{background:var(--wpds-color-background-surface-neutral-strong,#fff);border-block-end:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);inset-block-start:0;padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px);position:sticky;z-index:1}.a43c44d5ae28b2e8__header-content{min-height:var(--wpds-dimension-size-md,32px)}.b7cb5b9daf3a3b25__header-actions{flex-shrink:0}._8113be94e7caf73c__header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._9a776c7f70996f61__header-visual{display:grid;flex-shrink:0;grid-template-columns:1fr;grid-template-rows:1fr;height:var(--wpds-dimension-size-sm,24px);width:var(--wpds-dimension-size-sm,24px);>*{grid-column:1/-1;grid-row:1/-1;max-height:100%;max-width:100%}}.d5e0920cd15d35bc__sidebar-toggle-slot:empty{display:none}._60fea2f6bf5319cd__header-subtitle{color:var(--wpds-color-foreground-content-neutral-weak,#707070);padding-block-end:var(--wpds-dimension-padding-xs,4px)}.be5e57d029ec4036__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;&._128806d0b26e3a50__has-padding{padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px)}}"); } var style_default18 = { "page": "_956b6df0898efed0__page", "header": "_0625b55e82a0d93d__header", "header-content": "a43c44d5ae28b2e8__header-content", "header-actions": "b7cb5b9daf3a3b25__header-actions", "header-title": "_8113be94e7caf73c__header-title", "header-visual": "_9a776c7f70996f61__header-visual", "sidebar-toggle-slot": "d5e0920cd15d35bc__sidebar-toggle-slot", "header-subtitle": "_60fea2f6bf5319cd__header-subtitle", "content": "be5e57d029ec4036__content", "has-padding": "_128806d0b26e3a50__has-padding" }; function Page({ headingLevel, breadcrumbs, badges, visual, title, subTitle, children, className, actions, ariaLabel, hasPadding = false, showSidebarToggle = true }) { const classes = clsx_default(style_default18.page, className); const effectiveAriaLabel = ariaLabel ?? (typeof title === "string" ? title : ""); return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(navigable_region_default, { className: classes, ariaLabel: effectiveAriaLabel, children: [ (title || breadcrumbs || badges || actions || visual) && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)( Header, { headingLevel, breadcrumbs, badges, visual, title, subTitle, actions, showSidebarToggle } ), hasPadding ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)( "div", { className: clsx_default( style_default18.content, style_default18["has-padding"] ), children } ) : children ] }); } Page.SidebarToggleFill = SidebarToggleFill; var page_default = Page; // routes/connectors-home/stage.tsx var import_components4 = __toESM(require_components()); var import_data4 = __toESM(require_data()); var import_element34 = __toESM(require_element()); var import_i18n7 = __toESM(require_i18n()); var import_core_data3 = __toESM(require_core_data()); import { privateApis as connectorsPrivateApis2 } from "@wordpress/connectors"; // routes/lock-unlock/index.ts var import_private_apis2 = __toESM(require_private_apis()); var { lock: lock2, unlock: unlock2 } = (0, import_private_apis2.__dangerousOptInToUnstableAPIsOnlyForCoreModules)( "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.", "@wordpress/routes" ); // routes/connectors-home/style.scss if (typeof document !== "undefined" && true && !document.head.querySelector("style[data-wp-hash='09e9b056ea']")) { const style = document.createElement("style"); style.setAttribute("data-wp-hash", "09e9b056ea"); style.appendChild(document.createTextNode(".connectors-page{box-sizing:border-box;margin:0 auto;max-width:680px;padding:24px;width:100%}.connectors-page .components-item{background:#fff;border:1px solid #ddd;border-radius:8px;overflow:hidden;padding:20px;scroll-margin-top:120px}.connectors-page .connector-settings__error{color:#cc1818}.connectors-page .connector-settings .components-text-control__input{font-family:monospace;scroll-margin-top:120px}.connectors-page__file-mods-notice{margin-bottom:16px}.connectors-page--empty{align-items:center;display:flex;flex-direction:column;flex-grow:1;gap:32px;justify-content:center;text-align:center}.connectors-page .ai-plugin-callout{background-color:#e7d4e4;background-image:radial-gradient(ellipse 70% 120% at 18% 115%,rgba(202,158,198,.75) 0,rgba(202,158,198,0) 60%),radial-gradient(ellipse 55% 110% at 92% -15%,rgba(208,175,217,.7) 0,rgba(208,175,217,0) 65%),radial-gradient(ellipse 40% 85% at 58% -10%,rgba(170,130,184,.45) 0,rgba(170,130,184,0) 70%);border-radius:8px;overflow:hidden;padding:24px;padding-inline-end:150px;position:relative}[dir=rtl] .connectors-page .ai-plugin-callout{background-image:radial-gradient(ellipse 70% 120% at 82% 115%,rgba(202,158,198,.75) 0,rgba(202,158,198,0) 60%),radial-gradient(ellipse 55% 110% at 8% -15%,rgba(208,175,217,.7) 0,rgba(208,175,217,0) 65%),radial-gradient(ellipse 40% 85% at 42% -10%,rgba(170,130,184,.45) 0,rgba(170,130,184,0) 70%)}.connectors-page .ai-plugin-callout__content{align-items:flex-start;display:flex;flex-direction:column;gap:12px;padding-top:2px}.connectors-page .ai-plugin-callout__content p{font-size:13px;line-height:20px;margin:0}.connectors-page .ai-plugin-callout__decoration{height:110px;inset-inline-end:16px;position:absolute;top:12px;width:110px}.connectors-page>p{color:#949494}@media (max-width:680px){.connectors-page .ai-plugin-callout{padding:12px;padding-inline-end:100px}.connectors-page .ai-plugin-callout__decoration{height:75px;inset-inline-end:8px;top:8px;width:75px}}@media (max-width:480px){.connectors-page{padding:8px}.connectors-page .ai-plugin-callout{padding-inline-end:130px}.connectors-page .components-item{padding:12px}.connectors-page .components-item>.components-v-stack>.components-h-stack:first-child svg{height:32px;width:32px}.connectors-page .components-item>.components-v-stack>.components-h-stack:first-child>.components-h-stack:last-child{align-items:flex-end;flex-direction:column}}")); document.head.appendChild(style); } // routes/connectors-home/ai-plugin-callout.tsx var import_components3 = __toESM(require_components()); var import_core_data2 = __toESM(require_core_data()); var import_data3 = __toESM(require_data()); var import_element33 = __toESM(require_element()); var import_i18n6 = __toESM(require_i18n()); var import_notices2 = __toESM(require_notices()); var import_url = __toESM(require_url()); // routes/connectors-home/default-connectors.tsx var import_components2 = __toESM(require_components()); var import_element32 = __toESM(require_element()); var import_data2 = __toESM(require_data()); var import_i18n5 = __toESM(require_i18n()); import { __experimentalRegisterConnector as registerConnector, __experimentalConnectorItem as ConnectorItem, __experimentalDefaultConnectorSettings as DefaultConnectorSettings, __experimentalApplicationPasswordConnectorSettings as ApplicationPasswordConnectorSettings, privateApis as connectorsPrivateApis } from "@wordpress/connectors"; // routes/connectors-home/use-connector-plugin.ts var import_core_data = __toESM(require_core_data()); var import_data = __toESM(require_data()); var import_element31 = __toESM(require_element()); var import_i18n4 = __toESM(require_i18n()); var import_notices = __toESM(require_notices()); function useConnectorPlugin({ file: pluginFileFromServer, settingName, connectorName, isInstalled, isActivated, keySource = "none", initialIsConnected = false }) { const [isExpanded, setIsExpanded] = (0, import_element31.useState)(false); const [isBusy, setIsBusy] = (0, import_element31.useState)(false); const [connectedState, setConnectedState] = (0, import_element31.useState)(initialIsConnected); const [pluginStatusOverride, setPluginStatusOverride] = (0, import_element31.useState)(null); const pluginBasename = pluginFileFromServer?.replace(/\.php$/, ""); const pluginSlug = pluginBasename?.includes("/") ? pluginBasename.split("/")[0] : pluginBasename; const { derivedPluginStatus, canManagePlugins, currentApiKey, currentUsername, hasStoredCredentials, hasResolvedSettings, canInstallPlugins } = (0, import_data.useSelect)( (select2) => { const store2 = select2(import_core_data.store); const siteSettings = store2.getEntityRecord("root", "site"); const settingValue = siteSettings?.[settingName]; const apiKey = typeof settingValue === "string" ? settingValue : ""; const credentials = typeof settingValue === "object" && settingValue !== null ? settingValue : void 0; const credentialsExist = credentials !== void 0 ? !!credentials.username && !!credentials.password : !!apiKey; const settingsResolved = store2.hasFinishedResolution( "getEntityRecord", ["root", "site"] ); const canCreate = !!store2.canUser("create", { kind: "root", name: "plugin" }); const common = { currentApiKey: apiKey, currentUsername: credentials?.username ?? "", hasStoredCredentials: credentialsExist, hasResolvedSettings: settingsResolved, canInstallPlugins: canCreate }; if (!pluginFileFromServer) { return { ...common, derivedPluginStatus: settingsResolved ? "active" : "checking", canManagePlugins: void 0 }; } const plugin = store2.getEntityRecord( "root", "plugin", pluginBasename ); const hasFinished = store2.hasFinishedResolution( "getEntityRecord", ["root", "plugin", pluginBasename] ); if (!hasFinished) { return { ...common, derivedPluginStatus: "checking", canManagePlugins: void 0 }; } if (plugin) { const isPluginActive = plugin.status === "active" || plugin.status === "network-active"; return { ...common, derivedPluginStatus: isPluginActive ? "active" : "inactive", canManagePlugins: true }; } let status = "not-installed"; if (isActivated) { status = "active"; } else if (isInstalled) { status = "inactive"; } return { ...common, derivedPluginStatus: status, canManagePlugins: false }; }, [ pluginFileFromServer, pluginBasename, settingName, isInstalled, isActivated ] ); const pluginStatus = pluginStatusOverride ?? derivedPluginStatus; const canActivatePlugins = canManagePlugins; const isConnected = pluginStatus === "active" && connectedState || // After install/activate, if settings re-fetch reveals stored credentials, // update connected state (mirrors what the server would report on page load). pluginStatusOverride === "active" && hasStoredCredentials; const { saveEntityRecord, invalidateResolution } = (0, import_data.useDispatch)(import_core_data.store); const { createSuccessNotice, createErrorNotice } = (0, import_data.useDispatch)(import_notices.store); const saveConnectorSetting = (value) => saveEntityRecord( "root", "site", { [settingName]: value }, { throwOnError: true } ); const createConnectedNotice = () => { createSuccessNotice( (0, import_i18n4.sprintf)( /* translators: %s: Name of the connector (e.g. "OpenAI"). */ (0, import_i18n4.__)("%s connected successfully."), connectorName ), { id: "connector-connect-success", type: "snackbar" } ); }; const createDisconnectedNotice = () => { createSuccessNotice( (0, import_i18n4.sprintf)( /* translators: %s: Name of the connector (e.g. "OpenAI"). */ (0, import_i18n4.__)("%s disconnected."), connectorName ), { id: "connector-disconnect-success", type: "snackbar" } ); }; const createDisconnectErrorNotice = () => { createErrorNotice( (0, import_i18n4.sprintf)( /* translators: %s: Name of the connector (e.g. "OpenAI"). */ (0, import_i18n4.__)("Failed to disconnect %s."), connectorName ), { id: "connector-disconnect-error", type: "snackbar" } ); }; const installPlugin = async () => { if (!pluginSlug) { return; } setIsBusy(true); try { await saveEntityRecord( "root", "plugin", { slug: pluginSlug, status: "active" }, { throwOnError: true } ); setPluginStatusOverride("active"); invalidateResolution("getEntityRecord", ["root", "site"]); setIsExpanded(true); createSuccessNotice( (0, import_i18n4.sprintf)( /* translators: %s: Name of the connector (e.g. "OpenAI"). */ (0, import_i18n4.__)("Plugin for %s installed and activated successfully."), connectorName ), { id: "connector-plugin-install-success", type: "snackbar" } ); } catch { createErrorNotice( (0, import_i18n4.sprintf)( /* translators: %s: Name of the connector (e.g. "OpenAI"). */ (0, import_i18n4.__)("Failed to install plugin for %s."), connectorName ), { id: "connector-plugin-install-error", type: "snackbar" } ); } finally { setIsBusy(false); } }; const activatePlugin = async () => { if (!pluginFileFromServer) { return; } setIsBusy(true); try { await saveEntityRecord( "root", "plugin", { plugin: pluginBasename, status: "active" }, { throwOnError: true } ); setPluginStatusOverride("active"); invalidateResolution("getEntityRecord", ["root", "site"]); setIsExpanded(true); createSuccessNotice( (0, import_i18n4.sprintf)( /* translators: %s: Name of the connector (e.g. "OpenAI"). */ (0, import_i18n4.__)("Plugin for %s activated successfully."), connectorName ), { id: "connector-plugin-activate-success", type: "snackbar" } ); } catch { createErrorNotice( (0, import_i18n4.sprintf)( /* translators: %s: Name of the connector (e.g. "OpenAI"). */ (0, import_i18n4.__)("Failed to activate plugin for %s."), connectorName ), { id: "connector-plugin-activate-error", type: "snackbar" } ); } finally { setIsBusy(false); } }; const handleButtonClick = () => { if (pluginStatus === "not-installed") { if (canInstallPlugins === false) { return; } installPlugin(); } else if (pluginStatus === "inactive") { if (canActivatePlugins === false) { return; } activatePlugin(); } else { setIsExpanded(!isExpanded); } }; const getButtonLabel = () => { if (isBusy) { return pluginStatus === "not-installed" ? (0, import_i18n4.__)("Installing\u2026") : (0, import_i18n4.__)("Activating\u2026"); } if (isExpanded) { return (0, import_i18n4.__)("Cancel"); } if (isConnected) { return (0, import_i18n4.__)("Edit"); } switch (pluginStatus) { case "checking": return (0, import_i18n4.__)("Checking\u2026"); case "not-installed": return (0, import_i18n4.__)("Install"); case "inactive": return (0, import_i18n4.__)("Activate"); case "active": return (0, import_i18n4.__)("Set up"); } }; const saveApiKey = async (apiKey) => { const previousApiKey = currentApiKey; try { const updatedRecord = await saveConnectorSetting(apiKey); const record = updatedRecord; const returnedKey = record?.[settingName]; if (apiKey && (returnedKey === previousApiKey || !returnedKey)) { throw new Error( "It was not possible to connect to the provider using this key." ); } setConnectedState(true); createConnectedNotice(); } catch (error2) { console.error("Failed to save API key:", error2); throw error2; } }; const saveCredentials = async ({ username, applicationPassword }) => { try { const updatedRecord = await saveConnectorSetting({ username, password: applicationPassword }); const record = updatedRecord; const credentials = record?.[settingName]; if (!credentials?.username || !credentials?.password) { throw new Error( (0, import_i18n4.__)("It was not possible to save these credentials.") ); } setConnectedState(true); createConnectedNotice(); } catch (error2) { console.error("Failed to save credentials:", error2); throw error2; } }; const removeApiKey = async () => { try { await saveConnectorSetting(""); setConnectedState(false); createDisconnectedNotice(); } catch (error2) { console.error("Failed to remove API key:", error2); createDisconnectErrorNotice(); } }; const removeCredentials = async () => { try { await saveConnectorSetting({ username: "", password: "" }); setConnectedState(false); createDisconnectedNotice(); } catch (error2) { console.error("Failed to remove credentials:", error2); createDisconnectErrorNotice(); } }; return { pluginStatus, canInstallPlugins, canActivatePlugins, isExpanded, setIsExpanded, isBusy, isConnected, currentApiKey, currentUsername, hasResolvedSettings, keySource, handleButtonClick, getButtonLabel, saveApiKey, removeApiKey, saveCredentials, removeCredentials }; } // routes/connectors-home/logos.tsx var OpenAILogo = () => /* @__PURE__ */ React.createElement( "svg", { width: "40", height: "40", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, /* @__PURE__ */ React.createElement( "path", { d: "M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364l2.0201-1.1685a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.4043-.6813zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z", fill: "currentColor" } ) ); var ClaudeLogo = () => /* @__PURE__ */ React.createElement( "svg", { width: "40", height: "40", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, /* @__PURE__ */ React.createElement( "path", { d: "M6.2 21.024L12.416 17.536L12.52 17.232L12.416 17.064H12.112L11.072 17L7.52 16.904L4.44 16.776L1.456 16.616L0.704 16.456L0 15.528L0.072 15.064L0.704 14.64L1.608 14.72L3.608 14.856L6.608 15.064L8.784 15.192L12.008 15.528H12.52L12.592 15.32L12.416 15.192L12.28 15.064L9.176 12.96L5.816 10.736L4.056 9.456L3.104 8.808L2.624 8.2L2.416 6.872L3.28 5.92L4.44 6L4.736 6.08L5.912 6.984L8.424 8.928L11.704 11.344L12.184 11.744L12.376 11.608L12.4 11.512L12.184 11.152L10.4 7.928L8.496 4.648L7.648 3.288L7.424 2.472C7.344 2.136 7.288 1.856 7.288 1.512L8.272 0.176L8.816 0L10.128 0.176L10.68 0.656L11.496 2.52L12.816 5.456L14.864 9.448L15.464 10.632L15.784 11.728L15.904 12.064H16.112V11.872L16.28 9.624L16.592 6.864L16.896 3.312L17 2.312L17.496 1.112L18.48 0.464L19.248 0.832L19.88 1.736L19.792 2.32L19.416 4.76L18.68 8.584L18.2 11.144H18.48L18.8 10.824L20.096 9.104L22.272 6.384L23.232 5.304L24.352 4.112L25.072 3.544H26.432L27.432 5.032L26.984 6.568L25.584 8.344L24.424 9.848L22.76 12.088L21.72 13.88L21.816 14.024L22.064 14L25.824 13.2L27.856 12.832L30.28 12.416L31.376 12.928L31.496 13.448L31.064 14.512L28.472 15.152L25.432 15.76L20.904 16.832L20.848 16.872L20.912 16.952L22.952 17.144L23.824 17.192H25.96L29.936 17.488L30.976 18.176L31.6 19.016L31.496 19.656L29.896 20.472L27.736 19.96L22.696 18.76L20.968 18.328H20.728V18.472L22.168 19.88L24.808 22.264L28.112 25.336L28.28 26.096L27.856 26.696L27.408 26.632L24.504 24.448L23.384 23.464L20.848 21.328H20.68V21.552L21.264 22.408L24.352 27.048L24.512 28.472L24.288 28.936L23.488 29.216L22.608 29.056L20.8 26.52L18.936 23.664L17.432 21.104L17.248 21.208L16.36 30.768L15.944 31.256L14.984 31.624L14.184 31.016L13.76 30.032L14.184 28.088L14.696 25.552L15.112 23.536L15.488 21.032L15.712 20.2L15.696 20.144L15.512 20.168L13.624 22.76L10.752 26.64L8.48 29.072L7.936 29.288L6.992 28.8L7.08 27.928L7.608 27.152L10.752 23.152L12.648 20.672L13.872 19.24L13.864 19.032H13.792L5.44 24.456L3.952 24.648L3.312 24.048L3.392 23.064L3.696 22.744L6.208 21.016L6.2 21.024Z", fill: "#D97757" } ) ); var DefaultConnectorLogo = () => /* @__PURE__ */ React.createElement( "svg", { width: "40", height: "40", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, /* @__PURE__ */ React.createElement( "path", { d: "M0 4C0 1.79086 1.79086 0 4 0H28C30.2091 0 32 1.79086 32 4V28C32 30.2091 30.2091 32 28 32H4C1.79086 32 0 30.2091 0 28V4Z", fill: "#F0F0F0" } ), /* @__PURE__ */ React.createElement( "path", { d: "M14.5 8V12H17.5V8H19V12H20.5C20.7652 12 21.0196 12.1054 21.2071 12.2929C21.3946 12.4804 21.5 12.7348 21.5 13V17L18.5 21V23C18.5 23.2652 18.3946 23.5196 18.2071 23.7071C18.0196 23.8946 17.7652 24 17.5 24H14.5C14.2348 24 13.9804 23.8946 13.7929 23.7071C13.6054 23.5196 13.5 23.2652 13.5 23V21L10.5 17V13C10.5 12.7348 10.6054 12.4804 10.7929 12.2929C10.9804 12.1054 11.2348 12 11.5 12H13V8H14.5ZM15 20.5V22.5H17V20.5L20 16.5V13.5H12V16.5L15 20.5Z", fill: "#949494" } ) ); var AkismetLogo = () => /* @__PURE__ */ React.createElement( "svg", { width: "40", height: "40", viewBox: "0 0 44 44", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, /* @__PURE__ */ React.createElement("rect", { width: "44", height: "44", fill: "#357B49", rx: "6" }), /* @__PURE__ */ React.createElement( "path", { fill: "#fff", fillRule: "evenodd", d: "m29.746 28.31-6.392-16.797c-.152-.397-.305-.672-.789-.675-.673 0-1.408.611-1.746 1.316l-7.378 16.154c-.072.16-.143.311-.214.454-.5.995-1.045 1.546-2.357 1.626a.399.399 0 0 0-.16.033l-.01.004a.399.399 0 0 0-.23.392v.01c0 .054.01.106.03.155l.004.01a.416.416 0 0 0 .394.252h6.212a.417.417 0 0 0 .307-.12.416.416 0 0 0 .124-.305.398.398 0 0 0-.105-.302.399.399 0 0 0-.294-.127c-.757 0-2.197-.062-2.197-1.164.02-.318.103-.63.245-.916l1.399-3.152c.52-1.163 1.654-1.163 2.572-1.163h5.843c.023 0 .044 0 .062.003.13.014.16.081.214.242l1.534 4.07a2.857 2.857 0 0 1 .216 1.04c0 .054-.003.104-.01.153-.09.726-.831.887-1.49.887a.4.4 0 0 0-.294.127l-.007.008-.007.008a.401.401 0 0 0-.092.286v.01c0 .054.01.106.03.155l.005.01a.42.42 0 0 0 .395.252h7.011a.413.413 0 0 0 .279-.13.412.412 0 0 0 .11-.297.387.387 0 0 0-.09-.294.388.388 0 0 0-.277-.135c-1.448-.122-2.295-.643-2.847-2.08Zm-11.985-5.844 2.847-6.304c.361-.728.659-1.486.889-2.265 0-.06.03-.092.06-.092s.061.032.061.091c.02.122.045.247.073.374.197.888.584 1.878.914 2.723l.176.453 1.684 4.529a.927.927 0 0 1 .092.4.473.473 0 0 1-.009.094c-.041.202-.228.272-.602.272h-6.063c-.122 0-.184-.03-.184-.092a.36.36 0 0 1 .062-.183Zm17.107-.721c0 .786-.446 1.231-1.25 1.231-.806 0-1.125-.409-1.125-1.034 0-.786.465-1.231 1.25-1.231.785 0 1.125.427 1.125 1.034ZM9.629 23.002c.803 0 1.25-.447 1.25-1.231 0-.607-.343-1.036-1.128-1.036-.785 0-1.25.447-1.25 1.231 0 .625.325 1.036 1.128 1.036Z", clipRule: "evenodd" } ) ); var GeminiLogo = () => /* @__PURE__ */ React.createElement( "svg", { width: "40", height: "40", style: { flex: "none", lineHeight: 1 }, viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true" }, /* @__PURE__ */ React.createElement( "path", { d: "M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z", fill: "#3186FF" } ), /* @__PURE__ */ React.createElement( "path", { d: "M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z", fill: "url(#lobe-icons-gemini-fill-0)" } ), /* @__PURE__ */ React.createElement( "path", { d: "M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z", fill: "url(#lobe-icons-gemini-fill-1)" } ), /* @__PURE__ */ React.createElement( "path", { d: "M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z", fill: "url(#lobe-icons-gemini-fill-2)" } ), /* @__PURE__ */ React.createElement("defs", null, /* @__PURE__ */ React.createElement( "linearGradient", { gradientUnits: "userSpaceOnUse", id: "lobe-icons-gemini-fill-0", x1: "7", x2: "11", y1: "15.5", y2: "12" }, /* @__PURE__ */ React.createElement("stop", { stopColor: "#08B962" }), /* @__PURE__ */ React.createElement("stop", { offset: "1", stopColor: "#08B962", stopOpacity: "0" }) ), /* @__PURE__ */ React.createElement( "linearGradient", { gradientUnits: "userSpaceOnUse", id: "lobe-icons-gemini-fill-1", x1: "8", x2: "11.5", y1: "5.5", y2: "11" }, /* @__PURE__ */ React.createElement("stop", { stopColor: "#F94543" }), /* @__PURE__ */ React.createElement("stop", { offset: "1", stopColor: "#F94543", stopOpacity: "0" }) ), /* @__PURE__ */ React.createElement( "linearGradient", { gradientUnits: "userSpaceOnUse", id: "lobe-icons-gemini-fill-2", x1: "3.5", x2: "17.5", y1: "13.5", y2: "12" }, /* @__PURE__ */ React.createElement("stop", { stopColor: "#FABC12" }), /* @__PURE__ */ React.createElement("stop", { offset: ".46", stopColor: "#FABC12", stopOpacity: "0" }) )) ); // routes/connectors-home/default-connectors.tsx var { store: connectorsStore } = unlock2(connectorsPrivateApis); function getConnectorScriptModuleData() { try { return JSON.parse( document.getElementById( "wp-script-module-data-options-connectors-wp-admin" )?.textContent ?? "{}" ); } catch { return {}; } } function getConnectorData() { return getConnectorScriptModuleData().connectors ?? {}; } function getIsFileModDisabled() { return !!getConnectorScriptModuleData().isFileModDisabled; } var CONNECTOR_LOGOS = { google: GeminiLogo, openai: OpenAILogo, anthropic: ClaudeLogo, akismet: AkismetLogo }; function getConnectorLogo(connectorId, logoUrl) { if (logoUrl) { return /* @__PURE__ */ React.createElement("img", { src: logoUrl, alt: "", width: 40, height: 40 }); } const Logo = CONNECTOR_LOGOS[connectorId]; if (Logo) { return /* @__PURE__ */ React.createElement(Logo, null); } return /* @__PURE__ */ React.createElement(DefaultConnectorLogo, null); } var ConnectedBadge = () => /* @__PURE__ */ React.createElement( "span", { style: { color: "#345b37", backgroundColor: "#eff8f0", padding: "4px 12px", borderRadius: "2px", fontSize: "13px", fontWeight: "var(--wpds-typography-font-weight-emphasis)", whiteSpace: "nowrap" } }, (0, import_i18n5.__)("Connected") ); var PluginDirectoryLink = ({ slug }) => /* @__PURE__ */ React.createElement( Link, { href: (0, import_i18n5.sprintf)( /* translators: %s: plugin slug. */ (0, import_i18n5.__)("https://wordpress.org/plugins/%s/"), slug ), openInNewTab: true }, (0, import_i18n5.__)("Learn more") ); var UnavailableActionBadge = () => /* @__PURE__ */ React.createElement(Badge, null, (0, import_i18n5.__)("Not available")); function ConnectorActionArea({ isConnected, showUnavailableBadge, pluginSlug, isExpanded, isBusy, pluginStatus, actionButtonRef, handleButtonClick, getButtonLabel }) { return /* @__PURE__ */ React.createElement(import_components2.__experimentalHStack, { spacing: 3, expanded: false }, isConnected && /* @__PURE__ */ React.createElement(ConnectedBadge, null), showUnavailableBadge && (pluginSlug ? /* @__PURE__ */ React.createElement(PluginDirectoryLink, { slug: pluginSlug }) : /* @__PURE__ */ React.createElement(UnavailableActionBadge, null)), !showUnavailableBadge && /* @__PURE__ */ React.createElement( import_components2.Button, { ref: actionButtonRef, variant: isExpanded || isConnected ? "tertiary" : "secondary", size: "compact", onClick: handleButtonClick, disabled: pluginStatus === "checking" || isBusy, isBusy, accessibleWhenDisabled: true }, getButtonLabel() )); } function getPluginSlug(pluginFile) { const pluginBasename = pluginFile?.replace(/\.php$/, ""); return pluginBasename?.includes("/") ? pluginBasename.split("/")[0] : pluginBasename; } function ApiKeyConnector({ name, description, logo, authentication, plugin }) { const auth = authentication?.method === "api_key" ? authentication : void 0; const settingName = auth?.settingName ?? ""; const helpUrl = auth?.credentialsUrl ?? void 0; const pluginSlug = getPluginSlug(plugin?.file); const { pluginStatus, canInstallPlugins, canActivatePlugins, isExpanded, setIsExpanded, isBusy, isConnected, currentApiKey, hasResolvedSettings, keySource, handleButtonClick, getButtonLabel, saveApiKey, removeApiKey } = useConnectorPlugin({ file: plugin?.file, settingName, connectorName: name, isInstalled: plugin?.isInstalled, isActivated: plugin?.isActivated, keySource: auth?.keySource, initialIsConnected: auth?.isConnected }); const isExternallyConfigured = keySource === "env" || keySource === "constant"; const showUnavailableBadge = pluginStatus === "not-installed" && canInstallPlugins === false || pluginStatus === "inactive" && canActivatePlugins === false; const actionButtonRef = (0, import_element32.useRef)(null); return /* @__PURE__ */ React.createElement( ConnectorItem, { className: pluginSlug ? `connector-item--${pluginSlug}` : void 0, logo, name, description, actionArea: /* @__PURE__ */ React.createElement( ConnectorActionArea, { isConnected, showUnavailableBadge, pluginSlug, isExpanded, isBusy, pluginStatus, actionButtonRef, handleButtonClick, getButtonLabel } ) }, isExpanded && pluginStatus === "active" && hasResolvedSettings && /* @__PURE__ */ React.createElement( DefaultConnectorSettings, { key: isConnected ? "connected" : "setup", initialValue: isExternallyConfigured ? "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022" : currentApiKey, helpUrl, readOnly: isConnected || isExternallyConfigured, keySource, onRemove: isExternallyConfigured ? void 0 : async () => { await removeApiKey(); actionButtonRef.current?.focus(); }, onSave: async (apiKey) => { await saveApiKey(apiKey); setIsExpanded(false); actionButtonRef.current?.focus(); } } ) ); } function ApplicationPasswordConnector({ name, description, logo, authentication, plugin }) { const auth = authentication?.method === "application_password" ? authentication : void 0; const settingName = auth?.settingName ?? ""; const helpUrl = auth?.credentialsUrl ?? void 0; const pluginSlug = getPluginSlug(plugin?.file); const { pluginStatus, canInstallPlugins, canActivatePlugins, isExpanded, setIsExpanded, isBusy, isConnected, currentUsername, hasResolvedSettings, keySource, handleButtonClick, getButtonLabel, saveCredentials, removeCredentials } = useConnectorPlugin({ file: plugin?.file, settingName, connectorName: name, isInstalled: plugin?.isInstalled, isActivated: plugin?.isActivated, keySource: auth?.keySource, initialIsConnected: auth?.isConnected }); const isExternallyConfigured = keySource === "env" || keySource === "constant"; const actionButtonRef = (0, import_element32.useRef)(null); const showUnavailableBadge = pluginStatus === "not-installed" && canInstallPlugins === false || pluginStatus === "inactive" && canActivatePlugins === false; return /* @__PURE__ */ React.createElement( ConnectorItem, { className: pluginSlug ? `connector-item--${pluginSlug}` : void 0, logo, name, description, actionArea: /* @__PURE__ */ React.createElement( ConnectorActionArea, { isConnected, showUnavailableBadge, pluginSlug, isExpanded, isBusy, pluginStatus, actionButtonRef, handleButtonClick, getButtonLabel } ) }, isExpanded && pluginStatus === "active" && hasResolvedSettings && /* @__PURE__ */ React.createElement( ApplicationPasswordConnectorSettings, { key: isConnected ? "connected" : "setup", initialUsername: isExternallyConfigured ? "\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022" : currentUsername, helpUrl, readOnly: isConnected || isExternallyConfigured, keySource, onRemove: isExternallyConfigured ? void 0 : async () => { await removeCredentials(); actionButtonRef.current?.focus(); }, onSave: async (credentials) => { await saveCredentials(credentials); setIsExpanded(false); actionButtonRef.current?.focus(); } } ) ); } function registerDefaultConnectors() { const connectors = getConnectorData(); const sanitize = (s) => s.replace(/[^a-z0-9-_]/gi, "-"); for (const [connectorId, data] of Object.entries(connectors)) { if (connectorId === "akismet" && !data.plugin?.isInstalled) { continue; } const { authentication } = data; const connectorName = sanitize(connectorId); const args = { name: data.name, description: data.description, type: data.type, logo: getConnectorLogo(connectorId, data.logoUrl), authentication, plugin: data.plugin }; const existing = unlock2((0, import_data2.select)(connectorsStore)).getConnector( connectorName ); if (authentication.method === "api_key" && !existing?.render) { args.render = ApiKeyConnector; } else if (authentication.method === "application_password" && !existing?.render) { args.render = ApplicationPasswordConnector; } registerConnector(connectorName, args); } } // routes/connectors-home/wp-logo-decoration.tsx function WpLogoDecoration() { return /* @__PURE__ */ React.createElement("div", { className: "ai-plugin-callout__decoration", "aria-hidden": "true" }, /* @__PURE__ */ React.createElement( "svg", { viewBox: "0 0 248 248", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", focusable: "false", style: { width: "100%", height: "100%" } }, /* @__PURE__ */ React.createElement( "image", { href: "data:image/png;base64,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", width: "248", height: "248", style: { mixBlendMode: "multiply" } } ) )); } // routes/connectors-home/ai-plugin-callout.tsx var AI_PLUGIN_SLUG = "ai"; var AI_PLUGIN_PAGE_SLUG = "ai-wp-admin"; var AI_PLUGIN_ID = "ai/ai"; var AI_PLUGIN_URL = "https://wordpress.org/plugins/ai/"; var connectorDataValues = Object.values(getConnectorData()); var hasAiProviders = connectorDataValues.some( (c) => c.type === "ai_provider" ); var aiProviderSettingNames = []; for (const c of connectorDataValues) { if (c.type === "ai_provider" && c.authentication.method === "api_key") { aiProviderSettingNames.push(c.authentication.settingName); } } function AiPluginCallout() { const [isBusy, setIsBusy] = (0, import_element33.useState)(false); const [justActivated, setJustActivated] = (0, import_element33.useState)(false); const actionButtonRef = (0, import_element33.useRef)(null); (0, import_element33.useEffect)(() => { if (justActivated) { actionButtonRef.current?.focus(); } }, [justActivated]); const initialHasConnectedProvider = (0, import_element33.useRef)( connectorDataValues.some( (c) => c.type === "ai_provider" && c.authentication.method === "api_key" && c.authentication.isConnected ) ).current; const { pluginStatus, canInstallPlugins, canManagePlugins, hasConnectedProvider } = (0, import_data3.useSelect)((select2) => { const store2 = select2(import_core_data2.store); const canCreate = !!store2.canUser("create", { kind: "root", name: "plugin" }); const siteSettings = store2.getEntityRecord("root", "site"); const hasConnected = initialHasConnectedProvider || aiProviderSettingNames.some( (name) => !!siteSettings?.[name] ); const plugin = store2.getEntityRecord( "root", "plugin", AI_PLUGIN_ID ); const hasFinished = store2.hasFinishedResolution("getEntityRecord", [ "root", "plugin", AI_PLUGIN_ID ]); if (!hasFinished) { return { pluginStatus: "checking", canInstallPlugins: canCreate, canManagePlugins: void 0, hasConnectedProvider: hasConnected }; } if (!plugin) { return { pluginStatus: "not-installed", canInstallPlugins: canCreate, canManagePlugins: canCreate, hasConnectedProvider: hasConnected }; } return { pluginStatus: plugin.status === "active" ? "active" : "inactive", canInstallPlugins: canCreate, canManagePlugins: true, hasConnectedProvider: hasConnected }; }, []); const { saveEntityRecord } = (0, import_data3.useDispatch)(import_core_data2.store); const { createSuccessNotice, createErrorNotice } = (0, import_data3.useDispatch)(import_notices2.store); const installPlugin = async () => { setIsBusy(true); try { await saveEntityRecord( "root", "plugin", { slug: AI_PLUGIN_SLUG, status: "active" }, { throwOnError: true } ); setJustActivated(true); createSuccessNotice( (0, import_i18n6.__)("AI plugin installed and activated successfully."), { id: "ai-plugin-install-success", type: "snackbar" } ); } catch { createErrorNotice((0, import_i18n6.__)("Failed to install the AI plugin."), { id: "ai-plugin-install-error", type: "snackbar" }); } finally { setIsBusy(false); } }; const activatePlugin = async () => { setIsBusy(true); try { await saveEntityRecord( "root", "plugin", { plugin: AI_PLUGIN_ID, status: "active" }, { throwOnError: true } ); setJustActivated(true); createSuccessNotice((0, import_i18n6.__)("AI plugin activated successfully."), { id: "ai-plugin-activate-success", type: "snackbar" }); } catch { createErrorNotice((0, import_i18n6.__)("Failed to activate the AI plugin."), { id: "ai-plugin-activate-error", type: "snackbar" }); } finally { setIsBusy(false); } }; if (!hasAiProviders) { return null; } if (pluginStatus === "checking") { return null; } if (pluginStatus === "active" && initialHasConnectedProvider && !justActivated) { return null; } if (pluginStatus === "inactive" && canManagePlugins === false) { return null; } const isActiveNoProvider = pluginStatus === "active" && !hasConnectedProvider; const isJustConnected = pluginStatus === "active" && hasConnectedProvider && (!initialHasConnectedProvider || justActivated); const showInstallActivate = pluginStatus === "not-installed" || pluginStatus === "inactive"; const hideButtons = pluginStatus === "not-installed" && canInstallPlugins === false; const getMessage = () => { if (isJustConnected) { return (0, import_i18n6.__)( "The <strong>AI plugin</strong> is ready to use. You can use it to generate featured images, alt text, titles, excerpts and more. <a>Learn more</a>" ); } if (isActiveNoProvider) { return (0, import_i18n6.__)( "The <strong>AI plugin</strong> is installed. Connect an AI provider below to generate featured images, alt text, titles, excerpts, and more. <a>Learn more</a>" ); } return (0, import_i18n6.__)( "The <strong>AI plugin</strong> can use your AI connectors to generate featured images, alt text, titles, excerpts and more. <a>Learn more</a>" ); }; const getPrimaryButtonProps = () => { if (pluginStatus === "not-installed") { return { label: isBusy ? (0, import_i18n6.__)("Installing\u2026") : (0, import_i18n6.__)("Install the AI plugin"), disabled: isBusy, onClick: isBusy ? void 0 : installPlugin }; } return { label: isBusy ? (0, import_i18n6.__)("Activating\u2026") : (0, import_i18n6.__)("Activate the AI plugin"), disabled: isBusy, onClick: isBusy ? void 0 : activatePlugin }; }; return /* @__PURE__ */ React.createElement("div", { className: "ai-plugin-callout" }, /* @__PURE__ */ React.createElement("div", { className: "ai-plugin-callout__content" }, /* @__PURE__ */ React.createElement("p", null, (0, import_element33.createInterpolateElement)(getMessage(), { strong: /* @__PURE__ */ React.createElement("strong", null), // @ts-ignore children are injected by createInterpolateElement at runtime. a: /* @__PURE__ */ React.createElement(import_components3.ExternalLink, { href: AI_PLUGIN_URL }) })), !hideButtons && (showInstallActivate ? /* @__PURE__ */ React.createElement( import_components3.Button, { variant: "primary", size: "compact", isBusy, disabled: getPrimaryButtonProps().disabled, accessibleWhenDisabled: true, onClick: getPrimaryButtonProps().onClick }, getPrimaryButtonProps().label ) : /* @__PURE__ */ React.createElement( import_components3.Button, { ref: actionButtonRef, variant: "secondary", size: "compact", href: (0, import_url.addQueryArgs)("options-general.php", { page: AI_PLUGIN_PAGE_SLUG }) }, (0, import_i18n6.__)("Control features in the AI plugin") ))), /* @__PURE__ */ React.createElement(WpLogoDecoration, null)); } // routes/connectors-home/stage.tsx var { store } = unlock2(connectorsPrivateApis2); registerDefaultConnectors(); function ConnectorsPage() { const isFileModDisabled = getIsFileModDisabled(); const { connectors, canInstallPlugins, isAiPluginInstalled } = (0, import_data4.useSelect)( (select2) => { const coreSelect = select2(import_core_data3.store); const aiPlugin = coreSelect.getEntityRecord( "root", "plugin", "ai/ai" ); return { connectors: unlock2(select2(store)).getConnectors(), canInstallPlugins: coreSelect.canUser("create", { kind: "root", name: "plugin" }), isAiPluginInstalled: !!aiPlugin }; }, [] ); const renderableConnectors = connectors.filter( (connector) => connector.render ); const aiProviderPluginSlugs = Array.from( new Set( connectors.filter( (connector) => connector.type === "ai_provider" ).map( (connector) => connector.plugin?.file?.split("/")[0] ).filter((slug) => !!slug) ) ).sort(); const installedPluginSlugs = new Set( connectors.filter( (connector) => connector.plugin?.isInstalled ).map( (connector) => connector.plugin?.file?.split("/")[0] ).filter((slug) => !!slug) ); if (isAiPluginInstalled) { installedPluginSlugs.add("ai"); } const manualInstallPluginSlugs = ["ai", ...aiProviderPluginSlugs].filter( (slug) => !installedPluginSlugs.has(slug) ); const isEmpty = renderableConnectors.length === 0; return /* @__PURE__ */ React.createElement( page_default, { title: (0, import_i18n7.__)("Connectors"), subTitle: (0, import_i18n7.__)( "All of your API keys and credentials are stored here and shared across plugins. Configure once and use everywhere." ) }, /* @__PURE__ */ React.createElement( "div", { className: `connectors-page${isEmpty ? " connectors-page--empty" : ""}` }, manualInstallPluginSlugs.length > 0 && (isFileModDisabled || !canInstallPlugins) && /* @__PURE__ */ React.createElement( notice_exports.Root, { intent: "info", className: "connectors-page__file-mods-notice" }, /* @__PURE__ */ React.createElement(notice_exports.Description, null, isFileModDisabled ? (0, import_i18n7.__)( "Plugins cannot be installed here due to your site configuration. Install them manually using your normal deployment workflow." ) : (0, import_i18n7.__)( "You do not have permission to install plugins. Please ask a site administrator to install them for you." )) ), isEmpty ? /* @__PURE__ */ React.createElement( import_components4.__experimentalVStack, { alignment: "center", spacing: 3, style: { maxWidth: 480 } }, /* @__PURE__ */ React.createElement(import_components4.__experimentalVStack, { alignment: "center", spacing: 2 }, /* @__PURE__ */ React.createElement(import_components4.__experimentalHeading, { level: 2, size: 15 }, (0, import_i18n7.__)("No connectors yet")), /* @__PURE__ */ React.createElement(import_components4.__experimentalText, { size: 12 }, (0, import_i18n7.__)( "Connectors appear here when you install plugins that use external services. Each plugin registers the API keys it needs, and you manage them all in one place." ))), /* @__PURE__ */ React.createElement( import_components4.Button, { variant: "secondary", href: "plugin-install.php", __next40pxDefaultSize: true }, (0, import_i18n7.__)("Learn more") ) ) : /* @__PURE__ */ React.createElement(import_components4.__experimentalVStack, { spacing: 3 }, /* @__PURE__ */ React.createElement(AiPluginCallout, null), /* @__PURE__ */ React.createElement(import_components4.__experimentalVStack, { spacing: 3, role: "list" }, connectors.map( (connector) => { if (connector.render) { return /* @__PURE__ */ React.createElement( connector.render, { key: connector.slug, slug: connector.slug, name: connector.name, description: connector.description, type: connector.type, logo: connector.logo, authentication: connector.authentication, plugin: connector.plugin } ); } return null; } ))), canInstallPlugins && !isFileModDisabled && /* @__PURE__ */ React.createElement("p", null, (0, import_element34.createInterpolateElement)( (0, import_i18n7.__)( "If the connector you need is not listed, <a>search the plugin directory</a> to see if a connector is available." ), { a: ( // eslint-disable-next-line jsx-a11y/anchor-has-content /* @__PURE__ */ React.createElement("a", { href: "plugin-install.php?s=connector&tab=search&type=tag" }) ) } )) ) ); } function Stage() { return /* @__PURE__ */ React.createElement(ConnectorsPage, null); } var stage = Stage; export { stage }; /*! Bundled license information: use-sync-external-store/cjs/use-sync-external-store-shim.development.js: (** * @license React * use-sync-external-store-shim.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *) use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js: (** * @license React * use-sync-external-store-shim/with-selector.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *) */ connectors-home/route.js 0000775 00000004341 00000000000 0011313 0 ustar 00 var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); // package-external:@wordpress/core-data var require_core_data = __commonJS({ "package-external:@wordpress/core-data"(exports, module) { module.exports = window.wp.coreData; } }); // package-external:@wordpress/data var require_data = __commonJS({ "package-external:@wordpress/data"(exports, module) { module.exports = window.wp.data; } }); // package-external:@wordpress/i18n var require_i18n = __commonJS({ "package-external:@wordpress/i18n"(exports, module) { module.exports = window.wp.i18n; } }); // routes/connectors-home/route.ts var import_core_data = __toESM(require_core_data()); var import_data = __toESM(require_data()); var import_i18n = __toESM(require_i18n()); var route = { title: () => (0, import_i18n.__)("Connectors"), loader: async () => { await (0, import_data.resolveSelect)(import_core_data.store).canUser("create", { kind: "root", name: "plugin" }); } }; export { route }; connectors-home/route.min.asset.php 0000775 00000000167 00000000000 0013370 0 ustar 00 <?php return array('dependencies' => array('wp-core-data', 'wp-data', 'wp-i18n'), 'version' => 'f3b33cd01621a8692a0f'); connectors-home/content.min.js 0000775 00000766455 00000000000 0012436 0 ustar 00 var wf=Object.create;var _r=Object.defineProperty;var vf=Object.getOwnPropertyDescriptor;var _f=Object.getOwnPropertyNames;var yf=Object.getPrototypeOf,xf=Object.prototype.hasOwnProperty;var Re=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),At=(e,t)=>{for(var o in t)_r(e,o,{get:t[o],enumerable:!0})},Rf=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of _f(t))!xf.call(e,r)&&r!==o&&_r(e,r,{get:()=>t[r],enumerable:!(n=vf(t,r))||n.enumerable});return e};var h=(e,t,o)=>(o=e!=null?wf(yf(e)):{},Rf(t||!e||!e.__esModule?_r(o,"default",{value:e,enumerable:!0}):o,e));var Ot=Re((g0,Gs)=>{Gs.exports=window.wp.i18n});var de=Re((h0,Ks)=>{Ks.exports=window.wp.element});var z=Re((w0,qs)=>{qs.exports=window.React});var Q=Re((E0,$s)=>{$s.exports=window.ReactJSXRuntime});var Mt=Re((Ah,Ta)=>{Ta.exports=window.ReactDOM});var Mc=Re(Ic=>{"use strict";var wo=z();function Tm(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var km=typeof Object.is=="function"?Object.is:Tm,Pm=wo.useState,Cm=wo.useEffect,Am=wo.useLayoutEffect,Om=wo.useDebugValue;function Nm(e,t){var o=t(),n=Pm({inst:{value:o,getSnapshot:t}}),r=n[0].inst,i=n[1];return Am(function(){r.value=o,r.getSnapshot=t,ri(r)&&i({inst:r})},[e,o,t]),Cm(function(){return ri(r)&&i({inst:r}),e(function(){ri(r)&&i({inst:r})})},[e]),Om(o),o}function ri(e){var t=e.getSnapshot;e=e.value;try{var o=t();return!km(e,o)}catch{return!0}}function Lm(e,t){return t()}var Im=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?Lm:Nm;Ic.useSyncExternalStore=wo.useSyncExternalStore!==void 0?wo.useSyncExternalStore:Im});var ii=Re((w1,Bc)=>{"use strict";Bc.exports=Mc()});var zc=Re(Hc=>{"use strict";var Dn=z(),Mm=ii();function Bm(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Hm=typeof Object.is=="function"?Object.is:Bm,zm=Mm.useSyncExternalStore,Dm=Dn.useRef,jm=Dn.useEffect,Fm=Dn.useMemo,Vm=Dn.useDebugValue;Hc.useSyncExternalStoreWithSelector=function(e,t,o,n,r){var i=Dm(null);if(i.current===null){var s={hasValue:!1,value:null};i.current=s}else s=i.current;i=Fm(function(){function d(m){if(!c){if(c=!0,l=m,m=n(m),r!==void 0&&s.hasValue){var u=s.value;if(r(u,m))return f=u}return f=m}if(u=f,Hm(l,m))return u;var g=n(m);return r!==void 0&&r(u,g)?(l=m,u):(l=m,f=g)}var c=!1,l,f,p=o===void 0?null:o;return[function(){return d(t())},p===null?void 0:function(){return d(p())}]},[t,o,n,r]);var a=zm(e,i[0],i[1]);return jm(function(){s.hasValue=!0,s.value=a},[a]),Vm(a),a}});var jc=Re((_1,Dc)=>{"use strict";Dc.exports=zc()});var $t=Re((X2,md)=>{md.exports=window.wp.primitives});var Rd=Re((g4,xd)=>{xd.exports=window.wp.theme});var Qi=Re((b4,Sd)=>{Sd.exports=window.wp.privateApis});var on=Re((q5,Au)=>{Au.exports=window.wp.components});var rn=Re((a3,zu)=>{zu.exports=window.wp.data});var mr=Re((c3,Du)=>{Du.exports=window.wp.coreData});var Hs=Re((u3,Fu)=>{Fu.exports=window.wp.notices});var Wu=Re((f3,Vu)=>{Vu.exports=window.wp.url});function Xs(e){var t,o,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var r=e.length;for(t=0;t<r;t++)e[t]&&(o=Xs(e[t]))&&(n&&(n+=" "),n+=o)}else for(o in e)e[o]&&(n&&(n+=" "),n+=o);return n}function Sf(){for(var e,t,o=0,n="",r=arguments.length;o<r;o++)(e=arguments[o])&&(t=Xs(e))&&(n&&(n+=" "),n+=t);return n}var $=Sf;var ad=h(de(),1);var Ef=h(z(),1),Mo={...Ef};var Qs=h(z(),1),Zs={};function Se(e,t){let o=Qs.useRef(Zs);return o.current===Zs&&(o.current=e(t)),o}var yr=Mo.useInsertionEffect,Tf=yr&&yr!==Mo.useLayoutEffect?yr:e=>e();function Y(e){let t=Se(kf).current;return t.next=e,Tf(t.effect),t.trampoline}function kf(){let e={next:void 0,callback:Pf,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function Pf(){}var Js=h(z(),1),Cf=()=>{},D=typeof document<"u"?Js.useLayoutEffect:Cf;var hn=h(z(),1),Af=hn.createContext(void 0);function so(){return hn.useContext(Af)?.direction??"ltr"}function Of(e,t){return function(n,...r){let i=new URL(e);return i.searchParams.set("code",n.toString()),r.forEach(s=>i.searchParams.append("args[]",s)),`${t} error #${n}; visit ${i} for the full message.`}}var Nf=Of("https://base-ui.com/production-error","Base UI"),Pe=Nf;var Wt=h(z(),1);function xr(e,t,o,n){let r=Se(ta).current;return Lf(r,e,t,o,n)&&oa(r,[e,t,o,n]),r.callback}function ea(e){let t=Se(ta).current;return If(t,e)&&oa(t,e),t.callback}function ta(){return{callback:null,cleanup:null,refs:[]}}function Lf(e,t,o,n,r){return e.refs[0]!==t||e.refs[1]!==o||e.refs[2]!==n||e.refs[3]!==r}function If(e,t){return e.refs.length!==t.length||e.refs.some((o,n)=>o!==t[n])}function oa(e,t){if(e.refs=t,t.every(o=>o==null)){e.callback=null;return}e.callback=o=>{if(e.cleanup&&(e.cleanup(),e.cleanup=null),o!=null){let n=Array(t.length).fill(null);for(let r=0;r<t.length;r+=1){let i=t[r];if(i!=null)switch(typeof i){case"function":{let s=i(o);typeof s=="function"&&(n[r]=s);break}case"object":{i.current=o;break}default:}}e.cleanup=()=>{for(let r=0;r<t.length;r+=1){let i=t[r];if(i!=null)switch(typeof i){case"function":{let s=n[r];typeof s=="function"?s():i(null);break}case"object":{i.current=null;break}default:}}}}}}var ra=h(z(),1);var na=h(z(),1),Mf=parseInt(na.version,10);function ao(e){return Mf>=e}function Rr(e){if(!ra.isValidElement(e))return null;let t=e,o=t.props;return(ao(19)?o?.ref:t.ref)??null}function Bo(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t}}function Nt(){}var I0=Object.freeze([]),be=Object.freeze({});function ia(e,t){let o={};for(let n in e){let r=e[n];if(t?.hasOwnProperty(n)){let i=t[n](r);i!=null&&Object.assign(o,i);continue}r===!0?o[`data-${n.toLowerCase()}`]="":r&&(o[`data-${n.toLowerCase()}`]=r.toString())}return o}function sa(e,t){return typeof e=="function"?e(t):e}function aa(e,t){return typeof e=="function"?e(t):e}var Sr={};function ye(e,t,o,n,r){if(!o&&!n&&!r&&!e)return wn(t);let i=wn(e);return t&&(i=Ho(i,t)),o&&(i=Ho(i,o)),n&&(i=Ho(i,n)),r&&(i=Ho(i,r)),i}function ca(e){if(e.length===0)return Sr;if(e.length===1)return wn(e[0]);let t=wn(e[0]);for(let o=1;o<e.length;o+=1)t=Ho(t,e[o]);return t}function wn(e){return Er(e)?{...da(e,Sr)}:Bf(e)}function Ho(e,t){return Er(t)?da(t,e):Hf(e,t)}function Bf(e){let t={...e};for(let o in t){let n=t[o];la(o,n)&&(t[o]=ua(n))}return t}function Hf(e,t){if(!t)return e;for(let o in t){let n=t[o];switch(o){case"style":{e[o]=Bo(e.style,n);break}case"className":{e[o]=Tr(e.className,n);break}default:la(o,n)?e[o]=zf(e[o],n):e[o]=n}}return e}function la(e,t){let o=e.charCodeAt(0),n=e.charCodeAt(1),r=e.charCodeAt(2);return o===111&&n===110&&r>=65&&r<=90&&(typeof t=="function"||typeof t>"u")}function Er(e){return typeof e=="function"}function da(e,t){return Er(e)?e(t):e??Sr}function zf(e,t){return t?e?(...o)=>{let n=o[0];if(fa(n)){let i=n;zo(i);let s=t(...o);return i.baseUIHandlerPrevented||e?.(...o),s}let r=t(...o);return e?.(...o),r}:ua(t):e}function ua(e){return e&&((...t)=>{let o=t[0];return fa(o)&&zo(o),e(...t)})}function zo(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function Tr(e,t){return t?e?t+" "+e:t:e}function fa(e){return e!=null&&typeof e=="object"&&"nativeEvent"in e}var kr=h(z(),1);function Ce(e,t,o={}){let n=t.render,r=Df(t,o);if(o.enabled===!1)return null;let i=o.state??be;return Vf(e,n,r,i)}function Df(e,t={}){let{className:o,style:n,render:r}=e,{state:i=be,ref:s,props:a,stateAttributesMapping:d,enabled:c=!0}=t,l=c?sa(o,i):void 0,f=c?aa(n,i):void 0,p=c?ia(i,d):be,m=c&&a?jf(a):void 0,u=c?Bo(p,m)??{}:be;return typeof document<"u"&&(c?Array.isArray(s)?u.ref=ea([u.ref,Rr(r),...s]):u.ref=xr(u.ref,Rr(r),s):xr(null,null)),c?(l!==void 0&&(u.className=Tr(u.className,l)),f!==void 0&&(u.style=Bo(u.style,f)),u):be}function jf(e){return Array.isArray(e)?ca(e):ye(void 0,e)}var Ff=Symbol.for("react.lazy");function Vf(e,t,o,n){if(t){if(typeof t=="function")return t(o,n);let r=ye(o,t.props);r.ref=o.ref;let i=t;return i?.$$typeof===Ff&&(i=Wt.Children.toArray(t)[0]),Wt.cloneElement(i,r)}if(e&&typeof e=="string")return Wf(e,o);throw new Error(Pe(8))}function Wf(e,t){return e==="button"?(0,kr.createElement)("button",{type:"button",...t,key:t.key}):e==="img"?(0,kr.createElement)("img",{alt:"",...t,key:t.key}):Wt.createElement(e,t)}var vn=h(z(),1);var pa=0;function Yf(e,t="mui"){let[o,n]=vn.useState(e),r=e||o;return vn.useEffect(()=>{o==null&&(pa+=1,n(`${t}-${pa}`))},[o,t]),r}var ma=Mo.useId;function Lt(e,t){if(ma!==void 0){let o=ma();return e??(t?`${t}-${o}`:o)}return Yf(e,t)}function ga(e){return Lt(e,"base-ui")}var U={};At(U,{cancelOpen:()=>wp,chipRemovePress:()=>ep,clearPress:()=>$f,closePress:()=>Qf,closeWatcher:()=>up,decrementPress:()=>np,disabled:()=>_p,drag:()=>gp,escapeKey:()=>dp,focusOut:()=>lp,imperativeAction:()=>Rp,incrementPress:()=>op,initial:()=>xp,inputBlur:()=>sp,inputChange:()=>rp,inputClear:()=>ip,inputPaste:()=>ap,inputPress:()=>cp,itemPress:()=>Zf,keyboard:()=>pp,linkPress:()=>Jf,listNavigation:()=>fp,missing:()=>yp,none:()=>Uf,outsidePress:()=>qf,pointer:()=>mp,scrub:()=>hp,siblingOpen:()=>vp,swipe:()=>Sp,trackPress:()=>tp,triggerFocus:()=>Kf,triggerHover:()=>Xf,triggerPress:()=>Gf,wheel:()=>bp,windowResize:()=>Ep});var Uf="none",Gf="trigger-press",Xf="trigger-hover",Kf="trigger-focus",qf="outside-press",Zf="item-press",Qf="close-press",Jf="link-press",$f="clear-press",ep="chip-remove-press",tp="track-press",op="increment-press",np="decrement-press",rp="input-change",ip="input-clear",sp="input-blur",ap="input-paste",cp="input-press",lp="focus-out",dp="escape-key",up="close-watcher",fp="list-navigation",pp="keyboard",mp="pointer",gp="drag",bp="wheel",hp="scrub",wp="cancel-open",vp="sibling-open",_p="disabled",yp="missing",xp="initial",Rp="imperative-action",Sp="swipe",Ep="window-resize";function ee(e,t,o,n){let r=!1,i=!1,s=n??be;return{reason:e,event:t??new Event("base-ui"),cancel(){r=!0},allowPropagation(){i=!0},get isCanceled(){return r},get isPropagationAllowed(){return i},trigger:o,...s}}var Cr=h(z(),1);var ba=h(z(),1),Tp=[];function co(e){ba.useEffect(e,Tp)}var _n=null,ah=globalThis.requestAnimationFrame,Pr=class{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=t=>{this.isScheduled=!1;let o=this.callbacks,n=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,n>0)for(let r=0;r<o.length;r+=1)o[r]?.(t)};request(t){let o=this.nextId;return this.nextId+=1,this.callbacks.push(t),this.callbacksCount+=1,!this.isScheduled&&(requestAnimationFrame(this.tick),this.isScheduled=!0),o}cancel(t){let o=t-this.startId;o<0||o>=this.callbacks.length||(this.callbacks[o]=null,this.callbacksCount-=1)}},yn=new Pr,ft=class e{static create(){return new e}static request(t){return yn.request(t)}static cancel(t){return yn.cancel(t)}currentId=_n;request(t){this.cancel(),this.currentId=yn.request(()=>{this.currentId=_n,t()})}cancel=()=>{this.currentId!==_n&&(yn.cancel(this.currentId),this.currentId=_n)};disposeEffect=()=>this.cancel};function lo(){let e=Se(ft.create).current;return co(e.disposeEffect),e}function ha(e,t=!1,o=!1){let[n,r]=Cr.useState(e&&t?"idle":void 0),[i,s]=Cr.useState(e);return e&&!i&&(s(!0),r("starting")),!e&&i&&n!=="ending"&&!o&&r("ending"),!e&&!i&&n==="ending"&&r(void 0),D(()=>{if(!e&&i&&n!=="ending"&&o){let a=ft.request(()=>{r("ending")});return()=>{ft.cancel(a)}}},[e,i,n,o]),D(()=>{if(!e||t)return;let a=ft.request(()=>{r(void 0)});return()=>{ft.cancel(a)}},[t,e]),D(()=>{if(!e||!t)return;e&&i&&n!=="idle"&&r("starting");let a=ft.request(()=>{r("idle")});return()=>{ft.cancel(a)}},[t,e,i,n]),{mounted:i,setMounted:s,transitionStatus:n}}var Yt=(function(e){return e.startingStyle="data-starting-style",e.endingStyle="data-ending-style",e})({}),kp={[Yt.startingStyle]:""},Pp={[Yt.endingStyle]:""},wa={transitionStatus(e){return e==="starting"?kp:e==="ending"?Pp:null}};var po=h(z(),1);function xn(){return typeof window<"u"}function Gt(e){return Rn(e)?(e.nodeName||"").toLowerCase():"#document"}function ge(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function ot(e){var t;return(t=(Rn(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Rn(e){return xn()?e instanceof Node||e instanceof ge(e).Node:!1}function V(e){return xn()?e instanceof Element||e instanceof ge(e).Element:!1}function we(e){return xn()?e instanceof HTMLElement||e instanceof ge(e).HTMLElement:!1}function uo(e){return!xn()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof ge(e).ShadowRoot}function fo(e){let{overflow:t,overflowX:o,overflowY:n,display:r}=Ae(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+o)&&r!=="inline"&&r!=="contents"}function va(e){return/^(table|td|th)$/.test(Gt(e))}function Do(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var Cp=/transform|translate|scale|rotate|perspective|filter/,Ap=/paint|layout|strict|content/,Ut=e=>!!e&&e!=="none",Ar;function Sn(e){let t=V(e)?Ae(e):e;return Ut(t.transform)||Ut(t.translate)||Ut(t.scale)||Ut(t.rotate)||Ut(t.perspective)||!En()&&(Ut(t.backdropFilter)||Ut(t.filter))||Cp.test(t.willChange||"")||Ap.test(t.contain||"")}function _a(e){let t=tt(e);for(;we(t)&&!nt(t);){if(Sn(t))return t;if(Do(t))return null;t=tt(t)}return null}function En(){return Ar==null&&(Ar=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ar}function nt(e){return/^(html|body|#document)$/.test(Gt(e))}function Ae(e){return ge(e).getComputedStyle(e)}function jo(e){return V(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function tt(e){if(Gt(e)==="html")return e;let t=e.assignedSlot||e.parentNode||uo(e)&&e.host||ot(e);return uo(t)?t.host:t}function ya(e){let t=tt(e);return nt(t)?e.ownerDocument?e.ownerDocument.body:e.body:we(t)&&fo(t)?t:ya(t)}function It(e,t,o){var n;t===void 0&&(t=[]),o===void 0&&(o=!0);let r=ya(e),i=r===((n=e.ownerDocument)==null?void 0:n.body),s=ge(r);if(i){let a=Tn(s);return t.concat(s,s.visualViewport||[],fo(r)?r:[],a&&o?It(a):[])}else return t.concat(r,It(r,[],o))}function Tn(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var kn=h(z(),1),Op=kn.createContext(void 0);function xa(e=!1){let t=kn.useContext(Op);if(t===void 0&&!e)throw new Error(Pe(16));return t}var Ra=h(z(),1);function Sa(e){let{focusableWhenDisabled:t,disabled:o,composite:n=!1,tabIndex:r=0,isNativeButton:i}=e,s=n&&t!==!1,a=n&&t===!1;return{props:Ra.useMemo(()=>{let c={onKeyDown(l){o&&t&&l.key!=="Tab"&&l.preventDefault()}};return n||(c.tabIndex=r,!i&&o&&(c.tabIndex=t?r:-1)),(i&&(t||s)||!i&&o)&&(c["aria-disabled"]=o),i&&(!t||a)&&(c.disabled=o),c},[n,o,t,s,a,i,r])}}function Ea(e={}){let{disabled:t=!1,focusableWhenDisabled:o,tabIndex:n=0,native:r=!0,composite:i}=e,s=po.useRef(null),a=xa(!0),d=i??a!==void 0,{props:c}=Sa({focusableWhenDisabled:o,disabled:t,composite:d,tabIndex:n,isNativeButton:r}),l=po.useCallback(()=>{let m=s.current;Or(m)&&d&&t&&c.disabled===void 0&&m.disabled&&(m.disabled=!1)},[t,c.disabled,d]);D(l,[l]);let f=po.useCallback((m={})=>{let{onClick:u,onMouseDown:g,onKeyUp:v,onKeyDown:_,onPointerDown:w,...y}=m;return ye({onClick(b){if(t){b.preventDefault();return}u?.(b)},onMouseDown(b){t||g?.(b)},onKeyDown(b){if(t||(zo(b),_?.(b),b.baseUIHandlerPrevented))return;let S=b.target===b.currentTarget,x=b.currentTarget,E=Or(x),T=!r&&Np(x),k=S&&(r?E:!T),C=b.key==="Enter",j=b.key===" ",A=x.getAttribute("role"),L=A?.startsWith("menuitem")||A==="option"||A==="gridcell";if(S&&d&&j){if(b.defaultPrevented&&L)return;b.preventDefault(),T||r&&E?(x.click(),b.preventBaseUIHandler()):k&&(u?.(b),b.preventBaseUIHandler());return}k&&(!r&&(j||C)&&b.preventDefault(),!r&&C&&u?.(b))},onKeyUp(b){if(!t){if(zo(b),v?.(b),b.target===b.currentTarget&&r&&d&&Or(b.currentTarget)&&b.key===" "){b.preventDefault();return}b.baseUIHandlerPrevented||b.target===b.currentTarget&&!r&&!d&&b.key===" "&&u?.(b)}},onPointerDown(b){if(t){b.preventDefault();return}w?.(b)}},r?{type:"button"}:{role:"button"},c,y)},[t,c,d,r]),p=Y(m=>{s.current=m,l()});return{getButtonProps:f,buttonRef:p}}function Or(e){return we(e)&&e.tagName==="BUTTON"}function Np(e){return!!(e?.tagName==="A"&&e?.href)}function re(e,t,o,n){return e.addEventListener(t,o,n),()=>{e.removeEventListener(t,o,n)}}function ze(e){let t=Se(Lp,e).current;return t.next=e,D(t.effect),t}function Lp(e){let t={current:e,next:e,effect:()=>{t.current=t.next}};return t}function xe(e){return e?.ownerDocument||document}var Ca=h(z(),1);var Pa=h(Mt(),1);function ka(e){return e==null?e:"current"in e?e.current:e}function mo(e,t=!1,o=!0){let n=lo();return Y((r,i=null)=>{n.cancel();let s=ka(e);if(s==null)return;let a=s,d=()=>{Pa.flushSync(r)};if(typeof a.getAnimations!="function"||globalThis.BASE_UI_ANIMATIONS_DISABLED){r();return}function c(){Promise.all(a.getAnimations().map(l=>l.finished)).then(()=>{i?.aborted||d()}).catch(()=>{if(o){i?.aborted||d();return}let l=a.getAnimations();!i?.aborted&&l.length>0&&l.some(f=>f.pending||f.playState!=="finished")&&c()})}if(t){let l=Yt.startingStyle;if(!a.hasAttribute(l)){n.request(c);return}let f=new MutationObserver(()=>{a.hasAttribute(l)||(f.disconnect(),c())});f.observe(a,{attributes:!0,attributeFilter:[l]}),i?.addEventListener("abort",()=>f.disconnect(),{once:!0});return}n.request(c)})}function Pn(e){let{enabled:t=!0,open:o,ref:n,onComplete:r}=e,i=Y(r),s=mo(n,o,!1);Ca.useEffect(()=>{if(!t)return;let a=new AbortController;return s(i,a.signal),()=>{a.abort()}},[t,o,i,s])}var Aa=h(z(),1);function Oa(e){let t=Aa.useRef(!0);t.current&&(t.current=!1,e())}var xt={};At(xt,{engine:()=>Br,env:()=>zr,os:()=>Ir,screenReader:()=>Hr});var Ir={};At(Ir,{android:()=>Ia,apple:()=>Lr,ios:()=>Nr,linux:()=>zp,mac:()=>Ma,windows:()=>Hp});function Ip(){return typeof navigator>"u"?{userAgent:"",platform:"",maxTouchPoints:0}:{userAgent:navigator.userAgent,platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??0}}var{userAgent:Mp,platform:Bp,maxTouchPoints:Na}=Ip(),Xt=Mp.toLowerCase(),Kt=Bp.toLowerCase();var Nr=/^i(os$|p)/.test(Kt)||Kt==="macintel"&&Na>1,La="android",Ia=Kt===La||Xt.includes(La),Ma=!Nr&&Kt.startsWith("mac"),Hp=Kt.startsWith("win"),zp=!Ia&&/^(linux|chrome os)/.test(Kt),Lr=Ma||Nr;var Br={};At(Br,{blink:()=>jp,gecko:()=>Dp,webkit:()=>Mr});var Mr=typeof CSS<"u"&&!!CSS.supports?.("-webkit-backdrop-filter:none"),Dp=!Mr&&Xt.includes("firefox"),jp=!Mr&&Xt.includes("chrom");var Hr={};At(Hr,{voiceOver:()=>Fp});var Fp=Lr;var zr={};At(zr,{jsdom:()=>Vp});var Vp=/jsdom|happydom/.test(Xt);var Fo=0,Ye=class e{static create(){return new e}currentId=Fo;start(t,o){this.clear(),this.currentId=setTimeout(()=>{this.currentId=Fo,o()},t)}isStarted(){return this.currentId!==Fo}clear=()=>{this.currentId!==Fo&&(clearTimeout(this.currentId),this.currentId=Fo)};disposeEffect=()=>this.clear};function rt(){let e=Se(Ye.create).current;return co(e.disposeEffect),e}var Oe=h(z(),1);function Ba(e){return"nativeEvent"in e}function Rt(e,t){let o=["mouse","pen"];return t||o.push("",void 0),o.includes(e)}function Ha(e){let t=e.type;return t==="click"||t==="mousedown"||t==="keydown"||t==="keyup"}var Dr="data-base-ui-focusable";var jr="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";function Cn(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function ie(e,t){if(!e||!t)return!1;let o=t.getRootNode?.();if(e.contains(t))return!0;if(o&&uo(o)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function Me(e){return"composedPath"in e?e.composedPath()[0]:e.target}function Bt(e,t){if(!V(e))return!1;let o=e;if(t.hasElement(o))return!o.hasAttribute("data-trigger-disabled");for(let[,n]of t.entries())if(ie(n,o))return!n.hasAttribute("data-trigger-disabled");return!1}function An(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);let o=e;return o.target!=null&&t.contains(o.target)}function za(e){return e.matches("html,body")}function Da(e){return we(e)&&e.matches(jr)}function Fr(e){return e?.closest(`button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),${jr}`)!=null}function ja(e){if(!e||xt.env.jsdom)return!0;try{return e.matches(":focus-visible")}catch{return!0}}function Wp(e,t){return t!=null&&!Rt(t)?0:typeof e=="function"?e():e}function St(e,t,o){let n=Wp(e,o);return typeof n=="number"?n:n?.[t]}function Vr(e){return typeof e=="function"?e():e}function On(e,t){return t||e==="click"||e==="mousedown"}function Fa(e){return e?.includes("mouse")&&e!=="mousedown"}var Va=h(Q(),1),Wa=Oe.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new Ye,currentIdRef:{current:null},currentContextRef:{current:null}});function Yp(e,t){e.current=t.current}function Wr(e){let{children:t,delay:o,timeoutMs:n=0}=e,r=Oe.useRef(o),i=Oe.useRef(o),s=Oe.useRef(null),a=Oe.useRef(null),d=rt();return D(()=>{if(i.current=o,!s.current){r.current=o;return}r.current={open:St(r.current,"open"),close:St(o,"close")}},[o,s,r,i]),(0,Va.jsx)(Wa.Provider,{value:Oe.useMemo(()=>({hasProvider:!0,delayRef:r,initialDelayRef:i,currentIdRef:s,timeoutMs:n,currentContextRef:a,timeout:d}),[n,d]),children:t})}function Yr(e,t={open:!1}){let{open:o}=t,n="rootStore"in e?e.rootStore:e,r=n.useState("floatingId"),i=Oe.useContext(Wa),{currentIdRef:s,delayRef:a,timeoutMs:d,initialDelayRef:c,currentContextRef:l,hasProvider:f,timeout:p}=i,[m,u]=Oe.useState(!1),g=Oe.useRef(o),v=Oe.useRef(!1);return D(()=>{g.current=o},[o]),D(()=>()=>{v.current=!0},[]),D(()=>{function _(){v.current||u(!1),l.current?.setIsInstantPhase(!1),s.current=null,l.current=null,a.current=c.current,p.clear()}if(s.current&&!o&&s.current===r){if(u(!1),d){let w=r;return p.start(d,()=>{n.select("open")||s.current&&s.current!==w||_()}),()=>{(g.current||s.current!==w)&&p.clear()}}_()}},[o,r,s,a,d,c,l,p,n]),D(()=>{if(!o)return;let _=l.current,w=s.current;p.clear(),l.current={onOpenChange:n.setOpen,setIsInstantPhase:u},s.current=r,a.current={open:0,close:St(c.current,"close")},w!==null&&w!==r?(u(!0),_?.setIsInstantPhase(!0),_?.onOpenChange(!1,ee(U.none))):(u(!1),_?.setIsInstantPhase(!1))},[o,r,n,s,a,c,l,p]),D(()=>()=>{if(s.current===r){if(l.current=null,!g.current)return;s.current=null,Yp(a,c),p.clear()}},[l,s,a,r,c,p]),Oe.useMemo(()=>({hasProvider:f,delayRef:a,isInstantPhase:m}),[f,a,m])}function it(...e){return()=>{for(let t=0;t<e.length;t+=1){let o=e[t];o&&o()}}}var Ga=["top","right","bottom","left"];var Ht=Math.min,Be=Math.max,zt=Math.round,Wo=Math.floor,st=e=>({x:e,y:e}),Up={left:"right",right:"left",bottom:"top",top:"bottom"};function Yo(e,t,o){return Be(e,Ht(t,o))}function at(e,t){return typeof e=="function"?e(t):e}function Ee(e){return e.split("-")[0]}function ct(e){return e.split("-")[1]}function Ln(e){return e==="x"?"y":"x"}function Uo(e){return e==="y"?"height":"width"}function De(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function Go(e){return Ln(De(e))}function Xa(e,t,o){o===void 0&&(o=!1);let n=ct(e),r=Go(e),i=Uo(r),s=r==="x"?n===(o?"end":"start")?"right":"left":n==="start"?"bottom":"top";return t.reference[i]>t.floating[i]&&(s=Vo(s)),[s,Vo(s)]}function Ka(e){let t=Vo(e);return[Nn(e),t,Nn(t)]}function Nn(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var Ya=["left","right"],Ua=["right","left"],Gp=["top","bottom"],Xp=["bottom","top"];function Kp(e,t,o){switch(e){case"top":case"bottom":return o?t?Ua:Ya:t?Ya:Ua;case"left":case"right":return t?Gp:Xp;default:return[]}}function qa(e,t,o,n){let r=ct(e),i=Kp(Ee(e),o==="start",n);return r&&(i=i.map(s=>s+"-"+r),t&&(i=i.concat(i.map(Nn)))),i}function Vo(e){let t=Ee(e);return Up[t]+e.slice(t.length)}function qp(e){return{top:0,right:0,bottom:0,left:0,...e}}function In(e){return typeof e!="number"?qp(e):{top:e,right:e,bottom:e,left:e}}function qt(e){let{x:t,y:o,width:n,height:r}=e;return{width:n,height:r,top:o,left:t,right:t+n,bottom:o+r,x:t,y:o}}function Et(e,t,o=!0){return e.filter(r=>r.parentId===t).flatMap(r=>[...!o||r.context?.open?[r]:[],...Et(e,r.id,o)])}function go(e){return`data-base-ui-${e}`}var Ue=h(z(),1),Ja=h(Mt(),1);var Za={style:{transition:"none"}};var Zp="data-base-ui-swipe-ignore",Qp="data-swipe-ignore",ww=`[${Zp}]`,vw=`[${Qp}]`;var Qa={fallbackAxisSide:"end"};var $a=h(Q(),1),Jp=Ue.createContext(null),$p=()=>Ue.useContext(Jp),em=go("portal");function Ur(e={}){let{ref:t,container:o,componentProps:n=be,elementProps:r}=e,i=Lt(),a=$p()?.portalNode,[d,c]=Ue.useState(null),[l,f]=Ue.useState(null),p=Y(v=>{v!==null&&f(v)}),m=Ue.useRef(null);D(()=>{if(o===null){m.current&&(m.current=null,f(null),c(null));return}if(i==null)return;let v=(o&&(Rn(o)?o:o.current))??a??document.body;if(v==null){m.current&&(m.current=null,f(null),c(null));return}m.current!==v&&(m.current=v,f(null),c(v))},[o,a,i]);let u=Ce("div",n,{ref:[t,p],props:[{id:i,[em]:""},r]});return{portalNode:l,portalSubtree:d&&u?Ja.createPortal(u,d):null}}var Zt=h(z(),1);function ec(){let e=new Map;return{emit(t,o){e.get(t)?.forEach(n=>n(o))},on(t,o){e.has(t)||e.set(t,new Set),e.get(t).add(o)},off(t,o){e.get(t)?.delete(o)}}}var tm=h(Q(),1),om=Zt.createContext(null),nm=Zt.createContext(null),bo=()=>Zt.useContext(om)?.id||null,Dt=e=>{let t=Zt.useContext(nm);return e??t};var je=h(z(),1);function rm(e,t){let o=null,n=null,r=!1;return{contextElement:e||void 0,getBoundingClientRect(){let i=e?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},s=t.axis==="x"||t.axis==="both",a=t.axis==="y"||t.axis==="both",d=["mouseenter","mousemove"].includes(t.dataRef.current.openEvent?.type||"")&&t.pointerType!=="touch",c=i.width,l=i.height,f=i.x,p=i.y;return o==null&&t.x&&s&&(o=i.x-t.x),n==null&&t.y&&a&&(n=i.y-t.y),f-=o||0,p-=n||0,c=0,l=0,!r||d?(c=t.axis==="y"?i.width:0,l=t.axis==="x"?i.height:0,f=s&&t.x!=null?t.x:f,p=a&&t.y!=null?t.y:p):r&&!d&&(l=t.axis==="x"?i.height:l,c=t.axis==="y"?i.width:c),r=!0,{width:c,height:l,x:f,y:p,top:p,right:f+c,bottom:p+l,left:f}}}}function tc(e){return e!=null&&e.clientX!=null}function Gr(e,t={}){let{enabled:o=!0,axis:n="both"}=t,r="rootStore"in e?e.rootStore:e,i=r.useState("open"),s=r.useState("floatingElement"),a=r.useState("domReferenceElement"),d=r.context.dataRef,c=je.useRef(!1),l=je.useRef(null),[f,p]=je.useState(),[m,u]=je.useState([]),g=Y(b=>{r.set("positionReference",b)}),v=Y((b,S,x)=>{c.current||d.current.openEvent&&!tc(d.current.openEvent)||r.set("positionReference",rm(x??a,{x:b,y:S,axis:n,dataRef:d,pointerType:f}))}),_=Y(b=>{i?l.current||(v(b.clientX,b.clientY,b.currentTarget),u([])):v(b.clientX,b.clientY,b.currentTarget)}),w=Rt(f)?s:i;je.useEffect(()=>{if(!o){g(a);return}if(!w)return;function b(){l.current?.(),l.current=null}let S=ge(s);function x(E){let T=Me(E);ie(s,T)?b():v(E.clientX,E.clientY)}return!d.current.openEvent||tc(d.current.openEvent)?l.current=re(S,"mousemove",x):g(a),b},[w,o,s,d,a,r,v,g,m]),je.useEffect(()=>()=>{r.set("positionReference",null)},[r]),je.useEffect(()=>{o&&!s&&(c.current=!1)},[o,s]),je.useEffect(()=>{!o&&i&&(c.current=!0)},[o,i]);let y=je.useMemo(()=>{function b(S){p(S.pointerType)}return{onPointerDown:b,onPointerEnter:b,onMouseMove:_,onMouseEnter:_}},[_]);return je.useMemo(()=>o?{reference:y,trigger:y}:{},[o,y])}var Fe=h(z(),1);function im(){return!1}function sm(e){return{escapeKey:typeof e=="boolean"?e:e?.escapeKey??!1,outsidePress:typeof e=="boolean"?e:e?.outsidePress??!0}}function Xr(e,t={}){let{enabled:o=!0,escapeKey:n=!0,outsidePress:r=!0,outsidePressEvent:i="sloppy",referencePress:s=im,bubbles:a,externalTree:d}=t,c="rootStore"in e?e.rootStore:e,l=c.useState("open"),f=c.useState("floatingElement"),{dataRef:p}=c.context,m=Dt(d),u=Y(typeof r=="function"?r:()=>!1),g=typeof r=="function"?u:r,v=g!==!1,_=Y(()=>i),{escapeKey:w,outsidePress:y}=sm(a),b=Fe.useRef(!1),S=Fe.useRef(!1),x=Fe.useRef(!1),E=Fe.useRef(!1),T=Fe.useRef(""),k=Fe.useRef(null),C=rt(),j=rt(),A=Y(()=>{j.clear(),p.current.insideReactTree=!1}),L=Y(W=>{let oe=p.current.floatingContext?.nodeId;return(m?Et(m.nodesRef.current,oe):[]).some(se=>se.context?.open&&!se.context.dataRef.current[W])}),I=Y(W=>An(W,c.select("floatingElement"))||An(W,c.select("domReferenceElement"))),R=Y(W=>{s()&&c.setOpen(!1,ee(U.triggerPress,W.nativeEvent))}),N=Y(W=>{if(!l||!o||!n||W.key!=="Escape"||E.current||!w&&L("__escapeKeyBubbles"))return;let oe=Ba(W)?W.nativeEvent:W,te=ee(U.escapeKey,oe);c.setOpen(!1,te),te.isCanceled||W.preventDefault(),!w&&!te.isPropagationAllowed&&W.stopPropagation()}),H=Y(()=>{p.current.insideReactTree=!0,j.start(0,A)}),P=Y(W=>{if(!l||!o||W.button!==0)return;let oe=Me(W.nativeEvent);ie(c.select("floatingElement"),oe)&&(b.current||(b.current=!0,S.current=!1))}),O=Y(W=>{!l||!o||(W.defaultPrevented||W.nativeEvent.defaultPrevented)&&b.current&&(S.current=!0)});Fe.useEffect(()=>{if(!l||!o)return;p.current.__escapeKeyBubbles=w,p.current.__outsidePressBubbles=y;let W=new Ye,oe=new Ye;function te(){W.clear(),E.current=!0}function se(){W.start(xt.engine.webkit?5:0,()=>{E.current=!1})}function G(){x.current=!0,oe.start(0,()=>{x.current=!1})}function K(){b.current=!1,S.current=!1}function J(){let B=T.current,F=B==="pen"||!B?"mouse":B,he=_(),ke=typeof he=="function"?he():he;return typeof ke=="string"?ke:ke[F]}function ne(B){let F=J();return F==="intentional"&&B.type!=="click"||F==="sloppy"&&B.type==="click"}function me(B){let F=p.current.floatingContext?.nodeId,he=m&&Et(m.nodesRef.current,F).some(ke=>An(B,ke.context?.elements.floating));return I(B)||he}function le(B){if(ne(B)){B.type!=="click"&&!I(B)&&(oe.clear(),x.current=!1),A();return}if(p.current.insideReactTree){A();return}let F=Me(B),he=`[${go("inert")}]`,ke=V(F)?F.getRootNode():null,kt=Array.from((uo(ke)?ke:xe(c.select("floatingElement"))).querySelectorAll(he)),Lo=c.context.triggerElements;if(F&&(Lo.hasElement(F)||Lo.hasMatchingElement(We=>ie(We,F))))return;let _t=V(F)?F:null;for(;_t&&!nt(_t);){let We=tt(_t);if(nt(We)||!V(We))break;_t=We}if(!(kt.length&&V(F)&&!za(F)&&!ie(F,c.select("floatingElement"))&&kt.every(We=>!ie(_t,We)))){if(we(F)&&!("touches"in B)){let We=nt(F),Pt=Ae(F),Ct=/auto|scroll/,un=We||Ct.test(Pt.overflowX),fn=We||Ct.test(Pt.overflowY),pn=un&&F.clientWidth>0&&F.scrollWidth>F.clientWidth,mn=fn&&F.clientHeight>0&&F.scrollHeight>F.clientHeight,gn=Pt.direction==="rtl",ae=mn&&(gn?B.offsetX<=F.offsetWidth-F.clientWidth:B.offsetX>F.clientWidth),Ie=pn&&B.offsetY>F.clientHeight;if(ae||Ie)return}if(!me(B)){if(J()==="intentional"&&x.current){oe.clear(),x.current=!1;return}typeof g=="function"&&!g(B)||L("__outsidePressBubbles")||(c.setOpen(!1,ee(U.outsidePress,B)),A())}}}function X(B){J()!=="sloppy"||B.pointerType==="touch"||!c.select("open")||!o||I(B)||le(B)}function pe(B){if(J()!=="sloppy"||!c.select("open")||!o||I(B))return;let F=B.touches[0];F&&(k.current={startTime:Date.now(),startX:F.clientX,startY:F.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},C.start(1e3,()=>{k.current&&(k.current.dismissOnTouchEnd=!1,k.current.dismissOnMouseDown=!1)}))}function ue(B,F){let he=Me(B);if(!he)return;let ke=re(he,B.type,()=>{F(B),ke()})}function vt(B){T.current="touch",ue(B,pe)}function Te(B){C.clear(),B.type==="pointerdown"&&(T.current=B.pointerType),!(B.type==="mousedown"&&k.current&&!k.current.dismissOnMouseDown)&&ue(B,F=>{F.type==="pointerdown"?X(F):le(F)})}function Ve(B){if(!b.current)return;let F=S.current;if(K(),J()==="intentional"){if(B.type==="pointercancel"){F&&G();return}if(!me(B)){if(F){G();return}typeof g=="function"&&!g(B)||(oe.clear(),x.current=!0,A())}}}function Ke(B){if(J()!=="sloppy"||!k.current||I(B))return;let F=B.touches[0];if(!F)return;let he=Math.abs(F.clientX-k.current.startX),ke=Math.abs(F.clientY-k.current.startY),kt=Math.sqrt(he*he+ke*ke);kt>5&&(k.current.dismissOnTouchEnd=!0),kt>10&&(le(B),C.clear(),k.current=null)}function He(B){ue(B,Ke)}function no(B){J()!=="sloppy"||!k.current||I(B)||(k.current.dismissOnTouchEnd&&le(B),C.clear(),k.current=null)}function dn(B){ue(B,no)}let _e=xe(f),ro=it(n&&it(re(_e,"keydown",N),re(_e,"compositionstart",te),re(_e,"compositionend",se)),v&&it(re(_e,"click",Te,!0),re(_e,"pointerdown",Te,!0),re(_e,"pointerup",Ve,!0),re(_e,"pointercancel",Ve,!0),re(_e,"mousedown",Te,!0),re(_e,"mouseup",Ve,!0),re(_e,"touchstart",vt,!0),re(_e,"touchmove",He,!0),re(_e,"touchend",dn,!0)));return()=>{ro(),W.clear(),oe.clear(),K(),x.current=!1}},[p,f,n,v,g,l,o,w,y,N,A,_,L,I,m,c,C]),Fe.useEffect(A,[g,A]);let M=Fe.useMemo(()=>({onKeyDown:N,onPointerDown:R,onClick:R}),[N,R]),Z=Fe.useMemo(()=>({onKeyDown:N,onPointerDown:O,onMouseDown:O,onClickCapture:H,onMouseDownCapture(W){H(),P(W)},onPointerDownCapture(W){H(),P(W)},onMouseUpCapture:H,onTouchEndCapture:H,onTouchMoveCapture:H}),[N,H,P,O]);return Fe.useMemo(()=>o?{reference:M,floating:Z,trigger:M}:{},[o,M,Z])}var Ne=h(z(),1);function oc(e,t,o){let{reference:n,floating:r}=e,i=De(t),s=Go(t),a=Uo(s),d=Ee(t),c=i==="y",l=n.x+n.width/2-r.width/2,f=n.y+n.height/2-r.height/2,p=n[a]/2-r[a]/2,m;switch(d){case"top":m={x:l,y:n.y-r.height};break;case"bottom":m={x:l,y:n.y+n.height};break;case"right":m={x:n.x+n.width,y:f};break;case"left":m={x:n.x-r.width,y:f};break;default:m={x:n.x,y:n.y}}switch(ct(t)){case"start":m[s]-=p*(o&&c?-1:1);break;case"end":m[s]+=p*(o&&c?-1:1);break}return m}async function ic(e,t){var o;t===void 0&&(t={});let{x:n,y:r,platform:i,rects:s,elements:a,strategy:d}=e,{boundary:c="clippingAncestors",rootBoundary:l="viewport",elementContext:f="floating",altBoundary:p=!1,padding:m=0}=at(t,e),u=In(m),v=a[p?f==="floating"?"reference":"floating":f],_=qt(await i.getClippingRect({element:(o=await(i.isElement==null?void 0:i.isElement(v)))==null||o?v:v.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(a.floating)),boundary:c,rootBoundary:l,strategy:d})),w=f==="floating"?{x:n,y:r,width:s.floating.width,height:s.floating.height}:s.reference,y=await(i.getOffsetParent==null?void 0:i.getOffsetParent(a.floating)),b=await(i.isElement==null?void 0:i.isElement(y))?await(i.getScale==null?void 0:i.getScale(y))||{x:1,y:1}:{x:1,y:1},S=qt(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:w,offsetParent:y,strategy:d}):w);return{top:(_.top-S.top+u.top)/b.y,bottom:(S.bottom-_.bottom+u.bottom)/b.y,left:(_.left-S.left+u.left)/b.x,right:(S.right-_.right+u.right)/b.x}}var am=50,sc=async(e,t,o)=>{let{placement:n="bottom",strategy:r="absolute",middleware:i=[],platform:s}=o,a=s.detectOverflow?s:{...s,detectOverflow:ic},d=await(s.isRTL==null?void 0:s.isRTL(t)),c=await s.getElementRects({reference:e,floating:t,strategy:r}),{x:l,y:f}=oc(c,n,d),p=n,m=0,u={};for(let g=0;g<i.length;g++){let v=i[g];if(!v)continue;let{name:_,fn:w}=v,{x:y,y:b,data:S,reset:x}=await w({x:l,y:f,initialPlacement:n,placement:p,strategy:r,middlewareData:u,rects:c,platform:a,elements:{reference:e,floating:t}});l=y??l,f=b??f,u[_]={...u[_],...S},x&&m<am&&(m++,typeof x=="object"&&(x.placement&&(p=x.placement),x.rects&&(c=x.rects===!0?await s.getElementRects({reference:e,floating:t,strategy:r}):x.rects),{x:l,y:f}=oc(c,p,d)),g=-1)}return{x:l,y:f,placement:p,strategy:r,middlewareData:u}};var ac=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var o,n;let{placement:r,middlewareData:i,rects:s,initialPlacement:a,platform:d,elements:c}=t,{mainAxis:l=!0,crossAxis:f=!0,fallbackPlacements:p,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:u="none",flipAlignment:g=!0,...v}=at(e,t);if((o=i.arrow)!=null&&o.alignmentOffset)return{};let _=Ee(r),w=De(a),y=Ee(a)===a,b=await(d.isRTL==null?void 0:d.isRTL(c.floating)),S=p||(y||!g?[Vo(a)]:Ka(a)),x=u!=="none";!p&&x&&S.push(...qa(a,g,u,b));let E=[a,...S],T=await d.detectOverflow(t,v),k=[],C=((n=i.flip)==null?void 0:n.overflows)||[];if(l&&k.push(T[_]),f){let I=Xa(r,s,b);k.push(T[I[0]],T[I[1]])}if(C=[...C,{placement:r,overflows:k}],!k.every(I=>I<=0)){var j,A;let I=(((j=i.flip)==null?void 0:j.index)||0)+1,R=E[I];if(R&&(!(f==="alignment"?w!==De(R):!1)||C.every(P=>De(P.placement)===w?P.overflows[0]>0:!0)))return{data:{index:I,overflows:C},reset:{placement:R}};let N=(A=C.filter(H=>H.overflows[0]<=0).sort((H,P)=>H.overflows[1]-P.overflows[1])[0])==null?void 0:A.placement;if(!N)switch(m){case"bestFit":{var L;let H=(L=C.filter(P=>{if(x){let O=De(P.placement);return O===w||O==="y"}return!0}).map(P=>[P.placement,P.overflows.filter(O=>O>0).reduce((O,M)=>O+M,0)]).sort((P,O)=>P[1]-O[1])[0])==null?void 0:L[0];H&&(N=H);break}case"initialPlacement":N=a;break}if(r!==N)return{reset:{placement:N}}}return{}}}};function nc(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function rc(e){return Ga.some(t=>e[t]>=0)}var cc=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){let{rects:o,platform:n}=t,{strategy:r="referenceHidden",...i}=at(e,t);switch(r){case"referenceHidden":{let s=await n.detectOverflow(t,{...i,elementContext:"reference"}),a=nc(s,o.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:rc(a)}}}case"escaped":{let s=await n.detectOverflow(t,{...i,altBoundary:!0}),a=nc(s,o.floating);return{data:{escapedOffsets:a,escaped:rc(a)}}}default:return{}}}}};var lc=new Set(["left","top"]);async function cm(e,t){let{placement:o,platform:n,elements:r}=e,i=await(n.isRTL==null?void 0:n.isRTL(r.floating)),s=Ee(o),a=ct(o),d=De(o)==="y",c=lc.has(s)?-1:1,l=i&&d?-1:1,f=at(t,e),{mainAxis:p,crossAxis:m,alignmentAxis:u}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return a&&typeof u=="number"&&(m=a==="end"?u*-1:u),d?{x:m*l,y:p*c}:{x:p*c,y:m*l}}var dc=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var o,n;let{x:r,y:i,placement:s,middlewareData:a}=t,d=await cm(t,e);return s===((o=a.offset)==null?void 0:o.placement)&&(n=a.arrow)!=null&&n.alignmentOffset?{}:{x:r+d.x,y:i+d.y,data:{...d,placement:s}}}}},uc=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:o,y:n,placement:r,platform:i}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:d={fn:_=>{let{x:w,y}=_;return{x:w,y}}},...c}=at(e,t),l={x:o,y:n},f=await i.detectOverflow(t,c),p=De(Ee(r)),m=Ln(p),u=l[m],g=l[p];if(s){let _=m==="y"?"top":"left",w=m==="y"?"bottom":"right",y=u+f[_],b=u-f[w];u=Yo(y,u,b)}if(a){let _=p==="y"?"top":"left",w=p==="y"?"bottom":"right",y=g+f[_],b=g-f[w];g=Yo(y,g,b)}let v=d.fn({...t,[m]:u,[p]:g});return{...v,data:{x:v.x-o,y:v.y-n,enabled:{[m]:s,[p]:a}}}}}},fc=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:o,y:n,placement:r,rects:i,middlewareData:s}=t,{offset:a=0,mainAxis:d=!0,crossAxis:c=!0}=at(e,t),l={x:o,y:n},f=De(r),p=Ln(f),m=l[p],u=l[f],g=at(a,t),v=typeof g=="number"?{mainAxis:g,crossAxis:0}:{mainAxis:0,crossAxis:0,...g};if(d){let y=p==="y"?"height":"width",b=i.reference[p]-i.floating[y]+v.mainAxis,S=i.reference[p]+i.reference[y]-v.mainAxis;m<b?m=b:m>S&&(m=S)}if(c){var _,w;let y=p==="y"?"width":"height",b=lc.has(Ee(r)),S=i.reference[f]-i.floating[y]+(b&&((_=s.offset)==null?void 0:_[f])||0)+(b?0:v.crossAxis),x=i.reference[f]+i.reference[y]+(b?0:((w=s.offset)==null?void 0:w[f])||0)-(b?v.crossAxis:0);u<S?u=S:u>x&&(u=x)}return{[p]:m,[f]:u}}}},pc=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var o,n;let{placement:r,rects:i,platform:s,elements:a}=t,{apply:d=()=>{},...c}=at(e,t),l=await s.detectOverflow(t,c),f=Ee(r),p=ct(r),m=De(r)==="y",{width:u,height:g}=i.floating,v,_;f==="top"||f==="bottom"?(v=f,_=p===(await(s.isRTL==null?void 0:s.isRTL(a.floating))?"start":"end")?"left":"right"):(_=f,v=p==="end"?"top":"bottom");let w=g-l.top-l.bottom,y=u-l.left-l.right,b=Ht(g-l[v],w),S=Ht(u-l[_],y),x=!t.middlewareData.shift,E=b,T=S;if((o=t.middlewareData.shift)!=null&&o.enabled.x&&(T=y),(n=t.middlewareData.shift)!=null&&n.enabled.y&&(E=w),x&&!p){let C=Be(l.left,0),j=Be(l.right,0),A=Be(l.top,0),L=Be(l.bottom,0);m?T=u-2*(C!==0||j!==0?C+j:Be(l.left,l.right)):E=g-2*(A!==0||L!==0?A+L:Be(l.top,l.bottom))}await d({...t,availableWidth:T,availableHeight:E});let k=await s.getDimensions(a.floating);return u!==k.width||g!==k.height?{reset:{rects:!0}}:{}}}};function hc(e){let t=Ae(e),o=parseFloat(t.width)||0,n=parseFloat(t.height)||0,r=we(e),i=r?e.offsetWidth:o,s=r?e.offsetHeight:n,a=zt(o)!==i||zt(n)!==s;return a&&(o=i,n=s),{width:o,height:n,$:a}}function qr(e){return V(e)?e:e.contextElement}function ho(e){let t=qr(e);if(!we(t))return st(1);let o=t.getBoundingClientRect(),{width:n,height:r,$:i}=hc(t),s=(i?zt(o.width):o.width)/n,a=(i?zt(o.height):o.height)/r;return(!s||!Number.isFinite(s))&&(s=1),(!a||!Number.isFinite(a))&&(a=1),{x:s,y:a}}var lm=st(0);function wc(e){let t=ge(e);return!En()||!t.visualViewport?lm:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function dm(e,t,o){return t===void 0&&(t=!1),!o||t&&o!==ge(e)?!1:t}function Qt(e,t,o,n){t===void 0&&(t=!1),o===void 0&&(o=!1);let r=e.getBoundingClientRect(),i=qr(e),s=st(1);t&&(n?V(n)&&(s=ho(n)):s=ho(e));let a=dm(i,o,n)?wc(i):st(0),d=(r.left+a.x)/s.x,c=(r.top+a.y)/s.y,l=r.width/s.x,f=r.height/s.y;if(i){let p=ge(i),m=n&&V(n)?ge(n):n,u=p,g=Tn(u);for(;g&&n&&m!==u;){let v=ho(g),_=g.getBoundingClientRect(),w=Ae(g),y=_.left+(g.clientLeft+parseFloat(w.paddingLeft))*v.x,b=_.top+(g.clientTop+parseFloat(w.paddingTop))*v.y;d*=v.x,c*=v.y,l*=v.x,f*=v.y,d+=y,c+=b,u=ge(g),g=Tn(u)}}return qt({width:l,height:f,x:d,y:c})}function Mn(e,t){let o=jo(e).scrollLeft;return t?t.left+o:Qt(ot(e)).left+o}function vc(e,t){let o=e.getBoundingClientRect(),n=o.left+t.scrollLeft-Mn(e,o),r=o.top+t.scrollTop;return{x:n,y:r}}function um(e){let{elements:t,rect:o,offsetParent:n,strategy:r}=e,i=r==="fixed",s=ot(n),a=t?Do(t.floating):!1;if(n===s||a&&i)return o;let d={scrollLeft:0,scrollTop:0},c=st(1),l=st(0),f=we(n);if((f||!f&&!i)&&((Gt(n)!=="body"||fo(s))&&(d=jo(n)),f)){let m=Qt(n);c=ho(n),l.x=m.x+n.clientLeft,l.y=m.y+n.clientTop}let p=s&&!f&&!i?vc(s,d):st(0);return{width:o.width*c.x,height:o.height*c.y,x:o.x*c.x-d.scrollLeft*c.x+l.x+p.x,y:o.y*c.y-d.scrollTop*c.y+l.y+p.y}}function fm(e){return Array.from(e.getClientRects())}function pm(e){let t=ot(e),o=jo(e),n=e.ownerDocument.body,r=Be(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),i=Be(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight),s=-o.scrollLeft+Mn(e),a=-o.scrollTop;return Ae(n).direction==="rtl"&&(s+=Be(t.clientWidth,n.clientWidth)-r),{width:r,height:i,x:s,y:a}}var mc=25;function mm(e,t){let o=ge(e),n=ot(e),r=o.visualViewport,i=n.clientWidth,s=n.clientHeight,a=0,d=0;if(r){i=r.width,s=r.height;let l=En();(!l||l&&t==="fixed")&&(a=r.offsetLeft,d=r.offsetTop)}let c=Mn(n);if(c<=0){let l=n.ownerDocument,f=l.body,p=getComputedStyle(f),m=l.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,u=Math.abs(n.clientWidth-f.clientWidth-m);u<=mc&&(i-=u)}else c<=mc&&(i+=c);return{width:i,height:s,x:a,y:d}}function gm(e,t){let o=Qt(e,!0,t==="fixed"),n=o.top+e.clientTop,r=o.left+e.clientLeft,i=we(e)?ho(e):st(1),s=e.clientWidth*i.x,a=e.clientHeight*i.y,d=r*i.x,c=n*i.y;return{width:s,height:a,x:d,y:c}}function gc(e,t,o){let n;if(t==="viewport")n=mm(e,o);else if(t==="document")n=pm(ot(e));else if(V(t))n=gm(t,o);else{let r=wc(e);n={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return qt(n)}function _c(e,t){let o=tt(e);return o===t||!V(o)||nt(o)?!1:Ae(o).position==="fixed"||_c(o,t)}function bm(e,t){let o=t.get(e);if(o)return o;let n=It(e,[],!1).filter(a=>V(a)&&Gt(a)!=="body"),r=null,i=Ae(e).position==="fixed",s=i?tt(e):e;for(;V(s)&&!nt(s);){let a=Ae(s),d=Sn(s);!d&&a.position==="fixed"&&(r=null),(i?!d&&!r:!d&&a.position==="static"&&!!r&&(r.position==="absolute"||r.position==="fixed")||fo(s)&&!d&&_c(e,s))?n=n.filter(l=>l!==s):r=a,s=tt(s)}return t.set(e,n),n}function hm(e){let{element:t,boundary:o,rootBoundary:n,strategy:r}=e,s=[...o==="clippingAncestors"?Do(t)?[]:bm(t,this._c):[].concat(o),n],a=gc(t,s[0],r),d=a.top,c=a.right,l=a.bottom,f=a.left;for(let p=1;p<s.length;p++){let m=gc(t,s[p],r);d=Be(m.top,d),c=Ht(m.right,c),l=Ht(m.bottom,l),f=Be(m.left,f)}return{width:c-f,height:l-d,x:f,y:d}}function wm(e){let{width:t,height:o}=hc(e);return{width:t,height:o}}function vm(e,t,o){let n=we(t),r=ot(t),i=o==="fixed",s=Qt(e,!0,i,t),a={scrollLeft:0,scrollTop:0},d=st(0);function c(){d.x=Mn(r)}if(n||!n&&!i)if((Gt(t)!=="body"||fo(r))&&(a=jo(t)),n){let m=Qt(t,!0,i,t);d.x=m.x+t.clientLeft,d.y=m.y+t.clientTop}else r&&c();i&&!n&&r&&c();let l=r&&!n&&!i?vc(r,a):st(0),f=s.left+a.scrollLeft-d.x-l.x,p=s.top+a.scrollTop-d.y-l.y;return{x:f,y:p,width:s.width,height:s.height}}function Kr(e){return Ae(e).position==="static"}function bc(e,t){if(!we(e)||Ae(e).position==="fixed")return null;if(t)return t(e);let o=e.offsetParent;return ot(e)===o&&(o=o.ownerDocument.body),o}function yc(e,t){let o=ge(e);if(Do(e))return o;if(!we(e)){let r=tt(e);for(;r&&!nt(r);){if(V(r)&&!Kr(r))return r;r=tt(r)}return o}let n=bc(e,t);for(;n&&va(n)&&Kr(n);)n=bc(n,t);return n&&nt(n)&&Kr(n)&&!Sn(n)?o:n||_a(e)||o}var _m=async function(e){let t=this.getOffsetParent||yc,o=this.getDimensions,n=await o(e.floating);return{reference:vm(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function ym(e){return Ae(e).direction==="rtl"}var Zr={convertOffsetParentRelativeRectToViewportRelativeRect:um,getDocumentElement:ot,getClippingRect:hm,getOffsetParent:yc,getElementRects:_m,getClientRects:fm,getDimensions:wm,getScale:ho,isElement:V,isRTL:ym};function xc(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function xm(e,t){let o=null,n,r=ot(e);function i(){var a;clearTimeout(n),(a=o)==null||a.disconnect(),o=null}function s(a,d){a===void 0&&(a=!1),d===void 0&&(d=1),i();let c=e.getBoundingClientRect(),{left:l,top:f,width:p,height:m}=c;if(a||t(),!p||!m)return;let u=Wo(f),g=Wo(r.clientWidth-(l+p)),v=Wo(r.clientHeight-(f+m)),_=Wo(l),y={rootMargin:-u+"px "+-g+"px "+-v+"px "+-_+"px",threshold:Be(0,Ht(1,d))||1},b=!0;function S(x){let E=x[0].intersectionRatio;if(E!==d){if(!b)return s();E?s(!1,E):n=setTimeout(()=>{s(!1,1e-7)},1e3)}E===1&&!xc(c,e.getBoundingClientRect())&&s(),b=!1}try{o=new IntersectionObserver(S,{...y,root:r.ownerDocument})}catch{o=new IntersectionObserver(S,y)}o.observe(e)}return s(!0),i}function Xo(e,t,o,n){n===void 0&&(n={});let{ancestorScroll:r=!0,ancestorResize:i=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:d=!1}=n,c=qr(e),l=r||i?[...c?It(c):[],...t?It(t):[]]:[];l.forEach(_=>{r&&_.addEventListener("scroll",o,{passive:!0}),i&&_.addEventListener("resize",o)});let f=c&&a?xm(c,o):null,p=-1,m=null;s&&(m=new ResizeObserver(_=>{let[w]=_;w&&w.target===c&&m&&t&&(m.unobserve(t),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var y;(y=m)==null||y.observe(t)})),o()}),c&&!d&&m.observe(c),t&&m.observe(t));let u,g=d?Qt(e):null;d&&v();function v(){let _=Qt(e);g&&!xc(g,_)&&o(),g=_,u=requestAnimationFrame(v)}return o(),()=>{var _;l.forEach(w=>{r&&w.removeEventListener("scroll",o),i&&w.removeEventListener("resize",o)}),f?.(),(_=m)==null||_.disconnect(),m=null,d&&cancelAnimationFrame(u)}}var Rc=dc;var Sc=uc,Ec=ac,Tc=pc,kc=cc;var Pc=fc,Bn=(e,t,o)=>{let n=new Map,r={platform:Zr,...o},i={...r.platform,_c:n};return sc(e,t,{...r,platform:i})};var ve=h(z(),1),Ac=h(z(),1),Oc=h(Mt(),1),Sm=typeof document<"u",Em=function(){},Hn=Sm?Ac.useLayoutEffect:Em;function zn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let o,n,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(o=e.length,o!==t.length)return!1;for(n=o;n--!==0;)if(!zn(e[n],t[n]))return!1;return!0}if(r=Object.keys(e),o=r.length,o!==Object.keys(t).length)return!1;for(n=o;n--!==0;)if(!{}.hasOwnProperty.call(t,r[n]))return!1;for(n=o;n--!==0;){let i=r[n];if(!(i==="_owner"&&e.$$typeof)&&!zn(e[i],t[i]))return!1}return!0}return e!==e&&t!==t}function Nc(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Cc(e,t){let o=Nc(e);return Math.round(t*o)/o}function Qr(e){let t=ve.useRef(e);return Hn(()=>{t.current=e}),t}function Lc(e){e===void 0&&(e={});let{placement:t="bottom",strategy:o="absolute",middleware:n=[],platform:r,elements:{reference:i,floating:s}={},transform:a=!0,whileElementsMounted:d,open:c}=e,[l,f]=ve.useState({x:0,y:0,strategy:o,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=ve.useState(n);zn(p,n)||m(n);let[u,g]=ve.useState(null),[v,_]=ve.useState(null),w=ve.useCallback(P=>{P!==x.current&&(x.current=P,g(P))},[]),y=ve.useCallback(P=>{P!==E.current&&(E.current=P,_(P))},[]),b=i||u,S=s||v,x=ve.useRef(null),E=ve.useRef(null),T=ve.useRef(l),k=d!=null,C=Qr(d),j=Qr(r),A=Qr(c),L=ve.useCallback(()=>{if(!x.current||!E.current)return;let P={placement:t,strategy:o,middleware:p};j.current&&(P.platform=j.current),Bn(x.current,E.current,P).then(O=>{let M={...O,isPositioned:A.current!==!1};I.current&&!zn(T.current,M)&&(T.current=M,Oc.flushSync(()=>{f(M)}))})},[p,t,o,j,A]);Hn(()=>{c===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,f(P=>({...P,isPositioned:!1})))},[c]);let I=ve.useRef(!1);Hn(()=>(I.current=!0,()=>{I.current=!1}),[]),Hn(()=>{if(b&&(x.current=b),S&&(E.current=S),b&&S){if(C.current)return C.current(b,S,L);L()}},[b,S,L,C,k]);let R=ve.useMemo(()=>({reference:x,floating:E,setReference:w,setFloating:y}),[w,y]),N=ve.useMemo(()=>({reference:b,floating:S}),[b,S]),H=ve.useMemo(()=>{let P={position:o,left:0,top:0};if(!N.floating)return P;let O=Cc(N.floating,l.x),M=Cc(N.floating,l.y);return a?{...P,transform:"translate("+O+"px, "+M+"px)",...Nc(N.floating)>=1.5&&{willChange:"transform"}}:{position:o,left:O,top:M}},[o,a,N.floating,l.x,l.y]);return ve.useMemo(()=>({...l,update:L,refs:R,elements:N,floatingStyles:H}),[l,L,R,N,H])}var Jr=(e,t)=>{let o=Rc(e);return{name:o.name,fn:o.fn,options:[e,t]}},$r=(e,t)=>{let o=Sc(e);return{name:o.name,fn:o.fn,options:[e,t]}},ei=(e,t)=>({fn:Pc(e).fn,options:[e,t]}),ti=(e,t)=>{let o=Ec(e);return{name:o.name,fn:o.fn,options:[e,t]}},oi=(e,t)=>{let o=Tc(e);return{name:o.name,fn:o.fn,options:[e,t]}};var ni=(e,t)=>{let o=kc(e);return{name:o.name,fn:o.fn,options:[e,t]}};var _o=h(z(),1),qc=h(Mt(),1);var Xc=h(z(),1);var q=(e,t,o,n,r,i,...s)=>{if(s.length>0)throw new Error(Pe(1));let a;if(e&&t&&o&&n&&r&&i)a=(d,c,l,f)=>{let p=e(d,c,l,f),m=t(d,c,l,f),u=o(d,c,l,f),g=n(d,c,l,f),v=r(d,c,l,f);return i(p,m,u,g,v,c,l,f)};else if(e&&t&&o&&n&&r)a=(d,c,l,f)=>{let p=e(d,c,l,f),m=t(d,c,l,f),u=o(d,c,l,f),g=n(d,c,l,f);return r(p,m,u,g,c,l,f)};else if(e&&t&&o&&n)a=(d,c,l,f)=>{let p=e(d,c,l,f),m=t(d,c,l,f),u=o(d,c,l,f);return n(p,m,u,c,l,f)};else if(e&&t&&o)a=(d,c,l,f)=>{let p=e(d,c,l,f),m=t(d,c,l,f);return o(p,m,c,l,f)};else if(e&&t)a=(d,c,l,f)=>{let p=e(d,c,l,f);return t(p,c,l,f)};else if(e)a=e;else throw new Error("Missing arguments");return a};var Uc=h(z(),1),li=h(ii(),1),Gc=h(jc(),1);var Fc=h(z(),1);var si=[],ai;function Vc(){return ai}function Wc(e){si.push(e)}function ci(e){let t=(o,n)=>{let r=Se(Wm).current,i;try{ai=r;for(let s of si)s.before(r);i=e(o,n);for(let s of si)s.after(r);r.didInitialize=!0}finally{ai=void 0}return i};return t.displayName=e.displayName||e.name,t}function Yc(e){return Fc.forwardRef(ci(e))}function Wm(){return{didInitialize:!1}}var Ym=ao(19),Um=Ym?Xm:Km;function jn(e,t,o,n,r){return Um(e,t,o,n,r)}function Gm(e,t,o,n,r){let i=Uc.useCallback(()=>t(e.getSnapshot(),o,n,r),[e,t,o,n,r]);return(0,li.useSyncExternalStore)(e.subscribe,i,i)}Wc({before(e){e.syncIndex=0,e.didInitialize||(e.syncTick=1,e.syncHooks=[],e.didChangeStore=!0,e.getSnapshot=()=>{let t=!1;for(let o=0;o<e.syncHooks.length;o+=1){let n=e.syncHooks[o],r=n.selector(n.store.state,n.a1,n.a2,n.a3);Object.is(n.value,r)||(t=!0,n.value=r)}return t&&(e.syncTick+=1),e.syncTick})},after(e){e.syncHooks.length>0&&(e.didChangeStore&&(e.didChangeStore=!1,e.subscribe=t=>{let o=new Set;for(let r of e.syncHooks)o.add(r.store);let n=[];for(let r of o)n.push(r.subscribe(t));return()=>{for(let r of n)r()}}),(0,li.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot))}});function Xm(e,t,o,n,r){let i=Vc();if(!i)return Gm(e,t,o,n,r);let s=i.syncIndex;i.syncIndex+=1;let a;return i.didInitialize?(a=i.syncHooks[s],(a.store!==e||a.selector!==t||!Object.is(a.a1,o)||!Object.is(a.a2,n)||!Object.is(a.a3,r))&&(a.store!==e&&(i.didChangeStore=!0),a.store=e,a.selector=t,a.a1=o,a.a2=n,a.a3=r,a.value=t(e.getSnapshot(),o,n,r))):(a={store:e,selector:t,a1:o,a2:n,a3:r,value:t(e.getSnapshot(),o,n,r)},i.syncHooks.push(a)),a.value}function Km(e,t,o,n,r){return(0,Gc.useSyncExternalStoreWithSelector)(e.subscribe,e.getSnapshot,e.getSnapshot,i=>t(i,o,n,r))}var Fn=class{constructor(t){this.state=t,this.listeners=new Set,this.updateTick=0}subscribe=t=>(this.listeners.add(t),()=>{this.listeners.delete(t)});getSnapshot=()=>this.state;setState(t){if(this.state===t)return;this.state=t,this.updateTick+=1;let o=this.updateTick;for(let n of this.listeners){if(o!==this.updateTick)return;n(t)}}update(t){for(let o in t)if(!Object.is(this.state[o],t[o])){this.setState({...this.state,...t});return}}set(t,o){Object.is(this.state[t],o)||this.setState({...this.state,[t]:o})}notifyAll(){let t={...this.state};this.setState(t)}use(t,o,n,r){return jn(this,t,o,n,r)}};var Jt=h(z(),1);var vo=class extends Fn{constructor(t,o={},n){super(t),this.context=o,this.selectors=n}useSyncedValue(t,o){Jt.useDebugValue(t);let n=this;D(()=>{n.state[t]!==o&&n.set(t,o)},[n,t,o])}useSyncedValueWithCleanup(t,o){let n=this;D(()=>(n.state[t]!==o&&n.set(t,o),()=>{n.set(t,void 0)}),[n,t,o])}useSyncedValues(t){let o=this,n=Object.values(t);D(()=>{o.update(t)},[o,...n])}useControlledProp(t,o){Jt.useDebugValue(t);let n=this,r=o!==void 0;D(()=>{r&&!Object.is(n.state[t],o)&&n.setState({...n.state,[t]:o})},[n,t,o,r])}select(t,o,n,r){let i=this.selectors[t];return i(this.state,o,n,r)}useState(t,o,n,r){return Jt.useDebugValue(t),jn(this,this.selectors[t],o,n,r)}useContextCallback(t,o){Jt.useDebugValue(t);let n=Y(o??Nt);this.context[t]=n}useStateSetter(t){let o=Jt.useRef(void 0);return o.current===void 0&&(o.current=n=>{this.set(t,n)}),o.current}observe(t,o){let n;typeof t=="function"?n=t:n=this.selectors[t];let r=n(this.state);return o(r,r,this),this.subscribe(i=>{let s=n(i);if(!Object.is(r,s)){let a=r;r=s,o(s,a,this)}})}};var qm={open:q(e=>e.open),transitionStatus:q(e=>e.transitionStatus),domReferenceElement:q(e=>e.domReferenceElement),referenceElement:q(e=>e.positionReference??e.referenceElement),floatingElement:q(e=>e.floatingElement),floatingId:q(e=>e.floatingId)},pt=class extends vo{constructor(t){let{syncOnly:o,nested:n,onOpenChange:r,triggerElements:i,...s}=t;super({...s,positionReference:s.referenceElement,domReferenceElement:s.referenceElement},{onOpenChange:r,dataRef:{current:{}},events:ec(),nested:n,triggerElements:i},qm),this.syncOnly=o}syncOpenEvent=(t,o)=>{(!t||!this.state.open||o!=null&&Ha(o))&&(this.context.dataRef.current.openEvent=t?o:void 0)};dispatchOpenChange=(t,o)=>{this.syncOpenEvent(t,o.event);let n={open:t,reason:o.reason,nativeEvent:o.event,nested:this.context.nested,triggerElement:o.trigger};this.context.events.emit("openchange",n)};setOpen=(t,o)=>{if(this.syncOnly){this.context.onOpenChange?.(t,o);return}this.dispatchOpenChange(t,o),this.context.onOpenChange?.(t,o)}};function Kc(e){let{popupStore:t,treatPopupAsFloatingElement:o=!1,floatingRootContext:n,floatingId:r,nested:i,onOpenChange:s}=e,a=t.useState("open"),d=t.useState("activeTriggerElement"),c=t.useState(o?"popupElement":"positionerElement"),l=t.context.triggerElements,f=s,p=Xc.useRef(null);n===void 0&&p.current===null&&(p.current=new pt({open:a,transitionStatus:void 0,referenceElement:d,floatingElement:c,triggerElements:l,onOpenChange:f,floatingId:r,syncOnly:!0,nested:i}));let m=n??p.current;return t.useSyncedValue("floatingId",r),D(()=>{let u={open:a,floatingId:r,referenceElement:d,floatingElement:c};V(d)&&(u.domReferenceElement=d),m.state.positionReference===m.state.referenceElement&&(u.positionReference=d),m.update(u)},[a,r,d,c,m]),m.context.onOpenChange=f,m.context.nested=i,m}var Zc={tabIndex:-1,[Dr]:""};function Qc(e,t,o=!1){let n=Lt(),r=bo()!=null,i=_o.useRef(null);e===void 0&&i.current===null&&(i.current=t(n,r));let s=e??i.current;return Kc({popupStore:s,treatPopupAsFloatingElement:o,floatingRootContext:s.state.floatingRootContext,floatingId:n,nested:r,onOpenChange:s.setOpen}),{store:s,internalStore:i.current}}function Zm(e,t){let o=_o.useRef(null),n=_o.useRef(null);return _o.useCallback(r=>{if(e===void 0)return;let i=!1;if(o.current!==null){let s=o.current,a=n.current,d=t.context.triggerElements.getById(s);a&&d===a&&(t.context.triggerElements.delete(s),i=!0),o.current=null,n.current=null}if(r!==null&&(o.current=e,n.current=r,t.context.triggerElements.add(e,r),i=!0),i){let s=t.context.triggerElements.size;t.select("open")&&t.state.triggerCount!==s&&t.set("triggerCount",s)}},[t,e])}function Qm(e,t,o,n=!1){t?e.preventUnmountingOnClose=!1:n&&(e.preventUnmountingOnClose=!0);let r=o?.id??null;(r||t)&&(e.activeTriggerId=r,e.activeTriggerElement=o??null)}function Jm(e){let t=!1;return e.preventUnmountOnClose=()=>{t=!0},()=>t}function Jc(e,t,o,n={}){let r=o.reason,i=r===U.triggerHover,s=t&&r===U.triggerFocus,a=!t&&(r===U.triggerPress||r===U.escapeKey),d=Jm(o);if(e.context.onOpenChange?.(t,o),o.isCanceled)return;n.onBeforeDispatch?.(),e.state.floatingRootContext.dispatchOpenChange(t,o);let c=()=>{let l={...n.extraState,open:t};s?l.instantType="focus":a?l.instantType="dismiss":i&&(l.instantType=void 0),Qm(l,t,o.trigger,d()),e.update(l)};i?qc.flushSync(c):c()}function $c(e,t,o,n){Oa(()=>{t===void 0&&e.state.open===!1&&o&&(e.state={...e.state,open:!0,activeTriggerId:n,preventUnmountingOnClose:!1})})}function el(e,t,o,n){let r=o.useState("isMountedByTrigger",e),i=Zm(e,o),s=Y(a=>{if(i(a),!a)return;let d=o.select("open"),c=o.select("activeTriggerId");if(c===e){o.update({activeTriggerElement:a,...d?n:null});return}c==null&&d&&o.update({activeTriggerId:e,activeTriggerElement:a,...n})});return D(()=>{r&&o.update({activeTriggerElement:t.current,...n})},[r,o,t,...Object.values(n)]),{registerTrigger:s,isMountedByThisTrigger:r}}function tl(e,t={}){let{closeOnActiveTriggerUnmount:o=!1}=t,n=e.useState("open"),r=e.useState("triggerCount");D(()=>{if(!n){e.state.triggerCount!==0&&e.set("triggerCount",0);return}let i=e.context.triggerElements.size,s={};e.state.triggerCount!==i&&(s.triggerCount=i);let a=e.select("activeTriggerId"),d=null;if(a){let c=e.context.triggerElements.getById(a);c?c!==e.state.activeTriggerElement&&(s.activeTriggerElement=c):d=a}if(!d&&!a&&i===1){let c=e.context.triggerElements.entries().next();if(!c.done){let[l,f]=c.value;s.activeTriggerId=l,s.activeTriggerElement=f}}(s.triggerCount!==void 0||s.activeTriggerId!==void 0||s.activeTriggerElement!==void 0)&&e.update(s),d&&o&&queueMicrotask(()=>{if(e.select("open")&&e.select("activeTriggerId")===d&&!e.context.triggerElements.getById(d)){let c=ee(U.none);e.setOpen(!1,c),c.isCanceled||e.update({activeTriggerId:null,activeTriggerElement:null})}})},[n,e,r,o])}function ol(e,t,o){let{mounted:n,setMounted:r,transitionStatus:i}=ha(e),s=t.useState("preventUnmountingOnClose"),a=e?!1:s;t.useSyncedValues({mounted:n,transitionStatus:i,preventUnmountingOnClose:a});let d=Y(()=>{r(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1,preventUnmountingOnClose:!1}),o?.(),t.context.onOpenChangeComplete?.(!1)});return Pn({enabled:n&&!e&&!a,open:e,ref:t.context.popupRef,onComplete(){e||d()}}),{forceUnmount:d,transitionStatus:i}}function nl(e,t){e.useSyncedValues(t),D(()=>()=>{e.update({activeTriggerProps:be,inactiveTriggerProps:be,popupProps:be})},[e])}var jt=class{constructor(){this.elementsSet=new Set,this.idMap=new Map}add(t,o){let n=this.idMap.get(t);n!==o&&(n!==void 0&&this.elementsSet.delete(n),this.elementsSet.add(o),this.idMap.set(t,o))}delete(t){let o=this.idMap.get(t);o&&(this.elementsSet.delete(o),this.idMap.delete(t))}hasElement(t){return this.elementsSet.has(t)}hasMatchingElement(t){for(let o of this.elementsSet)if(t(o))return!0;return!1}getById(t){return this.idMap.get(t)}entries(){return this.idMap.entries()}elements(){return this.elementsSet.values()}get size(){return this.idMap.size}};function rl(){return new pt({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new jt,floatingId:void 0,syncOnly:!1,nested:!1,onOpenChange:void 0})}function sl(){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:rl(),floatingId:void 0,triggerCount:0,preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:be,inactiveTriggerProps:be,popupProps:be}}function al(e,t,o=!1){return new pt({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:e,floatingId:t,syncOnly:!0,nested:o,onOpenChange:void 0})}var Ko=q(e=>e.triggerIdProp??e.activeTriggerId),di=q(e=>e.openProp??e.open),il=q(e=>(e.popupElement?.id??e.floatingId)||void 0);function cl(e,t){return t!==void 0&&di(e)&&Ko(e)===t}function $m(e,t){return cl(e,t)?!0:t!==void 0&&di(e)&&Ko(e)==null&&e.triggerCount===1}var ll={open:di,mounted:q(e=>e.mounted),transitionStatus:q(e=>e.transitionStatus),floatingRootContext:q(e=>e.floatingRootContext),triggerCount:q(e=>e.triggerCount),preventUnmountingOnClose:q(e=>e.preventUnmountingOnClose),payload:q(e=>e.payload),activeTriggerId:Ko,activeTriggerElement:q(e=>e.mounted?e.activeTriggerElement:null),popupId:il,isTriggerActive:q((e,t)=>t!==void 0&&Ko(e)===t),isOpenedByTrigger:q((e,t)=>cl(e,t)),isMountedByTrigger:q((e,t)=>t!==void 0&&Ko(e)===t&&e.mounted),triggerProps:q((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),triggerPopupId:q((e,t)=>$m(e,t)?il(e):void 0),popupProps:q(e=>e.popupProps),popupElement:q(e=>e.popupElement),positionerElement:q(e=>e.positionerElement)};function dl(e){let{open:t=!1,onOpenChange:o,elements:n={}}=e,r=Lt(),i=bo()!=null,s=Se(()=>new pt({open:t,transitionStatus:void 0,onOpenChange:o,referenceElement:n.reference??null,floatingElement:n.floating??null,triggerElements:new jt,floatingId:r,syncOnly:!1,nested:i})).current;return D(()=>{let a={open:t,floatingId:r};n.reference!==void 0&&(a.referenceElement=n.reference,a.domReferenceElement=V(n.reference)?n.reference:null),n.floating!==void 0&&(a.floatingElement=n.floating),s.update(a)},[t,r,n.reference,n.floating,s]),s.context.onOpenChange=o,s.context.nested=i,s}function ui(e={}){let{nodeId:t,externalTree:o}=e,n=dl(e),r=e.rootContext||n,i=r.useState("referenceElement"),s=r.useState("floatingElement"),a=r.useState("domReferenceElement"),d=r.useState("open"),c=r.useState("floatingId"),[l,f]=Ne.useState(null),[p,m]=Ne.useState(void 0),[u,g]=Ne.useState(void 0),v=Ne.useRef(null),_=Dt(o),w=Ne.useMemo(()=>({reference:i,floating:s,domReference:a}),[i,s,a]),y=Lc({...e,elements:{...w,...l&&{reference:l}}}),b=V(p)?p:null,S=u===void 0?r.state.floatingElement:u;r.useSyncedValue("referenceElement",p??null),r.useSyncedValue("domReferenceElement",p===void 0?a:b),r.useSyncedValue("floatingElement",S);let x=Ne.useCallback(A=>{let L=V(A)?{getBoundingClientRect:()=>A.getBoundingClientRect(),getClientRects:()=>A.getClientRects(),contextElement:A}:A;f(L),y.refs.setReference(L)},[y.refs]),E=Ne.useCallback(A=>{(V(A)||A===null)&&(v.current=A,m(A)),(V(y.refs.reference.current)||y.refs.reference.current===null||A!==null&&!V(A))&&y.refs.setReference(A)},[y.refs,m]),T=Ne.useCallback(A=>{g(A),y.refs.setFloating(A)},[y.refs]),k=Ne.useMemo(()=>({...y.refs,setReference:E,setFloating:T,setPositionReference:x,domReference:v}),[y.refs,E,T,x]),C=Ne.useMemo(()=>({...y.elements,domReference:a}),[y.elements,a]),j=Ne.useMemo(()=>({...y,dataRef:r.context.dataRef,open:d,onOpenChange:r.setOpen,events:r.context.events,floatingId:c,refs:k,elements:C,nodeId:t,rootStore:r}),[y,k,C,t,r,d,c]);return D(()=>{a&&(v.current=a)},[a]),D(()=>{r.context.dataRef.current.floatingContext=j;let A=_?.nodesRef.current.find(L=>L.id===t);A&&(A.context=j)}),Ne.useMemo(()=>({...y,context:j,refs:k,elements:C,rootStore:r}),[y,k,C,j,r])}var mt=h(z(),1);var fi=xt.os.mac&&xt.engine.webkit;function pi(e,t={}){let{enabled:o=!0,delay:n}=t,r="rootStore"in e?e.rootStore:e,{events:i,dataRef:s}=r.context,a=mt.useRef(!1),d=mt.useRef(null),c=mt.useRef(!0),l=rt();mt.useEffect(()=>{let p=r.select("domReferenceElement");if(!o)return;let m=ge(p);function u(){let _=r.select("domReferenceElement");!r.select("open")&&we(_)&&_===Cn(xe(_))&&(a.current=!0)}function g(){c.current=!0}function v(){c.current=!1}return it(re(m,"blur",u),fi&&re(m,"keydown",g,!0),fi&&re(m,"pointerdown",v,!0))},[r,o]),mt.useEffect(()=>{if(!o)return;function p(m){if(m.reason===U.triggerPress||m.reason===U.escapeKey){let u=r.select("domReferenceElement");V(u)&&(d.current=u,a.current=!0)}}return i.on("openchange",p),()=>{i.off("openchange",p)}},[i,o,r]);let f=mt.useMemo(()=>{function p(){a.current=!1,d.current=null}return{onMouseLeave(){p()},onFocus(m){let u=m.currentTarget;if(a.current){if(d.current===u)return;p()}let g=Me(m.nativeEvent);if(V(g)){if(fi&&!m.relatedTarget){if(!c.current&&!Da(g))return}else if(!ja(g))return}let v=Bt(m.relatedTarget,r.context.triggerElements),{nativeEvent:_,currentTarget:w}=m,y=typeof n=="function"?n():n;if(r.select("open")&&v||y===0||y===void 0){r.setOpen(!0,ee(U.triggerFocus,_,w));return}l.start(y,()=>{a.current||r.setOpen(!0,ee(U.triggerFocus,_,w))})},onBlur(m){p();let u=m.relatedTarget,g=m.nativeEvent,v=V(u)&&u.hasAttribute(go("focus-guard"))&&u.getAttribute("data-type")==="outside";l.start(0,()=>{let _=r.select("domReferenceElement"),w=Cn(xe(_));!u&&w===_||ie(s.current.floatingContext?.refs.floating.current,w)||ie(_,w)||v||Bt(u??w,r.context.triggerElements)||r.setOpen(!1,ee(U.triggerFocus,g))})}}},[s,n,r,l]);return mt.useMemo(()=>o?{reference:f,trigger:f}:{},[o,f])}var gi=h(z(),1);var mi=class e{constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new Ye,this.restTimeout=new Ye,this.handleCloseOptions=void 0}static create(){return new e}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose},Vn=new WeakMap;function yo(e){if(!e.performedPointerEventsMutation)return;let t=e.pointerEventsScopeElement;t&&Vn.get(t)===e&&(e.pointerEventsScopeElement?.style.removeProperty("pointer-events"),e.pointerEventsReferenceElement?.style.removeProperty("pointer-events"),e.pointerEventsFloatingElement?.style.removeProperty("pointer-events"),Vn.delete(t)),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null}function Wn(e,t){let{scopeElement:o,referenceElement:n,floatingElement:r}=t,i=Vn.get(o);i&&i!==e&&yo(i),yo(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=o,e.pointerEventsReferenceElement=n,e.pointerEventsFloatingElement=r,Vn.set(o,e),o.style.pointerEvents="none",n.style.pointerEvents="auto",r.style.pointerEvents="auto"}function xo(e){let t=e.context.dataRef.current,o=Se(()=>t.hoverInteractionState??mi.create()).current;return t.hoverInteractionState||(t.hoverInteractionState=o),co(t.hoverInteractionState.disposeEffect),t.hoverInteractionState}function bi(e,t={}){let{enabled:o=!0,closeDelay:n=0,nodeId:r}=t,i="rootStore"in e?e.rootStore:e,s=i.useState("open"),a=i.useState("floatingElement"),d=i.useState("domReferenceElement"),{dataRef:c}=i.context,l=Dt(),f=bo(),p=xo(i),m=rt(),u=Y(()=>On(c.current.openEvent?.type,p.interactedInside)),g=Y(()=>Fa(c.current.openEvent?.type)),v=Y(()=>{yo(p)});D(()=>{s||(p.pointerType=void 0,p.restTimeoutPending=!1,p.interactedInside=!1,v())},[s,p,v]),gi.useEffect(()=>v,[v]),D(()=>{if(o&&s&&p.handleCloseOptions?.blockPointerEvents&&g()&&V(d)&&a){let _=d,w=a,y=xe(a),b=l?.nodesRef.current.find(T=>T.id===f)?.context?.elements.floating;b&&(b.style.pointerEvents="");let S=p.pointerEventsScopeElement!==w?p.pointerEventsScopeElement:null,x=b!==w?b:null,E=p.handleCloseOptions?.getScope?.()??S??x??_.closest("[data-rootownerid]")??y.body;return Wn(p,{scopeElement:E,referenceElement:_,floatingElement:w}),()=>{v()}}},[o,s,d,a,p,g,l,f,v]),gi.useEffect(()=>{if(!o)return;function _(){return!!(l&&f&&Et(l.nodesRef.current,f).length>0)}function w(T){let k=St(n,"close",p.pointerType),C=()=>{i.setOpen(!1,ee(U.triggerHover,T)),l?.events.emit("floating.closed",T)};k?p.openChangeTimeout.start(k,C):(p.openChangeTimeout.clear(),C())}function y(T){let k=Me(T);if(!Fr(k)){p.interactedInside=!1;return}p.interactedInside=k?.closest("[aria-haspopup]")!=null}function b(){p.openChangeTimeout.clear(),m.clear(),l?.events.off("floating.closed",x),v()}function S(T){if(_()&&l){l.events.on("floating.closed",x);return}if(Bt(T.relatedTarget,i.context.triggerElements))return;let k=c.current.floatingContext?.nodeId??r,C=T.relatedTarget;if(!(l&&k&&V(C)&&Et(l.nodesRef.current,k,!1).some(A=>ie(A.context?.elements.floating,C)))){if(p.handler){p.handler(T);return}v(),g()&&!u()&&w(T)}}function x(T){!l||!f||_()||m.start(0,()=>{l.events.off("floating.closed",x),i.setOpen(!1,ee(U.triggerHover,T)),l.events.emit("floating.closed",T)})}let E=a;return it(E&&re(E,"mouseenter",b),E&&re(E,"mouseleave",S),E&&re(E,"pointerdown",y,!0),()=>{l?.events.off("floating.closed",x)})},[o,a,i,c,n,r,g,u,v,p,l,f,m])}var Ft=h(z(),1),ul=h(Mt(),1);var eg={current:null};function hi(e,t={}){let{enabled:o=!0,delay:n=0,handleClose:r=null,mouseOnly:i=!1,restMs:s=0,move:a=!0,triggerElementRef:d=eg,externalTree:c,isActiveTrigger:l=!0,getHandleCloseContext:f,isClosing:p,shouldOpen:m}=t,u="rootStore"in e?e.rootStore:e,{dataRef:g,events:v}=u.context,_=Dt(c),w=xo(u),y=Ft.useRef(!1),b=ze(r),S=ze(n),x=ze(s),E=ze(o),T=ze(m),k=ze(p),C=Y(()=>On(g.current.openEvent?.type,w.interactedInside)),j=Y(()=>T.current?.()!==!1),A=Y((R,N,H)=>{let P=u.context.triggerElements;if(P.hasElement(N))return!R||!ie(R,N);if(!V(H))return!1;let O=H;return P.hasMatchingElement(M=>ie(M,O))&&(!R||!ie(R,O))}),L=Y(()=>{if(!w.handler)return;xe(u.select("domReferenceElement")).removeEventListener("mousemove",w.handler),w.handler=void 0}),I=Y(()=>{yo(w)});return l&&(w.handleCloseOptions=b.current?.__options),Ft.useEffect(()=>L,[L]),Ft.useEffect(()=>{if(!o)return;function R(N){N.open?y.current=!1:(y.current=N.reason===U.triggerHover,L(),w.openChangeTimeout.clear(),w.restTimeout.clear(),w.blockMouseMove=!0,w.restTimeoutPending=!1)}return v.on("openchange",R),()=>{v.off("openchange",R)}},[o,v,w,L]),Ft.useEffect(()=>{if(!o)return;function R(O,M=!0){let Z=St(S.current,"close",w.pointerType);Z?w.openChangeTimeout.start(Z,()=>{u.setOpen(!1,ee(U.triggerHover,O)),_?.events.emit("floating.closed",O)}):M&&(w.openChangeTimeout.clear(),u.setOpen(!1,ee(U.triggerHover,O)),_?.events.emit("floating.closed",O))}let N=d.current??(l?u.select("domReferenceElement"):null);if(!V(N))return;function H(O){if(w.openChangeTimeout.clear(),w.blockMouseMove=!1,i&&!Rt(w.pointerType))return;let M=Vr(x.current),Z=St(S.current,"open",w.pointerType),W=Me(O),oe=O.currentTarget??null,te=u.select("domReferenceElement"),se=oe;if(V(W)&&!u.context.triggerElements.hasElement(W)){for(let ue of u.context.triggerElements.elements())if(ie(ue,W)){se=ue;break}}V(oe)&&V(te)&&!u.context.triggerElements.hasElement(oe)&&ie(oe,te)&&(se=te);let G=se==null?!1:A(te,se,W),K=u.select("open"),J=k.current?.()??u.select("transitionStatus")==="ending",ne=!K&&J&&y.current,me=!G&&V(se)&&V(te)&&ie(te,se)&&ne,le=M>0&&!Z,X=G&&(K||ne)||me,pe=!K||G;if(X){j()&&u.setOpen(!0,ee(U.triggerHover,O,se));return}le||(Z?w.openChangeTimeout.start(Z,()=>{pe&&j()&&u.setOpen(!0,ee(U.triggerHover,O,se))}):pe&&j()&&u.setOpen(!0,ee(U.triggerHover,O,se)))}function P(O){if(C()){I();return}L();let M=u.select("domReferenceElement"),Z=xe(M);w.restTimeout.clear(),w.restTimeoutPending=!1;let W=g.current.floatingContext??f?.();if(Bt(O.relatedTarget,u.context.triggerElements))return;if(b.current&&W){u.select("open")||w.openChangeTimeout.clear();let te=d.current;w.handler=b.current({...W,tree:_,x:O.clientX,y:O.clientY,onClose(){I(),L(),E.current&&!C()&&te===u.select("domReferenceElement")&&R(O,!0)}}),Z.addEventListener("mousemove",w.handler),w.handler(O);return}(w.pointerType!=="touch"||!ie(u.select("floatingElement"),O.relatedTarget))&&R(O)}return a?it(re(N,"mousemove",H,{once:!0}),re(N,"mouseenter",H),re(N,"mouseleave",P)):it(re(N,"mouseenter",H),re(N,"mouseleave",P))},[L,I,g,S,u,o,b,w,l,A,C,i,a,x,d,_,E,f,k,j]),Ft.useMemo(()=>{if(!o)return;function R(N){w.pointerType=N.pointerType}return{onPointerDown:R,onPointerEnter:R,onMouseMove(N){let{nativeEvent:H}=N,P=N.currentTarget,O=u.select("domReferenceElement"),M=u.select("open"),Z=A(O,P,N.target);if(i&&!Rt(w.pointerType))return;if(M&&Z&&w.handleCloseOptions?.blockPointerEvents){let te=u.select("floatingElement");if(te){let se=w.handleCloseOptions?.getScope?.()??P.ownerDocument.body;Wn(w,{scopeElement:se,referenceElement:P,floatingElement:te})}}let W=Vr(x.current);if(M&&!Z||W===0||!Z&&w.restTimeoutPending&&N.movementX**2+N.movementY**2<2)return;w.restTimeout.clear();function oe(){if(w.restTimeoutPending=!1,C())return;let te=u.select("open");!w.blockMouseMove&&(!te||Z)&&j()&&u.setOpen(!0,ee(U.triggerHover,H,P))}w.pointerType==="touch"?ul.flushSync(()=>{oe()}):Z&&M?oe():(w.restTimeoutPending=!0,w.restTimeout.start(W,oe))}}},[o,w,C,A,i,u,x,j])}var fl=.1,tg=fl*fl,ce=.5;function Yn(e,t,o,n,r,i){return n>=t!=i>=t&&e<=(r-o)*(t-n)/(i-n)+o}function Un(e,t,o,n,r,i,s,a,d,c){let l=!1;return Yn(e,t,o,n,r,i)&&(l=!l),Yn(e,t,r,i,s,a)&&(l=!l),Yn(e,t,s,a,d,c)&&(l=!l),Yn(e,t,d,c,o,n)&&(l=!l),l}function og(e,t,o){return e>=o.x&&e<=o.x+o.width&&t>=o.y&&t<=o.y+o.height}function Gn(e,t,o,n,r,i){let s=Math.min(o,r),a=Math.max(o,r),d=Math.min(n,i),c=Math.max(n,i);return e>=s&&e<=a&&t>=d&&t<=c}function wi(e={}){let{blockPointerEvents:t=!1}=e,o=new Ye,n=({x:r,y:i,placement:s,elements:a,onClose:d,nodeId:c,tree:l})=>{let f=s?.split("-")[0],p=!1,m=null,u=null,g=typeof performance<"u"?performance.now():0;function v(w,y){let b=performance.now(),S=b-g;if(m===null||u===null||S===0)return m=w,u=y,g=b,!1;let x=w-m,E=y-u,T=x*x+E*E,k=S*S*tg;return m=w,u=y,g=b,T<k}function _(){o.clear(),d()}return function(y){o.clear();let b=a.domReference,S=a.floating;if(!b||!S||f==null||r==null||i==null)return;let{clientX:x,clientY:E}=y,T=Me(y),k=y.type==="mouseleave",C=ie(S,T),j=ie(b,T);if(C&&(p=!0,!k))return;if(j&&(p=!1,!k)){p=!0;return}if(k&&V(y.relatedTarget)&&ie(S,y.relatedTarget))return;function A(){return!!(l&&Et(l.nodesRef.current,c).length>0)}function L(){A()||_()}if(A())return;let I=b.getBoundingClientRect(),R=S.getBoundingClientRect(),N=r>R.right-R.width/2,H=i>R.bottom-R.height/2,P=R.width>I.width,O=R.height>I.height,M=(P?I:R).left,Z=(P?I:R).right,W=(O?I:R).top,oe=(O?I:R).bottom;if(f==="top"&&i>=I.bottom-1||f==="bottom"&&i<=I.top+1||f==="left"&&r>=I.right-1||f==="right"&&r<=I.left+1){L();return}let te=!1;switch(f){case"top":te=Gn(x,E,M,I.top+1,Z,R.bottom-1);break;case"bottom":te=Gn(x,E,M,R.top+1,Z,I.bottom-1);break;case"left":te=Gn(x,E,R.right-1,oe,I.left+1,W);break;case"right":te=Gn(x,E,I.right-1,oe,R.left+1,W);break;default:}if(te)return;if(p&&!og(x,E,I)){L();return}if(!k&&v(x,E)){L();return}let se=!1;switch(f){case"top":{let G=P?ce/2:ce*4,K=P||N?r+G:r-G,J=P?r-G:N?r+G:r-G,ne=i+ce+1,me=N||P?R.bottom-ce:R.top,le=N?P?R.bottom-ce:R.top:R.bottom-ce;se=Un(x,E,K,ne,J,ne,R.left,me,R.right,le);break}case"bottom":{let G=P?ce/2:ce*4,K=P||N?r+G:r-G,J=P?r-G:N?r+G:r-G,ne=i-ce,me=N||P?R.top+ce:R.bottom,le=N?P?R.top+ce:R.bottom:R.top+ce;se=Un(x,E,K,ne,J,ne,R.left,me,R.right,le);break}case"left":{let G=O?ce/2:ce*4,K=O||H?i+G:i-G,J=O?i-G:H?i+G:i-G,ne=r+ce+1,me=H||O?R.right-ce:R.left,le=H?O?R.right-ce:R.left:R.right-ce;se=Un(x,E,me,R.top,le,R.bottom,ne,K,ne,J);break}case"right":{let G=O?ce/2:ce*4,K=O||H?i+G:i-G,J=O?i-G:H?i+G:i-G,ne=r-ce,me=H||O?R.left+ce:R.right,le=H?O?R.left+ce:R.right:R.left+ce;se=Un(x,E,ne,K,ne,J,me,R.top,le,R.bottom);break}default:}se?p||o.start(40,L):L()}};return n.__options={...e,blockPointerEvents:t},n}var vi=(function(e){return e.open="data-open",e.closed="data-closed",e[e.startingStyle=Yt.startingStyle]="startingStyle",e[e.endingStyle=Yt.endingStyle]="endingStyle",e.anchorHidden="data-anchor-hidden",e.side="data-side",e.align="data-align",e})({}),qo=(function(e){return e.popupOpen="data-popup-open",e.pressed="data-pressed",e})({}),ng={[qo.popupOpen]:""},B_={[qo.popupOpen]:"",[qo.pressed]:""},rg={[vi.open]:""},ig={[vi.closed]:""},sg={[vi.anchorHidden]:""},pl={open(e){return e?ng:null}};var Ro={open(e){return e?rg:ig},anchorHidden(e){return e?sg:null}};function ml(e){return ao(19)?e:e?"true":void 0}var Ge=h(z(),1);var ag=e=>({name:"arrow",options:e,async fn(t){let{x:o,y:n,placement:r,rects:i,platform:s,elements:a,middlewareData:d}=t,{element:c,padding:l=0,offsetParent:f="real"}=at(e,t)||{};if(c==null)return{};let p=In(l),m={x:o,y:n},u=Go(r),g=Uo(u),v=await s.getDimensions(c),_=u==="y",w=_?"top":"left",y=_?"bottom":"right",b=_?"clientHeight":"clientWidth",S=i.reference[g]+i.reference[u]-m[u]-i.floating[g],x=m[u]-i.reference[u],E=f==="real"?await s.getOffsetParent?.(c):a.floating,T=a.floating[b]||i.floating[g];(!T||!await s.isElement?.(E))&&(T=a.floating[b]||i.floating[g]);let k=S/2-x/2,C=T/2-v[g]/2-1,j=Math.min(p[w],C),A=Math.min(p[y],C),L=j,I=T-v[g]-A,R=T/2-v[g]/2+k,N=Yo(L,R,I),H=!d.arrow&&ct(r)!=null&&R!==N&&i.reference[g]/2-(R<L?j:A)-v[g]/2<0,P=H?R<L?R-L:R-I:0;return{[u]:m[u]+P,data:{[u]:N,centerOffset:R-N-P,...H&&{alignmentOffset:P}},reset:H}}}),gl=(e,t)=>({...ag(e),options:[e,t]});var cg=ni().fn,bl={name:"hide",async fn(e){let{width:t,height:o,x:n,y:r}=e.rects.reference,i=t===0&&o===0&&n===0&&r===0;return{data:{referenceHidden:(await cg(e)).data?.referenceHidden||i}}}};var Zo={sideX:"left",sideY:"top"},hl={name:"adaptiveOrigin",async fn(e){let{x:t,y:o,rects:{floating:n},elements:{floating:r},platform:i,strategy:s,placement:a}=e,d=ge(r),c=d.getComputedStyle(r);if(!(c.transitionDuration!=="0s"&&c.transitionDuration!==""))return{x:t,y:o,data:Zo};let f=await i.getOffsetParent?.(r),p={width:0,height:0};if(s==="fixed"&&d?.visualViewport)p={width:d.visualViewport.width,height:d.visualViewport.height};else if(f===d){let w=xe(r);p={width:w.documentElement.clientWidth,height:w.documentElement.clientHeight}}else await i.isElement?.(f)&&(p=await i.getDimensions(f));let m=Ee(a),u=t,g=o;m==="left"&&(u=p.width-(t+n.width)),m==="top"&&(g=p.height-(o+n.height));let v=m==="left"?"right":Zo.sideX,_=m==="top"?"bottom":Zo.sideY;return{x:u,y:g,data:{sideX:v,sideY:_}}}};function _l(e,t,o){let n=e==="inline-start"||e==="inline-end";return{top:"top",right:n?o?"inline-start":"inline-end":"right",bottom:"bottom",left:n?o?"inline-end":"inline-start":"left"}[t]}function wl(e,t,o){let{rects:n,placement:r}=e;return{side:_l(t,Ee(r),o),align:ct(r)||"center",anchor:{width:n.reference.width,height:n.reference.height},positioner:{width:n.floating.width,height:n.floating.height}}}function yl(e){let{anchor:t,positionMethod:o="absolute",side:n="bottom",sideOffset:r=0,align:i="center",alignOffset:s=0,collisionBoundary:a,collisionPadding:d=5,sticky:c=!1,arrowPadding:l=5,disableAnchorTracking:f=!1,inline:p,keepMounted:m=!1,floatingRootContext:u,mounted:g,collisionAvoidance:v,shiftCrossAxis:_=!1,nodeId:w,adaptiveOrigin:y,lazyFlip:b=!1,externalTree:S}=e,[x,E]=Ge.useState(null);!g&&x!==null&&E(null);let T=v.side||"flip",k=v.align||"flip",C=v.fallbackAxisSide||"end",j=typeof t=="function"?t:void 0,A=Y(j),L=j?A:t,I=ze(t),R=ze(g),H=so()==="rtl",P=x||{top:"top",right:"right",bottom:"bottom",left:"left","inline-end":H?"left":"right","inline-start":H?"right":"left"}[n],O=i==="center"?P:`${P}-${i}`,M=d,Z=1,W=n==="bottom"?Z:0,oe=n==="top"?Z:0,te=n==="right"?Z:0,se=n==="left"?Z:0;typeof M=="number"?M={top:M+W,right:M+se,bottom:M+oe,left:M+te}:M&&(M={top:(M.top||0)+W,right:(M.right||0)+se,bottom:(M.bottom||0)+oe,left:(M.left||0)+te});let G={boundary:a==="clipping-ancestors"?"clippingAncestors":a,padding:M},K=Ge.useRef(null),J=ze(r),ne=ze(s),me=typeof r!="function"?r:0,le=typeof s!="function"?s:0,X=[];p&&X.push(p),X.push(Jr(ae=>{let Ie=wl(ae,n,H),ut=typeof J.current=="function"?J.current(Ie):J.current,qe=typeof ne.current=="function"?ne.current(Ie):ne.current;return{mainAxis:ut,crossAxis:qe,alignmentAxis:qe}},[me,le,H,n]));let pe=k==="none"&&T!=="shift",ue=!pe&&(c||_||T==="shift"),vt=T==="none"?null:ti({...G,padding:{top:M.top+Z,right:M.right+Z,bottom:M.bottom+Z,left:M.left+Z},mainAxis:!_&&T==="flip",crossAxis:k==="flip"?"alignment":!1,fallbackAxisSideDirection:C}),Te=pe?null:$r(ae=>{let Ie=xe(ae.elements.floating).documentElement;return{...G,rootBoundary:_?{x:0,y:0,width:Ie.clientWidth,height:Ie.clientHeight}:void 0,mainAxis:k!=="none",crossAxis:ue,limiter:c||_?void 0:ei(ut=>{if(!K.current)return{};let{width:qe,height:yt}=K.current.getBoundingClientRect(),et=De(Ee(ut.placement)),Vt=et==="y"?qe:yt,io=et==="y"?M.left+M.right:M.top+M.bottom;return{offset:Vt/2+io/2}})}},[G,c,_,M,k]);T==="shift"||k==="shift"||i==="center"?X.push(Te,vt):X.push(vt,Te),X.push(oi({...G,apply({elements:{floating:ae},availableWidth:Ie,availableHeight:ut,rects:qe}){if(!R.current)return;let yt=ae.style;yt.setProperty("--available-width",`${Ie}px`),yt.setProperty("--available-height",`${ut}px`);let et=ge(ae).devicePixelRatio||1,{x:Vt,y:io,width:bn,height:br}=qe.reference,hr=(Math.round((Vt+bn)*et)-Math.round(Vt*et))/et,wr=(Math.round((io+br)*et)-Math.round(io*et))/et;yt.setProperty("--anchor-width",`${hr}px`),yt.setProperty("--anchor-height",`${wr}px`)}}),gl(ae=>({element:K.current||xe(ae.elements.floating).createElement("div"),padding:l,offsetParent:"floating"}),[l]),{name:"transformOrigin",fn(ae){let{elements:Ie,middlewareData:ut,placement:qe,rects:yt,y:et}=ae,Vt=Ee(qe),io=De(Vt),bn=K.current,br=ut.arrow?.x||0,hr=ut.arrow?.y||0,wr=bn?.clientWidth||0,ff=bn?.clientHeight||0,vr=br+wr/2,Us=hr+ff/2,pf=Math.abs(ut.shift?.y||0),mf=yt.reference.height/2,Io=typeof r=="function"?r(wl(ae,n,H)):r,gf=pf>Io,bf={top:`${vr}px calc(100% + ${Io}px)`,bottom:`${vr}px ${-Io}px`,left:`calc(100% + ${Io}px) ${Us}px`,right:`${-Io}px ${Us}px`}[Vt],hf=`${vr}px ${yt.reference.y+mf-et}px`;return Ie.floating.style.setProperty("--transform-origin",ue&&io==="y"&&gf?hf:bf),{}}},bl,y),D(()=>{!g&&u&&u.update({referenceElement:null,floatingElement:null,domReferenceElement:null,positionReference:null})},[g,u]);let Ve=Ge.useMemo(()=>({elementResize:!f&&typeof ResizeObserver<"u",layoutShift:!f&&typeof IntersectionObserver<"u"}),[f]),{refs:Ke,elements:He,x:no,y:dn,middlewareData:_e,update:ro,placement:B,context:F,isPositioned:he,floatingStyles:ke}=ui({rootContext:u,open:m?g:void 0,placement:O,middleware:X,strategy:o,whileElementsMounted:m?void 0:(...ae)=>Xo(...ae,Ve),nodeId:w,externalTree:S}),{sideX:kt,sideY:Lo}=_e.adaptiveOrigin||Zo,_t=he?o:"fixed",We=Ge.useMemo(()=>{let ae=y?{position:_t,[kt]:no,[Lo]:dn}:{position:_t,...ke};return he||(ae.opacity=0),ae},[y,_t,kt,no,Lo,dn,ke,he]),Pt=Ge.useRef(null);D(()=>{if(!g)return;let ae=I.current,Ie=typeof ae=="function"?ae():ae,qe=(vl(Ie)?Ie.current:Ie)||null||null;qe!==Pt.current&&(Ke.setPositionReference(qe),Pt.current=qe)},[g,Ke,L,I]),Ge.useEffect(()=>{if(!g)return;let ae=I.current;typeof ae!="function"&&vl(ae)&&ae.current!==Pt.current&&(Ke.setPositionReference(ae.current),Pt.current=ae.current)},[g,Ke,L,I]),Ge.useEffect(()=>{if(m&&g&&He.reference&&He.floating)return Xo(He.reference,He.floating,ro,Ve)},[m,g,He,ro,Ve]);let Ct=Ee(B),un=_l(n,Ct,H),fn=ct(B)||"center",pn=!!_e.hide?.referenceHidden;D(()=>{b&&g&&he&&E(Ct)},[b,g,he,Ct]);let mn=Ge.useMemo(()=>({position:"absolute",top:_e.arrow?.y,left:_e.arrow?.x}),[_e.arrow]),gn=_e.arrow?.centerOffset!==0;return Ge.useMemo(()=>({positionerStyles:We,arrowStyles:mn,arrowRef:K,arrowUncentered:gn,side:un,align:fn,physicalSide:Ct,anchorHidden:pn,refs:Ke,context:F,isPositioned:he,update:ro}),[We,mn,K,gn,un,fn,Ct,pn,Ke,F,he,ro])}function vl(e){return e!=null&&"current"in e}function Xn(e){return e==="starting"?Za:be}function xl(e,t,{styles:o,transitionStatus:n,props:r,refs:i,hidden:s,inert:a=!1}){let d={...o};return a&&(d.pointerEvents="none"),Ce("div",e,{state:t,ref:i,props:[{role:"presentation",hidden:s,style:d},Xn(n),r],stateAttributesMapping:Ro})}var Rl=h(z(),1);var _i=Rl.forwardRef(function(t,o){let{render:n,className:r,disabled:i=!1,focusableWhenDisabled:s=!1,nativeButton:a=!0,style:d,...c}=t,{getButtonProps:l,buttonRef:f}=Ea({disabled:i,focusableWhenDisabled:s,native:a});return Ce("button",t,{state:{disabled:i},ref:[o,f],props:[c,l]})});var Le=h(z(),1),Cl=h(Mt(),1);var Sl=h(z(),1);function El(e){let[t,o]=Sl.useState({current:e,previous:null});return e!==t.current&&o({current:e,previous:t.current}),t.previous}var So=h(z(),1);function yi(e){let t=Ae(e),o=parseFloat(t.width)||0,n=parseFloat(t.height)||0,r=we(e),i=r?e.offsetWidth:o,s=r?e.offsetHeight:n;return(zt(o)!==i||zt(n)!==s)&&(o=i,n=s),{width:o,height:n}}function kl(e){let{popupElement:t,positionerElement:o,content:n,mounted:r,onMeasureLayout:i,onMeasureLayoutComplete:s,side:a,direction:d}=e,c=mo(t,!0,!1),l=lo(),f=So.useRef(null),p=So.useRef(!0),m=So.useRef(Nt),u=Y(i),g=Y(s),v=So.useMemo(()=>{let _=a==="top",w=a==="left";return d==="rtl"?(_=_||a==="inline-end",w=w||a==="inline-end"):(_=_||a==="inline-start",w=w||a==="inline-start"),_?{position:"absolute",[a==="top"?"bottom":"top"]:"0",[w?"right":"left"]:"0"}:be},[a,d]);D(()=>{if(!r){m.current=Nt,p.current=!0,f.current=null;return}if(!t||!o)return;m.current=Tl(t,v),xi(t,"auto");let _=qn(t,"position","static"),w=qn(t,"transform","none"),y=qn(t,"scale","1"),b=Tl(o,{"--available-width":"max-content","--available-height":"max-content"});function S(){_(),w(),b()}function x(){S(),y()}if(u?.(),p.current||f.current===null){Kn(o,"max-content");let C=yi(t);return f.current=C,Kn(o,C),x(),g?.(null,C),p.current=!1,()=>{m.current(),m.current=Nt}}Kn(o,"max-content");let E=f.current,T=yi(t);f.current=T,xi(t,E),x(),g?.(E,T),Kn(o,T);let k=new AbortController;return l.request(()=>{xi(t,T),c(()=>{t.style.setProperty("--popup-width","auto"),t.style.setProperty("--popup-height","auto")},k.signal)}),()=>{k.abort(),l.cancel(),m.current(),m.current=Nt}},[n,t,o,c,l,r,u,g,v])}function qn(e,t,o){let n=e.style.getPropertyValue(t);return e.style.setProperty(t,o),()=>{e.style.setProperty(t,n)}}function Tl(e,t){let o=[];for(let[n,r]of Object.entries(t))o.push(qn(e,n,r));return o.length?()=>{o.forEach(n=>n())}:Nt}function xi(e,t){let o=t==="auto"?"auto":`${t.width}px`,n=t==="auto"?"auto":`${t.height}px`;e.style.setProperty("--popup-width",o),e.style.setProperty("--popup-height",n)}function Kn(e,t){let o=t==="max-content"?"max-content":`${t.width}px`,n=t==="max-content"?"max-content":`${t.height}px`;e.style.setProperty("--positioner-width",o),e.style.setProperty("--positioner-height",n)}var Eo=h(Q(),1);function Al(e){let{store:t,side:o,cssVars:n,children:r}=e,i=so(),s=t.useState("activeTriggerElement"),a=t.useState("activeTriggerId"),d=t.useState("open"),c=t.useState("payload"),l=t.useState("mounted"),f=t.useState("popupElement"),p=t.useState("positionerElement"),m=El(d?s:null),u=ug(a,c),g=Le.useRef(null),[v,_]=Le.useState(null),[w,y]=Le.useState(null),b=Le.useRef(null),S=Le.useRef(null),x=mo(b,!0,!1),E=lo(),[T,k]=Le.useState(null),[C,j]=Le.useState(!1);D(()=>(t.set("hasViewport",!0),()=>{t.set("hasViewport",!1)}),[t]);let A=Y(()=>{b.current?.style.setProperty("animation","none"),b.current?.style.setProperty("transition","none"),S.current?.style.setProperty("display","none")}),L=Y(P=>{b.current?.style.removeProperty("animation"),b.current?.style.removeProperty("transition"),S.current?.style.removeProperty("display"),P&&k(P)}),I=Le.useRef(null);D(()=>{(!d||!l)&&(I.current=null)},[d,l]),D(()=>{if(s&&m&&s!==m&&I.current!==s&&g.current){_(g.current),j(!0);let P=dg(m,s);y(P),E.request(()=>{Cl.flushSync(()=>{j(!1)}),x(()=>{_(null),k(null),g.current=null})}),I.current=s}},[s,m,v,x,E]),D(()=>{let P=b.current;if(!P)return;let O=xe(P).createElement("div");for(let M of Array.from(P.childNodes))O.appendChild(M.cloneNode(!0));g.current=O});let R=v!=null,N;R?N=(0,Eo.jsxs)(Le.Fragment,{children:[(0,Eo.jsx)("div",{"data-previous":!0,inert:ml(!0),ref:S,style:{...T?{[n.popupWidth]:`${T.width}px`,[n.popupHeight]:`${T.height}px`}:null,position:"absolute"},"data-ending-style":C?void 0:""},"previous"),(0,Eo.jsx)("div",{"data-current":!0,ref:b,"data-starting-style":C?"":void 0,children:r},u)]}):N=(0,Eo.jsx)("div",{"data-current":!0,ref:b,children:r},u),D(()=>{let P=S.current;!P||!v||P.replaceChildren(...Array.from(v.childNodes))},[v]),kl({popupElement:f,positionerElement:p,mounted:l,content:c,onMeasureLayout:A,onMeasureLayoutComplete:L,side:o,direction:i});let H={activationDirection:lg(w),transitioning:R};return{children:N,state:H}}function lg(e){if(e)return`${Pl(e.horizontal,5,"right","left")} ${Pl(e.vertical,5,"down","up")}`}function Pl(e,t,o,n){return e>t?o:e<-t?n:""}function dg(e,t){let o=e.getBoundingClientRect(),n=t.getBoundingClientRect(),r={x:o.left+o.width/2,y:o.top+o.height/2},i={x:n.left+n.width/2,y:n.top+n.height/2};return{horizontal:i.x-r.x,vertical:i.y-r.y}}function ug(e,t){let[o,n]=Le.useState(0),r=Le.useRef(e),i=Le.useRef(t),s=Le.useRef(!1);return D(()=>{let a=r.current,d=i.current,c=e!==a,l=t!==d;c?(n(f=>f+1),s.current=!l):s.current&&l&&(n(f=>f+1),s.current=!1),r.current=e,i.current=t},[e,t]),`${e??"current"}-${o}`}var Zn=h(z(),1),Ol=h(Mt(),1);var Nl=h(Q(),1),Ll=Zn.forwardRef(function(t,o){let{children:n,container:r,className:i,render:s,style:a,...d}=t,{portalNode:c,portalSubtree:l}=Ur({container:r,ref:o,componentProps:t,elementProps:d});return!l&&!c?null:(0,Nl.jsxs)(Zn.Fragment,{children:[l,c&&Ol.createPortal(n,c)]})});var Qe={};At(Qe,{Arrow:()=>ql,Handle:()=>Qo,Popup:()=>Xl,Portal:()=>Wl,Positioner:()=>Ul,Provider:()=>Zl,Root:()=>Ml,Trigger:()=>jl,Viewport:()=>$l,createHandle:()=>ed});var gt=h(z(),1);var Qn=h(z(),1),Ri=Qn.createContext(void 0);function Ze(e){let t=Qn.useContext(Ri);if(t===void 0&&!e)throw new Error(Pe(72));return t}var Il=h(z(),1);var fg={...ll,disabled:q(e=>e.disabled),instantType:q(e=>e.instantType),isInstantPhase:q(e=>e.isInstantPhase),trackCursorAxis:q(e=>e.trackCursorAxis),disableHoverablePopup:q(e=>e.disableHoverablePopup),lastOpenChangeReason:q(e=>e.openChangeReason),closeOnClick:q(e=>e.closeOnClick),closeDelay:q(e=>e.closeDelay),hasViewport:q(e=>e.hasViewport)},To=class e extends vo{constructor(t,o,n=!1){let r=new jt,i={...pg(),...t};i.floatingRootContext=al(r,o,n),super(i,{popupRef:Il.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:r},fg)}setOpen=(t,o)=>{Jc(this,t,o,{extraState:{openChangeReason:o.reason}})};cancelPendingOpen(t){this.state.floatingRootContext.dispatchOpenChange(!1,ee(U.triggerPress,t))}static useStore(t,o){return Qc(t,(r,i)=>new e(o,r,i)).store}};function pg(){return{...sl(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:"none",disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,hasViewport:!1}}var Jn=h(Q(),1),Ml=ci(function(t){let{disabled:o=!1,defaultOpen:n=!1,open:r,disableHoverablePopup:i=!1,trackCursorAxis:s="none",actionsRef:a,onOpenChange:d,onOpenChangeComplete:c,handle:l,triggerId:f,defaultTriggerId:p=null,children:m}=t,u=To.useStore(l?.store,{open:n,openProp:r,activeTriggerId:p,triggerIdProp:f});$c(u,r,n,p),u.useControlledProp("openProp",r),u.useControlledProp("triggerIdProp",f),u.useContextCallback("onOpenChange",d),u.useContextCallback("onOpenChangeComplete",c);let g=u.useState("open"),v=!o&&g,_=u.useState("activeTriggerId"),w=u.useState("mounted"),y=u.useState("payload");u.useSyncedValues({trackCursorAxis:s,disableHoverablePopup:i}),u.useSyncedValue("disabled",o),tl(u,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:b,transitionStatus:S}=ol(v,u),x=u.useState("isInstantPhase"),E=u.useState("instantType"),T=u.useState("lastOpenChangeReason"),k=gt.useRef(null);D(()=>{g&&o&&u.setOpen(!1,ee(U.disabled))},[g,o,u]),D(()=>{S==="ending"&&T===U.none||S!=="ending"&&x?(E!=="delay"&&(k.current=E),u.set("instantType","delay")):k.current!==null&&(u.set("instantType",k.current),k.current=null)},[S,x,T,E,u]),D(()=>{v&&_==null&&u.set("payload",void 0)},[u,_,v]);let C=gt.useCallback(()=>{u.setOpen(!1,ee(U.imperativeAction))},[u]);gt.useImperativeHandle(a,()=>({unmount:b,close:C}),[b,C]);let j=v||w||!o&&s!=="none";return(0,Jn.jsxs)(Ri.Provider,{value:u,children:[j&&(0,Jn.jsx)(mg,{store:u,disabled:o,trackCursorAxis:s}),typeof m=="function"?m({payload:y}):m]})});function mg({store:e,disabled:t,trackCursorAxis:o}){let n=e.useState("floatingRootContext"),r=Xr(n,{enabled:!t,referencePress:()=>e.select("closeOnClick")}),i=Gr(n,{enabled:!t&&o!=="none",axis:o==="none"?void 0:o}),s=gt.useMemo(()=>ye(i.reference,r.reference),[i.reference,r.reference]),a=gt.useMemo(()=>ye(i.trigger,r.trigger),[i.trigger,r.trigger]),d=gt.useMemo(()=>ye(Zc,i.floating,r.floating),[i.floating,r.floating]);return nl(e,{activeTriggerProps:s,inactiveTriggerProps:a,popupProps:d}),null}var er=h(z(),1);var $n=h(z(),1),Si=$n.createContext(void 0);function Bl(){return $n.useContext(Si)}var Hl=(function(e){return e[e.popupOpen=qo.popupOpen]="popupOpen",e.triggerDisabled="data-trigger-disabled",e})({});var Dl="data-base-ui-tooltip-trigger";function zl(e){if("composedPath"in e){let o=e.composedPath();for(let n=0;n<o.length;n+=1){let r=o[n];if(V(r))return r}}let t=e.target;return V(t)?t:null}function gg(e){let t=e;for(;t;){if(t.hasAttribute(Dl))return t;let o=t.parentElement;if(o){t=o;continue}let n=t.getRootNode();t="host"in n&&V(n.host)?n.host:null}return null}var jl=Yc(function(t,o){let{render:n,className:r,style:i,handle:s,payload:a,disabled:d,delay:c,closeOnClick:l=!0,closeDelay:f,id:p,...m}=t,u=Ze(!0),g=s?.store??u;if(!g)throw new Error(Pe(82));let v=ga(p),_=g.useState("isTriggerActive",v),w=g.useState("isOpenedByTrigger",v),y=g.useState("floatingRootContext"),b=er.useRef(null),S=c??600,x=f??0,{registerTrigger:E,isMountedByThisTrigger:T}=el(v,b,g,{payload:a,closeOnClick:l,closeDelay:x}),k=Bl(),{delayRef:C,isInstantPhase:j,hasProvider:A}=Yr(y,{open:w}),L=xo(y);g.useSyncedValue("isInstantPhase",j);let I=g.useState("disabled"),R=d??I,N=ze(R),H=g.useState("trackCursorAxis"),P=g.useState("disableHoverablePopup"),O=er.useRef(!1),M=rt(),Z=er.useRef(void 0);function W(){let X=k?.delay,pe=typeof C.current=="object"?C.current.open:void 0,ue=S;return A&&(pe!==0?ue=c??X??S:ue=0),ue}function oe(X){let pe=b.current;if(!pe||!X)return!1;let ue=gg(X);return ue!==null&&ue!==pe&&ie(pe,ue)}function te(X){let pe=oe(X);return O.current=pe,pe&&(L.openChangeTimeout.clear(),L.restTimeout.clear(),L.restTimeoutPending=!1,M.clear()),pe}let se=hi(y,{enabled:!R,mouseOnly:!0,move:!1,handleClose:!P&&H!=="both"?wi():null,restMs:W,delay(){let X=typeof C.current=="object"?C.current.close:void 0,pe=x;return f==null&&A&&(pe=X),{close:pe}},triggerElementRef:b,isActiveTrigger:_,isClosing:()=>g.select("transitionStatus")==="ending",shouldOpen(){return!O.current}}),G=pi(y,{enabled:!R}).reference,K=X=>{let pe=O.current,ue=zl(X),vt=te(ue),Te=b.current,Ve=Te&&ue&&ie(Te,ue);if(vt&&g.select("open")&&g.select("lastOpenChangeReason")===U.triggerHover){g.setOpen(!1,ee(U.triggerHover,X));return}if(pe&&!vt&&Ve&&!N.current&&!g.select("open")&&Te&&Rt(Z.current)){let Ke=()=>{!O.current&&!N.current&&!g.select("open")&&g.setOpen(!0,ee(U.triggerHover,X,Te))},He=W();He===0?(M.clear(),Ke()):M.start(He,Ke)}},J=g.useState("triggerProps",T);return Ce("button",t,{state:{open:w},ref:[o,E,b],props:[se,G,T||H!=="none"?J:void 0,{onMouseOver(X){K(X.nativeEvent)},onFocus(X){oe(zl(X.nativeEvent))&&X.preventBaseUIHandler()},onMouseLeave(){O.current=!1,M.clear(),Z.current=void 0},onPointerEnter(X){Z.current=X.pointerType},onPointerDown(X){Z.current=X.pointerType,g.set("closeOnClick",l),l&&!g.select("open")&&g.cancelPendingOpen(X.nativeEvent)},onClick(X){l&&!g.select("open")&&g.cancelPendingOpen(X.nativeEvent)},id:v,[Hl.triggerDisabled]:R?"":void 0,[Dl]:R?void 0:""},m],stateAttributesMapping:pl})});var Vl=h(z(),1);var tr=h(z(),1),Ei=tr.createContext(void 0);function Fl(){let e=tr.useContext(Ei);if(e===void 0)throw new Error(Pe(70));return e}var Ti=h(Q(),1),Wl=Vl.forwardRef(function(t,o){let{keepMounted:n=!1,...r}=t;return Ze().useState("mounted")||n?(0,Ti.jsx)(Ei.Provider,{value:n,children:(0,Ti.jsx)(Ll,{ref:o,...r})}):null});var nr=h(z(),1);var or=h(z(),1),ki=or.createContext(void 0);function ko(){let e=or.useContext(ki);if(e===void 0)throw new Error(Pe(71));return e}var Yl=h(Q(),1),Ul=nr.forwardRef(function(t,o){let{render:n,className:r,anchor:i,positionMethod:s="absolute",side:a="top",align:d="center",sideOffset:c=0,alignOffset:l=0,collisionBoundary:f="clipping-ancestors",collisionPadding:p=5,arrowPadding:m=5,sticky:u=!1,disableAnchorTracking:g=!1,collisionAvoidance:v=Qa,style:_,...w}=t,y=Ze(),b=Fl(),S=y.useState("open"),x=y.useState("mounted"),E=y.useState("trackCursorAxis"),T=y.useState("disableHoverablePopup"),k=y.useState("floatingRootContext"),C=y.useState("instantType"),j=y.useState("transitionStatus"),A=y.useState("hasViewport"),L=yl({anchor:i,positionMethod:s,floatingRootContext:k,mounted:x,side:a,sideOffset:c,align:d,alignOffset:l,collisionBoundary:f,collisionPadding:p,sticky:u,arrowPadding:m,disableAnchorTracking:g,keepMounted:b,collisionAvoidance:v,adaptiveOrigin:A?hl:void 0}),I=nr.useMemo(()=>({open:S,side:L.side,align:L.align,anchorHidden:L.anchorHidden,instant:E!=="none"?"tracking-cursor":C}),[S,L.side,L.align,L.anchorHidden,E,C]),R=xl(t,I,{styles:L.positionerStyles,transitionStatus:j,props:w,refs:[o,y.useStateSetter("positionerElement")],hidden:!x,inert:!S||E==="both"||T});return(0,Yl.jsx)(ki.Provider,{value:L,children:R})});var Gl=h(z(),1);var bg={...Ro,...wa},Xl=Gl.forwardRef(function(t,o){let{render:n,className:r,style:i,...s}=t,a=Ze(),{side:d,align:c}=ko(),l=a.useState("open"),f=a.useState("instantType"),p=a.useState("transitionStatus"),m=a.useState("popupProps"),u=a.useState("floatingRootContext"),g=a.useState("disabled"),v=a.useState("closeDelay");Pn({open:l,ref:a.context.popupRef,onComplete(){l&&a.context.onOpenChangeComplete?.(!0)}}),bi(u,{enabled:!g,closeDelay:v});let _=a.useStateSetter("popupElement");return Ce("div",t,{state:{open:l,side:d,align:c,instant:f,transitionStatus:p},ref:[o,a.context.popupRef,_],props:[m,Xn(p),s],stateAttributesMapping:bg})});var Kl=h(z(),1);var ql=Kl.forwardRef(function(t,o){let{render:n,className:r,style:i,...s}=t,a=Ze(),{arrowRef:d,side:c,align:l,arrowUncentered:f,arrowStyles:p}=ko(),m=a.useState("open"),u=a.useState("instantType");return Ce("div",t,{state:{open:m,side:c,align:l,uncentered:f,instant:u},ref:[o,d],props:[{style:p,"aria-hidden":!0},s],stateAttributesMapping:Ro})});var Pi=h(z(),1);var Ci=h(Q(),1),Zl=function(t){let{delay:o,closeDelay:n,timeout:r=400}=t,i=Pi.useMemo(()=>({delay:o,closeDelay:n}),[o,n]),s=Pi.useMemo(()=>({open:o,close:n}),[o,n]);return(0,Ci.jsx)(Si.Provider,{value:i,children:(0,Ci.jsx)(Wr,{delay:s,timeoutMs:r,children:t.children})})};var Jl=h(z(),1);var Ql=(function(e){return e.popupWidth="--popup-width",e.popupHeight="--popup-height",e})({});var hg={activationDirection:e=>e?{"data-activation-direction":e}:null},$l=Jl.forwardRef(function(t,o){let{render:n,className:r,style:i,children:s,...a}=t,d=Ze(),c=ko(),l=d.useState("instantType"),{children:f,state:p}=Al({store:d,side:c.side,cssVars:Ql,children:s}),m={activationDirection:p.activationDirection,transitioning:p.transitioning,instant:l};return Ce("div",t,{state:m,ref:o,props:[a,{children:f}],stateAttributesMapping:hg})});var Qo=class{constructor(){this.store=new To}open(t){let o=t?this.store.context.triggerElements.getById(t):void 0;if(t&&!o)throw new Error(Pe(81,t));this.store.setOpen(!0,ee(U.imperativeAction,void 0,o))}close(){this.store.setOpen(!1,ee(U.imperativeAction,void 0,void 0))}get isOpen(){return this.store.select("open")}};function ed(){return new Qo}function bt(e){return Ce(e.defaultTagName??"div",e,e)}var nd=h(de(),1),Ai="data-wp-hash";function Oi(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&vg(document)),e.__wpStyleRuntime}function wg(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${Ai}]`))if(o.getAttribute(Ai)===t)return!0;return!1}function rd(e,t,o){if(!e.head)return;let n=Oi(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(wg(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(Ai,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function vg(e){let t=Oi();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)rd(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function id(e,t){let o=Oi();o.styles.set(e,t);for(let n of o.documents.keys())rd(n,e,t)}typeof process>"u",id("a495f9d138",'@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._83ed8a8da5dd50ea__text{margin:0}._14437cfb77831647__heading-2xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-p-line-height:var(--wpds-typography-line-height-2xl,40px);font-size:var(--wpds-typography-font-size-2xl,32px);line-height:var(--wpds-typography-line-height-2xl,40px)}._14437cfb77831647__heading-2xl,._3c78b7fa9b4072dd__heading-xl{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600)}._3c78b7fa9b4072dd__heading-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-md,24px)}.aa58f227716bcde2__heading-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-lg,15px)}.aa58f227716bcde2__heading-lg,.fc4da56d8dfe52c4__heading-md{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-sm,20px)}.fc4da56d8dfe52c4__heading-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px)}.a9b78c7c82e8dff7__heading-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-xs,16px);text-transform:uppercase}._305ff559e52180d5__body-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-xl,32px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-xl,32px)}._305ff559e52180d5__body-xl,.ca1aa3fc2029e958__body-lg{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}.ca1aa3fc2029e958__body-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-lg,15px);line-height:var(--wpds-typography-line-height-md,24px)}._131101940be12424__body-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}._0e8d87a42c1f75fa__body-sm,._131101940be12424__body-md{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}._0e8d87a42c1f75fa__body-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-size:var(--wpds-typography-font-size-sm,12px);line-height:var(--wpds-typography-line-height-xs,16px)}}}');var td={text:"_83ed8a8da5dd50ea__text","heading-2xl":"_14437cfb77831647__heading-2xl","heading-xl":"_3c78b7fa9b4072dd__heading-xl","heading-lg":"aa58f227716bcde2__heading-lg","heading-md":"fc4da56d8dfe52c4__heading-md","heading-sm":"a9b78c7c82e8dff7__heading-sm","body-xl":"_305ff559e52180d5__body-xl","body-lg":"ca1aa3fc2029e958__body-lg","body-md":"_131101940be12424__body-md","body-sm":"_0e8d87a42c1f75fa__body-sm"};typeof process>"u",id("af6d9984a6","._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}");var od={button:"_6defc79820e382c6__button",input:"d2cff2e5dea83bd1__input",textarea:"_547d86373d02e108__textarea",div:"_8c15fd0ed9f28ba4__div",p:"_43cec3e1eec1066d__p",heading:"e97669c6d9a38497__heading",a:"_2c0831b0499dbd6e__a"},Je=(0,nd.forwardRef)(function({variant:t="body-md",render:o,className:n,...r},i){return bt({render:o,defaultTagName:"span",ref:i,props:ye(r,{className:$(td.text,od.heading,od.p,td[t],n)})})});var ld=h(Q(),1),Ni="data-wp-hash";function Li(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&yg(document)),e.__wpStyleRuntime}function _g(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${Ni}]`))if(o.getAttribute(Ni)===t)return!0;return!1}function cd(e,t,o){if(!e.head)return;let n=Li(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(_g(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(Ni,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function yg(e){let t=Li();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)cd(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function xg(e,t){let o=Li();o.styles.set(e,t);for(let n of o.documents.keys())cd(n,e,t)}typeof process>"u",xg("9db2873e7f","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._96e6251aad1a6136__badge{border-radius:var(--wpds-border-radius-lg,8px);padding-block:var(--wpds-dimension-padding-xs,4px);padding-inline:var(--wpds-dimension-padding-sm,8px)}._99f7158cb520f750__is-high-intent{background-color:var(--wpds-color-background-surface-error,#f6e6e3);color:var(--wpds-color-foreground-content-error,#470000)}.c20ebef2365bc8b7__is-medium-intent{background-color:var(--wpds-color-background-surface-warning,#fde6be);color:var(--wpds-color-foreground-content-warning,#2e1900)}._365e1626c6202e52__is-low-intent{background-color:var(--wpds-color-background-surface-caution,#fee995);color:var(--wpds-color-foreground-content-caution,#281d00)}._33f8198127ddf4ef__is-stable-intent{background-color:var(--wpds-color-background-surface-success,#c6f7cd);color:var(--wpds-color-foreground-content-success,#002900)}._04c1aca8fc449412__is-informational-intent{background-color:var(--wpds-color-background-surface-info,#deebfa);color:var(--wpds-color-foreground-content-info,#001b4f)}._90726e69d495ec19__is-draft-intent{background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);color:var(--wpds-color-foreground-content-neutral,#1e1e1e)}._898f4a544993bd39__is-none-intent{background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);padding-block:calc(var(--wpds-dimension-padding-xs, 4px) - var(--wpds-border-width-xs, 1px));padding-inline:calc(var(--wpds-dimension-padding-sm, 8px) - var(--wpds-border-width-xs, 1px))}}}");var sd={badge:"_96e6251aad1a6136__badge","is-high-intent":"_99f7158cb520f750__is-high-intent","is-medium-intent":"c20ebef2365bc8b7__is-medium-intent","is-low-intent":"_365e1626c6202e52__is-low-intent","is-stable-intent":"_33f8198127ddf4ef__is-stable-intent","is-informational-intent":"_04c1aca8fc449412__is-informational-intent","is-draft-intent":"_90726e69d495ec19__is-draft-intent","is-none-intent":"_898f4a544993bd39__is-none-intent"},Ii=(0,ad.forwardRef)(function({intent:t="none",className:o,...n},r){return(0,ld.jsx)(Je,{ref:r,className:$(sd.badge,sd[`is-${t}-intent`],o),...n,variant:"body-sm"})});var rr=h(de(),1),dd=h(Ot(),1),fd=h(Q(),1);import{speak as Rg}from"@wordpress/a11y";var Mi="data-wp-hash";function Bi(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&Eg(document)),e.__wpStyleRuntime}function Sg(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${Mi}]`))if(o.getAttribute(Mi)===t)return!0;return!1}function ud(e,t,o){if(!e.head)return;let n=Bi(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(Sg(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(Mi,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function Eg(e){let t=Bi();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)ud(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function ir(e,t){let o=Bi();o.styles.set(e,t);for(let n of o.documents.keys())ud(n,e,t)}typeof process>"u",ir("b74f1ac304",'@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._97b0fc33c028be1a__button,.abbb272e2ce49bd6__is-unstyled{appearance:none;padding:0}._97b0fc33c028be1a__button{--wp-ui-button-font-weight:var(--wpds-typography-font-weight-emphasis,600);--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-strong,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand-strong,#fff);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-strong-disabled,#8d8d8d);--wp-ui-button-padding-block:var(--wpds-dimension-padding-xs,4px);--wp-ui-button-padding-inline:var(--wpds-dimension-padding-md,12px);--wp-ui-button-height:var(--wpds-dimension-size-lg,40px);--wp-ui-button-aspect-ratio:auto;--wp-ui-button-font-size:var(--wpds-typography-font-size-md,13px);--wp-ui-button-min-width:calc(4ch + var(--wp-ui-button-padding-inline)*2);--wp-ui-button-icon-margin:calc((var(--wpds-dimension-size-2xs, 16px) - var(--wpds-dimension-size-sm, 24px))/2);--wp-ui-button-border-color:var(--wp-ui-button-background-color);--wp-ui-button-border-color-active:var(--wp-ui-button-background-color-active);--wp-ui-button-border-color-disabled:var(--wp-ui-button-background-color-disabled);--_gcd-button-font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);--_gcd-button-font-size:var(--wp-ui-button-font-size);--_gcd-button-font-weight:var(--wp-ui-button-font-weight);align-items:center;aspect-ratio:var(--wp-ui-button-aspect-ratio);background-clip:border-box;background-color:var(--wp-ui-button-background-color);border-color:var(--wp-ui-button-border-color);border-radius:var(--wpds-border-radius-sm,2px);border-style:solid;border-width:1px;color:var(--wp-ui-button-foreground-color);display:inline-flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wp-ui-button-font-size);font-weight:var(--wp-ui-button-font-weight);gap:var(--wpds-dimension-gap-sm,8px);justify-content:center;line-height:var(--wpds-typography-line-height-sm,20px);max-width:100%;min-height:var(--wp-ui-button-height);min-width:var(--wp-ui-button-min-width);overflow-wrap:anywhere;padding-block:var(--wp-ui-button-padding-block);padding-inline:var(--wp-ui-button-padding-inline);position:relative;text-align:center;text-decoration:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}@media not (prefers-reduced-motion){transition:color .1s ease-out;*{transition:opacity .1s ease-out}}&[href]{cursor:pointer}[href]{color:inherit;text-decoration:inherit}&:not([data-disabled]):is(:hover,:active,:focus){background-color:var(--wp-ui-button-background-color-active);border-color:var(--wp-ui-button-border-color-active);color:var(--wp-ui-button-foreground-color-active)}&[data-disabled]:not(._914b42f315c0e580__is-loading){background-color:var(--wp-ui-button-background-color-disabled);border-color:var(--wp-ui-button-border-color-disabled);color:var(--wp-ui-button-foreground-color-disabled);@media (forced-colors:active){border-bottom-color:GrayText;border-left-color:GrayText;border-right-color:GrayText;border-top-color:GrayText;color:GrayText}}&:before{aspect-ratio:1;border:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid;border-block-end-color:transparent;border-block-start-color:var(--wp-ui-button-foreground-color);border-inline-end-color:var(--wp-ui-button-foreground-color);border-inline-start-color:transparent;border-radius:50%;box-sizing:border-box;content:"";display:block;height:var(--wp-ui-button-font-size);inset-inline-start:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);@media not (prefers-reduced-motion){transition:opacity .1s ease-out}@media (forced-colors:active){border-block-end-style:none;border-bottom-color:ButtonText;border-inline-start-style:none;border-left-color:ButtonText;border-right-color:ButtonText;border-top-color:ButtonText}}}._908205475f9f2a92__is-small{--wp-ui-button-padding-block:0px;--wp-ui-button-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-button-height:var(--wpds-dimension-size-sm,24px)}._9f6fc6553aeb36fe__icon{margin:var(--wp-ui-button-icon-margin)}.dd460c965226cc77__is-brand{&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000));--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 85%,#000));--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-brand-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000)}}.e722a8f96726aa99__is-neutral{&.ad0619a3217c6a5b__is-minimal[aria-pressed=true],&.b50b3358c5fb4d0b__is-solid{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-strong,#2d2d2d);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-strong-active,#1e1e1e);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral-strong,#f0f0f0);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-strong-active,#f0f0f0);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-strong-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d);--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-neutral-active,#6e6e6e);--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-neutral-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000)}}.abbb272e2ce49bd6__is-unstyled{background:none;border:none;min-width:unset}.cf59cf1b69629838__is-compact{--wp-ui-button-height:var(--wpds-dimension-size-md,32px)}._914b42f315c0e580__is-loading:not(.abbb272e2ce49bd6__is-unstyled){color:transparent;&:not([data-disabled]):is(:hover,:active,:focus){color:transparent}@media (forced-colors:active){color:ButtonFace}*{opacity:0}&:before{opacity:1;transition-delay:.05s;@media not (prefers-reduced-motion){animation:_5a1d53da6f830c8d__loading-animation 1s linear infinite}}}}@keyframes _5a1d53da6f830c8d__loading-animation{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}}');var Jo={button:"_97b0fc33c028be1a__button","is-unstyled":"abbb272e2ce49bd6__is-unstyled","is-loading":"_914b42f315c0e580__is-loading","is-small":"_908205475f9f2a92__is-small",icon:"_9f6fc6553aeb36fe__icon","is-brand":"dd460c965226cc77__is-brand","is-outline":"_62d5a778b7b258ee__is-outline","is-minimal":"ad0619a3217c6a5b__is-minimal","is-neutral":"e722a8f96726aa99__is-neutral","is-solid":"b50b3358c5fb4d0b__is-solid","is-compact":"cf59cf1b69629838__is-compact","loading-animation":"_5a1d53da6f830c8d__loading-animation"};typeof process>"u",ir("10f3806643","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");var Tg={"box-sizing":"_336cd3e4e743482f__box-sizing"};typeof process>"u",ir("da99a163ac","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._08e8a2e44959f892__outset-ring--focus:focus,.c5cb3ee4bddaa8e4__outset-ring--focus-within-visible:focus-within:has(:focus-visible),.cd83dfc2126a0846__outset-ring--focus-within:focus-within,.d0541bc9dd9dc7b6__outset-ring--focus-visible:focus-visible,:focus-visible .ecadb9e080e2dfa5__outset-ring--focus-parent-visible{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}._970d04df7376df67__outset-ring--focus-within-except-active:focus-within,.e25b2bdd7aa21721__outset-ring--focus-except-active:focus{outline:none}._970d04df7376df67__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.e25b2bdd7aa21721__outset-ring--focus-except-active:focus:not(:active){@include mixins.focus-ring()}}}");var kg={"outset-ring--focus":"_08e8a2e44959f892__outset-ring--focus","outset-ring--focus-visible":"d0541bc9dd9dc7b6__outset-ring--focus-visible","outset-ring--focus-within":"cd83dfc2126a0846__outset-ring--focus-within","outset-ring--focus-within-visible":"c5cb3ee4bddaa8e4__outset-ring--focus-within-visible","outset-ring--focus-parent-visible":"ecadb9e080e2dfa5__outset-ring--focus-parent-visible","outset-ring--focus-except-active":"e25b2bdd7aa21721__outset-ring--focus-except-active","outset-ring--focus-within-except-active":"_970d04df7376df67__outset-ring--focus-within-except-active"};typeof process>"u",ir("af6d9984a6","._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}");var Pg={button:"_6defc79820e382c6__button",input:"d2cff2e5dea83bd1__input",textarea:"_547d86373d02e108__textarea",div:"_8c15fd0ed9f28ba4__div",p:"_43cec3e1eec1066d__p",heading:"e97669c6d9a38497__heading",a:"_2c0831b0499dbd6e__a"},pd=(0,rr.forwardRef)(function({tone:t="brand",variant:o="solid",size:n="default",className:r,focusableWhenDisabled:i=!0,disabled:s,loading:a,loadingAnnouncement:d=(0,dd.__)("Loading"),children:c,...l},f){let p=$(Pg.button,Tg["box-sizing"],kg["outset-ring--focus-except-active"],o!=="unstyled"&&Jo.button,Jo[`is-${t}`],Jo[`is-${o}`],Jo[`is-${n}`],a&&Jo["is-loading"],r);return(0,rr.useEffect)(()=>{a&&d&&Rg(d)},[a,d]),(0,fd.jsx)(_i,{ref:f,className:p,focusableWhenDisabled:i,disabled:s??a,...l,children:c})});var wd=h(de(),1);var gd=h(de(),1),bd=h($t(),1),hd=h(Q(),1),eo=(0,gd.forwardRef)(function({icon:t,size:o=24,...n},r){return(0,hd.jsx)(bd.SVG,{ref:r,...t.props,...n,width:o,height:o})});var _d=h(Q(),1),Hi="data-wp-hash";function zi(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&Ag(document)),e.__wpStyleRuntime}function Cg(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${Hi}]`))if(o.getAttribute(Hi)===t)return!0;return!1}function vd(e,t,o){if(!e.head)return;let n=zi(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(Cg(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(Hi,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function Ag(e){let t=zi();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)vd(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function Og(e,t){let o=zi();o.styles.set(e,t);for(let n of o.documents.keys())vd(n,e,t)}typeof process>"u",Og("b74f1ac304",'@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._97b0fc33c028be1a__button,.abbb272e2ce49bd6__is-unstyled{appearance:none;padding:0}._97b0fc33c028be1a__button{--wp-ui-button-font-weight:var(--wpds-typography-font-weight-emphasis,600);--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-strong,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand-strong,#fff);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-strong-disabled,#8d8d8d);--wp-ui-button-padding-block:var(--wpds-dimension-padding-xs,4px);--wp-ui-button-padding-inline:var(--wpds-dimension-padding-md,12px);--wp-ui-button-height:var(--wpds-dimension-size-lg,40px);--wp-ui-button-aspect-ratio:auto;--wp-ui-button-font-size:var(--wpds-typography-font-size-md,13px);--wp-ui-button-min-width:calc(4ch + var(--wp-ui-button-padding-inline)*2);--wp-ui-button-icon-margin:calc((var(--wpds-dimension-size-2xs, 16px) - var(--wpds-dimension-size-sm, 24px))/2);--wp-ui-button-border-color:var(--wp-ui-button-background-color);--wp-ui-button-border-color-active:var(--wp-ui-button-background-color-active);--wp-ui-button-border-color-disabled:var(--wp-ui-button-background-color-disabled);--_gcd-button-font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);--_gcd-button-font-size:var(--wp-ui-button-font-size);--_gcd-button-font-weight:var(--wp-ui-button-font-weight);align-items:center;aspect-ratio:var(--wp-ui-button-aspect-ratio);background-clip:border-box;background-color:var(--wp-ui-button-background-color);border-color:var(--wp-ui-button-border-color);border-radius:var(--wpds-border-radius-sm,2px);border-style:solid;border-width:1px;color:var(--wp-ui-button-foreground-color);display:inline-flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wp-ui-button-font-size);font-weight:var(--wp-ui-button-font-weight);gap:var(--wpds-dimension-gap-sm,8px);justify-content:center;line-height:var(--wpds-typography-line-height-sm,20px);max-width:100%;min-height:var(--wp-ui-button-height);min-width:var(--wp-ui-button-min-width);overflow-wrap:anywhere;padding-block:var(--wp-ui-button-padding-block);padding-inline:var(--wp-ui-button-padding-inline);position:relative;text-align:center;text-decoration:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}@media not (prefers-reduced-motion){transition:color .1s ease-out;*{transition:opacity .1s ease-out}}&[href]{cursor:pointer}[href]{color:inherit;text-decoration:inherit}&:not([data-disabled]):is(:hover,:active,:focus){background-color:var(--wp-ui-button-background-color-active);border-color:var(--wp-ui-button-border-color-active);color:var(--wp-ui-button-foreground-color-active)}&[data-disabled]:not(._914b42f315c0e580__is-loading){background-color:var(--wp-ui-button-background-color-disabled);border-color:var(--wp-ui-button-border-color-disabled);color:var(--wp-ui-button-foreground-color-disabled);@media (forced-colors:active){border-bottom-color:GrayText;border-left-color:GrayText;border-right-color:GrayText;border-top-color:GrayText;color:GrayText}}&:before{aspect-ratio:1;border:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid;border-block-end-color:transparent;border-block-start-color:var(--wp-ui-button-foreground-color);border-inline-end-color:var(--wp-ui-button-foreground-color);border-inline-start-color:transparent;border-radius:50%;box-sizing:border-box;content:"";display:block;height:var(--wp-ui-button-font-size);inset-inline-start:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);@media not (prefers-reduced-motion){transition:opacity .1s ease-out}@media (forced-colors:active){border-block-end-style:none;border-bottom-color:ButtonText;border-inline-start-style:none;border-left-color:ButtonText;border-right-color:ButtonText;border-top-color:ButtonText}}}._908205475f9f2a92__is-small{--wp-ui-button-padding-block:0px;--wp-ui-button-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-button-height:var(--wpds-dimension-size-sm,24px)}._9f6fc6553aeb36fe__icon{margin:var(--wp-ui-button-icon-margin)}.dd460c965226cc77__is-brand{&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000));--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 85%,#000));--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-brand-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000)}}.e722a8f96726aa99__is-neutral{&.ad0619a3217c6a5b__is-minimal[aria-pressed=true],&.b50b3358c5fb4d0b__is-solid{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-strong,#2d2d2d);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-strong-active,#1e1e1e);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral-strong,#f0f0f0);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-strong-active,#f0f0f0);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-strong-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d);--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-neutral-active,#6e6e6e);--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-neutral-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000)}}.abbb272e2ce49bd6__is-unstyled{background:none;border:none;min-width:unset}.cf59cf1b69629838__is-compact{--wp-ui-button-height:var(--wpds-dimension-size-md,32px)}._914b42f315c0e580__is-loading:not(.abbb272e2ce49bd6__is-unstyled){color:transparent;&:not([data-disabled]):is(:hover,:active,:focus){color:transparent}@media (forced-colors:active){color:ButtonFace}*{opacity:0}&:before{opacity:1;transition-delay:.05s;@media not (prefers-reduced-motion){animation:_5a1d53da6f830c8d__loading-animation 1s linear infinite}}}}@keyframes _5a1d53da6f830c8d__loading-animation{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}}');var Ng={button:"_97b0fc33c028be1a__button","is-unstyled":"abbb272e2ce49bd6__is-unstyled","is-loading":"_914b42f315c0e580__is-loading","is-small":"_908205475f9f2a92__is-small",icon:"_9f6fc6553aeb36fe__icon","is-brand":"dd460c965226cc77__is-brand","is-outline":"_62d5a778b7b258ee__is-outline","is-minimal":"ad0619a3217c6a5b__is-minimal","is-neutral":"e722a8f96726aa99__is-neutral","is-solid":"b50b3358c5fb4d0b__is-solid","is-compact":"cf59cf1b69629838__is-compact","loading-animation":"_5a1d53da6f830c8d__loading-animation"},Di=(0,wd.forwardRef)(function({className:t,icon:o,...n},r){return(0,_d.jsx)(eo,{ref:r,icon:o,className:$(Ng.icon,t),size:24,...n})});Di.displayName="Button.Icon";var sr=Object.assign(pd,{Icon:Di});var ar=h($t(),1),ji=h(Q(),1),Fi=(0,ji.jsx)(ar.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,ji.jsx)(ar.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm-.75 12v-1.5h1.5V16h-1.5Zm0-8v5h1.5V8h-1.5Z"})});var cr=h($t(),1),Vi=h(Q(),1),Wi=(0,Vi.jsx)(cr.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Vi.jsx)(cr.Path,{d:"M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"})});var lr=h($t(),1),Yi=h(Q(),1),Ui=(0,Yi.jsx)(lr.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Yi.jsx)(lr.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M12.218 5.377a.25.25 0 0 0-.436 0l-7.29 12.96a.25.25 0 0 0 .218.373h14.58a.25.25 0 0 0 .218-.372l-7.29-12.96Zm-1.743-.735c.669-1.19 2.381-1.19 3.05 0l7.29 12.96a1.75 1.75 0 0 1-1.525 2.608H4.71a1.75 1.75 0 0 1-1.525-2.608l7.29-12.96ZM12.75 17.46h-1.5v-1.5h1.5v1.5Zm-1.5-3h1.5v-5h-1.5v5Z"})});var dr=h($t(),1),Gi=h(Q(),1),Xi=(0,Gi.jsx)(dr.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Gi.jsx)(dr.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M5.5 12a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0ZM12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16Zm.75 4v1.5h-1.5V8h1.5Zm0 8v-5h-1.5v5h1.5Z"})});var ur=h($t(),1),Ki=h(Q(),1),qi=(0,Ki.jsx)(ur.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Ki.jsx)(ur.Path,{fillRule:"evenodd",clipRule:"evenodd",d:"M12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm11.53-1.47-1.06-1.06L11 12.94l-1.47-1.47-1.06 1.06L11 15.06l4.53-4.53Z"})});var yd=h(de(),1);function Zi(e,t,o){return(0,yd.cloneElement)(e??t,{children:o})}var Lg=h(Rd(),1);var Ed=h(Qi(),1),{lock:h4,unlock:Td}=(0,Ed.__dangerousOptInToUnstableAPIsOnlyForCoreModules)("I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.","@wordpress/ui");function Ig(){let e=Lg;if(e.ThemeProvider)return e.ThemeProvider;if(!e.privateApis)throw new Error("@wordpress/ui: @wordpress/theme must expose `ThemeProvider` or `privateApis.ThemeProvider`.");return Td(e.privateApis).ThemeProvider}var kd=Ig();var Pd=h(de(),1),Ji="data-wp-hash";function $i(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&Bg(document)),e.__wpStyleRuntime}function Mg(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${Ji}]`))if(o.getAttribute(Ji)===t)return!0;return!1}function Cd(e,t,o){if(!e.head)return;let n=$i(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(Mg(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(Ji,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function Bg(e){let t=$i();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)Cd(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function Hg(e,t){let o=$i();o.styles.set(e,t);for(let n of o.documents.keys())Cd(n,e,t)}typeof process>"u",Hg("32aba35fe1","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._19ce0419607e1896__stack{display:flex}}}");var zg={stack:"_19ce0419607e1896__stack"},Dg={xs:"var(--wpds-dimension-gap-xs, 4px)",sm:"var(--wpds-dimension-gap-sm, 8px)",md:"var(--wpds-dimension-gap-md, 12px)",lg:"var(--wpds-dimension-gap-lg, 16px)",xl:"var(--wpds-dimension-gap-xl, 24px)","2xl":"var(--wpds-dimension-gap-2xl, 32px)","3xl":"var(--wpds-dimension-gap-3xl, 40px)"},Po=(0,Pd.forwardRef)(function({direction:t,gap:o,align:n,justify:r,wrap:i,render:s,...a},d){let c={gap:o&&Dg[o],alignItems:n,justifyContent:r,flexDirection:t,flexWrap:i};return bt({render:s,ref:d,props:ye(a,{style:c,className:zg.stack})})});var Kd=h(de(),1);var Vd=h(de(),1);var Id=h(de(),1);var ts="data-wp-hash";function os(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&Fg(document)),e.__wpStyleRuntime}function jg(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${ts}]`))if(o.getAttribute(ts)===t)return!0;return!1}function Od(e,t,o){if(!e.head)return;let n=os(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(jg(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(ts,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function Fg(e){let t=os();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)Od(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function Vg(e,t){let o=os();o.styles.set(e,t);for(let n of o.documents.keys())Od(n,e,t)}typeof process>"u",Vg("be37f31c1e","._11fc52b637ff8a7e__slot{inset:0;isolation:isolate;pointer-events:none;position:fixed;z-index:1000000003}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._11fc52b637ff8a7e__slot>*{pointer-events:auto}}}");var Ad={slot:"_11fc52b637ff8a7e__slot"},Nd="data-wp-compat-overlay-slot";function Wg(){return typeof document>"u"?null:document}function Yg(){let e;try{e=window.top?.wp}catch{}let t=e??window.wp;return typeof t?.components=="object"&&t.components!==null}var ht=null;function es(e){return e.setAttribute("aria-hidden","false"),e}function Ug(e){let t=e.createElement("div");return t.setAttribute(Nd,""),Ad.slot&&t.classList.add(Ad.slot),e.body.appendChild(t),t}function Ld(){if(typeof window>"u"||!Yg()&&window.__wpUiCompatOverlaySlotEnabled!==!0)return;let e=Wg();if(!e||!e.body)return;if(ht&&ht.ownerDocument===e&&ht.isConnected)return es(ht);let t=e.querySelector(`[${Nd}]`);return t instanceof HTMLDivElement?(ht=es(t),ht):(ht?.isConnected&&ht.remove(),ht=es(Ug(e)),ht)}var Md=h(Q(),1),Bd=(0,Id.forwardRef)(function({container:t,...o},n){return(0,Md.jsx)(Qe.Portal,{container:t??Ld(),...o,ref:n})});var Hd=h(de(),1),jd=h(Q(),1),ns="data-wp-hash";function rs(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&Xg(document)),e.__wpStyleRuntime}function Gg(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${ns}]`))if(o.getAttribute(ns)===t)return!0;return!1}function zd(e,t,o){if(!e.head)return;let n=rs(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(Gg(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(ns,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function Xg(e){let t=rs();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)zd(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function Dd(e,t){let o=rs();o.styles.set(e,t);for(let n of o.documents.keys())zd(n,e,t)}typeof process>"u",Dd("10f3806643","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");var Kg={"box-sizing":"_336cd3e4e743482f__box-sizing"};typeof process>"u",Dd("19fcc06039",'@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._480b748dd3510e64__positioner{z-index:var(--wp-ui-tooltip-z-index,initial)}._50096b232db7709d__popup{--_wp-ui-elevation-sm:0 1px 2px rgba(0,0,0,.05),0 2px 3px rgba(0,0,0,.04),0 6px 6px rgba(0,0,0,.03),0 8px 8px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-sm);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:1.4;padding:var(--wpds-dimension-padding-xs,4px) var(--wpds-dimension-padding-sm,8px);@media (forced-colors:active){border-bottom-color:CanvasText;border-bottom-style:solid;border-bottom-width:1px;border-left-color:CanvasText;border-left-style:solid;border-left-width:1px;border-right-color:CanvasText;border-right-style:solid;border-right-width:1px;border-top-color:CanvasText;border-top-style:solid;border-top-width:1px}}}}');var qg={positioner:"_480b748dd3510e64__positioner",popup:"_50096b232db7709d__popup"},Fd=(0,Hd.forwardRef)(function({align:t="center",className:o,side:n="top",sideOffset:r=4,...i},s){return(0,jd.jsx)(Qe.Positioner,{ref:s,align:t,side:n,sideOffset:r,...i,className:$(Kg["box-sizing"],qg.positioner,o)})});var $o=h(Q(),1),is="data-wp-hash";function ss(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&Qg(document)),e.__wpStyleRuntime}function Zg(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${is}]`))if(o.getAttribute(is)===t)return!0;return!1}function Wd(e,t,o){if(!e.head)return;let n=ss(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(Zg(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(is,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function Qg(e){let t=ss();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)Wd(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function Jg(e,t){let o=ss();o.styles.set(e,t);for(let n of o.documents.keys())Wd(n,e,t)}typeof process>"u",Jg("19fcc06039",'@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._480b748dd3510e64__positioner{z-index:var(--wp-ui-tooltip-z-index,initial)}._50096b232db7709d__popup{--_wp-ui-elevation-sm:0 1px 2px rgba(0,0,0,.05),0 2px 3px rgba(0,0,0,.04),0 6px 6px rgba(0,0,0,.03),0 8px 8px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-sm);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:1.4;padding:var(--wpds-dimension-padding-xs,4px) var(--wpds-dimension-padding-sm,8px);@media (forced-colors:active){border-bottom-color:CanvasText;border-bottom-style:solid;border-bottom-width:1px;border-left-color:CanvasText;border-left-style:solid;border-left-width:1px;border-right-color:CanvasText;border-right-style:solid;border-right-width:1px;border-top-color:CanvasText;border-top-style:solid;border-top-width:1px}}}}');var $g={positioner:"_480b748dd3510e64__positioner",popup:"_50096b232db7709d__popup"},eb={background:"#1e1e1e"},as=(0,Vd.forwardRef)(function({portal:t,positioner:o,children:n,className:r,...i},s){let a=(0,$o.jsx)(kd,{color:eb,children:(0,$o.jsx)(Qe.Popup,{ref:s,className:$($g.popup,r),...i,children:n})}),d=Zi(o,(0,$o.jsx)(Fd,{}),a);return Zi(t,(0,$o.jsx)(Bd,{}),d)});var Yd=h(de(),1),Ud=h(Q(),1),cs=(0,Yd.forwardRef)(function(t,o){return(0,Ud.jsx)(Qe.Trigger,{ref:o,...t})});var Gd=h(Q(),1);function ls(e){return(0,Gd.jsx)(Qe.Root,{...e})}var lt=h(Q(),1),ds="data-wp-hash";function us(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&nb(document)),e.__wpStyleRuntime}function ob(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${ds}]`))if(o.getAttribute(ds)===t)return!0;return!1}function qd(e,t,o){if(!e.head)return;let n=us(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(ob(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(ds,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function nb(e){let t=us();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)qd(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function rb(e,t){let o=us();o.styles.set(e,t);for(let n of o.documents.keys())qd(n,e,t)}typeof process>"u",rb("c5cdafb1bc","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer compositions{._28cfdc260e755391__icon-button{--wp-ui-button-aspect-ratio:1;--wp-ui-button-padding-inline:0px;--wp-ui-button-min-width:unset}.f1c70d719989a85a__icon{margin:-1px}}}");var Xd={"icon-button":"_28cfdc260e755391__icon-button",icon:"f1c70d719989a85a__icon"},fs=(0,Kd.forwardRef)(function({label:t,className:o,children:n,disabled:r,focusableWhenDisabled:i=!0,icon:s,size:a,shortcut:d,positioner:c,...l},f){let p=$(Xd["icon-button"],o);return(0,lt.jsxs)(ls,{children:[(0,lt.jsx)(cs,{ref:f,disabled:r&&!i,render:(0,lt.jsx)(sr,{...l,size:a,"aria-label":t,"aria-keyshortcuts":d?.ariaKeyShortcut,disabled:r,focusableWhenDisabled:i}),className:p,children:(0,lt.jsx)(eo,{icon:s,size:24,className:Xd.icon})}),(0,lt.jsxs)(as,{positioner:c,children:[t,d&&(0,lt.jsxs)(lt.Fragment,{children:[" ",(0,lt.jsx)("span",{"aria-hidden":"true",children:d.displayShortcut})]})]})]})});var Zd=h(de(),1),Qd=h(Ot(),1),Co=h(Q(),1),ps="data-wp-hash";function ms(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&sb(document)),e.__wpStyleRuntime}function ib(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${ps}]`))if(o.getAttribute(ps)===t)return!0;return!1}function Jd(e,t,o){if(!e.head)return;let n=ms(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(ib(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(ps,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function sb(e){let t=ms();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)Jd(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function pr(e,t){let o=ms();o.styles.set(e,t);for(let n of o.documents.keys())Jd(n,e,t)}typeof process>"u",pr("10f3806643","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");var ab={"box-sizing":"_336cd3e4e743482f__box-sizing"};typeof process>"u",pr("da99a163ac","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._08e8a2e44959f892__outset-ring--focus:focus,.c5cb3ee4bddaa8e4__outset-ring--focus-within-visible:focus-within:has(:focus-visible),.cd83dfc2126a0846__outset-ring--focus-within:focus-within,.d0541bc9dd9dc7b6__outset-ring--focus-visible:focus-visible,:focus-visible .ecadb9e080e2dfa5__outset-ring--focus-parent-visible{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}._970d04df7376df67__outset-ring--focus-within-except-active:focus-within,.e25b2bdd7aa21721__outset-ring--focus-except-active:focus{outline:none}._970d04df7376df67__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.e25b2bdd7aa21721__outset-ring--focus-except-active:focus:not(:active){@include mixins.focus-ring()}}}");var cb={"outset-ring--focus":"_08e8a2e44959f892__outset-ring--focus","outset-ring--focus-visible":"d0541bc9dd9dc7b6__outset-ring--focus-visible","outset-ring--focus-within":"cd83dfc2126a0846__outset-ring--focus-within","outset-ring--focus-within-visible":"c5cb3ee4bddaa8e4__outset-ring--focus-within-visible","outset-ring--focus-parent-visible":"ecadb9e080e2dfa5__outset-ring--focus-parent-visible","outset-ring--focus-except-active":"e25b2bdd7aa21721__outset-ring--focus-except-active","outset-ring--focus-within-except-active":"_970d04df7376df67__outset-ring--focus-within-except-active"};typeof process>"u",pr("e8e6a9be37",'@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.d4250949359b05ce__link{text-decoration-thickness:from-font;text-underline-offset:.2em}.c6055659b8e2cd2c__is-brand,.c6055659b8e2cd2c__is-brand:visited{--_gcd-a-color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9));color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9))}.c6055659b8e2cd2c__is-brand:active,.c6055659b8e2cd2c__is-brand:hover{--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000));color:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000))}._92e0dfcaeee15b88__is-neutral,._92e0dfcaeee15b88__is-neutral:visited{--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);text-decoration-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d)}._92e0dfcaeee15b88__is-neutral:active,._92e0dfcaeee15b88__is-neutral:hover{--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e)}.cf122a9bf1035d42__is-unstyled{--_gcd-a-color:inherit;color:inherit;text-decoration:none}._0cb411afac4c86c7__link-icon{display:inline-block;font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-padding-xs,4px);text-decoration:none}._0cb411afac4c86c7__link-icon:after{content:"\\2197"}._0cb411afac4c86c7__link-icon:dir(rtl):after{content:"\\2196"}}}');var fr={link:"d4250949359b05ce__link","is-brand":"c6055659b8e2cd2c__is-brand","is-neutral":"_92e0dfcaeee15b88__is-neutral","is-unstyled":"cf122a9bf1035d42__is-unstyled","link-icon":"_0cb411afac4c86c7__link-icon"};typeof process>"u",pr("af6d9984a6","._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}");var lb={button:"_6defc79820e382c6__button",input:"d2cff2e5dea83bd1__input",textarea:"_547d86373d02e108__textarea",div:"_8c15fd0ed9f28ba4__div",p:"_43cec3e1eec1066d__p",heading:"e97669c6d9a38497__heading",a:"_2c0831b0499dbd6e__a"},en=(0,Zd.forwardRef)(function({children:t,variant:o="default",tone:n="brand",openInNewTab:r=!1,render:i,className:s,...a},d){return bt({render:i,defaultTagName:"a",ref:d,props:ye(a,{className:$(lb.a,ab["box-sizing"],cb["outset-ring--focus-except-active"],o!=="unstyled"&&fr.link,o!=="unstyled"&&fr[`is-${n}`],o==="unstyled"&&fr["is-unstyled"],s),target:r?"_blank":void 0,children:(0,Co.jsxs)(Co.Fragment,{children:[t,r&&(0,Co.jsx)("span",{className:fr["link-icon"],role:"img","aria-label":(0,Qd.__)("(opens in a new tab)")})]})})})});var tn={};At(tn,{ActionButton:()=>xu,ActionLink:()=>Eu,Actions:()=>fu,CloseIcon:()=>hu,Description:()=>lu,Root:()=>tu,Title:()=>iu});var Ao=h(de(),1);import{speak as db}from"@wordpress/a11y";var Oo=h(Q(),1),bs="data-wp-hash";function hs(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&fb(document)),e.__wpStyleRuntime}function ub(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${bs}]`))if(o.getAttribute(bs)===t)return!0;return!1}function $d(e,t,o){if(!e.head)return;let n=hs(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(ub(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(bs,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function fb(e){let t=hs();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)$d(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function eu(e,t){let o=hs();o.styles.set(e,t);for(let n of o.documents.keys())$d(n,e,t)}typeof process>"u",eu("10f3806643","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");var pb={"box-sizing":"_336cd3e4e743482f__box-sizing"};typeof process>"u",eu("726c480820","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description,.b5397fb9d05389e3__title{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._1904b570a89bb815__description{text-wrap:pretty}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#a9c6e7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bc7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#926300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#94d29e);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#dab1aa);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button:is(._8ddb8fb33fbf3d38__is-action-button-outline,._77bbde495a8a0af3__is-action-button-minimal){--wp-ui-button-background-color-active:color-mix(in srgb,transparent 50%,var(--wpds-color-background-interactive-neutral-weak-active,#ededed))}}}");var gs={notice:"_4145abab73d17514__notice",icon:"d0a25570cb528528__icon",title:"b5397fb9d05389e3__title",description:"_1904b570a89bb815__description",actions:"_0a1270dcdd79c031__actions","action-button":"_983740ab855c4e09__action-button","action-link":"d329e7416d368d31__action-link","close-icon":"_487e6a5c1375f7dc__close-icon","is-info":"_531c140826094795__is-info","is-warning":"ae2e1004697cce95__is-warning","is-success":"_2e614a76af494837__is-success","is-error":"af00331ae17a0065__is-error","is-action-button-outline":"_8ddb8fb33fbf3d38__is-action-button-outline","is-action-button-minimal":"_77bbde495a8a0af3__is-action-button-minimal"},mb={neutral:null,info:Xi,warning:Fi,success:qi,error:Ui};function gb(e){return e==="error"?"assertive":"polite"}function bb(e){if(e){if(typeof e=="string")return e;try{return(0,Ao.renderToString)(e)}catch{return}}}function hb(e,t){let o=bb(e);(0,Ao.useEffect)(()=>{o&&db(o,t)},[o,t])}var tu=(0,Ao.forwardRef)(function({intent:t="neutral",children:o,icon:n,spokenMessage:r=o,politeness:i=gb(t),render:s,...a},d){hb(r,i);let c=n===null?null:n??mb[t],l=$(gs.notice,gs[`is-${t}`],pb["box-sizing"]);return bt({defaultTagName:"div",render:s,ref:d,props:ye({className:l,children:(0,Oo.jsxs)(Oo.Fragment,{children:[o,c&&(0,Oo.jsx)(eo,{className:gs.icon,icon:c})]})},a)})});var ou=h(de(),1);var ru=h(Q(),1),ws="data-wp-hash";function vs(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&vb(document)),e.__wpStyleRuntime}function wb(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${ws}]`))if(o.getAttribute(ws)===t)return!0;return!1}function nu(e,t,o){if(!e.head)return;let n=vs(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(wb(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(ws,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function vb(e){let t=vs();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)nu(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function _b(e,t){let o=vs();o.styles.set(e,t);for(let n of o.documents.keys())nu(n,e,t)}typeof process>"u",_b("726c480820","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description,.b5397fb9d05389e3__title{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._1904b570a89bb815__description{text-wrap:pretty}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#a9c6e7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bc7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#926300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#94d29e);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#dab1aa);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button:is(._8ddb8fb33fbf3d38__is-action-button-outline,._77bbde495a8a0af3__is-action-button-minimal){--wp-ui-button-background-color-active:color-mix(in srgb,transparent 50%,var(--wpds-color-background-interactive-neutral-weak-active,#ededed))}}}");var yb={notice:"_4145abab73d17514__notice",icon:"d0a25570cb528528__icon",title:"b5397fb9d05389e3__title",description:"_1904b570a89bb815__description",actions:"_0a1270dcdd79c031__actions","action-button":"_983740ab855c4e09__action-button","action-link":"d329e7416d368d31__action-link","close-icon":"_487e6a5c1375f7dc__close-icon","is-info":"_531c140826094795__is-info","is-warning":"ae2e1004697cce95__is-warning","is-success":"_2e614a76af494837__is-success","is-error":"af00331ae17a0065__is-error","is-action-button-outline":"_8ddb8fb33fbf3d38__is-action-button-outline","is-action-button-minimal":"_77bbde495a8a0af3__is-action-button-minimal"},iu=(0,ou.forwardRef)(function({className:t,...o},n){return(0,ru.jsx)(Je,{ref:n,variant:"heading-md",className:$(yb.title,t),...o})});var su=h(de(),1);var cu=h(Q(),1),_s="data-wp-hash";function ys(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&Rb(document)),e.__wpStyleRuntime}function xb(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${_s}]`))if(o.getAttribute(_s)===t)return!0;return!1}function au(e,t,o){if(!e.head)return;let n=ys(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(xb(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(_s,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function Rb(e){let t=ys();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)au(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function Sb(e,t){let o=ys();o.styles.set(e,t);for(let n of o.documents.keys())au(n,e,t)}typeof process>"u",Sb("726c480820","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description,.b5397fb9d05389e3__title{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._1904b570a89bb815__description{text-wrap:pretty}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#a9c6e7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bc7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#926300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#94d29e);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#dab1aa);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button:is(._8ddb8fb33fbf3d38__is-action-button-outline,._77bbde495a8a0af3__is-action-button-minimal){--wp-ui-button-background-color-active:color-mix(in srgb,transparent 50%,var(--wpds-color-background-interactive-neutral-weak-active,#ededed))}}}");var Eb={notice:"_4145abab73d17514__notice",icon:"d0a25570cb528528__icon",title:"b5397fb9d05389e3__title",description:"_1904b570a89bb815__description",actions:"_0a1270dcdd79c031__actions","action-button":"_983740ab855c4e09__action-button","action-link":"d329e7416d368d31__action-link","close-icon":"_487e6a5c1375f7dc__close-icon","is-info":"_531c140826094795__is-info","is-warning":"ae2e1004697cce95__is-warning","is-success":"_2e614a76af494837__is-success","is-error":"af00331ae17a0065__is-error","is-action-button-outline":"_8ddb8fb33fbf3d38__is-action-button-outline","is-action-button-minimal":"_77bbde495a8a0af3__is-action-button-minimal"},lu=(0,su.forwardRef)(function({className:t,...o},n){return(0,cu.jsx)(Je,{ref:n,variant:"body-md",className:$(Eb.description,t),...o})});var du=h(de(),1);var xs="data-wp-hash";function Rs(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&kb(document)),e.__wpStyleRuntime}function Tb(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${xs}]`))if(o.getAttribute(xs)===t)return!0;return!1}function uu(e,t,o){if(!e.head)return;let n=Rs(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(Tb(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(xs,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function kb(e){let t=Rs();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)uu(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function Pb(e,t){let o=Rs();o.styles.set(e,t);for(let n of o.documents.keys())uu(n,e,t)}typeof process>"u",Pb("726c480820","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description,.b5397fb9d05389e3__title{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._1904b570a89bb815__description{text-wrap:pretty}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#a9c6e7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bc7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#926300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#94d29e);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#dab1aa);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button:is(._8ddb8fb33fbf3d38__is-action-button-outline,._77bbde495a8a0af3__is-action-button-minimal){--wp-ui-button-background-color-active:color-mix(in srgb,transparent 50%,var(--wpds-color-background-interactive-neutral-weak-active,#ededed))}}}");var Cb={notice:"_4145abab73d17514__notice",icon:"d0a25570cb528528__icon",title:"b5397fb9d05389e3__title",description:"_1904b570a89bb815__description",actions:"_0a1270dcdd79c031__actions","action-button":"_983740ab855c4e09__action-button","action-link":"d329e7416d368d31__action-link","close-icon":"_487e6a5c1375f7dc__close-icon","is-info":"_531c140826094795__is-info","is-warning":"ae2e1004697cce95__is-warning","is-success":"_2e614a76af494837__is-success","is-error":"af00331ae17a0065__is-error","is-action-button-outline":"_8ddb8fb33fbf3d38__is-action-button-outline","is-action-button-minimal":"_77bbde495a8a0af3__is-action-button-minimal"},fu=(0,du.forwardRef)(function({render:t,...o},n){return bt({defaultTagName:"div",render:t,ref:n,props:ye({className:Cb.actions},o)})});var pu=h(de(),1),mu=h(Ot(),1);var bu=h(Q(),1),Ss="data-wp-hash";function Es(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&Ob(document)),e.__wpStyleRuntime}function Ab(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${Ss}]`))if(o.getAttribute(Ss)===t)return!0;return!1}function gu(e,t,o){if(!e.head)return;let n=Es(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(Ab(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(Ss,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function Ob(e){let t=Es();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)gu(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function Nb(e,t){let o=Es();o.styles.set(e,t);for(let n of o.documents.keys())gu(n,e,t)}typeof process>"u",Nb("726c480820","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description,.b5397fb9d05389e3__title{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._1904b570a89bb815__description{text-wrap:pretty}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#a9c6e7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bc7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#926300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#94d29e);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#dab1aa);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button:is(._8ddb8fb33fbf3d38__is-action-button-outline,._77bbde495a8a0af3__is-action-button-minimal){--wp-ui-button-background-color-active:color-mix(in srgb,transparent 50%,var(--wpds-color-background-interactive-neutral-weak-active,#ededed))}}}");var Lb={notice:"_4145abab73d17514__notice",icon:"d0a25570cb528528__icon",title:"b5397fb9d05389e3__title",description:"_1904b570a89bb815__description",actions:"_0a1270dcdd79c031__actions","action-button":"_983740ab855c4e09__action-button","action-link":"d329e7416d368d31__action-link","close-icon":"_487e6a5c1375f7dc__close-icon","is-info":"_531c140826094795__is-info","is-warning":"ae2e1004697cce95__is-warning","is-success":"_2e614a76af494837__is-success","is-error":"af00331ae17a0065__is-error","is-action-button-outline":"_8ddb8fb33fbf3d38__is-action-button-outline","is-action-button-minimal":"_77bbde495a8a0af3__is-action-button-minimal"},hu=(0,pu.forwardRef)(function({className:t,icon:o=Wi,label:n=(0,mu.__)("Dismiss"),...r},i){return(0,bu.jsx)(fs,{...r,ref:i,className:$(Lb["close-icon"],t),variant:"minimal",size:"small",tone:"neutral",icon:o,label:n})});var vu=h(de(),1);var yu=h(Q(),1),Ts="data-wp-hash";function ks(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&Mb(document)),e.__wpStyleRuntime}function Ib(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${Ts}]`))if(o.getAttribute(Ts)===t)return!0;return!1}function _u(e,t,o){if(!e.head)return;let n=ks(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(Ib(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(Ts,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function Mb(e){let t=ks();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)_u(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function Bb(e,t){let o=ks();o.styles.set(e,t);for(let n of o.documents.keys())_u(n,e,t)}typeof process>"u",Bb("726c480820","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description,.b5397fb9d05389e3__title{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._1904b570a89bb815__description{text-wrap:pretty}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#a9c6e7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bc7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#926300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#94d29e);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#dab1aa);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button:is(._8ddb8fb33fbf3d38__is-action-button-outline,._77bbde495a8a0af3__is-action-button-minimal){--wp-ui-button-background-color-active:color-mix(in srgb,transparent 50%,var(--wpds-color-background-interactive-neutral-weak-active,#ededed))}}}");var wu={notice:"_4145abab73d17514__notice",icon:"d0a25570cb528528__icon",title:"b5397fb9d05389e3__title",description:"_1904b570a89bb815__description",actions:"_0a1270dcdd79c031__actions","action-button":"_983740ab855c4e09__action-button","action-link":"d329e7416d368d31__action-link","close-icon":"_487e6a5c1375f7dc__close-icon","is-info":"_531c140826094795__is-info","is-warning":"ae2e1004697cce95__is-warning","is-success":"_2e614a76af494837__is-success","is-error":"af00331ae17a0065__is-error","is-action-button-outline":"_8ddb8fb33fbf3d38__is-action-button-outline","is-action-button-minimal":"_77bbde495a8a0af3__is-action-button-minimal"},xu=(0,vu.forwardRef)(function({className:t,loading:o,loadingAnnouncement:n,variant:r,...i},s){return(0,yu.jsx)(sr,{...i,...o!==void 0?{loading:o,loadingAnnouncement:n??""}:{},ref:s,size:"compact",tone:"neutral",variant:r,className:$(wu["action-button"],wu[`is-action-button-${r}`],t)})});var Ru=h(de(),1);var Cs=h(Q(),1),Ps="data-wp-hash";function As(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&zb(document)),e.__wpStyleRuntime}function Hb(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${Ps}]`))if(o.getAttribute(Ps)===t)return!0;return!1}function Su(e,t,o){if(!e.head)return;let n=As(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(Hb(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(Ps,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function zb(e){let t=As();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)Su(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function Db(e,t){let o=As();o.styles.set(e,t);for(let n of o.documents.keys())Su(n,e,t)}typeof process>"u",Db("726c480820","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description,.b5397fb9d05389e3__title{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._1904b570a89bb815__description{text-wrap:pretty}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#a9c6e7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bc7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#926300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#94d29e);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#dab1aa);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button:is(._8ddb8fb33fbf3d38__is-action-button-outline,._77bbde495a8a0af3__is-action-button-minimal){--wp-ui-button-background-color-active:color-mix(in srgb,transparent 50%,var(--wpds-color-background-interactive-neutral-weak-active,#ededed))}}}");var jb={notice:"_4145abab73d17514__notice",icon:"d0a25570cb528528__icon",title:"b5397fb9d05389e3__title",description:"_1904b570a89bb815__description",actions:"_0a1270dcdd79c031__actions","action-button":"_983740ab855c4e09__action-button","action-link":"d329e7416d368d31__action-link","close-icon":"_487e6a5c1375f7dc__close-icon","is-info":"_531c140826094795__is-info","is-warning":"ae2e1004697cce95__is-warning","is-success":"_2e614a76af494837__is-success","is-error":"af00331ae17a0065__is-error","is-action-button-outline":"_8ddb8fb33fbf3d38__is-action-button-outline","is-action-button-minimal":"_77bbde495a8a0af3__is-action-button-minimal"},Eu=(0,Ru.forwardRef)(function({className:t,render:o,...n},r){return(0,Cs.jsx)(Je,{ref:r,className:$(jb["action-link"],t),...n,variant:"body-md",render:(0,Cs.jsx)(en,{tone:"neutral",variant:"default",render:o})})});var Tu=h(de(),1),ku=h(Q(),1),Pu=(0,Tu.forwardRef)(({children:e,className:t,ariaLabel:o,as:n="div",...r},i)=>(0,ku.jsx)(n,{ref:i,className:$("admin-ui-navigable-region",t),"aria-label":o,role:"region",tabIndex:"-1",...r,children:e}));Pu.displayName="NavigableRegion";var Cu=Pu;var Ou=h(on(),1),{Fill:Nu,Slot:Lu}=(0,Ou.createSlotFill)("SidebarToggle");var $e=h(Q(),1),Os="data-wp-hash";function Ns(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&Vb(document)),e.__wpStyleRuntime}function Fb(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${Os}]`))if(o.getAttribute(Os)===t)return!0;return!1}function Iu(e,t,o){if(!e.head)return;let n=Ns(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(Fb(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(Os,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function Vb(e){let t=Ns();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)Iu(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function Wb(e,t){let o=Ns();o.styles.set(e,t);for(let n of o.documents.keys())Iu(n,e,t)}typeof process>"u",Wb("ddd9aab364","._956b6df0898efed0__page{text-wrap:pretty;background-color:var(--wpds-color-background-surface-neutral,#fcfcfc);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);display:flex;flex-flow:column;height:100%;position:relative;z-index:1}._0625b55e82a0d93d__header{background:var(--wpds-color-background-surface-neutral-strong,#fff);border-block-end:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);inset-block-start:0;padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px);position:sticky;z-index:1}.a43c44d5ae28b2e8__header-content{min-height:var(--wpds-dimension-size-md,32px)}.b7cb5b9daf3a3b25__header-actions{flex-shrink:0}._8113be94e7caf73c__header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._9a776c7f70996f61__header-visual{display:grid;flex-shrink:0;grid-template-columns:1fr;grid-template-rows:1fr;height:var(--wpds-dimension-size-sm,24px);width:var(--wpds-dimension-size-sm,24px);>*{grid-column:1/-1;grid-row:1/-1;max-height:100%;max-width:100%}}.d5e0920cd15d35bc__sidebar-toggle-slot:empty{display:none}._60fea2f6bf5319cd__header-subtitle{color:var(--wpds-color-foreground-content-neutral-weak,#707070);padding-block-end:var(--wpds-dimension-padding-xs,4px)}.be5e57d029ec4036__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;&._128806d0b26e3a50__has-padding{padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px)}}");var to={page:"_956b6df0898efed0__page",header:"_0625b55e82a0d93d__header","header-content":"a43c44d5ae28b2e8__header-content","header-actions":"b7cb5b9daf3a3b25__header-actions","header-title":"_8113be94e7caf73c__header-title","header-visual":"_9a776c7f70996f61__header-visual","sidebar-toggle-slot":"d5e0920cd15d35bc__sidebar-toggle-slot","header-subtitle":"_60fea2f6bf5319cd__header-subtitle",content:"be5e57d029ec4036__content","has-padding":"_128806d0b26e3a50__has-padding"};function Mu({headingLevel:e=1,breadcrumbs:t,badges:o,visual:n,title:r,subTitle:i,actions:s,showSidebarToggle:a=!0}){let d=`h${e}`;return(0,$e.jsxs)(Po,{direction:"column",className:to.header,children:[(0,$e.jsxs)(Po,{className:to["header-content"],direction:"row",gap:"sm",justify:"space-between",children:[(0,$e.jsxs)(Po,{direction:"row",gap:"sm",align:"center",justify:"start",children:[a&&(0,$e.jsx)(Lu,{bubblesVirtually:!0,className:to["sidebar-toggle-slot"]}),n&&(0,$e.jsx)("div",{className:to["header-visual"],"aria-hidden":"true",children:n}),r&&(0,$e.jsx)(Je,{className:to["header-title"],render:(0,$e.jsx)(d,{}),variant:"heading-lg",children:r}),t,o]}),s&&(0,$e.jsx)(Po,{align:"center",className:to["header-actions"],direction:"row",gap:"sm",children:s})]}),i&&(0,$e.jsx)(Je,{render:(0,$e.jsx)("p",{}),variant:"body-md",className:to["header-subtitle"],children:i})]})}var nn=h(Q(),1),Is="data-wp-hash";function Ms(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&Ub(document)),e.__wpStyleRuntime}function Yb(e,t){if(!e.head)return!1;for(let o of e.head.querySelectorAll(`style[${Is}]`))if(o.getAttribute(Is)===t)return!0;return!1}function Bu(e,t,o){if(!e.head)return;let n=Ms(),r=n.injectedStyles.get(e);if(r||(r=new Set,n.injectedStyles.set(e,r)),r.has(t))return;if(Yb(e,t)){r.add(t);return}let i=e.createElement("style");i.setAttribute(Is,t),i.appendChild(e.createTextNode(o)),e.head.appendChild(i),r.add(t)}function Ub(e){let t=Ms();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[o,n]of t.styles)Bu(e,o,n);return()=>{let o=t.documents.get(e);if(o!==void 0){if(o<=1){t.documents.delete(e);return}t.documents.set(e,o-1)}}}function Gb(e,t){let o=Ms();o.styles.set(e,t);for(let n of o.documents.keys())Bu(n,e,t)}typeof process>"u",Gb("ddd9aab364","._956b6df0898efed0__page{text-wrap:pretty;background-color:var(--wpds-color-background-surface-neutral,#fcfcfc);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);display:flex;flex-flow:column;height:100%;position:relative;z-index:1}._0625b55e82a0d93d__header{background:var(--wpds-color-background-surface-neutral-strong,#fff);border-block-end:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);inset-block-start:0;padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px);position:sticky;z-index:1}.a43c44d5ae28b2e8__header-content{min-height:var(--wpds-dimension-size-md,32px)}.b7cb5b9daf3a3b25__header-actions{flex-shrink:0}._8113be94e7caf73c__header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._9a776c7f70996f61__header-visual{display:grid;flex-shrink:0;grid-template-columns:1fr;grid-template-rows:1fr;height:var(--wpds-dimension-size-sm,24px);width:var(--wpds-dimension-size-sm,24px);>*{grid-column:1/-1;grid-row:1/-1;max-height:100%;max-width:100%}}.d5e0920cd15d35bc__sidebar-toggle-slot:empty{display:none}._60fea2f6bf5319cd__header-subtitle{color:var(--wpds-color-foreground-content-neutral-weak,#707070);padding-block-end:var(--wpds-dimension-padding-xs,4px)}.be5e57d029ec4036__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;&._128806d0b26e3a50__has-padding{padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px)}}");var Ls={page:"_956b6df0898efed0__page",header:"_0625b55e82a0d93d__header","header-content":"a43c44d5ae28b2e8__header-content","header-actions":"b7cb5b9daf3a3b25__header-actions","header-title":"_8113be94e7caf73c__header-title","header-visual":"_9a776c7f70996f61__header-visual","sidebar-toggle-slot":"d5e0920cd15d35bc__sidebar-toggle-slot","header-subtitle":"_60fea2f6bf5319cd__header-subtitle",content:"be5e57d029ec4036__content","has-padding":"_128806d0b26e3a50__has-padding"};function Hu({headingLevel:e,breadcrumbs:t,badges:o,visual:n,title:r,subTitle:i,children:s,className:a,actions:d,ariaLabel:c,hasPadding:l=!1,showSidebarToggle:f=!0}){let p=$(Ls.page,a);return(0,nn.jsxs)(Cu,{className:p,ariaLabel:c??(typeof r=="string"?r:""),children:[(r||t||o||d||n)&&(0,nn.jsx)(Mu,{headingLevel:e,breadcrumbs:t,badges:o,visual:n,title:r,subTitle:i,actions:d,showSidebarToggle:f}),l?(0,nn.jsx)("div",{className:$(Ls.content,Ls["has-padding"]),children:s}):s]})}Hu.SidebarToggleFill=Nu;var Bs=Hu;var dt=h(on()),lf=h(rn()),df=h(de()),Tt=h(Ot()),uf=h(mr());import{privateApis as l0}from"@wordpress/connectors";var ju=h(Qi()),{lock:l3,unlock:No}=(0,ju.__dangerousOptInToUnstableAPIsOnlyForCoreModules)("I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.","@wordpress/routes");if(typeof document<"u"&&!document.head.querySelector("style[data-wp-hash='09e9b056ea']")){let e=document.createElement("style");e.setAttribute("data-wp-hash","09e9b056ea"),e.appendChild(document.createTextNode(".connectors-page{box-sizing:border-box;margin:0 auto;max-width:680px;padding:24px;width:100%}.connectors-page .components-item{background:#fff;border:1px solid #ddd;border-radius:8px;overflow:hidden;padding:20px;scroll-margin-top:120px}.connectors-page .connector-settings__error{color:#cc1818}.connectors-page .connector-settings .components-text-control__input{font-family:monospace;scroll-margin-top:120px}.connectors-page__file-mods-notice{margin-bottom:16px}.connectors-page--empty{align-items:center;display:flex;flex-direction:column;flex-grow:1;gap:32px;justify-content:center;text-align:center}.connectors-page .ai-plugin-callout{background-color:#e7d4e4;background-image:radial-gradient(ellipse 70% 120% at 18% 115%,rgba(202,158,198,.75) 0,rgba(202,158,198,0) 60%),radial-gradient(ellipse 55% 110% at 92% -15%,rgba(208,175,217,.7) 0,rgba(208,175,217,0) 65%),radial-gradient(ellipse 40% 85% at 58% -10%,rgba(170,130,184,.45) 0,rgba(170,130,184,0) 70%);border-radius:8px;overflow:hidden;padding:24px;padding-inline-end:150px;position:relative}[dir=rtl] .connectors-page .ai-plugin-callout{background-image:radial-gradient(ellipse 70% 120% at 82% 115%,rgba(202,158,198,.75) 0,rgba(202,158,198,0) 60%),radial-gradient(ellipse 55% 110% at 8% -15%,rgba(208,175,217,.7) 0,rgba(208,175,217,0) 65%),radial-gradient(ellipse 40% 85% at 42% -10%,rgba(170,130,184,.45) 0,rgba(170,130,184,0) 70%)}.connectors-page .ai-plugin-callout__content{align-items:flex-start;display:flex;flex-direction:column;gap:12px;padding-top:2px}.connectors-page .ai-plugin-callout__content p{font-size:13px;line-height:20px;margin:0}.connectors-page .ai-plugin-callout__decoration{height:110px;inset-inline-end:16px;position:absolute;top:12px;width:110px}.connectors-page>p{color:#949494}@media (max-width:680px){.connectors-page .ai-plugin-callout{padding:12px;padding-inline-end:100px}.connectors-page .ai-plugin-callout__decoration{height:75px;inset-inline-end:8px;top:8px;width:75px}}@media (max-width:480px){.connectors-page{padding:8px}.connectors-page .ai-plugin-callout{padding-inline-end:130px}.connectors-page .components-item{padding:12px}.connectors-page .components-item>.components-v-stack>.components-h-stack:first-child svg{height:32px;width:32px}.connectors-page .components-item>.components-v-stack>.components-h-stack:first-child>.components-h-stack:last-child{align-items:flex-end;flex-direction:column}}")),document.head.appendChild(e)}var cn=h(on()),Ws=h(mr()),ln=h(rn()),wt=h(de()),Xe=h(Ot()),rf=h(Hs()),sf=h(Wu());var gr=h(on()),js=h(de()),Qu=h(rn()),oo=h(Ot());import{__experimentalRegisterConnector as Xb,__experimentalConnectorItem as Zu,__experimentalDefaultConnectorSettings as Kb,__experimentalApplicationPasswordConnectorSettings as qb,privateApis as Zb}from"@wordpress/connectors";var zs=h(mr()),an=h(rn()),sn=h(de()),fe=h(Ot()),Yu=h(Hs());function Ds({file:e,settingName:t,connectorName:o,isInstalled:n,isActivated:r,keySource:i="none",initialIsConnected:s=!1}){let[a,d]=(0,sn.useState)(!1),[c,l]=(0,sn.useState)(!1),[f,p]=(0,sn.useState)(s),[m,u]=(0,sn.useState)(null),g=e?.replace(/\.php$/,""),v=g?.includes("/")?g.split("/")[0]:g,{derivedPluginStatus:_,canManagePlugins:w,currentApiKey:y,currentUsername:b,hasStoredCredentials:S,hasResolvedSettings:x,canInstallPlugins:E}=(0,an.useSelect)(K=>{let J=K(zs.store),me=J.getEntityRecord("root","site")?.[t],le=typeof me=="string"?me:"",X=typeof me=="object"&&me!==null?me:void 0,pe=X!==void 0?!!X.username&&!!X.password:!!le,ue=J.hasFinishedResolution("getEntityRecord",["root","site"]),vt=!!J.canUser("create",{kind:"root",name:"plugin"}),Te={currentApiKey:le,currentUsername:X?.username??"",hasStoredCredentials:pe,hasResolvedSettings:ue,canInstallPlugins:vt};if(!e)return{...Te,derivedPluginStatus:ue?"active":"checking",canManagePlugins:void 0};let Ve=J.getEntityRecord("root","plugin",g);if(!J.hasFinishedResolution("getEntityRecord",["root","plugin",g]))return{...Te,derivedPluginStatus:"checking",canManagePlugins:void 0};if(Ve){let no=Ve.status==="active"||Ve.status==="network-active";return{...Te,derivedPluginStatus:no?"active":"inactive",canManagePlugins:!0}}let He="not-installed";return r?He="active":n&&(He="inactive"),{...Te,derivedPluginStatus:He,canManagePlugins:!1}},[e,g,t,n,r]),T=m??_,k=w,C=T==="active"&&f||m==="active"&&S,{saveEntityRecord:j,invalidateResolution:A}=(0,an.useDispatch)(zs.store),{createSuccessNotice:L,createErrorNotice:I}=(0,an.useDispatch)(Yu.store),R=K=>j("root","site",{[t]:K},{throwOnError:!0}),N=()=>{L((0,fe.sprintf)((0,fe.__)("%s connected successfully."),o),{id:"connector-connect-success",type:"snackbar"})},H=()=>{L((0,fe.sprintf)((0,fe.__)("%s disconnected."),o),{id:"connector-disconnect-success",type:"snackbar"})},P=()=>{I((0,fe.sprintf)((0,fe.__)("Failed to disconnect %s."),o),{id:"connector-disconnect-error",type:"snackbar"})},O=async()=>{if(v){l(!0);try{await j("root","plugin",{slug:v,status:"active"},{throwOnError:!0}),u("active"),A("getEntityRecord",["root","site"]),d(!0),L((0,fe.sprintf)((0,fe.__)("Plugin for %s installed and activated successfully."),o),{id:"connector-plugin-install-success",type:"snackbar"})}catch{I((0,fe.sprintf)((0,fe.__)("Failed to install plugin for %s."),o),{id:"connector-plugin-install-error",type:"snackbar"})}finally{l(!1)}}},M=async()=>{if(e){l(!0);try{await j("root","plugin",{plugin:g,status:"active"},{throwOnError:!0}),u("active"),A("getEntityRecord",["root","site"]),d(!0),L((0,fe.sprintf)((0,fe.__)("Plugin for %s activated successfully."),o),{id:"connector-plugin-activate-success",type:"snackbar"})}catch{I((0,fe.sprintf)((0,fe.__)("Failed to activate plugin for %s."),o),{id:"connector-plugin-activate-error",type:"snackbar"})}finally{l(!1)}}};return{pluginStatus:T,canInstallPlugins:E,canActivatePlugins:k,isExpanded:a,setIsExpanded:d,isBusy:c,isConnected:C,currentApiKey:y,currentUsername:b,hasResolvedSettings:x,keySource:i,handleButtonClick:()=>{if(T==="not-installed"){if(E===!1)return;O()}else if(T==="inactive"){if(k===!1)return;M()}else d(!a)},getButtonLabel:()=>{if(c)return T==="not-installed"?(0,fe.__)("Installing\u2026"):(0,fe.__)("Activating\u2026");if(a)return(0,fe.__)("Cancel");if(C)return(0,fe.__)("Edit");switch(T){case"checking":return(0,fe.__)("Checking\u2026");case"not-installed":return(0,fe.__)("Install");case"inactive":return(0,fe.__)("Activate");case"active":return(0,fe.__)("Set up")}},saveApiKey:async K=>{let J=y;try{let le=(await R(K))?.[t];if(K&&(le===J||!le))throw new Error("It was not possible to connect to the provider using this key.");p(!0),N()}catch(ne){throw console.error("Failed to save API key:",ne),ne}},removeApiKey:async()=>{try{await R(""),p(!1),H()}catch(K){console.error("Failed to remove API key:",K),P()}},saveCredentials:async({username:K,applicationPassword:J})=>{try{let le=(await R({username:K,password:J}))?.[t];if(!le?.username||!le?.password)throw new Error((0,fe.__)("It was not possible to save these credentials."));p(!0),N()}catch(ne){throw console.error("Failed to save credentials:",ne),ne}},removeCredentials:async()=>{try{await R({username:"",password:""}),p(!1),H()}catch(K){console.error("Failed to remove credentials:",K),P()}}}}var Uu=()=>React.createElement("svg",{width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},React.createElement("path",{d:"M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364l2.0201-1.1685a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.4043-.6813zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z",fill:"currentColor"})),Gu=()=>React.createElement("svg",{width:"40",height:"40",viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},React.createElement("path",{d:"M6.2 21.024L12.416 17.536L12.52 17.232L12.416 17.064H12.112L11.072 17L7.52 16.904L4.44 16.776L1.456 16.616L0.704 16.456L0 15.528L0.072 15.064L0.704 14.64L1.608 14.72L3.608 14.856L6.608 15.064L8.784 15.192L12.008 15.528H12.52L12.592 15.32L12.416 15.192L12.28 15.064L9.176 12.96L5.816 10.736L4.056 9.456L3.104 8.808L2.624 8.2L2.416 6.872L3.28 5.92L4.44 6L4.736 6.08L5.912 6.984L8.424 8.928L11.704 11.344L12.184 11.744L12.376 11.608L12.4 11.512L12.184 11.152L10.4 7.928L8.496 4.648L7.648 3.288L7.424 2.472C7.344 2.136 7.288 1.856 7.288 1.512L8.272 0.176L8.816 0L10.128 0.176L10.68 0.656L11.496 2.52L12.816 5.456L14.864 9.448L15.464 10.632L15.784 11.728L15.904 12.064H16.112V11.872L16.28 9.624L16.592 6.864L16.896 3.312L17 2.312L17.496 1.112L18.48 0.464L19.248 0.832L19.88 1.736L19.792 2.32L19.416 4.76L18.68 8.584L18.2 11.144H18.48L18.8 10.824L20.096 9.104L22.272 6.384L23.232 5.304L24.352 4.112L25.072 3.544H26.432L27.432 5.032L26.984 6.568L25.584 8.344L24.424 9.848L22.76 12.088L21.72 13.88L21.816 14.024L22.064 14L25.824 13.2L27.856 12.832L30.28 12.416L31.376 12.928L31.496 13.448L31.064 14.512L28.472 15.152L25.432 15.76L20.904 16.832L20.848 16.872L20.912 16.952L22.952 17.144L23.824 17.192H25.96L29.936 17.488L30.976 18.176L31.6 19.016L31.496 19.656L29.896 20.472L27.736 19.96L22.696 18.76L20.968 18.328H20.728V18.472L22.168 19.88L24.808 22.264L28.112 25.336L28.28 26.096L27.856 26.696L27.408 26.632L24.504 24.448L23.384 23.464L20.848 21.328H20.68V21.552L21.264 22.408L24.352 27.048L24.512 28.472L24.288 28.936L23.488 29.216L22.608 29.056L20.8 26.52L18.936 23.664L17.432 21.104L17.248 21.208L16.36 30.768L15.944 31.256L14.984 31.624L14.184 31.016L13.76 30.032L14.184 28.088L14.696 25.552L15.112 23.536L15.488 21.032L15.712 20.2L15.696 20.144L15.512 20.168L13.624 22.76L10.752 26.64L8.48 29.072L7.936 29.288L6.992 28.8L7.08 27.928L7.608 27.152L10.752 23.152L12.648 20.672L13.872 19.24L13.864 19.032H13.792L5.44 24.456L3.952 24.648L3.312 24.048L3.392 23.064L3.696 22.744L6.208 21.016L6.2 21.024Z",fill:"#D97757"})),Xu=()=>React.createElement("svg",{width:"40",height:"40",viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},React.createElement("path",{d:"M0 4C0 1.79086 1.79086 0 4 0H28C30.2091 0 32 1.79086 32 4V28C32 30.2091 30.2091 32 28 32H4C1.79086 32 0 30.2091 0 28V4Z",fill:"#F0F0F0"}),React.createElement("path",{d:"M14.5 8V12H17.5V8H19V12H20.5C20.7652 12 21.0196 12.1054 21.2071 12.2929C21.3946 12.4804 21.5 12.7348 21.5 13V17L18.5 21V23C18.5 23.2652 18.3946 23.5196 18.2071 23.7071C18.0196 23.8946 17.7652 24 17.5 24H14.5C14.2348 24 13.9804 23.8946 13.7929 23.7071C13.6054 23.5196 13.5 23.2652 13.5 23V21L10.5 17V13C10.5 12.7348 10.6054 12.4804 10.7929 12.2929C10.9804 12.1054 11.2348 12 11.5 12H13V8H14.5ZM15 20.5V22.5H17V20.5L20 16.5V13.5H12V16.5L15 20.5Z",fill:"#949494"})),Ku=()=>React.createElement("svg",{width:"40",height:"40",viewBox:"0 0 44 44",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},React.createElement("rect",{width:"44",height:"44",fill:"#357B49",rx:"6"}),React.createElement("path",{fill:"#fff",fillRule:"evenodd",d:"m29.746 28.31-6.392-16.797c-.152-.397-.305-.672-.789-.675-.673 0-1.408.611-1.746 1.316l-7.378 16.154c-.072.16-.143.311-.214.454-.5.995-1.045 1.546-2.357 1.626a.399.399 0 0 0-.16.033l-.01.004a.399.399 0 0 0-.23.392v.01c0 .054.01.106.03.155l.004.01a.416.416 0 0 0 .394.252h6.212a.417.417 0 0 0 .307-.12.416.416 0 0 0 .124-.305.398.398 0 0 0-.105-.302.399.399 0 0 0-.294-.127c-.757 0-2.197-.062-2.197-1.164.02-.318.103-.63.245-.916l1.399-3.152c.52-1.163 1.654-1.163 2.572-1.163h5.843c.023 0 .044 0 .062.003.13.014.16.081.214.242l1.534 4.07a2.857 2.857 0 0 1 .216 1.04c0 .054-.003.104-.01.153-.09.726-.831.887-1.49.887a.4.4 0 0 0-.294.127l-.007.008-.007.008a.401.401 0 0 0-.092.286v.01c0 .054.01.106.03.155l.005.01a.42.42 0 0 0 .395.252h7.011a.413.413 0 0 0 .279-.13.412.412 0 0 0 .11-.297.387.387 0 0 0-.09-.294.388.388 0 0 0-.277-.135c-1.448-.122-2.295-.643-2.847-2.08Zm-11.985-5.844 2.847-6.304c.361-.728.659-1.486.889-2.265 0-.06.03-.092.06-.092s.061.032.061.091c.02.122.045.247.073.374.197.888.584 1.878.914 2.723l.176.453 1.684 4.529a.927.927 0 0 1 .092.4.473.473 0 0 1-.009.094c-.041.202-.228.272-.602.272h-6.063c-.122 0-.184-.03-.184-.092a.36.36 0 0 1 .062-.183Zm17.107-.721c0 .786-.446 1.231-1.25 1.231-.806 0-1.125-.409-1.125-1.034 0-.786.465-1.231 1.25-1.231.785 0 1.125.427 1.125 1.034ZM9.629 23.002c.803 0 1.25-.447 1.25-1.231 0-.607-.343-1.036-1.128-1.036-.785 0-1.25.447-1.25 1.231 0 .625.325 1.036 1.128 1.036Z",clipRule:"evenodd"})),qu=()=>React.createElement("svg",{width:"40",height:"40",style:{flex:"none",lineHeight:1},viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},React.createElement("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:"#3186FF"}),React.createElement("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:"url(#lobe-icons-gemini-fill-0)"}),React.createElement("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:"url(#lobe-icons-gemini-fill-1)"}),React.createElement("path",{d:"M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z",fill:"url(#lobe-icons-gemini-fill-2)"}),React.createElement("defs",null,React.createElement("linearGradient",{gradientUnits:"userSpaceOnUse",id:"lobe-icons-gemini-fill-0",x1:"7",x2:"11",y1:"15.5",y2:"12"},React.createElement("stop",{stopColor:"#08B962"}),React.createElement("stop",{offset:"1",stopColor:"#08B962",stopOpacity:"0"})),React.createElement("linearGradient",{gradientUnits:"userSpaceOnUse",id:"lobe-icons-gemini-fill-1",x1:"8",x2:"11.5",y1:"5.5",y2:"11"},React.createElement("stop",{stopColor:"#F94543"}),React.createElement("stop",{offset:"1",stopColor:"#F94543",stopOpacity:"0"})),React.createElement("linearGradient",{gradientUnits:"userSpaceOnUse",id:"lobe-icons-gemini-fill-2",x1:"3.5",x2:"17.5",y1:"13.5",y2:"12"},React.createElement("stop",{stopColor:"#FABC12"}),React.createElement("stop",{offset:".46",stopColor:"#FABC12",stopOpacity:"0"}))));var{store:Qb}=No(Zb);function Ju(){try{return JSON.parse(document.getElementById("wp-script-module-data-options-connectors-wp-admin")?.textContent??"{}")}catch{return{}}}function Fs(){return Ju().connectors??{}}function $u(){return!!Ju().isFileModDisabled}var Jb={google:qu,openai:Uu,anthropic:Gu,akismet:Ku};function $b(e,t){if(t)return React.createElement("img",{src:t,alt:"",width:40,height:40});let o=Jb[e];return React.createElement(o||Xu,null)}var e0=()=>React.createElement("span",{style:{color:"#345b37",backgroundColor:"#eff8f0",padding:"4px 12px",borderRadius:"2px",fontSize:"13px",fontWeight:"var(--wpds-typography-font-weight-emphasis)",whiteSpace:"nowrap"}},(0,oo.__)("Connected")),t0=({slug:e})=>React.createElement(en,{href:(0,oo.sprintf)((0,oo.__)("https://wordpress.org/plugins/%s/"),e),openInNewTab:!0},(0,oo.__)("Learn more")),o0=()=>React.createElement(Ii,null,(0,oo.__)("Not available"));function ef({isConnected:e,showUnavailableBadge:t,pluginSlug:o,isExpanded:n,isBusy:r,pluginStatus:i,actionButtonRef:s,handleButtonClick:a,getButtonLabel:d}){return React.createElement(gr.__experimentalHStack,{spacing:3,expanded:!1},e&&React.createElement(e0,null),t&&(o?React.createElement(t0,{slug:o}):React.createElement(o0,null)),!t&&React.createElement(gr.Button,{ref:s,variant:n||e?"tertiary":"secondary",size:"compact",onClick:a,disabled:i==="checking"||r,isBusy:r,accessibleWhenDisabled:!0},d()))}function tf(e){let t=e?.replace(/\.php$/,"");return t?.includes("/")?t.split("/")[0]:t}function n0({name:e,description:t,logo:o,authentication:n,plugin:r}){let i=n?.method==="api_key"?n:void 0,s=i?.settingName??"",a=i?.credentialsUrl??void 0,d=tf(r?.file),{pluginStatus:c,canInstallPlugins:l,canActivatePlugins:f,isExpanded:p,setIsExpanded:m,isBusy:u,isConnected:g,currentApiKey:v,hasResolvedSettings:_,keySource:w,handleButtonClick:y,getButtonLabel:b,saveApiKey:S,removeApiKey:x}=Ds({file:r?.file,settingName:s,connectorName:e,isInstalled:r?.isInstalled,isActivated:r?.isActivated,keySource:i?.keySource,initialIsConnected:i?.isConnected}),E=w==="env"||w==="constant",T=c==="not-installed"&&l===!1||c==="inactive"&&f===!1,k=(0,js.useRef)(null);return React.createElement(Zu,{className:d?`connector-item--${d}`:void 0,logo:o,name:e,description:t,actionArea:React.createElement(ef,{isConnected:g,showUnavailableBadge:T,pluginSlug:d,isExpanded:p,isBusy:u,pluginStatus:c,actionButtonRef:k,handleButtonClick:y,getButtonLabel:b})},p&&c==="active"&&_&&React.createElement(Kb,{key:g?"connected":"setup",initialValue:E?"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022":v,helpUrl:a,readOnly:g||E,keySource:w,onRemove:E?void 0:async()=>{await x(),k.current?.focus()},onSave:async C=>{await S(C),m(!1),k.current?.focus()}}))}function r0({name:e,description:t,logo:o,authentication:n,plugin:r}){let i=n?.method==="application_password"?n:void 0,s=i?.settingName??"",a=i?.credentialsUrl??void 0,d=tf(r?.file),{pluginStatus:c,canInstallPlugins:l,canActivatePlugins:f,isExpanded:p,setIsExpanded:m,isBusy:u,isConnected:g,currentUsername:v,hasResolvedSettings:_,keySource:w,handleButtonClick:y,getButtonLabel:b,saveCredentials:S,removeCredentials:x}=Ds({file:r?.file,settingName:s,connectorName:e,isInstalled:r?.isInstalled,isActivated:r?.isActivated,keySource:i?.keySource,initialIsConnected:i?.isConnected}),E=w==="env"||w==="constant",T=(0,js.useRef)(null),k=c==="not-installed"&&l===!1||c==="inactive"&&f===!1;return React.createElement(Zu,{className:d?`connector-item--${d}`:void 0,logo:o,name:e,description:t,actionArea:React.createElement(ef,{isConnected:g,showUnavailableBadge:k,pluginSlug:d,isExpanded:p,isBusy:u,pluginStatus:c,actionButtonRef:T,handleButtonClick:y,getButtonLabel:b})},p&&c==="active"&&_&&React.createElement(qb,{key:g?"connected":"setup",initialUsername:E?"\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022":v,helpUrl:a,readOnly:g||E,keySource:w,onRemove:E?void 0:async()=>{await x(),T.current?.focus()},onSave:async C=>{await S(C),m(!1),T.current?.focus()}}))}function of(){let e=Fs(),t=o=>o.replace(/[^a-z0-9-_]/gi,"-");for(let[o,n]of Object.entries(e)){if(o==="akismet"&&!n.plugin?.isInstalled)continue;let{authentication:r}=n,i=t(o),s={name:n.name,description:n.description,type:n.type,logo:$b(o,n.logoUrl),authentication:r,plugin:n.plugin},a=No((0,Qu.select)(Qb)).getConnector(i);r.method==="api_key"&&!a?.render?s.render=n0:r.method==="application_password"&&!a?.render&&(s.render=r0),Xb(i,s)}}function nf(){return React.createElement("div",{className:"ai-plugin-callout__decoration","aria-hidden":"true"},React.createElement("svg",{viewBox:"0 0 248 248",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",focusable:"false",style:{width:"100%",height:"100%"}},React.createElement("image",{href:"data:image/png;base64,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",width:"248",height:"248",style:{mixBlendMode:"multiply"}})))}var i0="ai",s0="ai-wp-admin",Vs="ai/ai",a0="https://wordpress.org/plugins/ai/",Ys=Object.values(Fs()),c0=Ys.some(e=>e.type==="ai_provider"),af=[];for(let e of Ys)e.type==="ai_provider"&&e.authentication.method==="api_key"&&af.push(e.authentication.settingName);function cf(){let[e,t]=(0,wt.useState)(!1),[o,n]=(0,wt.useState)(!1),r=(0,wt.useRef)(null);(0,wt.useEffect)(()=>{o&&r.current?.focus()},[o]);let i=(0,wt.useRef)(Ys.some(S=>S.type==="ai_provider"&&S.authentication.method==="api_key"&&S.authentication.isConnected)).current,{pluginStatus:s,canInstallPlugins:a,canManagePlugins:d,hasConnectedProvider:c}=(0,ln.useSelect)(S=>{let x=S(Ws.store),E=!!x.canUser("create",{kind:"root",name:"plugin"}),T=x.getEntityRecord("root","site"),k=i||af.some(A=>!!T?.[A]),C=x.getEntityRecord("root","plugin",Vs);return x.hasFinishedResolution("getEntityRecord",["root","plugin",Vs])?C?{pluginStatus:C.status==="active"?"active":"inactive",canInstallPlugins:E,canManagePlugins:!0,hasConnectedProvider:k}:{pluginStatus:"not-installed",canInstallPlugins:E,canManagePlugins:E,hasConnectedProvider:k}:{pluginStatus:"checking",canInstallPlugins:E,canManagePlugins:void 0,hasConnectedProvider:k}},[]),{saveEntityRecord:l}=(0,ln.useDispatch)(Ws.store),{createSuccessNotice:f,createErrorNotice:p}=(0,ln.useDispatch)(rf.store),m=async()=>{t(!0);try{await l("root","plugin",{slug:i0,status:"active"},{throwOnError:!0}),n(!0),f((0,Xe.__)("AI plugin installed and activated successfully."),{id:"ai-plugin-install-success",type:"snackbar"})}catch{p((0,Xe.__)("Failed to install the AI plugin."),{id:"ai-plugin-install-error",type:"snackbar"})}finally{t(!1)}},u=async()=>{t(!0);try{await l("root","plugin",{plugin:Vs,status:"active"},{throwOnError:!0}),n(!0),f((0,Xe.__)("AI plugin activated successfully."),{id:"ai-plugin-activate-success",type:"snackbar"})}catch{p((0,Xe.__)("Failed to activate the AI plugin."),{id:"ai-plugin-activate-error",type:"snackbar"})}finally{t(!1)}};if(!c0||s==="checking"||s==="active"&&i&&!o||s==="inactive"&&d===!1)return null;let g=s==="active"&&!c,v=s==="active"&&c&&(!i||o),_=s==="not-installed"||s==="inactive",w=s==="not-installed"&&a===!1,y=()=>v?(0,Xe.__)("The <strong>AI plugin</strong> is ready to use. You can use it to generate featured images, alt text, titles, excerpts and more. <a>Learn more</a>"):g?(0,Xe.__)("The <strong>AI plugin</strong> is installed. Connect an AI provider below to generate featured images, alt text, titles, excerpts, and more. <a>Learn more</a>"):(0,Xe.__)("The <strong>AI plugin</strong> can use your AI connectors to generate featured images, alt text, titles, excerpts and more. <a>Learn more</a>"),b=()=>s==="not-installed"?{label:e?(0,Xe.__)("Installing\u2026"):(0,Xe.__)("Install the AI plugin"),disabled:e,onClick:e?void 0:m}:{label:e?(0,Xe.__)("Activating\u2026"):(0,Xe.__)("Activate the AI plugin"),disabled:e,onClick:e?void 0:u};return React.createElement("div",{className:"ai-plugin-callout"},React.createElement("div",{className:"ai-plugin-callout__content"},React.createElement("p",null,(0,wt.createInterpolateElement)(y(),{strong:React.createElement("strong",null),a:React.createElement(cn.ExternalLink,{href:a0})})),!w&&(_?React.createElement(cn.Button,{variant:"primary",size:"compact",isBusy:e,disabled:b().disabled,accessibleWhenDisabled:!0,onClick:b().onClick},b().label):React.createElement(cn.Button,{ref:r,variant:"secondary",size:"compact",href:(0,sf.addQueryArgs)("options-general.php",{page:s0})},(0,Xe.__)("Control features in the AI plugin")))),React.createElement(nf,null))}var{store:d0}=No(l0);of();function u0(){let e=$u(),{connectors:t,canInstallPlugins:o,isAiPluginInstalled:n}=(0,lf.useSelect)(c=>{let l=c(uf.store),f=l.getEntityRecord("root","plugin","ai/ai");return{connectors:No(c(d0)).getConnectors(),canInstallPlugins:l.canUser("create",{kind:"root",name:"plugin"}),isAiPluginInstalled:!!f}},[]),r=t.filter(c=>c.render),i=Array.from(new Set(t.filter(c=>c.type==="ai_provider").map(c=>c.plugin?.file?.split("/")[0]).filter(c=>!!c))).sort(),s=new Set(t.filter(c=>c.plugin?.isInstalled).map(c=>c.plugin?.file?.split("/")[0]).filter(c=>!!c));n&&s.add("ai");let a=["ai",...i].filter(c=>!s.has(c)),d=r.length===0;return React.createElement(Bs,{title:(0,Tt.__)("Connectors"),subTitle:(0,Tt.__)("All of your API keys and credentials are stored here and shared across plugins. Configure once and use everywhere.")},React.createElement("div",{className:`connectors-page${d?" connectors-page--empty":""}`},a.length>0&&(e||!o)&&React.createElement(tn.Root,{intent:"info",className:"connectors-page__file-mods-notice"},React.createElement(tn.Description,null,e?(0,Tt.__)("Plugins cannot be installed here due to your site configuration. Install them manually using your normal deployment workflow."):(0,Tt.__)("You do not have permission to install plugins. Please ask a site administrator to install them for you."))),d?React.createElement(dt.__experimentalVStack,{alignment:"center",spacing:3,style:{maxWidth:480}},React.createElement(dt.__experimentalVStack,{alignment:"center",spacing:2},React.createElement(dt.__experimentalHeading,{level:2,size:15},(0,Tt.__)("No connectors yet")),React.createElement(dt.__experimentalText,{size:12},(0,Tt.__)("Connectors appear here when you install plugins that use external services. Each plugin registers the API keys it needs, and you manage them all in one place."))),React.createElement(dt.Button,{variant:"secondary",href:"plugin-install.php",__next40pxDefaultSize:!0},(0,Tt.__)("Learn more"))):React.createElement(dt.__experimentalVStack,{spacing:3},React.createElement(cf,null),React.createElement(dt.__experimentalVStack,{spacing:3,role:"list"},t.map(c=>c.render?React.createElement(c.render,{key:c.slug,slug:c.slug,name:c.name,description:c.description,type:c.type,logo:c.logo,authentication:c.authentication,plugin:c.plugin}):null))),o&&!e&&React.createElement("p",null,(0,df.createInterpolateElement)((0,Tt.__)("If the connector you need is not listed, <a>search the plugin directory</a> to see if a connector is available."),{a:React.createElement("a",{href:"plugin-install.php?s=connector&tab=search&type=tag"})}))))}function f0(){return React.createElement(u0,null)}var p0=f0;export{p0 as stage}; /*! Bundled license information: use-sync-external-store/cjs/use-sync-external-store-shim.production.js: (** * @license React * use-sync-external-store-shim.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *) use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js: (** * @license React * use-sync-external-store-shim/with-selector.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *) */ registry.php 0000775 00000001153 00000000000 0007073 0 ustar 00 <?php /** * Route registry - Auto-generated by build process. * Do not edit this file manually. * * @package wp */ return array( array( 'name' => 'connectors-home', 'path' => '/', 'page' => 'options-connectors', 'has_route' => true, 'has_content' => true, ), array( 'name' => 'font-list', 'path' => '/font-list', 'page' => 'font-library', 'has_route' => true, 'has_content' => true, ), array( 'name' => 'fonts-home', 'path' => '/', 'page' => 'font-library', 'has_route' => true, 'has_content' => false, ) ); fonts-home/route.min.js 0000775 00000000175 00000000000 0011052 0 ustar 00 import{redirect as o}from"@wordpress/route";var r={beforeLoad:()=>{throw o({throw:!0,to:"/font-list"})}};export{r as route}; fonts-home/route.js 0000775 00000000321 00000000000 0010261 0 ustar 00 // routes/fonts-home/route.ts import { redirect } from "@wordpress/route"; var route = { beforeLoad: () => { throw redirect({ throw: true, to: "/font-list" }); } }; export { route }; fonts-home/route.min.asset.php 0000775 00000000254 00000000000 0012341 0 ustar 00 <?php return array('dependencies' => array(), 'module_dependencies' => array(array('id' => '@wordpress/route', 'import' => 'static')), 'version' => '63fba8ad1ac5f2b9aba8'); font-list/route.min.js 0000775 00000001165 00000000000 0010712 0 ustar 00 var m=Object.create;var n=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var c=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty;var f=(t,o)=>()=>(o||t((o={exports:{}}).exports,o),o.exports);var l=(t,o,r,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of _(o))!d.call(t,e)&&e!==r&&n(t,e,{get:()=>o[e],enumerable:!(i=x(o,e))||i.enumerable});return t};var u=(t,o,r)=>(r=t!=null?m(c(t)):{},l(o||!t||!t.__esModule?n(r,"default",{value:t,enumerable:!0}):r,t));var s=f((a,p)=>{p.exports=window.wp.i18n});var w=u(s()),b={title:()=>(0,w.__)("Fonts")};export{b as route}; font-list/content.min.asset.php 0000775 00000000772 00000000000 0012522 0 ustar 00 <?php return array('dependencies' => array('react', 'react-dom', 'react-jsx-runtime', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-core-data', 'wp-data', 'wp-date', 'wp-editor', 'wp-element', 'wp-i18n', 'wp-keycodes', 'wp-primitives', 'wp-private-apis', 'wp-style-engine', 'wp-theme'), 'module_dependencies' => array(array('id' => '@wordpress/a11y', 'import' => 'static'), array('id' => '@wordpress/route', 'import' => 'static')), 'version' => '94d7f535d3ed8ffb3a10'); font-list/content.js 0000775 00003402630 00000000000 0010451 0 ustar 00 var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __require = /* @__PURE__ */ ((x2) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x2, { get: (a2, b2) => (typeof require !== "undefined" ? require : a2)[b2] }) : x2)(function(x2) { if (typeof require !== "undefined") return require.apply(this, arguments); throw Error('Dynamic require of "' + x2 + '" is not supported'); }); var __commonJS = (cb, mod) => function __require4() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __export = (target, all) => { for (var name2 in all) __defProp(target, name2, { get: all[name2], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); // package-external:@wordpress/i18n var require_i18n = __commonJS({ "package-external:@wordpress/i18n"(exports, module) { module.exports = window.wp.i18n; } }); // package-external:@wordpress/element var require_element = __commonJS({ "package-external:@wordpress/element"(exports, module) { module.exports = window.wp.element; } }); // vendor-external:react var require_react = __commonJS({ "vendor-external:react"(exports, module) { module.exports = window.React; } }); // vendor-external:react/jsx-runtime var require_jsx_runtime = __commonJS({ "vendor-external:react/jsx-runtime"(exports, module) { module.exports = window.ReactJSXRuntime; } }); // vendor-external:react-dom var require_react_dom = __commonJS({ "vendor-external:react-dom"(exports, module) { module.exports = window.ReactDOM; } }); // node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js var require_use_sync_external_store_shim_development = __commonJS({ "node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js"(exports) { "use strict"; (function() { function is(x2, y2) { return x2 === y2 && (0 !== x2 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2; } function useSyncExternalStore$2(subscribe, getSnapshot) { didWarnOld18Alpha || void 0 === React48.startTransition || (didWarnOld18Alpha = true, console.error( "You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release." )); var value = getSnapshot(); if (!didWarnUncachedGetSnapshot) { var cachedValue = getSnapshot(); objectIs(value, cachedValue) || (console.error( "The result of getSnapshot should be cached to avoid an infinite loop" ), didWarnUncachedGetSnapshot = true); } cachedValue = useState29({ inst: { value, getSnapshot } }); var inst = cachedValue[0].inst, forceUpdate = cachedValue[1]; useLayoutEffect4( function() { inst.value = value; inst.getSnapshot = getSnapshot; checkIfSnapshotChanged(inst) && forceUpdate({ inst }); }, [subscribe, value, getSnapshot] ); useEffect20( function() { checkIfSnapshotChanged(inst) && forceUpdate({ inst }); return subscribe(function() { checkIfSnapshotChanged(inst) && forceUpdate({ inst }); }); }, [subscribe] ); useDebugValue2(value); return value; } function checkIfSnapshotChanged(inst) { var latestGetSnapshot = inst.getSnapshot; inst = inst.value; try { var nextValue = latestGetSnapshot(); return !objectIs(inst, nextValue); } catch (error) { return true; } } function useSyncExternalStore$1(subscribe, getSnapshot) { return getSnapshot(); } "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); var React48 = require_react(), objectIs = "function" === typeof Object.is ? Object.is : is, useState29 = React48.useState, useEffect20 = React48.useEffect, useLayoutEffect4 = React48.useLayoutEffect, useDebugValue2 = React48.useDebugValue, didWarnOld18Alpha = false, didWarnUncachedGetSnapshot = false, shim = "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2; exports.useSyncExternalStore = void 0 !== React48.useSyncExternalStore ? React48.useSyncExternalStore : shim; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); })(); } }); // node_modules/use-sync-external-store/shim/index.js var require_shim = __commonJS({ "node_modules/use-sync-external-store/shim/index.js"(exports, module) { "use strict"; if (false) { module.exports = null; } else { module.exports = require_use_sync_external_store_shim_development(); } } }); // node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js var require_with_selector_development = __commonJS({ "node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js"(exports) { "use strict"; (function() { function is(x2, y2) { return x2 === y2 && (0 !== x2 || 1 / x2 === 1 / y2) || x2 !== x2 && y2 !== y2; } "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()); var React48 = require_react(), shim = require_shim(), objectIs = "function" === typeof Object.is ? Object.is : is, useSyncExternalStore2 = shim.useSyncExternalStore, useRef23 = React48.useRef, useEffect20 = React48.useEffect, useMemo29 = React48.useMemo, useDebugValue2 = React48.useDebugValue; exports.useSyncExternalStoreWithSelector = function(subscribe, getSnapshot, getServerSnapshot, selector, isEqual) { var instRef = useRef23(null); if (null === instRef.current) { var inst = { hasValue: false, value: null }; instRef.current = inst; } else inst = instRef.current; instRef = useMemo29( function() { function memoizedSelector(nextSnapshot) { if (!hasMemo) { hasMemo = true; memoizedSnapshot = nextSnapshot; nextSnapshot = selector(nextSnapshot); if (void 0 !== isEqual && inst.hasValue) { var currentSelection = inst.value; if (isEqual(currentSelection, nextSnapshot)) return memoizedSelection = currentSelection; } return memoizedSelection = nextSnapshot; } currentSelection = memoizedSelection; if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection; var nextSelection = selector(nextSnapshot); if (void 0 !== isEqual && isEqual(currentSelection, nextSelection)) return memoizedSnapshot = nextSnapshot, currentSelection; memoizedSnapshot = nextSnapshot; return memoizedSelection = nextSelection; } var hasMemo = false, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot; return [ function() { return memoizedSelector(getSnapshot()); }, null === maybeGetServerSnapshot ? void 0 : function() { return memoizedSelector(maybeGetServerSnapshot()); } ]; }, [getSnapshot, getServerSnapshot, selector, isEqual] ); var value = useSyncExternalStore2(subscribe, instRef[0], instRef[1]); useEffect20( function() { inst.hasValue = true; inst.value = value; }, [value] ); useDebugValue2(value); return value; }; "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error()); })(); } }); // node_modules/use-sync-external-store/shim/with-selector.js var require_with_selector = __commonJS({ "node_modules/use-sync-external-store/shim/with-selector.js"(exports, module) { "use strict"; if (false) { module.exports = null; } else { module.exports = require_with_selector_development(); } } }); // package-external:@wordpress/primitives var require_primitives = __commonJS({ "package-external:@wordpress/primitives"(exports, module) { module.exports = window.wp.primitives; } }); // package-external:@wordpress/compose var require_compose = __commonJS({ "package-external:@wordpress/compose"(exports, module) { module.exports = window.wp.compose; } }); // package-external:@wordpress/theme var require_theme = __commonJS({ "package-external:@wordpress/theme"(exports, module) { module.exports = window.wp.theme; } }); // package-external:@wordpress/private-apis var require_private_apis = __commonJS({ "package-external:@wordpress/private-apis"(exports, module) { module.exports = window.wp.privateApis; } }); // package-external:@wordpress/components var require_components = __commonJS({ "package-external:@wordpress/components"(exports, module) { module.exports = window.wp.components; } }); // package-external:@wordpress/editor var require_editor = __commonJS({ "package-external:@wordpress/editor"(exports, module) { module.exports = window.wp.editor; } }); // package-external:@wordpress/core-data var require_core_data = __commonJS({ "package-external:@wordpress/core-data"(exports, module) { module.exports = window.wp.coreData; } }); // package-external:@wordpress/data var require_data = __commonJS({ "package-external:@wordpress/data"(exports, module) { module.exports = window.wp.data; } }); // package-external:@wordpress/blocks var require_blocks = __commonJS({ "package-external:@wordpress/blocks"(exports, module) { module.exports = window.wp.blocks; } }); // package-external:@wordpress/block-editor var require_block_editor = __commonJS({ "package-external:@wordpress/block-editor"(exports, module) { module.exports = window.wp.blockEditor; } }); // package-external:@wordpress/style-engine var require_style_engine = __commonJS({ "package-external:@wordpress/style-engine"(exports, module) { module.exports = window.wp.styleEngine; } }); // node_modules/fast-deep-equal/es6/index.js var require_es6 = __commonJS({ "node_modules/fast-deep-equal/es6/index.js"(exports, module) { "use strict"; module.exports = function equal(a2, b2) { if (a2 === b2) return true; if (a2 && b2 && typeof a2 == "object" && typeof b2 == "object") { if (a2.constructor !== b2.constructor) return false; var length, i2, keys; if (Array.isArray(a2)) { length = a2.length; if (length != b2.length) return false; for (i2 = length; i2-- !== 0; ) if (!equal(a2[i2], b2[i2])) return false; return true; } if (a2 instanceof Map && b2 instanceof Map) { if (a2.size !== b2.size) return false; for (i2 of a2.entries()) if (!b2.has(i2[0])) return false; for (i2 of a2.entries()) if (!equal(i2[1], b2.get(i2[0]))) return false; return true; } if (a2 instanceof Set && b2 instanceof Set) { if (a2.size !== b2.size) return false; for (i2 of a2.entries()) if (!b2.has(i2[0])) return false; return true; } if (ArrayBuffer.isView(a2) && ArrayBuffer.isView(b2)) { length = a2.length; if (length != b2.length) return false; for (i2 = length; i2-- !== 0; ) if (a2[i2] !== b2[i2]) return false; return true; } if (a2.constructor === RegExp) return a2.source === b2.source && a2.flags === b2.flags; if (a2.valueOf !== Object.prototype.valueOf) return a2.valueOf() === b2.valueOf(); if (a2.toString !== Object.prototype.toString) return a2.toString() === b2.toString(); keys = Object.keys(a2); length = keys.length; if (length !== Object.keys(b2).length) return false; for (i2 = length; i2-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(b2, keys[i2])) return false; for (i2 = length; i2-- !== 0; ) { var key = keys[i2]; if (!equal(a2[key], b2[key])) return false; } return true; } return a2 !== a2 && b2 !== b2; }; } }); // node_modules/deepmerge/dist/cjs.js var require_cjs = __commonJS({ "node_modules/deepmerge/dist/cjs.js"(exports, module) { "use strict"; var isMergeableObject = function isMergeableObject2(value) { return isNonNullObject(value) && !isSpecial(value); }; function isNonNullObject(value) { return !!value && typeof value === "object"; } function isSpecial(value) { var stringValue = Object.prototype.toString.call(value); return stringValue === "[object RegExp]" || stringValue === "[object Date]" || isReactElement(value); } var canUseSymbol = typeof Symbol === "function" && Symbol.for; var REACT_ELEMENT_TYPE = canUseSymbol ? /* @__PURE__ */ Symbol.for("react.element") : 60103; function isReactElement(value) { return value.$$typeof === REACT_ELEMENT_TYPE; } function emptyTarget(val) { return Array.isArray(val) ? [] : {}; } function cloneUnlessOtherwiseSpecified(value, options) { return options.clone !== false && options.isMergeableObject(value) ? deepmerge2(emptyTarget(value), value, options) : value; } function defaultArrayMerge(target, source, options) { return target.concat(source).map(function(element) { return cloneUnlessOtherwiseSpecified(element, options); }); } function getMergeFunction(key, options) { if (!options.customMerge) { return deepmerge2; } var customMerge = options.customMerge(key); return typeof customMerge === "function" ? customMerge : deepmerge2; } function getEnumerableOwnPropertySymbols(target) { return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(target).filter(function(symbol) { return Object.propertyIsEnumerable.call(target, symbol); }) : []; } function getKeys(target) { return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target)); } function propertyIsOnObject(object, property) { try { return property in object; } catch (_) { return false; } } function propertyIsUnsafe(target, key) { return propertyIsOnObject(target, key) && !(Object.hasOwnProperty.call(target, key) && Object.propertyIsEnumerable.call(target, key)); } function mergeObject(target, source, options) { var destination = {}; if (options.isMergeableObject(target)) { getKeys(target).forEach(function(key) { destination[key] = cloneUnlessOtherwiseSpecified(target[key], options); }); } getKeys(source).forEach(function(key) { if (propertyIsUnsafe(target, key)) { return; } if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) { destination[key] = getMergeFunction(key, options)(target[key], source[key], options); } else { destination[key] = cloneUnlessOtherwiseSpecified(source[key], options); } }); return destination; } function deepmerge2(target, source, options) { options = options || {}; options.arrayMerge = options.arrayMerge || defaultArrayMerge; options.isMergeableObject = options.isMergeableObject || isMergeableObject; options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified; var sourceIsArray = Array.isArray(source); var targetIsArray = Array.isArray(target); var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; if (!sourceAndTargetTypesMatch) { return cloneUnlessOtherwiseSpecified(source, options); } else if (sourceIsArray) { return options.arrayMerge(target, source, options); } else { return mergeObject(target, source, options); } } deepmerge2.all = function deepmergeAll(array, options) { if (!Array.isArray(array)) { throw new Error("first argument should be an array"); } return array.reduce(function(prev, next) { return deepmerge2(prev, next, options); }, {}); }; var deepmerge_1 = deepmerge2; module.exports = deepmerge_1; } }); // package-external:@wordpress/keycodes var require_keycodes = __commonJS({ "package-external:@wordpress/keycodes"(exports, module) { module.exports = window.wp.keycodes; } }); // package-external:@wordpress/api-fetch var require_api_fetch = __commonJS({ "package-external:@wordpress/api-fetch"(exports, module) { module.exports = window.wp.apiFetch; } }); // package-external:@wordpress/date var require_date = __commonJS({ "package-external:@wordpress/date"(exports, module) { module.exports = window.wp.date; } }); // node_modules/clsx/dist/clsx.mjs function r(e2) { var t3, f2, n2 = ""; if ("string" == typeof e2 || "number" == typeof e2) n2 += e2; else if ("object" == typeof e2) if (Array.isArray(e2)) { var o3 = e2.length; for (t3 = 0; t3 < o3; t3++) e2[t3] && (f2 = r(e2[t3])) && (n2 && (n2 += " "), n2 += f2); } else for (f2 in e2) e2[f2] && (n2 && (n2 += " "), n2 += f2); return n2; } function clsx() { for (var e2, t3, f2 = 0, n2 = "", o3 = arguments.length; f2 < o3; f2++) (e2 = arguments[f2]) && (t3 = r(e2)) && (n2 && (n2 += " "), n2 += t3); return n2; } var clsx_default = clsx; // node_modules/@base-ui/utils/safeReact.mjs var React2 = __toESM(require_react(), 1); var SafeReact = { ...React2 }; // node_modules/@base-ui/utils/useRefWithInit.mjs var React3 = __toESM(require_react(), 1); var UNINITIALIZED = {}; function useRefWithInit(init, initArg) { const ref = React3.useRef(UNINITIALIZED); if (ref.current === UNINITIALIZED) { ref.current = init(initArg); } return ref; } // node_modules/@base-ui/utils/useStableCallback.mjs var useInsertionEffect = SafeReact.useInsertionEffect; var useSafeInsertionEffect = ( // React 17 doesn't have useInsertionEffect. useInsertionEffect && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late. useInsertionEffect !== SafeReact.useLayoutEffect ? useInsertionEffect : (fn) => fn() ); function useStableCallback(callback) { const stable = useRefWithInit(createStableCallback).current; stable.next = callback; useSafeInsertionEffect(stable.effect); return stable.trampoline; } function createStableCallback() { const stable = { next: void 0, callback: assertNotCalled, trampoline: (...args) => stable.callback?.(...args), effect: () => { stable.callback = stable.next; } }; return stable; } function assertNotCalled() { if (true) { throw ( /* minify-error-disabled */ new Error("Base UI: Cannot call an event handler while rendering.") ); } } // node_modules/@base-ui/utils/useIsoLayoutEffect.mjs var React4 = __toESM(require_react(), 1); var noop = () => { }; var useIsoLayoutEffect = typeof document !== "undefined" ? React4.useLayoutEffect : noop; // node_modules/@base-ui/utils/warn.mjs var set; if (true) { set = /* @__PURE__ */ new Set(); } function warn(...messages) { if (true) { const messageKey = messages.join(" "); if (!set.has(messageKey)) { set.add(messageKey); console.warn(`Base UI: ${messageKey}`); } } } // node_modules/@base-ui/react/internals/direction-context/DirectionContext.mjs var React5 = __toESM(require_react(), 1); var DirectionContext = /* @__PURE__ */ React5.createContext(void 0); if (true) DirectionContext.displayName = "DirectionContext"; function useDirection() { const context = React5.useContext(DirectionContext); return context?.direction ?? "ltr"; } // node_modules/@base-ui/react/internals/useRenderElement.mjs var React8 = __toESM(require_react(), 1); // node_modules/@base-ui/utils/useMergedRefs.mjs function useMergedRefs(a2, b2, c2, d2) { const forkRef = useRefWithInit(createForkRef).current; if (didChange(forkRef, a2, b2, c2, d2)) { update(forkRef, [a2, b2, c2, d2]); } return forkRef.callback; } function useMergedRefsN(refs) { const forkRef = useRefWithInit(createForkRef).current; if (didChangeN(forkRef, refs)) { update(forkRef, refs); } return forkRef.callback; } function createForkRef() { return { callback: null, cleanup: null, refs: [] }; } function didChange(forkRef, a2, b2, c2, d2) { return forkRef.refs[0] !== a2 || forkRef.refs[1] !== b2 || forkRef.refs[2] !== c2 || forkRef.refs[3] !== d2; } function didChangeN(forkRef, newRefs) { return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index2) => ref !== newRefs[index2]); } function update(forkRef, refs) { forkRef.refs = refs; if (refs.every((ref) => ref == null)) { forkRef.callback = null; return; } forkRef.callback = (instance) => { if (forkRef.cleanup) { forkRef.cleanup(); forkRef.cleanup = null; } if (instance != null) { const cleanupCallbacks = Array(refs.length).fill(null); for (let i2 = 0; i2 < refs.length; i2 += 1) { const ref = refs[i2]; if (ref == null) { continue; } switch (typeof ref) { case "function": { const refCleanup = ref(instance); if (typeof refCleanup === "function") { cleanupCallbacks[i2] = refCleanup; } break; } case "object": { ref.current = instance; break; } default: } } forkRef.cleanup = () => { for (let i2 = 0; i2 < refs.length; i2 += 1) { const ref = refs[i2]; if (ref == null) { continue; } switch (typeof ref) { case "function": { const cleanupCallback = cleanupCallbacks[i2]; if (typeof cleanupCallback === "function") { cleanupCallback(); } else { ref(null); } break; } case "object": { ref.current = null; break; } default: } } }; } }; } // node_modules/@base-ui/utils/getReactElementRef.mjs var React7 = __toESM(require_react(), 1); // node_modules/@base-ui/utils/reactVersion.mjs var React6 = __toESM(require_react(), 1); var majorVersion = parseInt(React6.version, 10); function isReactVersionAtLeast(reactVersionToCheck) { return majorVersion >= reactVersionToCheck; } // node_modules/@base-ui/utils/getReactElementRef.mjs function getReactElementRef(element) { if (!/* @__PURE__ */ React7.isValidElement(element)) { return null; } const reactElement = element; const propsWithRef = reactElement.props; return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null; } // node_modules/@base-ui/utils/mergeObjects.mjs function mergeObjects(a2, b2) { if (a2 && !b2) { return a2; } if (!a2 && b2) { return b2; } if (a2 || b2) { return { ...a2, ...b2 }; } return void 0; } // node_modules/@base-ui/utils/empty.mjs function NOOP() { } var EMPTY_ARRAY = Object.freeze([]); var EMPTY_OBJECT = Object.freeze({}); // node_modules/@base-ui/react/internals/getStateAttributesProps.mjs function getStateAttributesProps(state, customMapping) { const props = {}; for (const key in state) { const value = state[key]; if (customMapping?.hasOwnProperty(key)) { const customProps = customMapping[key](value); if (customProps != null) { Object.assign(props, customProps); } continue; } if (value === true) { props[`data-${key.toLowerCase()}`] = ""; } else if (value) { props[`data-${key.toLowerCase()}`] = value.toString(); } } return props; } // node_modules/@base-ui/react/utils/resolveClassName.mjs function resolveClassName(className, state) { return typeof className === "function" ? className(state) : className; } // node_modules/@base-ui/react/utils/resolveStyle.mjs function resolveStyle(style, state) { return typeof style === "function" ? style(state) : style; } // node_modules/@base-ui/react/merge-props/mergeProps.mjs var EMPTY_PROPS = {}; function mergeProps(a2, b2, c2, d2, e2) { if (!c2 && !d2 && !e2 && !a2) { return createInitialMergedProps(b2); } let merged = createInitialMergedProps(a2); if (b2) { merged = mergeInto(merged, b2); } if (c2) { merged = mergeInto(merged, c2); } if (d2) { merged = mergeInto(merged, d2); } if (e2) { merged = mergeInto(merged, e2); } return merged; } function mergePropsN(props) { if (props.length === 0) { return EMPTY_PROPS; } if (props.length === 1) { return createInitialMergedProps(props[0]); } let merged = createInitialMergedProps(props[0]); for (let i2 = 1; i2 < props.length; i2 += 1) { merged = mergeInto(merged, props[i2]); } return merged; } function createInitialMergedProps(inputProps) { if (isPropsGetter(inputProps)) { return { ...resolvePropsGetter(inputProps, EMPTY_PROPS) }; } return copyInitialProps(inputProps); } function mergeInto(merged, inputProps) { if (isPropsGetter(inputProps)) { return resolvePropsGetter(inputProps, merged); } return mutablyMergeInto(merged, inputProps); } function copyInitialProps(inputProps) { const copiedProps = { ...inputProps }; for (const propName in copiedProps) { const propValue = copiedProps[propName]; if (isEventHandler(propName, propValue)) { copiedProps[propName] = wrapEventHandler(propValue); } } return copiedProps; } function mutablyMergeInto(mergedProps, externalProps) { if (!externalProps) { return mergedProps; } for (const propName in externalProps) { const externalPropValue = externalProps[propName]; switch (propName) { case "style": { mergedProps[propName] = mergeObjects(mergedProps.style, externalPropValue); break; } case "className": { mergedProps[propName] = mergeClassNames(mergedProps.className, externalPropValue); break; } default: { if (isEventHandler(propName, externalPropValue)) { mergedProps[propName] = mergeEventHandlers(mergedProps[propName], externalPropValue); } else { mergedProps[propName] = externalPropValue; } } } } return mergedProps; } function isEventHandler(key, value) { const code0 = key.charCodeAt(0); const code1 = key.charCodeAt(1); const code2 = key.charCodeAt(2); return code0 === 111 && code1 === 110 && code2 >= 65 && code2 <= 90 && (typeof value === "function" || typeof value === "undefined"); } function isPropsGetter(inputProps) { return typeof inputProps === "function"; } function resolvePropsGetter(inputProps, previousProps) { if (isPropsGetter(inputProps)) { return inputProps(previousProps); } return inputProps ?? EMPTY_PROPS; } function mergeEventHandlers(ourHandler, theirHandler) { if (!theirHandler) { return ourHandler; } if (!ourHandler) { return wrapEventHandler(theirHandler); } return (...args) => { const event = args[0]; if (isSyntheticEvent(event)) { const baseUIEvent = event; makeEventPreventable(baseUIEvent); const result2 = theirHandler(...args); if (!baseUIEvent.baseUIHandlerPrevented) { ourHandler?.(...args); } return result2; } const result = theirHandler(...args); ourHandler?.(...args); return result; }; } function wrapEventHandler(handler) { if (!handler) { return handler; } return (...args) => { const event = args[0]; if (isSyntheticEvent(event)) { makeEventPreventable(event); } return handler(...args); }; } function makeEventPreventable(event) { event.preventBaseUIHandler = () => { event.baseUIHandlerPrevented = true; }; return event; } function mergeClassNames(ourClassName, theirClassName) { if (theirClassName) { if (ourClassName) { return theirClassName + " " + ourClassName; } return theirClassName; } return ourClassName; } function isSyntheticEvent(event) { return event != null && typeof event === "object" && "nativeEvent" in event; } // node_modules/@base-ui/react/internals/useRenderElement.mjs var import_react = __toESM(require_react(), 1); function useRenderElement(element, componentProps, params = {}) { const renderProp = componentProps.render; const outProps = useRenderElementProps(componentProps, params); if (params.enabled === false) { return null; } const state = params.state ?? EMPTY_OBJECT; return evaluateRenderProp(element, renderProp, outProps, state); } function useRenderElementProps(componentProps, params = {}) { const { className: classNameProp, style: styleProp, render: renderProp } = componentProps; const { state = EMPTY_OBJECT, ref, props, stateAttributesMapping: stateAttributesMapping3, enabled = true } = params; const className = enabled ? resolveClassName(classNameProp, state) : void 0; const style = enabled ? resolveStyle(styleProp, state) : void 0; const stateProps = enabled ? getStateAttributesProps(state, stateAttributesMapping3) : EMPTY_OBJECT; const resolvedProps = enabled && props ? resolveRenderFunctionProps(props) : void 0; const outProps = enabled ? mergeObjects(stateProps, resolvedProps) ?? {} : EMPTY_OBJECT; if (typeof document !== "undefined") { if (!enabled) { useMergedRefs(null, null); } else if (Array.isArray(ref)) { outProps.ref = useMergedRefsN([outProps.ref, getReactElementRef(renderProp), ...ref]); } else { outProps.ref = useMergedRefs(outProps.ref, getReactElementRef(renderProp), ref); } } if (!enabled) { return EMPTY_OBJECT; } if (className !== void 0) { outProps.className = mergeClassNames(outProps.className, className); } if (style !== void 0) { outProps.style = mergeObjects(outProps.style, style); } return outProps; } function resolveRenderFunctionProps(props) { if (Array.isArray(props)) { return mergePropsN(props); } return mergeProps(void 0, props); } var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy"); var COMPONENT_IDENTIFIER_PATTERN = /^[A-Z][A-Za-z0-9$]*$/; var LOWERCASE_CHARACTER_PATTERN = /[a-z]/; function evaluateRenderProp(element, render, props, state) { if (render) { if (typeof render === "function") { if (true) { warnIfRenderPropLooksLikeComponent(render); } return render(props, state); } const mergedProps = mergeProps(props, render.props); mergedProps.ref = props.ref; let newElement = render; if (newElement?.$$typeof === REACT_LAZY_TYPE) { const children = React8.Children.toArray(render); newElement = children[0]; } if (true) { if (!/* @__PURE__ */ React8.isValidElement(newElement)) { throw new Error(["Base UI: The `render` prop was provided an invalid React element as `React.isValidElement(render)` is `false`.", "A valid React element must be provided to the `render` prop because it is cloned with props to replace the default element.", "https://base-ui.com/r/invalid-render-prop"].join("\n")); } } return /* @__PURE__ */ React8.cloneElement(newElement, mergedProps); } if (element) { if (typeof element === "string") { return renderTag(element, props); } } throw new Error(true ? "Base UI: Render element or function are not defined." : formatErrorMessage_default(8)); } function warnIfRenderPropLooksLikeComponent(renderFn) { const functionName = renderFn.name; if (functionName.length === 0) { return; } if (!COMPONENT_IDENTIFIER_PATTERN.test(functionName)) { return; } if (!LOWERCASE_CHARACTER_PATTERN.test(functionName)) { return; } warn(`The \`render\` prop received a function named \`${functionName}\` that starts with an uppercase letter.`, "This usually means a React component was passed directly as `render={Component}`.", "Base UI calls `render` as a plain function, which can break the Rules of Hooks during reconciliation.", "If this is an intentional render callback, rename it to start with a lowercase letter.", "Use `render={<Component />}` or `render={(props) => <Component {...props} />}` instead.", "https://base-ui.com/r/invalid-render-prop"); } function renderTag(Tag, props) { if (Tag === "button") { return /* @__PURE__ */ (0, import_react.createElement)("button", { type: "button", ...props, key: props.key }); } if (Tag === "img") { return /* @__PURE__ */ (0, import_react.createElement)("img", { alt: "", ...props, key: props.key }); } return /* @__PURE__ */ React8.createElement(Tag, props); } // node_modules/@base-ui/utils/useId.mjs var React9 = __toESM(require_react(), 1); var globalId = 0; function useGlobalId(idOverride, prefix = "mui") { const [defaultId, setDefaultId] = React9.useState(idOverride); const id = idOverride || defaultId; React9.useEffect(() => { if (defaultId == null) { globalId += 1; setDefaultId(`${prefix}-${globalId}`); } }, [defaultId, prefix]); return id; } var maybeReactUseId = SafeReact.useId; function useId(idOverride, prefix) { if (maybeReactUseId !== void 0) { const reactId = maybeReactUseId(); return idOverride ?? (prefix ? `${prefix}-${reactId}` : reactId); } return useGlobalId(idOverride, prefix); } // node_modules/@base-ui/react/internals/useBaseUiId.mjs function useBaseUiId(idOverride) { return useId(idOverride, "base-ui"); } // node_modules/@base-ui/react/internals/reason-parts.mjs var reason_parts_exports = {}; __export(reason_parts_exports, { cancelOpen: () => cancelOpen, chipRemovePress: () => chipRemovePress, clearPress: () => clearPress, closePress: () => closePress, closeWatcher: () => closeWatcher, decrementPress: () => decrementPress, disabled: () => disabled, drag: () => drag, escapeKey: () => escapeKey, focusOut: () => focusOut, imperativeAction: () => imperativeAction, incrementPress: () => incrementPress, initial: () => initial, inputBlur: () => inputBlur, inputChange: () => inputChange, inputClear: () => inputClear, inputPaste: () => inputPaste, inputPress: () => inputPress, itemPress: () => itemPress, keyboard: () => keyboard, linkPress: () => linkPress, listNavigation: () => listNavigation, missing: () => missing, none: () => none, outsidePress: () => outsidePress, pointer: () => pointer, scrub: () => scrub, siblingOpen: () => siblingOpen, swipe: () => swipe, trackPress: () => trackPress, triggerFocus: () => triggerFocus, triggerHover: () => triggerHover, triggerPress: () => triggerPress, wheel: () => wheel, windowResize: () => windowResize }); var none = "none"; var triggerPress = "trigger-press"; var triggerHover = "trigger-hover"; var triggerFocus = "trigger-focus"; var outsidePress = "outside-press"; var itemPress = "item-press"; var closePress = "close-press"; var linkPress = "link-press"; var clearPress = "clear-press"; var chipRemovePress = "chip-remove-press"; var trackPress = "track-press"; var incrementPress = "increment-press"; var decrementPress = "decrement-press"; var inputChange = "input-change"; var inputClear = "input-clear"; var inputBlur = "input-blur"; var inputPaste = "input-paste"; var inputPress = "input-press"; var focusOut = "focus-out"; var escapeKey = "escape-key"; var closeWatcher = "close-watcher"; var listNavigation = "list-navigation"; var keyboard = "keyboard"; var pointer = "pointer"; var drag = "drag"; var wheel = "wheel"; var scrub = "scrub"; var cancelOpen = "cancel-open"; var siblingOpen = "sibling-open"; var disabled = "disabled"; var missing = "missing"; var initial = "initial"; var imperativeAction = "imperative-action"; var swipe = "swipe"; var windowResize = "window-resize"; // node_modules/@base-ui/react/internals/createBaseUIEventDetails.mjs function createChangeEventDetails(reason, event, trigger, customProperties) { let canceled = false; let allowPropagation = false; const custom = customProperties ?? EMPTY_OBJECT; const details = { reason, event: event ?? new Event("base-ui"), cancel() { canceled = true; }, allowPropagation() { allowPropagation = true; }, get isCanceled() { return canceled; }, get isPropagationAllowed() { return allowPropagation; }, trigger, ...custom }; return details; } // node_modules/@base-ui/react/internals/useTransitionStatus.mjs var React11 = __toESM(require_react(), 1); // node_modules/@base-ui/utils/useOnMount.mjs var React10 = __toESM(require_react(), 1); var EMPTY = []; function useOnMount(fn) { React10.useEffect(fn, EMPTY); } // node_modules/@base-ui/utils/useAnimationFrame.mjs var EMPTY2 = null; var LAST_RAF = globalThis.requestAnimationFrame; var Scheduler = class { /* This implementation uses an array as a backing data-structure for frame callbacks. * It allows `O(1)` callback cancelling by inserting a `null` in the array, though it * never calls the native `cancelAnimationFrame` if there are no frames left. This can * be much more efficient if there is a call pattern that alterns as * "request-cancel-request-cancel-…". * But in the case of "request-request-…-cancel-cancel-…", it leaves the final animation * frame to run anyway. We turn that frame into a `O(1)` no-op via `callbacksCount`. */ callbacks = []; callbacksCount = 0; nextId = 1; startId = 1; isScheduled = false; tick = (timestamp) => { this.isScheduled = false; const currentCallbacks = this.callbacks; const currentCallbacksCount = this.callbacksCount; this.callbacks = []; this.callbacksCount = 0; this.startId = this.nextId; if (currentCallbacksCount > 0) { for (let i2 = 0; i2 < currentCallbacks.length; i2 += 1) { currentCallbacks[i2]?.(timestamp); } } }; request(fn) { const id = this.nextId; this.nextId += 1; this.callbacks.push(fn); this.callbacksCount += 1; const didRAFChange = LAST_RAF !== requestAnimationFrame && (LAST_RAF = requestAnimationFrame, true); if (!this.isScheduled || didRAFChange) { requestAnimationFrame(this.tick); this.isScheduled = true; } return id; } cancel(id) { const index2 = id - this.startId; if (index2 < 0 || index2 >= this.callbacks.length) { return; } this.callbacks[index2] = null; this.callbacksCount -= 1; } }; var scheduler = new Scheduler(); var AnimationFrame = class _AnimationFrame { static create() { return new _AnimationFrame(); } static request(fn) { return scheduler.request(fn); } static cancel(id) { return scheduler.cancel(id); } currentId = EMPTY2; /** * Executes `fn` after `delay`, clearing any previously scheduled call. */ request(fn) { this.cancel(); this.currentId = scheduler.request(() => { this.currentId = EMPTY2; fn(); }); } cancel = () => { if (this.currentId !== EMPTY2) { scheduler.cancel(this.currentId); this.currentId = EMPTY2; } }; disposeEffect = () => { return this.cancel; }; }; function useAnimationFrame() { const timeout = useRefWithInit(AnimationFrame.create).current; useOnMount(timeout.disposeEffect); return timeout; } // node_modules/@base-ui/react/internals/useTransitionStatus.mjs function useTransitionStatus(open, enableIdleState = false, deferEndingState = false) { const [transitionStatus, setTransitionStatus] = React11.useState(open && enableIdleState ? "idle" : void 0); const [mounted, setMounted] = React11.useState(open); if (open && !mounted) { setMounted(true); setTransitionStatus("starting"); } if (!open && mounted && transitionStatus !== "ending" && !deferEndingState) { setTransitionStatus("ending"); } if (!open && !mounted && transitionStatus === "ending") { setTransitionStatus(void 0); } useIsoLayoutEffect(() => { if (!open && mounted && transitionStatus !== "ending" && deferEndingState) { const frame = AnimationFrame.request(() => { setTransitionStatus("ending"); }); return () => { AnimationFrame.cancel(frame); }; } return void 0; }, [open, mounted, transitionStatus, deferEndingState]); useIsoLayoutEffect(() => { if (!open || enableIdleState) { return void 0; } const frame = AnimationFrame.request(() => { setTransitionStatus(void 0); }); return () => { AnimationFrame.cancel(frame); }; }, [enableIdleState, open]); useIsoLayoutEffect(() => { if (!open || !enableIdleState) { return void 0; } if (open && mounted && transitionStatus !== "idle") { setTransitionStatus("starting"); } const frame = AnimationFrame.request(() => { setTransitionStatus("idle"); }); return () => { AnimationFrame.cancel(frame); }; }, [enableIdleState, open, mounted, transitionStatus]); return { mounted, setMounted, transitionStatus }; } // node_modules/@base-ui/react/internals/stateAttributesMapping.mjs var TransitionStatusDataAttributes = /* @__PURE__ */ (function(TransitionStatusDataAttributes2) { TransitionStatusDataAttributes2["startingStyle"] = "data-starting-style"; TransitionStatusDataAttributes2["endingStyle"] = "data-ending-style"; return TransitionStatusDataAttributes2; })({}); var STARTING_HOOK = { [TransitionStatusDataAttributes.startingStyle]: "" }; var ENDING_HOOK = { [TransitionStatusDataAttributes.endingStyle]: "" }; var transitionStatusMapping = { transitionStatus(value) { if (value === "starting") { return STARTING_HOOK; } if (value === "ending") { return ENDING_HOOK; } return null; } }; // node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs function hasWindow() { return typeof window !== "undefined"; } function getNodeName(node) { if (isNode(node)) { return (node.nodeName || "").toLowerCase(); } return "#document"; } function getWindow(node) { var _node$ownerDocument; return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window; } function getDocumentElement(node) { var _ref; return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement; } function isNode(value) { if (!hasWindow()) { return false; } return value instanceof Node || value instanceof getWindow(value).Node; } function isElement(value) { if (!hasWindow()) { return false; } return value instanceof Element || value instanceof getWindow(value).Element; } function isHTMLElement(value) { if (!hasWindow()) { return false; } return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement; } function isShadowRoot(value) { if (!hasWindow() || typeof ShadowRoot === "undefined") { return false; } return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot; } function isOverflowElement(element) { const { overflow, overflowX, overflowY, display } = getComputedStyle2(element); return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents"; } function isTableElement(element) { return /^(table|td|th)$/.test(getNodeName(element)); } function isTopLayer(element) { try { if (element.matches(":popover-open")) { return true; } } catch (_e) { } try { return element.matches(":modal"); } catch (_e) { return false; } } var willChangeRe = /transform|translate|scale|rotate|perspective|filter/; var containRe = /paint|layout|strict|content/; var isNotNone = (value) => !!value && value !== "none"; var isWebKitValue; function isContainingBlock(elementOrCss) { const css = isElement(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss; return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || "") || containRe.test(css.contain || ""); } function getContainingBlock(element) { let currentNode = getParentNode(element); while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) { if (isContainingBlock(currentNode)) { return currentNode; } else if (isTopLayer(currentNode)) { return null; } currentNode = getParentNode(currentNode); } return null; } function isWebKit() { if (isWebKitValue == null) { isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none"); } return isWebKitValue; } function isLastTraversableNode(node) { return /^(html|body|#document)$/.test(getNodeName(node)); } function getComputedStyle2(element) { return getWindow(element).getComputedStyle(element); } function getNodeScroll(element) { if (isElement(element)) { return { scrollLeft: element.scrollLeft, scrollTop: element.scrollTop }; } return { scrollLeft: element.scrollX, scrollTop: element.scrollY }; } function getParentNode(node) { if (getNodeName(node) === "html") { return node; } const result = ( // Step into the shadow DOM of the parent of a slotted node. node.assignedSlot || // DOM Element detected. node.parentNode || // ShadowRoot detected. isShadowRoot(node) && node.host || // Fallback. getDocumentElement(node) ); return isShadowRoot(result) ? result.host : result; } function getNearestOverflowAncestor(node) { const parentNode = getParentNode(node); if (isLastTraversableNode(parentNode)) { return node.ownerDocument ? node.ownerDocument.body : node.body; } if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) { return parentNode; } return getNearestOverflowAncestor(parentNode); } function getOverflowAncestors(node, list, traverseIframes) { var _node$ownerDocument2; if (list === void 0) { list = []; } if (traverseIframes === void 0) { traverseIframes = true; } const scrollableAncestor = getNearestOverflowAncestor(node); const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body); const win = getWindow(scrollableAncestor); if (isBody) { const frameElement = getFrameElement(win); return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []); } else { return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes)); } } function getFrameElement(win) { return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null; } // node_modules/@base-ui/utils/addEventListener.mjs function addEventListener(target, type, listener, options) { target.addEventListener(type, listener, options); return () => { target.removeEventListener(type, listener, options); }; } // node_modules/@base-ui/utils/useValueAsRef.mjs function useValueAsRef(value) { const latest = useRefWithInit(createLatestRef, value).current; latest.next = value; useIsoLayoutEffect(latest.effect); return latest; } function createLatestRef(value) { const latest = { current: value, next: value, effect: () => { latest.current = latest.next; } }; return latest; } // node_modules/@base-ui/utils/owner.mjs function ownerDocument(node) { return node?.ownerDocument || document; } // node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs var React12 = __toESM(require_react(), 1); // node_modules/@base-ui/react/internals/useAnimationsFinished.mjs var ReactDOM = __toESM(require_react_dom(), 1); // node_modules/@base-ui/react/utils/resolveRef.mjs function resolveRef(maybeRef) { if (maybeRef == null) { return maybeRef; } return "current" in maybeRef ? maybeRef.current : maybeRef; } // node_modules/@base-ui/react/internals/useAnimationsFinished.mjs function useAnimationsFinished(elementOrRef, waitForStartingStyleRemoved = false, treatAbortedAsFinished = true) { const frame = useAnimationFrame(); return useStableCallback((fnToExecute, signal = null) => { frame.cancel(); const element = resolveRef(elementOrRef); if (element == null) { return; } const resolvedElement = element; const done = () => { ReactDOM.flushSync(fnToExecute); }; if (typeof resolvedElement.getAnimations !== "function" || globalThis.BASE_UI_ANIMATIONS_DISABLED) { fnToExecute(); return; } function exec() { Promise.all(resolvedElement.getAnimations().map((animation) => animation.finished)).then(() => { if (!signal?.aborted) { done(); } }).catch(() => { if (treatAbortedAsFinished) { if (!signal?.aborted) { done(); } return; } const currentAnimations = resolvedElement.getAnimations(); if (!signal?.aborted && currentAnimations.length > 0 && currentAnimations.some((animation) => animation.pending || animation.playState !== "finished")) { exec(); } }); } if (waitForStartingStyleRemoved) { const startingStyleAttribute = TransitionStatusDataAttributes.startingStyle; if (!resolvedElement.hasAttribute(startingStyleAttribute)) { frame.request(exec); return; } const attributeObserver = new MutationObserver(() => { if (!resolvedElement.hasAttribute(startingStyleAttribute)) { attributeObserver.disconnect(); exec(); } }); attributeObserver.observe(resolvedElement, { attributes: true, attributeFilter: [startingStyleAttribute] }); signal?.addEventListener("abort", () => attributeObserver.disconnect(), { once: true }); return; } frame.request(exec); }); } // node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs function useOpenChangeComplete(parameters) { const { enabled = true, open, ref, onComplete: onCompleteParam } = parameters; const onComplete = useStableCallback(onCompleteParam); const runOnceAnimationsFinish = useAnimationsFinished(ref, open, false); React12.useEffect(() => { if (!enabled) { return void 0; } const abortController = new AbortController(); runOnceAnimationsFinish(onComplete, abortController.signal); return () => { abortController.abort(); }; }, [enabled, open, onComplete, runOnceAnimationsFinish]); } // node_modules/@base-ui/utils/useOnFirstRender.mjs var React13 = __toESM(require_react(), 1); function useOnFirstRender(fn) { const ref = React13.useRef(true); if (ref.current) { ref.current = false; fn(); } } // node_modules/@base-ui/utils/platform/parts.mjs var parts_exports = {}; __export(parts_exports, { engine: () => engine_exports, env: () => env_exports, os: () => os_exports, screenReader: () => screen_reader_exports }); // node_modules/@base-ui/utils/platform/os.mjs var os_exports = {}; __export(os_exports, { android: () => android, apple: () => apple, ios: () => ios, linux: () => linux, mac: () => mac, windows: () => windows }); // node_modules/@base-ui/utils/platform/shared.mjs function readRawData() { if (typeof navigator === "undefined") { return { userAgent: "", platform: "", maxTouchPoints: 0 }; } if (true) { const uaData = navigator.userAgentData; if (uaData && Array.isArray(uaData.brands)) { return { userAgent: uaData.brands.map(({ brand, version: version2 }) => `${brand}/${version2}`).join(" "), platform: uaData.platform ?? navigator.platform ?? "", maxTouchPoints: navigator.maxTouchPoints ?? 0 }; } } return { userAgent: navigator.userAgent, platform: navigator.platform ?? "", maxTouchPoints: navigator.maxTouchPoints ?? 0 }; } var { userAgent, platform, maxTouchPoints } = readRawData(); var lowerUserAgent = userAgent.toLowerCase(); var lowerPlatform = platform.toLowerCase(); // node_modules/@base-ui/utils/platform/os.mjs var ios = /^i(os$|p)/.test(lowerPlatform) || lowerPlatform === "macintel" && maxTouchPoints > 1; var ANDROID_STRING = "android"; var android = lowerPlatform === ANDROID_STRING || lowerUserAgent.includes(ANDROID_STRING); var mac = !ios && lowerPlatform.startsWith("mac"); var windows = lowerPlatform.startsWith("win"); var linux = !android && /^(linux|chrome os)/.test(lowerPlatform); var apple = mac || ios; // node_modules/@base-ui/utils/platform/engine.mjs var engine_exports = {}; __export(engine_exports, { blink: () => blink, gecko: () => gecko, webkit: () => webkit }); var webkit = typeof CSS !== "undefined" && !!CSS.supports?.("-webkit-backdrop-filter:none"); var gecko = !webkit && lowerUserAgent.includes("firefox"); var blink = !webkit && lowerUserAgent.includes("chrom"); // node_modules/@base-ui/utils/platform/screen-reader.mjs var screen_reader_exports = {}; __export(screen_reader_exports, { voiceOver: () => voiceOver }); var voiceOver = apple; // node_modules/@base-ui/utils/platform/env.mjs var env_exports = {}; __export(env_exports, { jsdom: () => jsdom }); var jsdom = /jsdom|happydom/.test(lowerUserAgent); // node_modules/@base-ui/utils/useTimeout.mjs var EMPTY3 = 0; var Timeout = class _Timeout { static create() { return new _Timeout(); } currentId = EMPTY3; /** * Executes `fn` after `delay`, clearing any previously scheduled call. */ start(delay, fn) { this.clear(); this.currentId = setTimeout(() => { this.currentId = EMPTY3; fn(); }, delay); } isStarted() { return this.currentId !== EMPTY3; } clear = () => { if (this.currentId !== EMPTY3) { clearTimeout(this.currentId); this.currentId = EMPTY3; } }; disposeEffect = () => { return this.clear; }; }; function useTimeout() { const timeout = useRefWithInit(Timeout.create).current; useOnMount(timeout.disposeEffect); return timeout; } // node_modules/@base-ui/react/floating-ui-react/components/FloatingDelayGroup.mjs var React14 = __toESM(require_react(), 1); // node_modules/@base-ui/react/floating-ui-react/utils/event.mjs function isReactEvent(event) { return "nativeEvent" in event; } function isMouseLikePointerType(pointerType, strict) { const values = ["mouse", "pen"]; if (!strict) { values.push("", void 0); } return values.includes(pointerType); } function isClickLikeEvent(event) { const type = event.type; return type === "click" || type === "mousedown" || type === "keydown" || type === "keyup"; } // node_modules/@base-ui/react/floating-ui-react/utils/constants.mjs var FOCUSABLE_ATTRIBUTE = "data-base-ui-focusable"; var TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])"; // node_modules/@base-ui/react/internals/shadowDom.mjs function activeElement(doc) { let element = doc.activeElement; while (element?.shadowRoot?.activeElement != null) { element = element.shadowRoot.activeElement; } return element; } function contains(parent, child) { if (!parent || !child) { return false; } const rootNode = child.getRootNode?.(); if (parent.contains(child)) { return true; } if (rootNode && isShadowRoot(rootNode)) { let next = child; while (next) { if (parent === next) { return true; } next = next.parentNode || next.host; } } return false; } function getTarget(event) { if ("composedPath" in event) { return event.composedPath()[0]; } return event.target; } // node_modules/@base-ui/react/floating-ui-react/utils/element.mjs function isTargetInsideEnabledTrigger(target, triggerElements) { if (!isElement(target)) { return false; } const targetElement = target; if (triggerElements.hasElement(targetElement)) { return !targetElement.hasAttribute("data-trigger-disabled"); } for (const [, trigger] of triggerElements.entries()) { if (contains(trigger, targetElement)) { return !trigger.hasAttribute("data-trigger-disabled"); } } return false; } function isEventTargetWithin(event, node) { if (node == null) { return false; } if ("composedPath" in event) { return event.composedPath().includes(node); } const eventAgain = event; return eventAgain.target != null && node.contains(eventAgain.target); } function isRootElement(element) { return element.matches("html,body"); } function isTypeableElement(element) { return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR); } function isInteractiveElement(element) { return element?.closest(`button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),${TYPEABLE_SELECTOR}`) != null; } function matchesFocusVisible(element) { if (!element || parts_exports.env.jsdom) { return true; } try { return element.matches(":focus-visible"); } catch (_e) { return true; } } // node_modules/@base-ui/react/floating-ui-react/hooks/useHoverShared.mjs function resolveValue(value, pointerType) { if (pointerType != null && !isMouseLikePointerType(pointerType)) { return 0; } if (typeof value === "function") { return value(); } return value; } function getDelay(value, prop, pointerType) { const result = resolveValue(value, pointerType); if (typeof result === "number") { return result; } return result?.[prop]; } function getRestMs(value) { if (typeof value === "function") { return value(); } return value; } function isClickLikeOpenEvent(openEventType, interactedInside) { return interactedInside || openEventType === "click" || openEventType === "mousedown"; } function isHoverOpenEvent(openEventType) { return openEventType?.includes("mouse") && openEventType !== "mousedown"; } // node_modules/@base-ui/react/floating-ui-react/components/FloatingDelayGroup.mjs var import_jsx_runtime = __toESM(require_jsx_runtime(), 1); var FloatingDelayGroupContext = /* @__PURE__ */ React14.createContext({ hasProvider: false, timeoutMs: 0, delayRef: { current: 0 }, initialDelayRef: { current: 0 }, timeout: new Timeout(), currentIdRef: { current: null }, currentContextRef: { current: null } }); if (true) FloatingDelayGroupContext.displayName = "FloatingDelayGroupContext"; function resetDelayRef(delayRef, initialDelayRef) { delayRef.current = initialDelayRef.current; } function FloatingDelayGroup(props) { const { children, delay, timeoutMs = 0 } = props; const delayRef = React14.useRef(delay); const initialDelayRef = React14.useRef(delay); const currentIdRef = React14.useRef(null); const currentContextRef = React14.useRef(null); const timeout = useTimeout(); useIsoLayoutEffect(() => { initialDelayRef.current = delay; if (!currentIdRef.current) { delayRef.current = delay; return; } delayRef.current = { open: getDelay(delayRef.current, "open"), close: getDelay(delay, "close") }; }, [delay, currentIdRef, delayRef, initialDelayRef]); return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FloatingDelayGroupContext.Provider, { value: React14.useMemo(() => ({ hasProvider: true, delayRef, initialDelayRef, currentIdRef, timeoutMs, currentContextRef, timeout }), [timeoutMs, timeout]), children }); } function useDelayGroup(context, options = { open: false }) { const { open } = options; const store = "rootStore" in context ? context.rootStore : context; const floatingId = store.useState("floatingId"); const groupContext = React14.useContext(FloatingDelayGroupContext); const { currentIdRef, delayRef, timeoutMs, initialDelayRef, currentContextRef, hasProvider, timeout } = groupContext; const [isInstantPhase, setIsInstantPhase] = React14.useState(false); const openRef = React14.useRef(open); const isUnmountedRef = React14.useRef(false); useIsoLayoutEffect(() => { openRef.current = open; }, [open]); useIsoLayoutEffect(() => { return () => { isUnmountedRef.current = true; }; }, []); useIsoLayoutEffect(() => { function unset() { if (!isUnmountedRef.current) { setIsInstantPhase(false); } currentContextRef.current?.setIsInstantPhase(false); currentIdRef.current = null; currentContextRef.current = null; delayRef.current = initialDelayRef.current; timeout.clear(); } if (!currentIdRef.current) { return void 0; } if (!open && currentIdRef.current === floatingId) { setIsInstantPhase(false); if (timeoutMs) { const closingId = floatingId; timeout.start(timeoutMs, () => { if (store.select("open") || currentIdRef.current && currentIdRef.current !== closingId) { return; } unset(); }); return () => { if (openRef.current || currentIdRef.current !== closingId) { timeout.clear(); } }; } unset(); } return void 0; }, [open, floatingId, currentIdRef, delayRef, timeoutMs, initialDelayRef, currentContextRef, timeout, store]); useIsoLayoutEffect(() => { if (!open) { return; } const prevContext = currentContextRef.current; const prevId = currentIdRef.current; timeout.clear(); currentContextRef.current = { onOpenChange: store.setOpen, setIsInstantPhase }; currentIdRef.current = floatingId; delayRef.current = { open: 0, close: getDelay(initialDelayRef.current, "close") }; if (prevId !== null && prevId !== floatingId) { setIsInstantPhase(true); prevContext?.setIsInstantPhase(true); prevContext?.onOpenChange(false, createChangeEventDetails(reason_parts_exports.none)); } else { setIsInstantPhase(false); prevContext?.setIsInstantPhase(false); } }, [open, floatingId, store, currentIdRef, delayRef, initialDelayRef, currentContextRef, timeout]); useIsoLayoutEffect(() => { return () => { if (currentIdRef.current === floatingId) { currentContextRef.current = null; if (!openRef.current) { return; } currentIdRef.current = null; resetDelayRef(delayRef, initialDelayRef); timeout.clear(); } }; }, [currentContextRef, currentIdRef, delayRef, floatingId, initialDelayRef, timeout]); return React14.useMemo(() => ({ hasProvider, delayRef, isInstantPhase }), [hasProvider, delayRef, isInstantPhase]); } // node_modules/@base-ui/utils/mergeCleanups.mjs function mergeCleanups(...cleanups) { return () => { for (let i2 = 0; i2 < cleanups.length; i2 += 1) { const cleanup = cleanups[i2]; if (cleanup) { cleanup(); } } }; } // node_modules/@base-ui/react/utils/FocusGuard.mjs var React15 = __toESM(require_react(), 1); // node_modules/@base-ui/utils/visuallyHidden.mjs var visuallyHiddenBase = { clipPath: "inset(50%)", overflow: "hidden", whiteSpace: "nowrap", border: 0, padding: 0, width: 1, height: 1, margin: -1 }; var visuallyHidden = { ...visuallyHiddenBase, position: "fixed", top: 0, left: 0 }; var visuallyHiddenInput = { ...visuallyHiddenBase, position: "absolute" }; // node_modules/@base-ui/react/utils/FocusGuard.mjs var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1); var FocusGuard = /* @__PURE__ */ React15.forwardRef(function FocusGuard2(props, ref) { const [role, setRole] = React15.useState(); useIsoLayoutEffect(() => { if (parts_exports.screenReader.voiceOver && parts_exports.engine.webkit) { setRole("button"); } }, []); const restProps = { tabIndex: 0, // Role is only for VoiceOver role }; return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { ...props, ref, style: visuallyHidden, "aria-hidden": role ? void 0 : true, ...restProps, "data-base-ui-focus-guard": "" }); }); if (true) FocusGuard.displayName = "FocusGuard"; // node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs var sides = ["top", "right", "bottom", "left"]; var min = Math.min; var max = Math.max; var round = Math.round; var floor = Math.floor; var createCoords = (v2) => ({ x: v2, y: v2 }); var oppositeSideMap = { left: "right", right: "left", bottom: "top", top: "bottom" }; function clamp(start, value, end) { return max(start, min(value, end)); } function evaluate(value, param) { return typeof value === "function" ? value(param) : value; } function getSide(placement) { return placement.split("-")[0]; } function getAlignment(placement) { return placement.split("-")[1]; } function getOppositeAxis(axis) { return axis === "x" ? "y" : "x"; } function getAxisLength(axis) { return axis === "y" ? "height" : "width"; } function getSideAxis(placement) { const firstChar = placement[0]; return firstChar === "t" || firstChar === "b" ? "y" : "x"; } function getAlignmentAxis(placement) { return getOppositeAxis(getSideAxis(placement)); } function getAlignmentSides(placement, rects, rtl) { if (rtl === void 0) { rtl = false; } const alignment = getAlignment(placement); const alignmentAxis = getAlignmentAxis(placement); const length = getAxisLength(alignmentAxis); let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top"; if (rects.reference[length] > rects.floating[length]) { mainAlignmentSide = getOppositePlacement(mainAlignmentSide); } return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)]; } function getExpandedPlacements(placement) { const oppositePlacement = getOppositePlacement(placement); return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)]; } function getOppositeAlignmentPlacement(placement) { return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start"); } var lrPlacement = ["left", "right"]; var rlPlacement = ["right", "left"]; var tbPlacement = ["top", "bottom"]; var btPlacement = ["bottom", "top"]; function getSideList(side, isStart, rtl) { switch (side) { case "top": case "bottom": if (rtl) return isStart ? rlPlacement : lrPlacement; return isStart ? lrPlacement : rlPlacement; case "left": case "right": return isStart ? tbPlacement : btPlacement; default: return []; } } function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) { const alignment = getAlignment(placement); let list = getSideList(getSide(placement), direction === "start", rtl); if (alignment) { list = list.map((side) => side + "-" + alignment); if (flipAlignment) { list = list.concat(list.map(getOppositeAlignmentPlacement)); } } return list; } function getOppositePlacement(placement) { const side = getSide(placement); return oppositeSideMap[side] + placement.slice(side.length); } function expandPaddingObject(padding) { return { top: 0, right: 0, bottom: 0, left: 0, ...padding }; } function getPaddingObject(padding) { return typeof padding !== "number" ? expandPaddingObject(padding) : { top: padding, right: padding, bottom: padding, left: padding }; } function rectToClientRect(rect) { const { x: x2, y: y2, width, height } = rect; return { width, height, top: y2, left: x2, right: x2 + width, bottom: y2 + height, x: x2, y: y2 }; } // node_modules/@base-ui/react/floating-ui-react/utils/composite.mjs function isHiddenByStyles(styles) { return styles.visibility === "hidden" || styles.visibility === "collapse"; } function isElementVisible(element, styles = element ? getComputedStyle2(element) : null) { if (!element || !element.isConnected || !styles || isHiddenByStyles(styles)) { return false; } if (typeof element.checkVisibility === "function") { return element.checkVisibility(); } return styles.display !== "none" && styles.display !== "contents"; } // node_modules/@base-ui/react/floating-ui-react/utils/tabbable.mjs var CANDIDATE_SELECTOR = 'a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]'; function getParentElement(element) { const assignedSlot = element.assignedSlot; if (assignedSlot) { return assignedSlot; } if (element.parentElement) { return element.parentElement; } const rootNode = element.getRootNode(); return isShadowRoot(rootNode) ? rootNode.host : null; } function getDetailsSummary(details) { for (const child of Array.from(details.children)) { if (getNodeName(child) === "summary") { return child; } } return null; } function isWithinOpenDetailsSummary(element, details) { const summary = getDetailsSummary(details); return !!summary && (element === summary || contains(summary, element)); } function isFocusableCandidate(element) { const nodeName = element ? getNodeName(element) : ""; return element != null && element.matches(CANDIDATE_SELECTOR) && (nodeName !== "summary" || element.parentElement != null && getNodeName(element.parentElement) === "details" && getDetailsSummary(element.parentElement) === element) && (nodeName !== "details" || getDetailsSummary(element) == null) && (nodeName !== "input" || element.type !== "hidden"); } function isFocusableElement(element) { if (!isFocusableCandidate(element) || !element.isConnected || element.matches(":disabled")) { return false; } for (let current = element; current; current = getParentElement(current)) { const isAncestor = current !== element; const isSlot = getNodeName(current) === "slot"; if (current.hasAttribute("inert")) { return false; } if (isAncestor && getNodeName(current) === "details" && !current.open && !isWithinOpenDetailsSummary(element, current) || current.hasAttribute("hidden") || !isSlot && !isVisibleInTabbableTree(current, isAncestor)) { return false; } } return true; } function isVisibleInTabbableTree(element, isAncestor) { const styles = getComputedStyle2(element); if (!isAncestor) { return isElementVisible(element, styles); } return styles.display !== "none"; } function getTabIndex(element) { const tabIndex = element.tabIndex; if (tabIndex < 0) { const nodeName = getNodeName(element); if (nodeName === "details" || nodeName === "audio" || nodeName === "video" || isHTMLElement(element) && element.isContentEditable) { return 0; } } return tabIndex; } function getNamedRadioInput(element) { if (getNodeName(element) !== "input") { return null; } const input = element; return input.type === "radio" && input.name !== "" ? input : null; } function isTabbableRadio(element, candidates) { const input = getNamedRadioInput(element); if (!input) { return true; } const checkedRadio = candidates.find((candidate) => { const radio = getNamedRadioInput(candidate); return radio?.name === input.name && radio.form === input.form && radio.checked; }); if (checkedRadio) { return checkedRadio === input; } return candidates.find((candidate) => { const radio = getNamedRadioInput(candidate); return radio?.name === input.name && radio.form === input.form; }) === input; } function getComposedChildren(container) { if (isHTMLElement(container) && getNodeName(container) === "slot") { const assignedElements = container.assignedElements({ flatten: true }); if (assignedElements.length > 0) { return assignedElements; } } if (isHTMLElement(container) && container.shadowRoot) { return Array.from(container.shadowRoot.children); } return Array.from(container.children); } function appendCandidates(container, list) { getComposedChildren(container).forEach((child) => { if (isFocusableCandidate(child)) { list.push(child); } appendCandidates(child, list); }); } function appendMatchingElements(container, selector, list) { getComposedChildren(container).forEach((child) => { if (isHTMLElement(child) && child.matches(selector)) { list.push(child); } appendMatchingElements(child, selector, list); }); } function focusable(container) { const candidates = []; appendCandidates(container, candidates); return candidates.filter(isFocusableElement); } function tabbable(container) { const candidates = focusable(container); return candidates.filter((element) => getTabIndex(element) >= 0 && isTabbableRadio(element, candidates)); } function getTabbableIn(container, dir) { const list = tabbable(container); const len = list.length; if (len === 0) { return void 0; } const active = activeElement(ownerDocument(container)); const index2 = list.indexOf(active); const nextIndex = index2 === -1 ? dir === 1 ? 0 : len - 1 : index2 + dir; return list[nextIndex]; } function getNextTabbable(referenceElement) { return getTabbableIn(ownerDocument(referenceElement).body, 1) || referenceElement; } function getPreviousTabbable(referenceElement) { return getTabbableIn(ownerDocument(referenceElement).body, -1) || referenceElement; } function isOutsideEvent(event, container) { const containerElement = container || event.currentTarget; const relatedTarget = event.relatedTarget; return !relatedTarget || !contains(containerElement, relatedTarget); } function disableFocusInside(container) { const tabbableElements = tabbable(container); tabbableElements.forEach((element) => { element.dataset.tabindex = element.getAttribute("tabindex") || ""; element.setAttribute("tabindex", "-1"); }); } function enableFocusInside(container) { const elements2 = []; appendMatchingElements(container, "[data-tabindex]", elements2); elements2.forEach((element) => { const tabindex = element.dataset.tabindex; delete element.dataset.tabindex; if (tabindex) { element.setAttribute("tabindex", tabindex); } else { element.removeAttribute("tabindex"); } }); } // node_modules/@base-ui/react/floating-ui-react/utils/nodes.mjs function getNodeChildren(nodes, id, onlyOpenChildren = true) { const directChildren = nodes.filter((node) => node.parentId === id); return directChildren.flatMap((child) => [...!onlyOpenChildren || child.context?.open ? [child] : [], ...getNodeChildren(nodes, child.id, onlyOpenChildren)]); } // node_modules/@base-ui/react/floating-ui-react/utils/createAttribute.mjs function createAttribute(name2) { return `data-base-ui-${name2}`; } // node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs var React16 = __toESM(require_react(), 1); var ReactDOM2 = __toESM(require_react_dom(), 1); // node_modules/@base-ui/react/internals/constants.mjs var DISABLED_TRANSITIONS_STYLE = { style: { transition: "none" } }; var BASE_UI_SWIPE_IGNORE_ATTRIBUTE = "data-base-ui-swipe-ignore"; var LEGACY_SWIPE_IGNORE_ATTRIBUTE = "data-swipe-ignore"; var BASE_UI_SWIPE_IGNORE_SELECTOR = `[${BASE_UI_SWIPE_IGNORE_ATTRIBUTE}]`; var LEGACY_SWIPE_IGNORE_SELECTOR = `[${LEGACY_SWIPE_IGNORE_ATTRIBUTE}]`; var POPUP_COLLISION_AVOIDANCE = { fallbackAxisSide: "end" }; var ownerVisuallyHidden = { clipPath: "inset(50%)", position: "fixed", top: 0, left: 0 }; // node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1); var PortalContext = /* @__PURE__ */ React16.createContext(null); if (true) PortalContext.displayName = "PortalContext"; var usePortalContext = () => React16.useContext(PortalContext); var attr = createAttribute("portal"); function useFloatingPortalNode(props = {}) { const { ref, container: containerProp, componentProps = EMPTY_OBJECT, elementProps } = props; const uniqueId = useId(); const portalContext = usePortalContext(); const parentPortalNode = portalContext?.portalNode; const [containerElement, setContainerElement] = React16.useState(null); const [portalNode, setPortalNode] = React16.useState(null); const setPortalNodeRef = useStableCallback((node) => { if (node !== null) { setPortalNode(node); } }); const containerRef = React16.useRef(null); useIsoLayoutEffect(() => { if (containerProp === null) { if (containerRef.current) { containerRef.current = null; setPortalNode(null); setContainerElement(null); } return; } if (uniqueId == null) { return; } const resolvedContainer = (containerProp && (isNode(containerProp) ? containerProp : containerProp.current)) ?? parentPortalNode ?? document.body; if (resolvedContainer == null) { if (containerRef.current) { containerRef.current = null; setPortalNode(null); setContainerElement(null); } return; } if (containerRef.current !== resolvedContainer) { containerRef.current = resolvedContainer; setPortalNode(null); setContainerElement(resolvedContainer); } }, [containerProp, parentPortalNode, uniqueId]); const portalElement = useRenderElement("div", componentProps, { ref: [ref, setPortalNodeRef], props: [{ id: uniqueId, [attr]: "" }, elementProps] }); const portalSubtree = containerElement && portalElement ? /* @__PURE__ */ ReactDOM2.createPortal(portalElement, containerElement) : null; return { portalNode, portalSubtree }; } var FloatingPortal = /* @__PURE__ */ React16.forwardRef(function FloatingPortal2(componentProps, forwardedRef) { const { render, className, style, children, container, renderGuards, ...elementProps } = componentProps; const { portalNode, portalSubtree } = useFloatingPortalNode({ container, ref: forwardedRef, componentProps, elementProps }); const beforeOutsideRef = React16.useRef(null); const afterOutsideRef = React16.useRef(null); const beforeInsideRef = React16.useRef(null); const afterInsideRef = React16.useRef(null); const [focusManagerState, setFocusManagerState] = React16.useState(null); const focusInsideDisabledRef = React16.useRef(false); const modal = focusManagerState?.modal; const open = focusManagerState?.open; const shouldRenderGuards = typeof renderGuards === "boolean" ? renderGuards : !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode; React16.useEffect(() => { if (!portalNode || modal) { return void 0; } function onFocus(event) { if (portalNode && event.relatedTarget && isOutsideEvent(event)) { if (event.type === "focusin") { if (focusInsideDisabledRef.current) { enableFocusInside(portalNode); focusInsideDisabledRef.current = false; } } else { disableFocusInside(portalNode); focusInsideDisabledRef.current = true; } } } return mergeCleanups(addEventListener(portalNode, "focusin", onFocus, true), addEventListener(portalNode, "focusout", onFocus, true)); }, [portalNode, modal]); useIsoLayoutEffect(() => { if (!portalNode || open !== true || !focusInsideDisabledRef.current) { return; } enableFocusInside(portalNode); focusInsideDisabledRef.current = false; }, [open, portalNode]); const portalContextValue = React16.useMemo(() => ({ beforeOutsideRef, afterOutsideRef, beforeInsideRef, afterInsideRef, portalNode, setFocusManagerState }), [portalNode]); return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(React16.Fragment, { children: [portalSubtree, /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(PortalContext.Provider, { value: portalContextValue, children: [shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FocusGuard, { "data-type": "outside", ref: beforeOutsideRef, onFocus: (event) => { if (isOutsideEvent(event, portalNode)) { beforeInsideRef.current?.focus(); } else { const domReference = focusManagerState ? focusManagerState.domReference : null; const prevTabbable = getPreviousTabbable(domReference); prevTabbable?.focus(); } } }), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { "aria-owns": portalNode.id, style: ownerVisuallyHidden }), portalNode && /* @__PURE__ */ ReactDOM2.createPortal(children, portalNode), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FocusGuard, { "data-type": "outside", ref: afterOutsideRef, onFocus: (event) => { if (isOutsideEvent(event, portalNode)) { afterInsideRef.current?.focus(); } else { const domReference = focusManagerState ? focusManagerState.domReference : null; const nextTabbable = getNextTabbable(domReference); nextTabbable?.focus(); if (focusManagerState?.closeOnFocusOut) { focusManagerState?.onOpenChange(false, createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent)); } } } })] })] }); }); if (true) FloatingPortal.displayName = "FloatingPortal"; // node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs var React17 = __toESM(require_react(), 1); // node_modules/@base-ui/react/floating-ui-react/utils/createEventEmitter.mjs function createEventEmitter() { const map = /* @__PURE__ */ new Map(); return { emit(event, data) { map.get(event)?.forEach((listener) => listener(data)); }, on(event, listener) { if (!map.has(event)) { map.set(event, /* @__PURE__ */ new Set()); } map.get(event).add(listener); }, off(event, listener) { map.get(event)?.delete(listener); } }; } // node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1); var FloatingNodeContext = /* @__PURE__ */ React17.createContext(null); if (true) FloatingNodeContext.displayName = "FloatingNodeContext"; var FloatingTreeContext = /* @__PURE__ */ React17.createContext(null); if (true) FloatingTreeContext.displayName = "FloatingTreeContext"; var useFloatingParentNodeId = () => React17.useContext(FloatingNodeContext)?.id || null; var useFloatingTree = (externalTree) => { const contextTree = React17.useContext(FloatingTreeContext); return externalTree ?? contextTree; }; // node_modules/@base-ui/react/floating-ui-react/hooks/useClientPoint.mjs var React18 = __toESM(require_react(), 1); function createVirtualElement(domElement, data) { let offsetX = null; let offsetY = null; let isAutoUpdateEvent = false; return { contextElement: domElement || void 0, getBoundingClientRect() { const domRect = domElement?.getBoundingClientRect() || { width: 0, height: 0, x: 0, y: 0 }; const isXAxis = data.axis === "x" || data.axis === "both"; const isYAxis = data.axis === "y" || data.axis === "both"; const canTrackCursorOnAutoUpdate = ["mouseenter", "mousemove"].includes(data.dataRef.current.openEvent?.type || "") && data.pointerType !== "touch"; let width = domRect.width; let height = domRect.height; let x2 = domRect.x; let y2 = domRect.y; if (offsetX == null && data.x && isXAxis) { offsetX = domRect.x - data.x; } if (offsetY == null && data.y && isYAxis) { offsetY = domRect.y - data.y; } x2 -= offsetX || 0; y2 -= offsetY || 0; width = 0; height = 0; if (!isAutoUpdateEvent || canTrackCursorOnAutoUpdate) { width = data.axis === "y" ? domRect.width : 0; height = data.axis === "x" ? domRect.height : 0; x2 = isXAxis && data.x != null ? data.x : x2; y2 = isYAxis && data.y != null ? data.y : y2; } else if (isAutoUpdateEvent && !canTrackCursorOnAutoUpdate) { height = data.axis === "x" ? domRect.height : height; width = data.axis === "y" ? domRect.width : width; } isAutoUpdateEvent = true; return { width, height, x: x2, y: y2, top: y2, right: x2 + width, bottom: y2 + height, left: x2 }; } }; } function isMouseBasedEvent(event) { return event != null && event.clientX != null; } function useClientPoint(context, props = {}) { const { enabled = true, axis = "both" } = props; const store = "rootStore" in context ? context.rootStore : context; const open = store.useState("open"); const floating = store.useState("floatingElement"); const domReference = store.useState("domReferenceElement"); const dataRef = store.context.dataRef; const initialRef = React18.useRef(false); const cleanupListenerRef = React18.useRef(null); const [pointerType, setPointerType] = React18.useState(); const [reactive, setReactive] = React18.useState([]); const resetReference = useStableCallback((reference2) => { store.set("positionReference", reference2); }); const setReference = useStableCallback((newX, newY, referenceElement) => { if (initialRef.current) { return; } if (dataRef.current.openEvent && !isMouseBasedEvent(dataRef.current.openEvent)) { return; } store.set("positionReference", createVirtualElement(referenceElement ?? domReference, { x: newX, y: newY, axis, dataRef, pointerType })); }); const handleReferenceEnterOrMove = useStableCallback((event) => { if (!open) { setReference(event.clientX, event.clientY, event.currentTarget); } else if (!cleanupListenerRef.current) { setReference(event.clientX, event.clientY, event.currentTarget); setReactive([]); } }); const openCheck = isMouseLikePointerType(pointerType) ? floating : open; React18.useEffect(() => { if (!enabled) { resetReference(domReference); return void 0; } if (!openCheck) { return void 0; } function cleanupListener() { cleanupListenerRef.current?.(); cleanupListenerRef.current = null; } const win = getWindow(floating); function handleMouseMove(event) { const target = getTarget(event); if (!contains(floating, target)) { setReference(event.clientX, event.clientY); } else { cleanupListener(); } } if (!dataRef.current.openEvent || isMouseBasedEvent(dataRef.current.openEvent)) { cleanupListenerRef.current = addEventListener(win, "mousemove", handleMouseMove); } else { resetReference(domReference); } return cleanupListener; }, [openCheck, enabled, floating, dataRef, domReference, store, setReference, resetReference, reactive]); React18.useEffect(() => () => { store.set("positionReference", null); }, [store]); React18.useEffect(() => { if (enabled && !floating) { initialRef.current = false; } }, [enabled, floating]); React18.useEffect(() => { if (!enabled && open) { initialRef.current = true; } }, [enabled, open]); const reference = React18.useMemo(() => { function setPointerTypeRef(event) { setPointerType(event.pointerType); } return { onPointerDown: setPointerTypeRef, onPointerEnter: setPointerTypeRef, onMouseMove: handleReferenceEnterOrMove, onMouseEnter: handleReferenceEnterOrMove }; }, [handleReferenceEnterOrMove]); return React18.useMemo(() => enabled ? { reference, trigger: reference } : {}, [enabled, reference]); } // node_modules/@base-ui/react/floating-ui-react/hooks/useDismiss.mjs var React19 = __toESM(require_react(), 1); function alwaysFalse() { return false; } function normalizeProp(normalizable) { return { escapeKey: typeof normalizable === "boolean" ? normalizable : normalizable?.escapeKey ?? false, outsidePress: typeof normalizable === "boolean" ? normalizable : normalizable?.outsidePress ?? true }; } function useDismiss(context, props = {}) { const { enabled = true, escapeKey: escapeKey2 = true, outsidePress: outsidePressProp = true, outsidePressEvent = "sloppy", referencePress = alwaysFalse, bubbles, externalTree } = props; const store = "rootStore" in context ? context.rootStore : context; const open = store.useState("open"); const floatingElement = store.useState("floatingElement"); const { dataRef } = store.context; const tree = useFloatingTree(externalTree); const outsidePressFn = useStableCallback(typeof outsidePressProp === "function" ? outsidePressProp : () => false); const outsidePress2 = typeof outsidePressProp === "function" ? outsidePressFn : outsidePressProp; const outsidePressEnabled = outsidePress2 !== false; const getOutsidePressEventProp = useStableCallback(() => outsidePressEvent); const { escapeKey: escapeKeyBubbles, outsidePress: outsidePressBubbles } = normalizeProp(bubbles); const pressStartedInsideRef = React19.useRef(false); const pressStartPreventedRef = React19.useRef(false); const suppressNextOutsideClickRef = React19.useRef(false); const isComposingRef = React19.useRef(false); const currentPointerTypeRef = React19.useRef(""); const touchStateRef = React19.useRef(null); const cancelDismissOnEndTimeout = useTimeout(); const clearInsideReactTreeTimeout = useTimeout(); const clearInsideReactTree = useStableCallback(() => { clearInsideReactTreeTimeout.clear(); dataRef.current.insideReactTree = false; }); const hasBlockingChild = useStableCallback((bubbleKey) => { const nodeId = dataRef.current.floatingContext?.nodeId; const children = tree ? getNodeChildren(tree.nodesRef.current, nodeId) : []; return children.some((child) => child.context?.open && !child.context.dataRef.current[bubbleKey]); }); const isEventWithinOwnElements = useStableCallback((event) => { return isEventTargetWithin(event, store.select("floatingElement")) || isEventTargetWithin(event, store.select("domReferenceElement")); }); const closeOnReferencePress = useStableCallback((event) => { if (!referencePress()) { return; } store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerPress, event.nativeEvent)); }); const closeOnEscapeKeyDown = useStableCallback((event) => { if (!open || !enabled || !escapeKey2 || event.key !== "Escape") { return; } if (isComposingRef.current) { return; } if (!escapeKeyBubbles && hasBlockingChild("__escapeKeyBubbles")) { return; } const native = isReactEvent(event) ? event.nativeEvent : event; const eventDetails = createChangeEventDetails(reason_parts_exports.escapeKey, native); store.setOpen(false, eventDetails); if (!eventDetails.isCanceled) { event.preventDefault(); } if (!escapeKeyBubbles && !eventDetails.isPropagationAllowed) { event.stopPropagation(); } }); const markInsideReactTree = useStableCallback(() => { dataRef.current.insideReactTree = true; clearInsideReactTreeTimeout.start(0, clearInsideReactTree); }); const markPressStartedInsideReactTree = useStableCallback((event) => { if (!open || !enabled || event.button !== 0) { return; } const target = getTarget(event.nativeEvent); if (!contains(store.select("floatingElement"), target)) { return; } if (!pressStartedInsideRef.current) { pressStartedInsideRef.current = true; pressStartPreventedRef.current = false; } }); const markInsidePressStartPrevented = useStableCallback((event) => { if (!open || !enabled) { return; } if (!(event.defaultPrevented || event.nativeEvent.defaultPrevented)) { return; } if (pressStartedInsideRef.current) { pressStartPreventedRef.current = true; } }); React19.useEffect(() => { if (!open || !enabled) { return void 0; } dataRef.current.__escapeKeyBubbles = escapeKeyBubbles; dataRef.current.__outsidePressBubbles = outsidePressBubbles; const compositionTimeout = new Timeout(); const preventedPressSuppressionTimeout = new Timeout(); function handleCompositionStart() { compositionTimeout.clear(); isComposingRef.current = true; } function handleCompositionEnd() { compositionTimeout.start( // 0ms or 1ms don't work in Safari. 5ms appears to consistently work. // Only apply to WebKit for the test to remain 0ms. parts_exports.engine.webkit ? 5 : 0, () => { isComposingRef.current = false; } ); } function suppressImmediateOutsideClickAfterPreventedStart() { suppressNextOutsideClickRef.current = true; preventedPressSuppressionTimeout.start(0, () => { suppressNextOutsideClickRef.current = false; }); } function resetPressStartState() { pressStartedInsideRef.current = false; pressStartPreventedRef.current = false; } function getOutsidePressEvent() { const type = currentPointerTypeRef.current; const computedType = type === "pen" || !type ? "mouse" : type; const outsidePressEventValue = getOutsidePressEventProp(); const resolved = typeof outsidePressEventValue === "function" ? outsidePressEventValue() : outsidePressEventValue; if (typeof resolved === "string") { return resolved; } return resolved[computedType]; } function shouldIgnoreEvent(event) { const computedOutsidePressEvent = getOutsidePressEvent(); return computedOutsidePressEvent === "intentional" && event.type !== "click" || computedOutsidePressEvent === "sloppy" && event.type === "click"; } function isEventWithinFloatingTree(event) { const nodeId = dataRef.current.floatingContext?.nodeId; const targetIsInsideChildren = tree && getNodeChildren(tree.nodesRef.current, nodeId).some((node) => isEventTargetWithin(event, node.context?.elements.floating)); return isEventWithinOwnElements(event) || targetIsInsideChildren; } function closeOnPressOutside(event) { if (shouldIgnoreEvent(event)) { if (event.type !== "click" && !isEventWithinOwnElements(event)) { preventedPressSuppressionTimeout.clear(); suppressNextOutsideClickRef.current = false; } clearInsideReactTree(); return; } if (dataRef.current.insideReactTree) { clearInsideReactTree(); return; } const target = getTarget(event); const inertSelector = `[${createAttribute("inert")}]`; const targetRoot = isElement(target) ? target.getRootNode() : null; const markers = Array.from((isShadowRoot(targetRoot) ? targetRoot : ownerDocument(store.select("floatingElement"))).querySelectorAll(inertSelector)); const triggers = store.context.triggerElements; if (target && (triggers.hasElement(target) || triggers.hasMatchingElement((trigger) => contains(trigger, target)))) { return; } let targetRootAncestor = isElement(target) ? target : null; while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) { const nextParent = getParentNode(targetRootAncestor); if (isLastTraversableNode(nextParent) || !isElement(nextParent)) { break; } targetRootAncestor = nextParent; } if (markers.length && isElement(target) && !isRootElement(target) && // Clicked on a direct ancestor (e.g. FloatingOverlay). !contains(target, store.select("floatingElement")) && // If the target root element contains none of the markers, then the // element was injected after the floating element rendered. markers.every((marker) => !contains(targetRootAncestor, marker))) { return; } if (isHTMLElement(target) && !("touches" in event)) { const lastTraversableNode = isLastTraversableNode(target); const style = getComputedStyle2(target); const scrollRe = /auto|scroll/; const isScrollableX = lastTraversableNode || scrollRe.test(style.overflowX); const isScrollableY = lastTraversableNode || scrollRe.test(style.overflowY); const canScrollX = isScrollableX && target.clientWidth > 0 && target.scrollWidth > target.clientWidth; const canScrollY = isScrollableY && target.clientHeight > 0 && target.scrollHeight > target.clientHeight; const isRTL12 = style.direction === "rtl"; const pressedVerticalScrollbar = canScrollY && (isRTL12 ? event.offsetX <= target.offsetWidth - target.clientWidth : event.offsetX > target.clientWidth); const pressedHorizontalScrollbar = canScrollX && event.offsetY > target.clientHeight; if (pressedVerticalScrollbar || pressedHorizontalScrollbar) { return; } } if (isEventWithinFloatingTree(event)) { return; } if (getOutsidePressEvent() === "intentional" && suppressNextOutsideClickRef.current) { preventedPressSuppressionTimeout.clear(); suppressNextOutsideClickRef.current = false; return; } if (typeof outsidePress2 === "function" && !outsidePress2(event)) { return; } if (hasBlockingChild("__outsidePressBubbles")) { return; } store.setOpen(false, createChangeEventDetails(reason_parts_exports.outsidePress, event)); clearInsideReactTree(); } function handlePointerDown(event) { if (getOutsidePressEvent() !== "sloppy" || event.pointerType === "touch" || !store.select("open") || !enabled || isEventWithinOwnElements(event)) { return; } closeOnPressOutside(event); } function handleTouchStart(event) { if (getOutsidePressEvent() !== "sloppy" || !store.select("open") || !enabled || isEventWithinOwnElements(event)) { return; } const touch = event.touches[0]; if (touch) { touchStateRef.current = { startTime: Date.now(), startX: touch.clientX, startY: touch.clientY, dismissOnTouchEnd: false, dismissOnMouseDown: true }; cancelDismissOnEndTimeout.start(1e3, () => { if (touchStateRef.current) { touchStateRef.current.dismissOnTouchEnd = false; touchStateRef.current.dismissOnMouseDown = false; } }); } } function addTargetEventListenerOnce(event, listener) { const target = getTarget(event); if (!target) { return; } const unsubscribe2 = addEventListener(target, event.type, () => { listener(event); unsubscribe2(); }); } function handleTouchStartCapture(event) { currentPointerTypeRef.current = "touch"; addTargetEventListenerOnce(event, handleTouchStart); } function closeOnPressOutsideCapture(event) { cancelDismissOnEndTimeout.clear(); if (event.type === "pointerdown") { currentPointerTypeRef.current = event.pointerType; } if (event.type === "mousedown" && touchStateRef.current && !touchStateRef.current.dismissOnMouseDown) { return; } addTargetEventListenerOnce(event, (targetEvent) => { if (targetEvent.type === "pointerdown") { handlePointerDown(targetEvent); } else { closeOnPressOutside(targetEvent); } }); } function handlePressEndCapture(event) { if (!pressStartedInsideRef.current) { return; } const pressStartedInsideDefaultPrevented = pressStartPreventedRef.current; resetPressStartState(); if (getOutsidePressEvent() !== "intentional") { return; } if (event.type === "pointercancel") { if (pressStartedInsideDefaultPrevented) { suppressImmediateOutsideClickAfterPreventedStart(); } return; } if (isEventWithinFloatingTree(event)) { return; } if (pressStartedInsideDefaultPrevented) { suppressImmediateOutsideClickAfterPreventedStart(); return; } if (typeof outsidePress2 === "function" && !outsidePress2(event)) { return; } preventedPressSuppressionTimeout.clear(); suppressNextOutsideClickRef.current = true; clearInsideReactTree(); } function handleTouchMove(event) { if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) { return; } const touch = event.touches[0]; if (!touch) { return; } const deltaX = Math.abs(touch.clientX - touchStateRef.current.startX); const deltaY = Math.abs(touch.clientY - touchStateRef.current.startY); const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY); if (distance > 5) { touchStateRef.current.dismissOnTouchEnd = true; } if (distance > 10) { closeOnPressOutside(event); cancelDismissOnEndTimeout.clear(); touchStateRef.current = null; } } function handleTouchMoveCapture(event) { addTargetEventListenerOnce(event, handleTouchMove); } function handleTouchEnd(event) { if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) { return; } if (touchStateRef.current.dismissOnTouchEnd) { closeOnPressOutside(event); } cancelDismissOnEndTimeout.clear(); touchStateRef.current = null; } function handleTouchEndCapture(event) { addTargetEventListenerOnce(event, handleTouchEnd); } const doc = ownerDocument(floatingElement); const unsubscribe = mergeCleanups(escapeKey2 && mergeCleanups(addEventListener(doc, "keydown", closeOnEscapeKeyDown), addEventListener(doc, "compositionstart", handleCompositionStart), addEventListener(doc, "compositionend", handleCompositionEnd)), outsidePressEnabled && mergeCleanups(addEventListener(doc, "click", closeOnPressOutsideCapture, true), addEventListener(doc, "pointerdown", closeOnPressOutsideCapture, true), addEventListener(doc, "pointerup", handlePressEndCapture, true), addEventListener(doc, "pointercancel", handlePressEndCapture, true), addEventListener(doc, "mousedown", closeOnPressOutsideCapture, true), addEventListener(doc, "mouseup", handlePressEndCapture, true), addEventListener(doc, "touchstart", handleTouchStartCapture, true), addEventListener(doc, "touchmove", handleTouchMoveCapture, true), addEventListener(doc, "touchend", handleTouchEndCapture, true))); return () => { unsubscribe(); compositionTimeout.clear(); preventedPressSuppressionTimeout.clear(); resetPressStartState(); suppressNextOutsideClickRef.current = false; }; }, [dataRef, floatingElement, escapeKey2, outsidePressEnabled, outsidePress2, open, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, clearInsideReactTree, getOutsidePressEventProp, hasBlockingChild, isEventWithinOwnElements, tree, store, cancelDismissOnEndTimeout]); React19.useEffect(clearInsideReactTree, [outsidePress2, clearInsideReactTree]); const reference = React19.useMemo(() => ({ onKeyDown: closeOnEscapeKeyDown, onPointerDown: closeOnReferencePress, onClick: closeOnReferencePress }), [closeOnEscapeKeyDown, closeOnReferencePress]); const floating = React19.useMemo(() => ({ onKeyDown: closeOnEscapeKeyDown, // `onMouseDown` may be blocked if `event.preventDefault()` is called in // `onPointerDown`, such as with <NumberField.ScrubArea>. // See https://github.com/mui/base-ui/pull/3379 onPointerDown: markInsidePressStartPrevented, onMouseDown: markInsidePressStartPrevented, onClickCapture: markInsideReactTree, onMouseDownCapture(event) { markInsideReactTree(); markPressStartedInsideReactTree(event); }, onPointerDownCapture(event) { markInsideReactTree(); markPressStartedInsideReactTree(event); }, onMouseUpCapture: markInsideReactTree, onTouchEndCapture: markInsideReactTree, onTouchMoveCapture: markInsideReactTree }), [closeOnEscapeKeyDown, markInsideReactTree, markPressStartedInsideReactTree, markInsidePressStartPrevented]); return React19.useMemo(() => enabled ? { reference, floating, trigger: reference } : {}, [enabled, reference, floating]); } // node_modules/@base-ui/react/floating-ui-react/hooks/useFloating.mjs var React26 = __toESM(require_react(), 1); // node_modules/@floating-ui/core/dist/floating-ui.core.mjs function computeCoordsFromPlacement(_ref, placement, rtl) { let { reference, floating } = _ref; const sideAxis = getSideAxis(placement); const alignmentAxis = getAlignmentAxis(placement); const alignLength = getAxisLength(alignmentAxis); const side = getSide(placement); const isVertical = sideAxis === "y"; const commonX = reference.x + reference.width / 2 - floating.width / 2; const commonY = reference.y + reference.height / 2 - floating.height / 2; const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2; let coords; switch (side) { case "top": coords = { x: commonX, y: reference.y - floating.height }; break; case "bottom": coords = { x: commonX, y: reference.y + reference.height }; break; case "right": coords = { x: reference.x + reference.width, y: commonY }; break; case "left": coords = { x: reference.x - floating.width, y: commonY }; break; default: coords = { x: reference.x, y: reference.y }; } switch (getAlignment(placement)) { case "start": coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1); break; case "end": coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1); break; } return coords; } async function detectOverflow(state, options) { var _await$platform$isEle; if (options === void 0) { options = {}; } const { x: x2, y: y2, platform: platform3, rects, elements: elements2, strategy } = state; const { boundary = "clippingAncestors", rootBoundary = "viewport", elementContext = "floating", altBoundary = false, padding = 0 } = evaluate(options, state); const paddingObject = getPaddingObject(padding); const altContext = elementContext === "floating" ? "reference" : "floating"; const element = elements2[altBoundary ? altContext : elementContext]; const clippingClientRect = rectToClientRect(await platform3.getClippingRect({ element: ((_await$platform$isEle = await (platform3.isElement == null ? void 0 : platform3.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform3.getDocumentElement == null ? void 0 : platform3.getDocumentElement(elements2.floating)), boundary, rootBoundary, strategy })); const rect = elementContext === "floating" ? { x: x2, y: y2, width: rects.floating.width, height: rects.floating.height } : rects.reference; const offsetParent = await (platform3.getOffsetParent == null ? void 0 : platform3.getOffsetParent(elements2.floating)); const offsetScale = await (platform3.isElement == null ? void 0 : platform3.isElement(offsetParent)) ? await (platform3.getScale == null ? void 0 : platform3.getScale(offsetParent)) || { x: 1, y: 1 } : { x: 1, y: 1 }; const elementClientRect = rectToClientRect(platform3.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform3.convertOffsetParentRelativeRectToViewportRelativeRect({ elements: elements2, rect, offsetParent, strategy }) : rect); return { top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y, bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y, left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x, right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x }; } var MAX_RESET_COUNT = 50; var computePosition = async (reference, floating, config) => { const { placement = "bottom", strategy = "absolute", middleware = [], platform: platform3 } = config; const platformWithDetectOverflow = platform3.detectOverflow ? platform3 : { ...platform3, detectOverflow }; const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(floating)); let rects = await platform3.getElementRects({ reference, floating, strategy }); let { x: x2, y: y2 } = computeCoordsFromPlacement(rects, placement, rtl); let statefulPlacement = placement; let resetCount = 0; const middlewareData = {}; for (let i2 = 0; i2 < middleware.length; i2++) { const currentMiddleware = middleware[i2]; if (!currentMiddleware) { continue; } const { name: name2, fn } = currentMiddleware; const { x: nextX, y: nextY, data, reset } = await fn({ x: x2, y: y2, initialPlacement: placement, placement: statefulPlacement, strategy, middlewareData, rects, platform: platformWithDetectOverflow, elements: { reference, floating } }); x2 = nextX != null ? nextX : x2; y2 = nextY != null ? nextY : y2; middlewareData[name2] = { ...middlewareData[name2], ...data }; if (reset && resetCount < MAX_RESET_COUNT) { resetCount++; if (typeof reset === "object") { if (reset.placement) { statefulPlacement = reset.placement; } if (reset.rects) { rects = reset.rects === true ? await platform3.getElementRects({ reference, floating, strategy }) : reset.rects; } ({ x: x2, y: y2 } = computeCoordsFromPlacement(rects, statefulPlacement, rtl)); } i2 = -1; } } return { x: x2, y: y2, placement: statefulPlacement, strategy, middlewareData }; }; var flip = function(options) { if (options === void 0) { options = {}; } return { name: "flip", options, async fn(state) { var _middlewareData$arrow, _middlewareData$flip; const { placement, middlewareData, rects, initialPlacement, platform: platform3, elements: elements2 } = state; const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = true, fallbackPlacements: specifiedFallbackPlacements, fallbackStrategy = "bestFit", fallbackAxisSideDirection = "none", flipAlignment = true, ...detectOverflowOptions } = evaluate(options, state); if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { return {}; } const side = getSide(placement); const initialSideAxis = getSideAxis(initialPlacement); const isBasePlacement = getSide(initialPlacement) === initialPlacement; const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements2.floating)); const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement)); const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none"; if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) { fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl)); } const placements2 = [initialPlacement, ...fallbackPlacements]; const overflow = await platform3.detectOverflow(state, detectOverflowOptions); const overflows = []; let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || []; if (checkMainAxis) { overflows.push(overflow[side]); } if (checkCrossAxis) { const sides2 = getAlignmentSides(placement, rects, rtl); overflows.push(overflow[sides2[0]], overflow[sides2[1]]); } overflowsData = [...overflowsData, { placement, overflows }]; if (!overflows.every((side2) => side2 <= 0)) { var _middlewareData$flip2, _overflowsData$filter; const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1; const nextPlacement = placements2[nextIndex]; if (nextPlacement) { const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false; if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis // overflows the main axis. overflowsData.every((d2) => getSideAxis(d2.placement) === initialSideAxis ? d2.overflows[0] > 0 : true)) { return { data: { index: nextIndex, overflows: overflowsData }, reset: { placement: nextPlacement } }; } } let resetPlacement = (_overflowsData$filter = overflowsData.filter((d2) => d2.overflows[0] <= 0).sort((a2, b2) => a2.overflows[1] - b2.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement; if (!resetPlacement) { switch (fallbackStrategy) { case "bestFit": { var _overflowsData$filter2; const placement2 = (_overflowsData$filter2 = overflowsData.filter((d2) => { if (hasFallbackAxisSideDirection) { const currentSideAxis = getSideAxis(d2.placement); return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal // reading directions favoring greater width. currentSideAxis === "y"; } return true; }).map((d2) => [d2.placement, d2.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a2, b2) => a2[1] - b2[1])[0]) == null ? void 0 : _overflowsData$filter2[0]; if (placement2) { resetPlacement = placement2; } break; } case "initialPlacement": resetPlacement = initialPlacement; break; } } if (placement !== resetPlacement) { return { reset: { placement: resetPlacement } }; } } return {}; } }; }; function getSideOffsets(overflow, rect) { return { top: overflow.top - rect.height, right: overflow.right - rect.width, bottom: overflow.bottom - rect.height, left: overflow.left - rect.width }; } function isAnySideFullyClipped(overflow) { return sides.some((side) => overflow[side] >= 0); } var hide = function(options) { if (options === void 0) { options = {}; } return { name: "hide", options, async fn(state) { const { rects, platform: platform3 } = state; const { strategy = "referenceHidden", ...detectOverflowOptions } = evaluate(options, state); switch (strategy) { case "referenceHidden": { const overflow = await platform3.detectOverflow(state, { ...detectOverflowOptions, elementContext: "reference" }); const offsets = getSideOffsets(overflow, rects.reference); return { data: { referenceHiddenOffsets: offsets, referenceHidden: isAnySideFullyClipped(offsets) } }; } case "escaped": { const overflow = await platform3.detectOverflow(state, { ...detectOverflowOptions, altBoundary: true }); const offsets = getSideOffsets(overflow, rects.floating); return { data: { escapedOffsets: offsets, escaped: isAnySideFullyClipped(offsets) } }; } default: { return {}; } } } }; }; var originSides = /* @__PURE__ */ new Set(["left", "top"]); async function convertValueToCoords(state, options) { const { placement, platform: platform3, elements: elements2 } = state; const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements2.floating)); const side = getSide(placement); const alignment = getAlignment(placement); const isVertical = getSideAxis(placement) === "y"; const mainAxisMulti = originSides.has(side) ? -1 : 1; const crossAxisMulti = rtl && isVertical ? -1 : 1; const rawValue = evaluate(options, state); let { mainAxis, crossAxis, alignmentAxis } = typeof rawValue === "number" ? { mainAxis: rawValue, crossAxis: 0, alignmentAxis: null } : { mainAxis: rawValue.mainAxis || 0, crossAxis: rawValue.crossAxis || 0, alignmentAxis: rawValue.alignmentAxis }; if (alignment && typeof alignmentAxis === "number") { crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis; } return isVertical ? { x: crossAxis * crossAxisMulti, y: mainAxis * mainAxisMulti } : { x: mainAxis * mainAxisMulti, y: crossAxis * crossAxisMulti }; } var offset = function(options) { if (options === void 0) { options = 0; } return { name: "offset", options, async fn(state) { var _middlewareData$offse, _middlewareData$arrow; const { x: x2, y: y2, placement, middlewareData } = state; const diffCoords = await convertValueToCoords(state, options); if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) { return {}; } return { x: x2 + diffCoords.x, y: y2 + diffCoords.y, data: { ...diffCoords, placement } }; } }; }; var shift = function(options) { if (options === void 0) { options = {}; } return { name: "shift", options, async fn(state) { const { x: x2, y: y2, placement, platform: platform3 } = state; const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = false, limiter = { fn: (_ref) => { let { x: x3, y: y3 } = _ref; return { x: x3, y: y3 }; } }, ...detectOverflowOptions } = evaluate(options, state); const coords = { x: x2, y: y2 }; const overflow = await platform3.detectOverflow(state, detectOverflowOptions); const crossAxis = getSideAxis(getSide(placement)); const mainAxis = getOppositeAxis(crossAxis); let mainAxisCoord = coords[mainAxis]; let crossAxisCoord = coords[crossAxis]; if (checkMainAxis) { const minSide = mainAxis === "y" ? "top" : "left"; const maxSide = mainAxis === "y" ? "bottom" : "right"; const min2 = mainAxisCoord + overflow[minSide]; const max2 = mainAxisCoord - overflow[maxSide]; mainAxisCoord = clamp(min2, mainAxisCoord, max2); } if (checkCrossAxis) { const minSide = crossAxis === "y" ? "top" : "left"; const maxSide = crossAxis === "y" ? "bottom" : "right"; const min2 = crossAxisCoord + overflow[minSide]; const max2 = crossAxisCoord - overflow[maxSide]; crossAxisCoord = clamp(min2, crossAxisCoord, max2); } const limitedCoords = limiter.fn({ ...state, [mainAxis]: mainAxisCoord, [crossAxis]: crossAxisCoord }); return { ...limitedCoords, data: { x: limitedCoords.x - x2, y: limitedCoords.y - y2, enabled: { [mainAxis]: checkMainAxis, [crossAxis]: checkCrossAxis } } }; } }; }; var limitShift = function(options) { if (options === void 0) { options = {}; } return { options, fn(state) { const { x: x2, y: y2, placement, rects, middlewareData } = state; const { offset: offset4 = 0, mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = true } = evaluate(options, state); const coords = { x: x2, y: y2 }; const crossAxis = getSideAxis(placement); const mainAxis = getOppositeAxis(crossAxis); let mainAxisCoord = coords[mainAxis]; let crossAxisCoord = coords[crossAxis]; const rawOffset = evaluate(offset4, state); const computedOffset = typeof rawOffset === "number" ? { mainAxis: rawOffset, crossAxis: 0 } : { mainAxis: 0, crossAxis: 0, ...rawOffset }; if (checkMainAxis) { const len = mainAxis === "y" ? "height" : "width"; const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis; const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis; if (mainAxisCoord < limitMin) { mainAxisCoord = limitMin; } else if (mainAxisCoord > limitMax) { mainAxisCoord = limitMax; } } if (checkCrossAxis) { var _middlewareData$offse, _middlewareData$offse2; const len = mainAxis === "y" ? "width" : "height"; const isOriginSide = originSides.has(getSide(placement)); const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis); const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0); if (crossAxisCoord < limitMin) { crossAxisCoord = limitMin; } else if (crossAxisCoord > limitMax) { crossAxisCoord = limitMax; } } return { [mainAxis]: mainAxisCoord, [crossAxis]: crossAxisCoord }; } }; }; var size = function(options) { if (options === void 0) { options = {}; } return { name: "size", options, async fn(state) { var _state$middlewareData, _state$middlewareData2; const { placement, rects, platform: platform3, elements: elements2 } = state; const { apply = () => { }, ...detectOverflowOptions } = evaluate(options, state); const overflow = await platform3.detectOverflow(state, detectOverflowOptions); const side = getSide(placement); const alignment = getAlignment(placement); const isYAxis = getSideAxis(placement) === "y"; const { width, height } = rects.floating; let heightSide; let widthSide; if (side === "top" || side === "bottom") { heightSide = side; widthSide = alignment === (await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements2.floating)) ? "start" : "end") ? "left" : "right"; } else { widthSide = side; heightSide = alignment === "end" ? "top" : "bottom"; } const maximumClippingHeight = height - overflow.top - overflow.bottom; const maximumClippingWidth = width - overflow.left - overflow.right; const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight); const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth); const noShift = !state.middlewareData.shift; let availableHeight = overflowAvailableHeight; let availableWidth = overflowAvailableWidth; if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) { availableWidth = maximumClippingWidth; } if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) { availableHeight = maximumClippingHeight; } if (noShift && !alignment) { const xMin = max(overflow.left, 0); const xMax = max(overflow.right, 0); const yMin = max(overflow.top, 0); const yMax = max(overflow.bottom, 0); if (isYAxis) { availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right)); } else { availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom)); } } await apply({ ...state, availableWidth, availableHeight }); const nextDimensions = await platform3.getDimensions(elements2.floating); if (width !== nextDimensions.width || height !== nextDimensions.height) { return { reset: { rects: true } }; } return {}; } }; }; // node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs function getCssDimensions(element) { const css = getComputedStyle2(element); let width = parseFloat(css.width) || 0; let height = parseFloat(css.height) || 0; const hasOffset = isHTMLElement(element); const offsetWidth = hasOffset ? element.offsetWidth : width; const offsetHeight = hasOffset ? element.offsetHeight : height; const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight; if (shouldFallback) { width = offsetWidth; height = offsetHeight; } return { width, height, $: shouldFallback }; } function unwrapElement(element) { return !isElement(element) ? element.contextElement : element; } function getScale(element) { const domElement = unwrapElement(element); if (!isHTMLElement(domElement)) { return createCoords(1); } const rect = domElement.getBoundingClientRect(); const { width, height, $: $2 } = getCssDimensions(domElement); let x2 = ($2 ? round(rect.width) : rect.width) / width; let y2 = ($2 ? round(rect.height) : rect.height) / height; if (!x2 || !Number.isFinite(x2)) { x2 = 1; } if (!y2 || !Number.isFinite(y2)) { y2 = 1; } return { x: x2, y: y2 }; } var noOffsets = /* @__PURE__ */ createCoords(0); function getVisualOffsets(element) { const win = getWindow(element); if (!isWebKit() || !win.visualViewport) { return noOffsets; } return { x: win.visualViewport.offsetLeft, y: win.visualViewport.offsetTop }; } function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) { if (isFixed === void 0) { isFixed = false; } if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) { return false; } return isFixed; } function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) { if (includeScale === void 0) { includeScale = false; } if (isFixedStrategy === void 0) { isFixedStrategy = false; } const clientRect = element.getBoundingClientRect(); const domElement = unwrapElement(element); let scale = createCoords(1); if (includeScale) { if (offsetParent) { if (isElement(offsetParent)) { scale = getScale(offsetParent); } } else { scale = getScale(element); } } const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0); let x2 = (clientRect.left + visualOffsets.x) / scale.x; let y2 = (clientRect.top + visualOffsets.y) / scale.y; let width = clientRect.width / scale.x; let height = clientRect.height / scale.y; if (domElement) { const win = getWindow(domElement); const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent; let currentWin = win; let currentIFrame = getFrameElement(currentWin); while (currentIFrame && offsetParent && offsetWin !== currentWin) { const iframeScale = getScale(currentIFrame); const iframeRect = currentIFrame.getBoundingClientRect(); const css = getComputedStyle2(currentIFrame); const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x; const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y; x2 *= iframeScale.x; y2 *= iframeScale.y; width *= iframeScale.x; height *= iframeScale.y; x2 += left; y2 += top; currentWin = getWindow(currentIFrame); currentIFrame = getFrameElement(currentWin); } } return rectToClientRect({ width, height, x: x2, y: y2 }); } function getWindowScrollBarX(element, rect) { const leftScroll = getNodeScroll(element).scrollLeft; if (!rect) { return getBoundingClientRect(getDocumentElement(element)).left + leftScroll; } return rect.left + leftScroll; } function getHTMLOffset(documentElement, scroll) { const htmlRect = documentElement.getBoundingClientRect(); const x2 = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect); const y2 = htmlRect.top + scroll.scrollTop; return { x: x2, y: y2 }; } function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) { let { elements: elements2, rect, offsetParent, strategy } = _ref; const isFixed = strategy === "fixed"; const documentElement = getDocumentElement(offsetParent); const topLayer = elements2 ? isTopLayer(elements2.floating) : false; if (offsetParent === documentElement || topLayer && isFixed) { return rect; } let scroll = { scrollLeft: 0, scrollTop: 0 }; let scale = createCoords(1); const offsets = createCoords(0); const isOffsetParentAnElement = isHTMLElement(offsetParent); if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) { scroll = getNodeScroll(offsetParent); } if (isOffsetParentAnElement) { const offsetRect = getBoundingClientRect(offsetParent); scale = getScale(offsetParent); offsets.x = offsetRect.x + offsetParent.clientLeft; offsets.y = offsetRect.y + offsetParent.clientTop; } } const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0); return { width: rect.width * scale.x, height: rect.height * scale.y, x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x, y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y }; } function getClientRects(element) { return Array.from(element.getClientRects()); } function getDocumentRect(element) { const html = getDocumentElement(element); const scroll = getNodeScroll(element); const body = element.ownerDocument.body; const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth); const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight); let x2 = -scroll.scrollLeft + getWindowScrollBarX(element); const y2 = -scroll.scrollTop; if (getComputedStyle2(body).direction === "rtl") { x2 += max(html.clientWidth, body.clientWidth) - width; } return { width, height, x: x2, y: y2 }; } var SCROLLBAR_MAX = 25; function getViewportRect(element, strategy) { const win = getWindow(element); const html = getDocumentElement(element); const visualViewport = win.visualViewport; let width = html.clientWidth; let height = html.clientHeight; let x2 = 0; let y2 = 0; if (visualViewport) { width = visualViewport.width; height = visualViewport.height; const visualViewportBased = isWebKit(); if (!visualViewportBased || visualViewportBased && strategy === "fixed") { x2 = visualViewport.offsetLeft; y2 = visualViewport.offsetTop; } } const windowScrollbarX = getWindowScrollBarX(html); if (windowScrollbarX <= 0) { const doc = html.ownerDocument; const body = doc.body; const bodyStyles = getComputedStyle(body); const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0; const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline); if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) { width -= clippingStableScrollbarWidth; } } else if (windowScrollbarX <= SCROLLBAR_MAX) { width += windowScrollbarX; } return { width, height, x: x2, y: y2 }; } function getInnerBoundingClientRect(element, strategy) { const clientRect = getBoundingClientRect(element, true, strategy === "fixed"); const top = clientRect.top + element.clientTop; const left = clientRect.left + element.clientLeft; const scale = isHTMLElement(element) ? getScale(element) : createCoords(1); const width = element.clientWidth * scale.x; const height = element.clientHeight * scale.y; const x2 = left * scale.x; const y2 = top * scale.y; return { width, height, x: x2, y: y2 }; } function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) { let rect; if (clippingAncestor === "viewport") { rect = getViewportRect(element, strategy); } else if (clippingAncestor === "document") { rect = getDocumentRect(getDocumentElement(element)); } else if (isElement(clippingAncestor)) { rect = getInnerBoundingClientRect(clippingAncestor, strategy); } else { const visualOffsets = getVisualOffsets(element); rect = { x: clippingAncestor.x - visualOffsets.x, y: clippingAncestor.y - visualOffsets.y, width: clippingAncestor.width, height: clippingAncestor.height }; } return rectToClientRect(rect); } function hasFixedPositionAncestor(element, stopNode) { const parentNode = getParentNode(element); if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) { return false; } return getComputedStyle2(parentNode).position === "fixed" || hasFixedPositionAncestor(parentNode, stopNode); } function getClippingElementAncestors(element, cache) { const cachedResult = cache.get(element); if (cachedResult) { return cachedResult; } let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== "body"); let currentContainingBlockComputedStyle = null; const elementIsFixed = getComputedStyle2(element).position === "fixed"; let currentNode = elementIsFixed ? getParentNode(element) : element; while (isElement(currentNode) && !isLastTraversableNode(currentNode)) { const computedStyle = getComputedStyle2(currentNode); const currentNodeIsContaining = isContainingBlock(currentNode); if (!currentNodeIsContaining && computedStyle.position === "fixed") { currentContainingBlockComputedStyle = null; } const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === "absolute" || currentContainingBlockComputedStyle.position === "fixed") || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode); if (shouldDropCurrentNode) { result = result.filter((ancestor) => ancestor !== currentNode); } else { currentContainingBlockComputedStyle = computedStyle; } currentNode = getParentNode(currentNode); } cache.set(element, result); return result; } function getClippingRect(_ref) { let { element, boundary, rootBoundary, strategy } = _ref; const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary); const clippingAncestors = [...elementClippingAncestors, rootBoundary]; const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy); let top = firstRect.top; let right = firstRect.right; let bottom = firstRect.bottom; let left = firstRect.left; for (let i2 = 1; i2 < clippingAncestors.length; i2++) { const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i2], strategy); top = max(rect.top, top); right = min(rect.right, right); bottom = min(rect.bottom, bottom); left = max(rect.left, left); } return { width: right - left, height: bottom - top, x: left, y: top }; } function getDimensions(element) { const { width, height } = getCssDimensions(element); return { width, height }; } function getRectRelativeToOffsetParent(element, offsetParent, strategy) { const isOffsetParentAnElement = isHTMLElement(offsetParent); const documentElement = getDocumentElement(offsetParent); const isFixed = strategy === "fixed"; const rect = getBoundingClientRect(element, true, isFixed, offsetParent); let scroll = { scrollLeft: 0, scrollTop: 0 }; const offsets = createCoords(0); function setLeftRTLScrollbarOffset() { offsets.x = getWindowScrollBarX(documentElement); } if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) { scroll = getNodeScroll(offsetParent); } if (isOffsetParentAnElement) { const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent); offsets.x = offsetRect.x + offsetParent.clientLeft; offsets.y = offsetRect.y + offsetParent.clientTop; } else if (documentElement) { setLeftRTLScrollbarOffset(); } } if (isFixed && !isOffsetParentAnElement && documentElement) { setLeftRTLScrollbarOffset(); } const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0); const x2 = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x; const y2 = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y; return { x: x2, y: y2, width: rect.width, height: rect.height }; } function isStaticPositioned(element) { return getComputedStyle2(element).position === "static"; } function getTrueOffsetParent(element, polyfill) { if (!isHTMLElement(element) || getComputedStyle2(element).position === "fixed") { return null; } if (polyfill) { return polyfill(element); } let rawOffsetParent = element.offsetParent; if (getDocumentElement(element) === rawOffsetParent) { rawOffsetParent = rawOffsetParent.ownerDocument.body; } return rawOffsetParent; } function getOffsetParent(element, polyfill) { const win = getWindow(element); if (isTopLayer(element)) { return win; } if (!isHTMLElement(element)) { let svgOffsetParent = getParentNode(element); while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) { if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) { return svgOffsetParent; } svgOffsetParent = getParentNode(svgOffsetParent); } return win; } let offsetParent = getTrueOffsetParent(element, polyfill); while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) { offsetParent = getTrueOffsetParent(offsetParent, polyfill); } if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) { return win; } return offsetParent || getContainingBlock(element) || win; } var getElementRects = async function(data) { const getOffsetParentFn = this.getOffsetParent || getOffsetParent; const getDimensionsFn = this.getDimensions; const floatingDimensions = await getDimensionsFn(data.floating); return { reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy), floating: { x: 0, y: 0, width: floatingDimensions.width, height: floatingDimensions.height } }; }; function isRTL(element) { return getComputedStyle2(element).direction === "rtl"; } var platform2 = { convertOffsetParentRelativeRectToViewportRelativeRect, getDocumentElement, getClippingRect, getOffsetParent, getElementRects, getClientRects, getDimensions, getScale, isElement, isRTL }; function rectsAreEqual(a2, b2) { return a2.x === b2.x && a2.y === b2.y && a2.width === b2.width && a2.height === b2.height; } function observeMove(element, onMove) { let io = null; let timeoutId; const root = getDocumentElement(element); function cleanup() { var _io; clearTimeout(timeoutId); (_io = io) == null || _io.disconnect(); io = null; } function refresh(skip, threshold) { if (skip === void 0) { skip = false; } if (threshold === void 0) { threshold = 1; } cleanup(); const elementRectForRootMargin = element.getBoundingClientRect(); const { left, top, width, height } = elementRectForRootMargin; if (!skip) { onMove(); } if (!width || !height) { return; } const insetTop = floor(top); const insetRight = floor(root.clientWidth - (left + width)); const insetBottom = floor(root.clientHeight - (top + height)); const insetLeft = floor(left); const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px"; const options = { rootMargin, threshold: max(0, min(1, threshold)) || 1 }; let isFirstUpdate = true; function handleObserve(entries) { const ratio = entries[0].intersectionRatio; if (ratio !== threshold) { if (!isFirstUpdate) { return refresh(); } if (!ratio) { timeoutId = setTimeout(() => { refresh(false, 1e-7); }, 1e3); } else { refresh(false, ratio); } } if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) { refresh(); } isFirstUpdate = false; } try { io = new IntersectionObserver(handleObserve, { ...options, // Handle <iframe>s root: root.ownerDocument }); } catch (_e) { io = new IntersectionObserver(handleObserve, options); } io.observe(element); } refresh(true); return cleanup; } function autoUpdate(reference, floating, update2, options) { if (options === void 0) { options = {}; } const { ancestorScroll = true, ancestorResize = true, elementResize = typeof ResizeObserver === "function", layoutShift = typeof IntersectionObserver === "function", animationFrame = false } = options; const referenceEl = unwrapElement(reference); const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : []; ancestors.forEach((ancestor) => { ancestorScroll && ancestor.addEventListener("scroll", update2, { passive: true }); ancestorResize && ancestor.addEventListener("resize", update2); }); const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update2) : null; let reobserveFrame = -1; let resizeObserver = null; if (elementResize) { resizeObserver = new ResizeObserver((_ref) => { let [firstEntry] = _ref; if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) { resizeObserver.unobserve(floating); cancelAnimationFrame(reobserveFrame); reobserveFrame = requestAnimationFrame(() => { var _resizeObserver; (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating); }); } update2(); }); if (referenceEl && !animationFrame) { resizeObserver.observe(referenceEl); } if (floating) { resizeObserver.observe(floating); } } let frameId; let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null; if (animationFrame) { frameLoop(); } function frameLoop() { const nextRefRect = getBoundingClientRect(reference); if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) { update2(); } prevRefRect = nextRefRect; frameId = requestAnimationFrame(frameLoop); } update2(); return () => { var _resizeObserver2; ancestors.forEach((ancestor) => { ancestorScroll && ancestor.removeEventListener("scroll", update2); ancestorResize && ancestor.removeEventListener("resize", update2); }); cleanupIo == null || cleanupIo(); (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect(); resizeObserver = null; if (animationFrame) { cancelAnimationFrame(frameId); } }; } var offset2 = offset; var shift2 = shift; var flip2 = flip; var size2 = size; var hide2 = hide; var limitShift2 = limitShift; var computePosition2 = (reference, floating, options) => { const cache = /* @__PURE__ */ new Map(); const mergedOptions = { platform: platform2, ...options }; const platformWithCache = { ...mergedOptions.platform, _c: cache }; return computePosition(reference, floating, { ...mergedOptions, platform: platformWithCache }); }; // node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs var React20 = __toESM(require_react(), 1); var import_react2 = __toESM(require_react(), 1); var ReactDOM3 = __toESM(require_react_dom(), 1); var isClient = typeof document !== "undefined"; var noop2 = function noop3() { }; var index = isClient ? import_react2.useLayoutEffect : noop2; function deepEqual(a2, b2) { if (a2 === b2) { return true; } if (typeof a2 !== typeof b2) { return false; } if (typeof a2 === "function" && a2.toString() === b2.toString()) { return true; } let length; let i2; let keys; if (a2 && b2 && typeof a2 === "object") { if (Array.isArray(a2)) { length = a2.length; if (length !== b2.length) return false; for (i2 = length; i2-- !== 0; ) { if (!deepEqual(a2[i2], b2[i2])) { return false; } } return true; } keys = Object.keys(a2); length = keys.length; if (length !== Object.keys(b2).length) { return false; } for (i2 = length; i2-- !== 0; ) { if (!{}.hasOwnProperty.call(b2, keys[i2])) { return false; } } for (i2 = length; i2-- !== 0; ) { const key = keys[i2]; if (key === "_owner" && a2.$$typeof) { continue; } if (!deepEqual(a2[key], b2[key])) { return false; } } return true; } return a2 !== a2 && b2 !== b2; } function getDPR(element) { if (typeof window === "undefined") { return 1; } const win = element.ownerDocument.defaultView || window; return win.devicePixelRatio || 1; } function roundByDPR(element, value) { const dpr = getDPR(element); return Math.round(value * dpr) / dpr; } function useLatestRef(value) { const ref = React20.useRef(value); index(() => { ref.current = value; }); return ref; } function useFloating(options) { if (options === void 0) { options = {}; } const { placement = "bottom", strategy = "absolute", middleware = [], platform: platform3, elements: { reference: externalReference, floating: externalFloating } = {}, transform = true, whileElementsMounted, open } = options; const [data, setData] = React20.useState({ x: 0, y: 0, strategy, placement, middlewareData: {}, isPositioned: false }); const [latestMiddleware, setLatestMiddleware] = React20.useState(middleware); if (!deepEqual(latestMiddleware, middleware)) { setLatestMiddleware(middleware); } const [_reference, _setReference] = React20.useState(null); const [_floating, _setFloating] = React20.useState(null); const setReference = React20.useCallback((node) => { if (node !== referenceRef.current) { referenceRef.current = node; _setReference(node); } }, []); const setFloating = React20.useCallback((node) => { if (node !== floatingRef.current) { floatingRef.current = node; _setFloating(node); } }, []); const referenceEl = externalReference || _reference; const floatingEl = externalFloating || _floating; const referenceRef = React20.useRef(null); const floatingRef = React20.useRef(null); const dataRef = React20.useRef(data); const hasWhileElementsMounted = whileElementsMounted != null; const whileElementsMountedRef = useLatestRef(whileElementsMounted); const platformRef = useLatestRef(platform3); const openRef = useLatestRef(open); const update2 = React20.useCallback(() => { if (!referenceRef.current || !floatingRef.current) { return; } const config = { placement, strategy, middleware: latestMiddleware }; if (platformRef.current) { config.platform = platformRef.current; } computePosition2(referenceRef.current, floatingRef.current, config).then((data2) => { const fullData = { ...data2, // The floating element's position may be recomputed while it's closed // but still mounted (such as when transitioning out). To ensure // `isPositioned` will be `false` initially on the next open, avoid // setting it to `true` when `open === false` (must be specified). isPositioned: openRef.current !== false }; if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) { dataRef.current = fullData; ReactDOM3.flushSync(() => { setData(fullData); }); } }); }, [latestMiddleware, placement, strategy, platformRef, openRef]); index(() => { if (open === false && dataRef.current.isPositioned) { dataRef.current.isPositioned = false; setData((data2) => ({ ...data2, isPositioned: false })); } }, [open]); const isMountedRef = React20.useRef(false); index(() => { isMountedRef.current = true; return () => { isMountedRef.current = false; }; }, []); index(() => { if (referenceEl) referenceRef.current = referenceEl; if (floatingEl) floatingRef.current = floatingEl; if (referenceEl && floatingEl) { if (whileElementsMountedRef.current) { return whileElementsMountedRef.current(referenceEl, floatingEl, update2); } update2(); } }, [referenceEl, floatingEl, update2, whileElementsMountedRef, hasWhileElementsMounted]); const refs = React20.useMemo(() => ({ reference: referenceRef, floating: floatingRef, setReference, setFloating }), [setReference, setFloating]); const elements2 = React20.useMemo(() => ({ reference: referenceEl, floating: floatingEl }), [referenceEl, floatingEl]); const floatingStyles = React20.useMemo(() => { const initialStyles = { position: strategy, left: 0, top: 0 }; if (!elements2.floating) { return initialStyles; } const x2 = roundByDPR(elements2.floating, data.x); const y2 = roundByDPR(elements2.floating, data.y); if (transform) { return { ...initialStyles, transform: "translate(" + x2 + "px, " + y2 + "px)", ...getDPR(elements2.floating) >= 1.5 && { willChange: "transform" } }; } return { position: strategy, left: x2, top: y2 }; }, [strategy, transform, elements2.floating, data.x, data.y]); return React20.useMemo(() => ({ ...data, update: update2, refs, elements: elements2, floatingStyles }), [data, update2, refs, elements2, floatingStyles]); } var offset3 = (options, deps) => { const result = offset2(options); return { name: result.name, fn: result.fn, options: [options, deps] }; }; var shift3 = (options, deps) => { const result = shift2(options); return { name: result.name, fn: result.fn, options: [options, deps] }; }; var limitShift3 = (options, deps) => { const result = limitShift2(options); return { fn: result.fn, options: [options, deps] }; }; var flip3 = (options, deps) => { const result = flip2(options); return { name: result.name, fn: result.fn, options: [options, deps] }; }; var size3 = (options, deps) => { const result = size2(options); return { name: result.name, fn: result.fn, options: [options, deps] }; }; var hide3 = (options, deps) => { const result = hide2(options); return { name: result.name, fn: result.fn, options: [options, deps] }; }; // node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs var React25 = __toESM(require_react(), 1); var ReactDOM4 = __toESM(require_react_dom(), 1); // node_modules/@base-ui/react/floating-ui-react/hooks/useSyncedFloatingRootContext.mjs var React24 = __toESM(require_react(), 1); // node_modules/@base-ui/utils/store/createSelector.mjs var createSelector = (a2, b2, c2, d2, e2, f2, ...other) => { if (other.length > 0) { throw new Error(true ? "Unsupported number of selectors" : formatErrorMessage_default(1)); } let selector; if (a2 && b2 && c2 && d2 && e2 && f2) { selector = (state, a1, a22, a3) => { const va = a2(state, a1, a22, a3); const vb = b2(state, a1, a22, a3); const vc = c2(state, a1, a22, a3); const vd = d2(state, a1, a22, a3); const ve = e2(state, a1, a22, a3); return f2(va, vb, vc, vd, ve, a1, a22, a3); }; } else if (a2 && b2 && c2 && d2 && e2) { selector = (state, a1, a22, a3) => { const va = a2(state, a1, a22, a3); const vb = b2(state, a1, a22, a3); const vc = c2(state, a1, a22, a3); const vd = d2(state, a1, a22, a3); return e2(va, vb, vc, vd, a1, a22, a3); }; } else if (a2 && b2 && c2 && d2) { selector = (state, a1, a22, a3) => { const va = a2(state, a1, a22, a3); const vb = b2(state, a1, a22, a3); const vc = c2(state, a1, a22, a3); return d2(va, vb, vc, a1, a22, a3); }; } else if (a2 && b2 && c2) { selector = (state, a1, a22, a3) => { const va = a2(state, a1, a22, a3); const vb = b2(state, a1, a22, a3); return c2(va, vb, a1, a22, a3); }; } else if (a2 && b2) { selector = (state, a1, a22, a3) => { const va = a2(state, a1, a22, a3); return b2(va, a1, a22, a3); }; } else if (a2) { selector = a2; } else { throw ( /* minify-error-disabled */ new Error("Missing arguments") ); } return selector; }; // node_modules/@base-ui/utils/store/useStore.mjs var React22 = __toESM(require_react(), 1); var import_shim = __toESM(require_shim(), 1); var import_with_selector = __toESM(require_with_selector(), 1); // node_modules/@base-ui/utils/fastHooks.mjs var React21 = __toESM(require_react(), 1); var hooks = []; var currentInstance = void 0; function getInstance() { return currentInstance; } function register(hook) { hooks.push(hook); } function fastComponent(fn) { const FastComponent = (props, forwardedRef) => { const instance = useRefWithInit(createInstance).current; let result; try { currentInstance = instance; for (const hook of hooks) { hook.before(instance); } result = fn(props, forwardedRef); for (const hook of hooks) { hook.after(instance); } instance.didInitialize = true; } finally { currentInstance = void 0; } return result; }; FastComponent.displayName = fn.displayName || fn.name; return FastComponent; } function fastComponentRef(fn) { return /* @__PURE__ */ React21.forwardRef(fastComponent(fn)); } function createInstance() { return { didInitialize: false }; } // node_modules/@base-ui/utils/store/useStore.mjs var canUseRawUseSyncExternalStore = isReactVersionAtLeast(19); var useStoreImplementation = canUseRawUseSyncExternalStore ? useStoreFast : useStoreLegacy; function useStore(store, selector, a1, a2, a3) { return useStoreImplementation(store, selector, a1, a2, a3); } function useStoreR19(store, selector, a1, a2, a3) { const getSelection = React22.useCallback(() => selector(store.getSnapshot(), a1, a2, a3), [store, selector, a1, a2, a3]); return (0, import_shim.useSyncExternalStore)(store.subscribe, getSelection, getSelection); } register({ before(instance) { instance.syncIndex = 0; if (!instance.didInitialize) { instance.syncTick = 1; instance.syncHooks = []; instance.didChangeStore = true; instance.getSnapshot = () => { let didChange2 = false; for (let i2 = 0; i2 < instance.syncHooks.length; i2 += 1) { const hook = instance.syncHooks[i2]; const value = hook.selector(hook.store.state, hook.a1, hook.a2, hook.a3); if (!Object.is(hook.value, value)) { didChange2 = true; hook.value = value; } } if (didChange2) { instance.syncTick += 1; } return instance.syncTick; }; } }, after(instance) { if (instance.syncHooks.length > 0) { if (instance.didChangeStore) { instance.didChangeStore = false; instance.subscribe = (onStoreChange) => { const stores = /* @__PURE__ */ new Set(); for (const hook of instance.syncHooks) { stores.add(hook.store); } const unsubscribes = []; for (const store of stores) { unsubscribes.push(store.subscribe(onStoreChange)); } return () => { for (const unsubscribe of unsubscribes) { unsubscribe(); } }; }; } (0, import_shim.useSyncExternalStore)(instance.subscribe, instance.getSnapshot, instance.getSnapshot); } } }); function useStoreFast(store, selector, a1, a2, a3) { const instance = getInstance(); if (!instance) { return useStoreR19(store, selector, a1, a2, a3); } const index2 = instance.syncIndex; instance.syncIndex += 1; let hook; if (!instance.didInitialize) { hook = { store, selector, a1, a2, a3, value: selector(store.getSnapshot(), a1, a2, a3) }; instance.syncHooks.push(hook); } else { hook = instance.syncHooks[index2]; if (hook.store !== store || hook.selector !== selector || !Object.is(hook.a1, a1) || !Object.is(hook.a2, a2) || !Object.is(hook.a3, a3)) { if (hook.store !== store) { instance.didChangeStore = true; } hook.store = store; hook.selector = selector; hook.a1 = a1; hook.a2 = a2; hook.a3 = a3; hook.value = selector(store.getSnapshot(), a1, a2, a3); } } return hook.value; } function useStoreLegacy(store, selector, a1, a2, a3) { return (0, import_with_selector.useSyncExternalStoreWithSelector)(store.subscribe, store.getSnapshot, store.getSnapshot, (state) => selector(state, a1, a2, a3)); } // node_modules/@base-ui/utils/store/Store.mjs var Store = class { /** * The current state of the store. * This property is updated immediately when the state changes as a result of calling {@link setState}, {@link update}, or {@link set}. * To subscribe to state changes, use the {@link useState} method. The value returned by {@link useState} is updated after the component renders (similarly to React's useState). * The values can be used directly (to avoid subscribing to the store) in effects or event handlers. * * Do not modify properties in state directly. Instead, use the provided methods to ensure proper state management and listener notification. */ // Internal state to handle recursive `setState()` calls constructor(state) { this.state = state; this.listeners = /* @__PURE__ */ new Set(); this.updateTick = 0; } /** * Registers a listener that will be called whenever the store's state changes. * * @param fn The listener function to be called on state changes. * @returns A function to unsubscribe the listener. */ subscribe = (fn) => { this.listeners.add(fn); return () => { this.listeners.delete(fn); }; }; /** * Returns the current state of the store. */ getSnapshot = () => { return this.state; }; /** * Updates the entire store's state and notifies all registered listeners. * * @param newState The new state to set for the store. */ setState(newState) { if (this.state === newState) { return; } this.state = newState; this.updateTick += 1; const currentTick = this.updateTick; for (const listener of this.listeners) { if (currentTick !== this.updateTick) { return; } listener(newState); } } /** * Merges the provided changes into the current state and notifies listeners if there are changes. * * @param changes An object containing the changes to apply to the current state. */ update(changes) { for (const key in changes) { if (!Object.is(this.state[key], changes[key])) { this.setState({ ...this.state, ...changes }); return; } } } /** * Sets a specific key in the store's state to a new value and notifies listeners if the value has changed. * * @param key The key in the store's state to update. * @param value The new value to set for the specified key. */ set(key, value) { if (!Object.is(this.state[key], value)) { this.setState({ ...this.state, [key]: value }); } } /** * Gives the state a new reference and updates all registered listeners. */ notifyAll() { const newState = { ...this.state }; this.setState(newState); } use(selector, a1, a2, a3) { return useStore(this, selector, a1, a2, a3); } }; // node_modules/@base-ui/utils/store/ReactStore.mjs var React23 = __toESM(require_react(), 1); var ReactStore = class extends Store { /** * Creates a new ReactStore instance. * * @param state Initial state of the store. * @param context Non-reactive context values. * @param selectors Optional selectors for use with `useState`. */ constructor(state, context = {}, selectors3) { super(state); this.context = context; this.selectors = selectors3; } /** * Non-reactive values such as refs, callbacks, etc. */ /** * Synchronizes a single external value into the store. * * Note that the while the value in `state` is updated immediately, the value returned * by `useState` is updated before the next render (similarly to React's `useState`). */ useSyncedValue(key, value) { React23.useDebugValue(key); const store = this; useIsoLayoutEffect(() => { if (store.state[key] !== value) { store.set(key, value); } }, [store, key, value]); } /** * Synchronizes a single external value into the store and * cleans it up (sets to `undefined`) on unmount. * * Note that the while the value in `state` is updated immediately, the value returned * by `useState` is updated before the next render (similarly to React's `useState`). */ useSyncedValueWithCleanup(key, value) { const store = this; useIsoLayoutEffect(() => { if (store.state[key] !== value) { store.set(key, value); } return () => { store.set(key, void 0); }; }, [store, key, value]); } /** * Synchronizes multiple external values into the store. * * Note that the while the values in `state` are updated immediately, the values returned * by `useState` are updated before the next render (similarly to React's `useState`). */ useSyncedValues(statePart) { const store = this; if (true) { React23.useDebugValue(statePart, (p3) => Object.keys(p3)); const keys = React23.useRef(Object.keys(statePart)).current; const nextKeys = Object.keys(statePart); if (keys.length !== nextKeys.length || keys.some((key, index2) => key !== nextKeys[index2])) { console.error("ReactStore.useSyncedValues expects the same prop keys on every render. Keys should be stable."); } } const dependencies = Object.values(statePart); useIsoLayoutEffect(() => { store.update(statePart); }, [store, ...dependencies]); } /** * Registers a controllable prop pair (`controlled`, `defaultValue`) for a specific key. If `controlled` * is non-undefined, the store's state at `key` is updated to match `controlled`. */ useControlledProp(key, controlled) { React23.useDebugValue(key); const store = this; const isControlled = controlled !== void 0; useIsoLayoutEffect(() => { if (isControlled && !Object.is(store.state[key], controlled)) { store.setState({ ...store.state, [key]: controlled }); } }, [store, key, controlled, isControlled]); if (true) { const cache = this.controlledValues ??= /* @__PURE__ */ new Map(); if (!cache.has(key)) { cache.set(key, isControlled); } const previouslyControlled = cache.get(key); if (previouslyControlled !== void 0 && previouslyControlled !== isControlled) { console.error(`A component is changing the ${isControlled ? "" : "un"}controlled state of ${key.toString()} to be ${isControlled ? "un" : ""}controlled. Elements should not switch from uncontrolled to controlled (or vice versa).`); } } } /** Gets the current value from the store using a selector with the provided key. * * @param key Key of the selector to use. */ select(key, a1, a2, a3) { const selector = this.selectors[key]; return selector(this.state, a1, a2, a3); } /** * Returns a value from the store's state using a selector function. * Used to subscribe to specific parts of the state. * This methods causes a rerender whenever the selected state changes. * * @param key Key of the selector to use. */ useState(key, a1, a2, a3) { React23.useDebugValue(key); return useStore(this, this.selectors[key], a1, a2, a3); } /** * Wraps a function with `useStableCallback` to ensure it has a stable reference * and assigns it to the context. * * @param key Key of the event callback. Must be a function in the context. * @param fn Function to assign. */ useContextCallback(key, fn) { React23.useDebugValue(key); const stableFunction = useStableCallback(fn ?? NOOP); this.context[key] = stableFunction; } /** * Returns a stable setter function for a specific key in the store's state. * It's commonly used to pass as a ref callback to React elements. * * @param key Key of the state to set. */ useStateSetter(key) { const ref = React23.useRef(void 0); if (ref.current === void 0) { ref.current = (value) => { this.set(key, value); }; } return ref.current; } /** * Observes changes derived from the store's selectors and calls the listener when the selected value changes. * * @param key Key of the selector to observe. * @param listener Listener function called when the selector result changes. */ observe(selector, listener) { let selectFn; if (typeof selector === "function") { selectFn = selector; } else { selectFn = this.selectors[selector]; } let prevValue = selectFn(this.state); listener(prevValue, prevValue, this); return this.subscribe((nextState) => { const nextValue = selectFn(nextState); if (!Object.is(prevValue, nextValue)) { const oldValue = prevValue; prevValue = nextValue; listener(nextValue, oldValue, this); } }); } }; // node_modules/@base-ui/react/floating-ui-react/components/FloatingRootStore.mjs var selectors = { open: createSelector((state) => state.open), transitionStatus: createSelector((state) => state.transitionStatus), domReferenceElement: createSelector((state) => state.domReferenceElement), referenceElement: createSelector((state) => state.positionReference ?? state.referenceElement), floatingElement: createSelector((state) => state.floatingElement), floatingId: createSelector((state) => state.floatingId) }; var FloatingRootStore = class extends ReactStore { constructor(options) { const { syncOnly, nested, onOpenChange, triggerElements, ...initialState } = options; super({ ...initialState, positionReference: initialState.referenceElement, domReferenceElement: initialState.referenceElement }, { onOpenChange, dataRef: { current: {} }, events: createEventEmitter(), nested, triggerElements }, selectors); this.syncOnly = syncOnly; } /** * Syncs the event used by hover logic to distinguish hover-open from click-like interaction. */ syncOpenEvent = (newOpen, event) => { if (!newOpen || !this.state.open || // Prevent a pending hover-open from overwriting a click-open event, while allowing // click events to upgrade a hover-open. event != null && isClickLikeEvent(event)) { this.context.dataRef.current.openEvent = newOpen ? event : void 0; } }; /** * Runs the root-owned side effects for an open state change. */ dispatchOpenChange = (newOpen, eventDetails) => { this.syncOpenEvent(newOpen, eventDetails.event); const details = { open: newOpen, reason: eventDetails.reason, nativeEvent: eventDetails.event, nested: this.context.nested, triggerElement: eventDetails.trigger }; this.context.events.emit("openchange", details); }; /** * Emits the `openchange` event through the internal event emitter and calls the `onOpenChange` handler with the provided arguments. * * @param newOpen The new open state. * @param eventDetails Details about the event that triggered the open state change. */ setOpen = (newOpen, eventDetails) => { if (this.syncOnly) { this.context.onOpenChange?.(newOpen, eventDetails); return; } this.dispatchOpenChange(newOpen, eventDetails); this.context.onOpenChange?.(newOpen, eventDetails); }; }; // node_modules/@base-ui/react/floating-ui-react/hooks/useSyncedFloatingRootContext.mjs function useSyncedFloatingRootContext(options) { const { popupStore, treatPopupAsFloatingElement = false, floatingRootContext: floatingRootContextProp, floatingId, nested, onOpenChange } = options; const open = popupStore.useState("open"); const referenceElement = popupStore.useState("activeTriggerElement"); const floatingElement = popupStore.useState(treatPopupAsFloatingElement ? "popupElement" : "positionerElement"); const triggerElements = popupStore.context.triggerElements; const handleOpenChange = onOpenChange; const internalStoreRef = React24.useRef(null); if (floatingRootContextProp === void 0 && internalStoreRef.current === null) { internalStoreRef.current = new FloatingRootStore({ open, transitionStatus: void 0, referenceElement, floatingElement, triggerElements, onOpenChange: handleOpenChange, floatingId, syncOnly: true, nested }); } const store = floatingRootContextProp ?? internalStoreRef.current; popupStore.useSyncedValue("floatingId", floatingId); useIsoLayoutEffect(() => { const valuesToSync = { open, floatingId, referenceElement, floatingElement }; if (isElement(referenceElement)) { valuesToSync.domReferenceElement = referenceElement; } if (store.state.positionReference === store.state.referenceElement) { valuesToSync.positionReference = referenceElement; } store.update(valuesToSync); }, [open, floatingId, referenceElement, floatingElement, store]); store.context.onOpenChange = handleOpenChange; store.context.nested = nested; return store; } // node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs var FOCUSABLE_POPUP_PROPS = { tabIndex: -1, [FOCUSABLE_ATTRIBUTE]: "" }; function usePopupStore(externalStore, createStore, treatPopupAsFloatingElement = false) { const floatingId = useId(); const nested = useFloatingParentNodeId() != null; const internalStoreRef = React25.useRef(null); if (externalStore === void 0 && internalStoreRef.current === null) { internalStoreRef.current = createStore(floatingId, nested); } const store = externalStore ?? internalStoreRef.current; useSyncedFloatingRootContext({ popupStore: store, treatPopupAsFloatingElement, floatingRootContext: store.state.floatingRootContext, floatingId, nested, onOpenChange: store.setOpen }); return { store, internalStore: internalStoreRef.current }; } function useTriggerRegistration(id, store) { const registeredElementIdRef = React25.useRef(null); const registeredElementRef = React25.useRef(null); return React25.useCallback((element) => { if (id === void 0) { return; } let shouldSyncTriggerCount = false; if (registeredElementIdRef.current !== null) { const registeredId = registeredElementIdRef.current; const registeredElement = registeredElementRef.current; const currentElement = store.context.triggerElements.getById(registeredId); if (registeredElement && currentElement === registeredElement) { store.context.triggerElements.delete(registeredId); shouldSyncTriggerCount = true; } registeredElementIdRef.current = null; registeredElementRef.current = null; } if (element !== null) { registeredElementIdRef.current = id; registeredElementRef.current = element; store.context.triggerElements.add(id, element); shouldSyncTriggerCount = true; } if (shouldSyncTriggerCount) { const triggerCount = store.context.triggerElements.size; if (store.select("open") && store.state.triggerCount !== triggerCount) { store.set("triggerCount", triggerCount); } } }, [store, id]); } function setPopupOpenState(state, open, trigger, preventUnmountOnClose = false) { if (open) { state.preventUnmountingOnClose = false; } else if (preventUnmountOnClose) { state.preventUnmountingOnClose = true; } const triggerId = trigger?.id ?? null; if (triggerId || open) { state.activeTriggerId = triggerId; state.activeTriggerElement = trigger ?? null; } } function attachPreventUnmountOnClose(eventDetails) { let preventUnmountOnClose = false; eventDetails.preventUnmountOnClose = () => { preventUnmountOnClose = true; }; return () => preventUnmountOnClose; } function applyPopupOpenChange(store, nextOpen, eventDetails, options = {}) { const reason = eventDetails.reason; const isHover = reason === reason_parts_exports.triggerHover; const isFocusOpen = nextOpen && reason === reason_parts_exports.triggerFocus; const isDismissClose = !nextOpen && (reason === reason_parts_exports.triggerPress || reason === reason_parts_exports.escapeKey); const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(eventDetails); store.context.onOpenChange?.(nextOpen, eventDetails); if (eventDetails.isCanceled) { return; } options.onBeforeDispatch?.(); store.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails); const changeState = () => { const updatedState = { ...options.extraState, open: nextOpen }; if (isFocusOpen) { updatedState.instantType = "focus"; } else if (isDismissClose) { updatedState.instantType = "dismiss"; } else if (isHover) { updatedState.instantType = void 0; } setPopupOpenState(updatedState, nextOpen, eventDetails.trigger, shouldPreventUnmountOnClose()); store.update(updatedState); }; if (isHover) { ReactDOM4.flushSync(changeState); } else { changeState(); } } function useInitialOpenSync(store, openProp, defaultOpen, defaultTriggerId) { useOnFirstRender(() => { if (openProp === void 0 && store.state.open === false && defaultOpen) { store.state = { ...store.state, open: true, activeTriggerId: defaultTriggerId, preventUnmountingOnClose: false }; } }); } function useTriggerDataForwarding(triggerId, triggerElementRef, store, stateUpdates) { const isMountedByThisTrigger = store.useState("isMountedByTrigger", triggerId); const baseRegisterTrigger = useTriggerRegistration(triggerId, store); const registerTrigger = useStableCallback((element) => { baseRegisterTrigger(element); if (!element) { return; } const open = store.select("open"); const activeTriggerId = store.select("activeTriggerId"); if (activeTriggerId === triggerId) { store.update({ activeTriggerElement: element, ...open ? stateUpdates : null }); return; } if (activeTriggerId == null && open) { store.update({ activeTriggerId: triggerId, activeTriggerElement: element, ...stateUpdates }); } }); useIsoLayoutEffect(() => { if (isMountedByThisTrigger) { store.update({ activeTriggerElement: triggerElementRef.current, ...stateUpdates }); } }, [isMountedByThisTrigger, store, triggerElementRef, ...Object.values(stateUpdates)]); return { registerTrigger, isMountedByThisTrigger }; } function useImplicitActiveTrigger(store, options = {}) { const { closeOnActiveTriggerUnmount = false } = options; const open = store.useState("open"); const reactiveTriggerCount = store.useState("triggerCount"); useIsoLayoutEffect(() => { if (!open) { if (store.state.triggerCount !== 0) { store.set("triggerCount", 0); } return; } const triggerCount = store.context.triggerElements.size; const stateUpdates = {}; if (store.state.triggerCount !== triggerCount) { stateUpdates.triggerCount = triggerCount; } const activeTriggerId = store.select("activeTriggerId"); let lostActiveTriggerId = null; if (activeTriggerId) { const activeTriggerElement = store.context.triggerElements.getById(activeTriggerId); if (!activeTriggerElement) { lostActiveTriggerId = activeTriggerId; } else if (activeTriggerElement !== store.state.activeTriggerElement) { stateUpdates.activeTriggerElement = activeTriggerElement; } } if (!lostActiveTriggerId && !activeTriggerId && triggerCount === 1) { const iteratorResult = store.context.triggerElements.entries().next(); if (!iteratorResult.done) { const [implicitTriggerId, implicitTriggerElement] = iteratorResult.value; stateUpdates.activeTriggerId = implicitTriggerId; stateUpdates.activeTriggerElement = implicitTriggerElement; } } if (stateUpdates.triggerCount !== void 0 || stateUpdates.activeTriggerId !== void 0 || stateUpdates.activeTriggerElement !== void 0) { store.update(stateUpdates); } if (lostActiveTriggerId) { if (closeOnActiveTriggerUnmount) { queueMicrotask(() => { if (store.select("open") && store.select("activeTriggerId") === lostActiveTriggerId && !store.context.triggerElements.getById(lostActiveTriggerId)) { const eventDetails = createChangeEventDetails(reason_parts_exports.none); store.setOpen(false, eventDetails); if (!eventDetails.isCanceled) { store.update({ activeTriggerId: null, activeTriggerElement: null }); } } }); } } }, [open, store, reactiveTriggerCount, closeOnActiveTriggerUnmount]); } function useOpenStateTransitions(open, store, onUnmount) { const { mounted, setMounted, transitionStatus } = useTransitionStatus(open); const preventUnmountingOnClose = store.useState("preventUnmountingOnClose"); const syncedPreventUnmountingOnClose = open ? false : preventUnmountingOnClose; store.useSyncedValues({ mounted, transitionStatus, preventUnmountingOnClose: syncedPreventUnmountingOnClose }); const forceUnmount = useStableCallback(() => { setMounted(false); store.update({ activeTriggerId: null, activeTriggerElement: null, mounted: false, preventUnmountingOnClose: false }); onUnmount?.(); store.context.onOpenChangeComplete?.(false); }); useOpenChangeComplete({ enabled: mounted && !open && !syncedPreventUnmountingOnClose, open, ref: store.context.popupRef, onComplete() { if (!open) { forceUnmount(); } } }); return { forceUnmount, transitionStatus }; } function usePopupInteractionProps(store, statePart) { store.useSyncedValues(statePart); useIsoLayoutEffect(() => () => { store.update({ activeTriggerProps: EMPTY_OBJECT, inactiveTriggerProps: EMPTY_OBJECT, popupProps: EMPTY_OBJECT }); }, [store]); } // node_modules/@base-ui/react/utils/popups/popupTriggerMap.mjs var PopupTriggerMap = class { constructor() { this.elementsSet = /* @__PURE__ */ new Set(); this.idMap = /* @__PURE__ */ new Map(); } /** * Adds a trigger element with the given ID. * * Note: The provided element is assumed to not be registered under multiple IDs. */ add(id, element) { const existingElement = this.idMap.get(id); if (existingElement === element) { return; } if (existingElement !== void 0) { this.elementsSet.delete(existingElement); } this.elementsSet.add(element); this.idMap.set(id, element); if (true) { if (this.elementsSet.size !== this.idMap.size) { throw new Error("Base UI: A trigger element cannot be registered under multiple IDs in PopupTriggerMap."); } } } /** * Removes the trigger element with the given ID. */ delete(id) { const element = this.idMap.get(id); if (element) { this.elementsSet.delete(element); this.idMap.delete(id); } } /** * Whether the given element is registered as a trigger. */ hasElement(element) { return this.elementsSet.has(element); } /** * Whether there is a registered trigger element matching the given predicate. */ hasMatchingElement(predicate) { for (const element of this.elementsSet) { if (predicate(element)) { return true; } } return false; } /** * Returns the trigger element associated with the given ID, or undefined if no such element exists. */ getById(id) { return this.idMap.get(id); } /** * Returns an iterable of all registered trigger entries, where each entry is a tuple of [id, element]. */ entries() { return this.idMap.entries(); } /** * Returns an iterable of all registered trigger elements. */ elements() { return this.elementsSet.values(); } /** * Returns the number of registered trigger elements. */ get size() { return this.idMap.size; } }; // node_modules/@base-ui/react/floating-ui-react/utils/getEmptyRootContext.mjs function getEmptyRootContext() { return new FloatingRootStore({ open: false, transitionStatus: void 0, floatingElement: null, referenceElement: null, triggerElements: new PopupTriggerMap(), floatingId: void 0, syncOnly: false, nested: false, onOpenChange: void 0 }); } // node_modules/@base-ui/react/utils/popups/store.mjs function createInitialPopupStoreState() { return { open: false, openProp: void 0, mounted: false, transitionStatus: void 0, floatingRootContext: getEmptyRootContext(), floatingId: void 0, triggerCount: 0, preventUnmountingOnClose: false, payload: void 0, activeTriggerId: null, activeTriggerElement: null, triggerIdProp: void 0, popupElement: null, positionerElement: null, activeTriggerProps: EMPTY_OBJECT, inactiveTriggerProps: EMPTY_OBJECT, popupProps: EMPTY_OBJECT }; } function createPopupFloatingRootContext(triggerElements, floatingId, nested = false) { return new FloatingRootStore({ open: false, transitionStatus: void 0, floatingElement: null, referenceElement: null, triggerElements, floatingId, syncOnly: true, nested, onOpenChange: void 0 }); } var activeTriggerIdSelector = createSelector((state) => state.triggerIdProp ?? state.activeTriggerId); var openSelector = createSelector((state) => state.openProp ?? state.open); var popupIdSelector = createSelector((state) => { const popupId = state.popupElement?.id ?? state.floatingId; return popupId || void 0; }); function triggerOwnsOpenPopup(state, triggerId) { return triggerId !== void 0 && openSelector(state) && activeTriggerIdSelector(state) === triggerId; } function triggerOwnsOpenPopupOrIsOnlyTrigger(state, triggerId) { if (triggerOwnsOpenPopup(state, triggerId)) { return true; } return triggerId !== void 0 && openSelector(state) && activeTriggerIdSelector(state) == null && state.triggerCount === 1; } var popupStoreSelectors = { open: openSelector, mounted: createSelector((state) => state.mounted), transitionStatus: createSelector((state) => state.transitionStatus), floatingRootContext: createSelector((state) => state.floatingRootContext), triggerCount: createSelector((state) => state.triggerCount), preventUnmountingOnClose: createSelector((state) => state.preventUnmountingOnClose), payload: createSelector((state) => state.payload), activeTriggerId: activeTriggerIdSelector, activeTriggerElement: createSelector((state) => state.mounted ? state.activeTriggerElement : null), popupId: popupIdSelector, /** * Whether the trigger with the given ID was used to open the popup. */ isTriggerActive: createSelector((state, triggerId) => triggerId !== void 0 && activeTriggerIdSelector(state) === triggerId), /** * Whether the popup is open and was activated by a trigger with the given ID. */ isOpenedByTrigger: createSelector((state, triggerId) => triggerOwnsOpenPopup(state, triggerId)), /** * Whether the popup is mounted and was activated by a trigger with the given ID. */ isMountedByTrigger: createSelector((state, triggerId) => triggerId !== void 0 && activeTriggerIdSelector(state) === triggerId && state.mounted), triggerProps: createSelector((state, isActive) => isActive ? state.activeTriggerProps : state.inactiveTriggerProps), /** * Popup id for the trigger that currently owns the open popup. */ triggerPopupId: createSelector((state, triggerId) => triggerOwnsOpenPopupOrIsOnlyTrigger(state, triggerId) ? popupIdSelector(state) : void 0), popupProps: createSelector((state) => state.popupProps), popupElement: createSelector((state) => state.popupElement), positionerElement: createSelector((state) => state.positionerElement) }; // node_modules/@base-ui/react/floating-ui-react/hooks/useFloatingRootContext.mjs function useFloatingRootContext(options) { const { open = false, onOpenChange, elements: elements2 = {} } = options; const floatingId = useId(); const nested = useFloatingParentNodeId() != null; if (true) { const optionDomReference = elements2.reference; if (optionDomReference && !isElement(optionDomReference)) { console.error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `context.setPositionReference()`", "instead."); } } const store = useRefWithInit(() => new FloatingRootStore({ open, transitionStatus: void 0, onOpenChange, referenceElement: elements2.reference ?? null, floatingElement: elements2.floating ?? null, triggerElements: new PopupTriggerMap(), floatingId, syncOnly: false, nested })).current; useIsoLayoutEffect(() => { const valuesToSync = { open, floatingId }; if (elements2.reference !== void 0) { valuesToSync.referenceElement = elements2.reference; valuesToSync.domReferenceElement = isElement(elements2.reference) ? elements2.reference : null; } if (elements2.floating !== void 0) { valuesToSync.floatingElement = elements2.floating; } store.update(valuesToSync); }, [open, floatingId, elements2.reference, elements2.floating, store]); store.context.onOpenChange = onOpenChange; store.context.nested = nested; return store; } // node_modules/@base-ui/react/floating-ui-react/hooks/useFloating.mjs function useFloating2(options = {}) { const { nodeId, externalTree } = options; const internalStore = useFloatingRootContext(options); const store = options.rootContext || internalStore; const referenceElement = store.useState("referenceElement"); const floatingElement = store.useState("floatingElement"); const domReferenceElement = store.useState("domReferenceElement"); const open = store.useState("open"); const floatingId = store.useState("floatingId"); const [positionReference, setPositionReferenceRaw] = React26.useState(null); const [localDomReference, setLocalDomReference] = React26.useState(void 0); const [localFloatingElement, setLocalFloatingElement] = React26.useState(void 0); const domReferenceRef = React26.useRef(null); const tree = useFloatingTree(externalTree); const storeElements = React26.useMemo(() => ({ reference: referenceElement, floating: floatingElement, domReference: domReferenceElement }), [referenceElement, floatingElement, domReferenceElement]); const position = useFloating({ ...options, elements: { ...storeElements, ...positionReference && { reference: positionReference } } }); const localDomReferenceElement = isElement(localDomReference) ? localDomReference : null; const syncedFloatingElement = localFloatingElement === void 0 ? store.state.floatingElement : localFloatingElement; store.useSyncedValue("referenceElement", localDomReference ?? null); store.useSyncedValue("domReferenceElement", localDomReference === void 0 ? domReferenceElement : localDomReferenceElement); store.useSyncedValue("floatingElement", syncedFloatingElement); const setPositionReference = React26.useCallback((node) => { const computedPositionReference = isElement(node) ? { getBoundingClientRect: () => node.getBoundingClientRect(), getClientRects: () => node.getClientRects(), contextElement: node } : node; setPositionReferenceRaw(computedPositionReference); position.refs.setReference(computedPositionReference); }, [position.refs]); const setReference = React26.useCallback((node) => { if (isElement(node) || node === null) { domReferenceRef.current = node; setLocalDomReference(node); } if (isElement(position.refs.reference.current) || position.refs.reference.current === null || // Don't allow setting virtual elements using the old technique back to // `null` to support `positionReference` + an unstable `reference` // callback ref. node !== null && !isElement(node)) { position.refs.setReference(node); } }, [position.refs, setLocalDomReference]); const setFloating = React26.useCallback((node) => { setLocalFloatingElement(node); position.refs.setFloating(node); }, [position.refs]); const refs = React26.useMemo(() => ({ ...position.refs, setReference, setFloating, setPositionReference, domReference: domReferenceRef }), [position.refs, setReference, setFloating, setPositionReference]); const elements2 = React26.useMemo(() => ({ ...position.elements, domReference: domReferenceElement }), [position.elements, domReferenceElement]); const context = React26.useMemo(() => ({ ...position, dataRef: store.context.dataRef, open, onOpenChange: store.setOpen, events: store.context.events, floatingId, refs, elements: elements2, nodeId, rootStore: store }), [position, refs, elements2, nodeId, store, open, floatingId]); useIsoLayoutEffect(() => { if (domReferenceElement) { domReferenceRef.current = domReferenceElement; } }, [domReferenceElement]); useIsoLayoutEffect(() => { store.context.dataRef.current.floatingContext = context; const node = tree?.nodesRef.current.find((n2) => n2.id === nodeId); if (node) { node.context = context; } }); return React26.useMemo(() => ({ ...position, context, refs, elements: elements2, rootStore: store }), [position, refs, elements2, context, store]); } // node_modules/@base-ui/react/floating-ui-react/hooks/useFocus.mjs var React27 = __toESM(require_react(), 1); var isMacSafari = parts_exports.os.mac && parts_exports.engine.webkit; function useFocus(context, props = {}) { const { enabled = true, delay } = props; const store = "rootStore" in context ? context.rootStore : context; const { events, dataRef } = store.context; const blockFocusRef = React27.useRef(false); const blockedReferenceRef = React27.useRef(null); const keyboardModalityRef = React27.useRef(true); const timeout = useTimeout(); React27.useEffect(() => { const domReference = store.select("domReferenceElement"); if (!enabled) { return void 0; } const win = getWindow(domReference); function onBlur() { const currentDomReference = store.select("domReferenceElement"); if (!store.select("open") && isHTMLElement(currentDomReference) && currentDomReference === activeElement(ownerDocument(currentDomReference))) { blockFocusRef.current = true; } } function onKeyDown() { keyboardModalityRef.current = true; } function onPointerDown() { keyboardModalityRef.current = false; } return mergeCleanups(addEventListener(win, "blur", onBlur), isMacSafari && addEventListener(win, "keydown", onKeyDown, true), isMacSafari && addEventListener(win, "pointerdown", onPointerDown, true)); }, [store, enabled]); React27.useEffect(() => { if (!enabled) { return void 0; } function onOpenChangeLocal(details) { if (details.reason === reason_parts_exports.triggerPress || details.reason === reason_parts_exports.escapeKey) { const referenceElement = store.select("domReferenceElement"); if (isElement(referenceElement)) { blockedReferenceRef.current = referenceElement; blockFocusRef.current = true; } } } events.on("openchange", onOpenChangeLocal); return () => { events.off("openchange", onOpenChangeLocal); }; }, [events, enabled, store]); const reference = React27.useMemo(() => { function resetBlockedFocus() { blockFocusRef.current = false; blockedReferenceRef.current = null; } return { onMouseLeave() { resetBlockedFocus(); }, onFocus(event) { const focusTarget = event.currentTarget; if (blockFocusRef.current) { if (blockedReferenceRef.current === focusTarget) { return; } resetBlockedFocus(); } const target = getTarget(event.nativeEvent); if (isElement(target)) { if (isMacSafari && !event.relatedTarget) { if (!keyboardModalityRef.current && !isTypeableElement(target)) { return; } } else if (!matchesFocusVisible(target)) { return; } } const movedFromOtherEnabledTrigger = isTargetInsideEnabledTrigger(event.relatedTarget, store.context.triggerElements); const { nativeEvent, currentTarget } = event; const delayValue = typeof delay === "function" ? delay() : delay; if (store.select("open") && movedFromOtherEnabledTrigger || delayValue === 0 || delayValue === void 0) { store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent, currentTarget)); return; } timeout.start(delayValue, () => { if (blockFocusRef.current) { return; } store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent, currentTarget)); }); }, onBlur(event) { resetBlockedFocus(); const relatedTarget = event.relatedTarget; const nativeEvent = event.nativeEvent; const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute("focus-guard")) && relatedTarget.getAttribute("data-type") === "outside"; timeout.start(0, () => { const domReference = store.select("domReferenceElement"); const activeEl = activeElement(ownerDocument(domReference)); if (!relatedTarget && activeEl === domReference) { return; } if (contains(dataRef.current.floatingContext?.refs.floating.current, activeEl) || contains(domReference, activeEl) || movedToFocusGuard) { return; } const nextFocusedElement = relatedTarget ?? activeEl; if (isTargetInsideEnabledTrigger(nextFocusedElement, store.context.triggerElements)) { return; } store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent)); }); } }; }, [dataRef, delay, store, timeout]); return React27.useMemo(() => enabled ? { reference, trigger: reference } : {}, [enabled, reference]); } // node_modules/@base-ui/react/floating-ui-react/hooks/useHoverFloatingInteraction.mjs var React28 = __toESM(require_react(), 1); // node_modules/@base-ui/react/floating-ui-react/hooks/useHoverInteractionSharedState.mjs var HoverInteraction = class _HoverInteraction { constructor() { this.pointerType = void 0; this.interactedInside = false; this.handler = void 0; this.blockMouseMove = true; this.performedPointerEventsMutation = false; this.pointerEventsScopeElement = null; this.pointerEventsReferenceElement = null; this.pointerEventsFloatingElement = null; this.restTimeoutPending = false; this.openChangeTimeout = new Timeout(); this.restTimeout = new Timeout(); this.handleCloseOptions = void 0; } static create() { return new _HoverInteraction(); } dispose = () => { this.openChangeTimeout.clear(); this.restTimeout.clear(); }; disposeEffect = () => { return this.dispose; }; }; var pointerEventsMutationOwnerByScopeElement = /* @__PURE__ */ new WeakMap(); function clearSafePolygonPointerEventsMutation(instance) { if (!instance.performedPointerEventsMutation) { return; } const scopeElement = instance.pointerEventsScopeElement; if (scopeElement && pointerEventsMutationOwnerByScopeElement.get(scopeElement) === instance) { instance.pointerEventsScopeElement?.style.removeProperty("pointer-events"); instance.pointerEventsReferenceElement?.style.removeProperty("pointer-events"); instance.pointerEventsFloatingElement?.style.removeProperty("pointer-events"); pointerEventsMutationOwnerByScopeElement.delete(scopeElement); } instance.performedPointerEventsMutation = false; instance.pointerEventsScopeElement = null; instance.pointerEventsReferenceElement = null; instance.pointerEventsFloatingElement = null; } function applySafePolygonPointerEventsMutation(instance, options) { const { scopeElement, referenceElement, floatingElement } = options; const existingOwner = pointerEventsMutationOwnerByScopeElement.get(scopeElement); if (existingOwner && existingOwner !== instance) { clearSafePolygonPointerEventsMutation(existingOwner); } clearSafePolygonPointerEventsMutation(instance); instance.performedPointerEventsMutation = true; instance.pointerEventsScopeElement = scopeElement; instance.pointerEventsReferenceElement = referenceElement; instance.pointerEventsFloatingElement = floatingElement; pointerEventsMutationOwnerByScopeElement.set(scopeElement, instance); scopeElement.style.pointerEvents = "none"; referenceElement.style.pointerEvents = "auto"; floatingElement.style.pointerEvents = "auto"; } function useHoverInteractionSharedState(store) { const data = store.context.dataRef.current; const instance = useRefWithInit(() => data.hoverInteractionState ?? HoverInteraction.create()).current; if (!data.hoverInteractionState) { data.hoverInteractionState = instance; } useOnMount(data.hoverInteractionState.disposeEffect); return data.hoverInteractionState; } // node_modules/@base-ui/react/floating-ui-react/hooks/useHoverFloatingInteraction.mjs function useHoverFloatingInteraction(context, parameters = {}) { const { enabled = true, closeDelay: closeDelayProp = 0, nodeId: nodeIdProp } = parameters; const store = "rootStore" in context ? context.rootStore : context; const open = store.useState("open"); const floatingElement = store.useState("floatingElement"); const domReferenceElement = store.useState("domReferenceElement"); const { dataRef } = store.context; const tree = useFloatingTree(); const parentId = useFloatingParentNodeId(); const instance = useHoverInteractionSharedState(store); const childClosedTimeout = useTimeout(); const isClickLikeOpenEvent2 = useStableCallback(() => { return isClickLikeOpenEvent(dataRef.current.openEvent?.type, instance.interactedInside); }); const isHoverOpen = useStableCallback(() => { return isHoverOpenEvent(dataRef.current.openEvent?.type); }); const clearPointerEvents = useStableCallback(() => { clearSafePolygonPointerEventsMutation(instance); }); useIsoLayoutEffect(() => { if (!open) { instance.pointerType = void 0; instance.restTimeoutPending = false; instance.interactedInside = false; clearPointerEvents(); } }, [open, instance, clearPointerEvents]); React28.useEffect(() => { return clearPointerEvents; }, [clearPointerEvents]); useIsoLayoutEffect(() => { if (!enabled) { return void 0; } if (open && instance.handleCloseOptions?.blockPointerEvents && isHoverOpen() && isElement(domReferenceElement) && floatingElement) { const ref = domReferenceElement; const floatingEl = floatingElement; const doc = ownerDocument(floatingElement); const parentFloating = tree?.nodesRef.current.find((node) => node.id === parentId)?.context?.elements.floating; if (parentFloating) { parentFloating.style.pointerEvents = ""; } const cachedScopeElement = instance.pointerEventsScopeElement !== floatingEl ? instance.pointerEventsScopeElement : null; const parentScopeElement = parentFloating !== floatingEl ? parentFloating : null; const scopeElement = instance.handleCloseOptions?.getScope?.() ?? cachedScopeElement ?? parentScopeElement ?? ref.closest("[data-rootownerid]") ?? doc.body; applySafePolygonPointerEventsMutation(instance, { scopeElement, referenceElement: ref, floatingElement: floatingEl }); return () => { clearPointerEvents(); }; } return void 0; }, [enabled, open, domReferenceElement, floatingElement, instance, isHoverOpen, tree, parentId, clearPointerEvents]); React28.useEffect(() => { if (!enabled) { return void 0; } function hasParentChildren() { return !!(tree && parentId && getNodeChildren(tree.nodesRef.current, parentId).length > 0); } function closeWithDelay(event) { const closeDelay = getDelay(closeDelayProp, "close", instance.pointerType); const close = () => { store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event)); tree?.events.emit("floating.closed", event); }; if (closeDelay) { instance.openChangeTimeout.start(closeDelay, close); } else { instance.openChangeTimeout.clear(); close(); } } function handleInteractInside(event) { const target = getTarget(event); if (!isInteractiveElement(target)) { instance.interactedInside = false; return; } instance.interactedInside = target?.closest("[aria-haspopup]") != null; } function onFloatingMouseEnter() { instance.openChangeTimeout.clear(); childClosedTimeout.clear(); tree?.events.off("floating.closed", onNodeClosed); clearPointerEvents(); } function onFloatingMouseLeave(event) { if (hasParentChildren() && tree) { tree.events.on("floating.closed", onNodeClosed); return; } if (isTargetInsideEnabledTrigger(event.relatedTarget, store.context.triggerElements)) { return; } const currentNodeId = dataRef.current.floatingContext?.nodeId ?? nodeIdProp; const relatedTarget = event.relatedTarget; const isMovingIntoDescendantFloating = tree && currentNodeId && isElement(relatedTarget) && getNodeChildren(tree.nodesRef.current, currentNodeId, false).some((node) => contains(node.context?.elements.floating, relatedTarget)); if (isMovingIntoDescendantFloating) { return; } if (instance.handler) { instance.handler(event); return; } clearPointerEvents(); if (isHoverOpen() && !isClickLikeOpenEvent2()) { closeWithDelay(event); } } function onNodeClosed(event) { if (!tree || !parentId || hasParentChildren()) { return; } childClosedTimeout.start(0, () => { tree.events.off("floating.closed", onNodeClosed); store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event)); tree.events.emit("floating.closed", event); }); } const floating = floatingElement; return mergeCleanups(floating && addEventListener(floating, "mouseenter", onFloatingMouseEnter), floating && addEventListener(floating, "mouseleave", onFloatingMouseLeave), floating && addEventListener(floating, "pointerdown", handleInteractInside, true), () => { tree?.events.off("floating.closed", onNodeClosed); }); }, [enabled, floatingElement, store, dataRef, closeDelayProp, nodeIdProp, isHoverOpen, isClickLikeOpenEvent2, clearPointerEvents, instance, tree, parentId, childClosedTimeout]); } // node_modules/@base-ui/react/floating-ui-react/hooks/useHoverReferenceInteraction.mjs var React29 = __toESM(require_react(), 1); var ReactDOM5 = __toESM(require_react_dom(), 1); var EMPTY_REF = { current: null }; function useHoverReferenceInteraction(context, props = {}) { const { enabled = true, delay = 0, handleClose = null, mouseOnly = false, restMs = 0, move = true, triggerElementRef = EMPTY_REF, externalTree, isActiveTrigger = true, getHandleCloseContext, isClosing, shouldOpen: shouldOpenProp } = props; const store = "rootStore" in context ? context.rootStore : context; const { dataRef, events } = store.context; const tree = useFloatingTree(externalTree); const instance = useHoverInteractionSharedState(store); const isHoverCloseActiveRef = React29.useRef(false); const handleCloseRef = useValueAsRef(handleClose); const delayRef = useValueAsRef(delay); const restMsRef = useValueAsRef(restMs); const enabledRef = useValueAsRef(enabled); const shouldOpenRef = useValueAsRef(shouldOpenProp); const isClosingRef = useValueAsRef(isClosing); const isClickLikeOpenEvent2 = useStableCallback(() => { return isClickLikeOpenEvent(dataRef.current.openEvent?.type, instance.interactedInside); }); const checkShouldOpen = useStableCallback(() => { return shouldOpenRef.current?.() !== false; }); const isOverInactiveTrigger = useStableCallback((currentDomReference, currentTarget, target) => { const allTriggers = store.context.triggerElements; if (allTriggers.hasElement(currentTarget)) { return !currentDomReference || !contains(currentDomReference, currentTarget); } if (!isElement(target)) { return false; } const targetElement = target; return allTriggers.hasMatchingElement((trigger) => contains(trigger, targetElement)) && (!currentDomReference || !contains(currentDomReference, targetElement)); }); const cleanupMouseMoveHandler = useStableCallback(() => { if (!instance.handler) { return; } const doc = ownerDocument(store.select("domReferenceElement")); doc.removeEventListener("mousemove", instance.handler); instance.handler = void 0; }); const clearPointerEvents = useStableCallback(() => { clearSafePolygonPointerEventsMutation(instance); }); if (isActiveTrigger) { instance.handleCloseOptions = handleCloseRef.current?.__options; } React29.useEffect(() => cleanupMouseMoveHandler, [cleanupMouseMoveHandler]); React29.useEffect(() => { if (!enabled) { return void 0; } function onOpenChangeLocal(details) { if (!details.open) { isHoverCloseActiveRef.current = details.reason === reason_parts_exports.triggerHover; cleanupMouseMoveHandler(); instance.openChangeTimeout.clear(); instance.restTimeout.clear(); instance.blockMouseMove = true; instance.restTimeoutPending = false; } else { isHoverCloseActiveRef.current = false; } } events.on("openchange", onOpenChangeLocal); return () => { events.off("openchange", onOpenChangeLocal); }; }, [enabled, events, instance, cleanupMouseMoveHandler]); React29.useEffect(() => { if (!enabled) { return void 0; } function closeWithDelay(event, runElseBranch = true) { const closeDelay = getDelay(delayRef.current, "close", instance.pointerType); if (closeDelay) { instance.openChangeTimeout.start(closeDelay, () => { store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event)); tree?.events.emit("floating.closed", event); }); } else if (runElseBranch) { instance.openChangeTimeout.clear(); store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event)); tree?.events.emit("floating.closed", event); } } const trigger = triggerElementRef.current ?? (isActiveTrigger ? store.select("domReferenceElement") : null); if (!isElement(trigger)) { return void 0; } function onMouseEnter(event) { instance.openChangeTimeout.clear(); instance.blockMouseMove = false; if (mouseOnly && !isMouseLikePointerType(instance.pointerType)) { return; } const restMsValue = getRestMs(restMsRef.current); const openDelay = getDelay(delayRef.current, "open", instance.pointerType); const eventTarget = getTarget(event); const currentTarget = event.currentTarget ?? null; const currentDomReference = store.select("domReferenceElement"); let triggerNode = currentTarget; if (isElement(eventTarget) && !store.context.triggerElements.hasElement(eventTarget)) { for (const triggerElement of store.context.triggerElements.elements()) { if (contains(triggerElement, eventTarget)) { triggerNode = triggerElement; break; } } } if (isElement(currentTarget) && isElement(currentDomReference) && !store.context.triggerElements.hasElement(currentTarget) && contains(currentTarget, currentDomReference)) { triggerNode = currentDomReference; } const isOverInactive = triggerNode == null ? false : isOverInactiveTrigger(currentDomReference, triggerNode, eventTarget); const isOpen = store.select("open"); const isInClosingTransition = isClosingRef.current?.() ?? store.select("transitionStatus") === "ending"; const isHoverCloseTransition = !isOpen && isInClosingTransition && isHoverCloseActiveRef.current; const isReenteringSameTriggerDuringCloseTransition = !isOverInactive && isElement(triggerNode) && isElement(currentDomReference) && contains(currentDomReference, triggerNode) && isHoverCloseTransition; const isRestOnlyDelay = restMsValue > 0 && !openDelay; const shouldOpenImmediately = isOverInactive && (isOpen || isHoverCloseTransition) || isReenteringSameTriggerDuringCloseTransition; const shouldOpen = !isOpen || isOverInactive; if (shouldOpenImmediately) { if (checkShouldOpen()) { store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode)); } return; } if (isRestOnlyDelay) { return; } if (openDelay) { instance.openChangeTimeout.start(openDelay, () => { if (shouldOpen && checkShouldOpen()) { store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode)); } }); } else if (shouldOpen) { if (checkShouldOpen()) { store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode)); } } } function onMouseLeave(event) { if (isClickLikeOpenEvent2()) { clearPointerEvents(); return; } cleanupMouseMoveHandler(); const domReferenceElement = store.select("domReferenceElement"); const doc = ownerDocument(domReferenceElement); instance.restTimeout.clear(); instance.restTimeoutPending = false; const handleCloseContextBase = dataRef.current.floatingContext ?? getHandleCloseContext?.(); if (isTargetInsideEnabledTrigger(event.relatedTarget, store.context.triggerElements)) { return; } if (handleCloseRef.current && handleCloseContextBase) { if (!store.select("open")) { instance.openChangeTimeout.clear(); } const currentTrigger = triggerElementRef.current; instance.handler = handleCloseRef.current({ ...handleCloseContextBase, tree, x: event.clientX, y: event.clientY, onClose() { clearPointerEvents(); cleanupMouseMoveHandler(); if (enabledRef.current && !isClickLikeOpenEvent2() && currentTrigger === store.select("domReferenceElement")) { closeWithDelay(event, true); } } }); doc.addEventListener("mousemove", instance.handler); instance.handler(event); return; } const shouldClose = instance.pointerType === "touch" ? !contains(store.select("floatingElement"), event.relatedTarget) : true; if (shouldClose) { closeWithDelay(event); } } if (move) { return mergeCleanups(addEventListener(trigger, "mousemove", onMouseEnter, { once: true }), addEventListener(trigger, "mouseenter", onMouseEnter), addEventListener(trigger, "mouseleave", onMouseLeave)); } return mergeCleanups(addEventListener(trigger, "mouseenter", onMouseEnter), addEventListener(trigger, "mouseleave", onMouseLeave)); }, [cleanupMouseMoveHandler, clearPointerEvents, dataRef, delayRef, store, enabled, handleCloseRef, instance, isActiveTrigger, isOverInactiveTrigger, isClickLikeOpenEvent2, mouseOnly, move, restMsRef, triggerElementRef, tree, enabledRef, getHandleCloseContext, isClosingRef, checkShouldOpen]); return React29.useMemo(() => { if (!enabled) { return void 0; } function setPointerRef(event) { instance.pointerType = event.pointerType; } return { onPointerDown: setPointerRef, onPointerEnter: setPointerRef, onMouseMove(event) { const { nativeEvent } = event; const trigger = event.currentTarget; const currentDomReference = store.select("domReferenceElement"); const currentOpen = store.select("open"); const isOverInactive = isOverInactiveTrigger(currentDomReference, trigger, event.target); if (mouseOnly && !isMouseLikePointerType(instance.pointerType)) { return; } if (currentOpen && isOverInactive && instance.handleCloseOptions?.blockPointerEvents) { const floatingElement = store.select("floatingElement"); if (floatingElement) { const scopeElement = instance.handleCloseOptions?.getScope?.() ?? trigger.ownerDocument.body; applySafePolygonPointerEventsMutation(instance, { scopeElement, referenceElement: trigger, floatingElement }); } } const restMsValue = getRestMs(restMsRef.current); if (currentOpen && !isOverInactive || restMsValue === 0) { return; } if (!isOverInactive && instance.restTimeoutPending && event.movementX ** 2 + event.movementY ** 2 < 2) { return; } instance.restTimeout.clear(); function handleMouseMove() { instance.restTimeoutPending = false; if (isClickLikeOpenEvent2()) { return; } const latestOpen = store.select("open"); if (!instance.blockMouseMove && (!latestOpen || isOverInactive) && checkShouldOpen()) { store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, nativeEvent, trigger)); } } if (instance.pointerType === "touch") { ReactDOM5.flushSync(() => { handleMouseMove(); }); } else if (isOverInactive && currentOpen) { handleMouseMove(); } else { instance.restTimeoutPending = true; instance.restTimeout.start(restMsValue, handleMouseMove); } } }; }, [enabled, instance, isClickLikeOpenEvent2, isOverInactiveTrigger, mouseOnly, store, restMsRef, checkShouldOpen]); } // node_modules/@base-ui/react/floating-ui-react/safePolygon.mjs var CURSOR_SPEED_THRESHOLD = 0.1; var CURSOR_SPEED_THRESHOLD_SQUARED = CURSOR_SPEED_THRESHOLD * CURSOR_SPEED_THRESHOLD; var POLYGON_BUFFER = 0.5; function hasIntersectingEdge(pointX, pointY, xi, yi, xj, yj) { return yi >= pointY !== yj >= pointY && pointX <= (xj - xi) * (pointY - yi) / (yj - yi) + xi; } function isPointInQuadrilateral(pointX, pointY, x1, y1, x2, y2, x3, y3, x4, y4) { let isInsideValue = false; if (hasIntersectingEdge(pointX, pointY, x1, y1, x2, y2)) { isInsideValue = !isInsideValue; } if (hasIntersectingEdge(pointX, pointY, x2, y2, x3, y3)) { isInsideValue = !isInsideValue; } if (hasIntersectingEdge(pointX, pointY, x3, y3, x4, y4)) { isInsideValue = !isInsideValue; } if (hasIntersectingEdge(pointX, pointY, x4, y4, x1, y1)) { isInsideValue = !isInsideValue; } return isInsideValue; } function isInsideRect(pointX, pointY, rect) { return pointX >= rect.x && pointX <= rect.x + rect.width && pointY >= rect.y && pointY <= rect.y + rect.height; } function isInsideAxisAlignedRect(pointX, pointY, x1, y1, x2, y2) { const minX = Math.min(x1, x2); const maxX = Math.max(x1, x2); const minY = Math.min(y1, y2); const maxY = Math.max(y1, y2); return pointX >= minX && pointX <= maxX && pointY >= minY && pointY <= maxY; } function safePolygon(options = {}) { const { blockPointerEvents = false } = options; const timeout = new Timeout(); const fn = ({ x: x2, y: y2, placement, elements: elements2, onClose, nodeId, tree }) => { const side = placement?.split("-")[0]; let hasLanded = false; let lastX = null; let lastY = null; let lastCursorTime = typeof performance !== "undefined" ? performance.now() : 0; function isCursorMovingSlowly(nextX, nextY) { const currentTime = performance.now(); const elapsedTime = currentTime - lastCursorTime; if (lastX === null || lastY === null || elapsedTime === 0) { lastX = nextX; lastY = nextY; lastCursorTime = currentTime; return false; } const deltaX = nextX - lastX; const deltaY = nextY - lastY; const distanceSquared = deltaX * deltaX + deltaY * deltaY; const thresholdSquared = elapsedTime * elapsedTime * CURSOR_SPEED_THRESHOLD_SQUARED; lastX = nextX; lastY = nextY; lastCursorTime = currentTime; return distanceSquared < thresholdSquared; } function close() { timeout.clear(); onClose(); } return function onMouseMove(event) { timeout.clear(); const domReference = elements2.domReference; const floating = elements2.floating; if (!domReference || !floating || side == null || x2 == null || y2 == null) { return void 0; } const { clientX, clientY } = event; const target = getTarget(event); const isLeave = event.type === "mouseleave"; const isOverFloatingEl = contains(floating, target); const isOverReferenceEl = contains(domReference, target); if (isOverFloatingEl) { hasLanded = true; if (!isLeave) { return void 0; } } if (isOverReferenceEl) { hasLanded = false; if (!isLeave) { hasLanded = true; return void 0; } } if (isLeave && isElement(event.relatedTarget) && contains(floating, event.relatedTarget)) { return void 0; } function hasOpenChildNode() { return Boolean(tree && getNodeChildren(tree.nodesRef.current, nodeId).length > 0); } function closeIfNoOpenChild() { if (!hasOpenChildNode()) { close(); } } if (hasOpenChildNode()) { return void 0; } const refRect = domReference.getBoundingClientRect(); const rect = floating.getBoundingClientRect(); const cursorLeaveFromRight = x2 > rect.right - rect.width / 2; const cursorLeaveFromBottom = y2 > rect.bottom - rect.height / 2; const isFloatingWider = rect.width > refRect.width; const isFloatingTaller = rect.height > refRect.height; const left = (isFloatingWider ? refRect : rect).left; const right = (isFloatingWider ? refRect : rect).right; const top = (isFloatingTaller ? refRect : rect).top; const bottom = (isFloatingTaller ? refRect : rect).bottom; if (side === "top" && y2 >= refRect.bottom - 1 || side === "bottom" && y2 <= refRect.top + 1 || side === "left" && x2 >= refRect.right - 1 || side === "right" && x2 <= refRect.left + 1) { closeIfNoOpenChild(); return void 0; } let isInsideTroughRect = false; switch (side) { case "top": isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, left, refRect.top + 1, right, rect.bottom - 1); break; case "bottom": isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, left, rect.top + 1, right, refRect.bottom - 1); break; case "left": isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, rect.right - 1, bottom, refRect.left + 1, top); break; case "right": isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, refRect.right - 1, bottom, rect.left + 1, top); break; default: } if (isInsideTroughRect) { return void 0; } if (hasLanded && !isInsideRect(clientX, clientY, refRect)) { closeIfNoOpenChild(); return void 0; } if (!isLeave && isCursorMovingSlowly(clientX, clientY)) { closeIfNoOpenChild(); return void 0; } let isInsidePolygon = false; switch (side) { case "top": { const cursorXOffset = isFloatingWider ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4; const cursorPointOneX = isFloatingWider ? x2 + cursorXOffset : cursorLeaveFromRight ? x2 + cursorXOffset : x2 - cursorXOffset; const cursorPointTwoX = isFloatingWider ? x2 - cursorXOffset : cursorLeaveFromRight ? x2 + cursorXOffset : x2 - cursorXOffset; const cursorPointY = y2 + POLYGON_BUFFER + 1; const commonYLeft = cursorLeaveFromRight ? rect.bottom - POLYGON_BUFFER : isFloatingWider ? rect.bottom - POLYGON_BUFFER : rect.top; const commonYRight = cursorLeaveFromRight ? isFloatingWider ? rect.bottom - POLYGON_BUFFER : rect.top : rect.bottom - POLYGON_BUFFER; isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointOneX, cursorPointY, cursorPointTwoX, cursorPointY, rect.left, commonYLeft, rect.right, commonYRight); break; } case "bottom": { const cursorXOffset = isFloatingWider ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4; const cursorPointOneX = isFloatingWider ? x2 + cursorXOffset : cursorLeaveFromRight ? x2 + cursorXOffset : x2 - cursorXOffset; const cursorPointTwoX = isFloatingWider ? x2 - cursorXOffset : cursorLeaveFromRight ? x2 + cursorXOffset : x2 - cursorXOffset; const cursorPointY = y2 - POLYGON_BUFFER; const commonYLeft = cursorLeaveFromRight ? rect.top + POLYGON_BUFFER : isFloatingWider ? rect.top + POLYGON_BUFFER : rect.bottom; const commonYRight = cursorLeaveFromRight ? isFloatingWider ? rect.top + POLYGON_BUFFER : rect.bottom : rect.top + POLYGON_BUFFER; isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointOneX, cursorPointY, cursorPointTwoX, cursorPointY, rect.left, commonYLeft, rect.right, commonYRight); break; } case "left": { const cursorYOffset = isFloatingTaller ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4; const cursorPointOneY = isFloatingTaller ? y2 + cursorYOffset : cursorLeaveFromBottom ? y2 + cursorYOffset : y2 - cursorYOffset; const cursorPointTwoY = isFloatingTaller ? y2 - cursorYOffset : cursorLeaveFromBottom ? y2 + cursorYOffset : y2 - cursorYOffset; const cursorPointX = x2 + POLYGON_BUFFER + 1; const commonXTop = cursorLeaveFromBottom ? rect.right - POLYGON_BUFFER : isFloatingTaller ? rect.right - POLYGON_BUFFER : rect.left; const commonXBottom = cursorLeaveFromBottom ? isFloatingTaller ? rect.right - POLYGON_BUFFER : rect.left : rect.right - POLYGON_BUFFER; isInsidePolygon = isPointInQuadrilateral(clientX, clientY, commonXTop, rect.top, commonXBottom, rect.bottom, cursorPointX, cursorPointOneY, cursorPointX, cursorPointTwoY); break; } case "right": { const cursorYOffset = isFloatingTaller ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4; const cursorPointOneY = isFloatingTaller ? y2 + cursorYOffset : cursorLeaveFromBottom ? y2 + cursorYOffset : y2 - cursorYOffset; const cursorPointTwoY = isFloatingTaller ? y2 - cursorYOffset : cursorLeaveFromBottom ? y2 + cursorYOffset : y2 - cursorYOffset; const cursorPointX = x2 - POLYGON_BUFFER; const commonXTop = cursorLeaveFromBottom ? rect.left + POLYGON_BUFFER : isFloatingTaller ? rect.left + POLYGON_BUFFER : rect.right; const commonXBottom = cursorLeaveFromBottom ? isFloatingTaller ? rect.left + POLYGON_BUFFER : rect.right : rect.left + POLYGON_BUFFER; isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointX, cursorPointOneY, cursorPointX, cursorPointTwoY, commonXTop, rect.top, commonXBottom, rect.bottom); break; } default: } if (!isInsidePolygon) { closeIfNoOpenChild(); } else if (!hasLanded) { timeout.start(40, closeIfNoOpenChild); } return void 0; }; }; fn.__options = { ...options, blockPointerEvents }; return fn; } // node_modules/@base-ui/react/utils/popupStateMapping.mjs var CommonPopupDataAttributes = (function(CommonPopupDataAttributes2) { CommonPopupDataAttributes2["open"] = "data-open"; CommonPopupDataAttributes2["closed"] = "data-closed"; CommonPopupDataAttributes2[CommonPopupDataAttributes2["startingStyle"] = TransitionStatusDataAttributes.startingStyle] = "startingStyle"; CommonPopupDataAttributes2[CommonPopupDataAttributes2["endingStyle"] = TransitionStatusDataAttributes.endingStyle] = "endingStyle"; CommonPopupDataAttributes2["anchorHidden"] = "data-anchor-hidden"; CommonPopupDataAttributes2["side"] = "data-side"; CommonPopupDataAttributes2["align"] = "data-align"; return CommonPopupDataAttributes2; })({}); var CommonTriggerDataAttributes = /* @__PURE__ */ (function(CommonTriggerDataAttributes2) { CommonTriggerDataAttributes2["popupOpen"] = "data-popup-open"; CommonTriggerDataAttributes2["pressed"] = "data-pressed"; return CommonTriggerDataAttributes2; })({}); var TRIGGER_HOOK = { [CommonTriggerDataAttributes.popupOpen]: "" }; var PRESSABLE_TRIGGER_HOOK = { [CommonTriggerDataAttributes.popupOpen]: "", [CommonTriggerDataAttributes.pressed]: "" }; var POPUP_OPEN_HOOK = { [CommonPopupDataAttributes.open]: "" }; var POPUP_CLOSED_HOOK = { [CommonPopupDataAttributes.closed]: "" }; var ANCHOR_HIDDEN_HOOK = { [CommonPopupDataAttributes.anchorHidden]: "" }; var triggerOpenStateMapping = { open(value) { if (value) { return TRIGGER_HOOK; } return null; } }; var popupStateMapping = { open(value) { if (value) { return POPUP_OPEN_HOOK; } return POPUP_CLOSED_HOOK; }, anchorHidden(value) { if (value) { return ANCHOR_HIDDEN_HOOK; } return null; } }; // node_modules/@base-ui/utils/inertValue.mjs function inertValue(value) { if (isReactVersionAtLeast(19)) { return value; } return value ? "true" : void 0; } // node_modules/@base-ui/react/utils/useAnchorPositioning.mjs var React30 = __toESM(require_react(), 1); // node_modules/@base-ui/react/floating-ui-react/middleware/arrow.mjs var baseArrow = (options) => ({ name: "arrow", options, async fn(state) { const { x: x2, y: y2, placement, rects, platform: platform3, elements: elements2, middlewareData } = state; const { element, padding = 0, offsetParent = "real" } = evaluate(options, state) || {}; if (element == null) { return {}; } const paddingObject = getPaddingObject(padding); const coords = { x: x2, y: y2 }; const axis = getAlignmentAxis(placement); const length = getAxisLength(axis); const arrowDimensions = await platform3.getDimensions(element); const isYAxis = axis === "y"; const minProp = isYAxis ? "top" : "left"; const maxProp = isYAxis ? "bottom" : "right"; const clientProp = isYAxis ? "clientHeight" : "clientWidth"; const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length]; const startDiff = coords[axis] - rects.reference[axis]; const arrowOffsetParent = offsetParent === "real" ? await platform3.getOffsetParent?.(element) : elements2.floating; let clientSize = elements2.floating[clientProp] || rects.floating[length]; if (!clientSize || !await platform3.isElement?.(arrowOffsetParent)) { clientSize = elements2.floating[clientProp] || rects.floating[length]; } const centerToReference = endDiff / 2 - startDiff / 2; const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1; const minPadding = Math.min(paddingObject[minProp], largestPossiblePadding); const maxPadding = Math.min(paddingObject[maxProp], largestPossiblePadding); const min2 = minPadding; const max2 = clientSize - arrowDimensions[length] - maxPadding; const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference; const offset4 = clamp(min2, center, max2); const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset4 && rects.reference[length] / 2 - (center < min2 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0; const alignmentOffset = shouldAddOffset ? center < min2 ? center - min2 : center - max2 : 0; return { [axis]: coords[axis] + alignmentOffset, data: { [axis]: offset4, centerOffset: center - offset4 - alignmentOffset, ...shouldAddOffset && { alignmentOffset } }, reset: shouldAddOffset }; } }); var arrow4 = (options, deps) => ({ ...baseArrow(options), options: [options, deps] }); // node_modules/@base-ui/react/utils/hideMiddleware.mjs var nativeHideFn = hide3().fn; var hide4 = { name: "hide", async fn(state) { const { width, height, x: x2, y: y2 } = state.rects.reference; const anchorHidden = width === 0 && height === 0 && x2 === 0 && y2 === 0; const nativeHideResult = await nativeHideFn(state); return { data: { referenceHidden: nativeHideResult.data?.referenceHidden || anchorHidden } }; } }; // node_modules/@base-ui/react/utils/adaptiveOriginMiddleware.mjs var DEFAULT_SIDES = { sideX: "left", sideY: "top" }; var adaptiveOrigin = { name: "adaptiveOrigin", async fn(state) { const { x: rawX, y: rawY, rects: { floating: floatRect }, elements: { floating }, platform: platform3, strategy, placement } = state; const win = getWindow(floating); const styles = win.getComputedStyle(floating); const hasTransition = styles.transitionDuration !== "0s" && styles.transitionDuration !== ""; if (!hasTransition) { return { x: rawX, y: rawY, data: DEFAULT_SIDES }; } const offsetParent = await platform3.getOffsetParent?.(floating); let offsetDimensions = { width: 0, height: 0 }; if (strategy === "fixed" && win?.visualViewport) { offsetDimensions = { width: win.visualViewport.width, height: win.visualViewport.height }; } else if (offsetParent === win) { const doc = ownerDocument(floating); offsetDimensions = { width: doc.documentElement.clientWidth, height: doc.documentElement.clientHeight }; } else if (await platform3.isElement?.(offsetParent)) { offsetDimensions = await platform3.getDimensions(offsetParent); } const currentSide = getSide(placement); let x2 = rawX; let y2 = rawY; if (currentSide === "left") { x2 = offsetDimensions.width - (rawX + floatRect.width); } if (currentSide === "top") { y2 = offsetDimensions.height - (rawY + floatRect.height); } const sideX = currentSide === "left" ? "right" : DEFAULT_SIDES.sideX; const sideY = currentSide === "top" ? "bottom" : DEFAULT_SIDES.sideY; return { x: x2, y: y2, data: { sideX, sideY } }; } }; // node_modules/@base-ui/react/utils/useAnchorPositioning.mjs function getLogicalSide(sideParam, renderedSide, isRtl) { const isLogicalSideParam = sideParam === "inline-start" || sideParam === "inline-end"; const logicalRight = isRtl ? "inline-start" : "inline-end"; const logicalLeft = isRtl ? "inline-end" : "inline-start"; return { top: "top", right: isLogicalSideParam ? logicalRight : "right", bottom: "bottom", left: isLogicalSideParam ? logicalLeft : "left" }[renderedSide]; } function getOffsetData(state, sideParam, isRtl) { const { rects, placement } = state; const data = { side: getLogicalSide(sideParam, getSide(placement), isRtl), align: getAlignment(placement) || "center", anchor: { width: rects.reference.width, height: rects.reference.height }, positioner: { width: rects.floating.width, height: rects.floating.height } }; return data; } function useAnchorPositioning(params) { const { // Public parameters anchor, positionMethod = "absolute", side: sideParam = "bottom", sideOffset = 0, align = "center", alignOffset = 0, collisionBoundary, collisionPadding: collisionPaddingParam = 5, sticky = false, arrowPadding = 5, disableAnchorTracking = false, inline: inlineMiddleware, // Private parameters keepMounted = false, floatingRootContext, mounted, collisionAvoidance, shiftCrossAxis = false, nodeId, adaptiveOrigin: adaptiveOrigin2, lazyFlip = false, externalTree } = params; const [mountSide, setMountSide] = React30.useState(null); if (!mounted && mountSide !== null) { setMountSide(null); } const collisionAvoidanceSide = collisionAvoidance.side || "flip"; const collisionAvoidanceAlign = collisionAvoidance.align || "flip"; const collisionAvoidanceFallbackAxisSide = collisionAvoidance.fallbackAxisSide || "end"; const anchorFn = typeof anchor === "function" ? anchor : void 0; const anchorFnCallback = useStableCallback(anchorFn); const anchorDep = anchorFn ? anchorFnCallback : anchor; const anchorValueRef = useValueAsRef(anchor); const mountedRef = useValueAsRef(mounted); const direction = useDirection(); const isRtl = direction === "rtl"; const side = mountSide || { top: "top", right: "right", bottom: "bottom", left: "left", "inline-end": isRtl ? "left" : "right", "inline-start": isRtl ? "right" : "left" }[sideParam]; const placement = align === "center" ? side : `${side}-${align}`; let collisionPadding = collisionPaddingParam; const bias = 1; const biasTop = sideParam === "bottom" ? bias : 0; const biasBottom = sideParam === "top" ? bias : 0; const biasLeft = sideParam === "right" ? bias : 0; const biasRight = sideParam === "left" ? bias : 0; if (typeof collisionPadding === "number") { collisionPadding = { top: collisionPadding + biasTop, right: collisionPadding + biasRight, bottom: collisionPadding + biasBottom, left: collisionPadding + biasLeft }; } else if (collisionPadding) { collisionPadding = { top: (collisionPadding.top || 0) + biasTop, right: (collisionPadding.right || 0) + biasRight, bottom: (collisionPadding.bottom || 0) + biasBottom, left: (collisionPadding.left || 0) + biasLeft }; } const commonCollisionProps = { boundary: collisionBoundary === "clipping-ancestors" ? "clippingAncestors" : collisionBoundary, padding: collisionPadding }; const arrowRef = React30.useRef(null); const sideOffsetRef = useValueAsRef(sideOffset); const alignOffsetRef = useValueAsRef(alignOffset); const sideOffsetDep = typeof sideOffset !== "function" ? sideOffset : 0; const alignOffsetDep = typeof alignOffset !== "function" ? alignOffset : 0; const middleware = []; if (inlineMiddleware) { middleware.push(inlineMiddleware); } middleware.push(offset3((state) => { const data = getOffsetData(state, sideParam, isRtl); const sideAxis = typeof sideOffsetRef.current === "function" ? sideOffsetRef.current(data) : sideOffsetRef.current; const alignAxis = typeof alignOffsetRef.current === "function" ? alignOffsetRef.current(data) : alignOffsetRef.current; return { mainAxis: sideAxis, crossAxis: alignAxis, alignmentAxis: alignAxis }; }, [sideOffsetDep, alignOffsetDep, isRtl, sideParam])); const shiftDisabled = collisionAvoidanceAlign === "none" && collisionAvoidanceSide !== "shift"; const crossAxisShiftEnabled = !shiftDisabled && (sticky || shiftCrossAxis || collisionAvoidanceSide === "shift"); const flipMiddleware = collisionAvoidanceSide === "none" ? null : flip3({ ...commonCollisionProps, // Ensure the popup flips if it's been limited by its --available-height and it resizes. // Since the size() padding is smaller than the flip() padding, flip() will take precedence. padding: { top: collisionPadding.top + bias, right: collisionPadding.right + bias, bottom: collisionPadding.bottom + bias, left: collisionPadding.left + bias }, mainAxis: !shiftCrossAxis && collisionAvoidanceSide === "flip", crossAxis: collisionAvoidanceAlign === "flip" ? "alignment" : false, fallbackAxisSideDirection: collisionAvoidanceFallbackAxisSide }); const shiftMiddleware = shiftDisabled ? null : shift3((data) => { const html = ownerDocument(data.elements.floating).documentElement; return { ...commonCollisionProps, // Use the Layout Viewport to avoid shifting around when pinch-zooming // for context menus. rootBoundary: shiftCrossAxis ? { x: 0, y: 0, width: html.clientWidth, height: html.clientHeight } : void 0, mainAxis: collisionAvoidanceAlign !== "none", crossAxis: crossAxisShiftEnabled, limiter: sticky || shiftCrossAxis ? void 0 : limitShift3((limitData) => { if (!arrowRef.current) { return {}; } const { width, height } = arrowRef.current.getBoundingClientRect(); const sideAxis = getSideAxis(getSide(limitData.placement)); const arrowSize = sideAxis === "y" ? width : height; const offsetAmount = sideAxis === "y" ? collisionPadding.left + collisionPadding.right : collisionPadding.top + collisionPadding.bottom; return { offset: arrowSize / 2 + offsetAmount / 2 }; }) }; }, [commonCollisionProps, sticky, shiftCrossAxis, collisionPadding, collisionAvoidanceAlign]); if (collisionAvoidanceSide === "shift" || collisionAvoidanceAlign === "shift" || align === "center") { middleware.push(shiftMiddleware, flipMiddleware); } else { middleware.push(flipMiddleware, shiftMiddleware); } middleware.push(size3({ ...commonCollisionProps, apply({ elements: { floating }, availableWidth, availableHeight, rects }) { if (!mountedRef.current) { return; } const floatingStyle = floating.style; floatingStyle.setProperty("--available-width", `${availableWidth}px`); floatingStyle.setProperty("--available-height", `${availableHeight}px`); const dpr = getWindow(floating).devicePixelRatio || 1; const { x: x3, y: y3, width, height } = rects.reference; const anchorWidth = (Math.round((x3 + width) * dpr) - Math.round(x3 * dpr)) / dpr; const anchorHeight = (Math.round((y3 + height) * dpr) - Math.round(y3 * dpr)) / dpr; floatingStyle.setProperty("--anchor-width", `${anchorWidth}px`); floatingStyle.setProperty("--anchor-height", `${anchorHeight}px`); } }), arrow4((state) => ({ // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set, // we'll create a fake element. element: arrowRef.current || ownerDocument(state.elements.floating).createElement("div"), padding: arrowPadding, offsetParent: "floating" }), [arrowPadding]), { name: "transformOrigin", fn(state) { const { elements: elements3, middlewareData: middlewareData2, placement: renderedPlacement2, rects, y: y3 } = state; const currentRenderedSide = getSide(renderedPlacement2); const currentRenderedAxis = getSideAxis(currentRenderedSide); const arrowEl = arrowRef.current; const arrowX = middlewareData2.arrow?.x || 0; const arrowY = middlewareData2.arrow?.y || 0; const arrowWidth = arrowEl?.clientWidth || 0; const arrowHeight = arrowEl?.clientHeight || 0; const transformX = arrowX + arrowWidth / 2; const transformY = arrowY + arrowHeight / 2; const shiftY = Math.abs(middlewareData2.shift?.y || 0); const halfAnchorHeight = rects.reference.height / 2; const sideOffsetValue = typeof sideOffset === "function" ? sideOffset(getOffsetData(state, sideParam, isRtl)) : sideOffset; const isOverlappingAnchor = shiftY > sideOffsetValue; const adjacentTransformOrigin = { top: `${transformX}px calc(100% + ${sideOffsetValue}px)`, bottom: `${transformX}px ${-sideOffsetValue}px`, left: `calc(100% + ${sideOffsetValue}px) ${transformY}px`, right: `${-sideOffsetValue}px ${transformY}px` }[currentRenderedSide]; const overlapTransformOrigin = `${transformX}px ${rects.reference.y + halfAnchorHeight - y3}px`; elements3.floating.style.setProperty("--transform-origin", crossAxisShiftEnabled && currentRenderedAxis === "y" && isOverlappingAnchor ? overlapTransformOrigin : adjacentTransformOrigin); return {}; } }, hide4, adaptiveOrigin2); useIsoLayoutEffect(() => { if (!mounted && floatingRootContext) { floatingRootContext.update({ referenceElement: null, floatingElement: null, domReferenceElement: null, positionReference: null }); } }, [mounted, floatingRootContext]); const autoUpdateOptions = React30.useMemo(() => ({ elementResize: !disableAnchorTracking && typeof ResizeObserver !== "undefined", layoutShift: !disableAnchorTracking && typeof IntersectionObserver !== "undefined" }), [disableAnchorTracking]); const { refs, elements: elements2, x: x2, y: y2, middlewareData, update: update2, placement: renderedPlacement, context, isPositioned, floatingStyles: originalFloatingStyles } = useFloating2({ rootContext: floatingRootContext, open: keepMounted ? mounted : void 0, placement, middleware, strategy: positionMethod, whileElementsMounted: keepMounted ? void 0 : (...args) => autoUpdate(...args, autoUpdateOptions), nodeId, externalTree }); const { sideX, sideY } = middlewareData.adaptiveOrigin || DEFAULT_SIDES; const resolvedPosition = isPositioned ? positionMethod : "fixed"; const floatingStyles = React30.useMemo(() => { const base = adaptiveOrigin2 ? { position: resolvedPosition, [sideX]: x2, [sideY]: y2 } : { position: resolvedPosition, ...originalFloatingStyles }; if (!isPositioned) { base.opacity = 0; } return base; }, [adaptiveOrigin2, resolvedPosition, sideX, x2, sideY, y2, originalFloatingStyles, isPositioned]); const registeredPositionReferenceRef = React30.useRef(null); useIsoLayoutEffect(() => { if (!mounted) { return; } const anchorValue = anchorValueRef.current; const resolvedAnchor = typeof anchorValue === "function" ? anchorValue() : anchorValue; const unwrappedElement = (isRef(resolvedAnchor) ? resolvedAnchor.current : resolvedAnchor) || null; const finalAnchor = unwrappedElement || null; if (finalAnchor !== registeredPositionReferenceRef.current) { refs.setPositionReference(finalAnchor); registeredPositionReferenceRef.current = finalAnchor; } }, [mounted, refs, anchorDep, anchorValueRef]); React30.useEffect(() => { if (!mounted) { return; } const anchorValue = anchorValueRef.current; if (typeof anchorValue === "function") { return; } if (isRef(anchorValue) && anchorValue.current !== registeredPositionReferenceRef.current) { refs.setPositionReference(anchorValue.current); registeredPositionReferenceRef.current = anchorValue.current; } }, [mounted, refs, anchorDep, anchorValueRef]); React30.useEffect(() => { if (keepMounted && mounted && elements2.reference && elements2.floating) { return autoUpdate(elements2.reference, elements2.floating, update2, autoUpdateOptions); } return void 0; }, [keepMounted, mounted, elements2, update2, autoUpdateOptions]); const renderedSide = getSide(renderedPlacement); const logicalRenderedSide = getLogicalSide(sideParam, renderedSide, isRtl); const renderedAlign = getAlignment(renderedPlacement) || "center"; const anchorHidden = Boolean(middlewareData.hide?.referenceHidden); useIsoLayoutEffect(() => { if (lazyFlip && mounted && isPositioned) { setMountSide(renderedSide); } }, [lazyFlip, mounted, isPositioned, renderedSide]); const arrowStyles = React30.useMemo(() => ({ position: "absolute", top: middlewareData.arrow?.y, left: middlewareData.arrow?.x }), [middlewareData.arrow]); const arrowUncentered = middlewareData.arrow?.centerOffset !== 0; return React30.useMemo(() => ({ positionerStyles: floatingStyles, arrowStyles, arrowRef, arrowUncentered, side: logicalRenderedSide, align: renderedAlign, physicalSide: renderedSide, anchorHidden, refs, context, isPositioned, update: update2 }), [floatingStyles, arrowStyles, arrowRef, arrowUncentered, logicalRenderedSide, renderedAlign, renderedSide, anchorHidden, refs, context, isPositioned, update2]); } function isRef(param) { return param != null && "current" in param; } // node_modules/@base-ui/react/utils/getDisabledMountTransitionStyles.mjs function getDisabledMountTransitionStyles(transitionStatus) { return transitionStatus === "starting" ? DISABLED_TRANSITIONS_STYLE : EMPTY_OBJECT; } // node_modules/@base-ui/react/utils/usePositioner.mjs function usePositioner(componentProps, state, { styles, transitionStatus, props, refs, hidden, inert = false }) { const style = { ...styles }; if (inert) { style.pointerEvents = "none"; } return useRenderElement("div", componentProps, { state, ref: refs, props: [{ role: "presentation", hidden, style }, getDisabledMountTransitionStyles(transitionStatus), props], stateAttributesMapping: popupStateMapping }); } // node_modules/@base-ui/react/utils/usePopupViewport.mjs var React33 = __toESM(require_react(), 1); var ReactDOM6 = __toESM(require_react_dom(), 1); // node_modules/@base-ui/utils/usePreviousValue.mjs var React31 = __toESM(require_react(), 1); function usePreviousValue(value) { const [state, setState] = React31.useState({ current: value, previous: null }); if (value !== state.current) { setState({ current: value, previous: state.current }); } return state.previous; } // node_modules/@base-ui/react/utils/usePopupAutoResize.mjs var React32 = __toESM(require_react(), 1); // node_modules/@base-ui/react/utils/getCssDimensions.mjs function getCssDimensions2(element) { const css = getComputedStyle2(element); let width = parseFloat(css.width) || 0; let height = parseFloat(css.height) || 0; const hasOffset = isHTMLElement(element); const offsetWidth = hasOffset ? element.offsetWidth : width; const offsetHeight = hasOffset ? element.offsetHeight : height; const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight; if (shouldFallback) { width = offsetWidth; height = offsetHeight; } return { width, height }; } // node_modules/@base-ui/react/utils/usePopupAutoResize.mjs function usePopupAutoResize(parameters) { const { popupElement, positionerElement, content, mounted, onMeasureLayout: onMeasureLayoutParam, onMeasureLayoutComplete: onMeasureLayoutCompleteParam, side, direction } = parameters; const runOnceAnimationsFinish = useAnimationsFinished(popupElement, true, false); const animationFrame = useAnimationFrame(); const committedDimensionsRef = React32.useRef(null); const isInitialRenderRef = React32.useRef(true); const restoreAnchoringStylesRef = React32.useRef(NOOP); const onMeasureLayout = useStableCallback(onMeasureLayoutParam); const onMeasureLayoutComplete = useStableCallback(onMeasureLayoutCompleteParam); const anchoringStyles = React32.useMemo(() => { let isOriginSide = side === "top"; let isPhysicalLeft = side === "left"; if (direction === "rtl") { isOriginSide = isOriginSide || side === "inline-end"; isPhysicalLeft = isPhysicalLeft || side === "inline-end"; } else { isOriginSide = isOriginSide || side === "inline-start"; isPhysicalLeft = isPhysicalLeft || side === "inline-start"; } return isOriginSide ? { position: "absolute", [side === "top" ? "bottom" : "top"]: "0", [isPhysicalLeft ? "right" : "left"]: "0" } : EMPTY_OBJECT; }, [side, direction]); useIsoLayoutEffect(() => { if (!mounted) { restoreAnchoringStylesRef.current = NOOP; isInitialRenderRef.current = true; committedDimensionsRef.current = null; return void 0; } if (!popupElement || !positionerElement) { return void 0; } restoreAnchoringStylesRef.current = applyElementStyles(popupElement, anchoringStyles); setPopupCssSize(popupElement, "auto"); const restorePopupPosition = overrideElementStyle(popupElement, "position", "static"); const restorePopupTransform = overrideElementStyle(popupElement, "transform", "none"); const restorePopupScale = overrideElementStyle(popupElement, "scale", "1"); const restorePositionerAvailableSize = applyElementStyles(positionerElement, { "--available-width": "max-content", "--available-height": "max-content" }); function restoreMeasurementOverrides() { restorePopupPosition(); restorePopupTransform(); restorePositionerAvailableSize(); } function restoreMeasurementOverridesIncludingScale() { restoreMeasurementOverrides(); restorePopupScale(); } onMeasureLayout?.(); if (isInitialRenderRef.current || committedDimensionsRef.current === null) { setPositionerCssSize(positionerElement, "max-content"); const dimensions = getCssDimensions2(popupElement); committedDimensionsRef.current = dimensions; setPositionerCssSize(positionerElement, dimensions); restoreMeasurementOverridesIncludingScale(); onMeasureLayoutComplete?.(null, dimensions); isInitialRenderRef.current = false; return () => { restoreAnchoringStylesRef.current(); restoreAnchoringStylesRef.current = NOOP; }; } setPositionerCssSize(positionerElement, "max-content"); const previousDimensions = committedDimensionsRef.current; const newDimensions = getCssDimensions2(popupElement); committedDimensionsRef.current = newDimensions; setPopupCssSize(popupElement, previousDimensions); restoreMeasurementOverridesIncludingScale(); onMeasureLayoutComplete?.(previousDimensions, newDimensions); setPositionerCssSize(positionerElement, newDimensions); const abortController = new AbortController(); animationFrame.request(() => { setPopupCssSize(popupElement, newDimensions); runOnceAnimationsFinish(() => { popupElement.style.setProperty("--popup-width", "auto"); popupElement.style.setProperty("--popup-height", "auto"); }, abortController.signal); }); return () => { abortController.abort(); animationFrame.cancel(); restoreAnchoringStylesRef.current(); restoreAnchoringStylesRef.current = NOOP; }; }, [content, popupElement, positionerElement, runOnceAnimationsFinish, animationFrame, mounted, onMeasureLayout, onMeasureLayoutComplete, anchoringStyles]); } function overrideElementStyle(element, property, value) { const originalValue = element.style.getPropertyValue(property); element.style.setProperty(property, value); return () => { element.style.setProperty(property, originalValue); }; } function applyElementStyles(element, styles) { const restorers = []; for (const [key, value] of Object.entries(styles)) { restorers.push(overrideElementStyle(element, key, value)); } return restorers.length ? () => { restorers.forEach((restore) => restore()); } : NOOP; } function setPopupCssSize(popupElement, size4) { const width = size4 === "auto" ? "auto" : `${size4.width}px`; const height = size4 === "auto" ? "auto" : `${size4.height}px`; popupElement.style.setProperty("--popup-width", width); popupElement.style.setProperty("--popup-height", height); } function setPositionerCssSize(positionerElement, size4) { const width = size4 === "max-content" ? "max-content" : `${size4.width}px`; const height = size4 === "max-content" ? "max-content" : `${size4.height}px`; positionerElement.style.setProperty("--positioner-width", width); positionerElement.style.setProperty("--positioner-height", height); } // node_modules/@base-ui/react/utils/usePopupViewport.mjs var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1); function usePopupViewport(parameters) { const { store, side, cssVars, children } = parameters; const direction = useDirection(); const activeTrigger = store.useState("activeTriggerElement"); const activeTriggerId = store.useState("activeTriggerId"); const open = store.useState("open"); const payload = store.useState("payload"); const mounted = store.useState("mounted"); const popupElement = store.useState("popupElement"); const positionerElement = store.useState("positionerElement"); const previousActiveTrigger = usePreviousValue(open ? activeTrigger : null); const currentContentKey = usePopupContentKey(activeTriggerId, payload); const capturedNodeRef = React33.useRef(null); const [previousContentNode, setPreviousContentNode] = React33.useState(null); const [newTriggerOffset, setNewTriggerOffset] = React33.useState(null); const currentContainerRef = React33.useRef(null); const previousContainerRef = React33.useRef(null); const onAnimationsFinished = useAnimationsFinished(currentContainerRef, true, false); const cleanupFrame = useAnimationFrame(); const [previousContentDimensions, setPreviousContentDimensions] = React33.useState(null); const [showStartingStyleAttribute, setShowStartingStyleAttribute] = React33.useState(false); useIsoLayoutEffect(() => { store.set("hasViewport", true); return () => { store.set("hasViewport", false); }; }, [store]); const handleMeasureLayout = useStableCallback(() => { currentContainerRef.current?.style.setProperty("animation", "none"); currentContainerRef.current?.style.setProperty("transition", "none"); previousContainerRef.current?.style.setProperty("display", "none"); }); const handleMeasureLayoutComplete = useStableCallback((previousDimensions) => { currentContainerRef.current?.style.removeProperty("animation"); currentContainerRef.current?.style.removeProperty("transition"); previousContainerRef.current?.style.removeProperty("display"); if (previousDimensions) { setPreviousContentDimensions(previousDimensions); } }); const lastHandledTriggerRef = React33.useRef(null); useIsoLayoutEffect(() => { if (!open || !mounted) { lastHandledTriggerRef.current = null; } }, [open, mounted]); useIsoLayoutEffect(() => { if (activeTrigger && previousActiveTrigger && activeTrigger !== previousActiveTrigger && lastHandledTriggerRef.current !== activeTrigger && capturedNodeRef.current) { setPreviousContentNode(capturedNodeRef.current); setShowStartingStyleAttribute(true); const offset4 = calculateRelativePosition(previousActiveTrigger, activeTrigger); setNewTriggerOffset(offset4); cleanupFrame.request(() => { ReactDOM6.flushSync(() => { setShowStartingStyleAttribute(false); }); onAnimationsFinished(() => { setPreviousContentNode(null); setPreviousContentDimensions(null); capturedNodeRef.current = null; }); }); lastHandledTriggerRef.current = activeTrigger; } }, [activeTrigger, previousActiveTrigger, previousContentNode, onAnimationsFinished, cleanupFrame]); useIsoLayoutEffect(() => { const source = currentContainerRef.current; if (!source) { return; } const wrapper = ownerDocument(source).createElement("div"); for (const child of Array.from(source.childNodes)) { wrapper.appendChild(child.cloneNode(true)); } capturedNodeRef.current = wrapper; }); const isTransitioning = previousContentNode != null; let childrenToRender; if (!isTransitioning) { childrenToRender = /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { "data-current": true, ref: currentContainerRef, children }, currentContentKey); } else { childrenToRender = /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(React33.Fragment, { children: [/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { "data-previous": true, inert: inertValue(true), ref: previousContainerRef, style: { ...previousContentDimensions ? { [cssVars.popupWidth]: `${previousContentDimensions.width}px`, [cssVars.popupHeight]: `${previousContentDimensions.height}px` } : null, position: "absolute" }, "data-ending-style": showStartingStyleAttribute ? void 0 : "" }, "previous"), /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { "data-current": true, ref: currentContainerRef, "data-starting-style": showStartingStyleAttribute ? "" : void 0, children }, currentContentKey)] }); } useIsoLayoutEffect(() => { const container = previousContainerRef.current; if (!container || !previousContentNode) { return; } container.replaceChildren(...Array.from(previousContentNode.childNodes)); }, [previousContentNode]); usePopupAutoResize({ popupElement, positionerElement, mounted, content: payload, onMeasureLayout: handleMeasureLayout, onMeasureLayoutComplete: handleMeasureLayoutComplete, side, direction }); const state = { activationDirection: getActivationDirection(newTriggerOffset), transitioning: isTransitioning }; return { children: childrenToRender, state }; } function getActivationDirection(offset4) { if (!offset4) { return void 0; } return `${getValueWithTolerance(offset4.horizontal, 5, "right", "left")} ${getValueWithTolerance(offset4.vertical, 5, "down", "up")}`; } function getValueWithTolerance(value, tolerance, positiveLabel, negativeLabel) { if (value > tolerance) { return positiveLabel; } if (value < -tolerance) { return negativeLabel; } return ""; } function calculateRelativePosition(from, to) { const fromRect = from.getBoundingClientRect(); const toRect = to.getBoundingClientRect(); const fromCenter = { x: fromRect.left + fromRect.width / 2, y: fromRect.top + fromRect.height / 2 }; const toCenter = { x: toRect.left + toRect.width / 2, y: toRect.top + toRect.height / 2 }; return { horizontal: toCenter.x - fromCenter.x, vertical: toCenter.y - fromCenter.y }; } function usePopupContentKey(activeTriggerId, payload) { const [contentKey, setContentKey] = React33.useState(0); const previousActiveTriggerIdRef = React33.useRef(activeTriggerId); const previousPayloadRef = React33.useRef(payload); const pendingPayloadUpdateRef = React33.useRef(false); useIsoLayoutEffect(() => { const previousActiveTriggerId = previousActiveTriggerIdRef.current; const previousPayload = previousPayloadRef.current; const triggerIdChanged = activeTriggerId !== previousActiveTriggerId; const payloadChanged = payload !== previousPayload; if (triggerIdChanged) { setContentKey((value) => value + 1); pendingPayloadUpdateRef.current = !payloadChanged; } else if (pendingPayloadUpdateRef.current && payloadChanged) { setContentKey((value) => value + 1); pendingPayloadUpdateRef.current = false; } previousActiveTriggerIdRef.current = activeTriggerId; previousPayloadRef.current = payload; }, [activeTriggerId, payload]); return `${activeTriggerId ?? "current"}-${contentKey}`; } // node_modules/@base-ui/react/utils/FloatingPortalLite.mjs var React34 = __toESM(require_react(), 1); var ReactDOM7 = __toESM(require_react_dom(), 1); var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1); var FloatingPortalLite = /* @__PURE__ */ React34.forwardRef(function FloatingPortalLite2(componentProps, forwardedRef) { const { children, container, className, render, style, ...elementProps } = componentProps; const { portalNode, portalSubtree } = useFloatingPortalNode({ container, ref: forwardedRef, componentProps, elementProps }); if (!portalSubtree && !portalNode) { return null; } return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(React34.Fragment, { children: [portalSubtree, portalNode && /* @__PURE__ */ ReactDOM7.createPortal(children, portalNode)] }); }); if (true) FloatingPortalLite.displayName = "FloatingPortalLite"; // node_modules/@base-ui/react/tooltip/index.parts.mjs var index_parts_exports = {}; __export(index_parts_exports, { Arrow: () => TooltipArrow, Handle: () => TooltipHandle, Popup: () => TooltipPopup, Portal: () => TooltipPortal, Positioner: () => TooltipPositioner, Provider: () => TooltipProvider, Root: () => TooltipRoot, Trigger: () => TooltipTrigger, Viewport: () => TooltipViewport, createHandle: () => createTooltipHandle }); // node_modules/@base-ui/react/tooltip/root/TooltipRoot.mjs var React37 = __toESM(require_react(), 1); // node_modules/@base-ui/react/tooltip/root/TooltipRootContext.mjs var React35 = __toESM(require_react(), 1); var TooltipRootContext = /* @__PURE__ */ React35.createContext(void 0); if (true) TooltipRootContext.displayName = "TooltipRootContext"; function useTooltipRootContext(optional) { const context = React35.useContext(TooltipRootContext); if (context === void 0 && !optional) { throw new Error(true ? "Base UI: TooltipRootContext is missing. Tooltip parts must be placed within <Tooltip.Root>." : formatErrorMessage_default(72)); } return context; } // node_modules/@base-ui/react/tooltip/store/TooltipStore.mjs var React36 = __toESM(require_react(), 1); var selectors2 = { ...popupStoreSelectors, disabled: createSelector((state) => state.disabled), instantType: createSelector((state) => state.instantType), isInstantPhase: createSelector((state) => state.isInstantPhase), trackCursorAxis: createSelector((state) => state.trackCursorAxis), disableHoverablePopup: createSelector((state) => state.disableHoverablePopup), lastOpenChangeReason: createSelector((state) => state.openChangeReason), closeOnClick: createSelector((state) => state.closeOnClick), closeDelay: createSelector((state) => state.closeDelay), hasViewport: createSelector((state) => state.hasViewport) }; var TooltipStore = class _TooltipStore extends ReactStore { constructor(initialState, floatingId, nested = false) { const triggerElements = new PopupTriggerMap(); const state = { ...createInitialState(), ...initialState }; state.floatingRootContext = createPopupFloatingRootContext(triggerElements, floatingId, nested); super(state, { popupRef: /* @__PURE__ */ React36.createRef(), onOpenChange: void 0, onOpenChangeComplete: void 0, triggerElements }, selectors2); } setOpen = (nextOpen, eventDetails) => { applyPopupOpenChange(this, nextOpen, eventDetails, { extraState: { openChangeReason: eventDetails.reason } }); }; // Used by trigger clicks to clear a delayed hover open without reporting a public open-state change. cancelPendingOpen(event) { this.state.floatingRootContext.dispatchOpenChange(false, createChangeEventDetails(reason_parts_exports.triggerPress, event)); } static useStore(externalStore, initialState) { const store = usePopupStore(externalStore, (floatingId, nested) => new _TooltipStore(initialState, floatingId, nested)).store; return store; } }; function createInitialState() { return { ...createInitialPopupStoreState(), disabled: false, instantType: void 0, isInstantPhase: false, trackCursorAxis: "none", disableHoverablePopup: false, openChangeReason: null, closeOnClick: true, closeDelay: 0, hasViewport: false }; } // node_modules/@base-ui/react/tooltip/root/TooltipRoot.mjs var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1); var TooltipRoot = fastComponent(function TooltipRoot2(props) { const { disabled: disabled2 = false, defaultOpen = false, open: openProp, disableHoverablePopup = false, trackCursorAxis = "none", actionsRef, onOpenChange, onOpenChangeComplete, handle, triggerId: triggerIdProp, defaultTriggerId: defaultTriggerIdProp = null, children } = props; const store = TooltipStore.useStore(handle?.store, { open: defaultOpen, openProp, activeTriggerId: defaultTriggerIdProp, triggerIdProp }); useInitialOpenSync(store, openProp, defaultOpen, defaultTriggerIdProp); store.useControlledProp("openProp", openProp); store.useControlledProp("triggerIdProp", triggerIdProp); store.useContextCallback("onOpenChange", onOpenChange); store.useContextCallback("onOpenChangeComplete", onOpenChangeComplete); const openState = store.useState("open"); const open = !disabled2 && openState; const activeTriggerId = store.useState("activeTriggerId"); const mounted = store.useState("mounted"); const payload = store.useState("payload"); store.useSyncedValues({ trackCursorAxis, disableHoverablePopup }); store.useSyncedValue("disabled", disabled2); useImplicitActiveTrigger(store, { closeOnActiveTriggerUnmount: true }); const { forceUnmount, transitionStatus } = useOpenStateTransitions(open, store); const isInstantPhase = store.useState("isInstantPhase"); const instantType = store.useState("instantType"); const lastOpenChangeReason = store.useState("lastOpenChangeReason"); const previousInstantTypeRef = React37.useRef(null); useIsoLayoutEffect(() => { if (openState && disabled2) { store.setOpen(false, createChangeEventDetails(reason_parts_exports.disabled)); } }, [openState, disabled2, store]); useIsoLayoutEffect(() => { if (transitionStatus === "ending" && lastOpenChangeReason === reason_parts_exports.none || transitionStatus !== "ending" && isInstantPhase) { if (instantType !== "delay") { previousInstantTypeRef.current = instantType; } store.set("instantType", "delay"); } else if (previousInstantTypeRef.current !== null) { store.set("instantType", previousInstantTypeRef.current); previousInstantTypeRef.current = null; } }, [transitionStatus, isInstantPhase, lastOpenChangeReason, instantType, store]); useIsoLayoutEffect(() => { if (open) { if (activeTriggerId == null) { store.set("payload", void 0); } } }, [store, activeTriggerId, open]); const handleImperativeClose = React37.useCallback(() => { store.setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction)); }, [store]); React37.useImperativeHandle(actionsRef, () => ({ unmount: forceUnmount, close: handleImperativeClose }), [forceUnmount, handleImperativeClose]); const shouldRenderInteractions = open || mounted || !disabled2 && trackCursorAxis !== "none"; return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(TooltipRootContext.Provider, { value: store, children: [shouldRenderInteractions && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(TooltipInteractions, { store, disabled: disabled2, trackCursorAxis }), typeof children === "function" ? children({ payload }) : children] }); }); if (true) TooltipRoot.displayName = "TooltipRoot"; function TooltipInteractions({ store, disabled: disabled2, trackCursorAxis }) { const floatingRootContext = store.useState("floatingRootContext"); const dismiss = useDismiss(floatingRootContext, { enabled: !disabled2, referencePress: () => store.select("closeOnClick") }); const clientPoint = useClientPoint(floatingRootContext, { enabled: !disabled2 && trackCursorAxis !== "none", axis: trackCursorAxis === "none" ? void 0 : trackCursorAxis }); const activeTriggerProps = React37.useMemo(() => mergeProps(clientPoint.reference, dismiss.reference), [clientPoint.reference, dismiss.reference]); const inactiveTriggerProps = React37.useMemo(() => mergeProps(clientPoint.trigger, dismiss.trigger), [clientPoint.trigger, dismiss.trigger]); const popupProps = React37.useMemo(() => mergeProps(FOCUSABLE_POPUP_PROPS, clientPoint.floating, dismiss.floating), [clientPoint.floating, dismiss.floating]); usePopupInteractionProps(store, { activeTriggerProps, inactiveTriggerProps, popupProps }); return null; } // node_modules/@base-ui/react/tooltip/trigger/TooltipTrigger.mjs var React39 = __toESM(require_react(), 1); // node_modules/@base-ui/react/tooltip/provider/TooltipProviderContext.mjs var React38 = __toESM(require_react(), 1); var TooltipProviderContext = /* @__PURE__ */ React38.createContext(void 0); if (true) TooltipProviderContext.displayName = "TooltipProviderContext"; function useTooltipProviderContext() { return React38.useContext(TooltipProviderContext); } // node_modules/@base-ui/react/tooltip/trigger/TooltipTriggerDataAttributes.mjs var TooltipTriggerDataAttributes = (function(TooltipTriggerDataAttributes2) { TooltipTriggerDataAttributes2[TooltipTriggerDataAttributes2["popupOpen"] = CommonTriggerDataAttributes.popupOpen] = "popupOpen"; TooltipTriggerDataAttributes2["triggerDisabled"] = "data-trigger-disabled"; return TooltipTriggerDataAttributes2; })({}); // node_modules/@base-ui/react/tooltip/utils/constants.mjs var OPEN_DELAY = 600; // node_modules/@base-ui/react/tooltip/trigger/TooltipTrigger.mjs var TOOLTIP_TRIGGER_IDENTIFIER = "data-base-ui-tooltip-trigger"; function getTargetElement(event) { if ("composedPath" in event) { const path = event.composedPath(); for (let i2 = 0; i2 < path.length; i2 += 1) { const element = path[i2]; if (isElement(element)) { return element; } } } const target = event.target; if (isElement(target)) { return target; } return null; } function closestEnabledTooltipTrigger(element) { let current = element; while (current) { if (current.hasAttribute(TOOLTIP_TRIGGER_IDENTIFIER)) { return current; } const parentElement = current.parentElement; if (parentElement) { current = parentElement; continue; } const root = current.getRootNode(); current = "host" in root && isElement(root.host) ? root.host : null; } return null; } var TooltipTrigger = fastComponentRef(function TooltipTrigger2(componentProps, forwardedRef) { const { render, className, style, handle, payload, disabled: disabledProp, delay, closeOnClick = true, closeDelay, id: idProp, ...elementProps } = componentProps; const rootContext = useTooltipRootContext(true); const store = handle?.store ?? rootContext; if (!store) { throw new Error(true ? "Base UI: <Tooltip.Trigger> must be either used within a <Tooltip.Root> component or provided with a handle." : formatErrorMessage_default(82)); } const thisTriggerId = useBaseUiId(idProp); const isTriggerActive = store.useState("isTriggerActive", thisTriggerId); const isOpenedByThisTrigger = store.useState("isOpenedByTrigger", thisTriggerId); const floatingRootContext = store.useState("floatingRootContext"); const triggerElementRef = React39.useRef(null); const delayWithDefault = delay ?? OPEN_DELAY; const closeDelayWithDefault = closeDelay ?? 0; const { registerTrigger, isMountedByThisTrigger } = useTriggerDataForwarding(thisTriggerId, triggerElementRef, store, { payload, closeOnClick, closeDelay: closeDelayWithDefault }); const providerContext = useTooltipProviderContext(); const { delayRef, isInstantPhase, hasProvider } = useDelayGroup(floatingRootContext, { open: isOpenedByThisTrigger }); const hoverInteraction = useHoverInteractionSharedState(floatingRootContext); store.useSyncedValue("isInstantPhase", isInstantPhase); const rootDisabled = store.useState("disabled"); const disabled2 = disabledProp ?? rootDisabled; const disabledRef = useValueAsRef(disabled2); const trackCursorAxis = store.useState("trackCursorAxis"); const disableHoverablePopup = store.useState("disableHoverablePopup"); const isNestedTriggerHoveredRef = React39.useRef(false); const nestedTriggerOpenTimeout = useTimeout(); const pointerTypeRef = React39.useRef(void 0); function getOpenDelay() { const providerDelay = providerContext?.delay; const groupOpenValue = typeof delayRef.current === "object" ? delayRef.current.open : void 0; let computedOpenDelay = delayWithDefault; if (hasProvider) { if (groupOpenValue !== 0) { computedOpenDelay = delay ?? providerDelay ?? delayWithDefault; } else { computedOpenDelay = 0; } } return computedOpenDelay; } function isEnabledNestedTriggerTarget(target) { const triggerEl = triggerElementRef.current; if (!triggerEl || !target) { return false; } const nearestTrigger = closestEnabledTooltipTrigger(target); return nearestTrigger !== null && nearestTrigger !== triggerEl && contains(triggerEl, nearestTrigger); } function detectNestedTriggerHover(target) { const nestedTriggerHovered = isEnabledNestedTriggerTarget(target); isNestedTriggerHoveredRef.current = nestedTriggerHovered; if (nestedTriggerHovered) { hoverInteraction.openChangeTimeout.clear(); hoverInteraction.restTimeout.clear(); hoverInteraction.restTimeoutPending = false; nestedTriggerOpenTimeout.clear(); } return nestedTriggerHovered; } const hoverProps = useHoverReferenceInteraction(floatingRootContext, { enabled: !disabled2, mouseOnly: true, move: false, handleClose: !disableHoverablePopup && trackCursorAxis !== "both" ? safePolygon() : null, restMs: getOpenDelay, delay() { const closeValue = typeof delayRef.current === "object" ? delayRef.current.close : void 0; let computedCloseDelay = closeDelayWithDefault; if (closeDelay == null && hasProvider) { computedCloseDelay = closeValue; } return { close: computedCloseDelay }; }, triggerElementRef, isActiveTrigger: isTriggerActive, isClosing: () => store.select("transitionStatus") === "ending", shouldOpen() { return !isNestedTriggerHoveredRef.current; } }); const focusProps = useFocus(floatingRootContext, { enabled: !disabled2 }).reference; const handleNestedTriggerHover = (event) => { const wasNestedTriggerHovered = isNestedTriggerHoveredRef.current; const target = getTargetElement(event); const nestedTriggerHovered = detectNestedTriggerHover(target); const triggerEl = triggerElementRef.current; const targetInsideTrigger = triggerEl && target && contains(triggerEl, target); if (nestedTriggerHovered && store.select("open") && store.select("lastOpenChangeReason") === reason_parts_exports.triggerHover) { store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event)); return; } if (wasNestedTriggerHovered && !nestedTriggerHovered && targetInsideTrigger && !disabledRef.current && !store.select("open") && triggerEl && // Match the hover hook's non-strict mouse fallback for mouse-only event sequences. isMouseLikePointerType(pointerTypeRef.current)) { const open = () => { if (!isNestedTriggerHoveredRef.current && !disabledRef.current && !store.select("open")) { store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerEl)); } }; const openDelay = getOpenDelay(); if (openDelay === 0) { nestedTriggerOpenTimeout.clear(); open(); } else { nestedTriggerOpenTimeout.start(openDelay, open); } } }; const rootTriggerProps = store.useState("triggerProps", isMountedByThisTrigger); const shouldApplyRootTriggerProps = isMountedByThisTrigger || trackCursorAxis !== "none"; const state = { open: isOpenedByThisTrigger }; const element = useRenderElement("button", componentProps, { state, ref: [forwardedRef, registerTrigger, triggerElementRef], props: [hoverProps, focusProps, shouldApplyRootTriggerProps ? rootTriggerProps : void 0, { onMouseOver(event) { handleNestedTriggerHover(event.nativeEvent); }, onFocus(event) { if (isEnabledNestedTriggerTarget(getTargetElement(event.nativeEvent))) { event.preventBaseUIHandler(); } }, onMouseLeave() { isNestedTriggerHoveredRef.current = false; nestedTriggerOpenTimeout.clear(); pointerTypeRef.current = void 0; }, onPointerEnter(event) { pointerTypeRef.current = event.pointerType; }, onPointerDown(event) { pointerTypeRef.current = event.pointerType; store.set("closeOnClick", closeOnClick); if (closeOnClick && !store.select("open")) { store.cancelPendingOpen(event.nativeEvent); } }, onClick(event) { if (closeOnClick && !store.select("open")) { store.cancelPendingOpen(event.nativeEvent); } }, id: thisTriggerId, [TooltipTriggerDataAttributes.triggerDisabled]: disabled2 ? "" : void 0, [TOOLTIP_TRIGGER_IDENTIFIER]: disabled2 ? void 0 : "" }, elementProps], stateAttributesMapping: triggerOpenStateMapping }); return element; }); if (true) TooltipTrigger.displayName = "TooltipTrigger"; // node_modules/@base-ui/react/tooltip/portal/TooltipPortal.mjs var React41 = __toESM(require_react(), 1); // node_modules/@base-ui/react/tooltip/portal/TooltipPortalContext.mjs var React40 = __toESM(require_react(), 1); var TooltipPortalContext = /* @__PURE__ */ React40.createContext(void 0); if (true) TooltipPortalContext.displayName = "TooltipPortalContext"; function useTooltipPortalContext() { const value = React40.useContext(TooltipPortalContext); if (value === void 0) { throw new Error(true ? "Base UI: <Tooltip.Portal> is missing." : formatErrorMessage_default(70)); } return value; } // node_modules/@base-ui/react/tooltip/portal/TooltipPortal.mjs var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1); var TooltipPortal = /* @__PURE__ */ React41.forwardRef(function TooltipPortal2(props, forwardedRef) { const { keepMounted = false, ...portalProps } = props; const store = useTooltipRootContext(); const mounted = store.useState("mounted"); const shouldRender = mounted || keepMounted; if (!shouldRender) { return null; } return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(TooltipPortalContext.Provider, { value: keepMounted, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(FloatingPortalLite, { ref: forwardedRef, ...portalProps }) }); }); if (true) TooltipPortal.displayName = "TooltipPortal"; // node_modules/@base-ui/react/tooltip/positioner/TooltipPositioner.mjs var React43 = __toESM(require_react(), 1); // node_modules/@base-ui/react/tooltip/positioner/TooltipPositionerContext.mjs var React42 = __toESM(require_react(), 1); var TooltipPositionerContext = /* @__PURE__ */ React42.createContext(void 0); if (true) TooltipPositionerContext.displayName = "TooltipPositionerContext"; function useTooltipPositionerContext() { const context = React42.useContext(TooltipPositionerContext); if (context === void 0) { throw new Error(true ? "Base UI: TooltipPositionerContext is missing. TooltipPositioner parts must be placed within <Tooltip.Positioner>." : formatErrorMessage_default(71)); } return context; } // node_modules/@base-ui/react/tooltip/positioner/TooltipPositioner.mjs var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1); var TooltipPositioner = /* @__PURE__ */ React43.forwardRef(function TooltipPositioner2(componentProps, forwardedRef) { const { render, className, anchor, positionMethod = "absolute", side = "top", align = "center", sideOffset = 0, alignOffset = 0, collisionBoundary = "clipping-ancestors", collisionPadding = 5, arrowPadding = 5, sticky = false, disableAnchorTracking = false, collisionAvoidance = POPUP_COLLISION_AVOIDANCE, style, ...elementProps } = componentProps; const store = useTooltipRootContext(); const keepMounted = useTooltipPortalContext(); const open = store.useState("open"); const mounted = store.useState("mounted"); const trackCursorAxis = store.useState("trackCursorAxis"); const disableHoverablePopup = store.useState("disableHoverablePopup"); const floatingRootContext = store.useState("floatingRootContext"); const instantType = store.useState("instantType"); const transitionStatus = store.useState("transitionStatus"); const hasViewport = store.useState("hasViewport"); const positioning = useAnchorPositioning({ anchor, positionMethod, floatingRootContext, mounted, side, sideOffset, align, alignOffset, collisionBoundary, collisionPadding, sticky, arrowPadding, disableAnchorTracking, keepMounted, collisionAvoidance, adaptiveOrigin: hasViewport ? adaptiveOrigin : void 0 }); const state = React43.useMemo(() => ({ open, side: positioning.side, align: positioning.align, anchorHidden: positioning.anchorHidden, instant: trackCursorAxis !== "none" ? "tracking-cursor" : instantType }), [open, positioning.side, positioning.align, positioning.anchorHidden, trackCursorAxis, instantType]); const element = usePositioner(componentProps, state, { styles: positioning.positionerStyles, transitionStatus, props: elementProps, refs: [forwardedRef, store.useStateSetter("positionerElement")], hidden: !mounted, inert: !open || trackCursorAxis === "both" || disableHoverablePopup }); return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(TooltipPositionerContext.Provider, { value: positioning, children: element }); }); if (true) TooltipPositioner.displayName = "TooltipPositioner"; // node_modules/@base-ui/react/tooltip/popup/TooltipPopup.mjs var React44 = __toESM(require_react(), 1); var stateAttributesMapping = { ...popupStateMapping, ...transitionStatusMapping }; var TooltipPopup = /* @__PURE__ */ React44.forwardRef(function TooltipPopup2(componentProps, forwardedRef) { const { render, className, style, ...elementProps } = componentProps; const store = useTooltipRootContext(); const { side, align } = useTooltipPositionerContext(); const open = store.useState("open"); const instantType = store.useState("instantType"); const transitionStatus = store.useState("transitionStatus"); const popupProps = store.useState("popupProps"); const floatingContext = store.useState("floatingRootContext"); const disabled2 = store.useState("disabled"); const closeDelay = store.useState("closeDelay"); useOpenChangeComplete({ open, ref: store.context.popupRef, onComplete() { if (open) { store.context.onOpenChangeComplete?.(true); } } }); useHoverFloatingInteraction(floatingContext, { enabled: !disabled2, closeDelay }); const setPopupElement = store.useStateSetter("popupElement"); const state = { open, side, align, instant: instantType, transitionStatus }; const element = useRenderElement("div", componentProps, { state, ref: [forwardedRef, store.context.popupRef, setPopupElement], props: [popupProps, getDisabledMountTransitionStyles(transitionStatus), elementProps], stateAttributesMapping }); return element; }); if (true) TooltipPopup.displayName = "TooltipPopup"; // node_modules/@base-ui/react/tooltip/arrow/TooltipArrow.mjs var React45 = __toESM(require_react(), 1); var TooltipArrow = /* @__PURE__ */ React45.forwardRef(function TooltipArrow2(componentProps, forwardedRef) { const { render, className, style, ...elementProps } = componentProps; const store = useTooltipRootContext(); const { arrowRef, side, align, arrowUncentered, arrowStyles } = useTooltipPositionerContext(); const open = store.useState("open"); const instantType = store.useState("instantType"); const state = { open, side, align, uncentered: arrowUncentered, instant: instantType }; const element = useRenderElement("div", componentProps, { state, ref: [forwardedRef, arrowRef], props: [{ style: arrowStyles, "aria-hidden": true }, elementProps], stateAttributesMapping: popupStateMapping }); return element; }); if (true) TooltipArrow.displayName = "TooltipArrow"; // node_modules/@base-ui/react/tooltip/provider/TooltipProvider.mjs var React46 = __toESM(require_react(), 1); var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1); var TooltipProvider = function TooltipProvider2(props) { const { delay, closeDelay, timeout = 400 } = props; const contextValue = React46.useMemo(() => ({ delay, closeDelay }), [delay, closeDelay]); const delayValue = React46.useMemo(() => ({ open: delay, close: closeDelay }), [delay, closeDelay]); return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(TooltipProviderContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(FloatingDelayGroup, { delay: delayValue, timeoutMs: timeout, children: props.children }) }); }; if (true) TooltipProvider.displayName = "TooltipProvider"; // node_modules/@base-ui/react/tooltip/viewport/TooltipViewport.mjs var React47 = __toESM(require_react(), 1); // node_modules/@base-ui/react/tooltip/viewport/TooltipViewportCssVars.mjs var TooltipViewportCssVars = /* @__PURE__ */ (function(TooltipViewportCssVars2) { TooltipViewportCssVars2["popupWidth"] = "--popup-width"; TooltipViewportCssVars2["popupHeight"] = "--popup-height"; return TooltipViewportCssVars2; })({}); // node_modules/@base-ui/react/tooltip/viewport/TooltipViewport.mjs var stateAttributesMapping2 = { activationDirection: (value) => value ? { "data-activation-direction": value } : null }; var TooltipViewport = /* @__PURE__ */ React47.forwardRef(function TooltipViewport2(componentProps, forwardedRef) { const { render, className, style, children, ...elementProps } = componentProps; const store = useTooltipRootContext(); const positioner = useTooltipPositionerContext(); const instantType = store.useState("instantType"); const { children: childrenToRender, state: viewportState } = usePopupViewport({ store, side: positioner.side, cssVars: TooltipViewportCssVars, children }); const state = { activationDirection: viewportState.activationDirection, transitioning: viewportState.transitioning, instant: instantType }; return useRenderElement("div", componentProps, { state, ref: forwardedRef, props: [elementProps, { children: childrenToRender }], stateAttributesMapping: stateAttributesMapping2 }); }); if (true) TooltipViewport.displayName = "TooltipViewport"; // node_modules/@base-ui/react/tooltip/store/TooltipHandle.mjs var TooltipHandle = class { /** * Internal store holding the tooltip state. * @internal */ constructor() { this.store = new TooltipStore(); } /** * Opens the tooltip and associates it with the trigger with the given ID. * The trigger must be a Tooltip.Trigger component with this handle passed as a prop. * * This method should only be called in an event handler or an effect (not during rendering). * * @param triggerId ID of the trigger to associate with the tooltip. */ open(triggerId) { const triggerElement = triggerId ? this.store.context.triggerElements.getById(triggerId) : void 0; if (triggerId && !triggerElement) { throw new Error(true ? `Base UI: TooltipHandle.open: No trigger found with id "${triggerId}".` : formatErrorMessage_default(81, triggerId)); } this.store.setOpen(true, createChangeEventDetails(reason_parts_exports.imperativeAction, void 0, triggerElement)); } /** * Closes the tooltip. */ close() { this.store.setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction, void 0, void 0)); } /** * Indicates whether the tooltip is currently open. */ get isOpen() { return this.store.select("open"); } }; function createTooltipHandle() { return new TooltipHandle(); } // node_modules/@base-ui/react/use-render/useRender.mjs function useRender(params) { return useRenderElement(params.defaultTagName ?? "div", params, params); } // packages/ui/build-module/text/text.mjs var import_element10 = __toESM(require_element(), 1); var STYLE_HASH_ATTRIBUTE = "data-wp-hash"; function getRuntime() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE) === hash) { return true; } } return false; } function injectStyle(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument(targetDocument) { const runtime = getRuntime(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle(hash, css) { const runtime = getRuntime(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle("a495f9d138", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._83ed8a8da5dd50ea__text{margin:0}._14437cfb77831647__heading-2xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-p-line-height:var(--wpds-typography-line-height-2xl,40px);font-size:var(--wpds-typography-font-size-2xl,32px);line-height:var(--wpds-typography-line-height-2xl,40px)}._14437cfb77831647__heading-2xl,._3c78b7fa9b4072dd__heading-xl{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600)}._3c78b7fa9b4072dd__heading-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-md,24px)}.aa58f227716bcde2__heading-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-lg,15px)}.aa58f227716bcde2__heading-lg,.fc4da56d8dfe52c4__heading-md{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-sm,20px)}.fc4da56d8dfe52c4__heading-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px)}.a9b78c7c82e8dff7__heading-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-xs,16px);text-transform:uppercase}._305ff559e52180d5__body-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-xl,32px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-xl,32px)}._305ff559e52180d5__body-xl,.ca1aa3fc2029e958__body-lg{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}.ca1aa3fc2029e958__body-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-lg,15px);line-height:var(--wpds-typography-line-height-md,24px)}._131101940be12424__body-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}._0e8d87a42c1f75fa__body-sm,._131101940be12424__body-md{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}._0e8d87a42c1f75fa__body-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-size:var(--wpds-typography-font-size-sm,12px);line-height:var(--wpds-typography-line-height-xs,16px)}}}'); } var style_default = { "text": "_83ed8a8da5dd50ea__text", "heading-2xl": "_14437cfb77831647__heading-2xl", "heading-xl": "_3c78b7fa9b4072dd__heading-xl", "heading-lg": "aa58f227716bcde2__heading-lg", "heading-md": "fc4da56d8dfe52c4__heading-md", "heading-sm": "a9b78c7c82e8dff7__heading-sm", "body-xl": "_305ff559e52180d5__body-xl", "body-lg": "ca1aa3fc2029e958__body-lg", "body-md": "_131101940be12424__body-md", "body-sm": "_0e8d87a42c1f75fa__body-sm" }; if (typeof process === "undefined" || true) { registerStyle("af6d9984a6", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}"); } var global_css_defense_default = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a" }; var Text = (0, import_element10.forwardRef)(function Text2({ variant = "body-md", render, className, ...props }, ref) { const element = useRender({ render, defaultTagName: "span", ref, props: mergeProps(props, { className: clsx_default( style_default.text, global_css_defense_default.heading, global_css_defense_default.p, style_default[variant], className ) }) }); return element; }); // packages/icons/build-module/icon/index.mjs var import_element11 = __toESM(require_element(), 1); var icon_default = (0, import_element11.forwardRef)( ({ icon, size: size4 = 24, ...props }, ref) => { return (0, import_element11.cloneElement)(icon, { width: size4, height: size4, ...props, ref }); } ); // packages/icons/build-module/library/chevron-left.mjs var import_primitives = __toESM(require_primitives(), 1); var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1); var chevron_left_default = /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_primitives.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_primitives.Path, { d: "M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z" }) }); // packages/icons/build-module/library/chevron-right.mjs var import_primitives2 = __toESM(require_primitives(), 1); var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1); var chevron_right_default = /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_primitives2.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_primitives2.Path, { d: "M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z" }) }); // packages/icons/build-module/library/more-vertical.mjs var import_primitives3 = __toESM(require_primitives(), 1); var import_jsx_runtime13 = __toESM(require_jsx_runtime(), 1); var more_vertical_default = /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_primitives3.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_primitives3.Path, { d: "M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z" }) }); // packages/icons/build-module/library/next.mjs var import_primitives4 = __toESM(require_primitives(), 1); var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1); var next_default = /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_primitives4.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_primitives4.Path, { d: "M6.6 6L5.4 7l4.5 5-4.5 5 1.1 1 5.5-6-5.4-6zm6 0l-1.1 1 4.5 5-4.5 5 1.1 1 5.5-6-5.5-6z" }) }); // packages/icons/build-module/library/previous.mjs var import_primitives5 = __toESM(require_primitives(), 1); var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1); var previous_default = /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_primitives5.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_primitives5.Path, { d: "M11.6 7l-1.1-1L5 12l5.5 6 1.1-1L7 12l4.6-5zm6 0l-1.1-1-5.5 6 5.5 6 1.1-1-4.6-5 4.6-5z" }) }); // packages/ui/build-module/utils/render-slot-with-children.mjs var import_element12 = __toESM(require_element(), 1); function renderSlotWithChildren(slot, defaultSlot, children) { return (0, import_element12.cloneElement)(slot ?? defaultSlot, { children }); } // packages/ui/build-module/utils/theme-provider.mjs var theme = __toESM(require_theme(), 1); // packages/ui/build-module/lock-unlock.mjs var import_private_apis = __toESM(require_private_apis(), 1); var { lock, unlock } = (0, import_private_apis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)( "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.", "@wordpress/ui" ); // packages/ui/build-module/utils/theme-provider.mjs function getThemeProvider() { const themePackage = theme; if (themePackage.ThemeProvider) { return themePackage.ThemeProvider; } if (!themePackage.privateApis) { throw new Error( "@wordpress/ui: @wordpress/theme must expose `ThemeProvider` or `privateApis.ThemeProvider`." ); } return unlock( themePackage.privateApis ).ThemeProvider; } var ThemeProvider = getThemeProvider(); // packages/ui/build-module/stack/stack.mjs var import_element13 = __toESM(require_element(), 1); var STYLE_HASH_ATTRIBUTE2 = "data-wp-hash"; function getRuntime2() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument2(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash2(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE2}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE2) === hash) { return true; } } return false; } function injectStyle2(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime2(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash2(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE2, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument2(targetDocument) { const runtime = getRuntime2(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle2(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle2(hash, css) { const runtime = getRuntime2(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle2(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle2("32aba35fe1", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._19ce0419607e1896__stack{display:flex}}}"); } var style_default2 = { "stack": "_19ce0419607e1896__stack" }; var gapTokens = { xs: "var(--wpds-dimension-gap-xs, 4px)", sm: "var(--wpds-dimension-gap-sm, 8px)", md: "var(--wpds-dimension-gap-md, 12px)", lg: "var(--wpds-dimension-gap-lg, 16px)", xl: "var(--wpds-dimension-gap-xl, 24px)", "2xl": "var(--wpds-dimension-gap-2xl, 32px)", "3xl": "var(--wpds-dimension-gap-3xl, 40px)" }; var Stack = (0, import_element13.forwardRef)(function Stack2({ direction, gap, align, justify, wrap, render, ...props }, ref) { const style = { gap: gap && gapTokens[gap], alignItems: align, justifyContent: justify, flexDirection: direction, flexWrap: wrap }; const element = useRender({ render, ref, props: mergeProps(props, { style, className: style_default2.stack }) }); return element; }); // packages/ui/build-module/tooltip/index.mjs var tooltip_exports = {}; __export(tooltip_exports, { Popup: () => Popup, Portal: () => Portal, Positioner: () => Positioner, Provider: () => Provider, Root: () => Root, Trigger: () => Trigger }); // packages/ui/build-module/tooltip/popup.mjs var import_element16 = __toESM(require_element(), 1); // packages/ui/build-module/tooltip/portal.mjs var import_element14 = __toESM(require_element(), 1); // packages/ui/build-module/utils/wp-compat-overlay-slot.mjs var STYLE_HASH_ATTRIBUTE3 = "data-wp-hash"; function getRuntime3() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument3(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash3(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE3}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE3) === hash) { return true; } } return false; } function injectStyle3(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime3(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash3(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE3, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument3(targetDocument) { const runtime = getRuntime3(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle3(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle3(hash, css) { const runtime = getRuntime3(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle3(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle3("be37f31c1e", "._11fc52b637ff8a7e__slot{inset:0;isolation:isolate;pointer-events:none;position:fixed;z-index:1000000003}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._11fc52b637ff8a7e__slot>*{pointer-events:auto}}}"); } var wp_compat_overlay_slot_default = { "slot": "_11fc52b637ff8a7e__slot" }; var WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE = "data-wp-compat-overlay-slot"; function resolveOwnerDocument() { return typeof document === "undefined" ? null : document; } function isInWordPressEnvironment() { let topWp; try { topWp = window.top?.wp; } catch { } const wp = topWp ?? window.wp; return typeof wp?.components === "object" && wp.components !== null; } var cachedSlot = null; function ensureSlotIsAccessible(element) { element.setAttribute("aria-hidden", "false"); return element; } function createSlot(ownerDocument2) { const element = ownerDocument2.createElement("div"); element.setAttribute(WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE, ""); if (wp_compat_overlay_slot_default.slot) { element.classList.add(wp_compat_overlay_slot_default.slot); } ownerDocument2.body.appendChild(element); return element; } function getWpCompatOverlaySlot() { if (typeof window === "undefined") { return void 0; } if (!isInWordPressEnvironment() && window.__wpUiCompatOverlaySlotEnabled !== true) { return void 0; } const ownerDocument2 = resolveOwnerDocument(); if (!ownerDocument2 || !ownerDocument2.body) { return void 0; } if (cachedSlot && cachedSlot.ownerDocument === ownerDocument2 && cachedSlot.isConnected) { return ensureSlotIsAccessible(cachedSlot); } const existing = ownerDocument2.querySelector( `[${WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE}]` ); if (existing instanceof HTMLDivElement) { cachedSlot = ensureSlotIsAccessible(existing); return cachedSlot; } if (cachedSlot?.isConnected) { cachedSlot.remove(); } cachedSlot = ensureSlotIsAccessible(createSlot(ownerDocument2)); return cachedSlot; } // packages/ui/build-module/tooltip/portal.mjs var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1); var Portal = (0, import_element14.forwardRef)( function TooltipPortal3({ container, ...restProps }, ref) { return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)( index_parts_exports.Portal, { container: container ?? getWpCompatOverlaySlot(), ...restProps, ref } ); } ); // packages/ui/build-module/tooltip/positioner.mjs var import_element15 = __toESM(require_element(), 1); var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE4 = "data-wp-hash"; function getRuntime4() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument4(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash4(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE4}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE4) === hash) { return true; } } return false; } function injectStyle4(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime4(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash4(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE4, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument4(targetDocument) { const runtime = getRuntime4(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle4(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle4(hash, css) { const runtime = getRuntime4(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle4(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle4("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}"); } var resets_default = { "box-sizing": "_336cd3e4e743482f__box-sizing" }; if (typeof process === "undefined" || true) { registerStyle4("19fcc06039", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._480b748dd3510e64__positioner{z-index:var(--wp-ui-tooltip-z-index,initial)}._50096b232db7709d__popup{--_wp-ui-elevation-sm:0 1px 2px rgba(0,0,0,.05),0 2px 3px rgba(0,0,0,.04),0 6px 6px rgba(0,0,0,.03),0 8px 8px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-sm);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:1.4;padding:var(--wpds-dimension-padding-xs,4px) var(--wpds-dimension-padding-sm,8px);@media (forced-colors:active){border-bottom-color:CanvasText;border-bottom-style:solid;border-bottom-width:1px;border-left-color:CanvasText;border-left-style:solid;border-left-width:1px;border-right-color:CanvasText;border-right-style:solid;border-right-width:1px;border-top-color:CanvasText;border-top-style:solid;border-top-width:1px}}}}'); } var style_default3 = { "positioner": "_480b748dd3510e64__positioner", "popup": "_50096b232db7709d__popup" }; var Positioner = (0, import_element15.forwardRef)( function TooltipPositioner3({ align = "center", className, side = "top", sideOffset = 4, ...props }, ref) { return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)( index_parts_exports.Positioner, { ref, align, side, sideOffset, ...props, className: clsx_default( resets_default["box-sizing"], style_default3.positioner, className ) } ); } ); // packages/ui/build-module/tooltip/popup.mjs var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE5 = "data-wp-hash"; function getRuntime5() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument5(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash5(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE5}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE5) === hash) { return true; } } return false; } function injectStyle5(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime5(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash5(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE5, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument5(targetDocument) { const runtime = getRuntime5(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle5(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle5(hash, css) { const runtime = getRuntime5(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle5(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle5("19fcc06039", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._480b748dd3510e64__positioner{z-index:var(--wp-ui-tooltip-z-index,initial)}._50096b232db7709d__popup{--_wp-ui-elevation-sm:0 1px 2px rgba(0,0,0,.05),0 2px 3px rgba(0,0,0,.04),0 6px 6px rgba(0,0,0,.03),0 8px 8px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-sm);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:1.4;padding:var(--wpds-dimension-padding-xs,4px) var(--wpds-dimension-padding-sm,8px);@media (forced-colors:active){border-bottom-color:CanvasText;border-bottom-style:solid;border-bottom-width:1px;border-left-color:CanvasText;border-left-style:solid;border-left-width:1px;border-right-color:CanvasText;border-right-style:solid;border-right-width:1px;border-top-color:CanvasText;border-top-style:solid;border-top-width:1px}}}}'); } var style_default4 = { "positioner": "_480b748dd3510e64__positioner", "popup": "_50096b232db7709d__popup" }; var POPUP_COLOR = { background: "#1e1e1e" }; var Popup = (0, import_element16.forwardRef)(function TooltipPopup3({ portal, positioner, children, className, ...props }, ref) { const popupContent = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ThemeProvider, { color: POPUP_COLOR, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)( index_parts_exports.Popup, { ref, className: clsx_default(style_default4.popup, className), ...props, children } ) }); const positionedPopup = renderSlotWithChildren( positioner, /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Positioner, {}), popupContent ); return renderSlotWithChildren(portal, /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Portal, {}), positionedPopup); }); // packages/ui/build-module/tooltip/trigger.mjs var import_element17 = __toESM(require_element(), 1); var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1); var Trigger = (0, import_element17.forwardRef)( function TooltipTrigger3(props, ref) { return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(index_parts_exports.Trigger, { ref, ...props }); } ); // packages/ui/build-module/tooltip/root.mjs var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1); function Root(props) { return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(index_parts_exports.Root, { ...props }); } // packages/ui/build-module/tooltip/provider.mjs var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1); function Provider({ ...props }) { return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(index_parts_exports.Provider, { ...props }); } // packages/ui/build-module/skeleton/skeleton.mjs var import_element18 = __toESM(require_element(), 1); var STYLE_HASH_ATTRIBUTE6 = "data-wp-hash"; function getRuntime6() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument6(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash6(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE6}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE6) === hash) { return true; } } return false; } function injectStyle6(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime6(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash6(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE6, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument6(targetDocument) { const runtime = getRuntime6(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle6(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle6(hash, css) { const runtime = getRuntime6(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle6(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle6("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}"); } var resets_default2 = { "box-sizing": "_336cd3e4e743482f__box-sizing" }; if (typeof process === "undefined" || true) { registerStyle6("ed2c39ec90", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.b20cc1690085c2f0__skeleton{background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);display:block;@media (forced-colors:active){border:var(--wpds-border-width-xs,1px) solid CanvasText}}._9b143194fdb45f93__pulse{@media not (prefers-reduced-motion){animation:e2b9fe0690281bc8__skeleton-pulse 1.5s ease-in-out infinite}}@keyframes e2b9fe0690281bc8__skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}}}"); } var style_default5 = { "skeleton": "b20cc1690085c2f0__skeleton", "pulse": "_9b143194fdb45f93__pulse", "skeleton-pulse": "e2b9fe0690281bc8__skeleton-pulse" }; var Skeleton = (0, import_element18.forwardRef)( function Skeleton2({ render, ...props }, ref) { return useRender({ render, ref, props: mergeProps( { className: clsx_default( style_default5.skeleton, style_default5.pulse, resets_default2["box-sizing"] ), // Decorative by default; consumers mark the loading // region with aria-busy / role="status". "aria-hidden": true }, props ) }); } ); // packages/admin-ui/build-module/navigable-region/index.mjs var import_element19 = __toESM(require_element(), 1); var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1); var NavigableRegion = (0, import_element19.forwardRef)( ({ children, className, ariaLabel, as: Tag = "div", ...props }, ref) => { return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)( Tag, { ref, className: clsx_default("admin-ui-navigable-region", className), "aria-label": ariaLabel, role: "region", tabIndex: "-1", ...props, children } ); } ); NavigableRegion.displayName = "NavigableRegion"; var navigable_region_default = NavigableRegion; // packages/admin-ui/build-module/page/sidebar-toggle-slot.mjs var import_components = __toESM(require_components(), 1); var { Fill: SidebarToggleFill, Slot: SidebarToggleSlot } = (0, import_components.createSlotFill)("SidebarToggle"); // packages/admin-ui/build-module/page/header.mjs var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE7 = "data-wp-hash"; function getRuntime7() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument7(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash7(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE7}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE7) === hash) { return true; } } return false; } function injectStyle7(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime7(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash7(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE7, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument7(targetDocument) { const runtime = getRuntime7(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle7(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle7(hash, css) { const runtime = getRuntime7(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle7(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle7("ddd9aab364", "._956b6df0898efed0__page{text-wrap:pretty;background-color:var(--wpds-color-background-surface-neutral,#fcfcfc);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);display:flex;flex-flow:column;height:100%;position:relative;z-index:1}._0625b55e82a0d93d__header{background:var(--wpds-color-background-surface-neutral-strong,#fff);border-block-end:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);inset-block-start:0;padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px);position:sticky;z-index:1}.a43c44d5ae28b2e8__header-content{min-height:var(--wpds-dimension-size-md,32px)}.b7cb5b9daf3a3b25__header-actions{flex-shrink:0}._8113be94e7caf73c__header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._9a776c7f70996f61__header-visual{display:grid;flex-shrink:0;grid-template-columns:1fr;grid-template-rows:1fr;height:var(--wpds-dimension-size-sm,24px);width:var(--wpds-dimension-size-sm,24px);>*{grid-column:1/-1;grid-row:1/-1;max-height:100%;max-width:100%}}.d5e0920cd15d35bc__sidebar-toggle-slot:empty{display:none}._60fea2f6bf5319cd__header-subtitle{color:var(--wpds-color-foreground-content-neutral-weak,#707070);padding-block-end:var(--wpds-dimension-padding-xs,4px)}.be5e57d029ec4036__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;&._128806d0b26e3a50__has-padding{padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px)}}"); } var style_default6 = { "page": "_956b6df0898efed0__page", "header": "_0625b55e82a0d93d__header", "header-content": "a43c44d5ae28b2e8__header-content", "header-actions": "b7cb5b9daf3a3b25__header-actions", "header-title": "_8113be94e7caf73c__header-title", "header-visual": "_9a776c7f70996f61__header-visual", "sidebar-toggle-slot": "d5e0920cd15d35bc__sidebar-toggle-slot", "header-subtitle": "_60fea2f6bf5319cd__header-subtitle", "content": "be5e57d029ec4036__content", "has-padding": "_128806d0b26e3a50__has-padding" }; function Header({ headingLevel = 1, breadcrumbs, badges, visual, title, subTitle, actions, showSidebarToggle = true }) { const HeadingTag = `h${headingLevel}`; return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Stack, { direction: "column", className: style_default6.header, children: [ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)( Stack, { className: style_default6["header-content"], direction: "row", gap: "sm", justify: "space-between", children: [ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Stack, { direction: "row", gap: "sm", align: "center", justify: "start", children: [ showSidebarToggle && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)( SidebarToggleSlot, { bubblesVirtually: true, className: style_default6["sidebar-toggle-slot"] } ), visual && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)( "div", { className: style_default6["header-visual"], "aria-hidden": "true", children: visual } ), title && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)( Text, { className: style_default6["header-title"], render: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(HeadingTag, {}), variant: "heading-lg", children: title } ), breadcrumbs, badges ] }), actions && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)( Stack, { align: "center", className: style_default6["header-actions"], direction: "row", gap: "sm", children: actions } ) ] } ), subTitle && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)( Text, { render: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", {}), variant: "body-md", className: style_default6["header-subtitle"], children: subTitle } ) ] }); } // packages/admin-ui/build-module/page/index.mjs var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1); var STYLE_HASH_ATTRIBUTE8 = "data-wp-hash"; function getRuntime8() { const globalScope = globalThis; if (globalScope.__wpStyleRuntime) { return globalScope.__wpStyleRuntime; } globalScope.__wpStyleRuntime = { documents: /* @__PURE__ */ new Map(), styles: /* @__PURE__ */ new Map(), injectedStyles: /* @__PURE__ */ new WeakMap() }; if (typeof document !== "undefined") { registerDocument8(document); } return globalScope.__wpStyleRuntime; } function documentContainsStyleHash8(targetDocument, hash) { if (!targetDocument.head) { return false; } for (const style of targetDocument.head.querySelectorAll( `style[${STYLE_HASH_ATTRIBUTE8}]` )) { if (style.getAttribute(STYLE_HASH_ATTRIBUTE8) === hash) { return true; } } return false; } function injectStyle8(targetDocument, hash, css) { if (!targetDocument.head) { return; } const runtime = getRuntime8(); let injectedStyles = runtime.injectedStyles.get(targetDocument); if (!injectedStyles) { injectedStyles = /* @__PURE__ */ new Set(); runtime.injectedStyles.set(targetDocument, injectedStyles); } if (injectedStyles.has(hash)) { return; } if (documentContainsStyleHash8(targetDocument, hash)) { injectedStyles.add(hash); return; } const style = targetDocument.createElement("style"); style.setAttribute(STYLE_HASH_ATTRIBUTE8, hash); style.appendChild(targetDocument.createTextNode(css)); targetDocument.head.appendChild(style); injectedStyles.add(hash); } function registerDocument8(targetDocument) { const runtime = getRuntime8(); runtime.documents.set( targetDocument, (runtime.documents.get(targetDocument) ?? 0) + 1 ); for (const [hash, css] of runtime.styles) { injectStyle8(targetDocument, hash, css); } return () => { const count = runtime.documents.get(targetDocument); if (count === void 0) { return; } if (count <= 1) { runtime.documents.delete(targetDocument); return; } runtime.documents.set(targetDocument, count - 1); }; } function registerStyle8(hash, css) { const runtime = getRuntime8(); runtime.styles.set(hash, css); for (const targetDocument of runtime.documents.keys()) { injectStyle8(targetDocument, hash, css); } } if (typeof process === "undefined" || true) { registerStyle8("ddd9aab364", "._956b6df0898efed0__page{text-wrap:pretty;background-color:var(--wpds-color-background-surface-neutral,#fcfcfc);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);display:flex;flex-flow:column;height:100%;position:relative;z-index:1}._0625b55e82a0d93d__header{background:var(--wpds-color-background-surface-neutral-strong,#fff);border-block-end:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);inset-block-start:0;padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px);position:sticky;z-index:1}.a43c44d5ae28b2e8__header-content{min-height:var(--wpds-dimension-size-md,32px)}.b7cb5b9daf3a3b25__header-actions{flex-shrink:0}._8113be94e7caf73c__header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._9a776c7f70996f61__header-visual{display:grid;flex-shrink:0;grid-template-columns:1fr;grid-template-rows:1fr;height:var(--wpds-dimension-size-sm,24px);width:var(--wpds-dimension-size-sm,24px);>*{grid-column:1/-1;grid-row:1/-1;max-height:100%;max-width:100%}}.d5e0920cd15d35bc__sidebar-toggle-slot:empty{display:none}._60fea2f6bf5319cd__header-subtitle{color:var(--wpds-color-foreground-content-neutral-weak,#707070);padding-block-end:var(--wpds-dimension-padding-xs,4px)}.be5e57d029ec4036__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;&._128806d0b26e3a50__has-padding{padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px)}}"); } var style_default7 = { "page": "_956b6df0898efed0__page", "header": "_0625b55e82a0d93d__header", "header-content": "a43c44d5ae28b2e8__header-content", "header-actions": "b7cb5b9daf3a3b25__header-actions", "header-title": "_8113be94e7caf73c__header-title", "header-visual": "_9a776c7f70996f61__header-visual", "sidebar-toggle-slot": "d5e0920cd15d35bc__sidebar-toggle-slot", "header-subtitle": "_60fea2f6bf5319cd__header-subtitle", "content": "be5e57d029ec4036__content", "has-padding": "_128806d0b26e3a50__has-padding" }; function Page({ headingLevel, breadcrumbs, badges, visual, title, subTitle, children, className, actions, ariaLabel, hasPadding = false, showSidebarToggle = true }) { const classes = clsx_default(style_default7.page, className); const effectiveAriaLabel = ariaLabel ?? (typeof title === "string" ? title : ""); return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(navigable_region_default, { className: classes, ariaLabel: effectiveAriaLabel, children: [ (title || breadcrumbs || badges || actions || visual) && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)( Header, { headingLevel, breadcrumbs, badges, visual, title, subTitle, actions, showSidebarToggle } ), hasPadding ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)( "div", { className: clsx_default( style_default7.content, style_default7["has-padding"] ), children } ) : children ] }); } Page.SidebarToggleFill = SidebarToggleFill; var page_default = Page; // routes/font-list/stage.tsx var import_i18n47 = __toESM(require_i18n()); var import_components60 = __toESM(require_components()); var import_editor = __toESM(require_editor()); var import_core_data12 = __toESM(require_core_data()); var import_data13 = __toESM(require_data()); var import_element52 = __toESM(require_element()); // packages/global-styles-ui/build-module/global-styles-ui.mjs var import_components59 = __toESM(require_components(), 1); var import_blocks5 = __toESM(require_blocks(), 1); var import_data12 = __toESM(require_data(), 1); var import_block_editor14 = __toESM(require_block_editor(), 1); var import_element51 = __toESM(require_element(), 1); var import_compose6 = __toESM(require_compose(), 1); // packages/global-styles-engine/build-module/utils/object.mjs function setImmutably(object, path, value) { path = Array.isArray(path) ? [...path] : [path]; object = Array.isArray(object) ? [...object] : { ...object }; const leaf = path.pop(); let prev = object; for (const key of path) { const lvl = prev[key]; prev = prev[key] = Array.isArray(lvl) ? [...lvl] : { ...lvl }; } prev[leaf] = value; return object; } var getValueFromObjectPath = (object, path, defaultValue) => { const arrayPath = Array.isArray(path) ? path : path.split("."); let value = object; arrayPath.forEach((fieldName) => { value = value?.[fieldName]; }); return value ?? defaultValue; }; // packages/global-styles-engine/build-module/settings/get-setting.mjs var VALID_SETTINGS = [ "appearanceTools", "useRootPaddingAwareAlignments", "background.backgroundImage", "background.backgroundRepeat", "background.backgroundSize", "background.backgroundPosition", "background.gradient", "border.color", "border.radius", "border.radiusSizes", "border.style", "border.width", "shadow.presets", "shadow.defaultPresets", "color.background", "color.button", "color.caption", "color.custom", "color.customDuotone", "color.customGradient", "color.defaultDuotone", "color.defaultGradients", "color.defaultPalette", "color.duotone", "color.gradients", "color.heading", "color.link", "color.palette", "color.text", "custom", "dimensions.aspectRatio", "dimensions.height", "dimensions.minHeight", "dimensions.minWidth", "dimensions.width", "dimensions.dimensionSizes", "layout.contentSize", "layout.definitions", "layout.wideSize", "lightbox.enabled", "lightbox.allowEditing", "position.fixed", "position.sticky", "spacing.customSpacingSize", "spacing.defaultSpacingSizes", "spacing.spacingSizes", "spacing.spacingScale", "spacing.blockGap", "spacing.margin", "spacing.padding", "spacing.units", "typography.fluid", "typography.customFontSize", "typography.defaultFontSizes", "typography.dropCap", "typography.fontFamilies", "typography.fontSizes", "typography.fontStyle", "typography.fontWeight", "typography.letterSpacing", "typography.lineHeight", "typography.textAlign", "typography.textColumns", "typography.textDecoration", "typography.textIndent", "typography.textTransform", "typography.writingMode", "viewport.mobile", "viewport.tablet" ]; function getSetting(globalStyles, path, blockName) { const appendedBlockPath = blockName ? ".blocks." + blockName : ""; const appendedPropertyPath = path ? "." + path : ""; const contextualPath = `settings${appendedBlockPath}${appendedPropertyPath}`; const globalPath = `settings${appendedPropertyPath}`; if (path) { return getValueFromObjectPath(globalStyles, contextualPath) ?? getValueFromObjectPath(globalStyles, globalPath); } let result = {}; VALID_SETTINGS.forEach((setting) => { const value = getValueFromObjectPath( globalStyles, `settings${appendedBlockPath}.${setting}` ) ?? getValueFromObjectPath(globalStyles, `settings.${setting}`); if (value !== void 0) { result = setImmutably(result, setting.split("."), value); } }); return result; } // packages/global-styles-engine/build-module/settings/set-setting.mjs function setSetting(globalStyles, path, newValue, blockName) { const appendedBlockPath = blockName ? ".blocks." + blockName : ""; const appendedPropertyPath = path ? "." + path : ""; const finalPath = `settings${appendedBlockPath}${appendedPropertyPath}`; return setImmutably( globalStyles, finalPath.split("."), newValue ); } // packages/global-styles-engine/build-module/utils/common.mjs var import_style_engine = __toESM(require_style_engine(), 1); // packages/global-styles-engine/build-module/utils/fluid.mjs var DEFAULT_MAXIMUM_VIEWPORT_WIDTH = "1600px"; var DEFAULT_MINIMUM_VIEWPORT_WIDTH = "320px"; var DEFAULT_SCALE_FACTOR = 1; var DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN = 0.25; var DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX = 0.75; var DEFAULT_MINIMUM_FONT_SIZE_LIMIT = "14px"; function getComputedFluidTypographyValue({ minimumFontSize, maximumFontSize, fontSize, minimumViewportWidth = DEFAULT_MINIMUM_VIEWPORT_WIDTH, maximumViewportWidth = DEFAULT_MAXIMUM_VIEWPORT_WIDTH, scaleFactor = DEFAULT_SCALE_FACTOR, minimumFontSizeLimit }) { minimumFontSizeLimit = !!getTypographyValueAndUnit(minimumFontSizeLimit) ? minimumFontSizeLimit : DEFAULT_MINIMUM_FONT_SIZE_LIMIT; if (fontSize) { const fontSizeParsed = getTypographyValueAndUnit(fontSize); if (!fontSizeParsed?.unit || !fontSizeParsed?.value) { return null; } const minimumFontSizeLimitParsed = getTypographyValueAndUnit( minimumFontSizeLimit, { coerceTo: fontSizeParsed.unit } ); if (!!minimumFontSizeLimitParsed?.value && !minimumFontSize && !maximumFontSize) { if (fontSizeParsed?.value <= minimumFontSizeLimitParsed?.value) { return null; } } if (!maximumFontSize) { maximumFontSize = `${fontSizeParsed.value}${fontSizeParsed.unit}`; } if (!minimumFontSize) { const fontSizeValueInPx = fontSizeParsed.unit === "px" ? fontSizeParsed.value : fontSizeParsed.value * 16; const minimumFontSizeFactor = Math.min( Math.max( 1 - 0.075 * Math.log2(fontSizeValueInPx), DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MIN ), DEFAULT_MINIMUM_FONT_SIZE_FACTOR_MAX ); const calculatedMinimumFontSize = roundToPrecision( fontSizeParsed.value * minimumFontSizeFactor, 3 ); if (!!minimumFontSizeLimitParsed?.value && calculatedMinimumFontSize < minimumFontSizeLimitParsed?.value) { minimumFontSize = `${minimumFontSizeLimitParsed.value}${minimumFontSizeLimitParsed.unit}`; } else { minimumFontSize = `${calculatedMinimumFontSize}${fontSizeParsed.unit}`; } } } const minimumFontSizeParsed = getTypographyValueAndUnit(minimumFontSize); const fontSizeUnit = minimumFontSizeParsed?.unit || "rem"; const maximumFontSizeParsed = getTypographyValueAndUnit(maximumFontSize, { coerceTo: fontSizeUnit }); if (!minimumFontSizeParsed || !maximumFontSizeParsed) { return null; } const minimumFontSizeRem = getTypographyValueAndUnit(minimumFontSize, { coerceTo: "rem" }); const maximumViewportWidthParsed = getTypographyValueAndUnit( maximumViewportWidth, { coerceTo: fontSizeUnit } ); const minimumViewportWidthParsed = getTypographyValueAndUnit( minimumViewportWidth, { coerceTo: fontSizeUnit } ); if (!maximumViewportWidthParsed || !minimumViewportWidthParsed || !minimumFontSizeRem) { return null; } const linearDenominator = maximumViewportWidthParsed.value - minimumViewportWidthParsed.value; if (!linearDenominator) { return null; } const minViewportWidthOffsetValue = roundToPrecision( minimumViewportWidthParsed.value / 100, 3 ); const viewportWidthOffset = roundToPrecision(minViewportWidthOffsetValue, 3) + fontSizeUnit; const linearFactor = 100 * ((maximumFontSizeParsed.value - minimumFontSizeParsed.value) / linearDenominator); const linearFactorScaled = roundToPrecision( (linearFactor || 1) * scaleFactor, 3 ); const fluidTargetFontSize = `${minimumFontSizeRem.value}${minimumFontSizeRem.unit} + ((1vw - ${viewportWidthOffset}) * ${linearFactorScaled})`; return `clamp(${minimumFontSize}, ${fluidTargetFontSize}, ${maximumFontSize})`; } function getTypographyValueAndUnit(rawValue, options = {}) { if (typeof rawValue !== "string" && typeof rawValue !== "number") { return null; } if (isFinite(rawValue)) { rawValue = `${rawValue}px`; } const { coerceTo, rootSizeValue, acceptableUnits } = { coerceTo: "", // Default browser font size. Later we could inject some JS to compute this `getComputedStyle( document.querySelector( "html" ) ).fontSize`. rootSizeValue: 16, acceptableUnits: ["rem", "px", "em"], ...options }; const acceptableUnitsGroup = acceptableUnits?.join("|"); const regexUnits = new RegExp( `^(\\d*\\.?\\d+)(${acceptableUnitsGroup}){1,1}$` ); const matches = rawValue.toString().match(regexUnits); if (!matches || matches.length < 3) { return null; } let [, value, unit] = matches; let returnValue = parseFloat(value); if ("px" === coerceTo && ("em" === unit || "rem" === unit)) { returnValue = returnValue * rootSizeValue; unit = coerceTo; } if ("px" === unit && ("em" === coerceTo || "rem" === coerceTo)) { returnValue = returnValue / rootSizeValue; unit = coerceTo; } if (("em" === coerceTo || "rem" === coerceTo) && ("em" === unit || "rem" === unit)) { unit = coerceTo; } if (!unit) { return null; } return { value: roundToPrecision(returnValue, 3), unit }; } function roundToPrecision(value, digits = 3) { const base = Math.pow(10, digits); return Math.round(value * base) / base; } // packages/global-styles-engine/build-module/utils/typography.mjs function isFluidTypographyEnabled(typographySettings) { const fluidSettings = typographySettings?.fluid; return true === fluidSettings || fluidSettings && typeof fluidSettings === "object" && Object.keys(fluidSettings).length > 0; } function getFluidTypographyOptionsFromSettings(settings) { const typographySettings = settings?.typography ?? {}; const layoutSettings = settings?.layout; const defaultMaxViewportWidth = getTypographyValueAndUnit( layoutSettings?.wideSize ) ? layoutSettings?.wideSize : null; return isFluidTypographyEnabled(typographySettings) && defaultMaxViewportWidth ? { fluid: { maxViewportWidth: defaultMaxViewportWidth, ...typeof typographySettings.fluid === "object" ? typographySettings.fluid : {} } } : { fluid: typographySettings?.fluid }; } function getTypographyFontSizeValue(preset, settings) { const { size: defaultSize } = preset; if (!defaultSize || "0" === defaultSize || false === preset?.fluid) { return defaultSize; } if (!isFluidTypographyEnabled(settings?.typography) && !isFluidTypographyEnabled(preset)) { return defaultSize; } const fluidTypographySettings = getFluidTypographyOptionsFromSettings(settings)?.fluid ?? {}; const fluidFontSizeValue = getComputedFluidTypographyValue({ minimumFontSize: typeof preset?.fluid === "boolean" ? void 0 : preset?.fluid?.min, maximumFontSize: typeof preset?.fluid === "boolean" ? void 0 : preset?.fluid?.max, fontSize: defaultSize, minimumFontSizeLimit: typeof fluidTypographySettings === "object" ? fluidTypographySettings?.minFontSize : void 0, maximumViewportWidth: typeof fluidTypographySettings === "object" ? fluidTypographySettings?.maxViewportWidth : void 0, minimumViewportWidth: typeof fluidTypographySettings === "object" ? fluidTypographySettings?.minViewportWidth : void 0 }); if (!!fluidFontSizeValue) { return fluidFontSizeValue; } return defaultSize; } // packages/global-styles-engine/build-module/utils/common.mjs var PRESET_METADATA = [ { path: ["color", "palette"], valueKey: "color", cssVarInfix: "color", classes: [ { classSuffix: "color", propertyName: "color" }, { classSuffix: "background-color", propertyName: "background-color" }, { classSuffix: "border-color", propertyName: "border-color" } ] }, { path: ["color", "gradients"], valueKey: "gradient", cssVarInfix: "gradient", classes: [ { classSuffix: "gradient-background", propertyName: "background" } ] }, { path: ["color", "duotone"], valueKey: "colors", cssVarInfix: "duotone", valueFunc: ({ slug }) => `url( '#wp-duotone-${slug}' )`, classes: [] }, { path: ["shadow", "presets"], valueKey: "shadow", cssVarInfix: "shadow", classes: [] }, { path: ["typography", "fontSizes"], valueFunc: (preset, settings) => getTypographyFontSizeValue(preset, settings), valueKey: "size", cssVarInfix: "font-size", classes: [{ classSuffix: "font-size", propertyName: "font-size" }] }, { path: ["typography", "fontFamilies"], valueKey: "fontFamily", cssVarInfix: "font-family", classes: [ { classSuffix: "font-family", propertyName: "font-family" } ] }, { path: ["spacing", "spacingSizes"], valueKey: "size", cssVarInfix: "spacing", valueFunc: ({ size: size4 }) => size4, classes: [] }, { path: ["border", "radiusSizes"], valueKey: "size", cssVarInfix: "border-radius", classes: [] }, { path: ["dimensions", "dimensionSizes"], valueKey: "size", cssVarInfix: "dimension", classes: [] } ]; function getResolvedRefValue(ruleValue, tree) { if (!ruleValue || !tree) { return ruleValue; } if (typeof ruleValue === "object" && "ref" in ruleValue && ruleValue?.ref) { const resolvedRuleValue = (0, import_style_engine.getCSSValueFromRawStyle)( getValueFromObjectPath(tree, ruleValue.ref) ); if (typeof resolvedRuleValue === "object" && resolvedRuleValue !== null && "ref" in resolvedRuleValue && resolvedRuleValue?.ref) { return void 0; } if (resolvedRuleValue === void 0) { return ruleValue; } return resolvedRuleValue; } return ruleValue; } function getResolvedThemeFilePath(file, themeFileURIs) { if (!file || !themeFileURIs || !Array.isArray(themeFileURIs)) { return file; } const uri = themeFileURIs.find( (themeFileUri) => themeFileUri?.name === file ); if (!uri?.href) { return file; } return uri?.href; } function getResolvedValue(ruleValue, tree) { if (!ruleValue || !tree) { return ruleValue; } const resolvedValue = getResolvedRefValue(ruleValue, tree); if (typeof resolvedValue === "object" && resolvedValue !== null && "url" in resolvedValue && resolvedValue?.url) { resolvedValue.url = getResolvedThemeFilePath( resolvedValue.url, tree?._links?.["wp:theme-file"] ); } return resolvedValue; } function findInPresetsBy(settings, blockName, presetPath = [], presetProperty = "slug", presetValueValue) { const orderedPresetsByOrigin = [ blockName ? getValueFromObjectPath(settings, [ "blocks", blockName, ...presetPath ]) : void 0, getValueFromObjectPath(settings, presetPath) ].filter(Boolean); for (const presetByOrigin of orderedPresetsByOrigin) { if (presetByOrigin) { const origins = ["custom", "theme", "default"]; for (const origin of origins) { const presets = presetByOrigin[origin]; if (presets) { const presetObject = presets.find( (preset) => preset[presetProperty] === presetValueValue ); if (presetObject) { if (presetProperty === "slug") { return presetObject; } const highestPresetObjectWithSameSlug = findInPresetsBy( settings, blockName, presetPath, "slug", presetObject.slug ); if (highestPresetObjectWithSameSlug[presetProperty] === presetObject[presetProperty]) { return presetObject; } return void 0; } } } } } } function getValueFromPresetVariable(features, blockName, variable, [presetType, slug] = []) { const metadata = PRESET_METADATA.find( (data) => data.cssVarInfix === presetType ); if (!metadata || !features.settings) { return variable; } const presetObject = findInPresetsBy( features.settings, blockName, metadata.path, "slug", slug ); if (presetObject) { const { valueKey } = metadata; const result = presetObject[valueKey]; return getValueFromVariable(features, blockName, result); } return variable; } function getValueFromCustomVariable(features, blockName, variable, path = []) { const result = (blockName ? getValueFromObjectPath(features?.settings ?? {}, [ "blocks", blockName, "custom", ...path ]) : void 0) ?? getValueFromObjectPath(features?.settings ?? {}, [ "custom", ...path ]); if (!result) { return variable; } return getValueFromVariable(features, blockName, result); } function getValueFromVariable(features, blockName, variable) { if (!variable || typeof variable !== "string") { if (typeof variable === "object" && variable !== null && "ref" in variable && typeof variable.ref === "string") { const resolvedVariable = getValueFromObjectPath( features, variable.ref ); if (!resolvedVariable || typeof resolvedVariable === "object" && "ref" in resolvedVariable) { return resolvedVariable; } variable = resolvedVariable; } else { return variable; } } const USER_VALUE_PREFIX = "var:"; const THEME_VALUE_PREFIX = "var(--wp--"; const THEME_VALUE_SUFFIX = ")"; let parsedVar; if (variable.startsWith(USER_VALUE_PREFIX)) { parsedVar = variable.slice(USER_VALUE_PREFIX.length).split("|"); } else if (variable.startsWith(THEME_VALUE_PREFIX) && variable.endsWith(THEME_VALUE_SUFFIX)) { parsedVar = variable.slice(THEME_VALUE_PREFIX.length, -THEME_VALUE_SUFFIX.length).split("--"); } else { return variable; } const [type, ...path] = parsedVar; if (type === "preset") { return getValueFromPresetVariable( features, blockName, variable, path ); } if (type === "custom") { return getValueFromCustomVariable( features, blockName, variable, path ); } return variable; } // packages/global-styles-engine/build-module/style-state-back-compat.mjs var LEGACY_STYLE_STATE_ALIASES = { "@mobile": "mobile", "@tablet": "tablet", "-current": "@current" }; function isObjectRecord(value) { return !!value && typeof value === "object" && !Array.isArray(value); } function normalizeStyleStateNode(node) { if (!isObjectRecord(node)) { return node; } let normalized = node; Object.entries(LEGACY_STYLE_STATE_ALIASES).forEach( ([state, legacyState]) => { if (Object.hasOwn(node, legacyState)) { if (normalized === node) { normalized = { ...node }; } if (!Object.hasOwn(node, state)) { normalized[state] = node[legacyState]; } delete normalized[legacyState]; } } ); Object.entries(normalized).forEach(([key, value]) => { if (!isObjectRecord(value)) { return; } const normalizedValue = normalizeStyleStateNode(value); if (normalizedValue !== value) { if (normalized === node) { normalized = { ...node }; } normalized[key] = normalizedValue; } }); return normalized; } function normalizeStyleStateAliases(globalStyles) { if (true) { return globalStyles; } if (!globalStyles?.styles) { return globalStyles; } const styles = normalizeStyleStateNode(globalStyles.styles); return styles === globalStyles.styles ? globalStyles : { ...globalStyles, styles }; } function getLegacyStyleStatePath(path) { if (true) { return void 0; } const pathParts = path.split("."); const legacyPathParts = pathParts.map( (part) => LEGACY_STYLE_STATE_ALIASES[part] ?? part ); return legacyPathParts.some( (part, index2) => part !== pathParts[index2] ) ? legacyPathParts.join(".") : void 0; } // packages/global-styles-engine/build-module/settings/get-style.mjs function getStyle(globalStyles, path, blockName, shouldDecodeEncode = true) { const appendedPath = path ? "." + path : ""; const finalPath = !blockName ? `styles${appendedPath}` : `styles.blocks.${blockName}${appendedPath}`; if (!globalStyles) { return void 0; } let rawResult = getValueFromObjectPath(globalStyles, finalPath); const legacyPath = getLegacyStyleStatePath(finalPath); if (rawResult === void 0 && legacyPath) { let hasCanonicalPath = true; let currentValue = globalStyles; for (const pathPart of finalPath.split(".")) { if (!currentValue || typeof currentValue !== "object" || !Object.hasOwn(currentValue, pathPart)) { hasCanonicalPath = false; break; } currentValue = currentValue[pathPart]; } if (!hasCanonicalPath) { rawResult = getValueFromObjectPath(globalStyles, legacyPath); } } const result = shouldDecodeEncode ? getValueFromVariable(globalStyles, blockName, rawResult) : rawResult; return result; } // packages/global-styles-engine/build-module/settings/set-style.mjs function setStyle(globalStyles, path, newValue, blockName) { const appendedPath = path ? "." + path : ""; const finalPath = !blockName ? `styles${appendedPath}` : `styles.blocks.${blockName}${appendedPath}`; return setImmutably( normalizeStyleStateAliases(globalStyles), finalPath.split("."), newValue ); } // packages/global-styles-engine/build-module/core/equal.mjs var import_es6 = __toESM(require_es6(), 1); function areGlobalStylesEqual(original, variation) { if (typeof original !== "object" || typeof variation !== "object") { return original === variation; } return (0, import_es6.default)(original?.styles, variation?.styles) && (0, import_es6.default)(original?.settings, variation?.settings); } // packages/global-styles-engine/build-module/core/merge.mjs var import_deepmerge = __toESM(require_cjs(), 1); // node_modules/is-plain-object/dist/is-plain-object.mjs function isObject(o3) { return Object.prototype.toString.call(o3) === "[object Object]"; } function isPlainObject(o3) { var ctor, prot; if (isObject(o3) === false) return false; ctor = o3.constructor; if (ctor === void 0) return true; prot = ctor.prototype; if (isObject(prot) === false) return false; if (prot.hasOwnProperty("isPrototypeOf") === false) { return false; } return true; } // packages/global-styles-engine/build-module/core/merge.mjs function mergeGlobalStyles(base, user) { return (0, import_deepmerge.default)( normalizeStyleStateAliases(base), normalizeStyleStateAliases(user), { /* * We only pass as arrays the presets, * in which case we want the new array of values * to override the old array (no merging). */ isMergeableObject: isPlainObject, /* * Exceptions to the above rule. * Background images should be replaced, not merged, * as they themselves are specific object definitions for the style. */ customMerge: (key) => { if (key === "backgroundImage") { return (baseConfig, userConfig) => userConfig ?? baseConfig; } return void 0; } } ); } // node_modules/colord/index.mjs var r2 = { grad: 0.9, turn: 360, rad: 360 / (2 * Math.PI) }; var t = function(r3) { return "string" == typeof r3 ? r3.length > 0 : "number" == typeof r3; }; var n = function(r3, t3, n2) { return void 0 === t3 && (t3 = 0), void 0 === n2 && (n2 = Math.pow(10, t3)), Math.round(n2 * r3) / n2 + 0; }; var e = function(r3, t3, n2) { return void 0 === t3 && (t3 = 0), void 0 === n2 && (n2 = 1), r3 > n2 ? n2 : r3 > t3 ? r3 : t3; }; var u = function(r3) { return (r3 = isFinite(r3) ? r3 % 360 : 0) > 0 ? r3 : r3 + 360; }; var a = function(r3) { return { r: e(r3.r, 0, 255), g: e(r3.g, 0, 255), b: e(r3.b, 0, 255), a: e(r3.a) }; }; var o = function(r3) { return { r: n(r3.r), g: n(r3.g), b: n(r3.b), a: n(r3.a, 3) }; }; var i = /^#([0-9a-f]{3,8})$/i; var s = function(r3) { var t3 = r3.toString(16); return t3.length < 2 ? "0" + t3 : t3; }; var h = function(r3) { var t3 = r3.r, n2 = r3.g, e2 = r3.b, u2 = r3.a, a2 = Math.max(t3, n2, e2), o3 = a2 - Math.min(t3, n2, e2), i2 = o3 ? a2 === t3 ? (n2 - e2) / o3 : a2 === n2 ? 2 + (e2 - t3) / o3 : 4 + (t3 - n2) / o3 : 0; return { h: 60 * (i2 < 0 ? i2 + 6 : i2), s: a2 ? o3 / a2 * 100 : 0, v: a2 / 255 * 100, a: u2 }; }; var b = function(r3) { var t3 = r3.h, n2 = r3.s, e2 = r3.v, u2 = r3.a; t3 = t3 / 360 * 6, n2 /= 100, e2 /= 100; var a2 = Math.floor(t3), o3 = e2 * (1 - n2), i2 = e2 * (1 - (t3 - a2) * n2), s2 = e2 * (1 - (1 - t3 + a2) * n2), h2 = a2 % 6; return { r: 255 * [e2, i2, o3, o3, s2, e2][h2], g: 255 * [s2, e2, e2, i2, o3, o3][h2], b: 255 * [o3, o3, s2, e2, e2, i2][h2], a: u2 }; }; var g = function(r3) { return { h: u(r3.h), s: e(r3.s, 0, 100), l: e(r3.l, 0, 100), a: e(r3.a) }; }; var d = function(r3) { return { h: n(r3.h), s: n(r3.s), l: n(r3.l), a: n(r3.a, 3) }; }; var f = function(r3) { return b((n2 = (t3 = r3).s, { h: t3.h, s: (n2 *= ((e2 = t3.l) < 50 ? e2 : 100 - e2) / 100) > 0 ? 2 * n2 / (e2 + n2) * 100 : 0, v: e2 + n2, a: t3.a })); var t3, n2, e2; }; var c = function(r3) { return { h: (t3 = h(r3)).h, s: (u2 = (200 - (n2 = t3.s)) * (e2 = t3.v) / 100) > 0 && u2 < 200 ? n2 * e2 / 100 / (u2 <= 100 ? u2 : 200 - u2) * 100 : 0, l: u2 / 2, a: t3.a }; var t3, n2, e2, u2; }; var l = /^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i; var p2 = /^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i; var v = /^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i; var m = /^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i; var y = { string: [[function(r3) { var t3 = i.exec(r3); return t3 ? (r3 = t3[1]).length <= 4 ? { r: parseInt(r3[0] + r3[0], 16), g: parseInt(r3[1] + r3[1], 16), b: parseInt(r3[2] + r3[2], 16), a: 4 === r3.length ? n(parseInt(r3[3] + r3[3], 16) / 255, 2) : 1 } : 6 === r3.length || 8 === r3.length ? { r: parseInt(r3.substr(0, 2), 16), g: parseInt(r3.substr(2, 2), 16), b: parseInt(r3.substr(4, 2), 16), a: 8 === r3.length ? n(parseInt(r3.substr(6, 2), 16) / 255, 2) : 1 } : null : null; }, "hex"], [function(r3) { var t3 = v.exec(r3) || m.exec(r3); return t3 ? t3[2] !== t3[4] || t3[4] !== t3[6] ? null : a({ r: Number(t3[1]) / (t3[2] ? 100 / 255 : 1), g: Number(t3[3]) / (t3[4] ? 100 / 255 : 1), b: Number(t3[5]) / (t3[6] ? 100 / 255 : 1), a: void 0 === t3[7] ? 1 : Number(t3[7]) / (t3[8] ? 100 : 1) }) : null; }, "rgb"], [function(t3) { var n2 = l.exec(t3) || p2.exec(t3); if (!n2) return null; var e2, u2, a2 = g({ h: (e2 = n2[1], u2 = n2[2], void 0 === u2 && (u2 = "deg"), Number(e2) * (r2[u2] || 1)), s: Number(n2[3]), l: Number(n2[4]), a: void 0 === n2[5] ? 1 : Number(n2[5]) / (n2[6] ? 100 : 1) }); return f(a2); }, "hsl"]], object: [[function(r3) { var n2 = r3.r, e2 = r3.g, u2 = r3.b, o3 = r3.a, i2 = void 0 === o3 ? 1 : o3; return t(n2) && t(e2) && t(u2) ? a({ r: Number(n2), g: Number(e2), b: Number(u2), a: Number(i2) }) : null; }, "rgb"], [function(r3) { var n2 = r3.h, e2 = r3.s, u2 = r3.l, a2 = r3.a, o3 = void 0 === a2 ? 1 : a2; if (!t(n2) || !t(e2) || !t(u2)) return null; var i2 = g({ h: Number(n2), s: Number(e2), l: Number(u2), a: Number(o3) }); return f(i2); }, "hsl"], [function(r3) { var n2 = r3.h, a2 = r3.s, o3 = r3.v, i2 = r3.a, s2 = void 0 === i2 ? 1 : i2; if (!t(n2) || !t(a2) || !t(o3)) return null; var h2 = (function(r4) { return { h: u(r4.h), s: e(r4.s, 0, 100), v: e(r4.v, 0, 100), a: e(r4.a) }; })({ h: Number(n2), s: Number(a2), v: Number(o3), a: Number(s2) }); return b(h2); }, "hsv"]] }; var N = function(r3, t3) { for (var n2 = 0; n2 < t3.length; n2++) { var e2 = t3[n2][0](r3); if (e2) return [e2, t3[n2][1]]; } return [null, void 0]; }; var x = function(r3) { return "string" == typeof r3 ? N(r3.trim(), y.string) : "object" == typeof r3 && null !== r3 ? N(r3, y.object) : [null, void 0]; }; var M = function(r3, t3) { var n2 = c(r3); return { h: n2.h, s: e(n2.s + 100 * t3, 0, 100), l: n2.l, a: n2.a }; }; var H = function(r3) { return (299 * r3.r + 587 * r3.g + 114 * r3.b) / 1e3 / 255; }; var $ = function(r3, t3) { var n2 = c(r3); return { h: n2.h, s: n2.s, l: e(n2.l + 100 * t3, 0, 100), a: n2.a }; }; var j = (function() { function r3(r4) { this.parsed = x(r4)[0], this.rgba = this.parsed || { r: 0, g: 0, b: 0, a: 1 }; } return r3.prototype.isValid = function() { return null !== this.parsed; }, r3.prototype.brightness = function() { return n(H(this.rgba), 2); }, r3.prototype.isDark = function() { return H(this.rgba) < 0.5; }, r3.prototype.isLight = function() { return H(this.rgba) >= 0.5; }, r3.prototype.toHex = function() { return r4 = o(this.rgba), t3 = r4.r, e2 = r4.g, u2 = r4.b, i2 = (a2 = r4.a) < 1 ? s(n(255 * a2)) : "", "#" + s(t3) + s(e2) + s(u2) + i2; var r4, t3, e2, u2, a2, i2; }, r3.prototype.toRgb = function() { return o(this.rgba); }, r3.prototype.toRgbString = function() { return r4 = o(this.rgba), t3 = r4.r, n2 = r4.g, e2 = r4.b, (u2 = r4.a) < 1 ? "rgba(" + t3 + ", " + n2 + ", " + e2 + ", " + u2 + ")" : "rgb(" + t3 + ", " + n2 + ", " + e2 + ")"; var r4, t3, n2, e2, u2; }, r3.prototype.toHsl = function() { return d(c(this.rgba)); }, r3.prototype.toHslString = function() { return r4 = d(c(this.rgba)), t3 = r4.h, n2 = r4.s, e2 = r4.l, (u2 = r4.a) < 1 ? "hsla(" + t3 + ", " + n2 + "%, " + e2 + "%, " + u2 + ")" : "hsl(" + t3 + ", " + n2 + "%, " + e2 + "%)"; var r4, t3, n2, e2, u2; }, r3.prototype.toHsv = function() { return r4 = h(this.rgba), { h: n(r4.h), s: n(r4.s), v: n(r4.v), a: n(r4.a, 3) }; var r4; }, r3.prototype.invert = function() { return w({ r: 255 - (r4 = this.rgba).r, g: 255 - r4.g, b: 255 - r4.b, a: r4.a }); var r4; }, r3.prototype.saturate = function(r4) { return void 0 === r4 && (r4 = 0.1), w(M(this.rgba, r4)); }, r3.prototype.desaturate = function(r4) { return void 0 === r4 && (r4 = 0.1), w(M(this.rgba, -r4)); }, r3.prototype.grayscale = function() { return w(M(this.rgba, -1)); }, r3.prototype.lighten = function(r4) { return void 0 === r4 && (r4 = 0.1), w($(this.rgba, r4)); }, r3.prototype.darken = function(r4) { return void 0 === r4 && (r4 = 0.1), w($(this.rgba, -r4)); }, r3.prototype.rotate = function(r4) { return void 0 === r4 && (r4 = 15), this.hue(this.hue() + r4); }, r3.prototype.alpha = function(r4) { return "number" == typeof r4 ? w({ r: (t3 = this.rgba).r, g: t3.g, b: t3.b, a: r4 }) : n(this.rgba.a, 3); var t3; }, r3.prototype.hue = function(r4) { var t3 = c(this.rgba); return "number" == typeof r4 ? w({ h: r4, s: t3.s, l: t3.l, a: t3.a }) : n(t3.h); }, r3.prototype.isEqual = function(r4) { return this.toHex() === w(r4).toHex(); }, r3; })(); var w = function(r3) { return r3 instanceof j ? r3 : new j(r3); }; var S = []; var k = function(r3) { r3.forEach(function(r4) { S.indexOf(r4) < 0 && (r4(j, y), S.push(r4)); }); }; // packages/global-styles-engine/build-module/utils/viewport.mjs var DEFAULT_VIEWPORT_BREAKPOINTS = { mobile: "480px", tablet: "782px" }; var VIEWPORT_SIZE_REGEXP = /^(\d+|\d*\.\d+)(px|em|rem)$/; var DEFAULT_FONT_SIZE = 16; function isViewportSettings(configOrSettings) { return "mobile" in configOrSettings || "tablet" in configOrSettings; } function getViewportSettings(configOrSettings) { if (!configOrSettings || typeof configOrSettings !== "object") { return {}; } if (isViewportSettings(configOrSettings)) { return configOrSettings; } return configOrSettings.settings?.viewport ?? {}; } function isValidViewportSize(value) { return typeof value === "string" && VIEWPORT_SIZE_REGEXP.test(value.trim()); } function getViewportBreakpointValueInPixels(value) { if (typeof value === "number") { return value; } if (typeof value !== "string") { return void 0; } const match2 = value.trim().match(VIEWPORT_SIZE_REGEXP); if (!match2) { return void 0; } const numericValue = Number.parseFloat(match2[1]); const unit = match2[2]; return unit === "px" ? numericValue : numericValue * DEFAULT_FONT_SIZE; } function getViewportBreakpoints(configOrSettings) { const viewportSettings = getViewportSettings(configOrSettings); const breakpoints = {}; const breakpointValuesInPixels = {}; Object.keys(DEFAULT_VIEWPORT_BREAKPOINTS).forEach((breakpoint) => { const key = breakpoint; const value = viewportSettings[key]; const px = getViewportBreakpointValueInPixels(value); if (px !== void 0 && isValidViewportSize(value)) { breakpoints[key] = value.trim(); breakpointValuesInPixels[key] = px; } }); const breakpointNames = Object.keys(breakpoints); if (!breakpointNames.length) { return { ...DEFAULT_VIEWPORT_BREAKPOINTS }; } if (1 === breakpointNames.length) { return breakpoints; } const mobile = breakpoints.mobile; const tablet = breakpoints.tablet; if (breakpointValuesInPixels.mobile >= breakpointValuesInPixels.tablet) { return { mobile }; } return { mobile, tablet }; } function getResponsiveMediaQueries(configOrSettings) { const breakpoints = getViewportBreakpoints(configOrSettings); const mediaQueries = {}; if (breakpoints.mobile) { mediaQueries["@mobile"] = `@media (width <= ${breakpoints.mobile})`; } if (breakpoints.tablet) { mediaQueries["@tablet"] = breakpoints.mobile ? `@media (${breakpoints.mobile} < width <= ${breakpoints.tablet})` : `@media (width <= ${breakpoints.tablet})`; } return mediaQueries; } // packages/global-styles-engine/build-module/variation.mjs function getVariationStyle(globalStyles, name2, variation, { resolveRefs = true } = {}) { if (!globalStyles?.styles?.blocks?.[name2]?.variations?.[variation]) { return void 0; } const replaceRefs = (variationStyles) => { Object.keys(variationStyles).forEach((key) => { const value = variationStyles[key]; if (typeof value === "object" && value !== null) { if (value.ref !== void 0) { if (typeof value.ref !== "string" || value.ref.trim() === "") { delete variationStyles[key]; } else { const refValue = getValueFromObjectPath( globalStyles, value.ref ); if (refValue !== void 0 && refValue !== null) { variationStyles[key] = refValue; } else { delete variationStyles[key]; } } } else { replaceRefs(value); if (Object.keys(value).length === 0) { delete variationStyles[key]; } } } }); }; const styles = JSON.parse( JSON.stringify( globalStyles.styles.blocks[name2].variations[variation] ) ); if (resolveRefs) { replaceRefs(styles); } return styles; } // packages/global-styles-engine/build-module/resolve-style.mjs var DEFAULT_STATE_VALUE = "default"; function isDefaultBlockStyleState(selectedState) { const viewport = selectedState?.viewport; const pseudoState = selectedState?.pseudoState; return (!viewport || viewport === DEFAULT_STATE_VALUE) && (!pseudoState || pseudoState === DEFAULT_STATE_VALUE); } function getStyleStatePath(selectedState) { if (isDefaultBlockStyleState(selectedState)) { return []; } return [selectedState.viewport, selectedState.pseudoState].filter( (state) => !!state && state !== DEFAULT_STATE_VALUE ); } function getStyleForState(style, selectedState) { const path = getStyleStatePath(selectedState); if (!path.length) { return style; } return getValueFromObjectPath(style, path); } var TREE_STRUCTURAL_KEYS = /* @__PURE__ */ new Set(["blocks", "variations", "css"]); var EMPTY_INHERITANCE = Object.freeze({ value: {}, sources: {} }); var SOURCE_DESCRIPTORS = { root: { layer: "root" }, element: { layer: "element" }, block: { layer: "block" }, blockVariation: { layer: "blockVariation" } }; function createSourceDescriptor(type) { const descriptor = SOURCE_DESCRIPTORS[type]; if (!descriptor) { return null; } return { ...descriptor }; } function createContribution(styles, source) { if (!styles || !source) { return null; } return { styles, source }; } function getPathKey(path) { return path.join("."); } function getSourceForPath(source) { return { ...source }; } function isExplicitEmpty(value) { if (value === "" || value === null) { return true; } if (typeof value === "object" && !Array.isArray(value) && Object.keys(value).length === 0) { return true; } return false; } function isRefObject(value) { return value !== null && typeof value === "object" && !Array.isArray(value) && typeof value.ref === "string"; } function pickLayerRootContribution(layer) { if (!layer || typeof layer !== "object" || Array.isArray(layer)) { return null; } const contribution = {}; for (const key of Object.keys(layer)) { if (TREE_STRUCTURAL_KEYS.has(key)) { continue; } if (key === "elements") { if (layer.elements && typeof layer.elements === "object") { contribution.elements = layer.elements; } continue; } if (isExplicitEmpty(layer[key])) { continue; } contribution[key] = layer[key]; } return Object.keys(contribution).length === 0 ? null : contribution; } var ATOMIC_OBJECT_KEYS = /* @__PURE__ */ new Set(["backgroundImage"]); function deepMergeDroppingEmpties(target, source, globalStyles, sourceMetadata, sources, path = []) { if (!source || typeof source !== "object" || Array.isArray(source)) { return target; } for (const key of Object.keys(source)) { let sourceValue = source[key]; if (isExplicitEmpty(sourceValue)) { continue; } if (isRefObject(sourceValue)) { if (sourceValue.ref.trim() === "") { continue; } const resolved = getValueFromObjectPath( globalStyles, sourceValue.ref ); if (resolved === void 0 || resolved === null || isRefObject(resolved)) { continue; } sourceValue = resolved; } const nextPath = [...path, key]; if (!ATOMIC_OBJECT_KEYS.has(key) && sourceValue !== null && typeof sourceValue === "object" && !Array.isArray(sourceValue) && !isRefObject(sourceValue)) { const existing = target[key] && typeof target[key] === "object" && !Array.isArray(target[key]) ? target[key] : {}; target[key] = deepMergeDroppingEmpties( { ...existing }, sourceValue, globalStyles, sourceMetadata, sources, nextPath ); } else { target[key] = ATOMIC_OBJECT_KEYS.has(key) && sourceValue !== null && typeof sourceValue === "object" && !Array.isArray(sourceValue) ? { ...sourceValue } : sourceValue; if (sourceMetadata && sources) { sources[getPathKey(nextPath)] = getSourceForPath(sourceMetadata); } } } return target; } function getStateSlice(layerObject, selectedState) { if (!layerObject) { return null; } const slice = getStyleForState(layerObject, selectedState); return slice && typeof slice === "object" && !Array.isArray(slice) ? slice : null; } var NON_CASCADING_ROOT_PREFIXES = [ "color.background", "color.gradient", "background", "spacing", "dimensions", "border", "shadow", "filter" ]; function isNonCascadingRootPath(pathKey) { if (pathKey.startsWith("elements.")) { return false; } return NON_CASCADING_ROOT_PREFIXES.some( (prefix) => pathKey === prefix || pathKey.startsWith(`${prefix}.`) ); } function deleteAtPath(target, pathSegments) { if (!target || typeof target !== "object") { return; } const [head2, ...rest] = pathSegments; if (rest.length === 0) { delete target[head2]; return; } const child = target[head2]; if (child && typeof child === "object") { deleteAtPath(child, rest); if (Object.keys(child).length === 0) { delete target[head2]; } } } function dropNonCascadingRootLeaves(value, sources) { for (const pathKey of Object.keys(sources)) { if (sources[pathKey].layer === "root" && isNonCascadingRootPath(pathKey)) { deleteAtPath(value, pathKey.split(".")); delete sources[pathKey]; } } } function resolveThemeFileBackgroundImage(value, globalStyles, links) { const image = value?.background?.backgroundImage; if (!image) { return; } const resolved = getResolvedValue(image, { ...globalStyles, _links: links ?? void 0 }); if (resolved !== void 0) { value.background.backgroundImage = resolved; } } function computeResolvedStyle(globalStyles, { blockName, variationName = null, elements: elements2 = null, viewport = null, pseudoState = null } = {}) { if (!globalStyles || !globalStyles.styles) { return EMPTY_INHERITANCE; } if (!blockName) { return EMPTY_INHERITANCE; } const styles = globalStyles.styles; const selectedState = { viewport, pseudoState }; const root = styles; const block = styles.blocks?.[blockName] ?? null; const elementLayers = (elements2 ?? []).map((elementName) => styles.elements?.[elementName] ?? null).filter((layer) => !!layer); const variation = variationName ? getVariationStyle(globalStyles, blockName, variationName) ?? null : null; const contributions = [ createContribution( pickLayerRootContribution(root), createSourceDescriptor("root") ), ...elementLayers.map( (layer) => createContribution( pickLayerRootContribution(layer), createSourceDescriptor("element") ) ), block ? createContribution( pickLayerRootContribution(block), createSourceDescriptor("block") ) : null, variation ? createContribution( pickLayerRootContribution(variation), createSourceDescriptor("blockVariation") ) : null ]; if (!isDefaultBlockStyleState(selectedState)) { contributions.push( createContribution( pickLayerRootContribution( getStateSlice(root, selectedState) ), createSourceDescriptor("root") ), ...elementLayers.map( (layer) => createContribution( pickLayerRootContribution( getStateSlice(layer, selectedState) ), createSourceDescriptor("element") ) ), block ? createContribution( pickLayerRootContribution( getStateSlice(block, selectedState) ), createSourceDescriptor("block") ) : null, variation ? createContribution( pickLayerRootContribution( getStateSlice(variation, selectedState) ), createSourceDescriptor("blockVariation") ) : null ); } const filteredContributions = contributions.filter( Boolean ); if (filteredContributions.length === 0) { return EMPTY_INHERITANCE; } const sources = {}; const value = filteredContributions.reduce( (mergedValue, contribution) => deepMergeDroppingEmpties( mergedValue, contribution.styles, globalStyles, contribution.source, sources ), {} ); dropNonCascadingRootLeaves(value, sources); resolveThemeFileBackgroundImage( value, globalStyles, globalStyles._links ?? null ); return { value, sources }; } var NO_LINKS = {}; var memo = /* @__PURE__ */ new WeakMap(); function resolveStyle2(globalStyles, context = {}) { const styleData = globalStyles?.styles; if (!styleData || typeof styleData !== "object") { return computeResolvedStyle(globalStyles, context); } let byLinks = memo.get(styleData); if (!byLinks) { byLinks = /* @__PURE__ */ new WeakMap(); memo.set(styleData, byLinks); } const linksKey = globalStyles?._links ?? NO_LINKS; let inner = byLinks.get(linksKey); if (!inner) { inner = /* @__PURE__ */ new Map(); byLinks.set(linksKey, inner); } const sliceKey = `${context.elements?.join(",") ?? ""}:${context.viewport ?? ""}:${context.pseudoState ?? ""}`; const key = (context.blockName || "") + "" + (context.variationName || "") + "" + sliceKey; if (inner.has(key)) { return inner.get(key); } const result = computeResolvedStyle(globalStyles, context); inner.set(key, result); return result; } // packages/global-styles-engine/build-module/lock-unlock.mjs var import_private_apis2 = __toESM(require_private_apis(), 1); var { lock: lock2, unlock: unlock2 } = (0, import_private_apis2.__dangerousOptInToUnstableAPIsOnlyForCoreModules)( "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.", "@wordpress/global-styles-engine" ); // packages/global-styles-engine/build-module/private-apis.mjs var privateApis = {}; lock2(privateApis, { getResponsiveMediaQueries, getViewportBreakpoints, getViewportBreakpointValueInPixels, resolveStyle: resolveStyle2, getVariationStyle }); // packages/global-styles-ui/build-module/provider.mjs var import_element21 = __toESM(require_element(), 1); // packages/global-styles-ui/build-module/context.mjs var import_element20 = __toESM(require_element(), 1); var GlobalStylesContext = (0, import_element20.createContext)({ user: { styles: {}, settings: {} }, base: { styles: {}, settings: {} }, merged: { styles: {}, settings: {} }, onChange: () => { }, fontLibraryEnabled: false }); // packages/global-styles-ui/build-module/provider.mjs var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1); function GlobalStylesProvider({ children, value, baseValue, onChange, fontLibraryEnabled }) { const merged = (0, import_element21.useMemo)(() => { return mergeGlobalStyles(baseValue, value); }, [baseValue, value]); const contextValue = (0, import_element21.useMemo)( () => ({ user: value, base: baseValue, merged, onChange, fontLibraryEnabled }), [value, baseValue, merged, onChange, fontLibraryEnabled] ); return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(GlobalStylesContext.Provider, { value: contextValue, children }); } // packages/global-styles-ui/build-module/screen-root.mjs var import_components8 = __toESM(require_components(), 1); var import_i18n5 = __toESM(require_i18n(), 1); var import_data2 = __toESM(require_data(), 1); var import_core_data2 = __toESM(require_core_data(), 1); // packages/global-styles-ui/build-module/icon-with-current-color.mjs var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1); function IconWithCurrentColor({ className, ...props }) { return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)( icon_default, { className: clsx_default( className, "global-styles-ui-icon-with-current-color" ), ...props } ); } // packages/global-styles-ui/build-module/navigation-button.mjs var import_components2 = __toESM(require_components(), 1); var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1); function GenericNavigationButton({ icon, children, ...props }) { return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_components2.__experimentalItem, { ...props, children: [ icon && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_components2.__experimentalHStack, { justify: "flex-start", children: [ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconWithCurrentColor, { icon, size: 24 }), /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_components2.FlexItem, { children }) ] }), !icon && children ] }); } function NavigationButtonAsItem(props) { return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_components2.Navigator.Button, { as: GenericNavigationButton, ...props }); } // packages/global-styles-ui/build-module/root-menu.mjs var import_components3 = __toESM(require_components(), 1); var import_i18n3 = __toESM(require_i18n(), 1); var import_block_editor = __toESM(require_block_editor(), 1); // node_modules/colord/plugins/a11y.mjs var o2 = function(o3) { var t3 = o3 / 255; return t3 < 0.04045 ? t3 / 12.92 : Math.pow((t3 + 0.055) / 1.055, 2.4); }; var t2 = function(t3) { return 0.2126 * o2(t3.r) + 0.7152 * o2(t3.g) + 0.0722 * o2(t3.b); }; function a11y_default(o3) { o3.prototype.luminance = function() { return o4 = t2(this.rgba), void 0 === (r3 = 2) && (r3 = 0), void 0 === n2 && (n2 = Math.pow(10, r3)), Math.round(n2 * o4) / n2 + 0; var o4, r3, n2; }, o3.prototype.contrast = function(r3) { void 0 === r3 && (r3 = "#FFF"); var n2, a2, i2, e2, v2, u2, d2, c2 = r3 instanceof o3 ? r3 : new o3(r3); return e2 = this.rgba, v2 = c2.toRgb(), u2 = t2(e2), d2 = t2(v2), n2 = u2 > d2 ? (u2 + 0.05) / (d2 + 0.05) : (d2 + 0.05) / (u2 + 0.05), void 0 === (a2 = 2) && (a2 = 0), void 0 === i2 && (i2 = Math.pow(10, a2)), Math.floor(i2 * n2) / i2 + 0; }, o3.prototype.isReadable = function(o4, t3) { return void 0 === o4 && (o4 = "#FFF"), void 0 === t3 && (t3 = {}), this.contrast(o4) >= (e2 = void 0 === (i2 = (r3 = t3).size) ? "normal" : i2, "AAA" === (a2 = void 0 === (n2 = r3.level) ? "AA" : n2) && "normal" === e2 ? 7 : "AA" === a2 && "large" === e2 ? 3 : 4.5); var r3, n2, a2, i2, e2; }; } // packages/global-styles-ui/build-module/hooks.mjs var import_element22 = __toESM(require_element(), 1); var import_data = __toESM(require_data(), 1); var import_core_data = __toESM(require_core_data(), 1); var import_i18n2 = __toESM(require_i18n(), 1); // packages/global-styles-ui/build-module/utils.mjs var import_i18n = __toESM(require_i18n(), 1); // packages/global-styles-ui/build-module/lock-unlock.mjs var import_private_apis4 = __toESM(require_private_apis(), 1); var { lock: lock3, unlock: unlock3 } = (0, import_private_apis4.__dangerousOptInToUnstableAPIsOnlyForCoreModules)( "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.", "@wordpress/global-styles-ui" ); // packages/global-styles-ui/build-module/utils.mjs var { getViewportBreakpoints: getViewportBreakpoints2 } = unlock3(privateApis); var VALID_ELEMENT_STATES = { link: [ { value: ":link", label: (0, import_i18n.__)("Link") }, { value: ":any-link", label: (0, import_i18n.__)("Any Link") }, { value: ":visited", label: (0, import_i18n.__)("Visited") }, { value: ":hover", label: (0, import_i18n.__)("Hover") }, { value: ":focus", label: (0, import_i18n.__)("Focus") }, { value: ":focus-visible", label: (0, import_i18n.__)("Focus-visible") }, { value: ":active", label: (0, import_i18n.__)("Active") } ], button: [ { value: ":link", label: (0, import_i18n.__)("Link") }, { value: ":any-link", label: (0, import_i18n.__)("Any Link") }, { value: ":visited", label: (0, import_i18n.__)("Visited") }, { value: ":hover", label: (0, import_i18n.__)("Hover") }, { value: ":focus", label: (0, import_i18n.__)("Focus") }, { value: ":focus-visible", label: (0, import_i18n.__)("Focus-visible") }, { value: ":active", label: (0, import_i18n.__)("Active") } ] }; var VALID_BLOCK_STATES = { "core/button": [ { value: ":hover", label: (0, import_i18n.__)("Hover") }, { value: ":focus", label: (0, import_i18n.__)("Focus") }, { value: ":focus-visible", label: (0, import_i18n.__)("Focus-visible") }, { value: ":active", label: (0, import_i18n.__)("Active") } ] }; var RESPONSIVE_STATES = [ { value: "@tablet", label: (0, import_i18n.__)("Tablet") }, { value: "@mobile", label: (0, import_i18n.__)("Mobile") } ]; function removePropertiesFromObject(object, properties) { if (!properties?.length) { return object; } if (typeof object !== "object" || !object || !Object.keys(object).length) { return object; } for (const key in object) { if (properties.includes(key)) { delete object[key]; } else if (typeof object[key] === "object") { removePropertiesFromObject(object[key], properties); } } return object; } var filterObjectByProperties = (object, properties) => { if (!object || !properties?.length) { return {}; } const newObject = {}; Object.keys(object).forEach((key) => { if (properties.includes(key)) { newObject[key] = object[key]; } else if (typeof object[key] === "object") { const newFilter = filterObjectByProperties( object[key], properties ); if (Object.keys(newFilter).length) { newObject[key] = newFilter; } } }); return newObject; }; function isVariationWithProperties(variation, properties) { const variationWithProperties = filterObjectByProperties( structuredClone(variation), properties ); return areGlobalStylesEqual(variationWithProperties, variation); } function getFontFamilyFromSetting(fontFamilies, setting) { if (!Array.isArray(fontFamilies) || !setting) { return null; } const fontFamilyVariable = setting.replace("var(", "").replace(")", ""); const fontFamilySlug = fontFamilyVariable?.split("--").slice(-1)[0]; return fontFamilies.find( (fontFamily) => fontFamily.slug === fontFamilySlug ); } function getFontFamilies(themeJson) { const themeFontFamilies = themeJson?.settings?.typography?.fontFamilies?.theme; const customFontFamilies = themeJson?.settings?.typography?.fontFamilies?.custom; let fontFamilies = []; if (themeFontFamilies && customFontFamilies) { fontFamilies = [...themeFontFamilies, ...customFontFamilies]; } else if (themeFontFamilies) { fontFamilies = themeFontFamilies; } else if (customFontFamilies) { fontFamilies = customFontFamilies; } const bodyFontFamilySetting = themeJson?.styles?.typography?.fontFamily; const bodyFontFamily = getFontFamilyFromSetting( fontFamilies, bodyFontFamilySetting ); const headingFontFamilySetting = themeJson?.styles?.elements?.heading?.typography?.fontFamily; let headingFontFamily; if (!headingFontFamilySetting) { headingFontFamily = bodyFontFamily; } else { headingFontFamily = getFontFamilyFromSetting( fontFamilies, themeJson?.styles?.elements?.heading?.typography?.fontFamily ); } return [bodyFontFamily, headingFontFamily]; } // packages/global-styles-ui/build-module/hooks.mjs k([a11y_default]); function useStyle(path, blockName, readFrom = "merged", shouldDecodeEncode = true, state) { const { user, base, merged, onChange } = (0, import_element22.useContext)(GlobalStylesContext); const statePathParts = state?.split(".").filter(Boolean) ?? []; const pseudoSelectorState = statePathParts.find( (value) => value.startsWith(":") ); const statePathWithoutPseudo = statePathParts.filter((value) => !value.startsWith(":")).join("."); const stylePath = [path, statePathWithoutPseudo].filter(Boolean).join("."); let sourceValue = merged; if (readFrom === "base") { sourceValue = base; } else if (readFrom === "user") { sourceValue = user; } const styleValue = (0, import_element22.useMemo)(() => { const rawValue = getStyle( sourceValue, stylePath, blockName, shouldDecodeEncode ); if (pseudoSelectorState) { return rawValue?.[pseudoSelectorState] ?? {}; } return rawValue; }, [ sourceValue, stylePath, blockName, shouldDecodeEncode, pseudoSelectorState ]); const setStyleValue = (0, import_element22.useCallback)( (newValue) => { let valueToSet = newValue; if (pseudoSelectorState) { const fullCurrentValue = getStyle( user, stylePath, blockName, false ); valueToSet = { ...fullCurrentValue, [pseudoSelectorState]: newValue }; } const newGlobalStyles = setStyle( user, stylePath, valueToSet, blockName ); onChange(newGlobalStyles); }, [user, onChange, stylePath, blockName, pseudoSelectorState] ); return [styleValue, setStyleValue]; } function useSetting(path, blockName, readFrom = "merged") { const { user, base, merged, onChange } = (0, import_element22.useContext)(GlobalStylesContext); let sourceValue = merged; if (readFrom === "base") { sourceValue = base; } else if (readFrom === "user") { sourceValue = user; } const settingValue = (0, import_element22.useMemo)( () => getSetting(sourceValue, path, blockName), [sourceValue, path, blockName] ); const setSettingValue = (0, import_element22.useCallback)( (newValue) => { const newGlobalStyles = setSetting( user, path, newValue, blockName ); onChange(newGlobalStyles); }, [user, onChange, path, blockName] ); return [settingValue, setSettingValue]; } var EMPTY_ARRAY2 = []; function hasThemeVariation({ title, settings, styles }) { return title === (0, import_i18n2.__)("Default") || Object.keys(settings || {}).length > 0 || Object.keys(styles || {}).length > 0; } function useCurrentMergeThemeStyleVariationsWithUserConfig(properties = []) { const { variationsFromTheme } = (0, import_data.useSelect)((select) => { const _variationsFromTheme = select( import_core_data.store ).__experimentalGetCurrentThemeGlobalStylesVariations?.(); return { variationsFromTheme: _variationsFromTheme || EMPTY_ARRAY2 }; }, []); const { user: userVariation } = (0, import_element22.useContext)(GlobalStylesContext); return (0, import_element22.useMemo)(() => { const clonedUserVariation = structuredClone(userVariation); const userVariationWithoutProperties = removePropertiesFromObject( clonedUserVariation, properties ); userVariationWithoutProperties.title = (0, import_i18n2.__)("Default"); const variationsWithPropertiesAndBase = variationsFromTheme.filter((variation) => { return isVariationWithProperties(variation, properties); }).map((variation) => { return mergeGlobalStyles( userVariationWithoutProperties, variation ); }); const variationsByProperties = [ userVariationWithoutProperties, ...variationsWithPropertiesAndBase ]; return variationsByProperties?.length ? variationsByProperties.filter(hasThemeVariation) : []; }, [properties, userVariation, variationsFromTheme]); } // packages/global-styles-ui/build-module/root-menu.mjs var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1); var { useHasDimensionsPanel, useHasTypographyPanel, useHasColorPanel, useSettingsForBlockElement, useHasBackgroundPanel } = unlock3(import_block_editor.privateApis); // packages/global-styles-ui/build-module/preview-styles.mjs var import_components7 = __toESM(require_components(), 1); // packages/global-styles-ui/build-module/preview-hooks.mjs function useStylesPreviewColors() { const [textColor = "black"] = useStyle("color.text"); const [backgroundColor = "white"] = useStyle("color.background"); const [headingColor = textColor] = useStyle( "elements.h1.color.text" ); const [linkColor = headingColor] = useStyle( "elements.link.color.text" ); const [buttonBackgroundColor = linkColor] = useStyle( "elements.button.color.background" ); const [coreColors] = useSetting("color.palette.core") || []; const [themeColors] = useSetting("color.palette.theme") || []; const [customColors] = useSetting("color.palette.custom") || []; const paletteColors = (themeColors ?? []).concat(customColors ?? []).concat(coreColors ?? []); const textColorObject = paletteColors.filter( ({ color }) => color === textColor ); const buttonBackgroundColorObject = paletteColors.filter( ({ color }) => color === buttonBackgroundColor ); const highlightedColors = textColorObject.concat(buttonBackgroundColorObject).concat(paletteColors).filter( // we exclude these background color because it is already visible in the preview. ({ color }) => color !== backgroundColor ).slice(0, 2); return { paletteColors, highlightedColors }; } // packages/global-styles-ui/build-module/typography-example.mjs var import_element23 = __toESM(require_element(), 1); var import_components4 = __toESM(require_components(), 1); var import_i18n4 = __toESM(require_i18n(), 1); // packages/global-styles-ui/build-module/font-library/utils/preview-styles.mjs function findNearest(input, numbers) { if (numbers.length === 0) { return null; } numbers.sort((a2, b2) => Math.abs(input - a2) - Math.abs(input - b2)); return numbers[0]; } function extractFontWeights(fontFaces) { const result = []; fontFaces.forEach((face) => { const weights = String(face.fontWeight).split(" "); if (weights.length === 2) { const start = parseInt(weights[0]); const end = parseInt(weights[1]); for (let i2 = start; i2 <= end; i2 += 100) { result.push(i2); } } else if (weights.length === 1) { result.push(parseInt(weights[0])); } }); return result; } function formatFontFamily(input) { const regex = /^(?!generic\([ a-zA-Z\-]+\)$)(?!^[a-zA-Z\-]+$).+/; const output = input.trim(); const formatItem = (item) => { item = item.trim(); if (item.match(regex)) { item = item.replace(/^["']|["']$/g, ""); return `"${item}"`; } return item; }; if (output.includes(",")) { return output.split(",").map(formatItem).filter((item) => item !== "").join(", "); } return formatItem(output); } function formatFontFaceName(input) { if (!input) { return ""; } let output = input.trim(); if (output.includes(",")) { output = (output.split(",").find((item) => item.trim() !== "") ?? "").trim(); } output = output.replace(/^["']|["']$/g, ""); if (window.navigator.userAgent.toLowerCase().includes("firefox")) { output = `"${output}"`; } return output; } function getFamilyPreviewStyle(family) { const style = { fontFamily: formatFontFamily(family.fontFamily) }; if (!("fontFace" in family) || !Array.isArray(family.fontFace)) { style.fontWeight = "400"; style.fontStyle = "normal"; return style; } if (family.fontFace) { const normalFaces = family.fontFace.filter( (face) => face?.fontStyle && face.fontStyle.toLowerCase() === "normal" ); if (normalFaces.length > 0) { style.fontStyle = "normal"; const normalWeights = extractFontWeights(normalFaces); const nearestWeight = findNearest(400, normalWeights); style.fontWeight = String(nearestWeight) || "400"; } else { style.fontStyle = family.fontFace.length && family.fontFace[0].fontStyle || "normal"; style.fontWeight = family.fontFace.length && String(family.fontFace[0].fontWeight) || "400"; } } return style; } function getFacePreviewStyle(face) { return { fontFamily: formatFontFamily(face.fontFamily), fontStyle: face.fontStyle || "normal", fontWeight: face.fontWeight || "400" }; } // packages/global-styles-ui/build-module/typography-example.mjs var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1); function PreviewTypography({ fontSize, variation }) { const { base } = (0, import_element23.useContext)(GlobalStylesContext); let config = base; if (variation) { config = { ...base, ...variation }; } const [textColor] = useStyle("color.text"); const [bodyFontFamilies, headingFontFamilies] = getFontFamilies(config); const bodyPreviewStyle = bodyFontFamilies ? getFamilyPreviewStyle(bodyFontFamilies) : {}; const headingPreviewStyle = headingFontFamilies ? getFamilyPreviewStyle(headingFontFamilies) : {}; if (textColor) { bodyPreviewStyle.color = textColor; headingPreviewStyle.color = textColor; } if (fontSize) { bodyPreviewStyle.fontSize = fontSize; headingPreviewStyle.fontSize = fontSize; } return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)( import_components4.__unstableMotion.div, { animate: { scale: 1, opacity: 1 }, initial: { scale: 0.1, opacity: 0 }, transition: { delay: 0.3, type: "tween" }, style: { textAlign: "center", lineHeight: 1 }, children: [ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { style: headingPreviewStyle, children: (0, import_i18n4._x)("A", "Uppercase letter A") }), /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { style: bodyPreviewStyle, children: (0, import_i18n4._x)("a", "Lowercase letter A") }) ] } ); } // packages/global-styles-ui/build-module/highlighted-colors.mjs var import_components5 = __toESM(require_components(), 1); var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1); function HighlightedColors({ normalizedColorSwatchSize, ratio }) { const { highlightedColors } = useStylesPreviewColors(); const scaledSwatchSize = normalizedColorSwatchSize * ratio; return highlightedColors.map(({ slug, color }, index2) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)( import_components5.__unstableMotion.div, { style: { height: scaledSwatchSize, width: scaledSwatchSize, background: color, borderRadius: scaledSwatchSize / 2 }, animate: { scale: 1, opacity: 1 }, initial: { scale: 0.1, opacity: 0 }, transition: { delay: index2 === 1 ? 0.2 : 0.1 } }, `${slug}-${index2}` )); } // packages/global-styles-ui/build-module/preview-wrapper.mjs var import_components6 = __toESM(require_components(), 1); var import_compose = __toESM(require_compose(), 1); var import_element24 = __toESM(require_element(), 1); var import_jsx_runtime31 = __toESM(require_jsx_runtime(), 1); var normalizedWidth = 248; var normalizedHeight = 152; var THROTTLE_OPTIONS = { leading: true, trailing: true }; function PreviewWrapper({ children, label, isFocused, withHoverView }) { const [backgroundColor = "white"] = useStyle("color.background"); const [gradientValue] = useStyle("color.gradient"); const disableMotion = (0, import_compose.useReducedMotion)(); const [isHovered, setIsHovered] = (0, import_element24.useState)(false); const [containerResizeListener, { width }] = (0, import_compose.useResizeObserver)(); const [throttledWidth, setThrottledWidthState] = (0, import_element24.useState)(width); const [ratioState, setRatioState] = (0, import_element24.useState)(); const setThrottledWidth = (0, import_compose.useThrottle)( setThrottledWidthState, 250, THROTTLE_OPTIONS ); (0, import_element24.useLayoutEffect)(() => { if (width) { setThrottledWidth(width); } }, [width, setThrottledWidth]); (0, import_element24.useLayoutEffect)(() => { const newRatio = throttledWidth ? throttledWidth / normalizedWidth : 1; const ratioDiff = newRatio - (ratioState || 0); const isRatioDiffBigEnough = Math.abs(ratioDiff) > 0.1; if (isRatioDiffBigEnough || !ratioState) { setRatioState(newRatio); } }, [throttledWidth, ratioState]); const fallbackRatio = width ? width / normalizedWidth : 1; const ratio = ratioState ? ratioState : fallbackRatio; const isReady = !!width; return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { style: { position: "relative" }, children: containerResizeListener }), !isReady && // Match the preview aspect ratio so layout doesn't jump once width is measured. /* @__PURE__ */ (0, import_jsx_runtime31.jsx)( Skeleton, { className: "global-styles-ui-preview__wrapper", style: { aspectRatio: normalizedWidth / normalizedHeight } } ), isReady && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)( "div", { className: clsx_default("global-styles-ui-preview__wrapper", { "is-hoverable": withHoverView }), style: { height: normalizedHeight * ratio }, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), tabIndex: -1, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)( import_components6.__unstableMotion.div, { style: { height: normalizedHeight * ratio, width: "100%", background: gradientValue ?? backgroundColor }, initial: "start", animate: (isHovered || isFocused) && !disableMotion && label ? "hover" : "start", children: [].concat(children).map( (child, key) => child({ ratio, key }) ) } ) } ) ] }); } var preview_wrapper_default = PreviewWrapper; // packages/global-styles-ui/build-module/preview-styles.mjs var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1); var firstFrameVariants = { start: { scale: 1, opacity: 1 }, hover: { scale: 0, opacity: 0 } }; var midFrameVariants = { hover: { opacity: 1 }, start: { opacity: 0.5 } }; var secondFrameVariants = { hover: { scale: 1, opacity: 1 }, start: { scale: 0, opacity: 0 } }; function PreviewStyles({ label, isFocused, withHoverView, variation }) { const [fontWeight] = useStyle("typography.fontWeight"); const [fontFamily = "serif"] = useStyle( "typography.fontFamily" ); const [headingFontFamily = fontFamily] = useStyle( "elements.h1.typography.fontFamily" ); const [headingFontWeight = fontWeight] = useStyle( "elements.h1.typography.fontWeight" ); const [textColor = "black"] = useStyle("color.text"); const [headingColor = textColor] = useStyle( "elements.h1.color.text" ); const { paletteColors } = useStylesPreviewColors(); return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)( preview_wrapper_default, { label, isFocused, withHoverView, children: [ ({ ratio, key }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)( import_components7.__unstableMotion.div, { variants: firstFrameVariants, style: { height: "100%", overflow: "hidden" }, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)( import_components7.__experimentalHStack, { spacing: 10 * ratio, justify: "center", style: { height: "100%", overflow: "hidden" }, children: [ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)( PreviewTypography, { fontSize: 65 * ratio, variation } ), /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_components7.__experimentalVStack, { spacing: 4 * ratio, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)( HighlightedColors, { normalizedColorSwatchSize: 32, ratio } ) }) ] } ) }, key ), ({ key }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)( import_components7.__unstableMotion.div, { variants: withHoverView ? midFrameVariants : void 0, style: { height: "100%", width: "100%", position: "absolute", top: 0, overflow: "hidden", filter: "blur(60px)", opacity: 0.1 }, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)( import_components7.__experimentalHStack, { spacing: 0, justify: "flex-start", style: { height: "100%", overflow: "hidden" }, children: paletteColors.slice(0, 4).map(({ color }, index2) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)( "div", { style: { height: "100%", background: color, flexGrow: 1 } }, index2 )) } ) }, key ), ({ ratio, key }) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)( import_components7.__unstableMotion.div, { variants: secondFrameVariants, style: { height: "100%", width: "100%", overflow: "hidden", position: "absolute", top: 0 }, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)( import_components7.__experimentalVStack, { spacing: 3 * ratio, justify: "center", style: { height: "100%", overflow: "hidden", padding: 10 * ratio, boxSizing: "border-box" }, children: label && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)( "div", { style: { fontSize: 40 * ratio, fontFamily: headingFontFamily, color: headingColor, fontWeight: headingFontWeight, lineHeight: "1em", textAlign: "center" }, children: label } ) } ) }, key ) ] } ); } var preview_styles_default = PreviewStyles; // packages/global-styles-ui/build-module/screen-root.mjs var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/screen-block-list.mjs var import_blocks2 = __toESM(require_blocks(), 1); var import_i18n7 = __toESM(require_i18n(), 1); var import_components11 = __toESM(require_components(), 1); var import_data4 = __toESM(require_data(), 1); var import_element25 = __toESM(require_element(), 1); var import_block_editor3 = __toESM(require_block_editor(), 1); var import_compose2 = __toESM(require_compose(), 1); import { speak } from "@wordpress/a11y"; // packages/global-styles-ui/build-module/variations/variations-panel.mjs var import_blocks = __toESM(require_blocks(), 1); var import_data3 = __toESM(require_data(), 1); var import_components9 = __toESM(require_components(), 1); var import_jsx_runtime34 = __toESM(require_jsx_runtime(), 1); function getFilteredBlockStyles(blockStyles, variations) { return blockStyles?.filter( (style) => style.source === "block" || variations.includes(style.name) ) || []; } function useBlockVariations(name2) { const blockStyles = (0, import_data3.useSelect)( (select) => { const { getBlockStyles } = select(import_blocks.store); return getBlockStyles(name2); }, [name2] ); const [variations] = useStyle("variations", name2); const variationNames = Object.keys(variations ?? {}); return getFilteredBlockStyles(blockStyles, variationNames); } // packages/global-styles-ui/build-module/screen-header.mjs var import_components10 = __toESM(require_components(), 1); var import_i18n6 = __toESM(require_i18n(), 1); var import_block_editor2 = __toESM(require_block_editor(), 1); var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1); var { StateControl, StateControlBadges } = unlock3(import_block_editor2.privateApis); // packages/global-styles-ui/build-module/screen-block-list.mjs var import_jsx_runtime36 = __toESM(require_jsx_runtime(), 1); var { useHasDimensionsPanel: useHasDimensionsPanel2, useHasTypographyPanel: useHasTypographyPanel2, useHasBorderPanel, useSettingsForBlockElement: useSettingsForBlockElement2, useHasColorPanel: useHasColorPanel2, useHasBackgroundPanel: useHasBackgroundPanel2 } = unlock3(import_block_editor3.privateApis); function useSortedBlockTypes() { const blockItems = (0, import_data4.useSelect)( (select) => select(import_blocks2.store).getBlockTypes(), [] ); const groupByType = (blocks, block) => { const { core, noncore } = blocks; const type = block.name.startsWith("core/") ? core : noncore; type.push(block); return blocks; }; const { core: coreItems, noncore: nonCoreItems } = blockItems.reduce( groupByType, { core: [], noncore: [] } ); return [...coreItems, ...nonCoreItems]; } function useBlockHasGlobalStyles(blockName) { const [rawSettings] = useSetting("", blockName); const settings = useSettingsForBlockElement2(rawSettings, blockName); const hasTypographyPanel = useHasTypographyPanel2(settings); const hasColorPanel = useHasColorPanel2(settings); const hasBackgroundPanel = useHasBackgroundPanel2(settings); const hasBorderPanel = useHasBorderPanel(settings); const hasDimensionsPanel = useHasDimensionsPanel2(settings); const hasLayoutPanel = hasBorderPanel || hasDimensionsPanel; const hasVariationsPanel = !!useBlockVariations(blockName)?.length; const hasGlobalStyles = hasTypographyPanel || hasColorPanel || hasBackgroundPanel || hasLayoutPanel || hasVariationsPanel; return hasGlobalStyles; } function BlockMenuItem({ block }) { const hasBlockMenuItem = useBlockHasGlobalStyles(block.name); if (!hasBlockMenuItem) { return null; } return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)( NavigationButtonAsItem, { path: "/blocks/" + encodeURIComponent(block.name), children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_components11.__experimentalHStack, { justify: "flex-start", children: [ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_block_editor3.BlockIcon, { icon: block.icon }), /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_components11.FlexItem, { children: block.title }) ] }) } ); } function BlockList({ filterValue }) { const sortedBlockTypes = useSortedBlockTypes(); const debouncedSpeak = (0, import_compose2.useDebounce)(speak, 500); const { isMatchingSearchTerm } = (0, import_data4.useSelect)(import_blocks2.store); const filteredBlockTypes = !filterValue ? sortedBlockTypes : sortedBlockTypes.filter( (blockType) => isMatchingSearchTerm(blockType, filterValue) ); const blockTypesListRef = (0, import_element25.useRef)(null); (0, import_element25.useEffect)(() => { if (!filterValue) { return; } const count = blockTypesListRef.current?.childElementCount || 0; const resultsFoundMessage = (0, import_i18n7.sprintf)( /* translators: %d: number of results. */ (0, import_i18n7._n)("%d result found.", "%d results found.", count), count ); debouncedSpeak(resultsFoundMessage, "polite"); }, [filterValue, debouncedSpeak]); return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)( "div", { ref: blockTypesListRef, className: "global-styles-ui-block-types-item-list", role: "list", children: filteredBlockTypes.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_components11.__experimentalText, { align: "center", as: "p", children: (0, import_i18n7.__)("No blocks found.") }) : filteredBlockTypes.map((block) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)( BlockMenuItem, { block }, "menu-itemblock-" + block.name )) } ); } var MemoizedBlockList = (0, import_element25.memo)(BlockList); // packages/global-styles-ui/build-module/screen-block.mjs var import_blocks4 = __toESM(require_blocks(), 1); var import_block_editor5 = __toESM(require_block_editor(), 1); var import_element27 = __toESM(require_element(), 1); var import_data5 = __toESM(require_data(), 1); var import_core_data3 = __toESM(require_core_data(), 1); var import_components14 = __toESM(require_components(), 1); var import_i18n8 = __toESM(require_i18n(), 1); // packages/global-styles-ui/build-module/block-preview-panel.mjs var import_block_editor4 = __toESM(require_block_editor(), 1); var import_blocks3 = __toESM(require_blocks(), 1); var import_components12 = __toESM(require_components(), 1); var import_element26 = __toESM(require_element(), 1); var import_jsx_runtime37 = __toESM(require_jsx_runtime(), 1); var { getViewportBreakpoints: getViewportBreakpoints3, getViewportBreakpointValueInPixels: getViewportBreakpointValueInPixels2 } = unlock3( privateApis ); // packages/global-styles-ui/build-module/subtitle.mjs var import_components13 = __toESM(require_components(), 1); var import_jsx_runtime38 = __toESM(require_jsx_runtime(), 1); function Subtitle({ children, level = 2 }) { return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_components13.__experimentalHeading, { className: "global-styles-ui-subtitle", level, children }); } // packages/global-styles-ui/build-module/screen-block.mjs var import_jsx_runtime39 = __toESM(require_jsx_runtime(), 1); var { useHasDimensionsPanel: useHasDimensionsPanel3, useHasTypographyPanel: useHasTypographyPanel3, useHasBorderPanel: useHasBorderPanel2, useSettingsForBlockElement: useSettingsForBlockElement3, useHasColorPanel: useHasColorPanel3, useHasFiltersPanel, useHasImageSettingsPanel, useHasBackgroundPanel: useHasBackgroundPanel3, BackgroundPanel: StylesBackgroundPanel, BorderPanel: StylesBorderPanel, ColorPanel: StylesColorPanel, TypographyPanel: StylesTypographyPanel, DimensionsPanel: StylesDimensionsPanel, FiltersPanel: StylesFiltersPanel, ImageSettingsPanel, AdvancedPanel: StylesAdvancedPanel } = unlock3(import_block_editor5.privateApis); // packages/global-styles-ui/build-module/screen-typography.mjs var import_i18n22 = __toESM(require_i18n(), 1); var import_components33 = __toESM(require_components(), 1); var import_element39 = __toESM(require_element(), 1); // packages/global-styles-ui/build-module/screen-body.mjs var import_components15 = __toESM(require_components(), 1); var import_jsx_runtime40 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/typography-elements.mjs var import_i18n9 = __toESM(require_i18n(), 1); var import_components16 = __toESM(require_components(), 1); var import_jsx_runtime41 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/variations/variations-typography.mjs var import_components18 = __toESM(require_components(), 1); // packages/global-styles-ui/build-module/preview-typography.mjs var import_components17 = __toESM(require_components(), 1); var import_jsx_runtime42 = __toESM(require_jsx_runtime(), 1); var StylesPreviewTypography = ({ variation, isFocused, withHoverView }) => { return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)( preview_wrapper_default, { label: variation.title, isFocused, withHoverView, children: ({ ratio, key }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)( import_components17.__experimentalHStack, { spacing: 10 * ratio, justify: "center", style: { height: "100%", overflow: "hidden" }, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)( PreviewTypography, { variation, fontSize: 85 * ratio } ) }, key ) } ); }; var preview_typography_default = StylesPreviewTypography; // packages/global-styles-ui/build-module/variations/variation.mjs var import_element28 = __toESM(require_element(), 1); var import_keycodes = __toESM(require_keycodes(), 1); var import_i18n10 = __toESM(require_i18n(), 1); var import_jsx_runtime43 = __toESM(require_jsx_runtime(), 1); function Variation({ variation, children, isPill = false, properties, showTooltip = false }) { const [isFocused, setIsFocused] = (0, import_element28.useState)(false); const { base, user, onChange: setUserConfig } = (0, import_element28.useContext)(GlobalStylesContext); const context = (0, import_element28.useMemo)(() => { let merged = mergeGlobalStyles(base, variation); if (properties) { merged = filterObjectByProperties(merged, properties); } return { user: variation, base, merged, onChange: () => { } }; }, [variation, base, properties]); const selectVariation = () => setUserConfig(variation); const selectOnEnter = (event) => { if (event.keyCode === import_keycodes.ENTER) { event.preventDefault(); selectVariation(); } }; const isActive = (0, import_element28.useMemo)( () => areGlobalStylesEqual(user, variation), [user, variation] ); let label = variation?.title; if (variation?.description) { label = (0, import_i18n10.sprintf)( /* translators: 1: variation title. 2: variation description. */ (0, import_i18n10._x)("%1$s (%2$s)", "variation label"), variation?.title, variation?.description ); } const content = /* @__PURE__ */ (0, import_jsx_runtime43.jsx)( "div", { className: clsx_default("global-styles-ui-variations_item", { "is-active": isActive }), role: "button", onClick: selectVariation, onKeyDown: selectOnEnter, tabIndex: 0, "aria-label": label, "aria-current": isActive, onFocus: () => setIsFocused(true), onBlur: () => setIsFocused(false), children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)( "div", { className: clsx_default("global-styles-ui-variations_item-preview", { "is-pill": isPill }), children: children(isFocused) } ) } ); return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(GlobalStylesContext.Provider, { value: context, children: showTooltip ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(tooltip_exports.Root, { children: [ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(tooltip_exports.Trigger, { render: content }), /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(tooltip_exports.Popup, { children: variation?.title }) ] }) : content }); } // packages/global-styles-ui/build-module/variations/variations-typography.mjs var import_jsx_runtime44 = __toESM(require_jsx_runtime(), 1); var propertiesToFilter = ["typography"]; function TypographyVariations({ title, gap = 2 }) { const typographyVariations = useCurrentMergeThemeStyleVariationsWithUserConfig(propertiesToFilter); if (typographyVariations?.length <= 1) { return null; } return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_components18.__experimentalVStack, { spacing: 3, children: [ title && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Subtitle, { level: 3, children: title }), /* @__PURE__ */ (0, import_jsx_runtime44.jsx)( import_components18.__experimentalGrid, { columns: 3, gap, className: "global-styles-ui-style-variations-container", children: typographyVariations.map( (variation, index2) => { return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)( Variation, { variation, properties: propertiesToFilter, showTooltip: true, children: () => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)( preview_typography_default, { variation } ) }, index2 ); } ) } ) ] }); } // packages/global-styles-ui/build-module/font-families.mjs var import_i18n20 = __toESM(require_i18n(), 1); var import_components31 = __toESM(require_components(), 1); var import_element38 = __toESM(require_element(), 1); // packages/global-styles-ui/build-module/font-library/context.mjs var import_element29 = __toESM(require_element(), 1); var import_data6 = __toESM(require_data(), 1); var import_core_data5 = __toESM(require_core_data(), 1); var import_i18n12 = __toESM(require_i18n(), 1); // packages/global-styles-ui/build-module/font-library/api.mjs var import_api_fetch = __toESM(require_api_fetch(), 1); var import_core_data4 = __toESM(require_core_data(), 1); var FONT_FAMILIES_URL = "/wp/v2/font-families"; function invalidateFontFamilyCache(registry) { const { receiveEntityRecords } = registry.dispatch(import_core_data4.store); receiveEntityRecords( "postType", "wp_font_family", [], void 0, true // invalidateCache ); } async function fetchInstallFontFamily(data, registry) { const config = { path: FONT_FAMILIES_URL, method: "POST", body: data }; const response = await (0, import_api_fetch.default)(config); invalidateFontFamilyCache(registry); return { id: response.id, ...response.font_family_settings, fontFace: [] }; } async function fetchInstallFontFace(fontFamilyId, data, registry) { const config = { path: `${FONT_FAMILIES_URL}/${fontFamilyId}/font-faces`, method: "POST", body: data }; const response = await (0, import_api_fetch.default)(config); invalidateFontFamilyCache(registry); return { id: response.id, ...response.font_face_settings }; } // packages/global-styles-ui/build-module/font-library/utils/index.mjs var import_components19 = __toESM(require_components(), 1); // packages/global-styles-ui/build-module/font-library/utils/constants.mjs var import_i18n11 = __toESM(require_i18n(), 1); var ALLOWED_FILE_EXTENSIONS = ["otf", "ttf", "woff", "woff2"]; var FONT_WEIGHTS = { 100: (0, import_i18n11._x)("Thin", "font weight"), 200: (0, import_i18n11._x)("Extra-light", "font weight"), 300: (0, import_i18n11._x)("Light", "font weight"), 400: (0, import_i18n11._x)("Normal", "font weight"), 500: (0, import_i18n11._x)("Medium", "font weight"), 600: (0, import_i18n11._x)("Semi-bold", "font weight"), 700: (0, import_i18n11._x)("Bold", "font weight"), 800: (0, import_i18n11._x)("Extra-bold", "font weight"), 900: (0, import_i18n11._x)("Black", "font weight") }; var FONT_STYLES = { normal: (0, import_i18n11._x)("Normal", "font style"), italic: (0, import_i18n11._x)("Italic", "font style") }; // packages/global-styles-ui/build-module/font-library/utils/index.mjs var { File } = window; var { kebabCase } = unlock3(import_components19.privateApis); function setUIValuesNeeded(font2, extraValues = {}) { if (!font2.name && (font2.fontFamily || font2.slug)) { font2.name = font2.fontFamily || font2.slug; } return { ...font2, ...extraValues }; } function isUrlEncoded(url) { if (typeof url !== "string") { return false; } return url !== decodeURIComponent(url); } function getFontFaceVariantName(face) { const weightName = FONT_WEIGHTS[face.fontWeight ?? ""] || face.fontWeight; const styleName = face.fontStyle === "normal" ? "" : FONT_STYLES[face.fontStyle ?? ""] || face.fontStyle; return `${weightName} ${styleName}`; } function mergeFontFaces(existing = [], incoming = []) { const map = /* @__PURE__ */ new Map(); for (const face of existing) { map.set(`${face.fontWeight}${face.fontStyle}`, face); } for (const face of incoming) { map.set(`${face.fontWeight}${face.fontStyle}`, face); } return Array.from(map.values()); } function mergeFontFamilies(existing = [], incoming = []) { const map = /* @__PURE__ */ new Map(); for (const font2 of existing) { map.set(font2.slug, { ...font2 }); } for (const font2 of incoming) { if (map.has(font2.slug)) { const { fontFace: incomingFontFaces, ...restIncoming } = font2; const existingFont = map.get(font2.slug); const mergedFontFaces = mergeFontFaces( existingFont.fontFace, incomingFontFaces ); map.set(font2.slug, { ...restIncoming, fontFace: mergedFontFaces }); } else { map.set(font2.slug, { ...font2 }); } } return Array.from(map.values()); } async function loadFontFaceInBrowser(fontFace, source, addTo = "all") { let dataSource; if (typeof source === "string") { dataSource = `url(${source})`; } else if (source instanceof File) { dataSource = await source.arrayBuffer(); } else { return; } const newFont = new window.FontFace( formatFontFaceName(fontFace.fontFamily), dataSource, { style: fontFace.fontStyle, weight: String(fontFace.fontWeight) } ); const loadedFace = await newFont.load(); if (addTo === "document" || addTo === "all") { document.fonts.add(loadedFace); } if (addTo === "iframe" || addTo === "all") { const iframe = document.querySelector( 'iframe[name="editor-canvas"]' ); if (iframe?.contentDocument) { iframe.contentDocument.fonts.add(loadedFace); } } } function unloadFontFaceInBrowser(fontFace, removeFrom = "all") { const unloadFontFace = (fonts) => { fonts.forEach((f2) => { if (f2.family === formatFontFaceName(fontFace?.fontFamily) && f2.weight === fontFace?.fontWeight && f2.style === fontFace?.fontStyle) { fonts.delete(f2); } }); }; if (removeFrom === "document" || removeFrom === "all") { unloadFontFace(document.fonts); } if (removeFrom === "iframe" || removeFrom === "all") { const iframe = document.querySelector( 'iframe[name="editor-canvas"]' ); if (iframe?.contentDocument) { unloadFontFace(iframe.contentDocument.fonts); } } } function getDisplaySrcFromFontFace(input) { if (!input) { return; } let src; if (Array.isArray(input)) { src = input[0]; } else { src = input; } if (src.startsWith("file:.")) { return; } if (!isUrlEncoded(src)) { src = encodeURI(src); } return src; } function makeFontFamilyFormData(fontFamily) { const formData = new FormData(); const { fontFace, category, ...familyWithValidParameters } = fontFamily; const fontFamilySettings = { ...familyWithValidParameters, slug: kebabCase(fontFamily.slug) }; formData.append( "font_family_settings", JSON.stringify(fontFamilySettings) ); return formData; } function makeFontFacesFormData(font2) { const fontFacesFormData = (font2?.fontFace ?? []).map( (item, faceIndex) => { const face = { ...item }; const formData = new FormData(); if (face.file) { const files = Array.isArray(face.file) ? face.file : [face.file]; const src = []; files.forEach((file, key) => { const fileId = `file-${faceIndex}-${key}`; formData.append(fileId, file, file.name); src.push(fileId); }); face.src = src.length === 1 ? src[0] : src; delete face.file; formData.append("font_face_settings", JSON.stringify(face)); } else { formData.append("font_face_settings", JSON.stringify(face)); } return formData; } ); return fontFacesFormData; } async function batchInstallFontFaces(fontFamilyId, fontFacesData, registry) { const responses = []; for (const faceData of fontFacesData) { try { const response = await fetchInstallFontFace( fontFamilyId, faceData, registry ); responses.push({ status: "fulfilled", value: response }); } catch (error) { responses.push({ status: "rejected", reason: error }); } } const results = { errors: [], successes: [] }; responses.forEach((result, index2) => { if (result.status === "fulfilled" && result.value) { const response = result.value; results.successes.push(response); } else if (result.reason) { results.errors.push({ data: fontFacesData[index2], message: result.reason.message }); } }); return results; } async function downloadFontFaceAssets(src) { src = Array.isArray(src) ? src : [src]; const files = await Promise.all( src.map(async (url) => { return fetch(new Request(url)).then((response) => { if (!response.ok) { throw new Error( `Error downloading font face asset from ${url}. Server responded with status: ${response.status}` ); } return response.blob(); }).then((blob) => { const filename = url.split("/").pop(); const file = new File([blob], filename, { type: blob.type }); return file; }); }) ); return files.length === 1 ? files[0] : files; } function checkFontFaceInstalled(fontFace, collection) { return -1 !== collection.findIndex((collectionFontFace) => { return collectionFontFace.fontWeight === fontFace.fontWeight && collectionFontFace.fontStyle === fontFace.fontStyle; }); } // packages/global-styles-ui/build-module/font-library/utils/set-immutably.mjs function setImmutably2(object, path, value) { path = Array.isArray(path) ? [...path] : [path]; object = Array.isArray(object) ? [...object] : { ...object }; const leaf = path.pop(); let prev = object; for (const key of path) { const lvl = prev[key]; prev = prev[key] = Array.isArray(lvl) ? [...lvl] : { ...lvl }; } prev[leaf] = value; return object; } // packages/global-styles-ui/build-module/font-library/utils/toggleFont.mjs function toggleFont(font2, face, initialfonts = []) { const isFontActivated = (f2) => f2.slug === font2.slug; const getActivatedFont = (fonts) => fonts.find(isFontActivated); const toggleEntireFontFamily = (activatedFont2) => { if (!activatedFont2) { return [...initialfonts, font2]; } return initialfonts.filter( (f2) => !isFontActivated(f2) ); }; const toggleFontVariant = (activatedFont2) => { const isFaceActivated = (f2) => f2.fontWeight === face.fontWeight && f2.fontStyle === face.fontStyle; if (!activatedFont2) { return [...initialfonts, { ...font2, fontFace: [face] }]; } let newFontFaces = activatedFont2.fontFace || []; if (newFontFaces.find(isFaceActivated)) { newFontFaces = newFontFaces.filter( (f2) => !isFaceActivated(f2) ); } else { newFontFaces = [...newFontFaces, face]; } if (newFontFaces.length === 0) { return initialfonts.filter( (f2) => !isFontActivated(f2) ); } return initialfonts.map( (f2) => isFontActivated(f2) ? { ...f2, fontFace: newFontFaces } : f2 ); }; const activatedFont = getActivatedFont(initialfonts); if (!face) { return toggleEntireFontFamily(activatedFont); } return toggleFontVariant(activatedFont); } // packages/global-styles-ui/build-module/font-library/context.mjs var import_jsx_runtime45 = __toESM(require_jsx_runtime(), 1); var FontLibraryContext = (0, import_element29.createContext)( {} ); FontLibraryContext.displayName = "FontLibraryContext"; function FontLibraryProvider({ children }) { const registry = (0, import_data6.useRegistry)(); const { saveEntityRecord, deleteEntityRecord } = (0, import_data6.useDispatch)(import_core_data5.store); const { globalStylesId } = (0, import_data6.useSelect)((select) => { const { __experimentalGetCurrentGlobalStylesId } = select(import_core_data5.store); return { globalStylesId: __experimentalGetCurrentGlobalStylesId() }; }, []); const globalStyles = (0, import_core_data5.useEntityRecord)( "root", "globalStyles", globalStylesId ); const [isInstalling, setIsInstalling] = (0, import_element29.useState)(false); const { records: libraryPosts = [], isResolving: isResolvingLibrary } = (0, import_core_data5.useEntityRecords)( "postType", "wp_font_family", { _embed: true } ); const libraryFonts = (libraryPosts || []).map((fontFamilyPost) => { return { id: fontFamilyPost.id, ...fontFamilyPost.font_family_settings || {}, fontFace: fontFamilyPost?._embedded?.font_faces?.map( (face) => face.font_face_settings ) || [] }; }) || []; const [fontFamilies, setFontFamilies] = useSetting("typography.fontFamilies"); const saveFontFamilies = async (fonts) => { if (!globalStyles.record) { return; } const updatedGlobalStyles = globalStyles.record; const finalGlobalStyles = setImmutably2( updatedGlobalStyles ?? {}, ["settings", "typography", "fontFamilies"], fonts ); await saveEntityRecord("root", "globalStyles", finalGlobalStyles); }; const [modalTabOpen, setModalTabOpen] = (0, import_element29.useState)(""); const [libraryFontSelected, setLibraryFontSelected] = (0, import_element29.useState)(void 0); const themeFonts = fontFamilies?.theme ? fontFamilies.theme.map((f2) => setUIValuesNeeded(f2, { source: "theme" })).sort((a2, b2) => a2.name.localeCompare(b2.name)) : []; const customFonts = fontFamilies?.custom ? fontFamilies.custom.map((f2) => setUIValuesNeeded(f2, { source: "custom" })).sort((a2, b2) => a2.name.localeCompare(b2.name)) : []; const baseCustomFonts = libraryFonts ? libraryFonts.map((f2) => setUIValuesNeeded(f2, { source: "custom" })).sort((a2, b2) => a2.name.localeCompare(b2.name)) : []; (0, import_element29.useEffect)(() => { if (!modalTabOpen) { setLibraryFontSelected(void 0); } }, [modalTabOpen]); const handleSetLibraryFontSelected = (font2) => { if (!font2) { setLibraryFontSelected(void 0); return; } const fonts = font2.source === "theme" ? themeFonts : baseCustomFonts; const fontSelected = fonts.find((f2) => f2.slug === font2.slug); setLibraryFontSelected({ ...fontSelected || font2, source: font2.source }); }; const [loadedFontUrls] = (0, import_element29.useState)(/* @__PURE__ */ new Set()); const getAvailableFontsOutline = (availableFontFamilies) => { const outline = availableFontFamilies.reduce( (acc, font2) => { const availableFontFaces = font2?.fontFace && font2.fontFace?.length > 0 ? font2?.fontFace.map( (face) => `${face.fontStyle ?? ""}${face.fontWeight ?? ""}` ) : ["normal400"]; acc[font2.slug] = availableFontFaces; return acc; }, {} ); return outline; }; const getActivatedFontsOutline = (source) => { switch (source) { case "theme": return getAvailableFontsOutline(themeFonts); case "custom": default: return getAvailableFontsOutline(customFonts); } }; const isFontActivated = (slug, style, weight, source) => { if (!style && !weight) { return !!getActivatedFontsOutline(source)[slug]; } return !!getActivatedFontsOutline(source)[slug]?.includes( (style ?? "") + (weight ?? "") ); }; const getFontFacesActivated = (slug, source) => { return getActivatedFontsOutline(source)[slug] || []; }; async function installFonts(fontFamiliesToInstall) { setIsInstalling(true); try { const fontFamiliesToActivate = []; let installationErrors = []; for (const fontFamilyToInstall of fontFamiliesToInstall) { let isANewFontFamily = false; const fontFamilyRecords = await (0, import_data6.resolveSelect)( import_core_data5.store ).getEntityRecords( "postType", "wp_font_family", { slug: fontFamilyToInstall.slug, per_page: 1, _embed: true } ); const fontFamilyPost = fontFamilyRecords && fontFamilyRecords.length > 0 ? fontFamilyRecords[0] : null; let installedFontFamily = fontFamilyPost ? { id: fontFamilyPost.id, ...fontFamilyPost.font_family_settings, fontFace: (fontFamilyPost?._embedded?.font_faces ?? []).map( (face) => face.font_face_settings ) || [] } : null; if (!installedFontFamily) { isANewFontFamily = true; installedFontFamily = await fetchInstallFontFamily( makeFontFamilyFormData(fontFamilyToInstall), registry ); } const alreadyInstalledFontFaces = installedFontFamily.fontFace && fontFamilyToInstall.fontFace ? installedFontFamily.fontFace.filter( (fontFaceToInstall) => fontFaceToInstall && fontFamilyToInstall.fontFace && checkFontFaceInstalled( fontFaceToInstall, fontFamilyToInstall.fontFace ) ) : []; if (installedFontFamily.fontFace && fontFamilyToInstall.fontFace) { fontFamilyToInstall.fontFace = fontFamilyToInstall.fontFace.filter( (fontFaceToInstall) => !checkFontFaceInstalled( fontFaceToInstall, installedFontFamily.fontFace ) ); } let successfullyInstalledFontFaces = []; let unsuccessfullyInstalledFontFaces = []; if (fontFamilyToInstall?.fontFace?.length ?? 0 > 0) { const response = await batchInstallFontFaces( // @ts-expect-error - Type mismatch: WpFontFamily.id can be number | string, but batchInstallFontFaces expects only string. installedFontFamily.id, makeFontFacesFormData( fontFamilyToInstall ), registry ); successfullyInstalledFontFaces = response?.successes; unsuccessfullyInstalledFontFaces = response?.errors; } if (successfullyInstalledFontFaces?.length > 0 || alreadyInstalledFontFaces?.length > 0) { installedFontFamily.fontFace = [ ...successfullyInstalledFontFaces ]; fontFamiliesToActivate.push(installedFontFamily); } if (installedFontFamily && !fontFamilyToInstall?.fontFace?.length) { fontFamiliesToActivate.push(installedFontFamily); } if (isANewFontFamily && (fontFamilyToInstall?.fontFace?.length ?? 0) > 0 && successfullyInstalledFontFaces?.length === 0) { await deleteEntityRecord( "postType", "wp_font_family", installedFontFamily.id, { force: true } ); } installationErrors = installationErrors.concat( unsuccessfullyInstalledFontFaces ); } const installationErrorMessages = installationErrors.reduce( (unique, item) => unique.includes(item.message) ? unique : [...unique, item.message], [] ); if (fontFamiliesToActivate.length > 0) { const activeFonts = activateCustomFontFamilies( // @ts-expect-error - Type mismatch: items may have id as number | string, but FontFamily.id should be string | undefined. fontFamiliesToActivate ); await saveFontFamilies(activeFonts); } if (installationErrorMessages.length > 0) { const installError = new Error((0, import_i18n12.__)("There was an error installing fonts.")); installError.installationErrors = installationErrorMessages; throw installError; } } finally { setIsInstalling(false); } } async function uninstallFontFamily(fontFamilyToUninstall) { if (!fontFamilyToUninstall?.id) { throw new Error((0, import_i18n12.__)("Font family to uninstall is not defined.")); } try { await deleteEntityRecord( "postType", "wp_font_family", fontFamilyToUninstall.id, { force: true } ); const activeFonts = deactivateFontFamily(fontFamilyToUninstall); await saveFontFamilies(activeFonts); return { deleted: true }; } catch (error) { console.error( `There was an error uninstalling the font family:`, error ); throw error; } } const deactivateFontFamily = (font2) => { const initialCustomFonts = fontFamilies?.[font2.source ?? ""] ?? []; const newCustomFonts = initialCustomFonts.filter( (f2) => f2.slug !== font2.slug ); const activeFonts = { ...fontFamilies, [font2.source ?? ""]: newCustomFonts }; setFontFamilies(activeFonts); if (font2.fontFace) { font2.fontFace.forEach((face) => { unloadFontFaceInBrowser(face, "all"); }); } return activeFonts; }; const activateCustomFontFamilies = (fontsToAdd) => { const fontsToActivate = cleanFontsForSave(fontsToAdd); const activeFonts = { ...fontFamilies, // Merge the existing custom fonts with the new fonts. custom: mergeFontFamilies(fontFamilies?.custom, fontsToActivate) }; setFontFamilies(activeFonts); loadFontsInBrowser(fontsToActivate); return activeFonts; }; const cleanFontsForSave = (fonts) => { return fonts.map(({ id: _familyDbId, fontFace, ...font2 }) => ({ ...font2, ...fontFace && fontFace.length > 0 ? { fontFace: fontFace.map( ({ id: _faceDbId, ...face }) => face ) } : {} })); }; const loadFontsInBrowser = (fonts) => { fonts.forEach((font2) => { if (font2.fontFace) { font2.fontFace.forEach((face) => { const displaySrc = getDisplaySrcFromFontFace( face?.src ?? "" ); if (displaySrc) { loadFontFaceInBrowser(face, displaySrc, "all"); } }); } }); }; const toggleActivateFont = (font2, face) => { const initialFonts = fontFamilies?.[font2.source ?? ""] ?? []; const newFonts = toggleFont(font2, face, initialFonts); setFontFamilies({ ...fontFamilies, [font2.source ?? ""]: newFonts }); const isFaceActivated = isFontActivated( font2.slug, face?.fontStyle ?? "", face?.fontWeight ?? "", font2.source ?? "custom" ); if (face && isFaceActivated) { unloadFontFaceInBrowser(face, "all"); } else { const displaySrc = getDisplaySrcFromFontFace(face?.src ?? ""); if (face && displaySrc) { loadFontFaceInBrowser(face, displaySrc, "all"); } } }; const loadFontFaceAsset = async (fontFace) => { if (!fontFace.src) { return; } const src = getDisplaySrcFromFontFace(fontFace.src); if (!src || loadedFontUrls.has(src)) { return; } loadFontFaceInBrowser(fontFace, src, "document"); loadedFontUrls.add(src); }; return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)( FontLibraryContext.Provider, { value: { libraryFontSelected, handleSetLibraryFontSelected, fontFamilies: fontFamilies ?? {}, baseCustomFonts, isFontActivated, getFontFacesActivated, loadFontFaceAsset, installFonts, uninstallFontFamily, toggleActivateFont, getAvailableFontsOutline, modalTabOpen, setModalTabOpen, saveFontFamilies, isResolvingLibrary, isInstalling }, children } ); } var context_default = FontLibraryProvider; // packages/global-styles-ui/build-module/font-library/modal.mjs var import_i18n18 = __toESM(require_i18n(), 1); var import_components29 = __toESM(require_components(), 1); var import_core_data8 = __toESM(require_core_data(), 1); var import_data8 = __toESM(require_data(), 1); // packages/global-styles-ui/build-module/font-library/installed-fonts.mjs var import_components23 = __toESM(require_components(), 1); var import_core_data6 = __toESM(require_core_data(), 1); var import_data7 = __toESM(require_data(), 1); var import_element33 = __toESM(require_element(), 1); var import_i18n14 = __toESM(require_i18n(), 1); // packages/global-styles-ui/build-module/font-library/font-card.mjs var import_i18n13 = __toESM(require_i18n(), 1); var import_element31 = __toESM(require_element(), 1); var import_components21 = __toESM(require_components(), 1); // packages/global-styles-ui/build-module/font-library/font-demo.mjs var import_components20 = __toESM(require_components(), 1); var import_element30 = __toESM(require_element(), 1); var import_jsx_runtime46 = __toESM(require_jsx_runtime(), 1); function getPreviewUrl(fontFace) { if (fontFace.preview) { return fontFace.preview; } if (fontFace.src) { return Array.isArray(fontFace.src) ? fontFace.src[0] : fontFace.src; } return void 0; } function getDisplayFontFace(font2) { if ("fontStyle" in font2 && font2.fontStyle || "fontWeight" in font2 && font2.fontWeight) { return font2; } if ("fontFace" in font2 && font2.fontFace && font2.fontFace.length) { return font2.fontFace.find( (face) => face.fontStyle === "normal" && face.fontWeight === "400" ) || font2.fontFace[0]; } return { fontStyle: "normal", fontWeight: "400", fontFamily: font2.fontFamily }; } function FontDemo({ font: font2, text }) { const ref = (0, import_element30.useRef)(null); const fontFace = getDisplayFontFace(font2); const style = getFamilyPreviewStyle(font2); text = text || ("name" in font2 ? font2.name : ""); const customPreviewUrl = font2.preview; const [isIntersecting, setIsIntersecting] = (0, import_element30.useState)(false); const [isAssetLoaded, setIsAssetLoaded] = (0, import_element30.useState)(false); const { loadFontFaceAsset } = (0, import_element30.useContext)(FontLibraryContext); const previewUrl = customPreviewUrl ?? getPreviewUrl(fontFace); const isPreviewImage = previewUrl && previewUrl.match(/\.(png|jpg|jpeg|gif|svg)$/i); const faceStyles = getFacePreviewStyle(fontFace); const textDemoStyle = { fontSize: "18px", lineHeight: 1, opacity: isAssetLoaded ? "1" : "0", ...style, ...faceStyles }; (0, import_element30.useEffect)(() => { const observer = new window.IntersectionObserver(([entry]) => { setIsIntersecting(entry.isIntersecting); }, {}); if (ref.current) { observer.observe(ref.current); } return () => observer.disconnect(); }, [ref]); (0, import_element30.useEffect)(() => { const loadAsset = async () => { if (isIntersecting) { if (!isPreviewImage && fontFace.src) { await loadFontFaceAsset(fontFace); } setIsAssetLoaded(true); } }; loadAsset(); }, [fontFace, isIntersecting, loadFontFaceAsset, isPreviewImage]); return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { ref, children: isPreviewImage ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)( "img", { src: previewUrl, loading: "lazy", alt: text, className: "font-library__font-variant_demo-image" } ) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)( import_components20.__experimentalText, { style: textDemoStyle, className: "font-library__font-variant_demo-text", children: text } ) }); } var font_demo_default = FontDemo; // packages/global-styles-ui/build-module/font-library/font-card.mjs var import_jsx_runtime47 = __toESM(require_jsx_runtime(), 1); function FontCard({ font: font2, onClick, variantsText, navigatorPath, shouldFocus }) { const variantsCount = font2.fontFace?.length || 1; const style = { cursor: !!onClick ? "pointer" : "default" }; const navigator2 = (0, import_components21.useNavigator)(); const ref = (0, import_element31.useRef)(null); (0, import_element31.useEffect)(() => { if (shouldFocus) { ref.current?.focus(); } }, [shouldFocus]); return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)( import_components21.Button, { ref, __next40pxDefaultSize: true, onClick: () => { onClick(); if (navigatorPath) { navigator2.goTo(navigatorPath); } }, style, className: "font-library__font-card", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_components21.Flex, { justify: "space-between", wrap: false, children: [ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(font_demo_default, { font: font2 }), /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_components21.Flex, { justify: "flex-end", children: [ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_components21.FlexItem, { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_components21.__experimentalText, { className: "font-library__font-card__count", children: variantsText || (0, import_i18n13.sprintf)( /* translators: %d: Number of font variants. */ (0, import_i18n13._n)( "%d variant", "%d variants", variantsCount ), variantsCount ) }) }), /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_components21.FlexItem, { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(icon_default, { icon: (0, import_i18n13.isRTL)() ? chevron_left_default : chevron_right_default }) }) ] }) ] }) } ); } var font_card_default = FontCard; // packages/global-styles-ui/build-module/font-library/library-font-variant.mjs var import_element32 = __toESM(require_element(), 1); var import_components22 = __toESM(require_components(), 1); var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1); function LibraryFontVariant({ face, font: font2 }) { const { isFontActivated, toggleActivateFont } = (0, import_element32.useContext)(FontLibraryContext); const isInstalled = (font2?.fontFace?.length ?? 0) > 0 ? isFontActivated( font2.slug, face.fontStyle, face.fontWeight, font2.source ) : isFontActivated(font2.slug, void 0, void 0, font2.source); const handleToggleActivation = () => { if ((font2?.fontFace?.length ?? 0) > 0) { toggleActivateFont(font2, face); return; } toggleActivateFont(font2); }; const displayName = font2.name + " " + getFontFaceVariantName(face); const checkboxId = (0, import_element32.useId)(); return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "font-library__font-card", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_components22.Flex, { justify: "flex-start", align: "center", gap: "1rem", children: [ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)( import_components22.CheckboxControl, { checked: isInstalled, onChange: handleToggleActivation, id: checkboxId } ), /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("label", { htmlFor: checkboxId, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)( font_demo_default, { font: face, text: displayName, onClick: handleToggleActivation } ) }) ] }) }); } var library_font_variant_default = LibraryFontVariant; // packages/global-styles-ui/build-module/font-library/utils/sort-font-faces.mjs function getNumericFontWeight(value) { switch (value) { case "normal": return 400; case "bold": return 700; case "bolder": return 500; case "lighter": return 300; default: return parseInt(value, 10); } } function sortFontFaces(faces) { return faces.sort((a2, b2) => { if (a2.fontStyle === "normal" && b2.fontStyle !== "normal") { return -1; } if (b2.fontStyle === "normal" && a2.fontStyle !== "normal") { return 1; } if (a2.fontStyle === b2.fontStyle) { return getNumericFontWeight(a2.fontWeight?.toString() ?? "normal") - getNumericFontWeight(b2.fontWeight?.toString() ?? "normal"); } if (!a2.fontStyle || !b2.fontStyle) { return !a2.fontStyle ? 1 : -1; } return a2.fontStyle.localeCompare(b2.fontStyle); }); } // packages/global-styles-ui/build-module/font-library/installed-fonts.mjs var import_jsx_runtime49 = __toESM(require_jsx_runtime(), 1); function getFontFamiliesKey(fontFamilies) { if (!fontFamilies) { return ""; } const normalized = {}; for (const source of Object.keys(fontFamilies).sort()) { normalized[source] = (fontFamilies[source] ?? []).map((family) => ({ slug: family.slug, fontFace: (family.fontFace ?? []).map( (face) => `${face.fontStyle}-${face.fontWeight}` ).sort() })).sort((a2, b2) => a2.slug.localeCompare(b2.slug)); } return JSON.stringify(normalized); } function InstalledFonts() { const { baseCustomFonts, libraryFontSelected, handleSetLibraryFontSelected, uninstallFontFamily, isResolvingLibrary, isInstalling, saveFontFamilies, getFontFacesActivated } = (0, import_element33.useContext)(FontLibraryContext); const [fontFamilies, setFontFamilies] = useSetting("typography.fontFamilies"); const [lastSelectedFontSlug, setLastSelectedFontSlug] = (0, import_element33.useState)(void 0); const [isConfirmDeleteOpen, setIsConfirmDeleteOpen] = (0, import_element33.useState)(false); const [notice, setNotice] = (0, import_element33.useState)(null); const [baseFontFamilies] = useSetting("typography.fontFamilies", void 0, "base"); const globalStylesId = (0, import_data7.useSelect)((select) => { const { __experimentalGetCurrentGlobalStylesId } = select(import_core_data6.store); return __experimentalGetCurrentGlobalStylesId(); }, []); const globalStyles = (0, import_core_data6.useEntityRecord)( "root", "globalStyles", globalStylesId ); const editedFontFamilies = globalStyles?.edits?.settings?.typography?.fontFamilies; const savedFontFamilies = globalStyles?.record?.settings?.typography?.fontFamilies; const fontFamiliesHasChanges = (0, import_element33.useMemo)(() => { if (editedFontFamilies === void 0) { return false; } return getFontFamiliesKey(editedFontFamilies) !== getFontFamiliesKey(savedFontFamilies); }, [editedFontFamilies, savedFontFamilies]); const themeFonts = fontFamilies?.theme ? fontFamilies.theme.map((f2) => setUIValuesNeeded(f2, { source: "theme" })).sort((a2, b2) => a2.name.localeCompare(b2.name)) : []; const themeFontsSlugs = new Set(themeFonts.map((f2) => f2.slug)); const baseThemeFonts = baseFontFamilies?.theme ? themeFonts.concat( baseFontFamilies.theme.filter((f2) => !themeFontsSlugs.has(f2.slug)).map((f2) => setUIValuesNeeded(f2, { source: "theme" })).sort((a2, b2) => a2.name.localeCompare(b2.name)) ) : []; const customFontFamilyId = libraryFontSelected?.source === "custom" && libraryFontSelected?.id; const canUserDelete = (0, import_data7.useSelect)( (select) => { const { canUser } = select(import_core_data6.store); return customFontFamilyId && canUser("delete", { kind: "postType", name: "wp_font_family", id: customFontFamilyId }); }, [customFontFamilyId] ); const shouldDisplayDeleteButton = !!libraryFontSelected && libraryFontSelected?.source !== "theme" && canUserDelete; const handleUninstallClick = () => { setIsConfirmDeleteOpen(true); }; const handleUpdate = async () => { setNotice(null); try { await saveFontFamilies(fontFamilies); setNotice({ type: "success", message: (0, import_i18n14.__)("Font family updated successfully.") }); } catch (error) { setNotice({ type: "error", message: (0, import_i18n14.sprintf)( /* translators: %s: error message */ (0, import_i18n14.__)("There was an error updating the font family. %s"), error.message ) }); } }; const getFontFacesToDisplay = (font2) => { if (!font2) { return []; } if (!font2.fontFace || !font2.fontFace.length) { return [ { fontFamily: font2.fontFamily, fontStyle: "normal", fontWeight: "400" } ]; } return sortFontFaces(font2.fontFace); }; const getFontCardVariantsText = (font2) => { const variantsInstalled = font2?.fontFace && (font2?.fontFace?.length ?? 0) > 0 ? font2.fontFace.length : 1; const variantsActive = getFontFacesActivated( font2.slug, font2.source ).length; return (0, import_i18n14.sprintf)( /* translators: 1: Active font variants, 2: Total font variants. */ (0, import_i18n14.__)("%1$d of %2$d active"), variantsActive, variantsInstalled ); }; (0, import_element33.useEffect)(() => { handleSetLibraryFontSelected(libraryFontSelected); }, []); const activeFontsCount = libraryFontSelected ? getFontFacesActivated( libraryFontSelected.slug, libraryFontSelected.source ).length : 0; const selectedFontsCount = libraryFontSelected?.fontFace?.length ?? (libraryFontSelected?.fontFamily ? 1 : 0); const isIndeterminate = activeFontsCount > 0 && activeFontsCount !== selectedFontsCount; const isSelectAllChecked = activeFontsCount === selectedFontsCount; const toggleSelectAll = () => { if (!libraryFontSelected || !libraryFontSelected?.source) { return; } const initialFonts = fontFamilies?.[libraryFontSelected.source]?.filter( (f2) => f2.slug !== libraryFontSelected.slug ) ?? []; const newFonts = isSelectAllChecked ? initialFonts : [...initialFonts, libraryFontSelected]; setFontFamilies({ ...fontFamilies, [libraryFontSelected.source]: newFonts }); if (libraryFontSelected.fontFace) { libraryFontSelected.fontFace.forEach((face) => { if (isSelectAllChecked) { unloadFontFaceInBrowser(face, "all"); } else { const displaySrc = getDisplaySrcFromFontFace( face?.src ?? "" ); if (displaySrc) { loadFontFaceInBrowser(face, displaySrc, "all"); } } }); } }; const hasFonts = baseThemeFonts.length > 0 || baseCustomFonts.length > 0; return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "font-library__tabpanel-layout", children: [ isResolvingLibrary && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "font-library__loading", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_components23.ProgressBar, {}) }), !isResolvingLibrary && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)( import_components23.Navigator, { initialPath: libraryFontSelected ? "/fontFamily" : "/", children: [ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_components23.Navigator.Screen, { path: "/", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_components23.__experimentalVStack, { spacing: "8", children: [ notice && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( import_components23.Notice, { status: notice.type, onRemove: () => setNotice(null), children: notice.message } ), !hasFonts && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_components23.__experimentalText, { as: "p", children: (0, import_i18n14.__)("No fonts installed.") }), baseThemeFonts.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_components23.__experimentalVStack, { children: [ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("h2", { className: "font-library__fonts-title", /* translators: Heading for a list of fonts provided by the theme. */ children: (0, import_i18n14._x)("Theme", "font source") }), /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( "ul", { role: "list", className: "font-library__fonts-list", children: baseThemeFonts.map((font2) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( "li", { className: "font-library__fonts-list-item", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( font_card_default, { font: font2, navigatorPath: "/fontFamily", variantsText: getFontCardVariantsText( font2 ), shouldFocus: font2.slug === lastSelectedFontSlug, onClick: () => { setNotice(null); handleSetLibraryFontSelected( font2 ); } } ) }, font2.slug )) } ) ] }), baseCustomFonts.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_components23.__experimentalVStack, { children: [ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("h2", { className: "font-library__fonts-title", /* translators: Heading for a list of fonts installed by the user. */ children: (0, import_i18n14._x)("Custom", "font source") }), /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( "ul", { role: "list", className: "font-library__fonts-list", children: baseCustomFonts.map((font2) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( "li", { className: "font-library__fonts-list-item", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( font_card_default, { font: font2, navigatorPath: "/fontFamily", variantsText: getFontCardVariantsText( font2 ), shouldFocus: font2.slug === lastSelectedFontSlug, onClick: () => { setNotice(null); handleSetLibraryFontSelected( font2 ); } } ) }, font2.slug )) } ) ] }) ] }) }), /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_components23.Navigator.Screen, { path: "/fontFamily", children: [ libraryFontSelected && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( ConfirmDeleteDialog, { font: libraryFontSelected, isOpen: isConfirmDeleteOpen, setIsOpen: setIsConfirmDeleteOpen, setNotice, uninstallFontFamily, handleSetLibraryFontSelected } ), /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_components23.Flex, { justify: "flex-start", children: [ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( import_components23.Navigator.BackButton, { icon: (0, import_i18n14.isRTL)() ? chevron_right_default : chevron_left_default, size: "small", onClick: () => { setLastSelectedFontSlug( libraryFontSelected?.slug ); handleSetLibraryFontSelected( void 0 ); setNotice(null); }, label: (0, import_i18n14.__)("Back") } ), /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( import_components23.__experimentalHeading, { level: 2, size: 13, className: "global-styles-ui-header", children: libraryFontSelected?.name } ) ] }), notice && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_components23.__experimentalSpacer, { margin: 1 }), /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( import_components23.Notice, { status: notice.type, onRemove: () => setNotice(null), children: notice.message } ), /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_components23.__experimentalSpacer, { margin: 1 }) ] }), /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_components23.__experimentalSpacer, { margin: 4 }), /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_components23.__experimentalText, { children: (0, import_i18n14.__)( "Choose font variants. Keep in mind that too many variants could make your site slower." ) }), /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_components23.__experimentalSpacer, { margin: 4 }), /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_components23.__experimentalVStack, { spacing: 0, children: [ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( import_components23.CheckboxControl, { className: "font-library__select-all", label: (0, import_i18n14.__)("Select all"), checked: isSelectAllChecked, onChange: toggleSelectAll, indeterminate: isIndeterminate } ), /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_components23.__experimentalSpacer, { margin: 8 }), /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( "ul", { role: "list", className: "font-library__fonts-list", children: libraryFontSelected && getFontFacesToDisplay( libraryFontSelected ).map((face, i2) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( "li", { className: "font-library__fonts-list-item", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( library_font_variant_default, { font: libraryFontSelected, face }, `face${i2}` ) }, `face${i2}` )) } ) ] }) ] }) ] } ), /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_components23.__experimentalHStack, { justify: "flex-end", className: "font-library__footer", children: [ isInstalling && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_components23.ProgressBar, {}), shouldDisplayDeleteButton && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( import_components23.Button, { __next40pxDefaultSize: true, isDestructive: true, variant: "tertiary", onClick: handleUninstallClick, children: (0, import_i18n14.__)("Delete") } ), /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( import_components23.Button, { __next40pxDefaultSize: true, variant: "primary", onClick: handleUpdate, disabled: !fontFamiliesHasChanges, accessibleWhenDisabled: true, children: (0, import_i18n14.__)("Update") } ) ] }) ] }) ] }); } function ConfirmDeleteDialog({ font: font2, isOpen, setIsOpen, setNotice, uninstallFontFamily, handleSetLibraryFontSelected }) { const navigator2 = (0, import_components23.useNavigator)(); const handleConfirmUninstall = async () => { setNotice(null); setIsOpen(false); try { await uninstallFontFamily(font2); navigator2.goBack(); handleSetLibraryFontSelected(void 0); setNotice({ type: "success", message: (0, import_i18n14.__)("Font family uninstalled successfully.") }); } catch (error) { setNotice({ type: "error", message: (0, import_i18n14.__)("There was an error uninstalling the font family.") + error.message }); } }; const handleCancelUninstall = () => { setIsOpen(false); }; return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)( import_components23.__experimentalConfirmDialog, { isOpen, cancelButtonText: (0, import_i18n14.__)("Cancel"), confirmButtonText: (0, import_i18n14.__)("Delete"), onCancel: handleCancelUninstall, onConfirm: handleConfirmUninstall, size: "medium", children: font2 && (0, import_i18n14.sprintf)( /* translators: %s: Name of the font. */ (0, import_i18n14.__)( 'Are you sure you want to delete "%s" font and all its variants and assets?' ), font2.name ) } ); } var installed_fonts_default = InstalledFonts; // packages/global-styles-ui/build-module/font-library/font-collection.mjs var import_element35 = __toESM(require_element(), 1); var import_components26 = __toESM(require_components(), 1); var import_compose3 = __toESM(require_compose(), 1); var import_i18n16 = __toESM(require_i18n(), 1); var import_core_data7 = __toESM(require_core_data(), 1); // packages/global-styles-ui/build-module/font-library/utils/filter-fonts.mjs function filterFonts(fonts, filters) { const { category, search } = filters; let filteredFonts = fonts || []; if (category && category !== "all") { filteredFonts = filteredFonts.filter( (font2) => font2.categories && font2.categories.indexOf(category) !== -1 ); } if (search) { filteredFonts = filteredFonts.filter( (font2) => font2.font_family_settings && font2.font_family_settings.name.toLowerCase().includes(search.toLowerCase()) ); } return filteredFonts; } // packages/global-styles-ui/build-module/font-library/utils/fonts-outline.mjs function getFontsOutline(fonts) { return fonts.reduce( (acc, font2) => ({ ...acc, [font2.slug]: (font2?.fontFace || []).reduce( (faces, face) => ({ ...faces, [`${face.fontStyle}-${face.fontWeight}`]: true }), {} ) }), {} ); } function isFontFontFaceInOutline(slug, face, outline) { if (!face) { return !!outline[slug]; } return !!outline[slug]?.[`${face.fontStyle}-${face.fontWeight}`]; } // packages/global-styles-ui/build-module/font-library/google-fonts-confirm-dialog.mjs var import_i18n15 = __toESM(require_i18n(), 1); var import_components24 = __toESM(require_components(), 1); var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1); function GoogleFontsConfirmDialog() { const handleConfirm = () => { window.localStorage.setItem( "wp-font-library-google-fonts-permission", "true" ); window.dispatchEvent(new Event("storage")); }; return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "font-library__google-fonts-confirm", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_components24.Card, { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_components24.CardBody, { children: [ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_components24.__experimentalHeading, { level: 2, children: (0, import_i18n15.__)("Connect to Google Fonts") }), /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_components24.__experimentalSpacer, { margin: 6 }), /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_components24.__experimentalText, { as: "p", children: (0, import_i18n15.__)( "To install fonts from Google you must give permission to connect directly to Google servers. The fonts you install will be downloaded from Google and stored on your site. Your site will then use these locally-hosted fonts." ) }), /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_components24.__experimentalSpacer, { margin: 3 }), /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_components24.__experimentalText, { as: "p", children: (0, import_i18n15.__)( "You can alternatively upload files directly on the Upload tab." ) }), /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_components24.__experimentalSpacer, { margin: 6 }), /* @__PURE__ */ (0, import_jsx_runtime50.jsx)( import_components24.Button, { __next40pxDefaultSize: true, variant: "primary", onClick: handleConfirm, children: (0, import_i18n15.__)("Allow access to Google Fonts") } ) ] }) }) }); } var google_fonts_confirm_dialog_default = GoogleFontsConfirmDialog; // packages/global-styles-ui/build-module/font-library/collection-font-variant.mjs var import_element34 = __toESM(require_element(), 1); var import_components25 = __toESM(require_components(), 1); var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1); function CollectionFontVariant({ face, font: font2, handleToggleVariant, selected }) { const handleToggleActivation = () => { if (font2?.fontFace) { handleToggleVariant(font2, face); return; } handleToggleVariant(font2); }; const displayName = font2.name + " " + getFontFaceVariantName(face); const checkboxId = (0, import_element34.useId)(); return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "font-library__font-card", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_components25.Flex, { justify: "flex-start", align: "center", gap: "1rem", children: [ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)( import_components25.CheckboxControl, { checked: selected, onChange: handleToggleActivation, id: checkboxId } ), /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("label", { htmlFor: checkboxId, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)( font_demo_default, { font: face, text: displayName, onClick: handleToggleActivation } ) }) ] }) }); } var collection_font_variant_default = CollectionFontVariant; // packages/global-styles-ui/build-module/font-library/font-collection.mjs var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1); var DEFAULT_CATEGORY = { slug: "all", name: (0, import_i18n16._x)("All", "font categories") }; var LOCAL_STORAGE_ITEM = "wp-font-library-google-fonts-permission"; var MIN_WINDOW_HEIGHT = 500; function FontCollection({ slug }) { const requiresPermission = slug === "google-fonts"; const getGoogleFontsPermissionFromStorage = () => { return window.localStorage.getItem(LOCAL_STORAGE_ITEM) === "true"; }; const [selectedFont, setSelectedFont] = (0, import_element35.useState)( null ); const [lastSelectedFontSlug, setLastSelectedFontSlug] = (0, import_element35.useState)(void 0); const [notice, setNotice] = (0, import_element35.useState)(null); const [fontsToInstall, setFontsToInstall] = (0, import_element35.useState)( [] ); const [page, setPage] = (0, import_element35.useState)(1); const [filters, setFilters] = (0, import_element35.useState)({}); const [renderConfirmDialog, setRenderConfirmDialog] = (0, import_element35.useState)( requiresPermission && !getGoogleFontsPermissionFromStorage() ); const { installFonts, isInstalling } = (0, import_element35.useContext)(FontLibraryContext); const { record: selectedCollection, isResolving: isLoading } = (0, import_core_data7.useEntityRecord)("root", "fontCollection", slug); (0, import_element35.useEffect)(() => { const handleStorage = () => { setRenderConfirmDialog( requiresPermission && !getGoogleFontsPermissionFromStorage() ); }; handleStorage(); window.addEventListener("storage", handleStorage); return () => window.removeEventListener("storage", handleStorage); }, [slug, requiresPermission]); const revokeAccess = () => { window.localStorage.setItem(LOCAL_STORAGE_ITEM, "false"); window.dispatchEvent(new Event("storage")); }; (0, import_element35.useEffect)(() => { setSelectedFont(null); }, [slug]); (0, import_element35.useEffect)(() => { setFontsToInstall([]); }, [selectedFont]); const collectionFonts = (0, import_element35.useMemo)( () => selectedCollection?.font_families ?? [], [selectedCollection] ); const collectionCategories = selectedCollection?.categories ?? []; const categories = [DEFAULT_CATEGORY, ...collectionCategories]; const fonts = (0, import_element35.useMemo)( () => filterFonts(collectionFonts, filters), [collectionFonts, filters] ); const windowHeight = Math.max(window.innerHeight, MIN_WINDOW_HEIGHT); const pageSize = Math.floor((windowHeight - 417) / 61); const totalPages = Math.ceil(fonts.length / pageSize); const itemsStart = (page - 1) * pageSize; const itemsLimit = page * pageSize; const items = fonts.slice(itemsStart, itemsLimit); const handleCategoryFilter = (category) => { setFilters({ ...filters, category }); setPage(1); }; const handleUpdateSearchInput = (value) => { setFilters({ ...filters, search: value }); setPage(1); }; const debouncedUpdateSearchInput = (0, import_compose3.debounce)(handleUpdateSearchInput, 300); const handleToggleVariant = (font2, face) => { const newFontsToInstall = toggleFont(font2, face, fontsToInstall); setFontsToInstall(newFontsToInstall); }; const fontToInstallOutline = getFontsOutline(fontsToInstall); const resetFontsToInstall = () => { setFontsToInstall([]); }; const selectFontCount = fontsToInstall.length > 0 ? fontsToInstall[0]?.fontFace?.length ?? 0 : 0; const isIndeterminate = selectFontCount > 0 && selectFontCount !== selectedFont?.fontFace?.length; const isSelectAllChecked = selectFontCount === selectedFont?.fontFace?.length; const toggleSelectAll = () => { const newFonts = []; if (!isSelectAllChecked && selectedFont) { newFonts.push(selectedFont); } setFontsToInstall(newFonts); }; const handleInstall = async () => { setNotice(null); const fontFamily = fontsToInstall[0]; try { if (fontFamily?.fontFace) { await Promise.all( fontFamily.fontFace.map(async (fontFace) => { if (fontFace.src) { fontFace.file = await downloadFontFaceAssets( fontFace.src ); } }) ); } } catch { setNotice({ type: "error", message: (0, import_i18n16.__)( "Error installing the fonts, could not be downloaded." ) }); return; } try { await installFonts([fontFamily]); setNotice({ type: "success", message: (0, import_i18n16.__)("Fonts were installed successfully.") }); } catch (error) { setNotice({ type: "error", message: error.message }); } resetFontsToInstall(); }; const getSortedFontFaces = (fontFamily) => { if (!fontFamily) { return []; } if (!fontFamily.fontFace || !fontFamily.fontFace.length) { return [ { fontFamily: fontFamily.fontFamily, fontStyle: "normal", fontWeight: "400" } ]; } return sortFontFaces(fontFamily.fontFace); }; if (renderConfirmDialog) { return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(google_fonts_confirm_dialog_default, {}); } const showActions = slug === "google-fonts" && !renderConfirmDialog && !selectedFont; return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "font-library__tabpanel-layout", children: [ isLoading && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "font-library__loading", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components26.ProgressBar, {}) }), !isLoading && selectedCollection && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)( import_components26.Navigator, { initialPath: "/", className: "font-library__tabpanel-layout", children: [ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_components26.Navigator.Screen, { path: "/", children: [ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_components26.__experimentalHStack, { justify: "space-between", children: [ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_components26.__experimentalVStack, { children: [ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components26.__experimentalHeading, { level: 2, size: 13, children: selectedCollection.name }), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components26.__experimentalText, { children: selectedCollection.description }) ] }), showActions && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( import_components26.DropdownMenu, { icon: more_vertical_default, label: (0, import_i18n16.__)("Actions"), popoverProps: { position: "bottom left" }, controls: [ { title: (0, import_i18n16.__)( "Revoke access to Google Fonts" ), onClick: revokeAccess } ] } ) ] }), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components26.__experimentalSpacer, { margin: 4 }), /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_components26.__experimentalHStack, { spacing: 4, justify: "space-between", children: [ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( import_components26.SearchControl, { value: filters.search, placeholder: (0, import_i18n16.__)("Font name\u2026"), label: (0, import_i18n16.__)("Search"), onChange: debouncedUpdateSearchInput, hideLabelFromVision: false } ), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( import_components26.SelectControl, { label: (0, import_i18n16.__)("Category"), value: filters.category, onChange: handleCategoryFilter, children: categories && categories.map((category) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( "option", { value: category.slug, children: category.name }, category.slug )) } ) ] }), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components26.__experimentalSpacer, { margin: 4 }), !!selectedCollection?.font_families?.length && !fonts.length && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components26.__experimentalText, { children: (0, import_i18n16.__)( "No fonts found. Try with a different search term." ) }), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "font-library__fonts-grid__main", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( "ul", { role: "list", className: "font-library__fonts-list", children: items.map((font2) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( "li", { className: "font-library__fonts-list-item", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( font_card_default, { font: font2.font_family_settings, navigatorPath: "/fontFamily", shouldFocus: font2.font_family_settings.slug === lastSelectedFontSlug, onClick: () => { setSelectedFont( font2.font_family_settings ); } } ) }, font2.font_family_settings.slug )) } ) }) ] }), /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_components26.Navigator.Screen, { path: "/fontFamily", children: [ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_components26.Flex, { justify: "flex-start", children: [ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( import_components26.Navigator.BackButton, { icon: (0, import_i18n16.isRTL)() ? chevron_right_default : chevron_left_default, size: "small", onClick: () => { setLastSelectedFontSlug( selectedFont?.slug ); setSelectedFont(null); setNotice(null); }, label: (0, import_i18n16.__)("Back") } ), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( import_components26.__experimentalHeading, { level: 2, size: 13, className: "global-styles-ui-header", children: selectedFont?.name } ) ] }), notice && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components26.__experimentalSpacer, { margin: 1 }), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( import_components26.Notice, { status: notice.type, onRemove: () => setNotice(null), children: notice.message } ), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components26.__experimentalSpacer, { margin: 1 }) ] }), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components26.__experimentalSpacer, { margin: 4 }), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components26.__experimentalText, { children: (0, import_i18n16.__)("Select font variants to install.") }), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components26.__experimentalSpacer, { margin: 4 }), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( import_components26.CheckboxControl, { className: "font-library__select-all", label: (0, import_i18n16.__)("Select all"), checked: isSelectAllChecked, onChange: toggleSelectAll, indeterminate: isIndeterminate } ), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components26.__experimentalVStack, { spacing: 0, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( "ul", { role: "list", className: "font-library__fonts-list", children: selectedFont && getSortedFontFaces(selectedFont).map( (face, i2) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( "li", { className: "font-library__fonts-list-item", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( collection_font_variant_default, { font: selectedFont, face, handleToggleVariant, selected: isFontFontFaceInOutline( selectedFont.slug, selectedFont.fontFace ? face : null, // If the font has no fontFace, we want to check if the font is in the outline fontToInstallOutline ) } ) }, `face${i2}` ) ) } ) }), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_components26.__experimentalSpacer, { margin: 16 }) ] }) ] } ), selectedFont && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( import_components26.Flex, { justify: "flex-end", className: "font-library__footer", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( import_components26.Button, { __next40pxDefaultSize: true, variant: "primary", onClick: handleInstall, isBusy: isInstalling, disabled: fontsToInstall.length === 0 || isInstalling, accessibleWhenDisabled: true, children: (0, import_i18n16.__)("Install") } ) } ), !selectedFont && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)( import_components26.__experimentalHStack, { expanded: false, className: "font-library__footer", justify: "end", spacing: 6, children: [ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( import_components26.__experimentalHStack, { justify: "flex-start", expanded: false, spacing: 1, className: "font-library__page-selection", children: (0, import_element35.createInterpolateElement)( (0, import_i18n16.sprintf)( // translators: 1: Current page number, 2: Total number of pages. (0, import_i18n16._x)( "<div>Page</div>%1$s<div>of %2$d</div>", "paging" ), "<CurrentPage />", totalPages ), { div: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { "aria-hidden": true }), // @ts-expect-error — Tag injected via sprintf argument, not visible in format string. CurrentPage: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( import_components26.SelectControl, { "aria-label": (0, import_i18n16.__)( "Current page" ), value: page.toString(), options: [ ...Array(totalPages) ].map((e2, i2) => { return { label: (i2 + 1).toString(), value: (i2 + 1).toString() }; }), onChange: (newPage) => setPage( parseInt(newPage) ), size: "small", variant: "minimal" } ) } ) } ), /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_components26.__experimentalHStack, { expanded: false, spacing: 1, children: [ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( import_components26.Button, { onClick: () => setPage(page - 1), disabled: page === 1, accessibleWhenDisabled: true, label: (0, import_i18n16.__)("Previous page"), icon: (0, import_i18n16.isRTL)() ? next_default : previous_default, showTooltip: true, size: "compact", tooltipPosition: "top" } ), /* @__PURE__ */ (0, import_jsx_runtime52.jsx)( import_components26.Button, { onClick: () => setPage(page + 1), disabled: page === totalPages, accessibleWhenDisabled: true, label: (0, import_i18n16.__)("Next page"), icon: (0, import_i18n16.isRTL)() ? previous_default : next_default, showTooltip: true, size: "compact", tooltipPosition: "top" } ) ] }) ] } ) ] }) ] }); } var font_collection_default = FontCollection; // packages/global-styles-ui/build-module/font-library/upload-fonts.mjs var import_i18n17 = __toESM(require_i18n(), 1); var import_components28 = __toESM(require_components(), 1); var import_element36 = __toESM(require_element(), 1); // packages/global-styles-ui/build-module/font-library/lib/unbrotli.mjs var __require2 = /* @__PURE__ */ ((x2) => typeof __require !== "undefined" ? __require : typeof Proxy !== "undefined" ? new Proxy(x2, { get: (a2, b2) => (typeof __require !== "undefined" ? __require : a2)[b2] }) : x2)(function(x2) { if (typeof __require !== "undefined") return __require.apply(this, arguments); throw Error('Dynamic require of "' + x2 + '" is not supported'); }); var unbrotli_default = (function() { var define, module, exports; return (/* @__PURE__ */ (function() { function r3(e2, n2, t3) { function o3(i22, f2) { if (!n2[i22]) { if (!e2[i22]) { var c2 = "function" == typeof __require2 && __require2; if (!f2 && c2) return c2(i22, true); if (u2) return u2(i22, true); var a2 = new Error("Cannot find module '" + i22 + "'"); throw a2.code = "MODULE_NOT_FOUND", a2; } var p3 = n2[i22] = { exports: {} }; e2[i22][0].call( p3.exports, function(r22) { var n22 = e2[i22][1][r22]; return o3(n22 || r22); }, p3, p3.exports, r3, e2, n2, t3 ); } return n2[i22].exports; } for (var u2 = "function" == typeof __require2 && __require2, i2 = 0; i2 < t3.length; i2++) o3(t3[i2]); return o3; } return r3; })())( { 1: [ function(require2, module2, exports2) { var BROTLI_READ_SIZE = 4096; var BROTLI_IBUF_SIZE = 2 * BROTLI_READ_SIZE + 32; var BROTLI_IBUF_MASK = 2 * BROTLI_READ_SIZE - 1; var kBitMask = new Uint32Array([ 0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215 ]); function BrotliBitReader(input) { this.buf_ = new Uint8Array(BROTLI_IBUF_SIZE); this.input_ = input; this.reset(); } BrotliBitReader.READ_SIZE = BROTLI_READ_SIZE; BrotliBitReader.IBUF_MASK = BROTLI_IBUF_MASK; BrotliBitReader.prototype.reset = function() { this.buf_ptr_ = 0; this.val_ = 0; this.pos_ = 0; this.bit_pos_ = 0; this.bit_end_pos_ = 0; this.eos_ = 0; this.readMoreInput(); for (var i2 = 0; i2 < 4; i2++) { this.val_ |= this.buf_[this.pos_] << 8 * i2; ++this.pos_; } return this.bit_end_pos_ > 0; }; BrotliBitReader.prototype.readMoreInput = function() { if (this.bit_end_pos_ > 256) { return; } else if (this.eos_) { if (this.bit_pos_ > this.bit_end_pos_) throw new Error( "Unexpected end of input " + this.bit_pos_ + " " + this.bit_end_pos_ ); } else { var dst = this.buf_ptr_; var bytes_read = this.input_.read( this.buf_, dst, BROTLI_READ_SIZE ); if (bytes_read < 0) { throw new Error("Unexpected end of input"); } if (bytes_read < BROTLI_READ_SIZE) { this.eos_ = 1; for (var p3 = 0; p3 < 32; p3++) this.buf_[dst + bytes_read + p3] = 0; } if (dst === 0) { for (var p3 = 0; p3 < 32; p3++) this.buf_[(BROTLI_READ_SIZE << 1) + p3] = this.buf_[p3]; this.buf_ptr_ = BROTLI_READ_SIZE; } else { this.buf_ptr_ = 0; } this.bit_end_pos_ += bytes_read << 3; } }; BrotliBitReader.prototype.fillBitWindow = function() { while (this.bit_pos_ >= 8) { this.val_ >>>= 8; this.val_ |= this.buf_[this.pos_ & BROTLI_IBUF_MASK] << 24; ++this.pos_; this.bit_pos_ = this.bit_pos_ - 8 >>> 0; this.bit_end_pos_ = this.bit_end_pos_ - 8 >>> 0; } }; BrotliBitReader.prototype.readBits = function(n_bits) { if (32 - this.bit_pos_ < n_bits) { this.fillBitWindow(); } var val = this.val_ >>> this.bit_pos_ & kBitMask[n_bits]; this.bit_pos_ += n_bits; return val; }; module2.exports = BrotliBitReader; }, {} ], 2: [ function(require2, module2, exports2) { var CONTEXT_LSB6 = 0; var CONTEXT_MSB6 = 1; var CONTEXT_UTF8 = 2; var CONTEXT_SIGNED = 3; exports2.lookup = new Uint8Array([ /* CONTEXT_UTF8, last byte. */ /* ASCII range. */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 12, 16, 12, 12, 20, 12, 16, 24, 28, 12, 12, 32, 12, 36, 12, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 32, 32, 24, 40, 28, 12, 12, 48, 52, 52, 52, 48, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 24, 12, 28, 12, 12, 12, 56, 60, 60, 60, 56, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 24, 12, 28, 12, 0, /* UTF8 continuation byte range. */ 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, /* ASCII range. */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0, /* UTF8 continuation byte range. */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, /* CONTEXT_SIGNED, last byte, same as the above values shifted by 3 bits. */ 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56, /* CONTEXT_LSB6, last byte. */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, /* CONTEXT_MSB6, last byte. */ 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, 36, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39, 40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 43, 44, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47, 48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 50, 50, 51, 51, 51, 51, 52, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63, 63, /* CONTEXT_{M,L}SB6, second last byte, */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]); exports2.lookupOffsets = new Uint16Array([ /* CONTEXT_LSB6 */ 1024, 1536, 1280, 1536, 0, 256, 768, 512 ]); }, {} ], 3: [ function(require2, module2, exports2) { var BrotliInput = require2("./streams").BrotliInput; var BrotliOutput = require2("./streams").BrotliOutput; var BrotliBitReader = require2("./bit_reader"); var BrotliDictionary = require2("./dictionary"); var HuffmanCode = require2("./huffman").HuffmanCode; var BrotliBuildHuffmanTable = require2("./huffman").BrotliBuildHuffmanTable; var Context = require2("./context"); var Prefix = require2("./prefix"); var Transform = require2("./transform"); var kDefaultCodeLength = 8; var kCodeLengthRepeatCode = 16; var kNumLiteralCodes = 256; var kNumInsertAndCopyCodes = 704; var kNumBlockLengthCodes = 26; var kLiteralContextBits = 6; var kDistanceContextBits = 2; var HUFFMAN_TABLE_BITS = 8; var HUFFMAN_TABLE_MASK = 255; var HUFFMAN_MAX_TABLE_SIZE = 1080; var CODE_LENGTH_CODES = 18; var kCodeLengthCodeOrder = new Uint8Array([ 1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15 ]); var NUM_DISTANCE_SHORT_CODES = 16; var kDistanceShortCodeIndexOffset = new Uint8Array([ 3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 ]); var kDistanceShortCodeValueOffset = new Int8Array([ 0, 0, 0, 0, -1, 1, -2, 2, -3, 3, -1, 1, -2, 2, -3, 3 ]); var kMaxHuffmanTableSize = new Uint16Array([ 256, 402, 436, 468, 500, 534, 566, 598, 630, 662, 694, 726, 758, 790, 822, 854, 886, 920, 952, 984, 1016, 1048, 1080 ]); function DecodeWindowBits(br) { var n2; if (br.readBits(1) === 0) { return 16; } n2 = br.readBits(3); if (n2 > 0) { return 17 + n2; } n2 = br.readBits(3); if (n2 > 0) { return 8 + n2; } return 17; } function DecodeVarLenUint8(br) { if (br.readBits(1)) { var nbits = br.readBits(3); if (nbits === 0) { return 1; } else { return br.readBits(nbits) + (1 << nbits); } } return 0; } function MetaBlockLength() { this.meta_block_length = 0; this.input_end = 0; this.is_uncompressed = 0; this.is_metadata = false; } function DecodeMetaBlockLength(br) { var out = new MetaBlockLength(); var size_nibbles; var size_bytes; var i2; out.input_end = br.readBits(1); if (out.input_end && br.readBits(1)) { return out; } size_nibbles = br.readBits(2) + 4; if (size_nibbles === 7) { out.is_metadata = true; if (br.readBits(1) !== 0) throw new Error("Invalid reserved bit"); size_bytes = br.readBits(2); if (size_bytes === 0) return out; for (i2 = 0; i2 < size_bytes; i2++) { var next_byte = br.readBits(8); if (i2 + 1 === size_bytes && size_bytes > 1 && next_byte === 0) throw new Error("Invalid size byte"); out.meta_block_length |= next_byte << i2 * 8; } } else { for (i2 = 0; i2 < size_nibbles; ++i2) { var next_nibble = br.readBits(4); if (i2 + 1 === size_nibbles && size_nibbles > 4 && next_nibble === 0) throw new Error("Invalid size nibble"); out.meta_block_length |= next_nibble << i2 * 4; } } ++out.meta_block_length; if (!out.input_end && !out.is_metadata) { out.is_uncompressed = br.readBits(1); } return out; } function ReadSymbol(table, index2, br) { var start_index = index2; var nbits; br.fillBitWindow(); index2 += br.val_ >>> br.bit_pos_ & HUFFMAN_TABLE_MASK; nbits = table[index2].bits - HUFFMAN_TABLE_BITS; if (nbits > 0) { br.bit_pos_ += HUFFMAN_TABLE_BITS; index2 += table[index2].value; index2 += br.val_ >>> br.bit_pos_ & (1 << nbits) - 1; } br.bit_pos_ += table[index2].bits; return table[index2].value; } function ReadHuffmanCodeLengths(code_length_code_lengths, num_symbols, code_lengths, br) { var symbol = 0; var prev_code_len = kDefaultCodeLength; var repeat = 0; var repeat_code_len = 0; var space = 32768; var table = []; for (var i2 = 0; i2 < 32; i2++) table.push(new HuffmanCode(0, 0)); BrotliBuildHuffmanTable( table, 0, 5, code_length_code_lengths, CODE_LENGTH_CODES ); while (symbol < num_symbols && space > 0) { var p3 = 0; var code_len; br.readMoreInput(); br.fillBitWindow(); p3 += br.val_ >>> br.bit_pos_ & 31; br.bit_pos_ += table[p3].bits; code_len = table[p3].value & 255; if (code_len < kCodeLengthRepeatCode) { repeat = 0; code_lengths[symbol++] = code_len; if (code_len !== 0) { prev_code_len = code_len; space -= 32768 >> code_len; } } else { var extra_bits = code_len - 14; var old_repeat; var repeat_delta; var new_len = 0; if (code_len === kCodeLengthRepeatCode) { new_len = prev_code_len; } if (repeat_code_len !== new_len) { repeat = 0; repeat_code_len = new_len; } old_repeat = repeat; if (repeat > 0) { repeat -= 2; repeat <<= extra_bits; } repeat += br.readBits(extra_bits) + 3; repeat_delta = repeat - old_repeat; if (symbol + repeat_delta > num_symbols) { throw new Error( "[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols" ); } for (var x2 = 0; x2 < repeat_delta; x2++) code_lengths[symbol + x2] = repeat_code_len; symbol += repeat_delta; if (repeat_code_len !== 0) { space -= repeat_delta << 15 - repeat_code_len; } } } if (space !== 0) { throw new Error( "[ReadHuffmanCodeLengths] space = " + space ); } for (; symbol < num_symbols; symbol++) code_lengths[symbol] = 0; } function ReadHuffmanCode(alphabet_size, tables, table, br) { var table_size = 0; var simple_code_or_skip; var code_lengths = new Uint8Array(alphabet_size); br.readMoreInput(); simple_code_or_skip = br.readBits(2); if (simple_code_or_skip === 1) { var i2; var max_bits_counter = alphabet_size - 1; var max_bits = 0; var symbols = new Int32Array(4); var num_symbols = br.readBits(2) + 1; while (max_bits_counter) { max_bits_counter >>= 1; ++max_bits; } for (i2 = 0; i2 < num_symbols; ++i2) { symbols[i2] = br.readBits(max_bits) % alphabet_size; code_lengths[symbols[i2]] = 2; } code_lengths[symbols[0]] = 1; switch (num_symbols) { case 1: break; case 3: if (symbols[0] === symbols[1] || symbols[0] === symbols[2] || symbols[1] === symbols[2]) { throw new Error( "[ReadHuffmanCode] invalid symbols" ); } break; case 2: if (symbols[0] === symbols[1]) { throw new Error( "[ReadHuffmanCode] invalid symbols" ); } code_lengths[symbols[1]] = 1; break; case 4: if (symbols[0] === symbols[1] || symbols[0] === symbols[2] || symbols[0] === symbols[3] || symbols[1] === symbols[2] || symbols[1] === symbols[3] || symbols[2] === symbols[3]) { throw new Error( "[ReadHuffmanCode] invalid symbols" ); } if (br.readBits(1)) { code_lengths[symbols[2]] = 3; code_lengths[symbols[3]] = 3; } else { code_lengths[symbols[0]] = 2; } break; } } else { var i2; var code_length_code_lengths = new Uint8Array( CODE_LENGTH_CODES ); var space = 32; var num_codes = 0; var huff = [ new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(3, 2), new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(4, 1), new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(3, 2), new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(4, 5) ]; for (i2 = simple_code_or_skip; i2 < CODE_LENGTH_CODES && space > 0; ++i2) { var code_len_idx = kCodeLengthCodeOrder[i2]; var p3 = 0; var v2; br.fillBitWindow(); p3 += br.val_ >>> br.bit_pos_ & 15; br.bit_pos_ += huff[p3].bits; v2 = huff[p3].value; code_length_code_lengths[code_len_idx] = v2; if (v2 !== 0) { space -= 32 >> v2; ++num_codes; } } if (!(num_codes === 1 || space === 0)) throw new Error( "[ReadHuffmanCode] invalid num_codes or space" ); ReadHuffmanCodeLengths( code_length_code_lengths, alphabet_size, code_lengths, br ); } table_size = BrotliBuildHuffmanTable( tables, table, HUFFMAN_TABLE_BITS, code_lengths, alphabet_size ); if (table_size === 0) { throw new Error( "[ReadHuffmanCode] BuildHuffmanTable failed: " ); } return table_size; } function ReadBlockLength(table, index2, br) { var code; var nbits; code = ReadSymbol(table, index2, br); nbits = Prefix.kBlockLengthPrefixCode[code].nbits; return Prefix.kBlockLengthPrefixCode[code].offset + br.readBits(nbits); } function TranslateShortCodes(code, ringbuffer, index2) { var val; if (code < NUM_DISTANCE_SHORT_CODES) { index2 += kDistanceShortCodeIndexOffset[code]; index2 &= 3; val = ringbuffer[index2] + kDistanceShortCodeValueOffset[code]; } else { val = code - NUM_DISTANCE_SHORT_CODES + 1; } return val; } function MoveToFront(v2, index2) { var value = v2[index2]; var i2 = index2; for (; i2; --i2) v2[i2] = v2[i2 - 1]; v2[0] = value; } function InverseMoveToFrontTransform(v2, v_len) { var mtf = new Uint8Array(256); var i2; for (i2 = 0; i2 < 256; ++i2) { mtf[i2] = i2; } for (i2 = 0; i2 < v_len; ++i2) { var index2 = v2[i2]; v2[i2] = mtf[index2]; if (index2) MoveToFront(mtf, index2); } } function HuffmanTreeGroup(alphabet_size, num_htrees) { this.alphabet_size = alphabet_size; this.num_htrees = num_htrees; this.codes = new Array( num_htrees + num_htrees * kMaxHuffmanTableSize[alphabet_size + 31 >>> 5] ); this.htrees = new Uint32Array(num_htrees); } HuffmanTreeGroup.prototype.decode = function(br) { var i2; var table_size; var next = 0; for (i2 = 0; i2 < this.num_htrees; ++i2) { this.htrees[i2] = next; table_size = ReadHuffmanCode( this.alphabet_size, this.codes, next, br ); next += table_size; } }; function DecodeContextMap(context_map_size, br) { var out = { num_htrees: null, context_map: null }; var use_rle_for_zeros; var max_run_length_prefix = 0; var table; var i2; br.readMoreInput(); var num_htrees = out.num_htrees = DecodeVarLenUint8(br) + 1; var context_map = out.context_map = new Uint8Array( context_map_size ); if (num_htrees <= 1) { return out; } use_rle_for_zeros = br.readBits(1); if (use_rle_for_zeros) { max_run_length_prefix = br.readBits(4) + 1; } table = []; for (i2 = 0; i2 < HUFFMAN_MAX_TABLE_SIZE; i2++) { table[i2] = new HuffmanCode(0, 0); } ReadHuffmanCode( num_htrees + max_run_length_prefix, table, 0, br ); for (i2 = 0; i2 < context_map_size; ) { var code; br.readMoreInput(); code = ReadSymbol(table, 0, br); if (code === 0) { context_map[i2] = 0; ++i2; } else if (code <= max_run_length_prefix) { var reps = 1 + (1 << code) + br.readBits(code); while (--reps) { if (i2 >= context_map_size) { throw new Error( "[DecodeContextMap] i >= context_map_size" ); } context_map[i2] = 0; ++i2; } } else { context_map[i2] = code - max_run_length_prefix; ++i2; } } if (br.readBits(1)) { InverseMoveToFrontTransform( context_map, context_map_size ); } return out; } function DecodeBlockType(max_block_type, trees, tree_type, block_types, ringbuffers, indexes, br) { var ringbuffer = tree_type * 2; var index2 = tree_type; var type_code = ReadSymbol( trees, tree_type * HUFFMAN_MAX_TABLE_SIZE, br ); var block_type; if (type_code === 0) { block_type = ringbuffers[ringbuffer + (indexes[index2] & 1)]; } else if (type_code === 1) { block_type = ringbuffers[ringbuffer + (indexes[index2] - 1 & 1)] + 1; } else { block_type = type_code - 2; } if (block_type >= max_block_type) { block_type -= max_block_type; } block_types[tree_type] = block_type; ringbuffers[ringbuffer + (indexes[index2] & 1)] = block_type; ++indexes[index2]; } function CopyUncompressedBlockToOutput(output, len, pos, ringbuffer, ringbuffer_mask, br) { var rb_size = ringbuffer_mask + 1; var rb_pos = pos & ringbuffer_mask; var br_pos = br.pos_ & BrotliBitReader.IBUF_MASK; var nbytes; if (len < 8 || br.bit_pos_ + (len << 3) < br.bit_end_pos_) { while (len-- > 0) { br.readMoreInput(); ringbuffer[rb_pos++] = br.readBits(8); if (rb_pos === rb_size) { output.write(ringbuffer, rb_size); rb_pos = 0; } } return; } if (br.bit_end_pos_ < 32) { throw new Error( "[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32" ); } while (br.bit_pos_ < 32) { ringbuffer[rb_pos] = br.val_ >>> br.bit_pos_; br.bit_pos_ += 8; ++rb_pos; --len; } nbytes = br.bit_end_pos_ - br.bit_pos_ >> 3; if (br_pos + nbytes > BrotliBitReader.IBUF_MASK) { var tail = BrotliBitReader.IBUF_MASK + 1 - br_pos; for (var x2 = 0; x2 < tail; x2++) ringbuffer[rb_pos + x2] = br.buf_[br_pos + x2]; nbytes -= tail; rb_pos += tail; len -= tail; br_pos = 0; } for (var x2 = 0; x2 < nbytes; x2++) ringbuffer[rb_pos + x2] = br.buf_[br_pos + x2]; rb_pos += nbytes; len -= nbytes; if (rb_pos >= rb_size) { output.write(ringbuffer, rb_size); rb_pos -= rb_size; for (var x2 = 0; x2 < rb_pos; x2++) ringbuffer[x2] = ringbuffer[rb_size + x2]; } while (rb_pos + len >= rb_size) { nbytes = rb_size - rb_pos; if (br.input_.read(ringbuffer, rb_pos, nbytes) < nbytes) { throw new Error( "[CopyUncompressedBlockToOutput] not enough bytes" ); } output.write(ringbuffer, rb_size); len -= nbytes; rb_pos = 0; } if (br.input_.read(ringbuffer, rb_pos, len) < len) { throw new Error( "[CopyUncompressedBlockToOutput] not enough bytes" ); } br.reset(); } function JumpToByteBoundary(br) { var new_bit_pos = br.bit_pos_ + 7 & ~7; var pad_bits = br.readBits(new_bit_pos - br.bit_pos_); return pad_bits == 0; } function BrotliDecompressedSize(buffer) { var input = new BrotliInput(buffer); var br = new BrotliBitReader(input); DecodeWindowBits(br); var out = DecodeMetaBlockLength(br); return out.meta_block_length; } exports2.BrotliDecompressedSize = BrotliDecompressedSize; function BrotliDecompressBuffer(buffer, output_size) { var input = new BrotliInput(buffer); if (output_size == null) { output_size = BrotliDecompressedSize(buffer); } var output_buffer = new Uint8Array(output_size); var output = new BrotliOutput(output_buffer); BrotliDecompress(input, output); if (output.pos < output.buffer.length) { output.buffer = output.buffer.subarray( 0, output.pos ); } return output.buffer; } exports2.BrotliDecompressBuffer = BrotliDecompressBuffer; function BrotliDecompress(input, output) { var i2; var pos = 0; var input_end = 0; var window_bits = 0; var max_backward_distance; var max_distance = 0; var ringbuffer_size; var ringbuffer_mask; var ringbuffer; var ringbuffer_end; var dist_rb = [16, 15, 11, 4]; var dist_rb_idx = 0; var prev_byte1 = 0; var prev_byte2 = 0; var hgroup = [ new HuffmanTreeGroup(0, 0), new HuffmanTreeGroup(0, 0), new HuffmanTreeGroup(0, 0) ]; var block_type_trees; var block_len_trees; var br; var kRingBufferWriteAheadSlack = 128 + BrotliBitReader.READ_SIZE; br = new BrotliBitReader(input); window_bits = DecodeWindowBits(br); max_backward_distance = (1 << window_bits) - 16; ringbuffer_size = 1 << window_bits; ringbuffer_mask = ringbuffer_size - 1; ringbuffer = new Uint8Array( ringbuffer_size + kRingBufferWriteAheadSlack + BrotliDictionary.maxDictionaryWordLength ); ringbuffer_end = ringbuffer_size; block_type_trees = []; block_len_trees = []; for (var x2 = 0; x2 < 3 * HUFFMAN_MAX_TABLE_SIZE; x2++) { block_type_trees[x2] = new HuffmanCode(0, 0); block_len_trees[x2] = new HuffmanCode(0, 0); } while (!input_end) { var meta_block_remaining_len = 0; var is_uncompressed; var block_length = [1 << 28, 1 << 28, 1 << 28]; var block_type = [0]; var num_block_types = [1, 1, 1]; var block_type_rb = [0, 1, 0, 1, 0, 1]; var block_type_rb_index = [0]; var distance_postfix_bits; var num_direct_distance_codes; var distance_postfix_mask; var num_distance_codes; var context_map = null; var context_modes = null; var num_literal_htrees; var dist_context_map = null; var num_dist_htrees; var context_offset = 0; var context_map_slice = null; var literal_htree_index = 0; var dist_context_offset = 0; var dist_context_map_slice = null; var dist_htree_index = 0; var context_lookup_offset1 = 0; var context_lookup_offset2 = 0; var context_mode; var htree_command; for (i2 = 0; i2 < 3; ++i2) { hgroup[i2].codes = null; hgroup[i2].htrees = null; } br.readMoreInput(); var _out = DecodeMetaBlockLength(br); meta_block_remaining_len = _out.meta_block_length; if (pos + meta_block_remaining_len > output.buffer.length) { var tmp = new Uint8Array( pos + meta_block_remaining_len ); tmp.set(output.buffer); output.buffer = tmp; } input_end = _out.input_end; is_uncompressed = _out.is_uncompressed; if (_out.is_metadata) { JumpToByteBoundary(br); for (; meta_block_remaining_len > 0; --meta_block_remaining_len) { br.readMoreInput(); br.readBits(8); } continue; } if (meta_block_remaining_len === 0) { continue; } if (is_uncompressed) { br.bit_pos_ = br.bit_pos_ + 7 & ~7; CopyUncompressedBlockToOutput( output, meta_block_remaining_len, pos, ringbuffer, ringbuffer_mask, br ); pos += meta_block_remaining_len; continue; } for (i2 = 0; i2 < 3; ++i2) { num_block_types[i2] = DecodeVarLenUint8(br) + 1; if (num_block_types[i2] >= 2) { ReadHuffmanCode( num_block_types[i2] + 2, block_type_trees, i2 * HUFFMAN_MAX_TABLE_SIZE, br ); ReadHuffmanCode( kNumBlockLengthCodes, block_len_trees, i2 * HUFFMAN_MAX_TABLE_SIZE, br ); block_length[i2] = ReadBlockLength( block_len_trees, i2 * HUFFMAN_MAX_TABLE_SIZE, br ); block_type_rb_index[i2] = 1; } } br.readMoreInput(); distance_postfix_bits = br.readBits(2); num_direct_distance_codes = NUM_DISTANCE_SHORT_CODES + (br.readBits(4) << distance_postfix_bits); distance_postfix_mask = (1 << distance_postfix_bits) - 1; num_distance_codes = num_direct_distance_codes + (48 << distance_postfix_bits); context_modes = new Uint8Array( num_block_types[0] ); for (i2 = 0; i2 < num_block_types[0]; ++i2) { br.readMoreInput(); context_modes[i2] = br.readBits(2) << 1; } var _o1 = DecodeContextMap( num_block_types[0] << kLiteralContextBits, br ); num_literal_htrees = _o1.num_htrees; context_map = _o1.context_map; var _o2 = DecodeContextMap( num_block_types[2] << kDistanceContextBits, br ); num_dist_htrees = _o2.num_htrees; dist_context_map = _o2.context_map; hgroup[0] = new HuffmanTreeGroup( kNumLiteralCodes, num_literal_htrees ); hgroup[1] = new HuffmanTreeGroup( kNumInsertAndCopyCodes, num_block_types[1] ); hgroup[2] = new HuffmanTreeGroup( num_distance_codes, num_dist_htrees ); for (i2 = 0; i2 < 3; ++i2) { hgroup[i2].decode(br); } context_map_slice = 0; dist_context_map_slice = 0; context_mode = context_modes[block_type[0]]; context_lookup_offset1 = Context.lookupOffsets[context_mode]; context_lookup_offset2 = Context.lookupOffsets[context_mode + 1]; htree_command = hgroup[1].htrees[0]; while (meta_block_remaining_len > 0) { var cmd_code; var range_idx; var insert_code; var copy_code; var insert_length; var copy_length; var distance_code; var distance; var context; var j2; var copy_dst; br.readMoreInput(); if (block_length[1] === 0) { DecodeBlockType( num_block_types[1], block_type_trees, 1, block_type, block_type_rb, block_type_rb_index, br ); block_length[1] = ReadBlockLength( block_len_trees, HUFFMAN_MAX_TABLE_SIZE, br ); htree_command = hgroup[1].htrees[block_type[1]]; } --block_length[1]; cmd_code = ReadSymbol( hgroup[1].codes, htree_command, br ); range_idx = cmd_code >> 6; if (range_idx >= 2) { range_idx -= 2; distance_code = -1; } else { distance_code = 0; } insert_code = Prefix.kInsertRangeLut[range_idx] + (cmd_code >> 3 & 7); copy_code = Prefix.kCopyRangeLut[range_idx] + (cmd_code & 7); insert_length = Prefix.kInsertLengthPrefixCode[insert_code].offset + br.readBits( Prefix.kInsertLengthPrefixCode[insert_code].nbits ); copy_length = Prefix.kCopyLengthPrefixCode[copy_code].offset + br.readBits( Prefix.kCopyLengthPrefixCode[copy_code].nbits ); prev_byte1 = ringbuffer[pos - 1 & ringbuffer_mask]; prev_byte2 = ringbuffer[pos - 2 & ringbuffer_mask]; for (j2 = 0; j2 < insert_length; ++j2) { br.readMoreInput(); if (block_length[0] === 0) { DecodeBlockType( num_block_types[0], block_type_trees, 0, block_type, block_type_rb, block_type_rb_index, br ); block_length[0] = ReadBlockLength( block_len_trees, 0, br ); context_offset = block_type[0] << kLiteralContextBits; context_map_slice = context_offset; context_mode = context_modes[block_type[0]]; context_lookup_offset1 = Context.lookupOffsets[context_mode]; context_lookup_offset2 = Context.lookupOffsets[context_mode + 1]; } context = Context.lookup[context_lookup_offset1 + prev_byte1] | Context.lookup[context_lookup_offset2 + prev_byte2]; literal_htree_index = context_map[context_map_slice + context]; --block_length[0]; prev_byte2 = prev_byte1; prev_byte1 = ReadSymbol( hgroup[0].codes, hgroup[0].htrees[literal_htree_index], br ); ringbuffer[pos & ringbuffer_mask] = prev_byte1; if ((pos & ringbuffer_mask) === ringbuffer_mask) { output.write( ringbuffer, ringbuffer_size ); } ++pos; } meta_block_remaining_len -= insert_length; if (meta_block_remaining_len <= 0) break; if (distance_code < 0) { var context; br.readMoreInput(); if (block_length[2] === 0) { DecodeBlockType( num_block_types[2], block_type_trees, 2, block_type, block_type_rb, block_type_rb_index, br ); block_length[2] = ReadBlockLength( block_len_trees, 2 * HUFFMAN_MAX_TABLE_SIZE, br ); dist_context_offset = block_type[2] << kDistanceContextBits; dist_context_map_slice = dist_context_offset; } --block_length[2]; context = (copy_length > 4 ? 3 : copy_length - 2) & 255; dist_htree_index = dist_context_map[dist_context_map_slice + context]; distance_code = ReadSymbol( hgroup[2].codes, hgroup[2].htrees[dist_htree_index], br ); if (distance_code >= num_direct_distance_codes) { var nbits; var postfix; var offset4; distance_code -= num_direct_distance_codes; postfix = distance_code & distance_postfix_mask; distance_code >>= distance_postfix_bits; nbits = (distance_code >> 1) + 1; offset4 = (2 + (distance_code & 1) << nbits) - 4; distance_code = num_direct_distance_codes + (offset4 + br.readBits(nbits) << distance_postfix_bits) + postfix; } } distance = TranslateShortCodes( distance_code, dist_rb, dist_rb_idx ); if (distance < 0) { throw new Error( "[BrotliDecompress] invalid distance" ); } if (pos < max_backward_distance && max_distance !== max_backward_distance) { max_distance = pos; } else { max_distance = max_backward_distance; } copy_dst = pos & ringbuffer_mask; if (distance > max_distance) { if (copy_length >= BrotliDictionary.minDictionaryWordLength && copy_length <= BrotliDictionary.maxDictionaryWordLength) { var offset4 = BrotliDictionary.offsetsByLength[copy_length]; var word_id = distance - max_distance - 1; var shift4 = BrotliDictionary.sizeBitsByLength[copy_length]; var mask = (1 << shift4) - 1; var word_idx = word_id & mask; var transform_idx = word_id >> shift4; offset4 += word_idx * copy_length; if (transform_idx < Transform.kNumTransforms) { var len = Transform.transformDictionaryWord( ringbuffer, copy_dst, offset4, copy_length, transform_idx ); copy_dst += len; pos += len; meta_block_remaining_len -= len; if (copy_dst >= ringbuffer_end) { output.write( ringbuffer, ringbuffer_size ); for (var _x10 = 0; _x10 < copy_dst - ringbuffer_end; _x10++) ringbuffer[_x10] = ringbuffer[ringbuffer_end + _x10]; } } else { throw new Error( "Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len ); } } else { throw new Error( "Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len ); } } else { if (distance_code > 0) { dist_rb[dist_rb_idx & 3] = distance; ++dist_rb_idx; } if (copy_length > meta_block_remaining_len) { throw new Error( "Invalid backward reference. pos: " + pos + " distance: " + distance + " len: " + copy_length + " bytes left: " + meta_block_remaining_len ); } for (j2 = 0; j2 < copy_length; ++j2) { ringbuffer[pos & ringbuffer_mask] = ringbuffer[pos - distance & ringbuffer_mask]; if ((pos & ringbuffer_mask) === ringbuffer_mask) { output.write( ringbuffer, ringbuffer_size ); } ++pos; --meta_block_remaining_len; } } prev_byte1 = ringbuffer[pos - 1 & ringbuffer_mask]; prev_byte2 = ringbuffer[pos - 2 & ringbuffer_mask]; } pos &= 1073741823; } output.write(ringbuffer, pos & ringbuffer_mask); } exports2.BrotliDecompress = BrotliDecompress; BrotliDictionary.init(); }, { "./bit_reader": 1, "./context": 2, "./dictionary": 6, "./huffman": 7, "./prefix": 9, "./streams": 10, "./transform": 11 } ], 4: [ function(require2, module2, exports2) { var base64 = require2("base64-js"); exports2.init = function() { var BrotliDecompressBuffer = require2("./decode").BrotliDecompressBuffer; var compressed = base64.toByteArray( require2("./dictionary.bin.js") ); return BrotliDecompressBuffer(compressed); }; }, { "./decode": 3, "./dictionary.bin.js": 5, "base64-js": 8 } ], 5: [ function(require2, module2, exports2) { module2.exports = "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"; }, {} ], 6: [ function(require2, module2, exports2) { var data = require2("./dictionary-browser"); exports2.init = function() { exports2.dictionary = data.init(); }; exports2.offsetsByLength = new Uint32Array([ 0, 0, 0, 0, 0, 4096, 9216, 21504, 35840, 44032, 53248, 63488, 74752, 87040, 93696, 100864, 104704, 106752, 108928, 113536, 115968, 118528, 119872, 121280, 122016 ]); exports2.sizeBitsByLength = new Uint8Array([ 0, 0, 0, 0, 10, 10, 11, 11, 10, 10, 10, 10, 10, 9, 9, 8, 7, 7, 8, 7, 7, 6, 6, 5, 5 ]); exports2.minDictionaryWordLength = 4; exports2.maxDictionaryWordLength = 24; }, { "./dictionary-browser": 4 } ], 7: [ function(require2, module2, exports2) { function HuffmanCode(bits, value) { this.bits = bits; this.value = value; } exports2.HuffmanCode = HuffmanCode; var MAX_LENGTH = 15; function GetNextKey(key, len) { var step = 1 << len - 1; while (key & step) { step >>= 1; } return (key & step - 1) + step; } function ReplicateValue(table, i2, step, end, code) { do { end -= step; table[i2 + end] = new HuffmanCode( code.bits, code.value ); } while (end > 0); } function NextTableBitSize(count, len, root_bits) { var left = 1 << len - root_bits; while (len < MAX_LENGTH) { left -= count[len]; if (left <= 0) break; ++len; left <<= 1; } return len - root_bits; } exports2.BrotliBuildHuffmanTable = function(root_table, table, root_bits, code_lengths, code_lengths_size) { var start_table = table; var code; var len; var symbol; var key; var step; var low; var mask; var table_bits; var table_size; var total_size; var sorted; var count = new Int32Array( MAX_LENGTH + 1 ); var offset4 = new Int32Array( MAX_LENGTH + 1 ); sorted = new Int32Array(code_lengths_size); for (symbol = 0; symbol < code_lengths_size; symbol++) { count[code_lengths[symbol]]++; } offset4[1] = 0; for (len = 1; len < MAX_LENGTH; len++) { offset4[len + 1] = offset4[len] + count[len]; } for (symbol = 0; symbol < code_lengths_size; symbol++) { if (code_lengths[symbol] !== 0) { sorted[offset4[code_lengths[symbol]]++] = symbol; } } table_bits = root_bits; table_size = 1 << table_bits; total_size = table_size; if (offset4[MAX_LENGTH] === 1) { for (key = 0; key < total_size; ++key) { root_table[table + key] = new HuffmanCode( 0, sorted[0] & 65535 ); } return total_size; } key = 0; symbol = 0; for (len = 1, step = 2; len <= root_bits; ++len, step <<= 1) { for (; count[len] > 0; --count[len]) { code = new HuffmanCode( len & 255, sorted[symbol++] & 65535 ); ReplicateValue( root_table, table + key, step, table_size, code ); key = GetNextKey(key, len); } } mask = total_size - 1; low = -1; for (len = root_bits + 1, step = 2; len <= MAX_LENGTH; ++len, step <<= 1) { for (; count[len] > 0; --count[len]) { if ((key & mask) !== low) { table += table_size; table_bits = NextTableBitSize( count, len, root_bits ); table_size = 1 << table_bits; total_size += table_size; low = key & mask; root_table[start_table + low] = new HuffmanCode( table_bits + root_bits & 255, table - start_table - low & 65535 ); } code = new HuffmanCode( len - root_bits & 255, sorted[symbol++] & 65535 ); ReplicateValue( root_table, table + (key >> root_bits), step, table_size, code ); key = GetNextKey(key, len); } } return total_size; }; }, {} ], 8: [ function(require2, module2, exports2) { "use strict"; exports2.byteLength = byteLength; exports2.toByteArray = toByteArray; exports2.fromByteArray = fromByteArray; var lookup = []; var revLookup = []; var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array; var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; for (var i2 = 0, len = code.length; i2 < len; ++i2) { lookup[i2] = code[i2]; revLookup[code.charCodeAt(i2)] = i2; } revLookup["-".charCodeAt(0)] = 62; revLookup["_".charCodeAt(0)] = 63; function getLens(b64) { var len2 = b64.length; if (len2 % 4 > 0) { throw new Error( "Invalid string. Length must be a multiple of 4" ); } var validLen = b64.indexOf("="); if (validLen === -1) validLen = len2; var placeHoldersLen = validLen === len2 ? 0 : 4 - validLen % 4; return [validLen, placeHoldersLen]; } function byteLength(b64) { var lens = getLens(b64); var validLen = lens[0]; var placeHoldersLen = lens[1]; return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; } function _byteLength(b64, validLen, placeHoldersLen) { return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; } function toByteArray(b64) { var tmp; var lens = getLens(b64); var validLen = lens[0]; var placeHoldersLen = lens[1]; var arr = new Arr( _byteLength(b64, validLen, placeHoldersLen) ); var curByte = 0; var len2 = placeHoldersLen > 0 ? validLen - 4 : validLen; for (var i22 = 0; i22 < len2; i22 += 4) { tmp = revLookup[b64.charCodeAt(i22)] << 18 | revLookup[b64.charCodeAt(i22 + 1)] << 12 | revLookup[b64.charCodeAt(i22 + 2)] << 6 | revLookup[b64.charCodeAt(i22 + 3)]; arr[curByte++] = tmp >> 16 & 255; arr[curByte++] = tmp >> 8 & 255; arr[curByte++] = tmp & 255; } if (placeHoldersLen === 2) { tmp = revLookup[b64.charCodeAt(i22)] << 2 | revLookup[b64.charCodeAt(i22 + 1)] >> 4; arr[curByte++] = tmp & 255; } if (placeHoldersLen === 1) { tmp = revLookup[b64.charCodeAt(i22)] << 10 | revLookup[b64.charCodeAt(i22 + 1)] << 4 | revLookup[b64.charCodeAt(i22 + 2)] >> 2; arr[curByte++] = tmp >> 8 & 255; arr[curByte++] = tmp & 255; } return arr; } function tripletToBase64(num) { return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63]; } function encodeChunk(uint8, start, end) { var tmp; var output = []; for (var i22 = start; i22 < end; i22 += 3) { tmp = (uint8[i22] << 16 & 16711680) + (uint8[i22 + 1] << 8 & 65280) + (uint8[i22 + 2] & 255); output.push(tripletToBase64(tmp)); } return output.join(""); } function fromByteArray(uint8) { var tmp; var len2 = uint8.length; var extraBytes = len2 % 3; var parts = []; var maxChunkLength = 16383; for (var i22 = 0, len22 = len2 - extraBytes; i22 < len22; i22 += maxChunkLength) { parts.push( encodeChunk( uint8, i22, i22 + maxChunkLength > len22 ? len22 : i22 + maxChunkLength ) ); } if (extraBytes === 1) { tmp = uint8[len2 - 1]; parts.push( lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==" ); } else if (extraBytes === 2) { tmp = (uint8[len2 - 2] << 8) + uint8[len2 - 1]; parts.push( lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=" ); } return parts.join(""); } }, {} ], 9: [ function(require2, module2, exports2) { function PrefixCodeRange(offset4, nbits) { this.offset = offset4; this.nbits = nbits; } exports2.kBlockLengthPrefixCode = [ new PrefixCodeRange(1, 2), new PrefixCodeRange(5, 2), new PrefixCodeRange(9, 2), new PrefixCodeRange(13, 2), new PrefixCodeRange(17, 3), new PrefixCodeRange(25, 3), new PrefixCodeRange(33, 3), new PrefixCodeRange(41, 3), new PrefixCodeRange(49, 4), new PrefixCodeRange(65, 4), new PrefixCodeRange(81, 4), new PrefixCodeRange(97, 4), new PrefixCodeRange(113, 5), new PrefixCodeRange(145, 5), new PrefixCodeRange(177, 5), new PrefixCodeRange(209, 5), new PrefixCodeRange(241, 6), new PrefixCodeRange(305, 6), new PrefixCodeRange(369, 7), new PrefixCodeRange(497, 8), new PrefixCodeRange(753, 9), new PrefixCodeRange(1265, 10), new PrefixCodeRange(2289, 11), new PrefixCodeRange(4337, 12), new PrefixCodeRange(8433, 13), new PrefixCodeRange(16625, 24) ]; exports2.kInsertLengthPrefixCode = [ new PrefixCodeRange(0, 0), new PrefixCodeRange(1, 0), new PrefixCodeRange(2, 0), new PrefixCodeRange(3, 0), new PrefixCodeRange(4, 0), new PrefixCodeRange(5, 0), new PrefixCodeRange(6, 1), new PrefixCodeRange(8, 1), new PrefixCodeRange(10, 2), new PrefixCodeRange(14, 2), new PrefixCodeRange(18, 3), new PrefixCodeRange(26, 3), new PrefixCodeRange(34, 4), new PrefixCodeRange(50, 4), new PrefixCodeRange(66, 5), new PrefixCodeRange(98, 5), new PrefixCodeRange(130, 6), new PrefixCodeRange(194, 7), new PrefixCodeRange(322, 8), new PrefixCodeRange(578, 9), new PrefixCodeRange(1090, 10), new PrefixCodeRange(2114, 12), new PrefixCodeRange(6210, 14), new PrefixCodeRange(22594, 24) ]; exports2.kCopyLengthPrefixCode = [ new PrefixCodeRange(2, 0), new PrefixCodeRange(3, 0), new PrefixCodeRange(4, 0), new PrefixCodeRange(5, 0), new PrefixCodeRange(6, 0), new PrefixCodeRange(7, 0), new PrefixCodeRange(8, 0), new PrefixCodeRange(9, 0), new PrefixCodeRange(10, 1), new PrefixCodeRange(12, 1), new PrefixCodeRange(14, 2), new PrefixCodeRange(18, 2), new PrefixCodeRange(22, 3), new PrefixCodeRange(30, 3), new PrefixCodeRange(38, 4), new PrefixCodeRange(54, 4), new PrefixCodeRange(70, 5), new PrefixCodeRange(102, 5), new PrefixCodeRange(134, 6), new PrefixCodeRange(198, 7), new PrefixCodeRange(326, 8), new PrefixCodeRange(582, 9), new PrefixCodeRange(1094, 10), new PrefixCodeRange(2118, 24) ]; exports2.kInsertRangeLut = [0, 0, 8, 8, 0, 16, 8, 16, 16]; exports2.kCopyRangeLut = [0, 8, 0, 8, 16, 0, 16, 8, 16]; }, {} ], 10: [ function(require2, module2, exports2) { function BrotliInput(buffer) { this.buffer = buffer; this.pos = 0; } BrotliInput.prototype.read = function(buf, i2, count) { if (this.pos + count > this.buffer.length) { count = this.buffer.length - this.pos; } for (var p3 = 0; p3 < count; p3++) buf[i2 + p3] = this.buffer[this.pos + p3]; this.pos += count; return count; }; exports2.BrotliInput = BrotliInput; function BrotliOutput(buf) { this.buffer = buf; this.pos = 0; } BrotliOutput.prototype.write = function(buf, count) { if (this.pos + count > this.buffer.length) throw new Error( "Output buffer is not large enough" ); this.buffer.set(buf.subarray(0, count), this.pos); this.pos += count; return count; }; exports2.BrotliOutput = BrotliOutput; }, {} ], 11: [ function(require2, module2, exports2) { var BrotliDictionary = require2("./dictionary"); var kIdentity = 0; var kOmitLast1 = 1; var kOmitLast2 = 2; var kOmitLast3 = 3; var kOmitLast4 = 4; var kOmitLast5 = 5; var kOmitLast6 = 6; var kOmitLast7 = 7; var kOmitLast8 = 8; var kOmitLast9 = 9; var kUppercaseFirst = 10; var kUppercaseAll = 11; var kOmitFirst1 = 12; var kOmitFirst2 = 13; var kOmitFirst3 = 14; var kOmitFirst4 = 15; var kOmitFirst5 = 16; var kOmitFirst6 = 17; var kOmitFirst7 = 18; var kOmitFirst8 = 19; var kOmitFirst9 = 20; function Transform(prefix, transform, suffix) { this.prefix = new Uint8Array(prefix.length); this.transform = transform; this.suffix = new Uint8Array(suffix.length); for (var i2 = 0; i2 < prefix.length; i2++) this.prefix[i2] = prefix.charCodeAt(i2); for (var i2 = 0; i2 < suffix.length; i2++) this.suffix[i2] = suffix.charCodeAt(i2); } var kTransforms = [ new Transform("", kIdentity, ""), new Transform("", kIdentity, " "), new Transform(" ", kIdentity, " "), new Transform("", kOmitFirst1, ""), new Transform("", kUppercaseFirst, " "), new Transform("", kIdentity, " the "), new Transform(" ", kIdentity, ""), new Transform("s ", kIdentity, " "), new Transform("", kIdentity, " of "), new Transform("", kUppercaseFirst, ""), new Transform("", kIdentity, " and "), new Transform("", kOmitFirst2, ""), new Transform("", kOmitLast1, ""), new Transform(", ", kIdentity, " "), new Transform("", kIdentity, ", "), new Transform(" ", kUppercaseFirst, " "), new Transform("", kIdentity, " in "), new Transform("", kIdentity, " to "), new Transform("e ", kIdentity, " "), new Transform("", kIdentity, '"'), new Transform("", kIdentity, "."), new Transform("", kIdentity, '">'), new Transform("", kIdentity, "\n"), new Transform("", kOmitLast3, ""), new Transform("", kIdentity, "]"), new Transform("", kIdentity, " for "), new Transform("", kOmitFirst3, ""), new Transform("", kOmitLast2, ""), new Transform("", kIdentity, " a "), new Transform("", kIdentity, " that "), new Transform(" ", kUppercaseFirst, ""), new Transform("", kIdentity, ". "), new Transform(".", kIdentity, ""), new Transform(" ", kIdentity, ", "), new Transform("", kOmitFirst4, ""), new Transform("", kIdentity, " with "), new Transform("", kIdentity, "'"), new Transform("", kIdentity, " from "), new Transform("", kIdentity, " by "), new Transform("", kOmitFirst5, ""), new Transform("", kOmitFirst6, ""), new Transform(" the ", kIdentity, ""), new Transform("", kOmitLast4, ""), new Transform("", kIdentity, ". The "), new Transform("", kUppercaseAll, ""), new Transform("", kIdentity, " on "), new Transform("", kIdentity, " as "), new Transform("", kIdentity, " is "), new Transform("", kOmitLast7, ""), new Transform("", kOmitLast1, "ing "), new Transform("", kIdentity, "\n "), new Transform("", kIdentity, ":"), new Transform(" ", kIdentity, ". "), new Transform("", kIdentity, "ed "), new Transform("", kOmitFirst9, ""), new Transform("", kOmitFirst7, ""), new Transform("", kOmitLast6, ""), new Transform("", kIdentity, "("), new Transform("", kUppercaseFirst, ", "), new Transform("", kOmitLast8, ""), new Transform("", kIdentity, " at "), new Transform("", kIdentity, "ly "), new Transform(" the ", kIdentity, " of "), new Transform("", kOmitLast5, ""), new Transform("", kOmitLast9, ""), new Transform(" ", kUppercaseFirst, ", "), new Transform("", kUppercaseFirst, '"'), new Transform(".", kIdentity, "("), new Transform("", kUppercaseAll, " "), new Transform("", kUppercaseFirst, '">'), new Transform("", kIdentity, '="'), new Transform(" ", kIdentity, "."), new Transform(".com/", kIdentity, ""), new Transform(" the ", kIdentity, " of the "), new Transform("", kUppercaseFirst, "'"), new Transform("", kIdentity, ". This "), new Transform("", kIdentity, ","), new Transform(".", kIdentity, " "), new Transform("", kUppercaseFirst, "("), new Transform("", kUppercaseFirst, "."), new Transform("", kIdentity, " not "), new Transform(" ", kIdentity, '="'), new Transform("", kIdentity, "er "), new Transform(" ", kUppercaseAll, " "), new Transform("", kIdentity, "al "), new Transform(" ", kUppercaseAll, ""), new Transform("", kIdentity, "='"), new Transform("", kUppercaseAll, '"'), new Transform("", kUppercaseFirst, ". "), new Transform(" ", kIdentity, "("), new Transform("", kIdentity, "ful "), new Transform(" ", kUppercaseFirst, ". "), new Transform("", kIdentity, "ive "), new Transform("", kIdentity, "less "), new Transform("", kUppercaseAll, "'"), new Transform("", kIdentity, "est "), new Transform(" ", kUppercaseFirst, "."), new Transform("", kUppercaseAll, '">'), new Transform(" ", kIdentity, "='"), new Transform("", kUppercaseFirst, ","), new Transform("", kIdentity, "ize "), new Transform("", kUppercaseAll, "."), new Transform("\xC2\xA0", kIdentity, ""), new Transform(" ", kIdentity, ","), new Transform("", kUppercaseFirst, '="'), new Transform("", kUppercaseAll, '="'), new Transform("", kIdentity, "ous "), new Transform("", kUppercaseAll, ", "), new Transform("", kUppercaseFirst, "='"), new Transform(" ", kUppercaseFirst, ","), new Transform(" ", kUppercaseAll, '="'), new Transform(" ", kUppercaseAll, ", "), new Transform("", kUppercaseAll, ","), new Transform("", kUppercaseAll, "("), new Transform("", kUppercaseAll, ". "), new Transform(" ", kUppercaseAll, "."), new Transform("", kUppercaseAll, "='"), new Transform(" ", kUppercaseAll, ". "), new Transform(" ", kUppercaseFirst, '="'), new Transform(" ", kUppercaseAll, "='"), new Transform(" ", kUppercaseFirst, "='") ]; exports2.kTransforms = kTransforms; exports2.kNumTransforms = kTransforms.length; function ToUpperCase(p3, i2) { if (p3[i2] < 192) { if (p3[i2] >= 97 && p3[i2] <= 122) { p3[i2] ^= 32; } return 1; } if (p3[i2] < 224) { p3[i2 + 1] ^= 32; return 2; } p3[i2 + 2] ^= 5; return 3; } exports2.transformDictionaryWord = function(dst, idx, word, len, transform) { var prefix = kTransforms[transform].prefix; var suffix = kTransforms[transform].suffix; var t3 = kTransforms[transform].transform; var skip = t3 < kOmitFirst1 ? 0 : t3 - (kOmitFirst1 - 1); var i2 = 0; var start_idx = idx; var uppercase; if (skip > len) { skip = len; } var prefix_pos = 0; while (prefix_pos < prefix.length) { dst[idx++] = prefix[prefix_pos++]; } word += skip; len -= skip; if (t3 <= kOmitLast9) { len -= t3; } for (i2 = 0; i2 < len; i2++) { dst[idx++] = BrotliDictionary.dictionary[word + i2]; } uppercase = idx - len; if (t3 === kUppercaseFirst) { ToUpperCase(dst, uppercase); } else if (t3 === kUppercaseAll) { while (len > 0) { var step = ToUpperCase(dst, uppercase); uppercase += step; len -= step; } } var suffix_pos = 0; while (suffix_pos < suffix.length) { dst[idx++] = suffix[suffix_pos++]; } return idx - start_idx; }; }, { "./dictionary": 6 } ], 12: [ function(require2, module2, exports2) { module2.exports = require2("./dec/decode").BrotliDecompressBuffer; }, { "./dec/decode": 3 } ] }, {}, [12] )(12); })(); // packages/global-styles-ui/build-module/font-library/lib/inflate.mjs var __require3 = /* @__PURE__ */ ((x2) => typeof __require !== "undefined" ? __require : typeof Proxy !== "undefined" ? new Proxy(x2, { get: (a2, b2) => (typeof __require !== "undefined" ? __require : a2)[b2] }) : x2)(function(x2) { if (typeof __require !== "undefined") return __require.apply(this, arguments); throw Error('Dynamic require of "' + x2 + '" is not supported'); }); var inflate_default = (function() { var define, module, exports; return (/* @__PURE__ */ (function() { function r3(e2, n2, t3) { function o3(i22, f2) { if (!n2[i22]) { if (!e2[i22]) { var c2 = "function" == typeof __require3 && __require3; if (!f2 && c2) return c2(i22, true); if (u2) return u2(i22, true); var a2 = new Error("Cannot find module '" + i22 + "'"); throw a2.code = "MODULE_NOT_FOUND", a2; } var p3 = n2[i22] = { exports: {} }; e2[i22][0].call( p3.exports, function(r22) { var n22 = e2[i22][1][r22]; return o3(n22 || r22); }, p3, p3.exports, r3, e2, n2, t3 ); } return n2[i22].exports; } for (var u2 = "function" == typeof __require3 && __require3, i2 = 0; i2 < t3.length; i2++) o3(t3[i2]); return o3; } return r3; })())( { 1: [ function(require2, module2, exports2) { "use strict"; var TYPED_OK = typeof Uint8Array !== "undefined" && typeof Uint16Array !== "undefined" && typeof Int32Array !== "undefined"; function _has(obj, key) { return Object.prototype.hasOwnProperty.call(obj, key); } exports2.assign = function(obj) { var sources = Array.prototype.slice.call( arguments, 1 ); while (sources.length) { var source = sources.shift(); if (!source) { continue; } if (typeof source !== "object") { throw new TypeError( source + "must be non-object" ); } for (var p3 in source) { if (_has(source, p3)) { obj[p3] = source[p3]; } } } return obj; }; exports2.shrinkBuf = function(buf, size4) { if (buf.length === size4) { return buf; } if (buf.subarray) { return buf.subarray(0, size4); } buf.length = size4; return buf; }; var fnTyped = { arraySet: function(dest, src, src_offs, len, dest_offs) { if (src.subarray && dest.subarray) { dest.set( src.subarray(src_offs, src_offs + len), dest_offs ); return; } for (var i2 = 0; i2 < len; i2++) { dest[dest_offs + i2] = src[src_offs + i2]; } }, // Join array of chunks to single array. flattenChunks: function(chunks) { var i2, l2, len, pos, chunk, result; len = 0; for (i2 = 0, l2 = chunks.length; i2 < l2; i2++) { len += chunks[i2].length; } result = new Uint8Array(len); pos = 0; for (i2 = 0, l2 = chunks.length; i2 < l2; i2++) { chunk = chunks[i2]; result.set(chunk, pos); pos += chunk.length; } return result; } }; var fnUntyped = { arraySet: function(dest, src, src_offs, len, dest_offs) { for (var i2 = 0; i2 < len; i2++) { dest[dest_offs + i2] = src[src_offs + i2]; } }, // Join array of chunks to single array. flattenChunks: function(chunks) { return [].concat.apply([], chunks); } }; exports2.setTyped = function(on) { if (on) { exports2.Buf8 = Uint8Array; exports2.Buf16 = Uint16Array; exports2.Buf32 = Int32Array; exports2.assign(exports2, fnTyped); } else { exports2.Buf8 = Array; exports2.Buf16 = Array; exports2.Buf32 = Array; exports2.assign(exports2, fnUntyped); } }; exports2.setTyped(TYPED_OK); }, {} ], 2: [ function(require2, module2, exports2) { "use strict"; var utils = require2("./common"); var STR_APPLY_OK = true; var STR_APPLY_UIA_OK = true; try { String.fromCharCode.apply(null, [0]); } catch (__43) { STR_APPLY_OK = false; } try { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__43) { STR_APPLY_UIA_OK = false; } var _utf8len = new utils.Buf8(256); for (var q = 0; q < 256; q++) { _utf8len[q] = q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1; } _utf8len[254] = _utf8len[254] = 1; exports2.string2buf = function(str) { var buf, c2, c22, m_pos, i2, str_len = str.length, buf_len = 0; for (m_pos = 0; m_pos < str_len; m_pos++) { c2 = str.charCodeAt(m_pos); if ((c2 & 64512) === 55296 && m_pos + 1 < str_len) { c22 = str.charCodeAt(m_pos + 1); if ((c22 & 64512) === 56320) { c2 = 65536 + (c2 - 55296 << 10) + (c22 - 56320); m_pos++; } } buf_len += c2 < 128 ? 1 : c2 < 2048 ? 2 : c2 < 65536 ? 3 : 4; } buf = new utils.Buf8(buf_len); for (i2 = 0, m_pos = 0; i2 < buf_len; m_pos++) { c2 = str.charCodeAt(m_pos); if ((c2 & 64512) === 55296 && m_pos + 1 < str_len) { c22 = str.charCodeAt(m_pos + 1); if ((c22 & 64512) === 56320) { c2 = 65536 + (c2 - 55296 << 10) + (c22 - 56320); m_pos++; } } if (c2 < 128) { buf[i2++] = c2; } else if (c2 < 2048) { buf[i2++] = 192 | c2 >>> 6; buf[i2++] = 128 | c2 & 63; } else if (c2 < 65536) { buf[i2++] = 224 | c2 >>> 12; buf[i2++] = 128 | c2 >>> 6 & 63; buf[i2++] = 128 | c2 & 63; } else { buf[i2++] = 240 | c2 >>> 18; buf[i2++] = 128 | c2 >>> 12 & 63; buf[i2++] = 128 | c2 >>> 6 & 63; buf[i2++] = 128 | c2 & 63; } } return buf; }; function buf2binstring(buf, len) { if (len < 65534) { if (buf.subarray && STR_APPLY_UIA_OK || !buf.subarray && STR_APPLY_OK) { return String.fromCharCode.apply( null, utils.shrinkBuf(buf, len) ); } } var result = ""; for (var i2 = 0; i2 < len; i2++) { result += String.fromCharCode(buf[i2]); } return result; } exports2.buf2binstring = function(buf) { return buf2binstring(buf, buf.length); }; exports2.binstring2buf = function(str) { var buf = new utils.Buf8(str.length); for (var i2 = 0, len = buf.length; i2 < len; i2++) { buf[i2] = str.charCodeAt(i2); } return buf; }; exports2.buf2string = function(buf, max2) { var i2, out, c2, c_len; var len = max2 || buf.length; var utf16buf = new Array(len * 2); for (out = 0, i2 = 0; i2 < len; ) { c2 = buf[i2++]; if (c2 < 128) { utf16buf[out++] = c2; continue; } c_len = _utf8len[c2]; if (c_len > 4) { utf16buf[out++] = 65533; i2 += c_len - 1; continue; } c2 &= c_len === 2 ? 31 : c_len === 3 ? 15 : 7; while (c_len > 1 && i2 < len) { c2 = c2 << 6 | buf[i2++] & 63; c_len--; } if (c_len > 1) { utf16buf[out++] = 65533; continue; } if (c2 < 65536) { utf16buf[out++] = c2; } else { c2 -= 65536; utf16buf[out++] = 55296 | c2 >> 10 & 1023; utf16buf[out++] = 56320 | c2 & 1023; } } return buf2binstring(utf16buf, out); }; exports2.utf8border = function(buf, max2) { var pos; max2 = max2 || buf.length; if (max2 > buf.length) { max2 = buf.length; } pos = max2 - 1; while (pos >= 0 && (buf[pos] & 192) === 128) { pos--; } if (pos < 0) { return max2; } if (pos === 0) { return max2; } return pos + _utf8len[buf[pos]] > max2 ? pos : max2; }; }, { "./common": 1 } ], 3: [ function(require2, module2, exports2) { "use strict"; function adler32(adler, buf, len, pos) { var s1 = adler & 65535 | 0, s2 = adler >>> 16 & 65535 | 0, n2 = 0; while (len !== 0) { n2 = len > 2e3 ? 2e3 : len; len -= n2; do { s1 = s1 + buf[pos++] | 0; s2 = s2 + s1 | 0; } while (--n2); s1 %= 65521; s2 %= 65521; } return s1 | s2 << 16 | 0; } module2.exports = adler32; }, {} ], 4: [ function(require2, module2, exports2) { "use strict"; module2.exports = { /* Allowed flush values; see deflate() and inflate() below for details */ Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, /* Return codes for the compression/decompression functions. Negative values * are errors, positive values are used for special but normal events. */ Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, //Z_MEM_ERROR: -4, Z_BUF_ERROR: -5, //Z_VERSION_ERROR: -6, /* compression levels */ Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, /* Possible values of the data_type field (though see inflate()) */ Z_BINARY: 0, Z_TEXT: 1, //Z_ASCII: 1, // = Z_TEXT (deprecated) Z_UNKNOWN: 2, /* The deflate compression method */ Z_DEFLATED: 8 //Z_NULL: null // Use -1 or null inline, depending on var type }; }, {} ], 5: [ function(require2, module2, exports2) { "use strict"; function makeTable() { var c2, table = []; for (var n2 = 0; n2 < 256; n2++) { c2 = n2; for (var k2 = 0; k2 < 8; k2++) { c2 = c2 & 1 ? 3988292384 ^ c2 >>> 1 : c2 >>> 1; } table[n2] = c2; } return table; } var crcTable = makeTable(); function crc32(crc, buf, len, pos) { var t3 = crcTable, end = pos + len; crc ^= -1; for (var i2 = pos; i2 < end; i2++) { crc = crc >>> 8 ^ t3[(crc ^ buf[i2]) & 255]; } return crc ^ -1; } module2.exports = crc32; }, {} ], 6: [ function(require2, module2, exports2) { "use strict"; function GZheader() { this.text = 0; this.time = 0; this.xflags = 0; this.os = 0; this.extra = null; this.extra_len = 0; this.name = ""; this.comment = ""; this.hcrc = 0; this.done = false; } module2.exports = GZheader; }, {} ], 7: [ function(require2, module2, exports2) { "use strict"; var BAD = 30; var TYPE = 12; module2.exports = function inflate_fast(strm, start) { var state; var _in; var last; var _out; var beg; var end; var dmax; var wsize; var whave; var wnext; var s_window; var hold; var bits; var lcode; var dcode; var lmask; var dmask; var here; var op; var len; var dist; var from; var from_source; var input, output; state = strm.state; _in = strm.next_in; input = strm.input; last = _in + (strm.avail_in - 5); _out = strm.next_out; output = strm.output; beg = _out - (start - strm.avail_out); end = _out + (strm.avail_out - 257); dmax = state.dmax; wsize = state.wsize; whave = state.whave; wnext = state.wnext; s_window = state.window; hold = state.hold; bits = state.bits; lcode = state.lencode; dcode = state.distcode; lmask = (1 << state.lenbits) - 1; dmask = (1 << state.distbits) - 1; top: do { if (bits < 15) { hold += input[_in++] << bits; bits += 8; hold += input[_in++] << bits; bits += 8; } here = lcode[hold & lmask]; dolen: for (; ; ) { op = here >>> 24; hold >>>= op; bits -= op; op = here >>> 16 & 255; if (op === 0) { output[_out++] = here & 65535; } else if (op & 16) { len = here & 65535; op &= 15; if (op) { if (bits < op) { hold += input[_in++] << bits; bits += 8; } len += hold & (1 << op) - 1; hold >>>= op; bits -= op; } if (bits < 15) { hold += input[_in++] << bits; bits += 8; hold += input[_in++] << bits; bits += 8; } here = dcode[hold & dmask]; dodist: for (; ; ) { op = here >>> 24; hold >>>= op; bits -= op; op = here >>> 16 & 255; if (op & 16) { dist = here & 65535; op &= 15; if (bits < op) { hold += input[_in++] << bits; bits += 8; if (bits < op) { hold += input[_in++] << bits; bits += 8; } } dist += hold & (1 << op) - 1; if (dist > dmax) { strm.msg = "invalid distance too far back"; state.mode = BAD; break top; } hold >>>= op; bits -= op; op = _out - beg; if (dist > op) { op = dist - op; if (op > whave) { if (state.sane) { strm.msg = "invalid distance too far back"; state.mode = BAD; break top; } } from = 0; from_source = s_window; if (wnext === 0) { from += wsize - op; if (op < len) { len -= op; do { output[_out++] = s_window[from++]; } while (--op); from = _out - dist; from_source = output; } } else if (wnext < op) { from += wsize + wnext - op; op -= wnext; if (op < len) { len -= op; do { output[_out++] = s_window[from++]; } while (--op); from = 0; if (wnext < len) { op = wnext; len -= op; do { output[_out++] = s_window[from++]; } while (--op); from = _out - dist; from_source = output; } } } else { from += wnext - op; if (op < len) { len -= op; do { output[_out++] = s_window[from++]; } while (--op); from = _out - dist; from_source = output; } } while (len > 2) { output[_out++] = from_source[from++]; output[_out++] = from_source[from++]; output[_out++] = from_source[from++]; len -= 3; } if (len) { output[_out++] = from_source[from++]; if (len > 1) { output[_out++] = from_source[from++]; } } } else { from = _out - dist; do { output[_out++] = output[from++]; output[_out++] = output[from++]; output[_out++] = output[from++]; len -= 3; } while (len > 2); if (len) { output[_out++] = output[from++]; if (len > 1) { output[_out++] = output[from++]; } } } } else if ((op & 64) === 0) { here = dcode[(here & 65535) + (hold & (1 << op) - 1)]; continue dodist; } else { strm.msg = "invalid distance code"; state.mode = BAD; break top; } break; } } else if ((op & 64) === 0) { here = lcode[(here & 65535) + (hold & (1 << op) - 1)]; continue dolen; } else if (op & 32) { state.mode = TYPE; break top; } else { strm.msg = "invalid literal/length code"; state.mode = BAD; break top; } break; } } while (_in < last && _out < end); len = bits >> 3; _in -= len; bits -= len << 3; hold &= (1 << bits) - 1; strm.next_in = _in; strm.next_out = _out; strm.avail_in = _in < last ? 5 + (last - _in) : 5 - (_in - last); strm.avail_out = _out < end ? 257 + (end - _out) : 257 - (_out - end); state.hold = hold; state.bits = bits; return; }; }, {} ], 8: [ function(require2, module2, exports2) { "use strict"; var utils = require2("../utils/common"); var adler32 = require2("./adler32"); var crc32 = require2("./crc32"); var inflate_fast = require2("./inffast"); var inflate_table = require2("./inftrees"); var CODES = 0; var LENS = 1; var DISTS = 2; var Z_FINISH = 4; var Z_BLOCK = 5; var Z_TREES = 6; var Z_OK = 0; var Z_STREAM_END = 1; var Z_NEED_DICT = 2; var Z_STREAM_ERROR = -2; var Z_DATA_ERROR = -3; var Z_MEM_ERROR = -4; var Z_BUF_ERROR = -5; var Z_DEFLATED = 8; var HEAD = 1; var FLAGS = 2; var TIME = 3; var OS = 4; var EXLEN = 5; var EXTRA = 6; var NAME = 7; var COMMENT = 8; var HCRC = 9; var DICTID = 10; var DICT = 11; var TYPE = 12; var TYPEDO = 13; var STORED = 14; var COPY_ = 15; var COPY = 16; var TABLE = 17; var LENLENS = 18; var CODELENS = 19; var LEN_ = 20; var LEN = 21; var LENEXT = 22; var DIST = 23; var DISTEXT = 24; var MATCH = 25; var LIT = 26; var CHECK = 27; var LENGTH = 28; var DONE = 29; var BAD = 30; var MEM = 31; var SYNC = 32; var ENOUGH_LENS = 852; var ENOUGH_DISTS = 592; var MAX_WBITS = 15; var DEF_WBITS = MAX_WBITS; function zswap32(q) { return (q >>> 24 & 255) + (q >>> 8 & 65280) + ((q & 65280) << 8) + ((q & 255) << 24); } function InflateState() { this.mode = 0; this.last = false; this.wrap = 0; this.havedict = false; this.flags = 0; this.dmax = 0; this.check = 0; this.total = 0; this.head = null; this.wbits = 0; this.wsize = 0; this.whave = 0; this.wnext = 0; this.window = null; this.hold = 0; this.bits = 0; this.length = 0; this.offset = 0; this.extra = 0; this.lencode = null; this.distcode = null; this.lenbits = 0; this.distbits = 0; this.ncode = 0; this.nlen = 0; this.ndist = 0; this.have = 0; this.next = null; this.lens = new utils.Buf16( 320 ); this.work = new utils.Buf16( 288 ); this.lendyn = null; this.distdyn = null; this.sane = 0; this.back = 0; this.was = 0; } function inflateResetKeep(strm) { var state; if (!strm || !strm.state) { return Z_STREAM_ERROR; } state = strm.state; strm.total_in = strm.total_out = state.total = 0; strm.msg = ""; if (state.wrap) { strm.adler = state.wrap & 1; } state.mode = HEAD; state.last = 0; state.havedict = 0; state.dmax = 32768; state.head = null; state.hold = 0; state.bits = 0; state.lencode = state.lendyn = new utils.Buf32( ENOUGH_LENS ); state.distcode = state.distdyn = new utils.Buf32( ENOUGH_DISTS ); state.sane = 1; state.back = -1; return Z_OK; } function inflateReset(strm) { var state; if (!strm || !strm.state) { return Z_STREAM_ERROR; } state = strm.state; state.wsize = 0; state.whave = 0; state.wnext = 0; return inflateResetKeep(strm); } function inflateReset2(strm, windowBits) { var wrap; var state; if (!strm || !strm.state) { return Z_STREAM_ERROR; } state = strm.state; if (windowBits < 0) { wrap = 0; windowBits = -windowBits; } else { wrap = (windowBits >> 4) + 1; if (windowBits < 48) { windowBits &= 15; } } if (windowBits && (windowBits < 8 || windowBits > 15)) { return Z_STREAM_ERROR; } if (state.window !== null && state.wbits !== windowBits) { state.window = null; } state.wrap = wrap; state.wbits = windowBits; return inflateReset(strm); } function inflateInit2(strm, windowBits) { var ret; var state; if (!strm) { return Z_STREAM_ERROR; } state = new InflateState(); strm.state = state; state.window = null; ret = inflateReset2(strm, windowBits); if (ret !== Z_OK) { strm.state = null; } return ret; } function inflateInit(strm) { return inflateInit2(strm, DEF_WBITS); } var virgin = true; var lenfix, distfix; function fixedtables(state) { if (virgin) { var sym; lenfix = new utils.Buf32(512); distfix = new utils.Buf32(32); sym = 0; while (sym < 144) { state.lens[sym++] = 8; } while (sym < 256) { state.lens[sym++] = 9; } while (sym < 280) { state.lens[sym++] = 7; } while (sym < 288) { state.lens[sym++] = 8; } inflate_table( LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 } ); sym = 0; while (sym < 32) { state.lens[sym++] = 5; } inflate_table( DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 } ); virgin = false; } state.lencode = lenfix; state.lenbits = 9; state.distcode = distfix; state.distbits = 5; } function updatewindow(strm, src, end, copy) { var dist; var state = strm.state; if (state.window === null) { state.wsize = 1 << state.wbits; state.wnext = 0; state.whave = 0; state.window = new utils.Buf8(state.wsize); } if (copy >= state.wsize) { utils.arraySet( state.window, src, end - state.wsize, state.wsize, 0 ); state.wnext = 0; state.whave = state.wsize; } else { dist = state.wsize - state.wnext; if (dist > copy) { dist = copy; } utils.arraySet( state.window, src, end - copy, dist, state.wnext ); copy -= dist; if (copy) { utils.arraySet( state.window, src, end - copy, copy, 0 ); state.wnext = copy; state.whave = state.wsize; } else { state.wnext += dist; if (state.wnext === state.wsize) { state.wnext = 0; } if (state.whave < state.wsize) { state.whave += dist; } } } return 0; } function inflate(strm, flush) { var state; var input, output; var next; var put; var have, left; var hold; var bits; var _in, _out; var copy; var from; var from_source; var here = 0; var here_bits, here_op, here_val; var last_bits, last_op, last_val; var len; var ret; var hbuf = new utils.Buf8( 4 ); var opts; var n2; var order = ( /* permutation of code lengths */ [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ] ); if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0) { return Z_STREAM_ERROR; } state = strm.state; if (state.mode === TYPE) { state.mode = TYPEDO; } put = strm.next_out; output = strm.output; left = strm.avail_out; next = strm.next_in; input = strm.input; have = strm.avail_in; hold = state.hold; bits = state.bits; _in = have; _out = left; ret = Z_OK; inf_leave: for (; ; ) { switch (state.mode) { case HEAD: if (state.wrap === 0) { state.mode = TYPEDO; break; } while (bits < 16) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } if (state.wrap & 2 && hold === 35615) { state.check = 0; hbuf[0] = hold & 255; hbuf[1] = hold >>> 8 & 255; state.check = crc32( state.check, hbuf, 2, 0 ); hold = 0; bits = 0; state.mode = FLAGS; break; } state.flags = 0; if (state.head) { state.head.done = false; } if (!(state.wrap & 1) || (((hold & 255) << 8) + (hold >> 8)) % 31) { strm.msg = "incorrect header check"; state.mode = BAD; break; } if ((hold & 15) !== Z_DEFLATED) { strm.msg = "unknown compression method"; state.mode = BAD; break; } hold >>>= 4; bits -= 4; len = (hold & 15) + 8; if (state.wbits === 0) { state.wbits = len; } else if (len > state.wbits) { strm.msg = "invalid window size"; state.mode = BAD; break; } state.dmax = 1 << len; strm.adler = state.check = 1; state.mode = hold & 512 ? DICTID : TYPE; hold = 0; bits = 0; break; case FLAGS: while (bits < 16) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } state.flags = hold; if ((state.flags & 255) !== Z_DEFLATED) { strm.msg = "unknown compression method"; state.mode = BAD; break; } if (state.flags & 57344) { strm.msg = "unknown header flags set"; state.mode = BAD; break; } if (state.head) { state.head.text = hold >> 8 & 1; } if (state.flags & 512) { hbuf[0] = hold & 255; hbuf[1] = hold >>> 8 & 255; state.check = crc32( state.check, hbuf, 2, 0 ); } hold = 0; bits = 0; state.mode = TIME; /* falls through */ case TIME: while (bits < 32) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } if (state.head) { state.head.time = hold; } if (state.flags & 512) { hbuf[0] = hold & 255; hbuf[1] = hold >>> 8 & 255; hbuf[2] = hold >>> 16 & 255; hbuf[3] = hold >>> 24 & 255; state.check = crc32( state.check, hbuf, 4, 0 ); } hold = 0; bits = 0; state.mode = OS; /* falls through */ case OS: while (bits < 16) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } if (state.head) { state.head.xflags = hold & 255; state.head.os = hold >> 8; } if (state.flags & 512) { hbuf[0] = hold & 255; hbuf[1] = hold >>> 8 & 255; state.check = crc32( state.check, hbuf, 2, 0 ); } hold = 0; bits = 0; state.mode = EXLEN; /* falls through */ case EXLEN: if (state.flags & 1024) { while (bits < 16) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } state.length = hold; if (state.head) { state.head.extra_len = hold; } if (state.flags & 512) { hbuf[0] = hold & 255; hbuf[1] = hold >>> 8 & 255; state.check = crc32( state.check, hbuf, 2, 0 ); } hold = 0; bits = 0; } else if (state.head) { state.head.extra = null; } state.mode = EXTRA; /* falls through */ case EXTRA: if (state.flags & 1024) { copy = state.length; if (copy > have) { copy = have; } if (copy) { if (state.head) { len = state.head.extra_len - state.length; if (!state.head.extra) { state.head.extra = new Array( state.head.extra_len ); } utils.arraySet( state.head.extra, input, next, // extra field is limited to 65536 bytes // - no need for additional size check copy, /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/ len ); } if (state.flags & 512) { state.check = crc32( state.check, input, copy, next ); } have -= copy; next += copy; state.length -= copy; } if (state.length) { break inf_leave; } } state.length = 0; state.mode = NAME; /* falls through */ case NAME: if (state.flags & 2048) { if (have === 0) { break inf_leave; } copy = 0; do { len = input[next + copy++]; if (state.head && len && state.length < 65536) { state.head.name += String.fromCharCode(len); } } while (len && copy < have); if (state.flags & 512) { state.check = crc32( state.check, input, copy, next ); } have -= copy; next += copy; if (len) { break inf_leave; } } else if (state.head) { state.head.name = null; } state.length = 0; state.mode = COMMENT; /* falls through */ case COMMENT: if (state.flags & 4096) { if (have === 0) { break inf_leave; } copy = 0; do { len = input[next + copy++]; if (state.head && len && state.length < 65536) { state.head.comment += String.fromCharCode(len); } } while (len && copy < have); if (state.flags & 512) { state.check = crc32( state.check, input, copy, next ); } have -= copy; next += copy; if (len) { break inf_leave; } } else if (state.head) { state.head.comment = null; } state.mode = HCRC; /* falls through */ case HCRC: if (state.flags & 512) { while (bits < 16) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } if (hold !== (state.check & 65535)) { strm.msg = "header crc mismatch"; state.mode = BAD; break; } hold = 0; bits = 0; } if (state.head) { state.head.hcrc = state.flags >> 9 & 1; state.head.done = true; } strm.adler = state.check = 0; state.mode = TYPE; break; case DICTID: while (bits < 32) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } strm.adler = state.check = zswap32(hold); hold = 0; bits = 0; state.mode = DICT; /* falls through */ case DICT: if (state.havedict === 0) { strm.next_out = put; strm.avail_out = left; strm.next_in = next; strm.avail_in = have; state.hold = hold; state.bits = bits; return Z_NEED_DICT; } strm.adler = state.check = 1; state.mode = TYPE; /* falls through */ case TYPE: if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; } /* falls through */ case TYPEDO: if (state.last) { hold >>>= bits & 7; bits -= bits & 7; state.mode = CHECK; break; } while (bits < 3) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } state.last = hold & 1; hold >>>= 1; bits -= 1; switch (hold & 3) { case 0: state.mode = STORED; break; case 1: fixedtables(state); state.mode = LEN_; if (flush === Z_TREES) { hold >>>= 2; bits -= 2; break inf_leave; } break; case 2: state.mode = TABLE; break; case 3: strm.msg = "invalid block type"; state.mode = BAD; } hold >>>= 2; bits -= 2; break; case STORED: hold >>>= bits & 7; bits -= bits & 7; while (bits < 32) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } if ((hold & 65535) !== (hold >>> 16 ^ 65535)) { strm.msg = "invalid stored block lengths"; state.mode = BAD; break; } state.length = hold & 65535; hold = 0; bits = 0; state.mode = COPY_; if (flush === Z_TREES) { break inf_leave; } /* falls through */ case COPY_: state.mode = COPY; /* falls through */ case COPY: copy = state.length; if (copy) { if (copy > have) { copy = have; } if (copy > left) { copy = left; } if (copy === 0) { break inf_leave; } utils.arraySet( output, input, next, copy, put ); have -= copy; next += copy; left -= copy; put += copy; state.length -= copy; break; } state.mode = TYPE; break; case TABLE: while (bits < 14) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } state.nlen = (hold & 31) + 257; hold >>>= 5; bits -= 5; state.ndist = (hold & 31) + 1; hold >>>= 5; bits -= 5; state.ncode = (hold & 15) + 4; hold >>>= 4; bits -= 4; if (state.nlen > 286 || state.ndist > 30) { strm.msg = "too many length or distance symbols"; state.mode = BAD; break; } state.have = 0; state.mode = LENLENS; /* falls through */ case LENLENS: while (state.have < state.ncode) { while (bits < 3) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } state.lens[order[state.have++]] = hold & 7; hold >>>= 3; bits -= 3; } while (state.have < 19) { state.lens[order[state.have++]] = 0; } state.lencode = state.lendyn; state.lenbits = 7; opts = { bits: state.lenbits }; ret = inflate_table( CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts ); state.lenbits = opts.bits; if (ret) { strm.msg = "invalid code lengths set"; state.mode = BAD; break; } state.have = 0; state.mode = CODELENS; /* falls through */ case CODELENS: while (state.have < state.nlen + state.ndist) { for (; ; ) { here = state.lencode[hold & (1 << state.lenbits) - 1]; here_bits = here >>> 24; here_op = here >>> 16 & 255; here_val = here & 65535; if (here_bits <= bits) { break; } if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } if (here_val < 16) { hold >>>= here_bits; bits -= here_bits; state.lens[state.have++] = here_val; } else { if (here_val === 16) { n2 = here_bits + 2; while (bits < n2) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } hold >>>= here_bits; bits -= here_bits; if (state.have === 0) { strm.msg = "invalid bit length repeat"; state.mode = BAD; break; } len = state.lens[state.have - 1]; copy = 3 + (hold & 3); hold >>>= 2; bits -= 2; } else if (here_val === 17) { n2 = here_bits + 3; while (bits < n2) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } hold >>>= here_bits; bits -= here_bits; len = 0; copy = 3 + (hold & 7); hold >>>= 3; bits -= 3; } else { n2 = here_bits + 7; while (bits < n2) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } hold >>>= here_bits; bits -= here_bits; len = 0; copy = 11 + (hold & 127); hold >>>= 7; bits -= 7; } if (state.have + copy > state.nlen + state.ndist) { strm.msg = "invalid bit length repeat"; state.mode = BAD; break; } while (copy--) { state.lens[state.have++] = len; } } } if (state.mode === BAD) { break; } if (state.lens[256] === 0) { strm.msg = "invalid code -- missing end-of-block"; state.mode = BAD; break; } state.lenbits = 9; opts = { bits: state.lenbits }; ret = inflate_table( LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts ); state.lenbits = opts.bits; if (ret) { strm.msg = "invalid literal/lengths set"; state.mode = BAD; break; } state.distbits = 6; state.distcode = state.distdyn; opts = { bits: state.distbits }; ret = inflate_table( DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts ); state.distbits = opts.bits; if (ret) { strm.msg = "invalid distances set"; state.mode = BAD; break; } state.mode = LEN_; if (flush === Z_TREES) { break inf_leave; } /* falls through */ case LEN_: state.mode = LEN; /* falls through */ case LEN: if (have >= 6 && left >= 258) { strm.next_out = put; strm.avail_out = left; strm.next_in = next; strm.avail_in = have; state.hold = hold; state.bits = bits; inflate_fast(strm, _out); put = strm.next_out; output = strm.output; left = strm.avail_out; next = strm.next_in; input = strm.input; have = strm.avail_in; hold = state.hold; bits = state.bits; if (state.mode === TYPE) { state.back = -1; } break; } state.back = 0; for (; ; ) { here = state.lencode[hold & (1 << state.lenbits) - 1]; here_bits = here >>> 24; here_op = here >>> 16 & 255; here_val = here & 65535; if (here_bits <= bits) { break; } if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } if (here_op && (here_op & 240) === 0) { last_bits = here_bits; last_op = here_op; last_val = here_val; for (; ; ) { here = state.lencode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)]; here_bits = here >>> 24; here_op = here >>> 16 & 255; here_val = here & 65535; if (last_bits + here_bits <= bits) { break; } if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } hold >>>= last_bits; bits -= last_bits; state.back += last_bits; } hold >>>= here_bits; bits -= here_bits; state.back += here_bits; state.length = here_val; if (here_op === 0) { state.mode = LIT; break; } if (here_op & 32) { state.back = -1; state.mode = TYPE; break; } if (here_op & 64) { strm.msg = "invalid literal/length code"; state.mode = BAD; break; } state.extra = here_op & 15; state.mode = LENEXT; /* falls through */ case LENEXT: if (state.extra) { n2 = state.extra; while (bits < n2) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } state.length += hold & (1 << state.extra) - 1; hold >>>= state.extra; bits -= state.extra; state.back += state.extra; } state.was = state.length; state.mode = DIST; /* falls through */ case DIST: for (; ; ) { here = state.distcode[hold & (1 << state.distbits) - 1]; here_bits = here >>> 24; here_op = here >>> 16 & 255; here_val = here & 65535; if (here_bits <= bits) { break; } if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } if ((here_op & 240) === 0) { last_bits = here_bits; last_op = here_op; last_val = here_val; for (; ; ) { here = state.distcode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)]; here_bits = here >>> 24; here_op = here >>> 16 & 255; here_val = here & 65535; if (last_bits + here_bits <= bits) { break; } if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } hold >>>= last_bits; bits -= last_bits; state.back += last_bits; } hold >>>= here_bits; bits -= here_bits; state.back += here_bits; if (here_op & 64) { strm.msg = "invalid distance code"; state.mode = BAD; break; } state.offset = here_val; state.extra = here_op & 15; state.mode = DISTEXT; /* falls through */ case DISTEXT: if (state.extra) { n2 = state.extra; while (bits < n2) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } state.offset += hold & (1 << state.extra) - 1; hold >>>= state.extra; bits -= state.extra; state.back += state.extra; } if (state.offset > state.dmax) { strm.msg = "invalid distance too far back"; state.mode = BAD; break; } state.mode = MATCH; /* falls through */ case MATCH: if (left === 0) { break inf_leave; } copy = _out - left; if (state.offset > copy) { copy = state.offset - copy; if (copy > state.whave) { if (state.sane) { strm.msg = "invalid distance too far back"; state.mode = BAD; break; } } if (copy > state.wnext) { copy -= state.wnext; from = state.wsize - copy; } else { from = state.wnext - copy; } if (copy > state.length) { copy = state.length; } from_source = state.window; } else { from_source = output; from = put - state.offset; copy = state.length; } if (copy > left) { copy = left; } left -= copy; state.length -= copy; do { output[put++] = from_source[from++]; } while (--copy); if (state.length === 0) { state.mode = LEN; } break; case LIT: if (left === 0) { break inf_leave; } output[put++] = state.length; left--; state.mode = LEN; break; case CHECK: if (state.wrap) { while (bits < 32) { if (have === 0) { break inf_leave; } have--; hold |= input[next++] << bits; bits += 8; } _out -= left; strm.total_out += _out; state.total += _out; if (_out) { strm.adler = state.check = /*UPDATE(state.check, put - _out, _out);*/ state.flags ? crc32( state.check, output, _out, put - _out ) : adler32( state.check, output, _out, put - _out ); } _out = left; if ((state.flags ? hold : zswap32(hold)) !== state.check) { strm.msg = "incorrect data check"; state.mode = BAD; break; } hold = 0; bits = 0; } state.mode = LENGTH; /* falls through */ case LENGTH: if (state.wrap && state.flags) { while (bits < 32) { if (have === 0) { break inf_leave; } have--; hold += input[next++] << bits; bits += 8; } if (hold !== (state.total & 4294967295)) { strm.msg = "incorrect length check"; state.mode = BAD; break; } hold = 0; bits = 0; } state.mode = DONE; /* falls through */ case DONE: ret = Z_STREAM_END; break inf_leave; case BAD: ret = Z_DATA_ERROR; break inf_leave; case MEM: return Z_MEM_ERROR; case SYNC: /* falls through */ default: return Z_STREAM_ERROR; } } strm.next_out = put; strm.avail_out = left; strm.next_in = next; strm.avail_in = have; state.hold = hold; state.bits = bits; if (state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH)) { if (updatewindow( strm, strm.output, strm.next_out, _out - strm.avail_out )) { state.mode = MEM; return Z_MEM_ERROR; } } _in -= strm.avail_in; _out -= strm.avail_out; strm.total_in += _in; strm.total_out += _out; state.total += _out; if (state.wrap && _out) { strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/ state.flags ? crc32( state.check, output, _out, strm.next_out - _out ) : adler32( state.check, output, _out, strm.next_out - _out ); } strm.data_type = state.bits + (state.last ? 64 : 0) + (state.mode === TYPE ? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0); if ((_in === 0 && _out === 0 || flush === Z_FINISH) && ret === Z_OK) { ret = Z_BUF_ERROR; } return ret; } function inflateEnd(strm) { if (!strm || !strm.state) { return Z_STREAM_ERROR; } var state = strm.state; if (state.window) { state.window = null; } strm.state = null; return Z_OK; } function inflateGetHeader(strm, head2) { var state; if (!strm || !strm.state) { return Z_STREAM_ERROR; } state = strm.state; if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; } state.head = head2; head2.done = false; return Z_OK; } function inflateSetDictionary(strm, dictionary) { var dictLength = dictionary.length; var state; var dictid; var ret; if (!strm || !strm.state) { return Z_STREAM_ERROR; } state = strm.state; if (state.wrap !== 0 && state.mode !== DICT) { return Z_STREAM_ERROR; } if (state.mode === DICT) { dictid = 1; dictid = adler32( dictid, dictionary, dictLength, 0 ); if (dictid !== state.check) { return Z_DATA_ERROR; } } ret = updatewindow( strm, dictionary, dictLength, dictLength ); if (ret) { state.mode = MEM; return Z_MEM_ERROR; } state.havedict = 1; return Z_OK; } exports2.inflateReset = inflateReset; exports2.inflateReset2 = inflateReset2; exports2.inflateResetKeep = inflateResetKeep; exports2.inflateInit = inflateInit; exports2.inflateInit2 = inflateInit2; exports2.inflate = inflate; exports2.inflateEnd = inflateEnd; exports2.inflateGetHeader = inflateGetHeader; exports2.inflateSetDictionary = inflateSetDictionary; exports2.inflateInfo = "pako inflate (from Nodeca project)"; }, { "../utils/common": 1, "./adler32": 3, "./crc32": 5, "./inffast": 7, "./inftrees": 9 } ], 9: [ function(require2, module2, exports2) { "use strict"; var utils = require2("../utils/common"); var MAXBITS = 15; var ENOUGH_LENS = 852; var ENOUGH_DISTS = 592; var CODES = 0; var LENS = 1; var DISTS = 2; var lbase = [ /* Length codes 257..285 base */ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 ]; var lext = [ /* Length codes 257..285 extra */ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78 ]; var dbase = [ /* Distance codes 0..29 base */ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0 ]; var dext = [ /* Distance codes 0..29 extra */ 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64 ]; module2.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) { var bits = opts.bits; var len = 0; var sym = 0; var min2 = 0, max2 = 0; var root = 0; var curr = 0; var drop = 0; var left = 0; var used = 0; var huff = 0; var incr; var fill; var low; var mask; var next; var base = null; var base_index = 0; var end; var count = new utils.Buf16(MAXBITS + 1); var offs = new utils.Buf16(MAXBITS + 1); var extra = null; var extra_index = 0; var here_bits, here_op, here_val; for (len = 0; len <= MAXBITS; len++) { count[len] = 0; } for (sym = 0; sym < codes; sym++) { count[lens[lens_index + sym]]++; } root = bits; for (max2 = MAXBITS; max2 >= 1; max2--) { if (count[max2] !== 0) { break; } } if (root > max2) { root = max2; } if (max2 === 0) { table[table_index++] = 1 << 24 | 64 << 16 | 0; table[table_index++] = 1 << 24 | 64 << 16 | 0; opts.bits = 1; return 0; } for (min2 = 1; min2 < max2; min2++) { if (count[min2] !== 0) { break; } } if (root < min2) { root = min2; } left = 1; for (len = 1; len <= MAXBITS; len++) { left <<= 1; left -= count[len]; if (left < 0) { return -1; } } if (left > 0 && (type === CODES || max2 !== 1)) { return -1; } offs[1] = 0; for (len = 1; len < MAXBITS; len++) { offs[len + 1] = offs[len] + count[len]; } for (sym = 0; sym < codes; sym++) { if (lens[lens_index + sym] !== 0) { work[offs[lens[lens_index + sym]]++] = sym; } } if (type === CODES) { base = extra = work; end = 19; } else if (type === LENS) { base = lbase; base_index -= 257; extra = lext; extra_index -= 257; end = 256; } else { base = dbase; extra = dext; end = -1; } huff = 0; sym = 0; len = min2; next = table_index; curr = root; drop = 0; low = -1; used = 1 << root; mask = used - 1; if (type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS) { return 1; } for (; ; ) { here_bits = len - drop; if (work[sym] < end) { here_op = 0; here_val = work[sym]; } else if (work[sym] > end) { here_op = extra[extra_index + work[sym]]; here_val = base[base_index + work[sym]]; } else { here_op = 32 + 64; here_val = 0; } incr = 1 << len - drop; fill = 1 << curr; min2 = fill; do { fill -= incr; table[next + (huff >> drop) + fill] = here_bits << 24 | here_op << 16 | here_val | 0; } while (fill !== 0); incr = 1 << len - 1; while (huff & incr) { incr >>= 1; } if (incr !== 0) { huff &= incr - 1; huff += incr; } else { huff = 0; } sym++; if (--count[len] === 0) { if (len === max2) { break; } len = lens[lens_index + work[sym]]; } if (len > root && (huff & mask) !== low) { if (drop === 0) { drop = root; } next += min2; curr = len - drop; left = 1 << curr; while (curr + drop < max2) { left -= count[curr + drop]; if (left <= 0) { break; } curr++; left <<= 1; } used += 1 << curr; if (type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS) { return 1; } low = huff & mask; table[low] = root << 24 | curr << 16 | next - table_index | 0; } } if (huff !== 0) { table[next + huff] = len - drop << 24 | 64 << 16 | 0; } opts.bits = root; return 0; }; }, { "../utils/common": 1 } ], 10: [ function(require2, module2, exports2) { "use strict"; module2.exports = { 2: "need dictionary", 1: "stream end", 0: "", "-1": "file error", "-2": "stream error", "-3": "data error", "-4": "insufficient memory", "-5": "buffer error", "-6": "incompatible version" }; }, {} ], 11: [ function(require2, module2, exports2) { "use strict"; function ZStream() { this.input = null; this.next_in = 0; this.avail_in = 0; this.total_in = 0; this.output = null; this.next_out = 0; this.avail_out = 0; this.total_out = 0; this.msg = ""; this.state = null; this.data_type = 2; this.adler = 0; } module2.exports = ZStream; }, {} ], "/lib/inflate.js": [ function(require2, module2, exports2) { "use strict"; var zlib_inflate = require2("./zlib/inflate"); var utils = require2("./utils/common"); var strings = require2("./utils/strings"); var c2 = require2("./zlib/constants"); var msg = require2("./zlib/messages"); var ZStream = require2("./zlib/zstream"); var GZheader = require2("./zlib/gzheader"); var toString = Object.prototype.toString; function Inflate(options) { if (!(this instanceof Inflate)) return new Inflate(options); this.options = utils.assign( { chunkSize: 16384, windowBits: 0, to: "" }, options || {} ); var opt = this.options; if (opt.raw && opt.windowBits >= 0 && opt.windowBits < 16) { opt.windowBits = -opt.windowBits; if (opt.windowBits === 0) { opt.windowBits = -15; } } if (opt.windowBits >= 0 && opt.windowBits < 16 && !(options && options.windowBits)) { opt.windowBits += 32; } if (opt.windowBits > 15 && opt.windowBits < 48) { if ((opt.windowBits & 15) === 0) { opt.windowBits |= 15; } } this.err = 0; this.msg = ""; this.ended = false; this.chunks = []; this.strm = new ZStream(); this.strm.avail_out = 0; var status = zlib_inflate.inflateInit2( this.strm, opt.windowBits ); if (status !== c2.Z_OK) { throw new Error(msg[status]); } this.header = new GZheader(); zlib_inflate.inflateGetHeader(this.strm, this.header); if (opt.dictionary) { if (typeof opt.dictionary === "string") { opt.dictionary = strings.string2buf( opt.dictionary ); } else if (toString.call(opt.dictionary) === "[object ArrayBuffer]") { opt.dictionary = new Uint8Array( opt.dictionary ); } if (opt.raw) { status = zlib_inflate.inflateSetDictionary( this.strm, opt.dictionary ); if (status !== c2.Z_OK) { throw new Error(msg[status]); } } } } Inflate.prototype.push = function(data, mode) { var strm = this.strm; var chunkSize = this.options.chunkSize; var dictionary = this.options.dictionary; var status, _mode; var next_out_utf8, tail, utf8str; var allowBufError = false; if (this.ended) { return false; } _mode = mode === ~~mode ? mode : mode === true ? c2.Z_FINISH : c2.Z_NO_FLUSH; if (typeof data === "string") { strm.input = strings.binstring2buf(data); } else if (toString.call(data) === "[object ArrayBuffer]") { strm.input = new Uint8Array(data); } else { strm.input = data; } strm.next_in = 0; strm.avail_in = strm.input.length; do { if (strm.avail_out === 0) { strm.output = new utils.Buf8(chunkSize); strm.next_out = 0; strm.avail_out = chunkSize; } status = zlib_inflate.inflate( strm, c2.Z_NO_FLUSH ); if (status === c2.Z_NEED_DICT && dictionary) { status = zlib_inflate.inflateSetDictionary( this.strm, dictionary ); } if (status === c2.Z_BUF_ERROR && allowBufError === true) { status = c2.Z_OK; allowBufError = false; } if (status !== c2.Z_STREAM_END && status !== c2.Z_OK) { this.onEnd(status); this.ended = true; return false; } if (strm.next_out) { if (strm.avail_out === 0 || status === c2.Z_STREAM_END || strm.avail_in === 0 && (_mode === c2.Z_FINISH || _mode === c2.Z_SYNC_FLUSH)) { if (this.options.to === "string") { next_out_utf8 = strings.utf8border( strm.output, strm.next_out ); tail = strm.next_out - next_out_utf8; utf8str = strings.buf2string( strm.output, next_out_utf8 ); strm.next_out = tail; strm.avail_out = chunkSize - tail; if (tail) { utils.arraySet( strm.output, strm.output, next_out_utf8, tail, 0 ); } this.onData(utf8str); } else { this.onData( utils.shrinkBuf( strm.output, strm.next_out ) ); } } } if (strm.avail_in === 0 && strm.avail_out === 0) { allowBufError = true; } } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== c2.Z_STREAM_END); if (status === c2.Z_STREAM_END) { _mode = c2.Z_FINISH; } if (_mode === c2.Z_FINISH) { status = zlib_inflate.inflateEnd(this.strm); this.onEnd(status); this.ended = true; return status === c2.Z_OK; } if (_mode === c2.Z_SYNC_FLUSH) { this.onEnd(c2.Z_OK); strm.avail_out = 0; return true; } return true; }; Inflate.prototype.onData = function(chunk) { this.chunks.push(chunk); }; Inflate.prototype.onEnd = function(status) { if (status === c2.Z_OK) { if (this.options.to === "string") { this.result = this.chunks.join(""); } else { this.result = utils.flattenChunks( this.chunks ); } } this.chunks = []; this.err = status; this.msg = this.strm.msg; }; function inflate(input, options) { var inflator = new Inflate(options); inflator.push(input, true); if (inflator.err) { throw inflator.msg || msg[inflator.err]; } return inflator.result; } function inflateRaw(input, options) { options = options || {}; options.raw = true; return inflate(input, options); } exports2.Inflate = Inflate; exports2.inflate = inflate; exports2.inflateRaw = inflateRaw; exports2.ungzip = inflate; }, { "./utils/common": 1, "./utils/strings": 2, "./zlib/constants": 4, "./zlib/gzheader": 6, "./zlib/inflate": 8, "./zlib/messages": 10, "./zlib/zstream": 11 } ] }, {}, [] )("/lib/inflate.js"); })(); // packages/global-styles-ui/build-module/font-library/lib/lib-font.browser.mjs var fetchFunction = globalThis.fetch; var Event2 = class { constructor(type, detail = {}, msg) { this.type = type; this.detail = detail; this.msg = msg; Object.defineProperty(this, `__mayPropagate`, { enumerable: false, writable: true }); this.__mayPropagate = true; } preventDefault() { } stopPropagation() { this.__mayPropagate = false; } valueOf() { return this; } toString() { return this.msg ? `[${this.type} event]: ${this.msg}` : `[${this.type} event]`; } }; var EventManager = class { constructor() { this.listeners = {}; } addEventListener(type, listener, useCapture) { let bin = this.listeners[type] || []; if (useCapture) bin.unshift(listener); else bin.push(listener); this.listeners[type] = bin; } removeEventListener(type, listener) { let bin = this.listeners[type] || []; let pos = bin.findIndex((e2) => e2 === listener); if (pos > -1) { bin.splice(pos, 1); this.listeners[type] = bin; } } dispatch(event) { let bin = this.listeners[event.type]; if (bin) { for (let l2 = 0, e2 = bin.length; l2 < e2; l2++) { if (!event.__mayPropagate) break; bin[l2](event); } } } }; var startDate = (/* @__PURE__ */ new Date(`1904-01-01T00:00:00+0000`)).getTime(); function asText(data) { return Array.from(data).map((v2) => String.fromCharCode(v2)).join(``); } var Parser = class { constructor(dict, dataview, name2) { this.name = (name2 || dict.tag || ``).trim(); this.length = dict.length; this.start = dict.offset; this.offset = 0; this.data = dataview; [ `getInt8`, `getUint8`, `getInt16`, `getUint16`, `getInt32`, `getUint32`, `getBigInt64`, `getBigUint64` ].forEach((name3) => { let fn = name3.replace(/get(Big)?/, "").toLowerCase(); let increment = parseInt(name3.replace(/[^\d]/g, "")) / 8; Object.defineProperty(this, fn, { get: () => this.getValue(name3, increment) }); }); } get currentPosition() { return this.start + this.offset; } set currentPosition(position) { this.start = position; this.offset = 0; } skip(n2 = 0, bits = 8) { this.offset += n2 * bits / 8; } getValue(type, increment) { let pos = this.start + this.offset; this.offset += increment; try { return this.data[type](pos); } catch (e2) { console.error(`parser`, type, increment, this); console.error(`parser`, this.start, this.offset); throw e2; } } flags(n2) { if (n2 === 8 || n2 === 16 || n2 === 32 || n2 === 64) { return this[`uint${n2}`].toString(2).padStart(n2, 0).split(``).map((v2) => v2 === "1"); } console.error( `Error parsing flags: flag types can only be 1, 2, 4, or 8 bytes long` ); console.trace(); } get tag() { const t3 = this.uint32; return asText([ t3 >> 24 & 255, t3 >> 16 & 255, t3 >> 8 & 255, t3 & 255 ]); } get fixed() { let major = this.int16; let minor = Math.round(1e3 * this.uint16 / 65356); return major + minor / 1e3; } get legacyFixed() { let major = this.uint16; let minor = this.uint16.toString(16).padStart(4, 0); return parseFloat(`${major}.${minor}`); } get uint24() { return (this.uint8 << 16) + (this.uint8 << 8) + this.uint8; } get uint128() { let value = 0; for (let i2 = 0; i2 < 5; i2++) { let byte = this.uint8; value = value * 128 + (byte & 127); if (byte < 128) break; } return value; } get longdatetime() { return new Date(startDate + 1e3 * parseInt(this.int64.toString())); } get fword() { return this.int16; } get ufword() { return this.uint16; } get Offset16() { return this.uint16; } get Offset32() { return this.uint32; } get F2DOT14() { const bits = p.uint16; const integer = [0, 1, -2, -1][bits >> 14]; const fraction = bits & 16383; return integer + fraction / 16384; } verifyLength() { if (this.offset != this.length) { console.error( `unexpected parsed table size (${this.offset}) for "${this.name}" (expected ${this.length})` ); } } readBytes(n2 = 0, position = 0, bits = 8, signed = false) { n2 = n2 || this.length; if (n2 === 0) return []; if (position) this.currentPosition = position; const fn = `${signed ? `` : `u`}int${bits}`, slice = []; while (n2--) slice.push(this[fn]); return slice; } }; var ParsedData = class { constructor(parser) { const pGetter = { enumerable: false, get: () => parser }; Object.defineProperty(this, `parser`, pGetter); const start = parser.currentPosition; const startGetter = { enumerable: false, get: () => start }; Object.defineProperty(this, `start`, startGetter); } load(struct) { Object.keys(struct).forEach((p22) => { let props = Object.getOwnPropertyDescriptor(struct, p22); if (props.get) { this[p22] = props.get.bind(this); } else if (props.value !== void 0) { this[p22] = props.value; } }); if (this.parser.length) { this.parser.verifyLength(); } } }; var SimpleTable = class extends ParsedData { constructor(dict, dataview, name2) { const { parser, start } = super( new Parser(dict, dataview, name2) ); const pGetter = { enumerable: false, get: () => parser }; Object.defineProperty(this, `p`, pGetter); const startGetter = { enumerable: false, get: () => start }; Object.defineProperty(this, `tableStart`, startGetter); } }; function lazy$1(object, property, getter) { let val; Object.defineProperty(object, property, { get: () => { if (val) return val; val = getter(); return val; }, enumerable: true }); } var SFNT = class extends SimpleTable { constructor(font2, dataview, createTable2) { const { p: p22 } = super({ offset: 0, length: 12 }, dataview, `sfnt`); this.version = p22.uint32; this.numTables = p22.uint16; this.searchRange = p22.uint16; this.entrySelector = p22.uint16; this.rangeShift = p22.uint16; p22.verifyLength(); this.directory = [...new Array(this.numTables)].map( (_) => new TableRecord(p22) ); this.tables = {}; this.directory.forEach((entry) => { const getter = () => createTable2( this.tables, { tag: entry.tag, offset: entry.offset, length: entry.length }, dataview ); lazy$1(this.tables, entry.tag.trim(), getter); }); } }; var TableRecord = class { constructor(p22) { this.tag = p22.tag; this.checksum = p22.uint32; this.offset = p22.uint32; this.length = p22.uint32; } }; var gzipDecode = inflate_default.inflate || void 0; var nativeGzipDecode = void 0; var WOFF$1 = class extends SimpleTable { constructor(font2, dataview, createTable2) { const { p: p22 } = super({ offset: 0, length: 44 }, dataview, `woff`); this.signature = p22.tag; this.flavor = p22.uint32; this.length = p22.uint32; this.numTables = p22.uint16; p22.uint16; this.totalSfntSize = p22.uint32; this.majorVersion = p22.uint16; this.minorVersion = p22.uint16; this.metaOffset = p22.uint32; this.metaLength = p22.uint32; this.metaOrigLength = p22.uint32; this.privOffset = p22.uint32; this.privLength = p22.uint32; p22.verifyLength(); this.directory = [...new Array(this.numTables)].map( (_) => new WoffTableDirectoryEntry(p22) ); buildWoffLazyLookups(this, dataview, createTable2); } }; var WoffTableDirectoryEntry = class { constructor(p22) { this.tag = p22.tag; this.offset = p22.uint32; this.compLength = p22.uint32; this.origLength = p22.uint32; this.origChecksum = p22.uint32; } }; function buildWoffLazyLookups(woff, dataview, createTable2) { woff.tables = {}; woff.directory.forEach((entry) => { lazy$1(woff.tables, entry.tag.trim(), () => { let offset4 = 0; let view = dataview; if (entry.compLength !== entry.origLength) { const data = dataview.buffer.slice( entry.offset, entry.offset + entry.compLength ); let unpacked; if (gzipDecode) { unpacked = gzipDecode(new Uint8Array(data)); } else if (nativeGzipDecode) { unpacked = nativeGzipDecode(new Uint8Array(data)); } else { const msg = `no brotli decoder available to decode WOFF2 font`; if (font.onerror) font.onerror(msg); throw new Error(msg); } view = new DataView(unpacked.buffer); } else { offset4 = entry.offset; } return createTable2( woff.tables, { tag: entry.tag, offset: offset4, length: entry.origLength }, view ); }); }); } var brotliDecode = unbrotli_default; var nativeBrotliDecode = void 0; var WOFF2$1 = class extends SimpleTable { constructor(font2, dataview, createTable2) { const { p: p22 } = super({ offset: 0, length: 48 }, dataview, `woff2`); this.signature = p22.tag; this.flavor = p22.uint32; this.length = p22.uint32; this.numTables = p22.uint16; p22.uint16; this.totalSfntSize = p22.uint32; this.totalCompressedSize = p22.uint32; this.majorVersion = p22.uint16; this.minorVersion = p22.uint16; this.metaOffset = p22.uint32; this.metaLength = p22.uint32; this.metaOrigLength = p22.uint32; this.privOffset = p22.uint32; this.privLength = p22.uint32; p22.verifyLength(); this.directory = [...new Array(this.numTables)].map( (_) => new Woff2TableDirectoryEntry(p22) ); let dictOffset = p22.currentPosition; this.directory[0].offset = 0; this.directory.forEach((e2, i2) => { let next = this.directory[i2 + 1]; if (next) { next.offset = e2.offset + (e2.transformLength !== void 0 ? e2.transformLength : e2.origLength); } }); let decoded; let buffer = dataview.buffer.slice(dictOffset); if (brotliDecode) { decoded = brotliDecode(new Uint8Array(buffer)); } else if (nativeBrotliDecode) { decoded = new Uint8Array(nativeBrotliDecode(buffer)); } else { const msg = `no brotli decoder available to decode WOFF2 font`; if (font2.onerror) font2.onerror(msg); throw new Error(msg); } buildWoff2LazyLookups(this, decoded, createTable2); } }; var Woff2TableDirectoryEntry = class { constructor(p22) { this.flags = p22.uint8; const tagNumber = this.tagNumber = this.flags & 63; if (tagNumber === 63) { this.tag = p22.tag; } else { this.tag = getWOFF2Tag(tagNumber); } const transformVersion = this.transformVersion = (this.flags & 192) >> 6; let hasTransforms = transformVersion !== 0; if (this.tag === `glyf` || this.tag === `loca`) { hasTransforms = this.transformVersion !== 3; } this.origLength = p22.uint128; if (hasTransforms) { this.transformLength = p22.uint128; } } }; function buildWoff2LazyLookups(woff2, decoded, createTable2) { woff2.tables = {}; woff2.directory.forEach((entry) => { lazy$1(woff2.tables, entry.tag.trim(), () => { const start = entry.offset; const end = start + (entry.transformLength ? entry.transformLength : entry.origLength); const data = new DataView(decoded.slice(start, end).buffer); try { return createTable2( woff2.tables, { tag: entry.tag, offset: 0, length: entry.origLength }, data ); } catch (e2) { console.error(e2); } }); }); } function getWOFF2Tag(flag) { return [ `cmap`, `head`, `hhea`, `hmtx`, `maxp`, `name`, `OS/2`, `post`, `cvt `, `fpgm`, `glyf`, `loca`, `prep`, `CFF `, `VORG`, `EBDT`, `EBLC`, `gasp`, `hdmx`, `kern`, `LTSH`, `PCLT`, `VDMX`, `vhea`, `vmtx`, `BASE`, `GDEF`, `GPOS`, `GSUB`, `EBSC`, `JSTF`, `MATH`, `CBDT`, `CBLC`, `COLR`, `CPAL`, `SVG `, `sbix`, `acnt`, `avar`, `bdat`, `bloc`, `bsln`, `cvar`, `fdsc`, `feat`, `fmtx`, `fvar`, `gvar`, `hsty`, `just`, `lcar`, `mort`, `morx`, `opbd`, `prop`, `trak`, `Zapf`, `Silf`, `Glat`, `Gloc`, `Feat`, `Sill` ][flag & 63]; } var tableClasses = {}; var tableClassesLoaded = false; Promise.all([ Promise.resolve().then(function() { return cmap$1; }), Promise.resolve().then(function() { return head$1; }), Promise.resolve().then(function() { return hhea$1; }), Promise.resolve().then(function() { return hmtx$1; }), Promise.resolve().then(function() { return maxp$1; }), Promise.resolve().then(function() { return name$1; }), Promise.resolve().then(function() { return OS2$1; }), Promise.resolve().then(function() { return post$1; }), Promise.resolve().then(function() { return BASE$1; }), Promise.resolve().then(function() { return GDEF$1; }), Promise.resolve().then(function() { return GSUB$1; }), Promise.resolve().then(function() { return GPOS$1; }), Promise.resolve().then(function() { return SVG$1; }), Promise.resolve().then(function() { return fvar$1; }), Promise.resolve().then(function() { return cvt$1; }), Promise.resolve().then(function() { return fpgm$1; }), Promise.resolve().then(function() { return gasp$1; }), Promise.resolve().then(function() { return glyf$1; }), Promise.resolve().then(function() { return loca$1; }), Promise.resolve().then(function() { return prep$1; }), Promise.resolve().then(function() { return CFF$1; }), Promise.resolve().then(function() { return CFF2$1; }), Promise.resolve().then(function() { return VORG$1; }), Promise.resolve().then(function() { return EBLC$1; }), Promise.resolve().then(function() { return EBDT$1; }), Promise.resolve().then(function() { return EBSC$1; }), Promise.resolve().then(function() { return CBLC$1; }), Promise.resolve().then(function() { return CBDT$1; }), Promise.resolve().then(function() { return sbix$1; }), Promise.resolve().then(function() { return COLR$1; }), Promise.resolve().then(function() { return CPAL$1; }), Promise.resolve().then(function() { return DSIG$1; }), Promise.resolve().then(function() { return hdmx$1; }), Promise.resolve().then(function() { return kern$1; }), Promise.resolve().then(function() { return LTSH$1; }), Promise.resolve().then(function() { return MERG$1; }), Promise.resolve().then(function() { return meta$1; }), Promise.resolve().then(function() { return PCLT$1; }), Promise.resolve().then(function() { return VDMX$1; }), Promise.resolve().then(function() { return vhea$1; }), Promise.resolve().then(function() { return vmtx$1; }) ]).then((data) => { data.forEach((e2) => { let name2 = Object.keys(e2)[0]; tableClasses[name2] = e2[name2]; }); tableClassesLoaded = true; }); function createTable(tables, dict, dataview) { let name2 = dict.tag.replace(/[^\w\d]/g, ``); let Type = tableClasses[name2]; if (Type) return new Type(dict, dataview, tables); console.warn( `lib-font has no definition for ${name2}. The table was skipped.` ); return {}; } function loadTableClasses() { let count = 0; function checkLoaded(resolve, reject) { if (!tableClassesLoaded) { if (count > 10) { return reject(new Error(`loading took too long`)); } count++; return setTimeout(() => checkLoaded(resolve), 250); } resolve(createTable); } return new Promise((resolve, reject) => checkLoaded(resolve)); } function getFontCSSFormat(path, errorOnStyle) { let pos = path.lastIndexOf(`.`); let ext = (path.substring(pos + 1) || ``).toLowerCase(); let format = { ttf: `truetype`, otf: `opentype`, woff: `woff`, woff2: `woff2` }[ext]; if (format) return format; let msg = { eot: `The .eot format is not supported: it died in January 12, 2016, when Microsoft retired all versions of IE that didn't already support WOFF.`, svg: `The .svg format is not supported: SVG fonts (not to be confused with OpenType with embedded SVG) were so bad we took the entire fonts chapter out of the SVG specification again.`, fon: `The .fon format is not supported: this is an ancient Windows bitmap font format.`, ttc: `Based on the current CSS specification, font collections are not (yet?) supported.` }[ext]; if (!msg) msg = `${path} is not a known webfont format.`; if (errorOnStyle) { throw new Error(msg); } else { console.warn(`Could not load font: ${msg}`); } } async function setupFontFace(name2, url, options = {}) { if (!globalThis.document) return; let format = getFontCSSFormat(url, options.errorOnStyle); if (!format) return; let style = document.createElement(`style`); style.className = `injected-by-Font-js`; let rules = []; if (options.styleRules) { rules = Object.entries(options.styleRules).map( ([key, value]) => `${key}: ${value};` ); } style.textContent = ` @font-face { font-family: "${name2}"; ${rules.join( ` ` )} src: url("${url}") format("${format}"); }`; globalThis.document.head.appendChild(style); return style; } var TTF = [0, 1, 0, 0]; var OTF = [79, 84, 84, 79]; var WOFF = [119, 79, 70, 70]; var WOFF2 = [119, 79, 70, 50]; function match(ar1, ar2) { if (ar1.length !== ar2.length) return; for (let i2 = 0; i2 < ar1.length; i2++) { if (ar1[i2] !== ar2[i2]) return; } return true; } function validFontFormat(dataview) { const LEAD_BYTES = [ dataview.getUint8(0), dataview.getUint8(1), dataview.getUint8(2), dataview.getUint8(3) ]; if (match(LEAD_BYTES, TTF) || match(LEAD_BYTES, OTF)) return `SFNT`; if (match(LEAD_BYTES, WOFF)) return `WOFF`; if (match(LEAD_BYTES, WOFF2)) return `WOFF2`; } function checkFetchResponseStatus(response) { if (!response.ok) { throw new Error( `HTTP ${response.status} - ${response.statusText}` ); } return response; } var Font = class extends EventManager { constructor(name2, options = {}) { super(); this.name = name2; this.options = options; this.metrics = false; } get src() { return this.__src; } set src(src) { this.__src = src; (async () => { if (globalThis.document && !this.options.skipStyleSheet) { await setupFontFace(this.name, src, this.options); } this.loadFont(src); })(); } async loadFont(url, filename) { fetch(url).then( (response) => checkFetchResponseStatus(response) && response.arrayBuffer() ).then( (buffer) => this.fromDataBuffer(buffer, filename || url) ).catch((err) => { const evt = new Event2( `error`, err, `Failed to load font at ${filename || url}` ); this.dispatch(evt); if (this.onerror) this.onerror(evt); }); } async fromDataBuffer(buffer, filenameOrUrL) { this.fontData = new DataView(buffer); let type = validFontFormat(this.fontData); if (!type) { throw new Error( `${filenameOrUrL} is either an unsupported font format, or not a font at all.` ); } await this.parseBasicData(type); const evt = new Event2("load", { font: this }); this.dispatch(evt); if (this.onload) this.onload(evt); } async parseBasicData(type) { return loadTableClasses().then((createTable2) => { if (type === `SFNT`) { this.opentype = new SFNT(this, this.fontData, createTable2); } if (type === `WOFF`) { this.opentype = new WOFF$1(this, this.fontData, createTable2); } if (type === `WOFF2`) { this.opentype = new WOFF2$1(this, this.fontData, createTable2); } return this.opentype; }); } getGlyphId(char) { return this.opentype.tables.cmap.getGlyphId(char); } reverse(glyphid) { return this.opentype.tables.cmap.reverse(glyphid); } supports(char) { return this.getGlyphId(char) !== 0; } supportsVariation(variation) { return this.opentype.tables.cmap.supportsVariation(variation) !== false; } measureText(text, size4 = 16) { if (this.__unloaded) throw new Error( "Cannot measure text: font was unloaded. Please reload before calling measureText()" ); let d2 = document.createElement("div"); d2.textContent = text; d2.style.fontFamily = this.name; d2.style.fontSize = `${size4}px`; d2.style.color = `transparent`; d2.style.background = `transparent`; d2.style.top = `0`; d2.style.left = `0`; d2.style.position = `absolute`; document.body.appendChild(d2); let bbox = d2.getBoundingClientRect(); document.body.removeChild(d2); const OS22 = this.opentype.tables["OS/2"]; bbox.fontSize = size4; bbox.ascender = OS22.sTypoAscender; bbox.descender = OS22.sTypoDescender; return bbox; } unload() { if (this.styleElement.parentNode) { this.styleElement.parentNode.removeElement(this.styleElement); const evt = new Event2("unload", { font: this }); this.dispatch(evt); if (this.onunload) this.onunload(evt); } this._unloaded = true; } load() { if (this.__unloaded) { delete this.__unloaded; document.head.appendChild(this.styleElement); const evt = new Event2("load", { font: this }); this.dispatch(evt); if (this.onload) this.onload(evt); } } }; globalThis.Font = Font; var Subtable = class extends ParsedData { constructor(p22, plaformID, encodingID) { super(p22); this.plaformID = plaformID; this.encodingID = encodingID; } }; var Format0 = class extends Subtable { constructor(p22, platformID, encodingID) { super(p22, platformID, encodingID); this.format = 0; this.length = p22.uint16; this.language = p22.uint16; this.glyphIdArray = [...new Array(256)].map((_) => p22.uint8); } supports(charCode) { if (charCode.charCodeAt) { charCode = -1; console.warn( `supports(character) not implemented for cmap subtable format 0. only supports(id) is implemented.` ); } return 0 <= charCode && charCode <= 255; } reverse(glyphID) { console.warn(`reverse not implemented for cmap subtable format 0`); return {}; } getSupportedCharCodes() { return [{ start: 1, end: 256 }]; } }; var Format2 = class extends Subtable { constructor(p22, platformID, encodingID) { super(p22, platformID, encodingID); this.format = 2; this.length = p22.uint16; this.language = p22.uint16; this.subHeaderKeys = [...new Array(256)].map((_) => p22.uint16); const subHeaderCount = Math.max(...this.subHeaderKeys); const subHeaderOffset = p22.currentPosition; lazy$1(this, `subHeaders`, () => { p22.currentPosition = subHeaderOffset; return [...new Array(subHeaderCount)].map( (_) => new SubHeader(p22) ); }); const glyphIndexOffset = subHeaderOffset + subHeaderCount * 8; lazy$1(this, `glyphIndexArray`, () => { p22.currentPosition = glyphIndexOffset; return [...new Array(subHeaderCount)].map((_) => p22.uint16); }); } supports(charCode) { if (charCode.charCodeAt) { charCode = -1; console.warn( `supports(character) not implemented for cmap subtable format 2. only supports(id) is implemented.` ); } const low = charCode && 255; const high = charCode && 65280; const subHeaderKey = this.subHeaders[high]; const subheader = this.subHeaders[subHeaderKey]; const first = subheader.firstCode; const last = first + subheader.entryCount; return first <= low && low <= last; } reverse(glyphID) { console.warn(`reverse not implemented for cmap subtable format 2`); return {}; } getSupportedCharCodes(preservePropNames = false) { if (preservePropNames) { return this.subHeaders.map((h2) => ({ firstCode: h2.firstCode, lastCode: h2.lastCode })); } return this.subHeaders.map((h2) => ({ start: h2.firstCode, end: h2.lastCode })); } }; var SubHeader = class { constructor(p22) { this.firstCode = p22.uint16; this.entryCount = p22.uint16; this.lastCode = this.first + this.entryCount; this.idDelta = p22.int16; this.idRangeOffset = p22.uint16; } }; var Format4 = class extends Subtable { constructor(p22, platformID, encodingID) { super(p22, platformID, encodingID); this.format = 4; this.length = p22.uint16; this.language = p22.uint16; this.segCountX2 = p22.uint16; this.segCount = this.segCountX2 / 2; this.searchRange = p22.uint16; this.entrySelector = p22.uint16; this.rangeShift = p22.uint16; const endCodePosition = p22.currentPosition; lazy$1( this, `endCode`, () => p22.readBytes(this.segCount, endCodePosition, 16) ); const startCodePosition = endCodePosition + 2 + this.segCountX2; lazy$1( this, `startCode`, () => p22.readBytes(this.segCount, startCodePosition, 16) ); const idDeltaPosition = startCodePosition + this.segCountX2; lazy$1( this, `idDelta`, () => p22.readBytes(this.segCount, idDeltaPosition, 16, true) ); const idRangePosition = idDeltaPosition + this.segCountX2; lazy$1( this, `idRangeOffset`, () => p22.readBytes(this.segCount, idRangePosition, 16) ); const glyphIdArrayPosition = idRangePosition + this.segCountX2; const glyphIdArrayLength = this.length - (glyphIdArrayPosition - this.tableStart); lazy$1( this, `glyphIdArray`, () => p22.readBytes(glyphIdArrayLength, glyphIdArrayPosition, 16) ); lazy$1( this, `segments`, () => this.buildSegments(idRangePosition, glyphIdArrayPosition, p22) ); } buildSegments(idRangePosition, glyphIdArrayPosition, p22) { const build = (_, i2) => { let startCode = this.startCode[i2], endCode = this.endCode[i2], idDelta = this.idDelta[i2], idRangeOffset = this.idRangeOffset[i2], idRangeOffsetPointer = idRangePosition + 2 * i2, glyphIDs = []; if (idRangeOffset === 0) { for (let i22 = startCode + idDelta, e2 = endCode + idDelta; i22 <= e2; i22++) { glyphIDs.push(i22); } } else { for (let i22 = 0, e2 = endCode - startCode; i22 <= e2; i22++) { p22.currentPosition = idRangeOffsetPointer + idRangeOffset + i22 * 2; glyphIDs.push(p22.uint16); } } return { startCode, endCode, idDelta, idRangeOffset, glyphIDs }; }; return [...new Array(this.segCount)].map(build); } reverse(glyphID) { let s2 = this.segments.find((v2) => v2.glyphIDs.includes(glyphID)); if (!s2) return {}; const code = s2.startCode + s2.glyphIDs.indexOf(glyphID); return { code, unicode: String.fromCodePoint(code) }; } getGlyphId(charCode) { if (charCode.charCodeAt) charCode = charCode.charCodeAt(0); if (55296 <= charCode && charCode <= 57343) return 0; if ((charCode & 65534) === 65534 || (charCode & 65535) === 65535) return 0; let segment = this.segments.find( (s2) => s2.startCode <= charCode && charCode <= s2.endCode ); if (!segment) return 0; return segment.glyphIDs[charCode - segment.startCode]; } supports(charCode) { return this.getGlyphId(charCode) !== 0; } getSupportedCharCodes(preservePropNames = false) { if (preservePropNames) return this.segments; return this.segments.map((v2) => ({ start: v2.startCode, end: v2.endCode })); } }; var Format6 = class extends Subtable { constructor(p22, platformID, encodingID) { super(p22, platformID, encodingID); this.format = 6; this.length = p22.uint16; this.language = p22.uint16; this.firstCode = p22.uint16; this.entryCount = p22.uint16; this.lastCode = this.firstCode + this.entryCount - 1; const getter = () => [...new Array(this.entryCount)].map((_) => p22.uint16); lazy$1(this, `glyphIdArray`, getter); } supports(charCode) { if (charCode.charCodeAt) { charCode = -1; console.warn( `supports(character) not implemented for cmap subtable format 6. only supports(id) is implemented.` ); } if (charCode < this.firstCode) return {}; if (charCode > this.firstCode + this.entryCount) return {}; const code = charCode - this.firstCode; return { code, unicode: String.fromCodePoint(code) }; } reverse(glyphID) { let pos = this.glyphIdArray.indexOf(glyphID); if (pos > -1) return this.firstCode + pos; } getSupportedCharCodes(preservePropNames = false) { if (preservePropNames) { return [{ firstCode: this.firstCode, lastCode: this.lastCode }]; } return [{ start: this.firstCode, end: this.lastCode }]; } }; var Format8 = class extends Subtable { constructor(p22, platformID, encodingID) { super(p22, platformID, encodingID); this.format = 8; p22.uint16; this.length = p22.uint32; this.language = p22.uint32; this.is32 = [...new Array(8192)].map((_) => p22.uint8); this.numGroups = p22.uint32; const getter = () => [...new Array(this.numGroups)].map( (_) => new SequentialMapGroup$1(p22) ); lazy$1(this, `groups`, getter); } supports(charCode) { if (charCode.charCodeAt) { charCode = -1; console.warn( `supports(character) not implemented for cmap subtable format 8. only supports(id) is implemented.` ); } return this.groups.findIndex( (s2) => s2.startcharCode <= charCode && charCode <= s2.endcharCode ) !== -1; } reverse(glyphID) { console.warn(`reverse not implemented for cmap subtable format 8`); return {}; } getSupportedCharCodes(preservePropNames = false) { if (preservePropNames) return this.groups; return this.groups.map((v2) => ({ start: v2.startcharCode, end: v2.endcharCode })); } }; var SequentialMapGroup$1 = class { constructor(p22) { this.startcharCode = p22.uint32; this.endcharCode = p22.uint32; this.startGlyphID = p22.uint32; } }; var Format10 = class extends Subtable { constructor(p22, platformID, encodingID) { super(p22, platformID, encodingID); this.format = 10; p22.uint16; this.length = p22.uint32; this.language = p22.uint32; this.startCharCode = p22.uint32; this.numChars = p22.uint32; this.endCharCode = this.startCharCode + this.numChars; const getter = () => [...new Array(this.numChars)].map((_) => p22.uint16); lazy$1(this, `glyphs`, getter); } supports(charCode) { if (charCode.charCodeAt) { charCode = -1; console.warn( `supports(character) not implemented for cmap subtable format 10. only supports(id) is implemented.` ); } if (charCode < this.startCharCode) return false; if (charCode > this.startCharCode + this.numChars) return false; return charCode - this.startCharCode; } reverse(glyphID) { console.warn(`reverse not implemented for cmap subtable format 10`); return {}; } getSupportedCharCodes(preservePropNames = false) { if (preservePropNames) { return [ { startCharCode: this.startCharCode, endCharCode: this.endCharCode } ]; } return [{ start: this.startCharCode, end: this.endCharCode }]; } }; var Format12 = class extends Subtable { constructor(p22, platformID, encodingID) { super(p22, platformID, encodingID); this.format = 12; p22.uint16; this.length = p22.uint32; this.language = p22.uint32; this.numGroups = p22.uint32; const getter = () => [...new Array(this.numGroups)].map( (_) => new SequentialMapGroup(p22) ); lazy$1(this, `groups`, getter); } supports(charCode) { if (charCode.charCodeAt) charCode = charCode.charCodeAt(0); if (55296 <= charCode && charCode <= 57343) return 0; if ((charCode & 65534) === 65534 || (charCode & 65535) === 65535) return 0; return this.groups.findIndex( (s2) => s2.startCharCode <= charCode && charCode <= s2.endCharCode ) !== -1; } reverse(glyphID) { for (let group of this.groups) { let start = group.startGlyphID; if (start > glyphID) continue; if (start === glyphID) return group.startCharCode; let end = start + (group.endCharCode - group.startCharCode); if (end < glyphID) continue; const code = group.startCharCode + (glyphID - start); return { code, unicode: String.fromCodePoint(code) }; } return {}; } getSupportedCharCodes(preservePropNames = false) { if (preservePropNames) return this.groups; return this.groups.map((v2) => ({ start: v2.startCharCode, end: v2.endCharCode })); } }; var SequentialMapGroup = class { constructor(p22) { this.startCharCode = p22.uint32; this.endCharCode = p22.uint32; this.startGlyphID = p22.uint32; } }; var Format13 = class extends Subtable { constructor(p22, platformID, encodingID) { super(p22, platformID, encodingID); this.format = 13; p22.uint16; this.length = p22.uint32; this.language = p22.uint32; this.numGroups = p22.uint32; const getter = [...new Array(this.numGroups)].map( (_) => new ConstantMapGroup(p22) ); lazy$1(this, `groups`, getter); } supports(charCode) { if (charCode.charCodeAt) charCode = charCode.charCodeAt(0); return this.groups.findIndex( (s2) => s2.startCharCode <= charCode && charCode <= s2.endCharCode ) !== -1; } reverse(glyphID) { console.warn(`reverse not implemented for cmap subtable format 13`); return {}; } getSupportedCharCodes(preservePropNames = false) { if (preservePropNames) return this.groups; return this.groups.map((v2) => ({ start: v2.startCharCode, end: v2.endCharCode })); } }; var ConstantMapGroup = class { constructor(p22) { this.startCharCode = p22.uint32; this.endCharCode = p22.uint32; this.glyphID = p22.uint32; } }; var Format14 = class extends Subtable { constructor(p22, platformID, encodingID) { super(p22, platformID, encodingID); this.subTableStart = p22.currentPosition; this.format = 14; this.length = p22.uint32; this.numVarSelectorRecords = p22.uint32; lazy$1( this, `varSelectors`, () => [...new Array(this.numVarSelectorRecords)].map( (_) => new VariationSelector(p22) ) ); } supports() { console.warn(`supports not implemented for cmap subtable format 14`); return 0; } getSupportedCharCodes() { console.warn( `getSupportedCharCodes not implemented for cmap subtable format 14` ); return []; } reverse(glyphID) { console.warn(`reverse not implemented for cmap subtable format 14`); return {}; } supportsVariation(variation) { let v2 = this.varSelector.find( (uvs) => uvs.varSelector === variation ); return v2 ? v2 : false; } getSupportedVariations() { return this.varSelectors.map((v2) => v2.varSelector); } }; var VariationSelector = class { constructor(p22) { this.varSelector = p22.uint24; this.defaultUVSOffset = p22.Offset32; this.nonDefaultUVSOffset = p22.Offset32; } }; function createSubTable(parser, platformID, encodingID) { const format = parser.uint16; if (format === 0) return new Format0(parser, platformID, encodingID); if (format === 2) return new Format2(parser, platformID, encodingID); if (format === 4) return new Format4(parser, platformID, encodingID); if (format === 6) return new Format6(parser, platformID, encodingID); if (format === 8) return new Format8(parser, platformID, encodingID); if (format === 10) return new Format10(parser, platformID, encodingID); if (format === 12) return new Format12(parser, platformID, encodingID); if (format === 13) return new Format13(parser, platformID, encodingID); if (format === 14) return new Format14(parser, platformID, encodingID); return {}; } var cmap = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.uint16; this.numTables = p22.uint16; this.encodingRecords = [...new Array(this.numTables)].map( (_) => new EncodingRecord(p22, this.tableStart) ); } getSubTable(tableID) { return this.encodingRecords[tableID].table; } getSupportedEncodings() { return this.encodingRecords.map((r3) => ({ platformID: r3.platformID, encodingId: r3.encodingID })); } getSupportedCharCodes(platformID, encodingID) { const recordID = this.encodingRecords.findIndex( (r3) => r3.platformID === platformID && r3.encodingID === encodingID ); if (recordID === -1) return false; const subtable = this.getSubTable(recordID); return subtable.getSupportedCharCodes(); } reverse(glyphid) { for (let i2 = 0; i2 < this.numTables; i2++) { let code = this.getSubTable(i2).reverse(glyphid); if (code) return code; } } getGlyphId(char) { let last = 0; this.encodingRecords.some((_, tableID) => { let t3 = this.getSubTable(tableID); if (!t3.getGlyphId) return false; last = t3.getGlyphId(char); return last !== 0; }); return last; } supports(char) { return this.encodingRecords.some((_, tableID) => { const t3 = this.getSubTable(tableID); return t3.supports && t3.supports(char) !== false; }); } supportsVariation(variation) { return this.encodingRecords.some((_, tableID) => { const t3 = this.getSubTable(tableID); return t3.supportsVariation && t3.supportsVariation(variation) !== false; }); } }; var EncodingRecord = class { constructor(p22, tableStart) { const platformID = this.platformID = p22.uint16; const encodingID = this.encodingID = p22.uint16; const offset4 = this.offset = p22.Offset32; lazy$1(this, `table`, () => { p22.currentPosition = tableStart + offset4; return createSubTable(p22, platformID, encodingID); }); } }; var cmap$1 = Object.freeze({ __proto__: null, cmap }); var head = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.load({ majorVersion: p22.uint16, minorVersion: p22.uint16, fontRevision: p22.fixed, checkSumAdjustment: p22.uint32, magicNumber: p22.uint32, flags: p22.flags(16), unitsPerEm: p22.uint16, created: p22.longdatetime, modified: p22.longdatetime, xMin: p22.int16, yMin: p22.int16, xMax: p22.int16, yMax: p22.int16, macStyle: p22.flags(16), lowestRecPPEM: p22.uint16, fontDirectionHint: p22.uint16, indexToLocFormat: p22.uint16, glyphDataFormat: p22.uint16 }); } }; var head$1 = Object.freeze({ __proto__: null, head }); var hhea = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.majorVersion = p22.uint16; this.minorVersion = p22.uint16; this.ascender = p22.fword; this.descender = p22.fword; this.lineGap = p22.fword; this.advanceWidthMax = p22.ufword; this.minLeftSideBearing = p22.fword; this.minRightSideBearing = p22.fword; this.xMaxExtent = p22.fword; this.caretSlopeRise = p22.int16; this.caretSlopeRun = p22.int16; this.caretOffset = p22.int16; p22.int16; p22.int16; p22.int16; p22.int16; this.metricDataFormat = p22.int16; this.numberOfHMetrics = p22.uint16; p22.verifyLength(); } }; var hhea$1 = Object.freeze({ __proto__: null, hhea }); var hmtx = class extends SimpleTable { constructor(dict, dataview, tables) { const { p: p22 } = super(dict, dataview); const numberOfHMetrics = tables.hhea.numberOfHMetrics; const numGlyphs = tables.maxp.numGlyphs; const metricsStart = p22.currentPosition; lazy$1(this, `hMetrics`, () => { p22.currentPosition = metricsStart; return [...new Array(numberOfHMetrics)].map( (_) => new LongHorMetric(p22.uint16, p22.int16) ); }); if (numberOfHMetrics < numGlyphs) { const lsbStart = metricsStart + numberOfHMetrics * 4; lazy$1(this, `leftSideBearings`, () => { p22.currentPosition = lsbStart; return [...new Array(numGlyphs - numberOfHMetrics)].map( (_) => p22.int16 ); }); } } }; var LongHorMetric = class { constructor(w2, b2) { this.advanceWidth = w2; this.lsb = b2; } }; var hmtx$1 = Object.freeze({ __proto__: null, hmtx }); var maxp = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.legacyFixed; this.numGlyphs = p22.uint16; if (this.version === 1) { this.maxPoints = p22.uint16; this.maxContours = p22.uint16; this.maxCompositePoints = p22.uint16; this.maxCompositeContours = p22.uint16; this.maxZones = p22.uint16; this.maxTwilightPoints = p22.uint16; this.maxStorage = p22.uint16; this.maxFunctionDefs = p22.uint16; this.maxInstructionDefs = p22.uint16; this.maxStackElements = p22.uint16; this.maxSizeOfInstructions = p22.uint16; this.maxComponentElements = p22.uint16; this.maxComponentDepth = p22.uint16; } p22.verifyLength(); } }; var maxp$1 = Object.freeze({ __proto__: null, maxp }); var name = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.format = p22.uint16; this.count = p22.uint16; this.stringOffset = p22.Offset16; this.nameRecords = [...new Array(this.count)].map( (_) => new NameRecord(p22, this) ); if (this.format === 1) { this.langTagCount = p22.uint16; this.langTagRecords = [...new Array(this.langTagCount)].map( (_) => new LangTagRecord(p22.uint16, p22.Offset16) ); } this.stringStart = this.tableStart + this.stringOffset; } get(nameID) { let record = this.nameRecords.find( (record2) => record2.nameID === nameID ); if (record) return record.string; } }; var LangTagRecord = class { constructor(length, offset4) { this.length = length; this.offset = offset4; } }; var NameRecord = class { constructor(p22, nameTable) { this.platformID = p22.uint16; this.encodingID = p22.uint16; this.languageID = p22.uint16; this.nameID = p22.uint16; this.length = p22.uint16; this.offset = p22.Offset16; lazy$1(this, `string`, () => { p22.currentPosition = nameTable.stringStart + this.offset; return decodeString(p22, this); }); } }; function decodeString(p22, record) { const { platformID, length } = record; if (length === 0) return ``; if (platformID === 0 || platformID === 3) { const str2 = []; for (let i2 = 0, e2 = length / 2; i2 < e2; i2++) str2[i2] = String.fromCharCode(p22.uint16); return str2.join(``); } const bytes = p22.readBytes(length); const str = []; bytes.forEach(function(b2, i2) { str[i2] = String.fromCharCode(b2); }); return str.join(``); } var name$1 = Object.freeze({ __proto__: null, name }); var OS2 = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.uint16; this.xAvgCharWidth = p22.int16; this.usWeightClass = p22.uint16; this.usWidthClass = p22.uint16; this.fsType = p22.uint16; this.ySubscriptXSize = p22.int16; this.ySubscriptYSize = p22.int16; this.ySubscriptXOffset = p22.int16; this.ySubscriptYOffset = p22.int16; this.ySuperscriptXSize = p22.int16; this.ySuperscriptYSize = p22.int16; this.ySuperscriptXOffset = p22.int16; this.ySuperscriptYOffset = p22.int16; this.yStrikeoutSize = p22.int16; this.yStrikeoutPosition = p22.int16; this.sFamilyClass = p22.int16; this.panose = [...new Array(10)].map((_) => p22.uint8); this.ulUnicodeRange1 = p22.flags(32); this.ulUnicodeRange2 = p22.flags(32); this.ulUnicodeRange3 = p22.flags(32); this.ulUnicodeRange4 = p22.flags(32); this.achVendID = p22.tag; this.fsSelection = p22.uint16; this.usFirstCharIndex = p22.uint16; this.usLastCharIndex = p22.uint16; this.sTypoAscender = p22.int16; this.sTypoDescender = p22.int16; this.sTypoLineGap = p22.int16; this.usWinAscent = p22.uint16; this.usWinDescent = p22.uint16; if (this.version === 0) return p22.verifyLength(); this.ulCodePageRange1 = p22.flags(32); this.ulCodePageRange2 = p22.flags(32); if (this.version === 1) return p22.verifyLength(); this.sxHeight = p22.int16; this.sCapHeight = p22.int16; this.usDefaultChar = p22.uint16; this.usBreakChar = p22.uint16; this.usMaxContext = p22.uint16; if (this.version <= 4) return p22.verifyLength(); this.usLowerOpticalPointSize = p22.uint16; this.usUpperOpticalPointSize = p22.uint16; if (this.version === 5) return p22.verifyLength(); } }; var OS2$1 = Object.freeze({ __proto__: null, OS2 }); var post = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.legacyFixed; this.italicAngle = p22.fixed; this.underlinePosition = p22.fword; this.underlineThickness = p22.fword; this.isFixedPitch = p22.uint32; this.minMemType42 = p22.uint32; this.maxMemType42 = p22.uint32; this.minMemType1 = p22.uint32; this.maxMemType1 = p22.uint32; if (this.version === 1 || this.version === 3) return p22.verifyLength(); this.numGlyphs = p22.uint16; if (this.version === 2) { this.glyphNameIndex = [...new Array(this.numGlyphs)].map( (_) => p22.uint16 ); this.namesOffset = p22.currentPosition; this.glyphNameOffsets = [1]; for (let i2 = 0; i2 < this.numGlyphs; i2++) { let index2 = this.glyphNameIndex[i2]; if (index2 < macStrings.length) { this.glyphNameOffsets.push(this.glyphNameOffsets[i2]); continue; } let bytelength = p22.int8; p22.skip(bytelength); this.glyphNameOffsets.push( this.glyphNameOffsets[i2] + bytelength + 1 ); } } if (this.version === 2.5) { this.offset = [...new Array(this.numGlyphs)].map( (_) => p22.int8 ); } } getGlyphName(glyphid) { if (this.version !== 2) { console.warn( `post table version ${this.version} does not support glyph name lookups` ); return ``; } let index2 = this.glyphNameIndex[glyphid]; if (index2 < 258) return macStrings[index2]; let offset4 = this.glyphNameOffsets[glyphid]; let next = this.glyphNameOffsets[glyphid + 1]; let len = next - offset4 - 1; if (len === 0) return `.notdef.`; this.parser.currentPosition = this.namesOffset + offset4; const data = this.parser.readBytes( len, this.namesOffset + offset4, 8, true ); return data.map((b2) => String.fromCharCode(b2)).join(``); } }; var macStrings = [ `.notdef`, `.null`, `nonmarkingreturn`, `space`, `exclam`, `quotedbl`, `numbersign`, `dollar`, `percent`, `ampersand`, `quotesingle`, `parenleft`, `parenright`, `asterisk`, `plus`, `comma`, `hyphen`, `period`, `slash`, `zero`, `one`, `two`, `three`, `four`, `five`, `six`, `seven`, `eight`, `nine`, `colon`, `semicolon`, `less`, `equal`, `greater`, `question`, `at`, `A`, `B`, `C`, `D`, `E`, `F`, `G`, `H`, `I`, `J`, `K`, `L`, `M`, `N`, `O`, `P`, `Q`, `R`, `S`, `T`, `U`, `V`, `W`, `X`, `Y`, `Z`, `bracketleft`, `backslash`, `bracketright`, `asciicircum`, `underscore`, `grave`, `a`, `b`, `c`, `d`, `e`, `f`, `g`, `h`, `i`, `j`, `k`, `l`, `m`, `n`, `o`, `p`, `q`, `r`, `s`, `t`, `u`, `v`, `w`, `x`, `y`, `z`, `braceleft`, `bar`, `braceright`, `asciitilde`, `Adieresis`, `Aring`, `Ccedilla`, `Eacute`, `Ntilde`, `Odieresis`, `Udieresis`, `aacute`, `agrave`, `acircumflex`, `adieresis`, `atilde`, `aring`, `ccedilla`, `eacute`, `egrave`, `ecircumflex`, `edieresis`, `iacute`, `igrave`, `icircumflex`, `idieresis`, `ntilde`, `oacute`, `ograve`, `ocircumflex`, `odieresis`, `otilde`, `uacute`, `ugrave`, `ucircumflex`, `udieresis`, `dagger`, `degree`, `cent`, `sterling`, `section`, `bullet`, `paragraph`, `germandbls`, `registered`, `copyright`, `trademark`, `acute`, `dieresis`, `notequal`, `AE`, `Oslash`, `infinity`, `plusminus`, `lessequal`, `greaterequal`, `yen`, `mu`, `partialdiff`, `summation`, `product`, `pi`, `integral`, `ordfeminine`, `ordmasculine`, `Omega`, `ae`, `oslash`, `questiondown`, `exclamdown`, `logicalnot`, `radical`, `florin`, `approxequal`, `Delta`, `guillemotleft`, `guillemotright`, `ellipsis`, `nonbreakingspace`, `Agrave`, `Atilde`, `Otilde`, `OE`, `oe`, `endash`, `emdash`, `quotedblleft`, `quotedblright`, `quoteleft`, `quoteright`, `divide`, `lozenge`, `ydieresis`, `Ydieresis`, `fraction`, `currency`, `guilsinglleft`, `guilsinglright`, `fi`, `fl`, `daggerdbl`, `periodcentered`, `quotesinglbase`, `quotedblbase`, `perthousand`, `Acircumflex`, `Ecircumflex`, `Aacute`, `Edieresis`, `Egrave`, `Iacute`, `Icircumflex`, `Idieresis`, `Igrave`, `Oacute`, `Ocircumflex`, `apple`, `Ograve`, `Uacute`, `Ucircumflex`, `Ugrave`, `dotlessi`, `circumflex`, `tilde`, `macron`, `breve`, `dotaccent`, `ring`, `cedilla`, `hungarumlaut`, `ogonek`, `caron`, `Lslash`, `lslash`, `Scaron`, `scaron`, `Zcaron`, `zcaron`, `brokenbar`, `Eth`, `eth`, `Yacute`, `yacute`, `Thorn`, `thorn`, `minus`, `multiply`, `onesuperior`, `twosuperior`, `threesuperior`, `onehalf`, `onequarter`, `threequarters`, `franc`, `Gbreve`, `gbreve`, `Idotaccent`, `Scedilla`, `scedilla`, `Cacute`, `cacute`, `Ccaron`, `ccaron`, `dcroat` ]; var post$1 = Object.freeze({ __proto__: null, post }); var BASE = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.majorVersion = p22.uint16; this.minorVersion = p22.uint16; this.horizAxisOffset = p22.Offset16; this.vertAxisOffset = p22.Offset16; lazy$1( this, `horizAxis`, () => new AxisTable( { offset: dict.offset + this.horizAxisOffset }, dataview ) ); lazy$1( this, `vertAxis`, () => new AxisTable( { offset: dict.offset + this.vertAxisOffset }, dataview ) ); if (this.majorVersion === 1 && this.minorVersion === 1) { this.itemVarStoreOffset = p22.Offset32; lazy$1( this, `itemVarStore`, () => new AxisTable( { offset: dict.offset + this.itemVarStoreOffset }, dataview ) ); } } }; var AxisTable = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview, `AxisTable`); this.baseTagListOffset = p22.Offset16; this.baseScriptListOffset = p22.Offset16; lazy$1( this, `baseTagList`, () => new BaseTagListTable( { offset: dict.offset + this.baseTagListOffset }, dataview ) ); lazy$1( this, `baseScriptList`, () => new BaseScriptListTable( { offset: dict.offset + this.baseScriptListOffset }, dataview ) ); } }; var BaseTagListTable = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview, `BaseTagListTable`); this.baseTagCount = p22.uint16; this.baselineTags = [...new Array(this.baseTagCount)].map( (_) => p22.tag ); } }; var BaseScriptListTable = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview, `BaseScriptListTable`); this.baseScriptCount = p22.uint16; const recordStart = p22.currentPosition; lazy$1(this, `baseScriptRecords`, () => { p22.currentPosition = recordStart; return [...new Array(this.baseScriptCount)].map( (_) => new BaseScriptRecord(this.start, p22) ); }); } }; var BaseScriptRecord = class { constructor(baseScriptListTableStart, p22) { this.baseScriptTag = p22.tag; this.baseScriptOffset = p22.Offset16; lazy$1(this, `baseScriptTable`, () => { p22.currentPosition = baseScriptListTableStart + this.baseScriptOffset; return new BaseScriptTable(p22); }); } }; var BaseScriptTable = class { constructor(p22) { this.start = p22.currentPosition; this.baseValuesOffset = p22.Offset16; this.defaultMinMaxOffset = p22.Offset16; this.baseLangSysCount = p22.uint16; this.baseLangSysRecords = [...new Array(this.baseLangSysCount)].map( (_) => new BaseLangSysRecord(this.start, p22) ); lazy$1(this, `baseValues`, () => { p22.currentPosition = this.start + this.baseValuesOffset; return new BaseValuesTable(p22); }); lazy$1(this, `defaultMinMax`, () => { p22.currentPosition = this.start + this.defaultMinMaxOffset; return new MinMaxTable(p22); }); } }; var BaseLangSysRecord = class { constructor(baseScriptTableStart, p22) { this.baseLangSysTag = p22.tag; this.minMaxOffset = p22.Offset16; lazy$1(this, `minMax`, () => { p22.currentPosition = baseScriptTableStart + this.minMaxOffset; return new MinMaxTable(p22); }); } }; var BaseValuesTable = class { constructor(p22) { this.parser = p22; this.start = p22.currentPosition; this.defaultBaselineIndex = p22.uint16; this.baseCoordCount = p22.uint16; this.baseCoords = [...new Array(this.baseCoordCount)].map( (_) => p22.Offset16 ); } getTable(id) { this.parser.currentPosition = this.start + this.baseCoords[id]; return new BaseCoordTable(this.parser); } }; var MinMaxTable = class { constructor(p22) { this.minCoord = p22.Offset16; this.maxCoord = p22.Offset16; this.featMinMaxCount = p22.uint16; const recordStart = p22.currentPosition; lazy$1(this, `featMinMaxRecords`, () => { p22.currentPosition = recordStart; return [...new Array(this.featMinMaxCount)].map( (_) => new FeatMinMaxRecord(p22) ); }); } }; var FeatMinMaxRecord = class { constructor(p22) { this.featureTableTag = p22.tag; this.minCoord = p22.Offset16; this.maxCoord = p22.Offset16; } }; var BaseCoordTable = class { constructor(p22) { this.baseCoordFormat = p22.uint16; this.coordinate = p22.int16; if (this.baseCoordFormat === 2) { this.referenceGlyph = p22.uint16; this.baseCoordPoint = p22.uint16; } if (this.baseCoordFormat === 3) { this.deviceTable = p22.Offset16; } } }; var BASE$1 = Object.freeze({ __proto__: null, BASE }); var ClassDefinition = class { constructor(p22) { this.classFormat = p22.uint16; if (this.classFormat === 1) { this.startGlyphID = p22.uint16; this.glyphCount = p22.uint16; this.classValueArray = [...new Array(this.glyphCount)].map( (_) => p22.uint16 ); } if (this.classFormat === 2) { this.classRangeCount = p22.uint16; this.classRangeRecords = [ ...new Array(this.classRangeCount) ].map((_) => new ClassRangeRecord(p22)); } } }; var ClassRangeRecord = class { constructor(p22) { this.startGlyphID = p22.uint16; this.endGlyphID = p22.uint16; this.class = p22.uint16; } }; var CoverageTable = class extends ParsedData { constructor(p22) { super(p22); this.coverageFormat = p22.uint16; if (this.coverageFormat === 1) { this.glyphCount = p22.uint16; this.glyphArray = [...new Array(this.glyphCount)].map( (_) => p22.uint16 ); } if (this.coverageFormat === 2) { this.rangeCount = p22.uint16; this.rangeRecords = [...new Array(this.rangeCount)].map( (_) => new CoverageRangeRecord(p22) ); } } }; var CoverageRangeRecord = class { constructor(p22) { this.startGlyphID = p22.uint16; this.endGlyphID = p22.uint16; this.startCoverageIndex = p22.uint16; } }; var ItemVariationStoreTable = class { constructor(table, p22) { this.table = table; this.parser = p22; this.start = p22.currentPosition; this.format = p22.uint16; this.variationRegionListOffset = p22.Offset32; this.itemVariationDataCount = p22.uint16; this.itemVariationDataOffsets = [ ...new Array(this.itemVariationDataCount) ].map((_) => p22.Offset32); } }; var GDEF = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.majorVersion = p22.uint16; this.minorVersion = p22.uint16; this.glyphClassDefOffset = p22.Offset16; lazy$1(this, `glyphClassDefs`, () => { if (this.glyphClassDefOffset === 0) return void 0; p22.currentPosition = this.tableStart + this.glyphClassDefOffset; return new ClassDefinition(p22); }); this.attachListOffset = p22.Offset16; lazy$1(this, `attachList`, () => { if (this.attachListOffset === 0) return void 0; p22.currentPosition = this.tableStart + this.attachListOffset; return new AttachList(p22); }); this.ligCaretListOffset = p22.Offset16; lazy$1(this, `ligCaretList`, () => { if (this.ligCaretListOffset === 0) return void 0; p22.currentPosition = this.tableStart + this.ligCaretListOffset; return new LigCaretList(p22); }); this.markAttachClassDefOffset = p22.Offset16; lazy$1(this, `markAttachClassDef`, () => { if (this.markAttachClassDefOffset === 0) return void 0; p22.currentPosition = this.tableStart + this.markAttachClassDefOffset; return new ClassDefinition(p22); }); if (this.minorVersion >= 2) { this.markGlyphSetsDefOffset = p22.Offset16; lazy$1(this, `markGlyphSetsDef`, () => { if (this.markGlyphSetsDefOffset === 0) return void 0; p22.currentPosition = this.tableStart + this.markGlyphSetsDefOffset; return new MarkGlyphSetsTable(p22); }); } if (this.minorVersion === 3) { this.itemVarStoreOffset = p22.Offset32; lazy$1(this, `itemVarStore`, () => { if (this.itemVarStoreOffset === 0) return void 0; p22.currentPosition = this.tableStart + this.itemVarStoreOffset; return new ItemVariationStoreTable(p22); }); } } }; var AttachList = class extends ParsedData { constructor(p22) { super(p22); this.coverageOffset = p22.Offset16; this.glyphCount = p22.uint16; this.attachPointOffsets = [...new Array(this.glyphCount)].map( (_) => p22.Offset16 ); } getPoint(pointID) { this.parser.currentPosition = this.start + this.attachPointOffsets[pointID]; return new AttachPoint(this.parser); } }; var AttachPoint = class { constructor(p22) { this.pointCount = p22.uint16; this.pointIndices = [...new Array(this.pointCount)].map( (_) => p22.uint16 ); } }; var LigCaretList = class extends ParsedData { constructor(p22) { super(p22); this.coverageOffset = p22.Offset16; lazy$1(this, `coverage`, () => { p22.currentPosition = this.start + this.coverageOffset; return new CoverageTable(p22); }); this.ligGlyphCount = p22.uint16; this.ligGlyphOffsets = [...new Array(this.ligGlyphCount)].map( (_) => p22.Offset16 ); } getLigGlyph(ligGlyphID) { this.parser.currentPosition = this.start + this.ligGlyphOffsets[ligGlyphID]; return new LigGlyph(this.parser); } }; var LigGlyph = class extends ParsedData { constructor(p22) { super(p22); this.caretCount = p22.uint16; this.caretValueOffsets = [...new Array(this.caretCount)].map( (_) => p22.Offset16 ); } getCaretValue(caretID) { this.parser.currentPosition = this.start + this.caretValueOffsets[caretID]; return new CaretValue(this.parser); } }; var CaretValue = class { constructor(p22) { this.caretValueFormat = p22.uint16; if (this.caretValueFormat === 1) { this.coordinate = p22.int16; } if (this.caretValueFormat === 2) { this.caretValuePointIndex = p22.uint16; } if (this.caretValueFormat === 3) { this.coordinate = p22.int16; this.deviceOffset = p22.Offset16; } } }; var MarkGlyphSetsTable = class extends ParsedData { constructor(p22) { super(p22); this.markGlyphSetTableFormat = p22.uint16; this.markGlyphSetCount = p22.uint16; this.coverageOffsets = [...new Array(this.markGlyphSetCount)].map( (_) => p22.Offset32 ); } getMarkGlyphSet(markGlyphSetID) { this.parser.currentPosition = this.start + this.coverageOffsets[markGlyphSetID]; return new CoverageTable(this.parser); } }; var GDEF$1 = Object.freeze({ __proto__: null, GDEF }); var ScriptList = class extends ParsedData { static EMPTY = { scriptCount: 0, scriptRecords: [] }; constructor(p22) { super(p22); this.scriptCount = p22.uint16; this.scriptRecords = [...new Array(this.scriptCount)].map( (_) => new ScriptRecord(p22) ); } }; var ScriptRecord = class { constructor(p22) { this.scriptTag = p22.tag; this.scriptOffset = p22.Offset16; } }; var ScriptTable = class extends ParsedData { constructor(p22) { super(p22); this.defaultLangSys = p22.Offset16; this.langSysCount = p22.uint16; this.langSysRecords = [...new Array(this.langSysCount)].map( (_) => new LangSysRecord(p22) ); } }; var LangSysRecord = class { constructor(p22) { this.langSysTag = p22.tag; this.langSysOffset = p22.Offset16; } }; var LangSysTable = class { constructor(p22) { this.lookupOrder = p22.Offset16; this.requiredFeatureIndex = p22.uint16; this.featureIndexCount = p22.uint16; this.featureIndices = [...new Array(this.featureIndexCount)].map( (_) => p22.uint16 ); } }; var FeatureList = class extends ParsedData { static EMPTY = { featureCount: 0, featureRecords: [] }; constructor(p22) { super(p22); this.featureCount = p22.uint16; this.featureRecords = [...new Array(this.featureCount)].map( (_) => new FeatureRecord(p22) ); } }; var FeatureRecord = class { constructor(p22) { this.featureTag = p22.tag; this.featureOffset = p22.Offset16; } }; var FeatureTable = class extends ParsedData { constructor(p22) { super(p22); this.featureParams = p22.Offset16; this.lookupIndexCount = p22.uint16; this.lookupListIndices = [...new Array(this.lookupIndexCount)].map( (_) => p22.uint16 ); } getFeatureParams() { if (this.featureParams > 0) { const p22 = this.parser; p22.currentPosition = this.start + this.featureParams; const tag = this.featureTag; if (tag === `size`) return new Size(p22); if (tag.startsWith(`cc`)) return new CharacterVariant(p22); if (tag.startsWith(`ss`)) return new StylisticSet(p22); } } }; var CharacterVariant = class { constructor(p22) { this.format = p22.uint16; this.featUiLabelNameId = p22.uint16; this.featUiTooltipTextNameId = p22.uint16; this.sampleTextNameId = p22.uint16; this.numNamedParameters = p22.uint16; this.firstParamUiLabelNameId = p22.uint16; this.charCount = p22.uint16; this.character = [...new Array(this.charCount)].map( (_) => p22.uint24 ); } }; var Size = class { constructor(p22) { this.designSize = p22.uint16; this.subfamilyIdentifier = p22.uint16; this.subfamilyNameID = p22.uint16; this.smallEnd = p22.uint16; this.largeEnd = p22.uint16; } }; var StylisticSet = class { constructor(p22) { this.version = p22.uint16; this.UINameID = p22.uint16; } }; function undoCoverageOffsetParsing(instance) { instance.parser.currentPosition -= 2; delete instance.coverageOffset; delete instance.getCoverageTable; } var LookupType$1 = class extends ParsedData { constructor(p22) { super(p22); this.substFormat = p22.uint16; this.coverageOffset = p22.Offset16; } getCoverageTable() { let p22 = this.parser; p22.currentPosition = this.start + this.coverageOffset; return new CoverageTable(p22); } }; var SubstLookupRecord = class { constructor(p22) { this.glyphSequenceIndex = p22.uint16; this.lookupListIndex = p22.uint16; } }; var LookupType1$1 = class extends LookupType$1 { constructor(p22) { super(p22); this.deltaGlyphID = p22.int16; } }; var LookupType2$1 = class extends LookupType$1 { constructor(p22) { super(p22); this.sequenceCount = p22.uint16; this.sequenceOffsets = [...new Array(this.sequenceCount)].map( (_) => p22.Offset16 ); } getSequence(index2) { let p22 = this.parser; p22.currentPosition = this.start + this.sequenceOffsets[index2]; return new SequenceTable(p22); } }; var SequenceTable = class { constructor(p22) { this.glyphCount = p22.uint16; this.substituteGlyphIDs = [...new Array(this.glyphCount)].map( (_) => p22.uint16 ); } }; var LookupType3$1 = class extends LookupType$1 { constructor(p22) { super(p22); this.alternateSetCount = p22.uint16; this.alternateSetOffsets = [ ...new Array(this.alternateSetCount) ].map((_) => p22.Offset16); } getAlternateSet(index2) { let p22 = this.parser; p22.currentPosition = this.start + this.alternateSetOffsets[index2]; return new AlternateSetTable(p22); } }; var AlternateSetTable = class { constructor(p22) { this.glyphCount = p22.uint16; this.alternateGlyphIDs = [...new Array(this.glyphCount)].map( (_) => p22.uint16 ); } }; var LookupType4$1 = class extends LookupType$1 { constructor(p22) { super(p22); this.ligatureSetCount = p22.uint16; this.ligatureSetOffsets = [...new Array(this.ligatureSetCount)].map( (_) => p22.Offset16 ); } getLigatureSet(index2) { let p22 = this.parser; p22.currentPosition = this.start + this.ligatureSetOffsets[index2]; return new LigatureSetTable(p22); } }; var LigatureSetTable = class extends ParsedData { constructor(p22) { super(p22); this.ligatureCount = p22.uint16; this.ligatureOffsets = [...new Array(this.ligatureCount)].map( (_) => p22.Offset16 ); } getLigature(index2) { let p22 = this.parser; p22.currentPosition = this.start + this.ligatureOffsets[index2]; return new LigatureTable(p22); } }; var LigatureTable = class { constructor(p22) { this.ligatureGlyph = p22.uint16; this.componentCount = p22.uint16; this.componentGlyphIDs = [ ...new Array(this.componentCount - 1) ].map((_) => p22.uint16); } }; var LookupType5$1 = class extends LookupType$1 { constructor(p22) { super(p22); if (this.substFormat === 1) { this.subRuleSetCount = p22.uint16; this.subRuleSetOffsets = [ ...new Array(this.subRuleSetCount) ].map((_) => p22.Offset16); } if (this.substFormat === 2) { this.classDefOffset = p22.Offset16; this.subClassSetCount = p22.uint16; this.subClassSetOffsets = [ ...new Array(this.subClassSetCount) ].map((_) => p22.Offset16); } if (this.substFormat === 3) { undoCoverageOffsetParsing(this); this.glyphCount = p22.uint16; this.substitutionCount = p22.uint16; this.coverageOffsets = [...new Array(this.glyphCount)].map( (_) => p22.Offset16 ); this.substLookupRecords = [ ...new Array(this.substitutionCount) ].map((_) => new SubstLookupRecord(p22)); } } getSubRuleSet(index2) { if (this.substFormat !== 1) throw new Error( `lookup type 5.${this.substFormat} has no subrule sets.` ); let p22 = this.parser; p22.currentPosition = this.start + this.subRuleSetOffsets[index2]; return new SubRuleSetTable(p22); } getSubClassSet(index2) { if (this.substFormat !== 2) throw new Error( `lookup type 5.${this.substFormat} has no subclass sets.` ); let p22 = this.parser; p22.currentPosition = this.start + this.subClassSetOffsets[index2]; return new SubClassSetTable(p22); } getCoverageTable(index2) { if (this.substFormat !== 3 && !index2) return super.getCoverageTable(); if (!index2) throw new Error( `lookup type 5.${this.substFormat} requires an coverage table index.` ); let p22 = this.parser; p22.currentPosition = this.start + this.coverageOffsets[index2]; return new CoverageTable(p22); } }; var SubRuleSetTable = class extends ParsedData { constructor(p22) { super(p22); this.subRuleCount = p22.uint16; this.subRuleOffsets = [...new Array(this.subRuleCount)].map( (_) => p22.Offset16 ); } getSubRule(index2) { let p22 = this.parser; p22.currentPosition = this.start + this.subRuleOffsets[index2]; return new SubRuleTable(p22); } }; var SubRuleTable = class { constructor(p22) { this.glyphCount = p22.uint16; this.substitutionCount = p22.uint16; this.inputSequence = [...new Array(this.glyphCount - 1)].map( (_) => p22.uint16 ); this.substLookupRecords = [ ...new Array(this.substitutionCount) ].map((_) => new SubstLookupRecord(p22)); } }; var SubClassSetTable = class extends ParsedData { constructor(p22) { super(p22); this.subClassRuleCount = p22.uint16; this.subClassRuleOffsets = [ ...new Array(this.subClassRuleCount) ].map((_) => p22.Offset16); } getSubClass(index2) { let p22 = this.parser; p22.currentPosition = this.start + this.subClassRuleOffsets[index2]; return new SubClassRuleTable(p22); } }; var SubClassRuleTable = class extends SubRuleTable { constructor(p22) { super(p22); } }; var LookupType6$1 = class extends LookupType$1 { constructor(p22) { super(p22); if (this.substFormat === 1) { this.chainSubRuleSetCount = p22.uint16; this.chainSubRuleSetOffsets = [ ...new Array(this.chainSubRuleSetCount) ].map((_) => p22.Offset16); } if (this.substFormat === 2) { this.backtrackClassDefOffset = p22.Offset16; this.inputClassDefOffset = p22.Offset16; this.lookaheadClassDefOffset = p22.Offset16; this.chainSubClassSetCount = p22.uint16; this.chainSubClassSetOffsets = [ ...new Array(this.chainSubClassSetCount) ].map((_) => p22.Offset16); } if (this.substFormat === 3) { undoCoverageOffsetParsing(this); this.backtrackGlyphCount = p22.uint16; this.backtrackCoverageOffsets = [ ...new Array(this.backtrackGlyphCount) ].map((_) => p22.Offset16); this.inputGlyphCount = p22.uint16; this.inputCoverageOffsets = [ ...new Array(this.inputGlyphCount) ].map((_) => p22.Offset16); this.lookaheadGlyphCount = p22.uint16; this.lookaheadCoverageOffsets = [ ...new Array(this.lookaheadGlyphCount) ].map((_) => p22.Offset16); this.seqLookupCount = p22.uint16; this.seqLookupRecords = [ ...new Array(this.substitutionCount) ].map((_) => new SequenceLookupRecord(p22)); } } getChainSubRuleSet(index2) { if (this.substFormat !== 1) throw new Error( `lookup type 6.${this.substFormat} has no chainsubrule sets.` ); let p22 = this.parser; p22.currentPosition = this.start + this.chainSubRuleSetOffsets[index2]; return new ChainSubRuleSetTable(p22); } getChainSubClassSet(index2) { if (this.substFormat !== 2) throw new Error( `lookup type 6.${this.substFormat} has no chainsubclass sets.` ); let p22 = this.parser; p22.currentPosition = this.start + this.chainSubClassSetOffsets[index2]; return new ChainSubClassSetTable(p22); } getCoverageFromOffset(offset4) { if (this.substFormat !== 3) throw new Error( `lookup type 6.${this.substFormat} does not use contextual coverage offsets.` ); let p22 = this.parser; p22.currentPosition = this.start + offset4; return new CoverageTable(p22); } }; var ChainSubRuleSetTable = class extends ParsedData { constructor(p22) { super(p22); this.chainSubRuleCount = p22.uint16; this.chainSubRuleOffsets = [ ...new Array(this.chainSubRuleCount) ].map((_) => p22.Offset16); } getSubRule(index2) { let p22 = this.parser; p22.currentPosition = this.start + this.chainSubRuleOffsets[index2]; return new ChainSubRuleTable(p22); } }; var ChainSubRuleTable = class { constructor(p22) { this.backtrackGlyphCount = p22.uint16; this.backtrackSequence = [ ...new Array(this.backtrackGlyphCount) ].map((_) => p22.uint16); this.inputGlyphCount = p22.uint16; this.inputSequence = [...new Array(this.inputGlyphCount - 1)].map( (_) => p22.uint16 ); this.lookaheadGlyphCount = p22.uint16; this.lookAheadSequence = [ ...new Array(this.lookAheadGlyphCount) ].map((_) => p22.uint16); this.substitutionCount = p22.uint16; this.substLookupRecords = [...new Array(this.SubstCount)].map( (_) => new SubstLookupRecord(p22) ); } }; var ChainSubClassSetTable = class extends ParsedData { constructor(p22) { super(p22); this.chainSubClassRuleCount = p22.uint16; this.chainSubClassRuleOffsets = [ ...new Array(this.chainSubClassRuleCount) ].map((_) => p22.Offset16); } getSubClass(index2) { let p22 = this.parser; p22.currentPosition = this.start + this.chainSubRuleOffsets[index2]; return new ChainSubClassRuleTable(p22); } }; var ChainSubClassRuleTable = class { constructor(p22) { this.backtrackGlyphCount = p22.uint16; this.backtrackSequence = [ ...new Array(this.backtrackGlyphCount) ].map((_) => p22.uint16); this.inputGlyphCount = p22.uint16; this.inputSequence = [...new Array(this.inputGlyphCount - 1)].map( (_) => p22.uint16 ); this.lookaheadGlyphCount = p22.uint16; this.lookAheadSequence = [ ...new Array(this.lookAheadGlyphCount) ].map((_) => p22.uint16); this.substitutionCount = p22.uint16; this.substLookupRecords = [ ...new Array(this.substitutionCount) ].map((_) => new SequenceLookupRecord(p22)); } }; var SequenceLookupRecord = class extends ParsedData { constructor(p22) { super(p22); this.sequenceIndex = p22.uint16; this.lookupListIndex = p22.uint16; } }; var LookupType7$1 = class extends ParsedData { constructor(p22) { super(p22); this.substFormat = p22.uint16; this.extensionLookupType = p22.uint16; this.extensionOffset = p22.Offset32; } }; var LookupType8$1 = class extends LookupType$1 { constructor(p22) { super(p22); this.backtrackGlyphCount = p22.uint16; this.backtrackCoverageOffsets = [ ...new Array(this.backtrackGlyphCount) ].map((_) => p22.Offset16); this.lookaheadGlyphCount = p22.uint16; this.lookaheadCoverageOffsets = [ new Array(this.lookaheadGlyphCount) ].map((_) => p22.Offset16); this.glyphCount = p22.uint16; this.substituteGlyphIDs = [...new Array(this.glyphCount)].map( (_) => p22.uint16 ); } }; var GSUBtables = { buildSubtable: function(type, p22) { const subtable = new [ void 0, LookupType1$1, LookupType2$1, LookupType3$1, LookupType4$1, LookupType5$1, LookupType6$1, LookupType7$1, LookupType8$1 ][type](p22); subtable.type = type; return subtable; } }; var LookupType = class extends ParsedData { constructor(p22) { super(p22); } }; var LookupType1 = class extends LookupType { constructor(p22) { super(p22); console.log(`lookup type 1`); } }; var LookupType2 = class extends LookupType { constructor(p22) { super(p22); console.log(`lookup type 2`); } }; var LookupType3 = class extends LookupType { constructor(p22) { super(p22); console.log(`lookup type 3`); } }; var LookupType4 = class extends LookupType { constructor(p22) { super(p22); console.log(`lookup type 4`); } }; var LookupType5 = class extends LookupType { constructor(p22) { super(p22); console.log(`lookup type 5`); } }; var LookupType6 = class extends LookupType { constructor(p22) { super(p22); console.log(`lookup type 6`); } }; var LookupType7 = class extends LookupType { constructor(p22) { super(p22); console.log(`lookup type 7`); } }; var LookupType8 = class extends LookupType { constructor(p22) { super(p22); console.log(`lookup type 8`); } }; var LookupType9 = class extends LookupType { constructor(p22) { super(p22); console.log(`lookup type 9`); } }; var GPOStables = { buildSubtable: function(type, p22) { const subtable = new [ void 0, LookupType1, LookupType2, LookupType3, LookupType4, LookupType5, LookupType6, LookupType7, LookupType8, LookupType9 ][type](p22); subtable.type = type; return subtable; } }; var LookupList = class extends ParsedData { static EMPTY = { lookupCount: 0, lookups: [] }; constructor(p22) { super(p22); this.lookupCount = p22.uint16; this.lookups = [...new Array(this.lookupCount)].map( (_) => p22.Offset16 ); } }; var LookupTable = class extends ParsedData { constructor(p22, type) { super(p22); this.ctType = type; this.lookupType = p22.uint16; this.lookupFlag = p22.uint16; this.subTableCount = p22.uint16; this.subtableOffsets = [...new Array(this.subTableCount)].map( (_) => p22.Offset16 ); this.markFilteringSet = p22.uint16; } get rightToLeft() { return this.lookupFlag & true; } get ignoreBaseGlyphs() { return this.lookupFlag & true; } get ignoreLigatures() { return this.lookupFlag & true; } get ignoreMarks() { return this.lookupFlag & true; } get useMarkFilteringSet() { return this.lookupFlag & true; } get markAttachmentType() { return this.lookupFlag & true; } getSubTable(index2) { const builder = this.ctType === `GSUB` ? GSUBtables : GPOStables; this.parser.currentPosition = this.start + this.subtableOffsets[index2]; return builder.buildSubtable(this.lookupType, this.parser); } }; var CommonLayoutTable = class extends SimpleTable { constructor(dict, dataview, name2) { const { p: p22, tableStart } = super(dict, dataview, name2); this.majorVersion = p22.uint16; this.minorVersion = p22.uint16; this.scriptListOffset = p22.Offset16; this.featureListOffset = p22.Offset16; this.lookupListOffset = p22.Offset16; if (this.majorVersion === 1 && this.minorVersion === 1) { this.featureVariationsOffset = p22.Offset32; } const no_content = !(this.scriptListOffset || this.featureListOffset || this.lookupListOffset); lazy$1(this, `scriptList`, () => { if (no_content) return ScriptList.EMPTY; p22.currentPosition = tableStart + this.scriptListOffset; return new ScriptList(p22); }); lazy$1(this, `featureList`, () => { if (no_content) return FeatureList.EMPTY; p22.currentPosition = tableStart + this.featureListOffset; return new FeatureList(p22); }); lazy$1(this, `lookupList`, () => { if (no_content) return LookupList.EMPTY; p22.currentPosition = tableStart + this.lookupListOffset; return new LookupList(p22); }); if (this.featureVariationsOffset) { lazy$1(this, `featureVariations`, () => { if (no_content) return FeatureVariations.EMPTY; p22.currentPosition = tableStart + this.featureVariationsOffset; return new FeatureVariations(p22); }); } } getSupportedScripts() { return this.scriptList.scriptRecords.map((r3) => r3.scriptTag); } getScriptTable(scriptTag) { let record = this.scriptList.scriptRecords.find( (r3) => r3.scriptTag === scriptTag ); this.parser.currentPosition = this.scriptList.start + record.scriptOffset; let table = new ScriptTable(this.parser); table.scriptTag = scriptTag; return table; } ensureScriptTable(arg) { if (typeof arg === "string") { return this.getScriptTable(arg); } return arg; } getSupportedLangSys(scriptTable) { scriptTable = this.ensureScriptTable(scriptTable); const hasDefault = scriptTable.defaultLangSys !== 0; const supported = scriptTable.langSysRecords.map( (l2) => l2.langSysTag ); if (hasDefault) supported.unshift(`dflt`); return supported; } getDefaultLangSysTable(scriptTable) { scriptTable = this.ensureScriptTable(scriptTable); let offset4 = scriptTable.defaultLangSys; if (offset4 !== 0) { this.parser.currentPosition = scriptTable.start + offset4; let table = new LangSysTable(this.parser); table.langSysTag = ``; table.defaultForScript = scriptTable.scriptTag; return table; } } getLangSysTable(scriptTable, langSysTag = `dflt`) { if (langSysTag === `dflt`) return this.getDefaultLangSysTable(scriptTable); scriptTable = this.ensureScriptTable(scriptTable); let record = scriptTable.langSysRecords.find( (l2) => l2.langSysTag === langSysTag ); this.parser.currentPosition = scriptTable.start + record.langSysOffset; let table = new LangSysTable(this.parser); table.langSysTag = langSysTag; return table; } getFeatures(langSysTable) { return langSysTable.featureIndices.map( (index2) => this.getFeature(index2) ); } getFeature(indexOrTag) { let record; if (parseInt(indexOrTag) == indexOrTag) { record = this.featureList.featureRecords[indexOrTag]; } else { record = this.featureList.featureRecords.find( (f2) => f2.featureTag === indexOrTag ); } if (!record) return; this.parser.currentPosition = this.featureList.start + record.featureOffset; let table = new FeatureTable(this.parser); table.featureTag = record.featureTag; return table; } getLookups(featureTable) { return featureTable.lookupListIndices.map( (index2) => this.getLookup(index2) ); } getLookup(lookupIndex, type) { let lookupOffset = this.lookupList.lookups[lookupIndex]; this.parser.currentPosition = this.lookupList.start + lookupOffset; return new LookupTable(this.parser, type); } }; var GSUB = class extends CommonLayoutTable { constructor(dict, dataview) { super(dict, dataview, `GSUB`); } getLookup(lookupIndex) { return super.getLookup(lookupIndex, `GSUB`); } }; var GSUB$1 = Object.freeze({ __proto__: null, GSUB }); var GPOS = class extends CommonLayoutTable { constructor(dict, dataview) { super(dict, dataview, `GPOS`); } getLookup(lookupIndex) { return super.getLookup(lookupIndex, `GPOS`); } }; var GPOS$1 = Object.freeze({ __proto__: null, GPOS }); var SVG6 = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.uint16; this.offsetToSVGDocumentList = p22.Offset32; p22.currentPosition = this.tableStart + this.offsetToSVGDocumentList; this.documentList = new SVGDocumentList(p22); } }; var SVGDocumentList = class extends ParsedData { constructor(p22) { super(p22); this.numEntries = p22.uint16; this.documentRecords = [...new Array(this.numEntries)].map( (_) => new SVGDocumentRecord(p22) ); } getDocument(documentID) { let record = this.documentRecords[documentID]; if (!record) return ""; let offset4 = this.start + record.svgDocOffset; this.parser.currentPosition = offset4; return this.parser.readBytes(record.svgDocLength); } getDocumentForGlyph(glyphID) { let id = this.documentRecords.findIndex( (d2) => d2.startGlyphID <= glyphID && glyphID <= d2.endGlyphID ); if (id === -1) return ""; return this.getDocument(id); } }; var SVGDocumentRecord = class { constructor(p22) { this.startGlyphID = p22.uint16; this.endGlyphID = p22.uint16; this.svgDocOffset = p22.Offset32; this.svgDocLength = p22.uint32; } }; var SVG$1 = Object.freeze({ __proto__: null, SVG: SVG6 }); var fvar = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.majorVersion = p22.uint16; this.minorVersion = p22.uint16; this.axesArrayOffset = p22.Offset16; p22.uint16; this.axisCount = p22.uint16; this.axisSize = p22.uint16; this.instanceCount = p22.uint16; this.instanceSize = p22.uint16; const axisStart = this.tableStart + this.axesArrayOffset; lazy$1(this, `axes`, () => { p22.currentPosition = axisStart; return [...new Array(this.axisCount)].map( (_) => new VariationAxisRecord(p22) ); }); const instanceStart = axisStart + this.axisCount * this.axisSize; lazy$1(this, `instances`, () => { let instances = []; for (let i2 = 0; i2 < this.instanceCount; i2++) { p22.currentPosition = instanceStart + i2 * this.instanceSize; instances.push( new InstanceRecord(p22, this.axisCount, this.instanceSize) ); } return instances; }); } getSupportedAxes() { return this.axes.map((a2) => a2.tag); } getAxis(name2) { return this.axes.find((a2) => a2.tag === name2); } }; var VariationAxisRecord = class { constructor(p22) { this.tag = p22.tag; this.minValue = p22.fixed; this.defaultValue = p22.fixed; this.maxValue = p22.fixed; this.flags = p22.flags(16); this.axisNameID = p22.uint16; } }; var InstanceRecord = class { constructor(p22, axisCount, size4) { let start = p22.currentPosition; this.subfamilyNameID = p22.uint16; p22.uint16; this.coordinates = [...new Array(axisCount)].map( (_) => p22.fixed ); if (p22.currentPosition - start < size4) { this.postScriptNameID = p22.uint16; } } }; var fvar$1 = Object.freeze({ __proto__: null, fvar }); var cvt = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); const n2 = dict.length / 2; lazy$1( this, `items`, () => [...new Array(n2)].map((_) => p22.fword) ); } }; var cvt$1 = Object.freeze({ __proto__: null, cvt }); var fpgm = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); lazy$1( this, `instructions`, () => [...new Array(dict.length)].map((_) => p22.uint8) ); } }; var fpgm$1 = Object.freeze({ __proto__: null, fpgm }); var gasp = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.uint16; this.numRanges = p22.uint16; const getter = () => [...new Array(this.numRanges)].map( (_) => new GASPRange(p22) ); lazy$1(this, `gaspRanges`, getter); } }; var GASPRange = class { constructor(p22) { this.rangeMaxPPEM = p22.uint16; this.rangeGaspBehavior = p22.uint16; } }; var gasp$1 = Object.freeze({ __proto__: null, gasp }); var glyf = class extends SimpleTable { constructor(dict, dataview) { super(dict, dataview); } getGlyphData(offset4, length) { this.parser.currentPosition = this.tableStart + offset4; return this.parser.readBytes(length); } }; var glyf$1 = Object.freeze({ __proto__: null, glyf }); var loca = class extends SimpleTable { constructor(dict, dataview, tables) { const { p: p22 } = super(dict, dataview); const n2 = tables.maxp.numGlyphs + 1; if (tables.head.indexToLocFormat === 0) { this.x2 = true; lazy$1( this, `offsets`, () => [...new Array(n2)].map((_) => p22.Offset16) ); } else { lazy$1( this, `offsets`, () => [...new Array(n2)].map((_) => p22.Offset32) ); } } getGlyphDataOffsetAndLength(glyphID) { let offset4 = this.offsets[glyphID] * this.x2 ? 2 : 1; let nextOffset = this.offsets[glyphID + 1] * this.x2 ? 2 : 1; return { offset: offset4, length: nextOffset - offset4 }; } }; var loca$1 = Object.freeze({ __proto__: null, loca }); var prep = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); lazy$1( this, `instructions`, () => [...new Array(dict.length)].map((_) => p22.uint8) ); } }; var prep$1 = Object.freeze({ __proto__: null, prep }); var CFF = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); lazy$1(this, `data`, () => p22.readBytes()); } }; var CFF$1 = Object.freeze({ __proto__: null, CFF }); var CFF2 = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); lazy$1(this, `data`, () => p22.readBytes()); } }; var CFF2$1 = Object.freeze({ __proto__: null, CFF2 }); var VORG = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.majorVersion = p22.uint16; this.minorVersion = p22.uint16; this.defaultVertOriginY = p22.int16; this.numVertOriginYMetrics = p22.uint16; lazy$1( this, `vertORiginYMetrics`, () => [...new Array(this.numVertOriginYMetrics)].map( (_) => new VertOriginYMetric(p22) ) ); } }; var VertOriginYMetric = class { constructor(p22) { this.glyphIndex = p22.uint16; this.vertOriginY = p22.int16; } }; var VORG$1 = Object.freeze({ __proto__: null, VORG }); var BitmapSize = class { constructor(p22) { this.indexSubTableArrayOffset = p22.Offset32; this.indexTablesSize = p22.uint32; this.numberofIndexSubTables = p22.uint32; this.colorRef = p22.uint32; this.hori = new SbitLineMetrics(p22); this.vert = new SbitLineMetrics(p22); this.startGlyphIndex = p22.uint16; this.endGlyphIndex = p22.uint16; this.ppemX = p22.uint8; this.ppemY = p22.uint8; this.bitDepth = p22.uint8; this.flags = p22.int8; } }; var BitmapScale = class { constructor(p22) { this.hori = new SbitLineMetrics(p22); this.vert = new SbitLineMetrics(p22); this.ppemX = p22.uint8; this.ppemY = p22.uint8; this.substitutePpemX = p22.uint8; this.substitutePpemY = p22.uint8; } }; var SbitLineMetrics = class { constructor(p22) { this.ascender = p22.int8; this.descender = p22.int8; this.widthMax = p22.uint8; this.caretSlopeNumerator = p22.int8; this.caretSlopeDenominator = p22.int8; this.caretOffset = p22.int8; this.minOriginSB = p22.int8; this.minAdvanceSB = p22.int8; this.maxBeforeBL = p22.int8; this.minAfterBL = p22.int8; this.pad1 = p22.int8; this.pad2 = p22.int8; } }; var EBLC = class extends SimpleTable { constructor(dict, dataview, name2) { const { p: p22 } = super(dict, dataview, name2); this.majorVersion = p22.uint16; this.minorVersion = p22.uint16; this.numSizes = p22.uint32; lazy$1( this, `bitMapSizes`, () => [...new Array(this.numSizes)].map( (_) => new BitmapSize(p22) ) ); } }; var EBLC$1 = Object.freeze({ __proto__: null, EBLC }); var EBDT = class extends SimpleTable { constructor(dict, dataview, name2) { const { p: p22 } = super(dict, dataview, name2); this.majorVersion = p22.uint16; this.minorVersion = p22.uint16; } }; var EBDT$1 = Object.freeze({ __proto__: null, EBDT }); var EBSC = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.majorVersion = p22.uint16; this.minorVersion = p22.uint16; this.numSizes = p22.uint32; lazy$1( this, `bitmapScales`, () => [...new Array(this.numSizes)].map( (_) => new BitmapScale(p22) ) ); } }; var EBSC$1 = Object.freeze({ __proto__: null, EBSC }); var CBLC = class extends EBLC { constructor(dict, dataview) { super(dict, dataview, `CBLC`); } }; var CBLC$1 = Object.freeze({ __proto__: null, CBLC }); var CBDT = class extends EBDT { constructor(dict, dataview) { super(dict, dataview, `CBDT`); } }; var CBDT$1 = Object.freeze({ __proto__: null, CBDT }); var sbix = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.uint16; this.flags = p22.flags(16); this.numStrikes = p22.uint32; lazy$1( this, `strikeOffsets`, () => [...new Array(this.numStrikes)].map((_) => p22.Offset32) ); } }; var sbix$1 = Object.freeze({ __proto__: null, sbix }); var COLR = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.uint16; this.numBaseGlyphRecords = p22.uint16; this.baseGlyphRecordsOffset = p22.Offset32; this.layerRecordsOffset = p22.Offset32; this.numLayerRecords = p22.uint16; } getBaseGlyphRecord(glyphID) { let start = this.tableStart + this.baseGlyphRecordsOffset; this.parser.currentPosition = start; let first = new BaseGlyphRecord(this.parser); let firstID = first.gID; let end = this.tableStart + this.layerRecordsOffset - 6; this.parser.currentPosition = end; let last = new BaseGlyphRecord(this.parser); let lastID = last.gID; if (firstID === glyphID) return first; if (lastID === glyphID) return last; while (true) { if (start === end) break; let mid = start + (end - start) / 12; this.parser.currentPosition = mid; let middle = new BaseGlyphRecord(this.parser); let midID = middle.gID; if (midID === glyphID) return middle; else if (midID > glyphID) { end = mid; } else if (midID < glyphID) { start = mid; } } return false; } getLayers(glyphID) { let record = this.getBaseGlyphRecord(glyphID); this.parser.currentPosition = this.tableStart + this.layerRecordsOffset + 4 * record.firstLayerIndex; return [...new Array(record.numLayers)].map( (_) => new LayerRecord(p) ); } }; var BaseGlyphRecord = class { constructor(p22) { this.gID = p22.uint16; this.firstLayerIndex = p22.uint16; this.numLayers = p22.uint16; } }; var LayerRecord = class { constructor(p22) { this.gID = p22.uint16; this.paletteIndex = p22.uint16; } }; var COLR$1 = Object.freeze({ __proto__: null, COLR }); var CPAL = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.uint16; this.numPaletteEntries = p22.uint16; const numPalettes = this.numPalettes = p22.uint16; this.numColorRecords = p22.uint16; this.offsetFirstColorRecord = p22.Offset32; this.colorRecordIndices = [...new Array(this.numPalettes)].map( (_) => p22.uint16 ); lazy$1(this, `colorRecords`, () => { p22.currentPosition = this.tableStart + this.offsetFirstColorRecord; return [...new Array(this.numColorRecords)].map( (_) => new ColorRecord(p22) ); }); if (this.version === 1) { this.offsetPaletteTypeArray = p22.Offset32; this.offsetPaletteLabelArray = p22.Offset32; this.offsetPaletteEntryLabelArray = p22.Offset32; lazy$1(this, `paletteTypeArray`, () => { p22.currentPosition = this.tableStart + this.offsetPaletteTypeArray; return new PaletteTypeArray(p22, numPalettes); }); lazy$1(this, `paletteLabelArray`, () => { p22.currentPosition = this.tableStart + this.offsetPaletteLabelArray; return new PaletteLabelsArray(p22, numPalettes); }); lazy$1(this, `paletteEntryLabelArray`, () => { p22.currentPosition = this.tableStart + this.offsetPaletteEntryLabelArray; return new PaletteEntryLabelArray(p22, numPalettes); }); } } }; var ColorRecord = class { constructor(p22) { this.blue = p22.uint8; this.green = p22.uint8; this.red = p22.uint8; this.alpha = p22.uint8; } }; var PaletteTypeArray = class { constructor(p22, numPalettes) { this.paletteTypes = [...new Array(numPalettes)].map( (_) => p22.uint32 ); } }; var PaletteLabelsArray = class { constructor(p22, numPalettes) { this.paletteLabels = [...new Array(numPalettes)].map( (_) => p22.uint16 ); } }; var PaletteEntryLabelArray = class { constructor(p22, numPalettes) { this.paletteEntryLabels = [...new Array(numPalettes)].map( (_) => p22.uint16 ); } }; var CPAL$1 = Object.freeze({ __proto__: null, CPAL }); var DSIG = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.uint32; this.numSignatures = p22.uint16; this.flags = p22.uint16; this.signatureRecords = [...new Array(this.numSignatures)].map( (_) => new SignatureRecord(p22) ); } getData(signatureID) { const record = this.signatureRecords[signatureID]; this.parser.currentPosition = this.tableStart + record.offset; return new SignatureBlockFormat1(this.parser); } }; var SignatureRecord = class { constructor(p22) { this.format = p22.uint32; this.length = p22.uint32; this.offset = p22.Offset32; } }; var SignatureBlockFormat1 = class { constructor(p22) { p22.uint16; p22.uint16; this.signatureLength = p22.uint32; this.signature = p22.readBytes(this.signatureLength); } }; var DSIG$1 = Object.freeze({ __proto__: null, DSIG }); var hdmx = class extends SimpleTable { constructor(dict, dataview, tables) { const { p: p22 } = super(dict, dataview); const numGlyphs = tables.hmtx.numGlyphs; this.version = p22.uint16; this.numRecords = p22.int16; this.sizeDeviceRecord = p22.int32; this.records = [...new Array(numRecords)].map( (_) => new DeviceRecord(p22, numGlyphs) ); } }; var DeviceRecord = class { constructor(p22, numGlyphs) { this.pixelSize = p22.uint8; this.maxWidth = p22.uint8; this.widths = p22.readBytes(numGlyphs); } }; var hdmx$1 = Object.freeze({ __proto__: null, hdmx }); var kern = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.uint16; this.nTables = p22.uint16; lazy$1(this, `tables`, () => { let offset4 = this.tableStart + 4; const tables = []; for (let i2 = 0; i2 < this.nTables; i2++) { p22.currentPosition = offset4; let subtable = new KernSubTable(p22); tables.push(subtable); offset4 += subtable; } return tables; }); } }; var KernSubTable = class { constructor(p22) { this.version = p22.uint16; this.length = p22.uint16; this.coverage = p22.flags(8); this.format = p22.uint8; if (this.format === 0) { this.nPairs = p22.uint16; this.searchRange = p22.uint16; this.entrySelector = p22.uint16; this.rangeShift = p22.uint16; lazy$1( this, `pairs`, () => [...new Array(this.nPairs)].map((_) => new Pair(p22)) ); } if (this.format === 2) { console.warn( `Kern subtable format 2 is not supported: this parser currently only parses universal table data.` ); } } get horizontal() { return this.coverage[0]; } get minimum() { return this.coverage[1]; } get crossstream() { return this.coverage[2]; } get override() { return this.coverage[3]; } }; var Pair = class { constructor(p22) { this.left = p22.uint16; this.right = p22.uint16; this.value = p22.fword; } }; var kern$1 = Object.freeze({ __proto__: null, kern }); var LTSH = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.uint16; this.numGlyphs = p22.uint16; this.yPels = p22.readBytes(this.numGlyphs); } }; var LTSH$1 = Object.freeze({ __proto__: null, LTSH }); var MERG = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.uint16; this.mergeClassCount = p22.uint16; this.mergeDataOffset = p22.Offset16; this.classDefCount = p22.uint16; this.offsetToClassDefOffsets = p22.Offset16; lazy$1( this, `mergeEntryMatrix`, () => [...new Array(this.mergeClassCount)].map( (_) => p22.readBytes(this.mergeClassCount) ) ); console.warn(`Full MERG parsing is currently not supported.`); console.warn( `If you need this table parsed, please file an issue, or better yet, a PR.` ); } }; var MERG$1 = Object.freeze({ __proto__: null, MERG }); var meta = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.uint32; this.flags = p22.uint32; p22.uint32; this.dataMapsCount = p22.uint32; this.dataMaps = [...new Array(this.dataMapsCount)].map( (_) => new DataMap(this.tableStart, p22) ); } }; var DataMap = class { constructor(tableStart, p22) { this.tableStart = tableStart; this.parser = p22; this.tag = p22.tag; this.dataOffset = p22.Offset32; this.dataLength = p22.uint32; } getData() { this.parser.currentField = this.tableStart + this.dataOffset; return this.parser.readBytes(this.dataLength); } }; var meta$1 = Object.freeze({ __proto__: null, meta }); var PCLT = class extends SimpleTable { constructor(dict, dataview) { super(dict, dataview); console.warn( `This font uses a PCLT table, which is currently not supported by this parser.` ); console.warn( `If you need this table parsed, please file an issue, or better yet, a PR.` ); } }; var PCLT$1 = Object.freeze({ __proto__: null, PCLT }); var VDMX = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.uint16; this.numRecs = p22.uint16; this.numRatios = p22.uint16; this.ratRanges = [...new Array(this.numRatios)].map( (_) => new RatioRange(p22) ); this.offsets = [...new Array(this.numRatios)].map( (_) => p22.Offset16 ); this.VDMXGroups = [...new Array(this.numRecs)].map( (_) => new VDMXGroup(p22) ); } }; var RatioRange = class { constructor(p22) { this.bCharSet = p22.uint8; this.xRatio = p22.uint8; this.yStartRatio = p22.uint8; this.yEndRatio = p22.uint8; } }; var VDMXGroup = class { constructor(p22) { this.recs = p22.uint16; this.startsz = p22.uint8; this.endsz = p22.uint8; this.records = [...new Array(this.recs)].map( (_) => new vTable(p22) ); } }; var vTable = class { constructor(p22) { this.yPelHeight = p22.uint16; this.yMax = p22.int16; this.yMin = p22.int16; } }; var VDMX$1 = Object.freeze({ __proto__: null, VDMX }); var vhea = class extends SimpleTable { constructor(dict, dataview) { const { p: p22 } = super(dict, dataview); this.version = p22.fixed; this.ascent = this.vertTypoAscender = p22.int16; this.descent = this.vertTypoDescender = p22.int16; this.lineGap = this.vertTypoLineGap = p22.int16; this.advanceHeightMax = p22.int16; this.minTopSideBearing = p22.int16; this.minBottomSideBearing = p22.int16; this.yMaxExtent = p22.int16; this.caretSlopeRise = p22.int16; this.caretSlopeRun = p22.int16; this.caretOffset = p22.int16; this.reserved = p22.int16; this.reserved = p22.int16; this.reserved = p22.int16; this.reserved = p22.int16; this.metricDataFormat = p22.int16; this.numOfLongVerMetrics = p22.uint16; p22.verifyLength(); } }; var vhea$1 = Object.freeze({ __proto__: null, vhea }); var vmtx = class extends SimpleTable { constructor(dict, dataview, tables) { super(dict, dataview); const numOfLongVerMetrics = tables.vhea.numOfLongVerMetrics; const numGlyphs = tables.maxp.numGlyphs; const metricsStart = p.currentPosition; lazy(this, `vMetrics`, () => { p.currentPosition = metricsStart; return [...new Array(numOfLongVerMetrics)].map( (_) => new LongVertMetric(p.uint16, p.int16) ); }); if (numOfLongVerMetrics < numGlyphs) { const tsbStart = metricsStart + numOfLongVerMetrics * 4; lazy(this, `topSideBearings`, () => { p.currentPosition = tsbStart; return [...new Array(numGlyphs - numOfLongVerMetrics)].map( (_) => p.int16 ); }); } } }; var LongVertMetric = class { constructor(h2, b2) { this.advanceHeight = h2; this.topSideBearing = b2; } }; var vmtx$1 = Object.freeze({ __proto__: null, vmtx }); // packages/global-styles-ui/build-module/font-library/utils/make-families-from-faces.mjs var import_components27 = __toESM(require_components(), 1); var { kebabCase: kebabCase2 } = unlock3(import_components27.privateApis); function makeFamiliesFromFaces(fontFaces) { const fontFamiliesObject = fontFaces.reduce( (acc, item) => { if (!acc[item.fontFamily]) { acc[item.fontFamily] = { name: item.fontFamily, fontFamily: item.fontFamily, slug: kebabCase2(item.fontFamily.toLowerCase()), fontFace: [] }; } acc[item.fontFamily].fontFace.push(item); return acc; }, {} ); return Object.values(fontFamiliesObject); } // packages/global-styles-ui/build-module/font-library/upload-fonts.mjs var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1); function UploadFonts() { const { installFonts } = (0, import_element36.useContext)(FontLibraryContext); const [isUploading, setIsUploading] = (0, import_element36.useState)(false); const [notice, setNotice] = (0, import_element36.useState)(null); const handleDropZone = (files) => { handleFilesUpload(files); }; const onFilesUpload = (event) => { handleFilesUpload(event.target.files); }; const handleFilesUpload = async (files) => { if (!files) { return; } setNotice(null); setIsUploading(true); const uniqueFilenames = /* @__PURE__ */ new Set(); const selectedFiles = [...files]; let hasInvalidFiles = false; const checkFilesPromises = selectedFiles.map(async (file) => { const isFont = await isFontFile(file); if (!isFont) { hasInvalidFiles = true; return null; } if (uniqueFilenames.has(file.name)) { return null; } const fileExtension = (((file.name ?? "").split(".") ?? []).pop() ?? "").toLowerCase(); if (ALLOWED_FILE_EXTENSIONS.includes(fileExtension)) { uniqueFilenames.add(file.name); return file; } return null; }); const allowedFiles = (await Promise.all(checkFilesPromises)).filter((file) => null !== file); if (allowedFiles.length > 0) { loadFiles(allowedFiles); } else { const message = hasInvalidFiles ? (0, import_i18n17.__)("Sorry, you are not allowed to upload this file type.") : (0, import_i18n17.__)("No fonts found to install."); setNotice({ type: "error", message }); setIsUploading(false); } }; const loadFiles = async (files) => { const fontFacesLoaded = await Promise.all( files.map(async (fontFile) => { const fontFaceData = await getFontFaceMetadata(fontFile); await loadFontFaceInBrowser( fontFaceData, fontFaceData.file, "all" ); return fontFaceData; }) ); handleInstall(fontFacesLoaded); }; async function isFontFile(file) { const font2 = new Font("Uploaded Font"); try { const buffer = await readFileAsArrayBuffer(file); await font2.fromDataBuffer(buffer, "font"); return true; } catch { return false; } } async function readFileAsArrayBuffer(file) { return new Promise((resolve, reject) => { const reader = new window.FileReader(); reader.readAsArrayBuffer(file); reader.onload = () => resolve(reader.result); reader.onerror = reject; }); } const getFontFaceMetadata = async (fontFile) => { const buffer = await readFileAsArrayBuffer(fontFile); const fontObj = new Font("Uploaded Font"); fontObj.fromDataBuffer(buffer, fontFile.name); const onloadEvent = await new Promise( (resolve) => fontObj.onload = resolve ); const font2 = onloadEvent.detail.font; const { name: name2 } = font2.opentype.tables; const fontName = name2.get(16) || name2.get(1); const isItalic = name2.get(2).toLowerCase().includes("italic"); const fontWeight = font2.opentype.tables["OS/2"].usWeightClass || "normal"; const isVariable = !!font2.opentype.tables.fvar; const weightAxis = isVariable && font2.opentype.tables.fvar.axes.find( ({ tag }) => tag === "wght" ); const weightRange = weightAxis ? `${weightAxis.minValue} ${weightAxis.maxValue}` : null; return { file: fontFile, fontFamily: fontName, fontStyle: isItalic ? "italic" : "normal", fontWeight: weightRange || fontWeight }; }; const handleInstall = async (fontFaces) => { const fontFamilies = makeFamiliesFromFaces(fontFaces); try { await installFonts(fontFamilies); setNotice({ type: "success", message: (0, import_i18n17.__)("Fonts were installed successfully.") }); } catch (error) { const typedError = error; setNotice({ type: "error", message: typedError.message, errors: typedError?.installationErrors }); } setIsUploading(false); }; return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "font-library__tabpanel-layout", children: [ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_components28.DropZone, { onFilesDrop: handleDropZone }), /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_components28.__experimentalVStack, { className: "font-library__local-fonts", justify: "start", children: [ notice && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)( import_components28.Notice, { status: notice.type, __unstableHTML: true, onRemove: () => setNotice(null), children: [ notice.message, notice.errors && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("ul", { children: notice.errors.map((error, index2) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("li", { children: error }, index2)) }) ] } ), isUploading && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_components28.FlexItem, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "font-library__upload-area", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_components28.ProgressBar, {}) }) }), !isUploading && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)( import_components28.FormFileUpload, { accept: ALLOWED_FILE_EXTENSIONS.map( (ext) => `.${ext}` ).join(","), multiple: true, onChange: onFilesUpload, render: ({ openFileDialog }) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)( import_components28.Button, { __next40pxDefaultSize: true, className: "font-library__upload-area", onClick: openFileDialog, children: (0, import_i18n17.__)("Upload font") } ) } ), /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_components28.__experimentalText, { className: "font-library__upload-area__text", children: (0, import_i18n17.__)( "Uploaded fonts appear in your library and can be used in your theme. Supported formats: .ttf, .otf, .woff, and .woff2." ) }) ] }) ] }); } var upload_fonts_default = UploadFonts; // packages/global-styles-ui/build-module/font-library/modal.mjs var import_jsx_runtime54 = __toESM(require_jsx_runtime(), 1); var { Tabs } = unlock3(import_components29.privateApis); var DEFAULT_TAB = { id: "installed-fonts", title: (0, import_i18n18._x)("Library", "Font library") }; var UPLOAD_TAB = { id: "upload-fonts", title: (0, import_i18n18._x)("Upload", "noun") }; // packages/global-styles-ui/build-module/font-family-item.mjs var import_i18n19 = __toESM(require_i18n(), 1); var import_components30 = __toESM(require_components(), 1); var import_element37 = __toESM(require_element(), 1); var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/font-families.mjs var import_jsx_runtime56 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/font-sizes/font-sizes-count.mjs var import_i18n21 = __toESM(require_i18n(), 1); var import_components32 = __toESM(require_components(), 1); var import_jsx_runtime57 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/screen-typography.mjs var import_jsx_runtime58 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/screen-typography-element.mjs var import_i18n23 = __toESM(require_i18n(), 1); var import_components34 = __toESM(require_components(), 1); var import_element40 = __toESM(require_element(), 1); // packages/global-styles-ui/build-module/typography-panel.mjs var import_block_editor6 = __toESM(require_block_editor(), 1); var import_jsx_runtime59 = __toESM(require_jsx_runtime(), 1); var { useSettingsForBlockElement: useSettingsForBlockElement4, TypographyPanel: StylesTypographyPanel2 } = unlock3(import_block_editor6.privateApis); // packages/global-styles-ui/build-module/typography-preview.mjs var import_jsx_runtime60 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/screen-typography-element.mjs var import_jsx_runtime61 = __toESM(require_jsx_runtime(), 1); var elements = { text: { description: (0, import_i18n23.__)("Manage the fonts used on the site."), title: (0, import_i18n23.__)("Text") }, link: { description: (0, import_i18n23.__)("Manage the fonts and typography used on the links."), title: (0, import_i18n23.__)("Links") }, heading: { description: (0, import_i18n23.__)("Manage the fonts and typography used on headings."), title: (0, import_i18n23.__)("Headings") }, caption: { description: (0, import_i18n23.__)("Manage the fonts and typography used on captions."), title: (0, import_i18n23.__)("Captions") }, button: { description: (0, import_i18n23.__)("Manage the fonts and typography used on buttons."), title: (0, import_i18n23.__)("Buttons") } }; // packages/global-styles-ui/build-module/screen-colors.mjs var import_i18n25 = __toESM(require_i18n(), 1); var import_components37 = __toESM(require_components(), 1); var import_block_editor7 = __toESM(require_block_editor(), 1); // packages/global-styles-ui/build-module/palette.mjs var import_components36 = __toESM(require_components(), 1); var import_i18n24 = __toESM(require_i18n(), 1); var import_element41 = __toESM(require_element(), 1); // packages/global-styles-ui/build-module/color-indicator-wrapper.mjs var import_components35 = __toESM(require_components(), 1); var import_jsx_runtime62 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/palette.mjs var import_jsx_runtime63 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/screen-colors.mjs var import_jsx_runtime64 = __toESM(require_jsx_runtime(), 1); var { useSettingsForBlockElement: useSettingsForBlockElement5, ColorPanel: StylesColorPanel2 } = unlock3( import_block_editor7.privateApis ); // packages/global-styles-ui/build-module/screen-color-palette.mjs var import_i18n28 = __toESM(require_i18n(), 1); // packages/global-styles-ui/build-module/color-palette-panel.mjs var import_compose4 = __toESM(require_compose(), 1); var import_components40 = __toESM(require_components(), 1); var import_i18n26 = __toESM(require_i18n(), 1); // packages/global-styles-ui/build-module/variations/variations-color.mjs var import_components39 = __toESM(require_components(), 1); // packages/global-styles-ui/build-module/preview-colors.mjs var import_components38 = __toESM(require_components(), 1); // packages/global-styles-ui/build-module/preset-colors.mjs var import_jsx_runtime65 = __toESM(require_jsx_runtime(), 1); function PresetColors() { const { paletteColors } = useStylesPreviewColors(); return paletteColors.slice(0, 4).map(({ slug, color }, index2) => /* @__PURE__ */ (0, import_jsx_runtime65.jsx)( "div", { style: { flexGrow: 1, height: "100%", background: color } }, `${slug}-${index2}` )); } // packages/global-styles-ui/build-module/preview-colors.mjs var import_jsx_runtime66 = __toESM(require_jsx_runtime(), 1); var firstFrameVariants2 = { start: { scale: 1, opacity: 1 }, hover: { scale: 0, opacity: 0 } }; var StylesPreviewColors = ({ label, isFocused, withHoverView }) => { return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)( preview_wrapper_default, { label, isFocused, withHoverView, children: ({ key }) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)( import_components38.__unstableMotion.div, { variants: firstFrameVariants2, style: { height: "100%", overflow: "hidden" }, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)( import_components38.__experimentalHStack, { spacing: 0, justify: "center", style: { height: "100%", overflow: "hidden" }, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(PresetColors, {}) } ) }, key ) } ); }; var preview_colors_default = StylesPreviewColors; // packages/global-styles-ui/build-module/variations/variations-color.mjs var import_jsx_runtime67 = __toESM(require_jsx_runtime(), 1); var propertiesToFilter2 = ["color"]; function ColorVariations({ title, gap = 2 }) { const colorVariations = useCurrentMergeThemeStyleVariationsWithUserConfig(propertiesToFilter2); if (colorVariations?.length <= 1) { return null; } return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_components39.__experimentalVStack, { spacing: 3, children: [ title && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Subtitle, { level: 3, children: title }), /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_components39.__experimentalGrid, { gap, children: colorVariations.map((variation, index2) => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)( Variation, { variation, isPill: true, properties: propertiesToFilter2, showTooltip: true, children: () => /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(preview_colors_default, {}) }, index2 )) }) ] }); } // packages/global-styles-ui/build-module/color-palette-panel.mjs var import_jsx_runtime68 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/gradients-palette-panel.mjs var import_compose5 = __toESM(require_compose(), 1); var import_components41 = __toESM(require_components(), 1); var import_i18n27 = __toESM(require_i18n(), 1); var import_jsx_runtime69 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/screen-color-palette.mjs var import_jsx_runtime70 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/screen-background.mjs var import_i18n29 = __toESM(require_i18n(), 1); var import_block_editor9 = __toESM(require_block_editor(), 1); var import_components42 = __toESM(require_components(), 1); // packages/global-styles-ui/build-module/background-panel.mjs var import_block_editor8 = __toESM(require_block_editor(), 1); var import_jsx_runtime71 = __toESM(require_jsx_runtime(), 1); var { BackgroundPanel: StylesBackgroundPanel2 } = unlock3( import_block_editor8.privateApis ); // packages/global-styles-ui/build-module/screen-background.mjs var import_jsx_runtime72 = __toESM(require_jsx_runtime(), 1); var { useHasBackgroundPanel: useHasBackgroundPanel4 } = unlock3(import_block_editor9.privateApis); // packages/global-styles-ui/build-module/shadows-panel.mjs var import_components44 = __toESM(require_components(), 1); var import_i18n31 = __toESM(require_i18n(), 1); var import_element42 = __toESM(require_element(), 1); // packages/global-styles-ui/build-module/confirm-reset-shadow-dialog.mjs var import_components43 = __toESM(require_components(), 1); var import_i18n30 = __toESM(require_i18n(), 1); var import_jsx_runtime73 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/shadows-panel.mjs var import_jsx_runtime74 = __toESM(require_jsx_runtime(), 1); var { Menu } = unlock3(import_components44.privateApis); // packages/global-styles-ui/build-module/shadows-edit-panel.mjs var import_components45 = __toESM(require_components(), 1); var import_i18n32 = __toESM(require_i18n(), 1); var import_element43 = __toESM(require_element(), 1); var import_jsx_runtime75 = __toESM(require_jsx_runtime(), 1); var { Menu: Menu2 } = unlock3(import_components45.privateApis); var customShadowMenuItems = [ { label: (0, import_i18n32.__)("Rename"), action: "rename" }, { label: (0, import_i18n32.__)("Delete"), action: "delete" } ]; var presetShadowMenuItems = [ { label: (0, import_i18n32.__)("Reset"), action: "reset" } ]; // packages/global-styles-ui/build-module/screen-shadows.mjs var import_jsx_runtime76 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/screen-layout.mjs var import_i18n33 = __toESM(require_i18n(), 1); var import_block_editor11 = __toESM(require_block_editor(), 1); // packages/global-styles-ui/build-module/dimensions-panel.mjs var import_block_editor10 = __toESM(require_block_editor(), 1); var import_element44 = __toESM(require_element(), 1); var import_jsx_runtime77 = __toESM(require_jsx_runtime(), 1); var { useSettingsForBlockElement: useSettingsForBlockElement6, DimensionsPanel: StylesDimensionsPanel2 } = unlock3(import_block_editor10.privateApis); // packages/global-styles-ui/build-module/screen-layout.mjs var import_jsx_runtime78 = __toESM(require_jsx_runtime(), 1); var { useHasDimensionsPanel: useHasDimensionsPanel4, useSettingsForBlockElement: useSettingsForBlockElement7 } = unlock3( import_block_editor11.privateApis ); // packages/global-styles-ui/build-module/screen-style-variations.mjs var import_components48 = __toESM(require_components(), 1); var import_i18n36 = __toESM(require_i18n(), 1); // packages/global-styles-ui/build-module/style-variations-content.mjs var import_i18n35 = __toESM(require_i18n(), 1); var import_components47 = __toESM(require_components(), 1); // packages/global-styles-ui/build-module/style-variations-container.mjs var import_core_data9 = __toESM(require_core_data(), 1); var import_data9 = __toESM(require_data(), 1); var import_element45 = __toESM(require_element(), 1); var import_components46 = __toESM(require_components(), 1); var import_i18n34 = __toESM(require_i18n(), 1); var import_jsx_runtime79 = __toESM(require_jsx_runtime(), 1); function StyleVariationsContainer({ gap = 2 }) { const { user } = (0, import_element45.useContext)(GlobalStylesContext); const userStyles = user?.styles; const variations = (0, import_data9.useSelect)((select) => { const result = select( import_core_data9.store ).__experimentalGetCurrentThemeGlobalStylesVariations(); return Array.isArray(result) ? result : void 0; }, []); const fullStyleVariations = variations?.filter( (variation) => { return !isVariationWithProperties(variation, ["color"]) && !isVariationWithProperties(variation, [ "typography", "spacing" ]); } ); const themeVariations = (0, import_element45.useMemo)(() => { const withEmptyVariation = [ { title: (0, import_i18n34.__)("Default"), settings: {}, styles: {} }, ...fullStyleVariations ?? [] ]; return [ ...withEmptyVariation.map((variation) => { const blockStyles = variation?.styles?.blocks ? { ...variation.styles.blocks } : {}; if (userStyles?.blocks) { Object.keys(userStyles.blocks).forEach((blockName) => { if (userStyles.blocks?.[blockName]?.css) { const variationBlockStyles = blockStyles[blockName] || {}; const customCSS = { css: `${blockStyles[blockName]?.css || ""} ${userStyles.blocks?.[blockName]?.css?.trim() || ""}` }; blockStyles[blockName] = { ...variationBlockStyles, ...customCSS }; } }); } const css = userStyles?.css || variation.styles?.css ? { css: `${variation.styles?.css || ""} ${userStyles?.css || ""}` } : {}; const blocks = Object.keys(blockStyles).length > 0 ? { blocks: blockStyles } : {}; const styles = { ...variation.styles, ...css, ...blocks }; return { ...variation, settings: variation.settings ?? {}, styles }; }) ]; }, [fullStyleVariations, userStyles?.blocks, userStyles?.css]); if (!fullStyleVariations || fullStyleVariations.length < 1) { return null; } return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)( import_components46.__experimentalGrid, { columns: 2, className: "global-styles-ui-style-variations-container", gap, children: themeVariations.map( (variation, index2) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Variation, { variation, children: (isFocused) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)( preview_styles_default, { label: variation?.title, withHoverView: true, isFocused, variation } ) }, index2) ) } ); } var style_variations_container_default = StyleVariationsContainer; // packages/global-styles-ui/build-module/style-variations-content.mjs var import_jsx_runtime80 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/screen-style-variations.mjs var import_jsx_runtime81 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/screen-css.mjs var import_i18n37 = __toESM(require_i18n(), 1); var import_components49 = __toESM(require_components(), 1); var import_block_editor12 = __toESM(require_block_editor(), 1); var import_jsx_runtime82 = __toESM(require_jsx_runtime(), 1); var { AdvancedPanel: StylesAdvancedPanel2 } = unlock3(import_block_editor12.privateApis); // packages/global-styles-ui/build-module/screen-revisions/index.mjs var import_i18n40 = __toESM(require_i18n(), 1); var import_components52 = __toESM(require_components(), 1); var import_element47 = __toESM(require_element(), 1); // packages/global-styles-ui/build-module/screen-revisions/use-global-styles-revisions.mjs var import_data10 = __toESM(require_data(), 1); var import_core_data10 = __toESM(require_core_data(), 1); var import_element46 = __toESM(require_element(), 1); // packages/global-styles-ui/build-module/screen-revisions/revisions-buttons.mjs var import_i18n38 = __toESM(require_i18n(), 1); var import_components50 = __toESM(require_components(), 1); var import_date = __toESM(require_date(), 1); var import_core_data11 = __toESM(require_core_data(), 1); var import_data11 = __toESM(require_data(), 1); var import_keycodes2 = __toESM(require_keycodes(), 1); var import_jsx_runtime83 = __toESM(require_jsx_runtime(), 1); var { Badge: WCBadge } = unlock3(import_components50.privateApis); var DAY_IN_MILLISECONDS = 60 * 60 * 1e3 * 24; // packages/global-styles-ui/build-module/pagination/index.mjs var import_components51 = __toESM(require_components(), 1); var import_i18n39 = __toESM(require_i18n(), 1); var import_jsx_runtime84 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/screen-revisions/index.mjs var import_jsx_runtime85 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/font-sizes/font-sizes.mjs var import_i18n42 = __toESM(require_i18n(), 1); var import_components54 = __toESM(require_components(), 1); var import_element48 = __toESM(require_element(), 1); // packages/global-styles-ui/build-module/font-sizes/confirm-reset-font-sizes-dialog.mjs var import_components53 = __toESM(require_components(), 1); var import_i18n41 = __toESM(require_i18n(), 1); var import_jsx_runtime86 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/font-sizes/font-sizes.mjs var import_jsx_runtime87 = __toESM(require_jsx_runtime(), 1); var { Menu: Menu3 } = unlock3(import_components54.privateApis); // packages/global-styles-ui/build-module/font-sizes/font-size.mjs var import_i18n46 = __toESM(require_i18n(), 1); var import_components58 = __toESM(require_components(), 1); var import_element50 = __toESM(require_element(), 1); // packages/global-styles-ui/build-module/font-sizes/font-size-preview.mjs var import_block_editor13 = __toESM(require_block_editor(), 1); var import_i18n43 = __toESM(require_i18n(), 1); var import_jsx_runtime88 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/font-sizes/confirm-delete-font-size-dialog.mjs var import_components55 = __toESM(require_components(), 1); var import_i18n44 = __toESM(require_i18n(), 1); var import_jsx_runtime89 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/font-sizes/rename-font-size-dialog.mjs var import_components56 = __toESM(require_components(), 1); var import_i18n45 = __toESM(require_i18n(), 1); var import_element49 = __toESM(require_element(), 1); var import_jsx_runtime90 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/size-control/index.mjs var import_components57 = __toESM(require_components(), 1); var import_jsx_runtime91 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/font-sizes/font-size.mjs var import_jsx_runtime92 = __toESM(require_jsx_runtime(), 1); var { Menu: Menu4 } = unlock3(import_components58.privateApis); // packages/global-styles-ui/build-module/global-styles-ui.mjs var import_jsx_runtime93 = __toESM(require_jsx_runtime(), 1); // packages/global-styles-ui/build-module/with-global-styles-provider.mjs var import_jsx_runtime94 = __toESM(require_jsx_runtime(), 1); function withGlobalStylesProvider(Component) { return function WrappedComponent({ value, baseValue, onChange, ...props }) { return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)( GlobalStylesProvider, { value, baseValue, onChange, children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Component, { ...props }) } ); }; } // packages/global-styles-ui/build-module/style-variations.mjs var StyleVariations = withGlobalStylesProvider(style_variations_container_default); // packages/global-styles-ui/build-module/color-variations.mjs var ColorVariations2 = withGlobalStylesProvider(ColorVariations); // packages/global-styles-ui/build-module/typography-variations.mjs var TypographyVariations2 = withGlobalStylesProvider(TypographyVariations); // packages/global-styles-ui/build-module/font-library/font-library.mjs var import_jsx_runtime95 = __toESM(require_jsx_runtime(), 1); function FontLibrary({ value, baseValue, onChange, activeTab = "installed-fonts" }) { let content; switch (activeTab) { case "upload-fonts": content = /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(upload_fonts_default, {}); break; case "installed-fonts": content = /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(installed_fonts_default, {}); break; default: content = /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(font_collection_default, { slug: activeTab }); } return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)( GlobalStylesProvider, { value, baseValue, onChange, children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(context_default, { children: content }) } ); } // routes/font-list/lock-unlock.ts var import_private_apis5 = __toESM(require_private_apis()); var { unlock: unlock4 } = (0, import_private_apis5.__dangerousOptInToUnstableAPIsOnlyForCoreModules)( "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.", "@wordpress/font-list-route" ); // routes/font-list/style.scss if (typeof document !== "undefined" && true && !document.head.querySelector("style[data-wp-hash='911f938962']")) { const style = document.createElement("style"); style.setAttribute("data-wp-hash", "911f938962"); style.appendChild(document.createTextNode('@media (min-width:782px){.font-library-modal.font-library-modal{width:65vw}}.font-library-modal .components-modal__header{border-bottom:none}.font-library-modal .components-modal__content{margin-bottom:90px;padding:0}.font-library-modal .font-library__subtitle{font-size:11px;font-weight:var(--wpds-typography-font-weight-emphasis,600);text-transform:uppercase}.font-library-modal__tab-panel{height:calc(100% - 50px)}.font-library__tabpanel-layout{display:flex;flex-direction:column;height:100%}.font-library__tabpanel-layout>div{flex-grow:1}.font-library__tabpanel-layout .font-library__loading{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;left:0;padding-top:124px;position:absolute;top:0;width:100%}.font-library__footer,.font-library__tabpanel-layout .components-navigator-screen{padding:24px;width:100%}.font-library__footer{background-color:#fff;border-top:1px solid #ddd;bottom:0;box-sizing:border-box;flex-grow:0!important;flex-shrink:0;height:90px;position:absolute}.font-library__page-selection{font-size:11px;font-weight:var(--wpds-typography-font-weight-emphasis,600);text-transform:uppercase}@media (min-width:600px){.font-library__page-selection .font-library__page-selection-trigger{font-size:11px!important;font-weight:var(--wpds-typography-font-weight-emphasis,600)}}.font-library__fonts-title{font-size:11px;font-weight:var(--wpds-typography-font-weight-emphasis,600);margin-bottom:0;margin-top:0;text-transform:uppercase}.font-library__fonts-list{list-style:none;margin-bottom:0;margin-top:0;padding:0}.font-library__fonts-list-item{margin-bottom:0}.font-library__font-card{border:1px solid #ddd;box-sizing:border-box;height:auto!important;margin-top:-1px;padding:16px;width:100%}.font-library__font-card:hover{background-color:#f0f0f0}.font-library__font-card:focus{position:relative}.font-library__font-card .font-library__font-card__name{font-weight:700}.font-library__font-card .font-library__font-card__count{color:#757575}.font-library__font-card .font-library__font-variant_demo-image{display:block;height:24px;width:auto}.font-library__font-card .font-library__font-variant_demo-text{flex-shrink:0;white-space:nowrap}@media not (prefers-reduced-motion){.font-library__font-card .font-library__font-variant_demo-text{transition:opacity .3s ease-in-out}}.font-library-modal__tablist-container{background:#fff;border-bottom:1px solid #ddd;position:sticky;top:0;z-index:1}.font-library__upload-area{align-items:center;display:flex;height:256px!important;justify-content:center;width:100%}button.font-library__upload-area{background-color:#f0f0f0}.font-library__local-fonts{margin:24px auto;width:80%}.font-library__local-fonts .font-library__upload-area__text{color:#757575}.font-library__google-fonts-confirm{align-items:center;display:flex;justify-content:center;margin-top:64px}.font-library__google-fonts-confirm p{line-height:1.4}.font-library__google-fonts-confirm h2{font-size:1.2rem;font-weight:400}.font-library__google-fonts-confirm .components-card{padding:16px;width:400px}.font-library__google-fonts-confirm .components-button{justify-content:center;width:100%}.font-library__select-all{padding:16px 16px 16px 17px}.font-library__select-all .components-checkbox-control__label{padding-left:16px}.global-styles-ui-pagination .components-button.is-tertiary{height:32px;justify-content:center;width:32px}.global-styles-ui-screen-revisions__revisions-list{flex-grow:1;list-style:none;margin:0 16px 16px}.global-styles-ui-screen-revisions__revisions-list li{margin-bottom:0}.global-styles-ui-screen-revisions__revision-item{cursor:var(--wpds-cursor-control,pointer);display:flex;flex-direction:column;position:relative}.global-styles-ui-screen-revisions__revision-item[role=option]:active,.global-styles-ui-screen-revisions__revision-item[role=option]:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.global-styles-ui-screen-revisions__revision-item:hover{background:rgba(var(--wp-admin-theme-color--rgb),.04)}.global-styles-ui-screen-revisions__revision-item:hover .global-styles-ui-screen-revisions__date{color:var(--wp-admin-theme-color)}.global-styles-ui-screen-revisions__revision-item:after,.global-styles-ui-screen-revisions__revision-item:before{content:"\\a";display:block;position:absolute}.global-styles-ui-screen-revisions__revision-item:before{background:#ddd;border:4px solid transparent;border-radius:50%;height:8px;left:17px;top:18px;transform:translate(-50%,-50%);width:8px;z-index:1}.global-styles-ui-screen-revisions__revision-item[aria-selected=true]{background:rgba(var(--wp-admin-theme-color--rgb),.04);border-radius:2px;color:var(--wp-admin-theme-color);outline:3px solid transparent;outline-offset:-2px}.global-styles-ui-screen-revisions__revision-item[aria-selected=true] .global-styles-ui-screen-revisions__date{color:var(--wp-admin-theme-color)}.global-styles-ui-screen-revisions__revision-item[aria-selected=true]:before{background:var(--wp-admin-theme-color)}.global-styles-ui-screen-revisions__revision-item[aria-selected=true] .global-styles-ui-screen-revisions__changes>li,.global-styles-ui-screen-revisions__revision-item[aria-selected=true] .global-styles-ui-screen-revisions__meta{color:#1e1e1e}.global-styles-ui-screen-revisions__revision-item:after{border:.5px solid #ddd;height:100%;left:16px;top:0;width:0}.global-styles-ui-screen-revisions__revision-item:first-child:after{top:18px}.global-styles-ui-screen-revisions__revision-item:last-child:after{height:18px}.global-styles-ui-screen-revisions__revision-item-wrapper{display:block;padding:12px 12px 4px 40px}.global-styles-ui-screen-revisions__active-badge,.global-styles-ui-screen-revisions__apply-button.is-primary{align-self:flex-start;margin:0 12px 12px 40px}.global-styles-ui-screen-revisions__changes,.global-styles-ui-screen-revisions__meta{color:#757575;font-size:12px}.global-styles-ui-screen-revisions__description{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.global-styles-ui-screen-revisions__description .global-styles-ui-screen-revisions__date{font-size:12px;font-weight:var(--wpds-typography-font-weight-emphasis,600);text-transform:uppercase}.global-styles-ui-screen-revisions__meta{align-items:flex-start;display:flex;justify-content:start;margin-bottom:4px;text-align:left;width:100%}.global-styles-ui-screen-revisions__meta img{border-radius:100%;height:16px;margin-right:8px;width:16px}.global-styles-ui-screen-revisions__loading{margin:24px auto!important}.global-styles-ui-screen-revisions__changes{line-height:1.4;list-style:disc;margin-left:12px;text-align:left}.global-styles-ui-screen-revisions__changes li{margin-bottom:4px}.global-styles-ui-screen-revisions__pagination.global-styles-ui-screen-revisions__pagination{gap:2px;justify-content:space-between}.global-styles-ui-screen-revisions__pagination.global-styles-ui-screen-revisions__pagination .edit-site-pagination__total{height:1px;left:-1000px;margin:-1px;overflow:hidden;position:absolute}.global-styles-ui-screen-revisions__pagination.global-styles-ui-screen-revisions__pagination .components-text{font-size:12px;will-change:opacity}.global-styles-ui-screen-revisions__pagination.global-styles-ui-screen-revisions__pagination .components-button.is-tertiary{color:#1e1e1e}.global-styles-ui-screen-revisions__pagination.global-styles-ui-screen-revisions__pagination .components-button.is-tertiary:disabled,.global-styles-ui-screen-revisions__pagination.global-styles-ui-screen-revisions__pagination .components-button.is-tertiary[aria-disabled=true]{color:#949494}.global-styles-ui-screen-revisions__footer{background:#fff;border-top:1px solid #ddd;bottom:0;box-sizing:border-box;height:56px;min-width:100%;padding:12px;position:sticky;z-index:1}.global-styles-ui-variations_item{box-sizing:border-box;cursor:var(--wpds-cursor-control,pointer)}.global-styles-ui-variations_item .global-styles-ui-variations_item-preview{border-radius:2px;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px;overflow:hidden;position:relative}@media not (prefers-reduced-motion){.global-styles-ui-variations_item .global-styles-ui-variations_item-preview{transition:outline .1s linear}}.global-styles-ui-variations_item .global-styles-ui-variations_item-preview.is-pill{height:32px}.global-styles-ui-variations_item .global-styles-ui-variations_item-preview.is-pill .block-editor-iframe__scale-container{overflow:hidden}.global-styles-ui-variations_item:not(.is-active):hover .global-styles-ui-variations_item-preview{outline-color:rgba(0,0,0,.3)}.global-styles-ui-variations_item.is-active .global-styles-ui-variations_item-preview,.global-styles-ui-variations_item:focus-visible .global-styles-ui-variations_item-preview{outline-color:#1e1e1e;outline-offset:1px;outline-width:var(--wp-admin-border-width-focus)}.global-styles-ui-variations_item:focus-visible .global-styles-ui-variations_item-preview{outline-color:var(--wp-admin-theme-color)}.global-styles-ui-preview__wrapper{display:block;max-width:100%;width:100%}.global-styles-ui-preview__wrapper.is-hoverable{cursor:var(--wpds-cursor-control,pointer)}.global-styles-ui-typography-preview{align-items:center;background:#f0f0f0;border-radius:2px;display:flex;justify-content:center;margin-bottom:20px;min-height:100px;overflow:hidden}.global-styles-ui-font-size__item{line-break:anywhere;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-styles-ui-font-size__item-value{color:#757575}.global-styles-ui-screen-typography__indicator{align-items:center;border-radius:2px;display:flex!important;font-size:14px;height:24px;justify-content:center;width:24px}.global-styles-ui-block-types-search{margin-bottom:10px;padding:0 16px}.global-styles-ui-screen-typography__font-variants-count{color:#757575}.global-styles-ui-font-families__manage-fonts{justify-content:center}.global-styles-ui-screen .color-block-support-panel{border-top:none;padding-left:0;padding-right:0;padding-top:0;row-gap:12px}.global-styles-ui-header{line-height:1.9!important;margin-bottom:0!important}.global-styles-ui-subtitle{font-size:11px!important;font-weight:var(--wpds-typography-font-weight-emphasis,600)!important;margin-bottom:0!important;text-transform:uppercase}.global-styles-ui-section-title{color:#2f2f2f;font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:1.2;margin:0;padding:16px 16px 0}.global-styles-ui-icon-with-current-color{fill:currentColor}.global-styles-ui__color-indicator-wrapper{flex-shrink:0;height:24px}.global-styles-ui__shadows-panel__options-container,.global-styles-ui__typography-panel__options-container{height:24px}.global-styles-ui__block-preview-panel{border:1px solid #ddd;border-radius:2px;overflow:hidden;position:relative;width:100%}.global-styles-ui__shadow-preview-panel{background-image:repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0),repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0);background-position:0 0,8px 8px;background-size:16px 16px;border:1px solid #ddd;border-radius:2px;height:144px;overflow:auto}.global-styles-ui__shadow-preview-panel .global-styles-ui__shadow-preview-block{background-color:#fff;border:1px solid #ddd;border-radius:2px;height:60px;width:60%}.global-styles-ui__shadow-editor__dropdown-content{width:280px}.global-styles-ui__shadow-editor-panel{margin-bottom:4px}.global-styles-ui__shadow-editor__dropdown{position:relative;width:100%}.global-styles-ui__shadow-editor__dropdown-toggle{border-radius:inherit;height:auto;padding-bottom:8px;padding-top:8px;text-align:left;width:100%}.global-styles-ui__shadow-editor__dropdown-toggle.is-open{background:#f0f0f0;color:var(--wp-admin-theme-color)}.global-styles-ui__shadow-editor__remove-button{opacity:0;position:absolute;right:8px;top:8px}.global-styles-ui__shadow-editor__remove-button.global-styles-ui__shadow-editor__remove-button{border:none}.global-styles-ui__shadow-editor__dropdown-toggle:hover+.global-styles-ui__shadow-editor__remove-button,.global-styles-ui__shadow-editor__remove-button:focus,.global-styles-ui__shadow-editor__remove-button:hover{opacity:1}@media (hover:none){.global-styles-ui__shadow-editor__remove-button{opacity:1}}.global-styles-ui-screen-css{display:flex;flex:1 1 auto;flex-direction:column;margin:16px}.global-styles-ui-screen-css .block-editor-global-styles-advanced-panel{flex:1 1 auto}.global-styles-ui-screen-css .block-editor-global-styles-advanced-panel__custom-css-input,.global-styles-ui-screen-css .block-editor-global-styles-advanced-panel__custom-css-input .components-base-control__field{display:flex;flex:1 1 auto;flex-direction:column}.global-styles-ui-screen-css .block-editor-global-styles-advanced-panel__custom-css-input textarea{flex:1 1 auto}.global-styles-ui-screen-css-help-link{display:inline-block;margin-top:8px}.global-styles-ui-screen-variations{border-top:1px solid #ddd;margin-top:16px}.global-styles-ui-screen-variations>*{margin:24px 16px}.global-styles-ui-sidebar__navigator-provider{height:100%}.global-styles-ui-sidebar__navigator-screen{display:flex;flex-direction:column;height:100%}.global-styles-ui-color-palette__tablist-container{border-bottom:1px solid #ddd}.global-styles-ui-color-palette__tablist{margin-bottom:-1px}.global-styles-ui-sidebar__navigator-screen .single-column{grid-column:span 1}.global-styles-ui-screen-root.global-styles-ui-screen-root,.global-styles-ui-screen-style-variations.global-styles-ui-screen-style-variations{background:unset;color:inherit}.global-styles-ui-sidebar__panel .block-editor-block-icon svg{fill:currentColor}.global-styles-ui-screen-root__active-style-tile.global-styles-ui-screen-root__active-style-tile,.global-styles-ui-screen-root__active-style-tile.global-styles-ui-screen-root__active-style-tile .global-styles-ui-screen-root__active-style-tile-preview{border-radius:2px}.global-styles-ui-screen-root__active-style-tile-preview{clip-path:border-box}.global-styles-ui-color-palette-panel,.global-styles-ui-gradient-palette-panel{padding:16px}.font-library-page__tablist{border-bottom:1px solid #f0f0f0;padding:0 24px}.font-library-page__tab-panel{flex-grow:1;max-height:calc(100% - 110px);overflow:auto}.font-library-page:has(.font-library__footer) .font-library-page__tab-panel{max-height:calc(100% - 198px)}')); document.head.appendChild(style); } // routes/font-list/stage.tsx var { Tabs: Tabs2 } = unlock4(import_components60.privateApis); var { useGlobalStyles } = unlock4(import_editor.privateApis); function FontLibraryPage() { const { records: collections = [] } = (0, import_core_data12.useEntityRecords)("root", "fontCollection", { _fields: "slug,name,description" }); const [activeTab, setActiveTab] = (0, import_element52.useState)("installed-fonts"); const { base, user, setUser, isReady } = useGlobalStyles(); const canUserCreate = (0, import_data13.useSelect)((select) => { return select(import_core_data12.store).canUser("create", { kind: "postType", name: "wp_font_family" }); }, []); if (!isReady) { return null; } const tabs = [ { id: "installed-fonts", title: (0, import_i18n47._x)("Library", "Font library") } ]; if (canUserCreate) { tabs.push({ id: "upload-fonts", title: (0, import_i18n47._x)("Upload", "noun") }); tabs.push( ...(collections || []).map(({ slug, name: name2 }) => ({ id: slug, title: collections && collections.length === 1 && slug === "google-fonts" ? (0, import_i18n47.__)("Install Fonts") : name2 })) ); } return /* @__PURE__ */ React.createElement(page_default, { title: (0, import_i18n47.__)("Fonts"), className: "font-library-page" }, /* @__PURE__ */ React.createElement( Tabs2, { selectedTabId: activeTab, onSelect: (tabId) => setActiveTab(tabId) }, /* @__PURE__ */ React.createElement("div", { className: "font-library-page__tablist" }, /* @__PURE__ */ React.createElement(Tabs2.TabList, null, tabs.map(({ id, title }) => /* @__PURE__ */ React.createElement(Tabs2.Tab, { key: id, tabId: id }, title)))), tabs.map(({ id }) => /* @__PURE__ */ React.createElement( Tabs2.TabPanel, { key: id, tabId: id, focusable: false, className: "font-library-page__tab-panel" }, /* @__PURE__ */ React.createElement( FontLibrary, { value: user, baseValue: base, onChange: setUser, activeTab: id } ) )) )); } function Stage() { return /* @__PURE__ */ React.createElement(FontLibraryPage, null); } var stage = Stage; export { stage }; /*! Bundled license information: use-sync-external-store/cjs/use-sync-external-store-shim.development.js: (** * @license React * use-sync-external-store-shim.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *) use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js: (** * @license React * use-sync-external-store-shim/with-selector.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *) is-plain-object/dist/is-plain-object.mjs: (*! * is-plain-object <https://github.com/jonschlinkert/is-plain-object> * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. *) */ font-list/route.js 0000775 00000003154 00000000000 0010130 0 ustar 00 var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); // package-external:@wordpress/i18n var require_i18n = __commonJS({ "package-external:@wordpress/i18n"(exports, module) { module.exports = window.wp.i18n; } }); // routes/font-list/route.ts var import_i18n = __toESM(require_i18n()); var route = { title: () => (0, import_i18n.__)("Fonts") }; export { route }; font-list/route.min.asset.php 0000775 00000000134 00000000000 0012176 0 ustar 00 <?php return array('dependencies' => array('wp-i18n'), 'version' => '5bf837c01b0b1bb1bc6f'); font-list/content.min.js 0000775 00001422011 00000000000 0011224 0 ustar 00 var ev=Object.create;var Ca=Object.defineProperty;var tv=Object.getOwnPropertyDescriptor;var rv=Object.getOwnPropertyNames;var ov=Object.getPrototypeOf,nv=Object.prototype.hasOwnProperty;var Ut=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var tt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),no=(e,t)=>{for(var r in t)Ca(e,r,{get:t[r],enumerable:!0})},sv=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of rv(t))!nv.call(e,n)&&n!==r&&Ca(e,n,{get:()=>t[n],enumerable:!(o=tv(t,n))||o.enumerable});return e};var h=(e,t,r)=>(r=e!=null?ev(ov(e)):{},sv(t||!e||!e.__esModule?Ca(r,"default",{value:e,enumerable:!0}):r,e));var Ce=tt((OE,_u)=>{_u.exports=window.wp.i18n});var Te=tt((kE,Pu)=>{Pu.exports=window.wp.element});var be=tt((FE,ku)=>{ku.exports=window.React});var Y=tt((VE,Lu)=>{Lu.exports=window.ReactJSXRuntime});var lo=tt((IT,nf)=>{nf.exports=window.ReactDOM});var md=tt(pd=>{"use strict";var dn=be();function i0(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var a0=typeof Object.is=="function"?Object.is:i0,l0=dn.useState,c0=dn.useEffect,u0=dn.useLayoutEffect,f0=dn.useDebugValue;function d0(e,t){var r=t(),o=l0({inst:{value:r,getSnapshot:t}}),n=o[0].inst,s=o[1];return u0(function(){n.value=r,n.getSnapshot=t,il(n)&&s({inst:n})},[e,r,t]),c0(function(){return il(n)&&s({inst:n}),e(function(){il(n)&&s({inst:n})})},[e]),f0(r),r}function il(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!a0(e,r)}catch{return!0}}function p0(e,t){return t()}var m0=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?p0:d0;pd.useSyncExternalStore=dn.useSyncExternalStore!==void 0?dn.useSyncExternalStore:m0});var al=tt((xO,hd)=>{"use strict";hd.exports=md()});var yd=tt(gd=>{"use strict";var $s=be(),h0=al();function g0(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var y0=typeof Object.is=="function"?Object.is:g0,v0=h0.useSyncExternalStore,b0=$s.useRef,w0=$s.useEffect,x0=$s.useMemo,S0=$s.useDebugValue;gd.useSyncExternalStoreWithSelector=function(e,t,r,o,n){var s=b0(null);if(s.current===null){var i={hasValue:!1,value:null};s.current=i}else i=s.current;s=x0(function(){function u(g){if(!l){if(l=!0,c=g,g=o(g),n!==void 0&&i.hasValue){var d=i.value;if(n(d,g))return f=d}return f=g}if(d=f,y0(c,g))return d;var v=o(g);return n!==void 0&&n(d,v)?(c=g,d):(c=g,f=v)}var l=!1,c,f,m=r===void 0?null:r;return[function(){return u(t())},m===null?void 0:function(){return u(m())}]},[t,r,o,n]);var a=v0(e,s[0],s[1]);return w0(function(){i.hasValue=!0,i.value=a},[a]),S0(a),a}});var bd=tt((CO,vd)=>{"use strict";vd.exports=yd()});var Cn=tt((D3,Vp)=>{Vp.exports=window.wp.primitives});var Bo=tt((Q3,Bp)=>{Bp.exports=window.wp.compose});var Hp=tt((eA,jp)=>{jp.exports=window.wp.theme});var us=tt((tA,Up)=>{Up.exports=window.wp.privateApis});var ce=tt((t4,Cm)=>{Cm.exports=window.wp.components});var Am=tt((p4,Fm)=>{Fm.exports=window.wp.editor});var ar=tt((m4,Im)=>{Im.exports=window.wp.coreData});var Jt=tt((h4,Lm)=>{Lm.exports=window.wp.data});var Tn=tt((g4,Nm)=>{Nm.exports=window.wp.blocks});var Vt=tt((y4,Dm)=>{Dm.exports=window.wp.blockEditor});var Vm=tt((C4,Mm)=>{Mm.exports=window.wp.styleEngine});var Gm=tt((N4,Wm)=>{"use strict";Wm.exports=function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;var o,n,s;if(Array.isArray(t)){if(o=t.length,o!=r.length)return!1;for(n=o;n--!==0;)if(!e(t[n],r[n]))return!1;return!0}if(t instanceof Map&&r instanceof Map){if(t.size!==r.size)return!1;for(n of t.entries())if(!r.has(n[0]))return!1;for(n of t.entries())if(!e(n[1],r.get(n[0])))return!1;return!0}if(t instanceof Set&&r instanceof Set){if(t.size!==r.size)return!1;for(n of t.entries())if(!r.has(n[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(r)){if(o=t.length,o!=r.length)return!1;for(n=o;n--!==0;)if(t[n]!==r[n])return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(s=Object.keys(t),o=s.length,o!==Object.keys(r).length)return!1;for(n=o;n--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[n]))return!1;for(n=o;n--!==0;){var i=s[n];if(!e(t[i],r[i]))return!1}return!0}return t!==t&&r!==r}});var Xm=tt((M4,Zm)=>{"use strict";var W1=function(t){return G1(t)&&!Y1(t)};function G1(e){return!!e&&typeof e=="object"}function Y1(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||X1(e)}var q1=typeof Symbol=="function"&&Symbol.for,Z1=q1?Symbol.for("react.element"):60103;function X1(e){return e.$$typeof===Z1}function K1(e){return Array.isArray(e)?[]:{}}function hs(e,t){return t.clone!==!1&&t.isMergeableObject(e)?On(K1(e),e,t):e}function J1(e,t,r){return e.concat(t).map(function(o){return hs(o,r)})}function Q1(e,t){if(!t.customMerge)return On;var r=t.customMerge(e);return typeof r=="function"?r:On}function $1(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function Ym(e){return Object.keys(e).concat($1(e))}function qm(e,t){try{return t in e}catch{return!1}}function ew(e,t){return qm(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function tw(e,t,r){var o={};return r.isMergeableObject(e)&&Ym(e).forEach(function(n){o[n]=hs(e[n],r)}),Ym(t).forEach(function(n){ew(e,n)||(qm(e,n)&&r.isMergeableObject(t[n])?o[n]=Q1(n,r)(e[n],t[n],r):o[n]=hs(t[n],r))}),o}function On(e,t,r){r=r||{},r.arrayMerge=r.arrayMerge||J1,r.isMergeableObject=r.isMergeableObject||W1,r.cloneUnlessOtherwiseSpecified=hs;var o=Array.isArray(t),n=Array.isArray(e),s=o===n;return s?o?r.arrayMerge(e,t,r):tw(e,t,r):hs(t,r)}On.all=function(t,r){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(o,n){return On(o,n,r)},{})};var rw=On;Zm.exports=rw});var Mc=tt((RL,og)=>{og.exports=window.wp.keycodes});var ag=tt((DL,ig)=>{ig.exports=window.wp.apiFetch});var Ly=tt((oj,Iy)=>{Iy.exports=window.wp.date});function Ou(e){var t,r,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var n=e.length;for(t=0;t<n;t++)e[t]&&(r=Ou(e[t]))&&(o&&(o+=" "),o+=r)}else for(r in e)e[r]&&(o&&(o+=" "),o+=r);return o}function iv(){for(var e,t,r=0,o="",n=arguments.length;r<n;r++)(e=arguments[r])&&(t=Ou(e))&&(o&&(o+=" "),o+=t);return o}var st=iv;var av=h(be(),1),qn={...av};var Au=h(be(),1),Fu={};function Tt(e,t){let r=Au.useRef(Fu);return r.current===Fu&&(r.current=e(t)),r}var Ra=qn.useInsertionEffect,lv=Ra&&Ra!==qn.useLayoutEffect?Ra:e=>e();function _e(e){let t=Tt(cv).current;return t.next=e,lv(t.effect),t.trampoline}function cv(){let e={next:void 0,callback:uv,trampoline:(...t)=>e.callback?.(...t),effect:()=>{e.callback=e.next}};return e}function uv(){}var Iu=h(be(),1),fv=()=>{},ge=typeof document<"u"?Iu.useLayoutEffect:fv;var As=h(be(),1),dv=As.createContext(void 0);function tn(){return As.useContext(dv)?.direction??"ltr"}function pv(e,t){return function(o,...n){let s=new URL(e);return s.searchParams.set("code",o.toString()),n.forEach(i=>s.searchParams.append("args[]",i)),`${t} error #${o}; visit ${s} for the full message.`}}var mv=pv("https://base-ui.com/production-error","Base UI"),Wt=mv;var _o=h(be(),1);function Ea(e,t,r,o){let n=Tt(Du).current;return hv(n,e,t,r,o)&&Mu(n,[e,t,r,o]),n.callback}function Nu(e){let t=Tt(Du).current;return gv(t,e)&&Mu(t,e),t.callback}function Du(){return{callback:null,cleanup:null,refs:[]}}function hv(e,t,r,o,n){return e.refs[0]!==t||e.refs[1]!==r||e.refs[2]!==o||e.refs[3]!==n}function gv(e,t){return e.refs.length!==t.length||e.refs.some((r,o)=>r!==t[o])}function Mu(e,t){if(e.refs=t,t.every(r=>r==null)){e.callback=null;return}e.callback=r=>{if(e.cleanup&&(e.cleanup(),e.cleanup=null),r!=null){let o=Array(t.length).fill(null);for(let n=0;n<t.length;n+=1){let s=t[n];if(s!=null)switch(typeof s){case"function":{let i=s(r);typeof i=="function"&&(o[n]=i);break}case"object":{s.current=r;break}default:}}e.cleanup=()=>{for(let n=0;n<t.length;n+=1){let s=t[n];if(s!=null)switch(typeof s){case"function":{let i=o[n];typeof i=="function"?i():s(null);break}case"object":{s.current=null;break}default:}}}}}}var Bu=h(be(),1);var Vu=h(be(),1),yv=parseInt(Vu.version,10);function rn(e){return yv>=e}function Ta(e){if(!Bu.isValidElement(e))return null;let t=e,r=t.props;return(rn(19)?r?.ref:t.ref)??null}function Zn(e,t){if(e&&!t)return e;if(!e&&t)return t;if(e||t)return{...e,...t}}function so(){}var qE=Object.freeze([]),pt=Object.freeze({});function zu(e,t){let r={};for(let o in e){let n=e[o];if(t?.hasOwnProperty(o)){let s=t[o](n);s!=null&&Object.assign(r,s);continue}n===!0?r[`data-${o.toLowerCase()}`]="":n&&(r[`data-${o.toLowerCase()}`]=n.toString())}return r}function ju(e,t){return typeof e=="function"?e(t):e}function Hu(e,t){return typeof e=="function"?e(t):e}var _a={};function or(e,t,r,o,n){if(!r&&!o&&!n&&!e)return Is(t);let s=Is(e);return t&&(s=Xn(s,t)),r&&(s=Xn(s,r)),o&&(s=Xn(s,o)),n&&(s=Xn(s,n)),s}function Uu(e){if(e.length===0)return _a;if(e.length===1)return Is(e[0]);let t=Is(e[0]);for(let r=1;r<e.length;r+=1)t=Xn(t,e[r]);return t}function Is(e){return Oa(e)?{...Gu(e,_a)}:vv(e)}function Xn(e,t){return Oa(t)?Gu(t,e):bv(e,t)}function vv(e){let t={...e};for(let r in t){let o=t[r];Wu(r,o)&&(t[r]=Yu(o))}return t}function bv(e,t){if(!t)return e;for(let r in t){let o=t[r];switch(r){case"style":{e[r]=Zn(e.style,o);break}case"className":{e[r]=Pa(e.className,o);break}default:Wu(r,o)?e[r]=wv(e[r],o):e[r]=o}}return e}function Wu(e,t){let r=e.charCodeAt(0),o=e.charCodeAt(1),n=e.charCodeAt(2);return r===111&&o===110&&n>=65&&n<=90&&(typeof t=="function"||typeof t>"u")}function Oa(e){return typeof e=="function"}function Gu(e,t){return Oa(e)?e(t):e??_a}function wv(e,t){return t?e?(...r)=>{let o=r[0];if(Zu(o)){let s=o;qu(s);let i=t(...r);return s.baseUIHandlerPrevented||e?.(...r),i}let n=t(...r);return e?.(...r),n}:Yu(t):e}function Yu(e){return e&&((...t)=>{let r=t[0];return Zu(r)&&qu(r),e(...t)})}function qu(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function Pa(e,t){return t?e?t+" "+e:t:e}function Zu(e){return e!=null&&typeof e=="object"&&"nativeEvent"in e}var ka=h(be(),1);function Gt(e,t,r={}){let o=t.render,n=xv(t,r);if(r.enabled===!1)return null;let s=r.state??pt;return Rv(e,o,n,s)}function xv(e,t={}){let{className:r,style:o,render:n}=e,{state:s=pt,ref:i,props:a,stateAttributesMapping:u,enabled:l=!0}=t,c=l?ju(r,s):void 0,f=l?Hu(o,s):void 0,m=l?zu(s,u):pt,g=l&&a?Sv(a):void 0,d=l?Zn(m,g)??{}:pt;return typeof document<"u"&&(l?Array.isArray(i)?d.ref=Nu([d.ref,Ta(n),...i]):d.ref=Ea(d.ref,Ta(n),i):Ea(null,null)),l?(c!==void 0&&(d.className=Pa(d.className,c)),f!==void 0&&(d.style=Zn(d.style,f)),d):pt}function Sv(e){return Array.isArray(e)?Uu(e):or(void 0,e)}var Cv=Symbol.for("react.lazy");function Rv(e,t,r,o){if(t){if(typeof t=="function")return t(r,o);let n=or(r,t.props);n.ref=r.ref;let s=t;return s?.$$typeof===Cv&&(s=_o.Children.toArray(t)[0]),_o.cloneElement(s,n)}if(e&&typeof e=="string")return Ev(e,r);throw new Error(Wt(8))}function Ev(e,t){return e==="button"?(0,ka.createElement)("button",{type:"button",...t,key:t.key}):e==="img"?(0,ka.createElement)("img",{alt:"",...t,key:t.key}):_o.createElement(e,t)}var Ls=h(be(),1);var Xu=0;function Tv(e,t="mui"){let[r,o]=Ls.useState(e),n=e||r;return Ls.useEffect(()=>{r==null&&(Xu+=1,o(`${t}-${Xu}`))},[r,t]),n}var Ku=qn.useId;function io(e,t){if(Ku!==void 0){let r=Ku();return e??(t?`${t}-${r}`:r)}return Tv(e,t)}function Ju(e){return io(e,"base-ui")}var Oe={};no(Oe,{cancelOpen:()=>eb,chipRemovePress:()=>Dv,clearPress:()=>Nv,closePress:()=>Iv,closeWatcher:()=>qv,decrementPress:()=>Bv,disabled:()=>rb,drag:()=>Jv,escapeKey:()=>Yv,focusOut:()=>Gv,imperativeAction:()=>sb,incrementPress:()=>Vv,initial:()=>nb,inputBlur:()=>Hv,inputChange:()=>zv,inputClear:()=>jv,inputPaste:()=>Uv,inputPress:()=>Wv,itemPress:()=>Av,keyboard:()=>Xv,linkPress:()=>Lv,listNavigation:()=>Zv,missing:()=>ob,none:()=>_v,outsidePress:()=>Fv,pointer:()=>Kv,scrub:()=>$v,siblingOpen:()=>tb,swipe:()=>ib,trackPress:()=>Mv,triggerFocus:()=>kv,triggerHover:()=>Pv,triggerPress:()=>Ov,wheel:()=>Qv,windowResize:()=>ab});var _v="none",Ov="trigger-press",Pv="trigger-hover",kv="trigger-focus",Fv="outside-press",Av="item-press",Iv="close-press",Lv="link-press",Nv="clear-press",Dv="chip-remove-press",Mv="track-press",Vv="increment-press",Bv="decrement-press",zv="input-change",jv="input-clear",Hv="input-blur",Uv="input-paste",Wv="input-press",Gv="focus-out",Yv="escape-key",qv="close-watcher",Zv="list-navigation",Xv="keyboard",Kv="pointer",Jv="drag",Qv="wheel",$v="scrub",eb="cancel-open",tb="sibling-open",rb="disabled",ob="missing",nb="initial",sb="imperative-action",ib="swipe",ab="window-resize";function ze(e,t,r,o){let n=!1,s=!1,i=o??pt;return{reason:e,event:t??new Event("base-ui"),cancel(){n=!0},allowPropagation(){s=!0},get isCanceled(){return n},get isPropagationAllowed(){return s},trigger:r,...i}}var Aa=h(be(),1);var Qu=h(be(),1),lb=[];function on(e){Qu.useEffect(e,lb)}var Ns=null,wT=globalThis.requestAnimationFrame,Fa=class{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=t=>{this.isScheduled=!1;let r=this.callbacks,o=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,o>0)for(let n=0;n<r.length;n+=1)r[n]?.(t)};request(t){let r=this.nextId;return this.nextId+=1,this.callbacks.push(t),this.callbacksCount+=1,!this.isScheduled&&(requestAnimationFrame(this.tick),this.isScheduled=!0),r}cancel(t){let r=t-this.startId;r<0||r>=this.callbacks.length||(this.callbacks[r]=null,this.callbacksCount-=1)}},Ds=new Fa,Or=class e{static create(){return new e}static request(t){return Ds.request(t)}static cancel(t){return Ds.cancel(t)}currentId=Ns;request(t){this.cancel(),this.currentId=Ds.request(()=>{this.currentId=Ns,t()})}cancel=()=>{this.currentId!==Ns&&(Ds.cancel(this.currentId),this.currentId=Ns)};disposeEffect=()=>this.cancel};function nn(){let e=Tt(Or.create).current;return on(e.disposeEffect),e}function $u(e,t=!1,r=!1){let[o,n]=Aa.useState(e&&t?"idle":void 0),[s,i]=Aa.useState(e);return e&&!s&&(i(!0),n("starting")),!e&&s&&o!=="ending"&&!r&&n("ending"),!e&&!s&&o==="ending"&&n(void 0),ge(()=>{if(!e&&s&&o!=="ending"&&r){let a=Or.request(()=>{n("ending")});return()=>{Or.cancel(a)}}},[e,s,o,r]),ge(()=>{if(!e||t)return;let a=Or.request(()=>{n(void 0)});return()=>{Or.cancel(a)}},[t,e]),ge(()=>{if(!e||!t)return;e&&s&&o!=="idle"&&n("starting");let a=Or.request(()=>{n("idle")});return()=>{Or.cancel(a)}},[t,e,s,o]),{mounted:s,setMounted:i,transitionStatus:o}}var Oo=(function(e){return e.startingStyle="data-starting-style",e.endingStyle="data-ending-style",e})({}),cb={[Oo.startingStyle]:""},ub={[Oo.endingStyle]:""},ef={transitionStatus(e){return e==="starting"?cb:e==="ending"?ub:null}};function Ms(){return typeof window<"u"}function ko(e){return Vs(e)?(e.nodeName||"").toLowerCase():"#document"}function lt(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function br(e){var t;return(t=(Vs(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Vs(e){return Ms()?e instanceof Node||e instanceof lt(e).Node:!1}function we(e){return Ms()?e instanceof Element||e instanceof lt(e).Element:!1}function St(e){return Ms()?e instanceof HTMLElement||e instanceof lt(e).HTMLElement:!1}function sn(e){return!Ms()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof lt(e).ShadowRoot}function an(e){let{overflow:t,overflowX:r,overflowY:o,display:n}=Pt(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+r)&&n!=="inline"&&n!=="contents"}function tf(e){return/^(table|td|th)$/.test(ko(e))}function Kn(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var fb=/transform|translate|scale|rotate|perspective|filter/,db=/paint|layout|strict|content/,Po=e=>!!e&&e!=="none",Ia;function Bs(e){let t=we(e)?Pt(e):e;return Po(t.transform)||Po(t.translate)||Po(t.scale)||Po(t.rotate)||Po(t.perspective)||!zs()&&(Po(t.backdropFilter)||Po(t.filter))||fb.test(t.willChange||"")||db.test(t.contain||"")}function rf(e){let t=vr(e);for(;St(t)&&!wr(t);){if(Bs(t))return t;if(Kn(t))return null;t=vr(t)}return null}function zs(){return Ia==null&&(Ia=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ia}function wr(e){return/^(html|body|#document)$/.test(ko(e))}function Pt(e){return lt(e).getComputedStyle(e)}function Jn(e){return we(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function vr(e){if(ko(e)==="html")return e;let t=e.assignedSlot||e.parentNode||sn(e)&&e.host||br(e);return sn(t)?t.host:t}function of(e){let t=vr(e);return wr(t)?e.ownerDocument?e.ownerDocument.body:e.body:St(t)&&an(t)?t:of(t)}function ao(e,t,r){var o;t===void 0&&(t=[]),r===void 0&&(r=!0);let n=of(e),s=n===((o=e.ownerDocument)==null?void 0:o.body),i=lt(n);if(s){let a=js(i);return t.concat(i,i.visualViewport||[],an(n)?n:[],a&&r?ao(a):[])}else return t.concat(n,ao(n,[],r))}function js(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ye(e,t,r,o){return e.addEventListener(t,r,o),()=>{e.removeEventListener(t,r,o)}}function Yt(e){let t=Tt(pb,e).current;return t.next=e,ge(t.effect),t}function pb(e){let t={current:e,next:e,effect:()=>{t.current=t.next}};return t}function Ct(e){return e?.ownerDocument||document}var lf=h(be(),1);var af=h(lo(),1);function sf(e){return e==null?e:"current"in e?e.current:e}function ln(e,t=!1,r=!0){let o=nn();return _e((n,s=null)=>{o.cancel();let i=sf(e);if(i==null)return;let a=i,u=()=>{af.flushSync(n)};if(typeof a.getAnimations!="function"||globalThis.BASE_UI_ANIMATIONS_DISABLED){n();return}function l(){Promise.all(a.getAnimations().map(c=>c.finished)).then(()=>{s?.aborted||u()}).catch(()=>{if(r){s?.aborted||u();return}let c=a.getAnimations();!s?.aborted&&c.length>0&&c.some(f=>f.pending||f.playState!=="finished")&&l()})}if(t){let c=Oo.startingStyle;if(!a.hasAttribute(c)){o.request(l);return}let f=new MutationObserver(()=>{a.hasAttribute(c)||(f.disconnect(),l())});f.observe(a,{attributes:!0,attributeFilter:[c]}),s?.addEventListener("abort",()=>f.disconnect(),{once:!0});return}o.request(l)})}function Hs(e){let{enabled:t=!0,open:r,ref:o,onComplete:n}=e,s=_e(n),i=ln(o,r,!1);lf.useEffect(()=>{if(!t)return;let a=new AbortController;return i(s,a.signal),()=>{a.abort()}},[t,r,s,i])}var cf=h(be(),1);function uf(e){let t=cf.useRef(!0);t.current&&(t.current=!1,e())}var Yr={};no(Yr,{engine:()=>Va,env:()=>za,os:()=>Da,screenReader:()=>Ba});var Da={};no(Da,{android:()=>pf,apple:()=>Na,ios:()=>La,linux:()=>vb,mac:()=>mf,windows:()=>yb});function mb(){return typeof navigator>"u"?{userAgent:"",platform:"",maxTouchPoints:0}:{userAgent:navigator.userAgent,platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??0}}var{userAgent:hb,platform:gb,maxTouchPoints:ff}=mb(),Fo=hb.toLowerCase(),Ao=gb.toLowerCase();var La=/^i(os$|p)/.test(Ao)||Ao==="macintel"&&ff>1,df="android",pf=Ao===df||Fo.includes(df),mf=!La&&Ao.startsWith("mac"),yb=Ao.startsWith("win"),vb=!pf&&/^(linux|chrome os)/.test(Ao),Na=mf||La;var Va={};no(Va,{blink:()=>wb,gecko:()=>bb,webkit:()=>Ma});var Ma=typeof CSS<"u"&&!!CSS.supports?.("-webkit-backdrop-filter:none"),bb=!Ma&&Fo.includes("firefox"),wb=!Ma&&Fo.includes("chrom");var Ba={};no(Ba,{voiceOver:()=>xb});var xb=Na;var za={};no(za,{jsdom:()=>Sb});var Sb=/jsdom|happydom/.test(Fo);var Qn=0,nr=class e{static create(){return new e}currentId=Qn;start(t,r){this.clear(),this.currentId=setTimeout(()=>{this.currentId=Qn,r()},t)}isStarted(){return this.currentId!==Qn}clear=()=>{this.currentId!==Qn&&(clearTimeout(this.currentId),this.currentId=Qn)};disposeEffect=()=>this.clear};function xr(){let e=Tt(nr.create).current;return on(e.disposeEffect),e}var kt=h(be(),1);function hf(e){return"nativeEvent"in e}function qr(e,t){let r=["mouse","pen"];return t||r.push("",void 0),r.includes(e)}function gf(e){let t=e.type;return t==="click"||t==="mousedown"||t==="keydown"||t==="keyup"}var ja="data-base-ui-focusable";var Ha="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";function Us(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function Ze(e,t){if(!e||!t)return!1;let r=t.getRootNode?.();if(e.contains(t))return!0;if(r&&sn(r)){let o=t;for(;o;){if(e===o)return!0;o=o.parentNode||o.host}}return!1}function Dt(e){return"composedPath"in e?e.composedPath()[0]:e.target}function co(e,t){if(!we(e))return!1;let r=e;if(t.hasElement(r))return!r.hasAttribute("data-trigger-disabled");for(let[,o]of t.entries())if(Ze(o,r))return!o.hasAttribute("data-trigger-disabled");return!1}function Ws(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);let r=e;return r.target!=null&&t.contains(r.target)}function yf(e){return e.matches("html,body")}function vf(e){return St(e)&&e.matches(Ha)}function Ua(e){return e?.closest(`button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),${Ha}`)!=null}function bf(e){if(!e||Yr.env.jsdom)return!0;try{return e.matches(":focus-visible")}catch{return!0}}function Cb(e,t){return t!=null&&!qr(t)?0:typeof e=="function"?e():e}function Zr(e,t,r){let o=Cb(e,r);return typeof o=="number"?o:o?.[t]}function Wa(e){return typeof e=="function"?e():e}function Gs(e,t){return t||e==="click"||e==="mousedown"}function wf(e){return e?.includes("mouse")&&e!=="mousedown"}var xf=h(Y(),1),Sf=kt.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new nr,currentIdRef:{current:null},currentContextRef:{current:null}});function Rb(e,t){e.current=t.current}function Ga(e){let{children:t,delay:r,timeoutMs:o=0}=e,n=kt.useRef(r),s=kt.useRef(r),i=kt.useRef(null),a=kt.useRef(null),u=xr();return ge(()=>{if(s.current=r,!i.current){n.current=r;return}n.current={open:Zr(n.current,"open"),close:Zr(r,"close")}},[r,i,n,s]),(0,xf.jsx)(Sf.Provider,{value:kt.useMemo(()=>({hasProvider:!0,delayRef:n,initialDelayRef:s,currentIdRef:i,timeoutMs:o,currentContextRef:a,timeout:u}),[o,u]),children:t})}function Ya(e,t={open:!1}){let{open:r}=t,o="rootStore"in e?e.rootStore:e,n=o.useState("floatingId"),s=kt.useContext(Sf),{currentIdRef:i,delayRef:a,timeoutMs:u,initialDelayRef:l,currentContextRef:c,hasProvider:f,timeout:m}=s,[g,d]=kt.useState(!1),v=kt.useRef(r),S=kt.useRef(!1);return ge(()=>{v.current=r},[r]),ge(()=>()=>{S.current=!0},[]),ge(()=>{function C(){S.current||d(!1),c.current?.setIsInstantPhase(!1),i.current=null,c.current=null,a.current=l.current,m.clear()}if(i.current&&!r&&i.current===n){if(d(!1),u){let w=n;return m.start(u,()=>{o.select("open")||i.current&&i.current!==w||C()}),()=>{(v.current||i.current!==w)&&m.clear()}}C()}},[r,n,i,a,u,l,c,m,o]),ge(()=>{if(!r)return;let C=c.current,w=i.current;m.clear(),c.current={onOpenChange:o.setOpen,setIsInstantPhase:d},i.current=n,a.current={open:0,close:Zr(l.current,"close")},w!==null&&w!==n?(d(!0),C?.setIsInstantPhase(!0),C?.onOpenChange(!1,ze(Oe.none))):(d(!1),C?.setIsInstantPhase(!1))},[r,n,o,i,a,l,c,m]),ge(()=>()=>{if(i.current===n){if(c.current=null,!v.current)return;i.current=null,Rb(a,l),m.clear()}},[c,i,a,n,l,m]),kt.useMemo(()=>({hasProvider:f,delayRef:a,isInstantPhase:g}),[f,a,g])}function Sr(...e){return()=>{for(let t=0;t<e.length;t+=1){let r=e[t];r&&r()}}}var Ef=["top","right","bottom","left"];var uo=Math.min,Mt=Math.max,fo=Math.round,es=Math.floor,Cr=e=>({x:e,y:e}),Eb={left:"right",right:"left",bottom:"top",top:"bottom"};function ts(e,t,r){return Mt(e,uo(t,r))}function Rr(e,t){return typeof e=="function"?e(t):e}function _t(e){return e.split("-")[0]}function Er(e){return e.split("-")[1]}function qs(e){return e==="x"?"y":"x"}function rs(e){return e==="y"?"height":"width"}function qt(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function os(e){return qs(qt(e))}function Tf(e,t,r){r===void 0&&(r=!1);let o=Er(e),n=os(e),s=rs(n),i=n==="x"?o===(r?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(i=$n(i)),[i,$n(i)]}function _f(e){let t=$n(e);return[Ys(e),t,Ys(t)]}function Ys(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var Cf=["left","right"],Rf=["right","left"],Tb=["top","bottom"],_b=["bottom","top"];function Ob(e,t,r){switch(e){case"top":case"bottom":return r?t?Rf:Cf:t?Cf:Rf;case"left":case"right":return t?Tb:_b;default:return[]}}function Of(e,t,r,o){let n=Er(e),s=Ob(_t(e),r==="start",o);return n&&(s=s.map(i=>i+"-"+n),t&&(s=s.concat(s.map(Ys)))),s}function $n(e){let t=_t(e);return Eb[t]+e.slice(t.length)}function Pb(e){return{top:0,right:0,bottom:0,left:0,...e}}function Zs(e){return typeof e!="number"?Pb(e):{top:e,right:e,bottom:e,left:e}}function Io(e){let{x:t,y:r,width:o,height:n}=e;return{width:o,height:n,top:r,left:t,right:t+o,bottom:r+n,x:t,y:r}}function Xr(e,t,r=!0){return e.filter(n=>n.parentId===t).flatMap(n=>[...!r||n.context?.open?[n]:[],...Xr(e,n.id,r)])}function cn(e){return`data-base-ui-${e}`}var sr=h(be(),1),Ff=h(lo(),1);var Pf={style:{transition:"none"}};var kb="data-base-ui-swipe-ignore",Fb="data-swipe-ignore",x_=`[${kb}]`,S_=`[${Fb}]`;var kf={fallbackAxisSide:"end"};var Af=h(Y(),1),Ab=sr.createContext(null),Ib=()=>sr.useContext(Ab),Lb=cn("portal");function qa(e={}){let{ref:t,container:r,componentProps:o=pt,elementProps:n}=e,s=io(),a=Ib()?.portalNode,[u,l]=sr.useState(null),[c,f]=sr.useState(null),m=_e(S=>{S!==null&&f(S)}),g=sr.useRef(null);ge(()=>{if(r===null){g.current&&(g.current=null,f(null),l(null));return}if(s==null)return;let S=(r&&(Vs(r)?r:r.current))??a??document.body;if(S==null){g.current&&(g.current=null,f(null),l(null));return}g.current!==S&&(g.current=S,f(null),l(S))},[r,a,s]);let d=Gt("div",o,{ref:[t,m],props:[{id:s,[Lb]:""},n]});return{portalNode:c,portalSubtree:u&&d?Ff.createPortal(d,u):null}}var Lo=h(be(),1);function If(){let e=new Map;return{emit(t,r){e.get(t)?.forEach(o=>o(r))},on(t,r){e.has(t)||e.set(t,new Set),e.get(t).add(r)},off(t,r){e.get(t)?.delete(r)}}}var Nb=h(Y(),1),Db=Lo.createContext(null),Mb=Lo.createContext(null),un=()=>Lo.useContext(Db)?.id||null,po=e=>{let t=Lo.useContext(Mb);return e??t};var Zt=h(be(),1);function Vb(e,t){let r=null,o=null,n=!1;return{contextElement:e||void 0,getBoundingClientRect(){let s=e?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},i=t.axis==="x"||t.axis==="both",a=t.axis==="y"||t.axis==="both",u=["mouseenter","mousemove"].includes(t.dataRef.current.openEvent?.type||"")&&t.pointerType!=="touch",l=s.width,c=s.height,f=s.x,m=s.y;return r==null&&t.x&&i&&(r=s.x-t.x),o==null&&t.y&&a&&(o=s.y-t.y),f-=r||0,m-=o||0,l=0,c=0,!n||u?(l=t.axis==="y"?s.width:0,c=t.axis==="x"?s.height:0,f=i&&t.x!=null?t.x:f,m=a&&t.y!=null?t.y:m):n&&!u&&(c=t.axis==="x"?s.height:c,l=t.axis==="y"?s.width:l),n=!0,{width:l,height:c,x:f,y:m,top:m,right:f+l,bottom:m+c,left:f}}}}function Lf(e){return e!=null&&e.clientX!=null}function Za(e,t={}){let{enabled:r=!0,axis:o="both"}=t,n="rootStore"in e?e.rootStore:e,s=n.useState("open"),i=n.useState("floatingElement"),a=n.useState("domReferenceElement"),u=n.context.dataRef,l=Zt.useRef(!1),c=Zt.useRef(null),[f,m]=Zt.useState(),[g,d]=Zt.useState([]),v=_e(R=>{n.set("positionReference",R)}),S=_e((R,k,T)=>{l.current||u.current.openEvent&&!Lf(u.current.openEvent)||n.set("positionReference",Vb(T??a,{x:R,y:k,axis:o,dataRef:u,pointerType:f}))}),C=_e(R=>{s?c.current||(S(R.clientX,R.clientY,R.currentTarget),d([])):S(R.clientX,R.clientY,R.currentTarget)}),w=qr(f)?i:s;Zt.useEffect(()=>{if(!r){v(a);return}if(!w)return;function R(){c.current?.(),c.current=null}let k=lt(i);function T(_){let A=Dt(_);Ze(i,A)?R():S(_.clientX,_.clientY)}return!u.current.openEvent||Lf(u.current.openEvent)?c.current=Ye(k,"mousemove",T):v(a),R},[w,r,i,u,a,n,S,v,g]),Zt.useEffect(()=>()=>{n.set("positionReference",null)},[n]),Zt.useEffect(()=>{r&&!i&&(l.current=!1)},[r,i]),Zt.useEffect(()=>{!r&&s&&(l.current=!0)},[r,s]);let b=Zt.useMemo(()=>{function R(k){m(k.pointerType)}return{onPointerDown:R,onPointerEnter:R,onMouseMove:C,onMouseEnter:C}},[C]);return Zt.useMemo(()=>r?{reference:b,trigger:b}:{},[r,b])}var Xt=h(be(),1);function Bb(){return!1}function zb(e){return{escapeKey:typeof e=="boolean"?e:e?.escapeKey??!1,outsidePress:typeof e=="boolean"?e:e?.outsidePress??!0}}function Xa(e,t={}){let{enabled:r=!0,escapeKey:o=!0,outsidePress:n=!0,outsidePressEvent:s="sloppy",referencePress:i=Bb,bubbles:a,externalTree:u}=t,l="rootStore"in e?e.rootStore:e,c=l.useState("open"),f=l.useState("floatingElement"),{dataRef:m}=l.context,g=po(u),d=_e(typeof n=="function"?n:()=>!1),v=typeof n=="function"?d:n,S=v!==!1,C=_e(()=>s),{escapeKey:w,outsidePress:b}=zb(a),R=Xt.useRef(!1),k=Xt.useRef(!1),T=Xt.useRef(!1),_=Xt.useRef(!1),A=Xt.useRef(""),N=Xt.useRef(null),q=xr(),U=xr(),x=_e(()=>{U.clear(),m.current.insideReactTree=!1}),I=_e(F=>{let Z=m.current.floatingContext?.nodeId;return(g?Xr(g.nodesRef.current,Z):[]).some(xe=>xe.context?.open&&!xe.context.dataRef.current[F])}),W=_e(F=>Ws(F,l.select("floatingElement"))||Ws(F,l.select("domReferenceElement"))),O=_e(F=>{i()&&l.setOpen(!1,ze(Oe.triggerPress,F.nativeEvent))}),D=_e(F=>{if(!c||!r||!o||F.key!=="Escape"||_.current||!w&&I("__escapeKeyBubbles"))return;let Z=hf(F)?F.nativeEvent:F,se=ze(Oe.escapeKey,Z);l.setOpen(!1,se),se.isCanceled||F.preventDefault(),!w&&!se.isPropagationAllowed&&F.stopPropagation()}),J=_e(()=>{m.current.insideReactTree=!0,U.start(0,x)}),M=_e(F=>{if(!c||!r||F.button!==0)return;let Z=Dt(F.nativeEvent);Ze(l.select("floatingElement"),Z)&&(R.current||(R.current=!0,k.current=!1))}),E=_e(F=>{!c||!r||(F.defaultPrevented||F.nativeEvent.defaultPrevented)&&R.current&&(k.current=!0)});Xt.useEffect(()=>{if(!c||!r)return;m.current.__escapeKeyBubbles=w,m.current.__outsidePressBubbles=b;let F=new nr,Z=new nr;function se(){F.clear(),_.current=!0}function xe(){F.start(Yr.engine.webkit?5:0,()=>{_.current=!1})}function ie(){T.current=!0,Z.start(0,()=>{T.current=!1})}function ye(){R.current=!1,k.current=!1}function Ee(){let V=A.current,re=V==="pen"||!V?"mouse":V,De=C(),Ue=typeof De=="function"?De():De;return typeof Ue=="string"?Ue:Ue[re]}function ee(V){let re=Ee();return re==="intentional"&&V.type!=="click"||re==="sloppy"&&V.type==="click"}function Ae(V){let re=m.current.floatingContext?.nodeId,De=g&&Xr(g.nodesRef.current,re).some(Ue=>Ws(V,Ue.context?.elements.floating));return W(V)||De}function Ie(V){if(ee(V)){V.type!=="click"&&!W(V)&&(Z.clear(),T.current=!1),x();return}if(m.current.insideReactTree){x();return}let re=Dt(V),De=`[${cn("inert")}]`,Ue=we(re)?re.getRootNode():null,ot=Array.from((sn(Ue)?Ue:Ct(l.select("floatingElement"))).querySelectorAll(De)),ut=l.context.triggerElements;if(re&&(ut.hasElement(re)||ut.hasMatchingElement(We=>Ze(We,re))))return;let je=we(re)?re:null;for(;je&&!wr(je);){let We=vr(je);if(wr(We)||!we(We))break;je=We}if(!(ot.length&&we(re)&&!yf(re)&&!Ze(re,l.select("floatingElement"))&&ot.every(We=>!Ze(je,We)))){if(St(re)&&!("touches"in V)){let We=wr(re),nt=Pt(re),ve=/auto|scroll/,_r=We||ve.test(nt.overflowX),gr=We||ve.test(nt.overflowY),$e=_r&&re.clientWidth>0&&re.scrollWidth>re.clientWidth,Hr=gr&&re.clientHeight>0&&re.scrollHeight>re.clientHeight,Et=nt.direction==="rtl",Ne=Hr&&(Et?V.offsetX<=re.offsetWidth-re.clientWidth:V.offsetX>re.clientWidth),qe=$e&&V.offsetY>re.clientHeight;if(Ne||qe)return}if(!Ae(V)){if(Ee()==="intentional"&&T.current){Z.clear(),T.current=!1;return}typeof v=="function"&&!v(V)||I("__outsidePressBubbles")||(l.setOpen(!1,ze(Oe.outsidePress,V)),x())}}}function ke(V){Ee()!=="sloppy"||V.pointerType==="touch"||!l.select("open")||!r||W(V)||Ie(V)}function He(V){if(Ee()!=="sloppy"||!l.select("open")||!r||W(V))return;let re=V.touches[0];re&&(N.current={startTime:Date.now(),startX:re.clientX,startY:re.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},q.start(1e3,()=>{N.current&&(N.current.dismissOnTouchEnd=!1,N.current.dismissOnMouseDown=!1)}))}function G(V,re){let De=Dt(V);if(!De)return;let Ue=Ye(De,V.type,()=>{re(V),Ue()})}function j(V){A.current="touch",G(V,He)}function X(V){q.clear(),V.type==="pointerdown"&&(A.current=V.pointerType),!(V.type==="mousedown"&&N.current&&!N.current.dismissOnMouseDown)&&G(V,re=>{re.type==="pointerdown"?ke(re):Ie(re)})}function H(V){if(!R.current)return;let re=k.current;if(ye(),Ee()==="intentional"){if(V.type==="pointercancel"){re&&ie();return}if(!Ae(V)){if(re){ie();return}typeof v=="function"&&!v(V)||(Z.clear(),T.current=!0,x())}}}function K(V){if(Ee()!=="sloppy"||!N.current||W(V))return;let re=V.touches[0];if(!re)return;let De=Math.abs(re.clientX-N.current.startX),Ue=Math.abs(re.clientY-N.current.startY),ot=Math.sqrt(De*De+Ue*Ue);ot>5&&(N.current.dismissOnTouchEnd=!0),ot>10&&(Ie(V),q.clear(),N.current=null)}function fe(V){G(V,K)}function ue(V){Ee()!=="sloppy"||!N.current||W(V)||(N.current.dismissOnTouchEnd&&Ie(V),q.clear(),N.current=null)}function de(V){G(V,ue)}let pe=Ct(f),me=Sr(o&&Sr(Ye(pe,"keydown",D),Ye(pe,"compositionstart",se),Ye(pe,"compositionend",xe)),S&&Sr(Ye(pe,"click",X,!0),Ye(pe,"pointerdown",X,!0),Ye(pe,"pointerup",H,!0),Ye(pe,"pointercancel",H,!0),Ye(pe,"mousedown",X,!0),Ye(pe,"mouseup",H,!0),Ye(pe,"touchstart",j,!0),Ye(pe,"touchmove",fe,!0),Ye(pe,"touchend",de,!0)));return()=>{me(),F.clear(),Z.clear(),ye(),T.current=!1}},[m,f,o,S,v,c,r,w,b,D,x,C,I,W,g,l,q]),Xt.useEffect(x,[v,x]);let L=Xt.useMemo(()=>({onKeyDown:D,onPointerDown:O,onClick:O}),[D,O]),$=Xt.useMemo(()=>({onKeyDown:D,onPointerDown:E,onMouseDown:E,onClickCapture:J,onMouseDownCapture(F){J(),M(F)},onPointerDownCapture(F){J(),M(F)},onMouseUpCapture:J,onTouchEndCapture:J,onTouchMoveCapture:J}),[D,J,M,E]);return Xt.useMemo(()=>r?{reference:L,floating:$,trigger:L}:{},[r,L,$])}var Ft=h(be(),1);function Nf(e,t,r){let{reference:o,floating:n}=e,s=qt(t),i=os(t),a=rs(i),u=_t(t),l=s==="y",c=o.x+o.width/2-n.width/2,f=o.y+o.height/2-n.height/2,m=o[a]/2-n[a]/2,g;switch(u){case"top":g={x:c,y:o.y-n.height};break;case"bottom":g={x:c,y:o.y+o.height};break;case"right":g={x:o.x+o.width,y:f};break;case"left":g={x:o.x-n.width,y:f};break;default:g={x:o.x,y:o.y}}switch(Er(t)){case"start":g[i]-=m*(r&&l?-1:1);break;case"end":g[i]+=m*(r&&l?-1:1);break}return g}async function Vf(e,t){var r;t===void 0&&(t={});let{x:o,y:n,platform:s,rects:i,elements:a,strategy:u}=e,{boundary:l="clippingAncestors",rootBoundary:c="viewport",elementContext:f="floating",altBoundary:m=!1,padding:g=0}=Rr(t,e),d=Zs(g),S=a[m?f==="floating"?"reference":"floating":f],C=Io(await s.getClippingRect({element:(r=await(s.isElement==null?void 0:s.isElement(S)))==null||r?S:S.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(a.floating)),boundary:l,rootBoundary:c,strategy:u})),w=f==="floating"?{x:o,y:n,width:i.floating.width,height:i.floating.height}:i.reference,b=await(s.getOffsetParent==null?void 0:s.getOffsetParent(a.floating)),R=await(s.isElement==null?void 0:s.isElement(b))?await(s.getScale==null?void 0:s.getScale(b))||{x:1,y:1}:{x:1,y:1},k=Io(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:w,offsetParent:b,strategy:u}):w);return{top:(C.top-k.top+d.top)/R.y,bottom:(k.bottom-C.bottom+d.bottom)/R.y,left:(C.left-k.left+d.left)/R.x,right:(k.right-C.right+d.right)/R.x}}var jb=50,Bf=async(e,t,r)=>{let{placement:o="bottom",strategy:n="absolute",middleware:s=[],platform:i}=r,a=i.detectOverflow?i:{...i,detectOverflow:Vf},u=await(i.isRTL==null?void 0:i.isRTL(t)),l=await i.getElementRects({reference:e,floating:t,strategy:n}),{x:c,y:f}=Nf(l,o,u),m=o,g=0,d={};for(let v=0;v<s.length;v++){let S=s[v];if(!S)continue;let{name:C,fn:w}=S,{x:b,y:R,data:k,reset:T}=await w({x:c,y:f,initialPlacement:o,placement:m,strategy:n,middlewareData:d,rects:l,platform:a,elements:{reference:e,floating:t}});c=b??c,f=R??f,d[C]={...d[C],...k},T&&g<jb&&(g++,typeof T=="object"&&(T.placement&&(m=T.placement),T.rects&&(l=T.rects===!0?await i.getElementRects({reference:e,floating:t,strategy:n}):T.rects),{x:c,y:f}=Nf(l,m,u)),v=-1)}return{x:c,y:f,placement:m,strategy:n,middlewareData:d}};var zf=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var r,o;let{placement:n,middlewareData:s,rects:i,initialPlacement:a,platform:u,elements:l}=t,{mainAxis:c=!0,crossAxis:f=!0,fallbackPlacements:m,fallbackStrategy:g="bestFit",fallbackAxisSideDirection:d="none",flipAlignment:v=!0,...S}=Rr(e,t);if((r=s.arrow)!=null&&r.alignmentOffset)return{};let C=_t(n),w=qt(a),b=_t(a)===a,R=await(u.isRTL==null?void 0:u.isRTL(l.floating)),k=m||(b||!v?[$n(a)]:_f(a)),T=d!=="none";!m&&T&&k.push(...Of(a,v,d,R));let _=[a,...k],A=await u.detectOverflow(t,S),N=[],q=((o=s.flip)==null?void 0:o.overflows)||[];if(c&&N.push(A[C]),f){let W=Tf(n,i,R);N.push(A[W[0]],A[W[1]])}if(q=[...q,{placement:n,overflows:N}],!N.every(W=>W<=0)){var U,x;let W=(((U=s.flip)==null?void 0:U.index)||0)+1,O=_[W];if(O&&(!(f==="alignment"?w!==qt(O):!1)||q.every(M=>qt(M.placement)===w?M.overflows[0]>0:!0)))return{data:{index:W,overflows:q},reset:{placement:O}};let D=(x=q.filter(J=>J.overflows[0]<=0).sort((J,M)=>J.overflows[1]-M.overflows[1])[0])==null?void 0:x.placement;if(!D)switch(g){case"bestFit":{var I;let J=(I=q.filter(M=>{if(T){let E=qt(M.placement);return E===w||E==="y"}return!0}).map(M=>[M.placement,M.overflows.filter(E=>E>0).reduce((E,L)=>E+L,0)]).sort((M,E)=>M[1]-E[1])[0])==null?void 0:I[0];J&&(D=J);break}case"initialPlacement":D=a;break}if(n!==D)return{reset:{placement:D}}}return{}}}};function Df(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Mf(e){return Ef.some(t=>e[t]>=0)}var jf=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){let{rects:r,platform:o}=t,{strategy:n="referenceHidden",...s}=Rr(e,t);switch(n){case"referenceHidden":{let i=await o.detectOverflow(t,{...s,elementContext:"reference"}),a=Df(i,r.reference);return{data:{referenceHiddenOffsets:a,referenceHidden:Mf(a)}}}case"escaped":{let i=await o.detectOverflow(t,{...s,altBoundary:!0}),a=Df(i,r.floating);return{data:{escapedOffsets:a,escaped:Mf(a)}}}default:return{}}}}};var Hf=new Set(["left","top"]);async function Hb(e,t){let{placement:r,platform:o,elements:n}=e,s=await(o.isRTL==null?void 0:o.isRTL(n.floating)),i=_t(r),a=Er(r),u=qt(r)==="y",l=Hf.has(i)?-1:1,c=s&&u?-1:1,f=Rr(t,e),{mainAxis:m,crossAxis:g,alignmentAxis:d}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return a&&typeof d=="number"&&(g=a==="end"?d*-1:d),u?{x:g*c,y:m*l}:{x:m*l,y:g*c}}var Uf=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var r,o;let{x:n,y:s,placement:i,middlewareData:a}=t,u=await Hb(t,e);return i===((r=a.offset)==null?void 0:r.placement)&&(o=a.arrow)!=null&&o.alignmentOffset?{}:{x:n+u.x,y:s+u.y,data:{...u,placement:i}}}}},Wf=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:r,y:o,placement:n,platform:s}=t,{mainAxis:i=!0,crossAxis:a=!1,limiter:u={fn:C=>{let{x:w,y:b}=C;return{x:w,y:b}}},...l}=Rr(e,t),c={x:r,y:o},f=await s.detectOverflow(t,l),m=qt(_t(n)),g=qs(m),d=c[g],v=c[m];if(i){let C=g==="y"?"top":"left",w=g==="y"?"bottom":"right",b=d+f[C],R=d-f[w];d=ts(b,d,R)}if(a){let C=m==="y"?"top":"left",w=m==="y"?"bottom":"right",b=v+f[C],R=v-f[w];v=ts(b,v,R)}let S=u.fn({...t,[g]:d,[m]:v});return{...S,data:{x:S.x-r,y:S.y-o,enabled:{[g]:i,[m]:a}}}}}},Gf=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:r,y:o,placement:n,rects:s,middlewareData:i}=t,{offset:a=0,mainAxis:u=!0,crossAxis:l=!0}=Rr(e,t),c={x:r,y:o},f=qt(n),m=qs(f),g=c[m],d=c[f],v=Rr(a,t),S=typeof v=="number"?{mainAxis:v,crossAxis:0}:{mainAxis:0,crossAxis:0,...v};if(u){let b=m==="y"?"height":"width",R=s.reference[m]-s.floating[b]+S.mainAxis,k=s.reference[m]+s.reference[b]-S.mainAxis;g<R?g=R:g>k&&(g=k)}if(l){var C,w;let b=m==="y"?"width":"height",R=Hf.has(_t(n)),k=s.reference[f]-s.floating[b]+(R&&((C=i.offset)==null?void 0:C[f])||0)+(R?0:S.crossAxis),T=s.reference[f]+s.reference[b]+(R?0:((w=i.offset)==null?void 0:w[f])||0)-(R?S.crossAxis:0);d<k?d=k:d>T&&(d=T)}return{[m]:g,[f]:d}}}},Yf=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var r,o;let{placement:n,rects:s,platform:i,elements:a}=t,{apply:u=()=>{},...l}=Rr(e,t),c=await i.detectOverflow(t,l),f=_t(n),m=Er(n),g=qt(n)==="y",{width:d,height:v}=s.floating,S,C;f==="top"||f==="bottom"?(S=f,C=m===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?"start":"end")?"left":"right"):(C=f,S=m==="end"?"top":"bottom");let w=v-c.top-c.bottom,b=d-c.left-c.right,R=uo(v-c[S],w),k=uo(d-c[C],b),T=!t.middlewareData.shift,_=R,A=k;if((r=t.middlewareData.shift)!=null&&r.enabled.x&&(A=b),(o=t.middlewareData.shift)!=null&&o.enabled.y&&(_=w),T&&!m){let q=Mt(c.left,0),U=Mt(c.right,0),x=Mt(c.top,0),I=Mt(c.bottom,0);g?A=d-2*(q!==0||U!==0?q+U:Mt(c.left,c.right)):_=v-2*(x!==0||I!==0?x+I:Mt(c.top,c.bottom))}await u({...t,availableWidth:A,availableHeight:_});let N=await i.getDimensions(a.floating);return d!==N.width||v!==N.height?{reset:{rects:!0}}:{}}}};function Kf(e){let t=Pt(e),r=parseFloat(t.width)||0,o=parseFloat(t.height)||0,n=St(e),s=n?e.offsetWidth:r,i=n?e.offsetHeight:o,a=fo(r)!==s||fo(o)!==i;return a&&(r=s,o=i),{width:r,height:o,$:a}}function Ja(e){return we(e)?e:e.contextElement}function fn(e){let t=Ja(e);if(!St(t))return Cr(1);let r=t.getBoundingClientRect(),{width:o,height:n,$:s}=Kf(t),i=(s?fo(r.width):r.width)/o,a=(s?fo(r.height):r.height)/n;return(!i||!Number.isFinite(i))&&(i=1),(!a||!Number.isFinite(a))&&(a=1),{x:i,y:a}}var Ub=Cr(0);function Jf(e){let t=lt(e);return!zs()||!t.visualViewport?Ub:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Wb(e,t,r){return t===void 0&&(t=!1),!r||t&&r!==lt(e)?!1:t}function No(e,t,r,o){t===void 0&&(t=!1),r===void 0&&(r=!1);let n=e.getBoundingClientRect(),s=Ja(e),i=Cr(1);t&&(o?we(o)&&(i=fn(o)):i=fn(e));let a=Wb(s,r,o)?Jf(s):Cr(0),u=(n.left+a.x)/i.x,l=(n.top+a.y)/i.y,c=n.width/i.x,f=n.height/i.y;if(s){let m=lt(s),g=o&&we(o)?lt(o):o,d=m,v=js(d);for(;v&&o&&g!==d;){let S=fn(v),C=v.getBoundingClientRect(),w=Pt(v),b=C.left+(v.clientLeft+parseFloat(w.paddingLeft))*S.x,R=C.top+(v.clientTop+parseFloat(w.paddingTop))*S.y;u*=S.x,l*=S.y,c*=S.x,f*=S.y,u+=b,l+=R,d=lt(v),v=js(d)}}return Io({width:c,height:f,x:u,y:l})}function Xs(e,t){let r=Jn(e).scrollLeft;return t?t.left+r:No(br(e)).left+r}function Qf(e,t){let r=e.getBoundingClientRect(),o=r.left+t.scrollLeft-Xs(e,r),n=r.top+t.scrollTop;return{x:o,y:n}}function Gb(e){let{elements:t,rect:r,offsetParent:o,strategy:n}=e,s=n==="fixed",i=br(o),a=t?Kn(t.floating):!1;if(o===i||a&&s)return r;let u={scrollLeft:0,scrollTop:0},l=Cr(1),c=Cr(0),f=St(o);if((f||!f&&!s)&&((ko(o)!=="body"||an(i))&&(u=Jn(o)),f)){let g=No(o);l=fn(o),c.x=g.x+o.clientLeft,c.y=g.y+o.clientTop}let m=i&&!f&&!s?Qf(i,u):Cr(0);return{width:r.width*l.x,height:r.height*l.y,x:r.x*l.x-u.scrollLeft*l.x+c.x+m.x,y:r.y*l.y-u.scrollTop*l.y+c.y+m.y}}function Yb(e){return Array.from(e.getClientRects())}function qb(e){let t=br(e),r=Jn(e),o=e.ownerDocument.body,n=Mt(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),s=Mt(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight),i=-r.scrollLeft+Xs(e),a=-r.scrollTop;return Pt(o).direction==="rtl"&&(i+=Mt(t.clientWidth,o.clientWidth)-n),{width:n,height:s,x:i,y:a}}var qf=25;function Zb(e,t){let r=lt(e),o=br(e),n=r.visualViewport,s=o.clientWidth,i=o.clientHeight,a=0,u=0;if(n){s=n.width,i=n.height;let c=zs();(!c||c&&t==="fixed")&&(a=n.offsetLeft,u=n.offsetTop)}let l=Xs(o);if(l<=0){let c=o.ownerDocument,f=c.body,m=getComputedStyle(f),g=c.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,d=Math.abs(o.clientWidth-f.clientWidth-g);d<=qf&&(s-=d)}else l<=qf&&(s+=l);return{width:s,height:i,x:a,y:u}}function Xb(e,t){let r=No(e,!0,t==="fixed"),o=r.top+e.clientTop,n=r.left+e.clientLeft,s=St(e)?fn(e):Cr(1),i=e.clientWidth*s.x,a=e.clientHeight*s.y,u=n*s.x,l=o*s.y;return{width:i,height:a,x:u,y:l}}function Zf(e,t,r){let o;if(t==="viewport")o=Zb(e,r);else if(t==="document")o=qb(br(e));else if(we(t))o=Xb(t,r);else{let n=Jf(e);o={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Io(o)}function $f(e,t){let r=vr(e);return r===t||!we(r)||wr(r)?!1:Pt(r).position==="fixed"||$f(r,t)}function Kb(e,t){let r=t.get(e);if(r)return r;let o=ao(e,[],!1).filter(a=>we(a)&&ko(a)!=="body"),n=null,s=Pt(e).position==="fixed",i=s?vr(e):e;for(;we(i)&&!wr(i);){let a=Pt(i),u=Bs(i);!u&&a.position==="fixed"&&(n=null),(s?!u&&!n:!u&&a.position==="static"&&!!n&&(n.position==="absolute"||n.position==="fixed")||an(i)&&!u&&$f(e,i))?o=o.filter(c=>c!==i):n=a,i=vr(i)}return t.set(e,o),o}function Jb(e){let{element:t,boundary:r,rootBoundary:o,strategy:n}=e,i=[...r==="clippingAncestors"?Kn(t)?[]:Kb(t,this._c):[].concat(r),o],a=Zf(t,i[0],n),u=a.top,l=a.right,c=a.bottom,f=a.left;for(let m=1;m<i.length;m++){let g=Zf(t,i[m],n);u=Mt(g.top,u),l=uo(g.right,l),c=uo(g.bottom,c),f=Mt(g.left,f)}return{width:l-f,height:c-u,x:f,y:u}}function Qb(e){let{width:t,height:r}=Kf(e);return{width:t,height:r}}function $b(e,t,r){let o=St(t),n=br(t),s=r==="fixed",i=No(e,!0,s,t),a={scrollLeft:0,scrollTop:0},u=Cr(0);function l(){u.x=Xs(n)}if(o||!o&&!s)if((ko(t)!=="body"||an(n))&&(a=Jn(t)),o){let g=No(t,!0,s,t);u.x=g.x+t.clientLeft,u.y=g.y+t.clientTop}else n&&l();s&&!o&&n&&l();let c=n&&!o&&!s?Qf(n,a):Cr(0),f=i.left+a.scrollLeft-u.x-c.x,m=i.top+a.scrollTop-u.y-c.y;return{x:f,y:m,width:i.width,height:i.height}}function Ka(e){return Pt(e).position==="static"}function Xf(e,t){if(!St(e)||Pt(e).position==="fixed")return null;if(t)return t(e);let r=e.offsetParent;return br(e)===r&&(r=r.ownerDocument.body),r}function ed(e,t){let r=lt(e);if(Kn(e))return r;if(!St(e)){let n=vr(e);for(;n&&!wr(n);){if(we(n)&&!Ka(n))return n;n=vr(n)}return r}let o=Xf(e,t);for(;o&&tf(o)&&Ka(o);)o=Xf(o,t);return o&&wr(o)&&Ka(o)&&!Bs(o)?r:o||rf(e)||r}var e0=async function(e){let t=this.getOffsetParent||ed,r=this.getDimensions,o=await r(e.floating);return{reference:$b(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function t0(e){return Pt(e).direction==="rtl"}var Qa={convertOffsetParentRelativeRectToViewportRelativeRect:Gb,getDocumentElement:br,getClippingRect:Jb,getOffsetParent:ed,getElementRects:e0,getClientRects:Yb,getDimensions:Qb,getScale:fn,isElement:we,isRTL:t0};function td(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function r0(e,t){let r=null,o,n=br(e);function s(){var a;clearTimeout(o),(a=r)==null||a.disconnect(),r=null}function i(a,u){a===void 0&&(a=!1),u===void 0&&(u=1),s();let l=e.getBoundingClientRect(),{left:c,top:f,width:m,height:g}=l;if(a||t(),!m||!g)return;let d=es(f),v=es(n.clientWidth-(c+m)),S=es(n.clientHeight-(f+g)),C=es(c),b={rootMargin:-d+"px "+-v+"px "+-S+"px "+-C+"px",threshold:Mt(0,uo(1,u))||1},R=!0;function k(T){let _=T[0].intersectionRatio;if(_!==u){if(!R)return i();_?i(!1,_):o=setTimeout(()=>{i(!1,1e-7)},1e3)}_===1&&!td(l,e.getBoundingClientRect())&&i(),R=!1}try{r=new IntersectionObserver(k,{...b,root:n.ownerDocument})}catch{r=new IntersectionObserver(k,b)}r.observe(e)}return i(!0),s}function ns(e,t,r,o){o===void 0&&(o={});let{ancestorScroll:n=!0,ancestorResize:s=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:u=!1}=o,l=Ja(e),c=n||s?[...l?ao(l):[],...t?ao(t):[]]:[];c.forEach(C=>{n&&C.addEventListener("scroll",r,{passive:!0}),s&&C.addEventListener("resize",r)});let f=l&&a?r0(l,r):null,m=-1,g=null;i&&(g=new ResizeObserver(C=>{let[w]=C;w&&w.target===l&&g&&t&&(g.unobserve(t),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var b;(b=g)==null||b.observe(t)})),r()}),l&&!u&&g.observe(l),t&&g.observe(t));let d,v=u?No(e):null;u&&S();function S(){let C=No(e);v&&!td(v,C)&&r(),v=C,d=requestAnimationFrame(S)}return r(),()=>{var C;c.forEach(w=>{n&&w.removeEventListener("scroll",r),s&&w.removeEventListener("resize",r)}),f?.(),(C=g)==null||C.disconnect(),g=null,u&&cancelAnimationFrame(d)}}var rd=Uf;var od=Wf,nd=zf,sd=Yf,id=jf;var ad=Gf,Ks=(e,t,r)=>{let o=new Map,n={platform:Qa,...r},s={...n.platform,_c:o};return Bf(e,t,{...n,platform:s})};var yt=h(be(),1),cd=h(be(),1),ud=h(lo(),1),n0=typeof document<"u",s0=function(){},Js=n0?cd.useLayoutEffect:s0;function Qs(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let r,o,n;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!==t.length)return!1;for(o=r;o--!==0;)if(!Qs(e[o],t[o]))return!1;return!0}if(n=Object.keys(e),r=n.length,r!==Object.keys(t).length)return!1;for(o=r;o--!==0;)if(!{}.hasOwnProperty.call(t,n[o]))return!1;for(o=r;o--!==0;){let s=n[o];if(!(s==="_owner"&&e.$$typeof)&&!Qs(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function fd(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function ld(e,t){let r=fd(e);return Math.round(t*r)/r}function $a(e){let t=yt.useRef(e);return Js(()=>{t.current=e}),t}function dd(e){e===void 0&&(e={});let{placement:t="bottom",strategy:r="absolute",middleware:o=[],platform:n,elements:{reference:s,floating:i}={},transform:a=!0,whileElementsMounted:u,open:l}=e,[c,f]=yt.useState({x:0,y:0,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[m,g]=yt.useState(o);Qs(m,o)||g(o);let[d,v]=yt.useState(null),[S,C]=yt.useState(null),w=yt.useCallback(M=>{M!==T.current&&(T.current=M,v(M))},[]),b=yt.useCallback(M=>{M!==_.current&&(_.current=M,C(M))},[]),R=s||d,k=i||S,T=yt.useRef(null),_=yt.useRef(null),A=yt.useRef(c),N=u!=null,q=$a(u),U=$a(n),x=$a(l),I=yt.useCallback(()=>{if(!T.current||!_.current)return;let M={placement:t,strategy:r,middleware:m};U.current&&(M.platform=U.current),Ks(T.current,_.current,M).then(E=>{let L={...E,isPositioned:x.current!==!1};W.current&&!Qs(A.current,L)&&(A.current=L,ud.flushSync(()=>{f(L)}))})},[m,t,r,U,x]);Js(()=>{l===!1&&A.current.isPositioned&&(A.current.isPositioned=!1,f(M=>({...M,isPositioned:!1})))},[l]);let W=yt.useRef(!1);Js(()=>(W.current=!0,()=>{W.current=!1}),[]),Js(()=>{if(R&&(T.current=R),k&&(_.current=k),R&&k){if(q.current)return q.current(R,k,I);I()}},[R,k,I,q,N]);let O=yt.useMemo(()=>({reference:T,floating:_,setReference:w,setFloating:b}),[w,b]),D=yt.useMemo(()=>({reference:R,floating:k}),[R,k]),J=yt.useMemo(()=>{let M={position:r,left:0,top:0};if(!D.floating)return M;let E=ld(D.floating,c.x),L=ld(D.floating,c.y);return a?{...M,transform:"translate("+E+"px, "+L+"px)",...fd(D.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:E,top:L}},[r,a,D.floating,c.x,c.y]);return yt.useMemo(()=>({...c,update:I,refs:O,elements:D,floatingStyles:J}),[c,I,O,D,J])}var el=(e,t)=>{let r=rd(e);return{name:r.name,fn:r.fn,options:[e,t]}},tl=(e,t)=>{let r=od(e);return{name:r.name,fn:r.fn,options:[e,t]}},rl=(e,t)=>({fn:ad(e).fn,options:[e,t]}),ol=(e,t)=>{let r=nd(e);return{name:r.name,fn:r.fn,options:[e,t]}},nl=(e,t)=>{let r=sd(e);return{name:r.name,fn:r.fn,options:[e,t]}};var sl=(e,t)=>{let r=id(e);return{name:r.name,fn:r.fn,options:[e,t]}};var mn=h(be(),1),Od=h(lo(),1);var Td=h(be(),1);var Me=(e,t,r,o,n,s,...i)=>{if(i.length>0)throw new Error(Wt(1));let a;if(e&&t&&r&&o&&n&&s)a=(u,l,c,f)=>{let m=e(u,l,c,f),g=t(u,l,c,f),d=r(u,l,c,f),v=o(u,l,c,f),S=n(u,l,c,f);return s(m,g,d,v,S,l,c,f)};else if(e&&t&&r&&o&&n)a=(u,l,c,f)=>{let m=e(u,l,c,f),g=t(u,l,c,f),d=r(u,l,c,f),v=o(u,l,c,f);return n(m,g,d,v,l,c,f)};else if(e&&t&&r&&o)a=(u,l,c,f)=>{let m=e(u,l,c,f),g=t(u,l,c,f),d=r(u,l,c,f);return o(m,g,d,l,c,f)};else if(e&&t&&r)a=(u,l,c,f)=>{let m=e(u,l,c,f),g=t(u,l,c,f);return r(m,g,l,c,f)};else if(e&&t)a=(u,l,c,f)=>{let m=e(u,l,c,f);return t(m,l,c,f)};else if(e)a=e;else throw new Error("Missing arguments");return a};var Rd=h(be(),1),fl=h(al(),1),Ed=h(bd(),1);var wd=h(be(),1);var ll=[],cl;function xd(){return cl}function Sd(e){ll.push(e)}function ul(e){let t=(r,o)=>{let n=Tt(C0).current,s;try{cl=n;for(let i of ll)i.before(n);s=e(r,o);for(let i of ll)i.after(n);n.didInitialize=!0}finally{cl=void 0}return s};return t.displayName=e.displayName||e.name,t}function Cd(e){return wd.forwardRef(ul(e))}function C0(){return{didInitialize:!1}}var R0=rn(19),E0=R0?_0:O0;function ei(e,t,r,o,n){return E0(e,t,r,o,n)}function T0(e,t,r,o,n){let s=Rd.useCallback(()=>t(e.getSnapshot(),r,o,n),[e,t,r,o,n]);return(0,fl.useSyncExternalStore)(e.subscribe,s,s)}Sd({before(e){e.syncIndex=0,e.didInitialize||(e.syncTick=1,e.syncHooks=[],e.didChangeStore=!0,e.getSnapshot=()=>{let t=!1;for(let r=0;r<e.syncHooks.length;r+=1){let o=e.syncHooks[r],n=o.selector(o.store.state,o.a1,o.a2,o.a3);Object.is(o.value,n)||(t=!0,o.value=n)}return t&&(e.syncTick+=1),e.syncTick})},after(e){e.syncHooks.length>0&&(e.didChangeStore&&(e.didChangeStore=!1,e.subscribe=t=>{let r=new Set;for(let n of e.syncHooks)r.add(n.store);let o=[];for(let n of r)o.push(n.subscribe(t));return()=>{for(let n of o)n()}}),(0,fl.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot))}});function _0(e,t,r,o,n){let s=xd();if(!s)return T0(e,t,r,o,n);let i=s.syncIndex;s.syncIndex+=1;let a;return s.didInitialize?(a=s.syncHooks[i],(a.store!==e||a.selector!==t||!Object.is(a.a1,r)||!Object.is(a.a2,o)||!Object.is(a.a3,n))&&(a.store!==e&&(s.didChangeStore=!0),a.store=e,a.selector=t,a.a1=r,a.a2=o,a.a3=n,a.value=t(e.getSnapshot(),r,o,n))):(a={store:e,selector:t,a1:r,a2:o,a3:n,value:t(e.getSnapshot(),r,o,n)},s.syncHooks.push(a)),a.value}function O0(e,t,r,o,n){return(0,Ed.useSyncExternalStoreWithSelector)(e.subscribe,e.getSnapshot,e.getSnapshot,s=>t(s,r,o,n))}var ti=class{constructor(t){this.state=t,this.listeners=new Set,this.updateTick=0}subscribe=t=>(this.listeners.add(t),()=>{this.listeners.delete(t)});getSnapshot=()=>this.state;setState(t){if(this.state===t)return;this.state=t,this.updateTick+=1;let r=this.updateTick;for(let o of this.listeners){if(r!==this.updateTick)return;o(t)}}update(t){for(let r in t)if(!Object.is(this.state[r],t[r])){this.setState({...this.state,...t});return}}set(t,r){Object.is(this.state[t],r)||this.setState({...this.state,[t]:r})}notifyAll(){let t={...this.state};this.setState(t)}use(t,r,o,n){return ei(this,t,r,o,n)}};var Do=h(be(),1);var pn=class extends ti{constructor(t,r={},o){super(t),this.context=r,this.selectors=o}useSyncedValue(t,r){Do.useDebugValue(t);let o=this;ge(()=>{o.state[t]!==r&&o.set(t,r)},[o,t,r])}useSyncedValueWithCleanup(t,r){let o=this;ge(()=>(o.state[t]!==r&&o.set(t,r),()=>{o.set(t,void 0)}),[o,t,r])}useSyncedValues(t){let r=this,o=Object.values(t);ge(()=>{r.update(t)},[r,...o])}useControlledProp(t,r){Do.useDebugValue(t);let o=this,n=r!==void 0;ge(()=>{n&&!Object.is(o.state[t],r)&&o.setState({...o.state,[t]:r})},[o,t,r,n])}select(t,r,o,n){let s=this.selectors[t];return s(this.state,r,o,n)}useState(t,r,o,n){return Do.useDebugValue(t),ei(this,this.selectors[t],r,o,n)}useContextCallback(t,r){Do.useDebugValue(t);let o=_e(r??so);this.context[t]=o}useStateSetter(t){let r=Do.useRef(void 0);return r.current===void 0&&(r.current=o=>{this.set(t,o)}),r.current}observe(t,r){let o;typeof t=="function"?o=t:o=this.selectors[t];let n=o(this.state);return r(n,n,this),this.subscribe(s=>{let i=o(s);if(!Object.is(n,i)){let a=n;n=i,r(i,a,this)}})}};var P0={open:Me(e=>e.open),transitionStatus:Me(e=>e.transitionStatus),domReferenceElement:Me(e=>e.domReferenceElement),referenceElement:Me(e=>e.positionReference??e.referenceElement),floatingElement:Me(e=>e.floatingElement),floatingId:Me(e=>e.floatingId)},Pr=class extends pn{constructor(t){let{syncOnly:r,nested:o,onOpenChange:n,triggerElements:s,...i}=t;super({...i,positionReference:i.referenceElement,domReferenceElement:i.referenceElement},{onOpenChange:n,dataRef:{current:{}},events:If(),nested:o,triggerElements:s},P0),this.syncOnly=r}syncOpenEvent=(t,r)=>{(!t||!this.state.open||r!=null&&gf(r))&&(this.context.dataRef.current.openEvent=t?r:void 0)};dispatchOpenChange=(t,r)=>{this.syncOpenEvent(t,r.event);let o={open:t,reason:r.reason,nativeEvent:r.event,nested:this.context.nested,triggerElement:r.trigger};this.context.events.emit("openchange",o)};setOpen=(t,r)=>{if(this.syncOnly){this.context.onOpenChange?.(t,r);return}this.dispatchOpenChange(t,r),this.context.onOpenChange?.(t,r)}};function _d(e){let{popupStore:t,treatPopupAsFloatingElement:r=!1,floatingRootContext:o,floatingId:n,nested:s,onOpenChange:i}=e,a=t.useState("open"),u=t.useState("activeTriggerElement"),l=t.useState(r?"popupElement":"positionerElement"),c=t.context.triggerElements,f=i,m=Td.useRef(null);o===void 0&&m.current===null&&(m.current=new Pr({open:a,transitionStatus:void 0,referenceElement:u,floatingElement:l,triggerElements:c,onOpenChange:f,floatingId:n,syncOnly:!0,nested:s}));let g=o??m.current;return t.useSyncedValue("floatingId",n),ge(()=>{let d={open:a,floatingId:n,referenceElement:u,floatingElement:l};we(u)&&(d.domReferenceElement=u),g.state.positionReference===g.state.referenceElement&&(d.positionReference=u),g.update(d)},[a,n,u,l,g]),g.context.onOpenChange=f,g.context.nested=s,g}var Pd={tabIndex:-1,[ja]:""};function kd(e,t,r=!1){let o=io(),n=un()!=null,s=mn.useRef(null);e===void 0&&s.current===null&&(s.current=t(o,n));let i=e??s.current;return _d({popupStore:i,treatPopupAsFloatingElement:r,floatingRootContext:i.state.floatingRootContext,floatingId:o,nested:n,onOpenChange:i.setOpen}),{store:i,internalStore:s.current}}function k0(e,t){let r=mn.useRef(null),o=mn.useRef(null);return mn.useCallback(n=>{if(e===void 0)return;let s=!1;if(r.current!==null){let i=r.current,a=o.current,u=t.context.triggerElements.getById(i);a&&u===a&&(t.context.triggerElements.delete(i),s=!0),r.current=null,o.current=null}if(n!==null&&(r.current=e,o.current=n,t.context.triggerElements.add(e,n),s=!0),s){let i=t.context.triggerElements.size;t.select("open")&&t.state.triggerCount!==i&&t.set("triggerCount",i)}},[t,e])}function F0(e,t,r,o=!1){t?e.preventUnmountingOnClose=!1:o&&(e.preventUnmountingOnClose=!0);let n=r?.id??null;(n||t)&&(e.activeTriggerId=n,e.activeTriggerElement=r??null)}function A0(e){let t=!1;return e.preventUnmountOnClose=()=>{t=!0},()=>t}function Fd(e,t,r,o={}){let n=r.reason,s=n===Oe.triggerHover,i=t&&n===Oe.triggerFocus,a=!t&&(n===Oe.triggerPress||n===Oe.escapeKey),u=A0(r);if(e.context.onOpenChange?.(t,r),r.isCanceled)return;o.onBeforeDispatch?.(),e.state.floatingRootContext.dispatchOpenChange(t,r);let l=()=>{let c={...o.extraState,open:t};i?c.instantType="focus":a?c.instantType="dismiss":s&&(c.instantType=void 0),F0(c,t,r.trigger,u()),e.update(c)};s?Od.flushSync(l):l()}function Ad(e,t,r,o){uf(()=>{t===void 0&&e.state.open===!1&&r&&(e.state={...e.state,open:!0,activeTriggerId:o,preventUnmountingOnClose:!1})})}function Id(e,t,r,o){let n=r.useState("isMountedByTrigger",e),s=k0(e,r),i=_e(a=>{if(s(a),!a)return;let u=r.select("open"),l=r.select("activeTriggerId");if(l===e){r.update({activeTriggerElement:a,...u?o:null});return}l==null&&u&&r.update({activeTriggerId:e,activeTriggerElement:a,...o})});return ge(()=>{n&&r.update({activeTriggerElement:t.current,...o})},[n,r,t,...Object.values(o)]),{registerTrigger:i,isMountedByThisTrigger:n}}function Ld(e,t={}){let{closeOnActiveTriggerUnmount:r=!1}=t,o=e.useState("open"),n=e.useState("triggerCount");ge(()=>{if(!o){e.state.triggerCount!==0&&e.set("triggerCount",0);return}let s=e.context.triggerElements.size,i={};e.state.triggerCount!==s&&(i.triggerCount=s);let a=e.select("activeTriggerId"),u=null;if(a){let l=e.context.triggerElements.getById(a);l?l!==e.state.activeTriggerElement&&(i.activeTriggerElement=l):u=a}if(!u&&!a&&s===1){let l=e.context.triggerElements.entries().next();if(!l.done){let[c,f]=l.value;i.activeTriggerId=c,i.activeTriggerElement=f}}(i.triggerCount!==void 0||i.activeTriggerId!==void 0||i.activeTriggerElement!==void 0)&&e.update(i),u&&r&&queueMicrotask(()=>{if(e.select("open")&&e.select("activeTriggerId")===u&&!e.context.triggerElements.getById(u)){let l=ze(Oe.none);e.setOpen(!1,l),l.isCanceled||e.update({activeTriggerId:null,activeTriggerElement:null})}})},[o,e,n,r])}function Nd(e,t,r){let{mounted:o,setMounted:n,transitionStatus:s}=$u(e),i=t.useState("preventUnmountingOnClose"),a=e?!1:i;t.useSyncedValues({mounted:o,transitionStatus:s,preventUnmountingOnClose:a});let u=_e(()=>{n(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1,preventUnmountingOnClose:!1}),r?.(),t.context.onOpenChangeComplete?.(!1)});return Hs({enabled:o&&!e&&!a,open:e,ref:t.context.popupRef,onComplete(){e||u()}}),{forceUnmount:u,transitionStatus:s}}function Dd(e,t){e.useSyncedValues(t),ge(()=>()=>{e.update({activeTriggerProps:pt,inactiveTriggerProps:pt,popupProps:pt})},[e])}var mo=class{constructor(){this.elementsSet=new Set,this.idMap=new Map}add(t,r){let o=this.idMap.get(t);o!==r&&(o!==void 0&&this.elementsSet.delete(o),this.elementsSet.add(r),this.idMap.set(t,r))}delete(t){let r=this.idMap.get(t);r&&(this.elementsSet.delete(r),this.idMap.delete(t))}hasElement(t){return this.elementsSet.has(t)}hasMatchingElement(t){for(let r of this.elementsSet)if(t(r))return!0;return!1}getById(t){return this.idMap.get(t)}entries(){return this.idMap.entries()}elements(){return this.elementsSet.values()}get size(){return this.idMap.size}};function Md(){return new Pr({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new mo,floatingId:void 0,syncOnly:!1,nested:!1,onOpenChange:void 0})}function Bd(){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:Md(),floatingId:void 0,triggerCount:0,preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:pt,inactiveTriggerProps:pt,popupProps:pt}}function zd(e,t,r=!1){return new Pr({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:e,floatingId:t,syncOnly:!0,nested:r,onOpenChange:void 0})}var ss=Me(e=>e.triggerIdProp??e.activeTriggerId),dl=Me(e=>e.openProp??e.open),Vd=Me(e=>(e.popupElement?.id??e.floatingId)||void 0);function jd(e,t){return t!==void 0&&dl(e)&&ss(e)===t}function I0(e,t){return jd(e,t)?!0:t!==void 0&&dl(e)&&ss(e)==null&&e.triggerCount===1}var Hd={open:dl,mounted:Me(e=>e.mounted),transitionStatus:Me(e=>e.transitionStatus),floatingRootContext:Me(e=>e.floatingRootContext),triggerCount:Me(e=>e.triggerCount),preventUnmountingOnClose:Me(e=>e.preventUnmountingOnClose),payload:Me(e=>e.payload),activeTriggerId:ss,activeTriggerElement:Me(e=>e.mounted?e.activeTriggerElement:null),popupId:Vd,isTriggerActive:Me((e,t)=>t!==void 0&&ss(e)===t),isOpenedByTrigger:Me((e,t)=>jd(e,t)),isMountedByTrigger:Me((e,t)=>t!==void 0&&ss(e)===t&&e.mounted),triggerProps:Me((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),triggerPopupId:Me((e,t)=>I0(e,t)?Vd(e):void 0),popupProps:Me(e=>e.popupProps),popupElement:Me(e=>e.popupElement),positionerElement:Me(e=>e.positionerElement)};function Ud(e){let{open:t=!1,onOpenChange:r,elements:o={}}=e,n=io(),s=un()!=null,i=Tt(()=>new Pr({open:t,transitionStatus:void 0,onOpenChange:r,referenceElement:o.reference??null,floatingElement:o.floating??null,triggerElements:new mo,floatingId:n,syncOnly:!1,nested:s})).current;return ge(()=>{let a={open:t,floatingId:n};o.reference!==void 0&&(a.referenceElement=o.reference,a.domReferenceElement=we(o.reference)?o.reference:null),o.floating!==void 0&&(a.floatingElement=o.floating),i.update(a)},[t,n,o.reference,o.floating,i]),i.context.onOpenChange=r,i.context.nested=s,i}function pl(e={}){let{nodeId:t,externalTree:r}=e,o=Ud(e),n=e.rootContext||o,s=n.useState("referenceElement"),i=n.useState("floatingElement"),a=n.useState("domReferenceElement"),u=n.useState("open"),l=n.useState("floatingId"),[c,f]=Ft.useState(null),[m,g]=Ft.useState(void 0),[d,v]=Ft.useState(void 0),S=Ft.useRef(null),C=po(r),w=Ft.useMemo(()=>({reference:s,floating:i,domReference:a}),[s,i,a]),b=dd({...e,elements:{...w,...c&&{reference:c}}}),R=we(m)?m:null,k=d===void 0?n.state.floatingElement:d;n.useSyncedValue("referenceElement",m??null),n.useSyncedValue("domReferenceElement",m===void 0?a:R),n.useSyncedValue("floatingElement",k);let T=Ft.useCallback(x=>{let I=we(x)?{getBoundingClientRect:()=>x.getBoundingClientRect(),getClientRects:()=>x.getClientRects(),contextElement:x}:x;f(I),b.refs.setReference(I)},[b.refs]),_=Ft.useCallback(x=>{(we(x)||x===null)&&(S.current=x,g(x)),(we(b.refs.reference.current)||b.refs.reference.current===null||x!==null&&!we(x))&&b.refs.setReference(x)},[b.refs,g]),A=Ft.useCallback(x=>{v(x),b.refs.setFloating(x)},[b.refs]),N=Ft.useMemo(()=>({...b.refs,setReference:_,setFloating:A,setPositionReference:T,domReference:S}),[b.refs,_,A,T]),q=Ft.useMemo(()=>({...b.elements,domReference:a}),[b.elements,a]),U=Ft.useMemo(()=>({...b,dataRef:n.context.dataRef,open:u,onOpenChange:n.setOpen,events:n.context.events,floatingId:l,refs:N,elements:q,nodeId:t,rootStore:n}),[b,N,q,t,n,u,l]);return ge(()=>{a&&(S.current=a)},[a]),ge(()=>{n.context.dataRef.current.floatingContext=U;let x=C?.nodesRef.current.find(I=>I.id===t);x&&(x.context=U)}),Ft.useMemo(()=>({...b,context:U,refs:N,elements:q,rootStore:n}),[b,N,q,U,n])}var kr=h(be(),1);var ml=Yr.os.mac&&Yr.engine.webkit;function hl(e,t={}){let{enabled:r=!0,delay:o}=t,n="rootStore"in e?e.rootStore:e,{events:s,dataRef:i}=n.context,a=kr.useRef(!1),u=kr.useRef(null),l=kr.useRef(!0),c=xr();kr.useEffect(()=>{let m=n.select("domReferenceElement");if(!r)return;let g=lt(m);function d(){let C=n.select("domReferenceElement");!n.select("open")&&St(C)&&C===Us(Ct(C))&&(a.current=!0)}function v(){l.current=!0}function S(){l.current=!1}return Sr(Ye(g,"blur",d),ml&&Ye(g,"keydown",v,!0),ml&&Ye(g,"pointerdown",S,!0))},[n,r]),kr.useEffect(()=>{if(!r)return;function m(g){if(g.reason===Oe.triggerPress||g.reason===Oe.escapeKey){let d=n.select("domReferenceElement");we(d)&&(u.current=d,a.current=!0)}}return s.on("openchange",m),()=>{s.off("openchange",m)}},[s,r,n]);let f=kr.useMemo(()=>{function m(){a.current=!1,u.current=null}return{onMouseLeave(){m()},onFocus(g){let d=g.currentTarget;if(a.current){if(u.current===d)return;m()}let v=Dt(g.nativeEvent);if(we(v)){if(ml&&!g.relatedTarget){if(!l.current&&!vf(v))return}else if(!bf(v))return}let S=co(g.relatedTarget,n.context.triggerElements),{nativeEvent:C,currentTarget:w}=g,b=typeof o=="function"?o():o;if(n.select("open")&&S||b===0||b===void 0){n.setOpen(!0,ze(Oe.triggerFocus,C,w));return}c.start(b,()=>{a.current||n.setOpen(!0,ze(Oe.triggerFocus,C,w))})},onBlur(g){m();let d=g.relatedTarget,v=g.nativeEvent,S=we(d)&&d.hasAttribute(cn("focus-guard"))&&d.getAttribute("data-type")==="outside";c.start(0,()=>{let C=n.select("domReferenceElement"),w=Us(Ct(C));!d&&w===C||Ze(i.current.floatingContext?.refs.floating.current,w)||Ze(C,w)||S||co(d??w,n.context.triggerElements)||n.setOpen(!1,ze(Oe.triggerFocus,v))})}}},[i,o,n,c]);return kr.useMemo(()=>r?{reference:f,trigger:f}:{},[r,f])}var yl=h(be(),1);var gl=class e{constructor(){this.pointerType=void 0,this.interactedInside=!1,this.handler=void 0,this.blockMouseMove=!0,this.performedPointerEventsMutation=!1,this.pointerEventsScopeElement=null,this.pointerEventsReferenceElement=null,this.pointerEventsFloatingElement=null,this.restTimeoutPending=!1,this.openChangeTimeout=new nr,this.restTimeout=new nr,this.handleCloseOptions=void 0}static create(){return new e}dispose=()=>{this.openChangeTimeout.clear(),this.restTimeout.clear()};disposeEffect=()=>this.dispose},ri=new WeakMap;function hn(e){if(!e.performedPointerEventsMutation)return;let t=e.pointerEventsScopeElement;t&&ri.get(t)===e&&(e.pointerEventsScopeElement?.style.removeProperty("pointer-events"),e.pointerEventsReferenceElement?.style.removeProperty("pointer-events"),e.pointerEventsFloatingElement?.style.removeProperty("pointer-events"),ri.delete(t)),e.performedPointerEventsMutation=!1,e.pointerEventsScopeElement=null,e.pointerEventsReferenceElement=null,e.pointerEventsFloatingElement=null}function oi(e,t){let{scopeElement:r,referenceElement:o,floatingElement:n}=t,s=ri.get(r);s&&s!==e&&hn(s),hn(e),e.performedPointerEventsMutation=!0,e.pointerEventsScopeElement=r,e.pointerEventsReferenceElement=o,e.pointerEventsFloatingElement=n,ri.set(r,e),r.style.pointerEvents="none",o.style.pointerEvents="auto",n.style.pointerEvents="auto"}function gn(e){let t=e.context.dataRef.current,r=Tt(()=>t.hoverInteractionState??gl.create()).current;return t.hoverInteractionState||(t.hoverInteractionState=r),on(t.hoverInteractionState.disposeEffect),t.hoverInteractionState}function vl(e,t={}){let{enabled:r=!0,closeDelay:o=0,nodeId:n}=t,s="rootStore"in e?e.rootStore:e,i=s.useState("open"),a=s.useState("floatingElement"),u=s.useState("domReferenceElement"),{dataRef:l}=s.context,c=po(),f=un(),m=gn(s),g=xr(),d=_e(()=>Gs(l.current.openEvent?.type,m.interactedInside)),v=_e(()=>wf(l.current.openEvent?.type)),S=_e(()=>{hn(m)});ge(()=>{i||(m.pointerType=void 0,m.restTimeoutPending=!1,m.interactedInside=!1,S())},[i,m,S]),yl.useEffect(()=>S,[S]),ge(()=>{if(r&&i&&m.handleCloseOptions?.blockPointerEvents&&v()&&we(u)&&a){let C=u,w=a,b=Ct(a),R=c?.nodesRef.current.find(A=>A.id===f)?.context?.elements.floating;R&&(R.style.pointerEvents="");let k=m.pointerEventsScopeElement!==w?m.pointerEventsScopeElement:null,T=R!==w?R:null,_=m.handleCloseOptions?.getScope?.()??k??T??C.closest("[data-rootownerid]")??b.body;return oi(m,{scopeElement:_,referenceElement:C,floatingElement:w}),()=>{S()}}},[r,i,u,a,m,v,c,f,S]),yl.useEffect(()=>{if(!r)return;function C(){return!!(c&&f&&Xr(c.nodesRef.current,f).length>0)}function w(A){let N=Zr(o,"close",m.pointerType),q=()=>{s.setOpen(!1,ze(Oe.triggerHover,A)),c?.events.emit("floating.closed",A)};N?m.openChangeTimeout.start(N,q):(m.openChangeTimeout.clear(),q())}function b(A){let N=Dt(A);if(!Ua(N)){m.interactedInside=!1;return}m.interactedInside=N?.closest("[aria-haspopup]")!=null}function R(){m.openChangeTimeout.clear(),g.clear(),c?.events.off("floating.closed",T),S()}function k(A){if(C()&&c){c.events.on("floating.closed",T);return}if(co(A.relatedTarget,s.context.triggerElements))return;let N=l.current.floatingContext?.nodeId??n,q=A.relatedTarget;if(!(c&&N&&we(q)&&Xr(c.nodesRef.current,N,!1).some(x=>Ze(x.context?.elements.floating,q)))){if(m.handler){m.handler(A);return}S(),v()&&!d()&&w(A)}}function T(A){!c||!f||C()||g.start(0,()=>{c.events.off("floating.closed",T),s.setOpen(!1,ze(Oe.triggerHover,A)),c.events.emit("floating.closed",A)})}let _=a;return Sr(_&&Ye(_,"mouseenter",R),_&&Ye(_,"mouseleave",k),_&&Ye(_,"pointerdown",b,!0),()=>{c?.events.off("floating.closed",T)})},[r,a,s,l,o,n,v,d,S,m,c,f,g])}var ho=h(be(),1),Wd=h(lo(),1);var L0={current:null};function bl(e,t={}){let{enabled:r=!0,delay:o=0,handleClose:n=null,mouseOnly:s=!1,restMs:i=0,move:a=!0,triggerElementRef:u=L0,externalTree:l,isActiveTrigger:c=!0,getHandleCloseContext:f,isClosing:m,shouldOpen:g}=t,d="rootStore"in e?e.rootStore:e,{dataRef:v,events:S}=d.context,C=po(l),w=gn(d),b=ho.useRef(!1),R=Yt(n),k=Yt(o),T=Yt(i),_=Yt(r),A=Yt(g),N=Yt(m),q=_e(()=>Gs(v.current.openEvent?.type,w.interactedInside)),U=_e(()=>A.current?.()!==!1),x=_e((O,D,J)=>{let M=d.context.triggerElements;if(M.hasElement(D))return!O||!Ze(O,D);if(!we(J))return!1;let E=J;return M.hasMatchingElement(L=>Ze(L,E))&&(!O||!Ze(O,E))}),I=_e(()=>{if(!w.handler)return;Ct(d.select("domReferenceElement")).removeEventListener("mousemove",w.handler),w.handler=void 0}),W=_e(()=>{hn(w)});return c&&(w.handleCloseOptions=R.current?.__options),ho.useEffect(()=>I,[I]),ho.useEffect(()=>{if(!r)return;function O(D){D.open?b.current=!1:(b.current=D.reason===Oe.triggerHover,I(),w.openChangeTimeout.clear(),w.restTimeout.clear(),w.blockMouseMove=!0,w.restTimeoutPending=!1)}return S.on("openchange",O),()=>{S.off("openchange",O)}},[r,S,w,I]),ho.useEffect(()=>{if(!r)return;function O(E,L=!0){let $=Zr(k.current,"close",w.pointerType);$?w.openChangeTimeout.start($,()=>{d.setOpen(!1,ze(Oe.triggerHover,E)),C?.events.emit("floating.closed",E)}):L&&(w.openChangeTimeout.clear(),d.setOpen(!1,ze(Oe.triggerHover,E)),C?.events.emit("floating.closed",E))}let D=u.current??(c?d.select("domReferenceElement"):null);if(!we(D))return;function J(E){if(w.openChangeTimeout.clear(),w.blockMouseMove=!1,s&&!qr(w.pointerType))return;let L=Wa(T.current),$=Zr(k.current,"open",w.pointerType),F=Dt(E),Z=E.currentTarget??null,se=d.select("domReferenceElement"),xe=Z;if(we(F)&&!d.context.triggerElements.hasElement(F)){for(let G of d.context.triggerElements.elements())if(Ze(G,F)){xe=G;break}}we(Z)&&we(se)&&!d.context.triggerElements.hasElement(Z)&&Ze(Z,se)&&(xe=se);let ie=xe==null?!1:x(se,xe,F),ye=d.select("open"),Ee=N.current?.()??d.select("transitionStatus")==="ending",ee=!ye&&Ee&&b.current,Ae=!ie&&we(xe)&&we(se)&&Ze(se,xe)&&ee,Ie=L>0&&!$,ke=ie&&(ye||ee)||Ae,He=!ye||ie;if(ke){U()&&d.setOpen(!0,ze(Oe.triggerHover,E,xe));return}Ie||($?w.openChangeTimeout.start($,()=>{He&&U()&&d.setOpen(!0,ze(Oe.triggerHover,E,xe))}):He&&U()&&d.setOpen(!0,ze(Oe.triggerHover,E,xe)))}function M(E){if(q()){W();return}I();let L=d.select("domReferenceElement"),$=Ct(L);w.restTimeout.clear(),w.restTimeoutPending=!1;let F=v.current.floatingContext??f?.();if(co(E.relatedTarget,d.context.triggerElements))return;if(R.current&&F){d.select("open")||w.openChangeTimeout.clear();let se=u.current;w.handler=R.current({...F,tree:C,x:E.clientX,y:E.clientY,onClose(){W(),I(),_.current&&!q()&&se===d.select("domReferenceElement")&&O(E,!0)}}),$.addEventListener("mousemove",w.handler),w.handler(E);return}(w.pointerType!=="touch"||!Ze(d.select("floatingElement"),E.relatedTarget))&&O(E)}return a?Sr(Ye(D,"mousemove",J,{once:!0}),Ye(D,"mouseenter",J),Ye(D,"mouseleave",M)):Sr(Ye(D,"mouseenter",J),Ye(D,"mouseleave",M))},[I,W,v,k,d,r,R,w,c,x,q,s,a,T,u,C,_,f,N,U]),ho.useMemo(()=>{if(!r)return;function O(D){w.pointerType=D.pointerType}return{onPointerDown:O,onPointerEnter:O,onMouseMove(D){let{nativeEvent:J}=D,M=D.currentTarget,E=d.select("domReferenceElement"),L=d.select("open"),$=x(E,M,D.target);if(s&&!qr(w.pointerType))return;if(L&&$&&w.handleCloseOptions?.blockPointerEvents){let se=d.select("floatingElement");if(se){let xe=w.handleCloseOptions?.getScope?.()??M.ownerDocument.body;oi(w,{scopeElement:xe,referenceElement:M,floatingElement:se})}}let F=Wa(T.current);if(L&&!$||F===0||!$&&w.restTimeoutPending&&D.movementX**2+D.movementY**2<2)return;w.restTimeout.clear();function Z(){if(w.restTimeoutPending=!1,q())return;let se=d.select("open");!w.blockMouseMove&&(!se||$)&&U()&&d.setOpen(!0,ze(Oe.triggerHover,J,M))}w.pointerType==="touch"?Wd.flushSync(()=>{Z()}):$&&L?Z():(w.restTimeoutPending=!0,w.restTimeout.start(F,Z))}}},[r,w,q,x,s,d,T,U])}var Gd=.1,N0=Gd*Gd,Ke=.5;function ni(e,t,r,o,n,s){return o>=t!=s>=t&&e<=(n-r)*(t-o)/(s-o)+r}function si(e,t,r,o,n,s,i,a,u,l){let c=!1;return ni(e,t,r,o,n,s)&&(c=!c),ni(e,t,n,s,i,a)&&(c=!c),ni(e,t,i,a,u,l)&&(c=!c),ni(e,t,u,l,r,o)&&(c=!c),c}function D0(e,t,r){return e>=r.x&&e<=r.x+r.width&&t>=r.y&&t<=r.y+r.height}function ii(e,t,r,o,n,s){let i=Math.min(r,n),a=Math.max(r,n),u=Math.min(o,s),l=Math.max(o,s);return e>=i&&e<=a&&t>=u&&t<=l}function wl(e={}){let{blockPointerEvents:t=!1}=e,r=new nr,o=({x:n,y:s,placement:i,elements:a,onClose:u,nodeId:l,tree:c})=>{let f=i?.split("-")[0],m=!1,g=null,d=null,v=typeof performance<"u"?performance.now():0;function S(w,b){let R=performance.now(),k=R-v;if(g===null||d===null||k===0)return g=w,d=b,v=R,!1;let T=w-g,_=b-d,A=T*T+_*_,N=k*k*N0;return g=w,d=b,v=R,A<N}function C(){r.clear(),u()}return function(b){r.clear();let R=a.domReference,k=a.floating;if(!R||!k||f==null||n==null||s==null)return;let{clientX:T,clientY:_}=b,A=Dt(b),N=b.type==="mouseleave",q=Ze(k,A),U=Ze(R,A);if(q&&(m=!0,!N))return;if(U&&(m=!1,!N)){m=!0;return}if(N&&we(b.relatedTarget)&&Ze(k,b.relatedTarget))return;function x(){return!!(c&&Xr(c.nodesRef.current,l).length>0)}function I(){x()||C()}if(x())return;let W=R.getBoundingClientRect(),O=k.getBoundingClientRect(),D=n>O.right-O.width/2,J=s>O.bottom-O.height/2,M=O.width>W.width,E=O.height>W.height,L=(M?W:O).left,$=(M?W:O).right,F=(E?W:O).top,Z=(E?W:O).bottom;if(f==="top"&&s>=W.bottom-1||f==="bottom"&&s<=W.top+1||f==="left"&&n>=W.right-1||f==="right"&&n<=W.left+1){I();return}let se=!1;switch(f){case"top":se=ii(T,_,L,W.top+1,$,O.bottom-1);break;case"bottom":se=ii(T,_,L,O.top+1,$,W.bottom-1);break;case"left":se=ii(T,_,O.right-1,Z,W.left+1,F);break;case"right":se=ii(T,_,W.right-1,Z,O.left+1,F);break;default:}if(se)return;if(m&&!D0(T,_,W)){I();return}if(!N&&S(T,_)){I();return}let xe=!1;switch(f){case"top":{let ie=M?Ke/2:Ke*4,ye=M||D?n+ie:n-ie,Ee=M?n-ie:D?n+ie:n-ie,ee=s+Ke+1,Ae=D||M?O.bottom-Ke:O.top,Ie=D?M?O.bottom-Ke:O.top:O.bottom-Ke;xe=si(T,_,ye,ee,Ee,ee,O.left,Ae,O.right,Ie);break}case"bottom":{let ie=M?Ke/2:Ke*4,ye=M||D?n+ie:n-ie,Ee=M?n-ie:D?n+ie:n-ie,ee=s-Ke,Ae=D||M?O.top+Ke:O.bottom,Ie=D?M?O.top+Ke:O.bottom:O.top+Ke;xe=si(T,_,ye,ee,Ee,ee,O.left,Ae,O.right,Ie);break}case"left":{let ie=E?Ke/2:Ke*4,ye=E||J?s+ie:s-ie,Ee=E?s-ie:J?s+ie:s-ie,ee=n+Ke+1,Ae=J||E?O.right-Ke:O.left,Ie=J?E?O.right-Ke:O.left:O.right-Ke;xe=si(T,_,Ae,O.top,Ie,O.bottom,ee,ye,ee,Ee);break}case"right":{let ie=E?Ke/2:Ke*4,ye=E||J?s+ie:s-ie,Ee=E?s-ie:J?s+ie:s-ie,ee=n-Ke,Ae=J||E?O.left+Ke:O.right,Ie=J?E?O.left+Ke:O.right:O.left+Ke;xe=si(T,_,ee,ye,ee,Ee,Ae,O.top,Ie,O.bottom);break}default:}xe?m||r.start(40,I):I()}};return o.__options={...e,blockPointerEvents:t},o}var xl=(function(e){return e.open="data-open",e.closed="data-closed",e[e.startingStyle=Oo.startingStyle]="startingStyle",e[e.endingStyle=Oo.endingStyle]="endingStyle",e.anchorHidden="data-anchor-hidden",e.side="data-side",e.align="data-align",e})({}),is=(function(e){return e.popupOpen="data-popup-open",e.pressed="data-pressed",e})({}),M0={[is.popupOpen]:""},Bk={[is.popupOpen]:"",[is.pressed]:""},V0={[xl.open]:""},B0={[xl.closed]:""},z0={[xl.anchorHidden]:""},Yd={open(e){return e?M0:null}};var yn={open(e){return e?V0:B0},anchorHidden(e){return e?z0:null}};function qd(e){return rn(19)?e:e?"true":void 0}var ir=h(be(),1);var j0=e=>({name:"arrow",options:e,async fn(t){let{x:r,y:o,placement:n,rects:s,platform:i,elements:a,middlewareData:u}=t,{element:l,padding:c=0,offsetParent:f="real"}=Rr(e,t)||{};if(l==null)return{};let m=Zs(c),g={x:r,y:o},d=os(n),v=rs(d),S=await i.getDimensions(l),C=d==="y",w=C?"top":"left",b=C?"bottom":"right",R=C?"clientHeight":"clientWidth",k=s.reference[v]+s.reference[d]-g[d]-s.floating[v],T=g[d]-s.reference[d],_=f==="real"?await i.getOffsetParent?.(l):a.floating,A=a.floating[R]||s.floating[v];(!A||!await i.isElement?.(_))&&(A=a.floating[R]||s.floating[v]);let N=k/2-T/2,q=A/2-S[v]/2-1,U=Math.min(m[w],q),x=Math.min(m[b],q),I=U,W=A-S[v]-x,O=A/2-S[v]/2+N,D=ts(I,O,W),J=!u.arrow&&Er(n)!=null&&O!==D&&s.reference[v]/2-(O<I?U:x)-S[v]/2<0,M=J?O<I?O-I:O-W:0;return{[d]:g[d]+M,data:{[d]:D,centerOffset:O-D-M,...J&&{alignmentOffset:M}},reset:J}}}),Zd=(e,t)=>({...j0(e),options:[e,t]});var H0=sl().fn,Xd={name:"hide",async fn(e){let{width:t,height:r,x:o,y:n}=e.rects.reference,s=t===0&&r===0&&o===0&&n===0;return{data:{referenceHidden:(await H0(e)).data?.referenceHidden||s}}}};var as={sideX:"left",sideY:"top"},Kd={name:"adaptiveOrigin",async fn(e){let{x:t,y:r,rects:{floating:o},elements:{floating:n},platform:s,strategy:i,placement:a}=e,u=lt(n),l=u.getComputedStyle(n);if(!(l.transitionDuration!=="0s"&&l.transitionDuration!==""))return{x:t,y:r,data:as};let f=await s.getOffsetParent?.(n),m={width:0,height:0};if(i==="fixed"&&u?.visualViewport)m={width:u.visualViewport.width,height:u.visualViewport.height};else if(f===u){let w=Ct(n);m={width:w.documentElement.clientWidth,height:w.documentElement.clientHeight}}else await s.isElement?.(f)&&(m=await s.getDimensions(f));let g=_t(a),d=t,v=r;g==="left"&&(d=m.width-(t+o.width)),g==="top"&&(v=m.height-(r+o.height));let S=g==="left"?"right":as.sideX,C=g==="top"?"bottom":as.sideY;return{x:d,y:v,data:{sideX:S,sideY:C}}}};function $d(e,t,r){let o=e==="inline-start"||e==="inline-end";return{top:"top",right:o?r?"inline-start":"inline-end":"right",bottom:"bottom",left:o?r?"inline-end":"inline-start":"left"}[t]}function Jd(e,t,r){let{rects:o,placement:n}=e;return{side:$d(t,_t(n),r),align:Er(n)||"center",anchor:{width:o.reference.width,height:o.reference.height},positioner:{width:o.floating.width,height:o.floating.height}}}function ep(e){let{anchor:t,positionMethod:r="absolute",side:o="bottom",sideOffset:n=0,align:s="center",alignOffset:i=0,collisionBoundary:a,collisionPadding:u=5,sticky:l=!1,arrowPadding:c=5,disableAnchorTracking:f=!1,inline:m,keepMounted:g=!1,floatingRootContext:d,mounted:v,collisionAvoidance:S,shiftCrossAxis:C=!1,nodeId:w,adaptiveOrigin:b,lazyFlip:R=!1,externalTree:k}=e,[T,_]=ir.useState(null);!v&&T!==null&&_(null);let A=S.side||"flip",N=S.align||"flip",q=S.fallbackAxisSide||"end",U=typeof t=="function"?t:void 0,x=_e(U),I=U?x:t,W=Yt(t),O=Yt(v),J=tn()==="rtl",M=T||{top:"top",right:"right",bottom:"bottom",left:"left","inline-end":J?"left":"right","inline-start":J?"right":"left"}[o],E=s==="center"?M:`${M}-${s}`,L=u,$=1,F=o==="bottom"?$:0,Z=o==="top"?$:0,se=o==="right"?$:0,xe=o==="left"?$:0;typeof L=="number"?L={top:L+F,right:L+xe,bottom:L+Z,left:L+se}:L&&(L={top:(L.top||0)+F,right:(L.right||0)+xe,bottom:(L.bottom||0)+Z,left:(L.left||0)+se});let ie={boundary:a==="clipping-ancestors"?"clippingAncestors":a,padding:L},ye=ir.useRef(null),Ee=Yt(n),ee=Yt(i),Ae=typeof n!="function"?n:0,Ie=typeof i!="function"?i:0,ke=[];m&&ke.push(m),ke.push(el(Ne=>{let qe=Jd(Ne,o,J),P=typeof Ee.current=="function"?Ee.current(qe):Ee.current,Q=typeof ee.current=="function"?ee.current(qe):ee.current;return{mainAxis:P,crossAxis:Q,alignmentAxis:Q}},[Ae,Ie,J,o]));let He=N==="none"&&A!=="shift",G=!He&&(l||C||A==="shift"),j=A==="none"?null:ol({...ie,padding:{top:L.top+$,right:L.right+$,bottom:L.bottom+$,left:L.left+$},mainAxis:!C&&A==="flip",crossAxis:N==="flip"?"alignment":!1,fallbackAxisSideDirection:q}),X=He?null:tl(Ne=>{let qe=Ct(Ne.elements.floating).documentElement;return{...ie,rootBoundary:C?{x:0,y:0,width:qe.clientWidth,height:qe.clientHeight}:void 0,mainAxis:N!=="none",crossAxis:G,limiter:l||C?void 0:rl(P=>{if(!ye.current)return{};let{width:Q,height:y}=ye.current.getBoundingClientRect(),oe=qt(_t(P.placement)),Be=oe==="y"?Q:y,te=oe==="y"?L.left+L.right:L.top+L.bottom;return{offset:Be/2+te/2}})}},[ie,l,C,L,N]);A==="shift"||N==="shift"||s==="center"?ke.push(X,j):ke.push(j,X),ke.push(nl({...ie,apply({elements:{floating:Ne},availableWidth:qe,availableHeight:P,rects:Q}){if(!O.current)return;let y=Ne.style;y.setProperty("--available-width",`${qe}px`),y.setProperty("--available-height",`${P}px`);let oe=lt(Ne).devicePixelRatio||1,{x:Be,y:te,width:ht,height:ne}=Q.reference,Qe=(Math.round((Be+ht)*oe)-Math.round(Be*oe))/oe,B=(Math.round((te+ne)*oe)-Math.round(te*oe))/oe;y.setProperty("--anchor-width",`${Qe}px`),y.setProperty("--anchor-height",`${B}px`)}}),Zd(Ne=>({element:ye.current||Ct(Ne.elements.floating).createElement("div"),padding:c,offsetParent:"floating"}),[c]),{name:"transformOrigin",fn(Ne){let{elements:qe,middlewareData:P,placement:Q,rects:y,y:oe}=Ne,Be=_t(Q),te=qt(Be),ht=ye.current,ne=P.arrow?.x||0,Qe=P.arrow?.y||0,B=ht?.clientWidth||0,z=ht?.clientHeight||0,yr=ne+B/2,Ge=Qe+z/2,le=Math.abs(P.shift?.y||0),Ur=y.reference.height/2,tr=typeof n=="function"?n(Jd(Ne,o,J)):n,et=le>tr,Ve={top:`${yr}px calc(100% + ${tr}px)`,bottom:`${yr}px ${-tr}px`,left:`calc(100% + ${tr}px) ${Ge}px`,right:`${-tr}px ${Ge}px`}[Be],ft=`${yr}px ${y.reference.y+Ur-oe}px`;return qe.floating.style.setProperty("--transform-origin",G&&te==="y"&&et?ft:Ve),{}}},Xd,b),ge(()=>{!v&&d&&d.update({referenceElement:null,floatingElement:null,domReferenceElement:null,positionReference:null})},[v,d]);let H=ir.useMemo(()=>({elementResize:!f&&typeof ResizeObserver<"u",layoutShift:!f&&typeof IntersectionObserver<"u"}),[f]),{refs:K,elements:fe,x:ue,y:de,middlewareData:pe,update:me,placement:V,context:re,isPositioned:De,floatingStyles:Ue}=pl({rootContext:d,open:g?v:void 0,placement:E,middleware:ke,strategy:r,whileElementsMounted:g?void 0:(...Ne)=>ns(...Ne,H),nodeId:w,externalTree:k}),{sideX:ot,sideY:ut}=pe.adaptiveOrigin||as,je=De?r:"fixed",We=ir.useMemo(()=>{let Ne=b?{position:je,[ot]:ue,[ut]:de}:{position:je,...Ue};return De||(Ne.opacity=0),Ne},[b,je,ot,ue,ut,de,Ue,De]),nt=ir.useRef(null);ge(()=>{if(!v)return;let Ne=W.current,qe=typeof Ne=="function"?Ne():Ne,Q=(Qd(qe)?qe.current:qe)||null||null;Q!==nt.current&&(K.setPositionReference(Q),nt.current=Q)},[v,K,I,W]),ir.useEffect(()=>{if(!v)return;let Ne=W.current;typeof Ne!="function"&&Qd(Ne)&&Ne.current!==nt.current&&(K.setPositionReference(Ne.current),nt.current=Ne.current)},[v,K,I,W]),ir.useEffect(()=>{if(g&&v&&fe.reference&&fe.floating)return ns(fe.reference,fe.floating,me,H)},[g,v,fe,me,H]);let ve=_t(V),_r=$d(o,ve,J),gr=Er(V)||"center",$e=!!pe.hide?.referenceHidden;ge(()=>{R&&v&&De&&_(ve)},[R,v,De,ve]);let Hr=ir.useMemo(()=>({position:"absolute",top:pe.arrow?.y,left:pe.arrow?.x}),[pe.arrow]),Et=pe.arrow?.centerOffset!==0;return ir.useMemo(()=>({positionerStyles:We,arrowStyles:Hr,arrowRef:ye,arrowUncentered:Et,side:_r,align:gr,physicalSide:ve,anchorHidden:$e,refs:K,context:re,isPositioned:De,update:me}),[We,Hr,ye,Et,_r,gr,ve,$e,K,re,De,me])}function Qd(e){return e!=null&&"current"in e}function ai(e){return e==="starting"?Pf:pt}function tp(e,t,{styles:r,transitionStatus:o,props:n,refs:s,hidden:i,inert:a=!1}){let u={...r};return a&&(u.pointerEvents="none"),Gt("div",e,{state:t,ref:s,props:[{role:"presentation",hidden:i,style:u},ai(o),n],stateAttributesMapping:yn})}var At=h(be(),1),ap=h(lo(),1);var rp=h(be(),1);function op(e){let[t,r]=rp.useState({current:e,previous:null});return e!==t.current&&r({current:e,previous:t.current}),t.previous}var vn=h(be(),1);function Sl(e){let t=Pt(e),r=parseFloat(t.width)||0,o=parseFloat(t.height)||0,n=St(e),s=n?e.offsetWidth:r,i=n?e.offsetHeight:o;return(fo(r)!==s||fo(o)!==i)&&(r=s,o=i),{width:r,height:o}}function sp(e){let{popupElement:t,positionerElement:r,content:o,mounted:n,onMeasureLayout:s,onMeasureLayoutComplete:i,side:a,direction:u}=e,l=ln(t,!0,!1),c=nn(),f=vn.useRef(null),m=vn.useRef(!0),g=vn.useRef(so),d=_e(s),v=_e(i),S=vn.useMemo(()=>{let C=a==="top",w=a==="left";return u==="rtl"?(C=C||a==="inline-end",w=w||a==="inline-end"):(C=C||a==="inline-start",w=w||a==="inline-start"),C?{position:"absolute",[a==="top"?"bottom":"top"]:"0",[w?"right":"left"]:"0"}:pt},[a,u]);ge(()=>{if(!n){g.current=so,m.current=!0,f.current=null;return}if(!t||!r)return;g.current=np(t,S),Cl(t,"auto");let C=ci(t,"position","static"),w=ci(t,"transform","none"),b=ci(t,"scale","1"),R=np(r,{"--available-width":"max-content","--available-height":"max-content"});function k(){C(),w(),R()}function T(){k(),b()}if(d?.(),m.current||f.current===null){li(r,"max-content");let q=Sl(t);return f.current=q,li(r,q),T(),v?.(null,q),m.current=!1,()=>{g.current(),g.current=so}}li(r,"max-content");let _=f.current,A=Sl(t);f.current=A,Cl(t,_),T(),v?.(_,A),li(r,A);let N=new AbortController;return c.request(()=>{Cl(t,A),l(()=>{t.style.setProperty("--popup-width","auto"),t.style.setProperty("--popup-height","auto")},N.signal)}),()=>{N.abort(),c.cancel(),g.current(),g.current=so}},[o,t,r,l,c,n,d,v,S])}function ci(e,t,r){let o=e.style.getPropertyValue(t);return e.style.setProperty(t,r),()=>{e.style.setProperty(t,o)}}function np(e,t){let r=[];for(let[o,n]of Object.entries(t))r.push(ci(e,o,n));return r.length?()=>{r.forEach(o=>o())}:so}function Cl(e,t){let r=t==="auto"?"auto":`${t.width}px`,o=t==="auto"?"auto":`${t.height}px`;e.style.setProperty("--popup-width",r),e.style.setProperty("--popup-height",o)}function li(e,t){let r=t==="max-content"?"max-content":`${t.width}px`,o=t==="max-content"?"max-content":`${t.height}px`;e.style.setProperty("--positioner-width",r),e.style.setProperty("--positioner-height",o)}var bn=h(Y(),1);function lp(e){let{store:t,side:r,cssVars:o,children:n}=e,s=tn(),i=t.useState("activeTriggerElement"),a=t.useState("activeTriggerId"),u=t.useState("open"),l=t.useState("payload"),c=t.useState("mounted"),f=t.useState("popupElement"),m=t.useState("positionerElement"),g=op(u?i:null),d=G0(a,l),v=At.useRef(null),[S,C]=At.useState(null),[w,b]=At.useState(null),R=At.useRef(null),k=At.useRef(null),T=ln(R,!0,!1),_=nn(),[A,N]=At.useState(null),[q,U]=At.useState(!1);ge(()=>(t.set("hasViewport",!0),()=>{t.set("hasViewport",!1)}),[t]);let x=_e(()=>{R.current?.style.setProperty("animation","none"),R.current?.style.setProperty("transition","none"),k.current?.style.setProperty("display","none")}),I=_e(M=>{R.current?.style.removeProperty("animation"),R.current?.style.removeProperty("transition"),k.current?.style.removeProperty("display"),M&&N(M)}),W=At.useRef(null);ge(()=>{(!u||!c)&&(W.current=null)},[u,c]),ge(()=>{if(i&&g&&i!==g&&W.current!==i&&v.current){C(v.current),U(!0);let M=W0(g,i);b(M),_.request(()=>{ap.flushSync(()=>{U(!1)}),T(()=>{C(null),N(null),v.current=null})}),W.current=i}},[i,g,S,T,_]),ge(()=>{let M=R.current;if(!M)return;let E=Ct(M).createElement("div");for(let L of Array.from(M.childNodes))E.appendChild(L.cloneNode(!0));v.current=E});let O=S!=null,D;O?D=(0,bn.jsxs)(At.Fragment,{children:[(0,bn.jsx)("div",{"data-previous":!0,inert:qd(!0),ref:k,style:{...A?{[o.popupWidth]:`${A.width}px`,[o.popupHeight]:`${A.height}px`}:null,position:"absolute"},"data-ending-style":q?void 0:""},"previous"),(0,bn.jsx)("div",{"data-current":!0,ref:R,"data-starting-style":q?"":void 0,children:n},d)]}):D=(0,bn.jsx)("div",{"data-current":!0,ref:R,children:n},d),ge(()=>{let M=k.current;!M||!S||M.replaceChildren(...Array.from(S.childNodes))},[S]),sp({popupElement:f,positionerElement:m,mounted:c,content:l,onMeasureLayout:x,onMeasureLayoutComplete:I,side:r,direction:s});let J={activationDirection:U0(w),transitioning:O};return{children:D,state:J}}function U0(e){if(e)return`${ip(e.horizontal,5,"right","left")} ${ip(e.vertical,5,"down","up")}`}function ip(e,t,r,o){return e>t?r:e<-t?o:""}function W0(e,t){let r=e.getBoundingClientRect(),o=t.getBoundingClientRect(),n={x:r.left+r.width/2,y:r.top+r.height/2},s={x:o.left+o.width/2,y:o.top+o.height/2};return{horizontal:s.x-n.x,vertical:s.y-n.y}}function G0(e,t){let[r,o]=At.useState(0),n=At.useRef(e),s=At.useRef(t),i=At.useRef(!1);return ge(()=>{let a=n.current,u=s.current,l=e!==a,c=t!==u;l?(o(f=>f+1),i.current=!c):i.current&&c&&(o(f=>f+1),i.current=!1),n.current=e,s.current=t},[e,t]),`${e??"current"}-${r}`}var ui=h(be(),1),cp=h(lo(),1);var up=h(Y(),1),fp=ui.forwardRef(function(t,r){let{children:o,container:n,className:s,render:i,style:a,...u}=t,{portalNode:l,portalSubtree:c}=qa({container:n,ref:r,componentProps:t,elementProps:u});return!c&&!l?null:(0,up.jsxs)(ui.Fragment,{children:[c,l&&cp.createPortal(o,l)]})});var Kt={};no(Kt,{Arrow:()=>_p,Handle:()=>ls,Popup:()=>Ep,Portal:()=>xp,Positioner:()=>Cp,Provider:()=>Op,Root:()=>pp,Trigger:()=>vp,Viewport:()=>Fp,createHandle:()=>Ap});var Fr=h(be(),1);var fi=h(be(),1),Rl=fi.createContext(void 0);function cr(e){let t=fi.useContext(Rl);if(t===void 0&&!e)throw new Error(Wt(72));return t}var dp=h(be(),1);var Y0={...Hd,disabled:Me(e=>e.disabled),instantType:Me(e=>e.instantType),isInstantPhase:Me(e=>e.isInstantPhase),trackCursorAxis:Me(e=>e.trackCursorAxis),disableHoverablePopup:Me(e=>e.disableHoverablePopup),lastOpenChangeReason:Me(e=>e.openChangeReason),closeOnClick:Me(e=>e.closeOnClick),closeDelay:Me(e=>e.closeDelay),hasViewport:Me(e=>e.hasViewport)},wn=class e extends pn{constructor(t,r,o=!1){let n=new mo,s={...q0(),...t};s.floatingRootContext=zd(n,r,o),super(s,{popupRef:dp.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:n},Y0)}setOpen=(t,r)=>{Fd(this,t,r,{extraState:{openChangeReason:r.reason}})};cancelPendingOpen(t){this.state.floatingRootContext.dispatchOpenChange(!1,ze(Oe.triggerPress,t))}static useStore(t,r){return kd(t,(n,s)=>new e(r,n,s)).store}};function q0(){return{...Bd(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:"none",disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,hasViewport:!1}}var di=h(Y(),1),pp=ul(function(t){let{disabled:r=!1,defaultOpen:o=!1,open:n,disableHoverablePopup:s=!1,trackCursorAxis:i="none",actionsRef:a,onOpenChange:u,onOpenChangeComplete:l,handle:c,triggerId:f,defaultTriggerId:m=null,children:g}=t,d=wn.useStore(c?.store,{open:o,openProp:n,activeTriggerId:m,triggerIdProp:f});Ad(d,n,o,m),d.useControlledProp("openProp",n),d.useControlledProp("triggerIdProp",f),d.useContextCallback("onOpenChange",u),d.useContextCallback("onOpenChangeComplete",l);let v=d.useState("open"),S=!r&&v,C=d.useState("activeTriggerId"),w=d.useState("mounted"),b=d.useState("payload");d.useSyncedValues({trackCursorAxis:i,disableHoverablePopup:s}),d.useSyncedValue("disabled",r),Ld(d,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:R,transitionStatus:k}=Nd(S,d),T=d.useState("isInstantPhase"),_=d.useState("instantType"),A=d.useState("lastOpenChangeReason"),N=Fr.useRef(null);ge(()=>{v&&r&&d.setOpen(!1,ze(Oe.disabled))},[v,r,d]),ge(()=>{k==="ending"&&A===Oe.none||k!=="ending"&&T?(_!=="delay"&&(N.current=_),d.set("instantType","delay")):N.current!==null&&(d.set("instantType",N.current),N.current=null)},[k,T,A,_,d]),ge(()=>{S&&C==null&&d.set("payload",void 0)},[d,C,S]);let q=Fr.useCallback(()=>{d.setOpen(!1,ze(Oe.imperativeAction))},[d]);Fr.useImperativeHandle(a,()=>({unmount:R,close:q}),[R,q]);let U=S||w||!r&&i!=="none";return(0,di.jsxs)(Rl.Provider,{value:d,children:[U&&(0,di.jsx)(Z0,{store:d,disabled:r,trackCursorAxis:i}),typeof g=="function"?g({payload:b}):g]})});function Z0({store:e,disabled:t,trackCursorAxis:r}){let o=e.useState("floatingRootContext"),n=Xa(o,{enabled:!t,referencePress:()=>e.select("closeOnClick")}),s=Za(o,{enabled:!t&&r!=="none",axis:r==="none"?void 0:r}),i=Fr.useMemo(()=>or(s.reference,n.reference),[s.reference,n.reference]),a=Fr.useMemo(()=>or(s.trigger,n.trigger),[s.trigger,n.trigger]),u=Fr.useMemo(()=>or(Pd,s.floating,n.floating),[s.floating,n.floating]);return Dd(e,{activeTriggerProps:i,inactiveTriggerProps:a,popupProps:u}),null}var mi=h(be(),1);var pi=h(be(),1),El=pi.createContext(void 0);function mp(){return pi.useContext(El)}var hp=(function(e){return e[e.popupOpen=is.popupOpen]="popupOpen",e.triggerDisabled="data-trigger-disabled",e})({});var yp="data-base-ui-tooltip-trigger";function gp(e){if("composedPath"in e){let r=e.composedPath();for(let o=0;o<r.length;o+=1){let n=r[o];if(we(n))return n}}let t=e.target;return we(t)?t:null}function X0(e){let t=e;for(;t;){if(t.hasAttribute(yp))return t;let r=t.parentElement;if(r){t=r;continue}let o=t.getRootNode();t="host"in o&&we(o.host)?o.host:null}return null}var vp=Cd(function(t,r){let{render:o,className:n,style:s,handle:i,payload:a,disabled:u,delay:l,closeOnClick:c=!0,closeDelay:f,id:m,...g}=t,d=cr(!0),v=i?.store??d;if(!v)throw new Error(Wt(82));let S=Ju(m),C=v.useState("isTriggerActive",S),w=v.useState("isOpenedByTrigger",S),b=v.useState("floatingRootContext"),R=mi.useRef(null),k=l??600,T=f??0,{registerTrigger:_,isMountedByThisTrigger:A}=Id(S,R,v,{payload:a,closeOnClick:c,closeDelay:T}),N=mp(),{delayRef:q,isInstantPhase:U,hasProvider:x}=Ya(b,{open:w}),I=gn(b);v.useSyncedValue("isInstantPhase",U);let W=v.useState("disabled"),O=u??W,D=Yt(O),J=v.useState("trackCursorAxis"),M=v.useState("disableHoverablePopup"),E=mi.useRef(!1),L=xr(),$=mi.useRef(void 0);function F(){let ke=N?.delay,He=typeof q.current=="object"?q.current.open:void 0,G=k;return x&&(He!==0?G=l??ke??k:G=0),G}function Z(ke){let He=R.current;if(!He||!ke)return!1;let G=X0(ke);return G!==null&&G!==He&&Ze(He,G)}function se(ke){let He=Z(ke);return E.current=He,He&&(I.openChangeTimeout.clear(),I.restTimeout.clear(),I.restTimeoutPending=!1,L.clear()),He}let xe=bl(b,{enabled:!O,mouseOnly:!0,move:!1,handleClose:!M&&J!=="both"?wl():null,restMs:F,delay(){let ke=typeof q.current=="object"?q.current.close:void 0,He=T;return f==null&&x&&(He=ke),{close:He}},triggerElementRef:R,isActiveTrigger:C,isClosing:()=>v.select("transitionStatus")==="ending",shouldOpen(){return!E.current}}),ie=hl(b,{enabled:!O}).reference,ye=ke=>{let He=E.current,G=gp(ke),j=se(G),X=R.current,H=X&&G&&Ze(X,G);if(j&&v.select("open")&&v.select("lastOpenChangeReason")===Oe.triggerHover){v.setOpen(!1,ze(Oe.triggerHover,ke));return}if(He&&!j&&H&&!D.current&&!v.select("open")&&X&&qr($.current)){let K=()=>{!E.current&&!D.current&&!v.select("open")&&v.setOpen(!0,ze(Oe.triggerHover,ke,X))},fe=F();fe===0?(L.clear(),K()):L.start(fe,K)}},Ee=v.useState("triggerProps",A);return Gt("button",t,{state:{open:w},ref:[r,_,R],props:[xe,ie,A||J!=="none"?Ee:void 0,{onMouseOver(ke){ye(ke.nativeEvent)},onFocus(ke){Z(gp(ke.nativeEvent))&&ke.preventBaseUIHandler()},onMouseLeave(){E.current=!1,L.clear(),$.current=void 0},onPointerEnter(ke){$.current=ke.pointerType},onPointerDown(ke){$.current=ke.pointerType,v.set("closeOnClick",c),c&&!v.select("open")&&v.cancelPendingOpen(ke.nativeEvent)},onClick(ke){c&&!v.select("open")&&v.cancelPendingOpen(ke.nativeEvent)},id:S,[hp.triggerDisabled]:O?"":void 0,[yp]:O?void 0:""},g],stateAttributesMapping:Yd})});var wp=h(be(),1);var hi=h(be(),1),Tl=hi.createContext(void 0);function bp(){let e=hi.useContext(Tl);if(e===void 0)throw new Error(Wt(70));return e}var _l=h(Y(),1),xp=wp.forwardRef(function(t,r){let{keepMounted:o=!1,...n}=t;return cr().useState("mounted")||o?(0,_l.jsx)(Tl.Provider,{value:o,children:(0,_l.jsx)(fp,{ref:r,...n})}):null});var yi=h(be(),1);var gi=h(be(),1),Ol=gi.createContext(void 0);function xn(){let e=gi.useContext(Ol);if(e===void 0)throw new Error(Wt(71));return e}var Sp=h(Y(),1),Cp=yi.forwardRef(function(t,r){let{render:o,className:n,anchor:s,positionMethod:i="absolute",side:a="top",align:u="center",sideOffset:l=0,alignOffset:c=0,collisionBoundary:f="clipping-ancestors",collisionPadding:m=5,arrowPadding:g=5,sticky:d=!1,disableAnchorTracking:v=!1,collisionAvoidance:S=kf,style:C,...w}=t,b=cr(),R=bp(),k=b.useState("open"),T=b.useState("mounted"),_=b.useState("trackCursorAxis"),A=b.useState("disableHoverablePopup"),N=b.useState("floatingRootContext"),q=b.useState("instantType"),U=b.useState("transitionStatus"),x=b.useState("hasViewport"),I=ep({anchor:s,positionMethod:i,floatingRootContext:N,mounted:T,side:a,sideOffset:l,align:u,alignOffset:c,collisionBoundary:f,collisionPadding:m,sticky:d,arrowPadding:g,disableAnchorTracking:v,keepMounted:R,collisionAvoidance:S,adaptiveOrigin:x?Kd:void 0}),W=yi.useMemo(()=>({open:k,side:I.side,align:I.align,anchorHidden:I.anchorHidden,instant:_!=="none"?"tracking-cursor":q}),[k,I.side,I.align,I.anchorHidden,_,q]),O=tp(t,W,{styles:I.positionerStyles,transitionStatus:U,props:w,refs:[r,b.useStateSetter("positionerElement")],hidden:!T,inert:!k||_==="both"||A});return(0,Sp.jsx)(Ol.Provider,{value:I,children:O})});var Rp=h(be(),1);var K0={...yn,...ef},Ep=Rp.forwardRef(function(t,r){let{render:o,className:n,style:s,...i}=t,a=cr(),{side:u,align:l}=xn(),c=a.useState("open"),f=a.useState("instantType"),m=a.useState("transitionStatus"),g=a.useState("popupProps"),d=a.useState("floatingRootContext"),v=a.useState("disabled"),S=a.useState("closeDelay");Hs({open:c,ref:a.context.popupRef,onComplete(){c&&a.context.onOpenChangeComplete?.(!0)}}),vl(d,{enabled:!v,closeDelay:S});let C=a.useStateSetter("popupElement");return Gt("div",t,{state:{open:c,side:u,align:l,instant:f,transitionStatus:m},ref:[r,a.context.popupRef,C],props:[g,ai(m),i],stateAttributesMapping:K0})});var Tp=h(be(),1);var _p=Tp.forwardRef(function(t,r){let{render:o,className:n,style:s,...i}=t,a=cr(),{arrowRef:u,side:l,align:c,arrowUncentered:f,arrowStyles:m}=xn(),g=a.useState("open"),d=a.useState("instantType");return Gt("div",t,{state:{open:g,side:l,align:c,uncentered:f,instant:d},ref:[r,u],props:[{style:m,"aria-hidden":!0},i],stateAttributesMapping:yn})});var Pl=h(be(),1);var kl=h(Y(),1),Op=function(t){let{delay:r,closeDelay:o,timeout:n=400}=t,s=Pl.useMemo(()=>({delay:r,closeDelay:o}),[r,o]),i=Pl.useMemo(()=>({open:r,close:o}),[r,o]);return(0,kl.jsx)(El.Provider,{value:s,children:(0,kl.jsx)(Ga,{delay:i,timeoutMs:n,children:t.children})})};var kp=h(be(),1);var Pp=(function(e){return e.popupWidth="--popup-width",e.popupHeight="--popup-height",e})({});var J0={activationDirection:e=>e?{"data-activation-direction":e}:null},Fp=kp.forwardRef(function(t,r){let{render:o,className:n,style:s,children:i,...a}=t,u=cr(),l=xn(),c=u.useState("instantType"),{children:f,state:m}=lp({store:u,side:l.side,cssVars:Pp,children:i}),g={activationDirection:m.activationDirection,transitioning:m.transitioning,instant:c};return Gt("div",t,{state:g,ref:r,props:[a,{children:f}],stateAttributesMapping:J0})});var ls=class{constructor(){this.store=new wn}open(t){let r=t?this.store.context.triggerElements.getById(t):void 0;if(t&&!r)throw new Error(Wt(81,t));this.store.setOpen(!0,ze(Oe.imperativeAction,void 0,r))}close(){this.store.setOpen(!1,ze(Oe.imperativeAction,void 0,void 0))}get isOpen(){return this.store.select("open")}};function Ap(){return new ls}function Sn(e){return Gt(e.defaultTagName??"div",e,e)}var Np=h(Te(),1),Fl="data-wp-hash";function Al(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&$0(document)),e.__wpStyleRuntime}function Q0(e,t){if(!e.head)return!1;for(let r of e.head.querySelectorAll(`style[${Fl}]`))if(r.getAttribute(Fl)===t)return!0;return!1}function Dp(e,t,r){if(!e.head)return;let o=Al(),n=o.injectedStyles.get(e);if(n||(n=new Set,o.injectedStyles.set(e,n)),n.has(t))return;if(Q0(e,t)){n.add(t);return}let s=e.createElement("style");s.setAttribute(Fl,t),s.appendChild(e.createTextNode(r)),e.head.appendChild(s),n.add(t)}function $0(e){let t=Al();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[r,o]of t.styles)Dp(e,r,o);return()=>{let r=t.documents.get(e);if(r!==void 0){if(r<=1){t.documents.delete(e);return}t.documents.set(e,r-1)}}}function Mp(e,t){let r=Al();r.styles.set(e,t);for(let o of r.documents.keys())Dp(o,e,t)}typeof process>"u",Mp("a495f9d138",'@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._83ed8a8da5dd50ea__text{margin:0}._14437cfb77831647__heading-2xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-p-line-height:var(--wpds-typography-line-height-2xl,40px);font-size:var(--wpds-typography-font-size-2xl,32px);line-height:var(--wpds-typography-line-height-2xl,40px)}._14437cfb77831647__heading-2xl,._3c78b7fa9b4072dd__heading-xl{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600)}._3c78b7fa9b4072dd__heading-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-md,24px)}.aa58f227716bcde2__heading-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-lg,15px)}.aa58f227716bcde2__heading-lg,.fc4da56d8dfe52c4__heading-md{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-sm,20px)}.fc4da56d8dfe52c4__heading-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px)}.a9b78c7c82e8dff7__heading-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-xs,16px);text-transform:uppercase}._305ff559e52180d5__body-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-xl,32px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-xl,32px)}._305ff559e52180d5__body-xl,.ca1aa3fc2029e958__body-lg{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}.ca1aa3fc2029e958__body-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-lg,15px);line-height:var(--wpds-typography-line-height-md,24px)}._131101940be12424__body-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}._0e8d87a42c1f75fa__body-sm,._131101940be12424__body-md{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}._0e8d87a42c1f75fa__body-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-size:var(--wpds-typography-font-size-sm,12px);line-height:var(--wpds-typography-line-height-xs,16px)}}}');var Ip={text:"_83ed8a8da5dd50ea__text","heading-2xl":"_14437cfb77831647__heading-2xl","heading-xl":"_3c78b7fa9b4072dd__heading-xl","heading-lg":"aa58f227716bcde2__heading-lg","heading-md":"fc4da56d8dfe52c4__heading-md","heading-sm":"a9b78c7c82e8dff7__heading-sm","body-xl":"_305ff559e52180d5__body-xl","body-lg":"ca1aa3fc2029e958__body-lg","body-md":"_131101940be12424__body-md","body-sm":"_0e8d87a42c1f75fa__body-sm"};typeof process>"u",Mp("af6d9984a6","._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}");var Lp={button:"_6defc79820e382c6__button",input:"d2cff2e5dea83bd1__input",textarea:"_547d86373d02e108__textarea",div:"_8c15fd0ed9f28ba4__div",p:"_43cec3e1eec1066d__p",heading:"e97669c6d9a38497__heading",a:"_2c0831b0499dbd6e__a"},vi=(0,Np.forwardRef)(function({variant:t="body-md",render:r,className:o,...n},s){return Sn({render:r,defaultTagName:"span",ref:s,props:or(n,{className:st(Ip.text,Lp.heading,Lp.p,Ip[t],o)})})});var bi=h(Te(),1),cs=(0,bi.forwardRef)(({icon:e,size:t=24,...r},o)=>(0,bi.cloneElement)(e,{width:t,height:t,...r,ref:o}));var wi=h(Cn(),1),Il=h(Y(),1),Mo=(0,Il.jsx)(wi.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Il.jsx)(wi.Path,{d:"M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z"})});var xi=h(Cn(),1),Ll=h(Y(),1),Vo=(0,Ll.jsx)(xi.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Ll.jsx)(xi.Path,{d:"M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z"})});var Si=h(Cn(),1),Nl=h(Y(),1),Dl=(0,Nl.jsx)(Si.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Nl.jsx)(Si.Path,{d:"M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z"})});var Ci=h(Cn(),1),Ml=h(Y(),1),Ri=(0,Ml.jsx)(Ci.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Ml.jsx)(Ci.Path,{d:"M6.6 6L5.4 7l4.5 5-4.5 5 1.1 1 5.5-6-5.4-6zm6 0l-1.1 1 4.5 5-4.5 5 1.1 1 5.5-6-5.5-6z"})});var Ei=h(Cn(),1),Vl=h(Y(),1),Ti=(0,Vl.jsx)(Ei.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",children:(0,Vl.jsx)(Ei.Path,{d:"M11.6 7l-1.1-1L5 12l5.5 6 1.1-1L7 12l4.6-5zm6 0l-1.1-1-5.5 6 5.5 6 1.1-1-4.6-5 4.6-5z"})});var zp=h(Te(),1);function Bl(e,t,r){return(0,zp.cloneElement)(e??t,{children:r})}var e1=h(Hp(),1);var Wp=h(us(),1),{lock:rA,unlock:Gp}=(0,Wp.__dangerousOptInToUnstableAPIsOnlyForCoreModules)("I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.","@wordpress/ui");function t1(){let e=e1;if(e.ThemeProvider)return e.ThemeProvider;if(!e.privateApis)throw new Error("@wordpress/ui: @wordpress/theme must expose `ThemeProvider` or `privateApis.ThemeProvider`.");return Gp(e.privateApis).ThemeProvider}var Yp=t1();var qp=h(Te(),1),zl="data-wp-hash";function jl(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&o1(document)),e.__wpStyleRuntime}function r1(e,t){if(!e.head)return!1;for(let r of e.head.querySelectorAll(`style[${zl}]`))if(r.getAttribute(zl)===t)return!0;return!1}function Zp(e,t,r){if(!e.head)return;let o=jl(),n=o.injectedStyles.get(e);if(n||(n=new Set,o.injectedStyles.set(e,n)),n.has(t))return;if(r1(e,t)){n.add(t);return}let s=e.createElement("style");s.setAttribute(zl,t),s.appendChild(e.createTextNode(r)),e.head.appendChild(s),n.add(t)}function o1(e){let t=jl();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[r,o]of t.styles)Zp(e,r,o);return()=>{let r=t.documents.get(e);if(r!==void 0){if(r<=1){t.documents.delete(e);return}t.documents.set(e,r-1)}}}function n1(e,t){let r=jl();r.styles.set(e,t);for(let o of r.documents.keys())Zp(o,e,t)}typeof process>"u",n1("32aba35fe1","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._19ce0419607e1896__stack{display:flex}}}");var s1={stack:"_19ce0419607e1896__stack"},i1={xs:"var(--wpds-dimension-gap-xs, 4px)",sm:"var(--wpds-dimension-gap-sm, 8px)",md:"var(--wpds-dimension-gap-md, 12px)",lg:"var(--wpds-dimension-gap-lg, 16px)",xl:"var(--wpds-dimension-gap-xl, 24px)","2xl":"var(--wpds-dimension-gap-2xl, 32px)","3xl":"var(--wpds-dimension-gap-3xl, 40px)"},Rn=(0,qp.forwardRef)(function({direction:t,gap:r,align:o,justify:n,wrap:s,render:i,...a},u){let l={gap:r&&i1[r],alignItems:o,justifyContent:n,flexDirection:t,flexWrap:s};return Sn({render:i,ref:u,props:or(a,{style:l,className:s1.stack})})});var En={};no(En,{Popup:()=>am,Portal:()=>_i,Positioner:()=>Oi,Provider:()=>mm,Root:()=>dm,Trigger:()=>um});var sm=h(Te(),1);var $p=h(Te(),1);var Ul="data-wp-hash";function Wl(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&l1(document)),e.__wpStyleRuntime}function a1(e,t){if(!e.head)return!1;for(let r of e.head.querySelectorAll(`style[${Ul}]`))if(r.getAttribute(Ul)===t)return!0;return!1}function Kp(e,t,r){if(!e.head)return;let o=Wl(),n=o.injectedStyles.get(e);if(n||(n=new Set,o.injectedStyles.set(e,n)),n.has(t))return;if(a1(e,t)){n.add(t);return}let s=e.createElement("style");s.setAttribute(Ul,t),s.appendChild(e.createTextNode(r)),e.head.appendChild(s),n.add(t)}function l1(e){let t=Wl();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[r,o]of t.styles)Kp(e,r,o);return()=>{let r=t.documents.get(e);if(r!==void 0){if(r<=1){t.documents.delete(e);return}t.documents.set(e,r-1)}}}function c1(e,t){let r=Wl();r.styles.set(e,t);for(let o of r.documents.keys())Kp(o,e,t)}typeof process>"u",c1("be37f31c1e","._11fc52b637ff8a7e__slot{inset:0;isolation:isolate;pointer-events:none;position:fixed;z-index:1000000003}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._11fc52b637ff8a7e__slot>*{pointer-events:auto}}}");var Xp={slot:"_11fc52b637ff8a7e__slot"},Jp="data-wp-compat-overlay-slot";function u1(){return typeof document>"u"?null:document}function f1(){let e;try{e=window.top?.wp}catch{}let t=e??window.wp;return typeof t?.components=="object"&&t.components!==null}var Ar=null;function Hl(e){return e.setAttribute("aria-hidden","false"),e}function d1(e){let t=e.createElement("div");return t.setAttribute(Jp,""),Xp.slot&&t.classList.add(Xp.slot),e.body.appendChild(t),t}function Qp(){if(typeof window>"u"||!f1()&&window.__wpUiCompatOverlaySlotEnabled!==!0)return;let e=u1();if(!e||!e.body)return;if(Ar&&Ar.ownerDocument===e&&Ar.isConnected)return Hl(Ar);let t=e.querySelector(`[${Jp}]`);return t instanceof HTMLDivElement?(Ar=Hl(t),Ar):(Ar?.isConnected&&Ar.remove(),Ar=Hl(d1(e)),Ar)}var em=h(Y(),1),_i=(0,$p.forwardRef)(function({container:t,...r},o){return(0,em.jsx)(Kt.Portal,{container:t??Qp(),...r,ref:o})});var tm=h(Te(),1),nm=h(Y(),1),Gl="data-wp-hash";function Yl(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&m1(document)),e.__wpStyleRuntime}function p1(e,t){if(!e.head)return!1;for(let r of e.head.querySelectorAll(`style[${Gl}]`))if(r.getAttribute(Gl)===t)return!0;return!1}function rm(e,t,r){if(!e.head)return;let o=Yl(),n=o.injectedStyles.get(e);if(n||(n=new Set,o.injectedStyles.set(e,n)),n.has(t))return;if(p1(e,t)){n.add(t);return}let s=e.createElement("style");s.setAttribute(Gl,t),s.appendChild(e.createTextNode(r)),e.head.appendChild(s),n.add(t)}function m1(e){let t=Yl();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[r,o]of t.styles)rm(e,r,o);return()=>{let r=t.documents.get(e);if(r!==void 0){if(r<=1){t.documents.delete(e);return}t.documents.set(e,r-1)}}}function om(e,t){let r=Yl();r.styles.set(e,t);for(let o of r.documents.keys())rm(o,e,t)}typeof process>"u",om("10f3806643","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");var h1={"box-sizing":"_336cd3e4e743482f__box-sizing"};typeof process>"u",om("19fcc06039",'@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._480b748dd3510e64__positioner{z-index:var(--wp-ui-tooltip-z-index,initial)}._50096b232db7709d__popup{--_wp-ui-elevation-sm:0 1px 2px rgba(0,0,0,.05),0 2px 3px rgba(0,0,0,.04),0 6px 6px rgba(0,0,0,.03),0 8px 8px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-sm);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:1.4;padding:var(--wpds-dimension-padding-xs,4px) var(--wpds-dimension-padding-sm,8px);@media (forced-colors:active){border-bottom-color:CanvasText;border-bottom-style:solid;border-bottom-width:1px;border-left-color:CanvasText;border-left-style:solid;border-left-width:1px;border-right-color:CanvasText;border-right-style:solid;border-right-width:1px;border-top-color:CanvasText;border-top-style:solid;border-top-width:1px}}}}');var g1={positioner:"_480b748dd3510e64__positioner",popup:"_50096b232db7709d__popup"},Oi=(0,tm.forwardRef)(function({align:t="center",className:r,side:o="top",sideOffset:n=4,...s},i){return(0,nm.jsx)(Kt.Positioner,{ref:i,align:t,side:o,sideOffset:n,...s,className:st(h1["box-sizing"],g1.positioner,r)})});var fs=h(Y(),1),ql="data-wp-hash";function Zl(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&v1(document)),e.__wpStyleRuntime}function y1(e,t){if(!e.head)return!1;for(let r of e.head.querySelectorAll(`style[${ql}]`))if(r.getAttribute(ql)===t)return!0;return!1}function im(e,t,r){if(!e.head)return;let o=Zl(),n=o.injectedStyles.get(e);if(n||(n=new Set,o.injectedStyles.set(e,n)),n.has(t))return;if(y1(e,t)){n.add(t);return}let s=e.createElement("style");s.setAttribute(ql,t),s.appendChild(e.createTextNode(r)),e.head.appendChild(s),n.add(t)}function v1(e){let t=Zl();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[r,o]of t.styles)im(e,r,o);return()=>{let r=t.documents.get(e);if(r!==void 0){if(r<=1){t.documents.delete(e);return}t.documents.set(e,r-1)}}}function b1(e,t){let r=Zl();r.styles.set(e,t);for(let o of r.documents.keys())im(o,e,t)}typeof process>"u",b1("19fcc06039",'@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._480b748dd3510e64__positioner{z-index:var(--wp-ui-tooltip-z-index,initial)}._50096b232db7709d__popup{--_wp-ui-elevation-sm:0 1px 2px rgba(0,0,0,.05),0 2px 3px rgba(0,0,0,.04),0 6px 6px rgba(0,0,0,.03),0 8px 8px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-sm);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:1.4;padding:var(--wpds-dimension-padding-xs,4px) var(--wpds-dimension-padding-sm,8px);@media (forced-colors:active){border-bottom-color:CanvasText;border-bottom-style:solid;border-bottom-width:1px;border-left-color:CanvasText;border-left-style:solid;border-left-width:1px;border-right-color:CanvasText;border-right-style:solid;border-right-width:1px;border-top-color:CanvasText;border-top-style:solid;border-top-width:1px}}}}');var w1={positioner:"_480b748dd3510e64__positioner",popup:"_50096b232db7709d__popup"},x1={background:"#1e1e1e"},am=(0,sm.forwardRef)(function({portal:t,positioner:r,children:o,className:n,...s},i){let a=(0,fs.jsx)(Yp,{color:x1,children:(0,fs.jsx)(Kt.Popup,{ref:i,className:st(w1.popup,n),...s,children:o})}),u=Bl(r,(0,fs.jsx)(Oi,{}),a);return Bl(t,(0,fs.jsx)(_i,{}),u)});var lm=h(Te(),1),cm=h(Y(),1),um=(0,lm.forwardRef)(function(t,r){return(0,cm.jsx)(Kt.Trigger,{ref:r,...t})});var fm=h(Y(),1);function dm(e){return(0,fm.jsx)(Kt.Root,{...e})}var pm=h(Y(),1);function mm({...e}){return(0,pm.jsx)(Kt.Provider,{...e})}var gm=h(Te(),1),Xl="data-wp-hash";function Kl(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&C1(document)),e.__wpStyleRuntime}function S1(e,t){if(!e.head)return!1;for(let r of e.head.querySelectorAll(`style[${Xl}]`))if(r.getAttribute(Xl)===t)return!0;return!1}function ym(e,t,r){if(!e.head)return;let o=Kl(),n=o.injectedStyles.get(e);if(n||(n=new Set,o.injectedStyles.set(e,n)),n.has(t))return;if(S1(e,t)){n.add(t);return}let s=e.createElement("style");s.setAttribute(Xl,t),s.appendChild(e.createTextNode(r)),e.head.appendChild(s),n.add(t)}function C1(e){let t=Kl();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[r,o]of t.styles)ym(e,r,o);return()=>{let r=t.documents.get(e);if(r!==void 0){if(r<=1){t.documents.delete(e);return}t.documents.set(e,r-1)}}}function vm(e,t){let r=Kl();r.styles.set(e,t);for(let o of r.documents.keys())ym(o,e,t)}typeof process>"u",vm("10f3806643","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");var R1={"box-sizing":"_336cd3e4e743482f__box-sizing"};typeof process>"u",vm("ed2c39ec90","@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.b20cc1690085c2f0__skeleton{background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);display:block;@media (forced-colors:active){border:var(--wpds-border-width-xs,1px) solid CanvasText}}._9b143194fdb45f93__pulse{@media not (prefers-reduced-motion){animation:e2b9fe0690281bc8__skeleton-pulse 1.5s ease-in-out infinite}}@keyframes e2b9fe0690281bc8__skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}}}");var hm={skeleton:"b20cc1690085c2f0__skeleton",pulse:"_9b143194fdb45f93__pulse","skeleton-pulse":"e2b9fe0690281bc8__skeleton-pulse"},Jl=(0,gm.forwardRef)(function({render:t,...r},o){return Sn({render:t,ref:o,props:or({className:st(hm.skeleton,hm.pulse,R1["box-sizing"]),"aria-hidden":!0},r)})});var bm=h(Te(),1),wm=h(Y(),1),xm=(0,bm.forwardRef)(({children:e,className:t,ariaLabel:r,as:o="div",...n},s)=>(0,wm.jsx)(o,{ref:s,className:st("admin-ui-navigable-region",t),"aria-label":r,role:"region",tabIndex:"-1",...n,children:e}));xm.displayName="NavigableRegion";var Sm=xm;var Rm=h(ce(),1),{Fill:Em,Slot:Tm}=(0,Rm.createSlotFill)("SidebarToggle");var ur=h(Y(),1),Ql="data-wp-hash";function $l(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&T1(document)),e.__wpStyleRuntime}function E1(e,t){if(!e.head)return!1;for(let r of e.head.querySelectorAll(`style[${Ql}]`))if(r.getAttribute(Ql)===t)return!0;return!1}function _m(e,t,r){if(!e.head)return;let o=$l(),n=o.injectedStyles.get(e);if(n||(n=new Set,o.injectedStyles.set(e,n)),n.has(t))return;if(E1(e,t)){n.add(t);return}let s=e.createElement("style");s.setAttribute(Ql,t),s.appendChild(e.createTextNode(r)),e.head.appendChild(s),n.add(t)}function T1(e){let t=$l();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[r,o]of t.styles)_m(e,r,o);return()=>{let r=t.documents.get(e);if(r!==void 0){if(r<=1){t.documents.delete(e);return}t.documents.set(e,r-1)}}}function _1(e,t){let r=$l();r.styles.set(e,t);for(let o of r.documents.keys())_m(o,e,t)}typeof process>"u",_1("ddd9aab364","._956b6df0898efed0__page{text-wrap:pretty;background-color:var(--wpds-color-background-surface-neutral,#fcfcfc);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);display:flex;flex-flow:column;height:100%;position:relative;z-index:1}._0625b55e82a0d93d__header{background:var(--wpds-color-background-surface-neutral-strong,#fff);border-block-end:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);inset-block-start:0;padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px);position:sticky;z-index:1}.a43c44d5ae28b2e8__header-content{min-height:var(--wpds-dimension-size-md,32px)}.b7cb5b9daf3a3b25__header-actions{flex-shrink:0}._8113be94e7caf73c__header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._9a776c7f70996f61__header-visual{display:grid;flex-shrink:0;grid-template-columns:1fr;grid-template-rows:1fr;height:var(--wpds-dimension-size-sm,24px);width:var(--wpds-dimension-size-sm,24px);>*{grid-column:1/-1;grid-row:1/-1;max-height:100%;max-width:100%}}.d5e0920cd15d35bc__sidebar-toggle-slot:empty{display:none}._60fea2f6bf5319cd__header-subtitle{color:var(--wpds-color-foreground-content-neutral-weak,#707070);padding-block-end:var(--wpds-dimension-padding-xs,4px)}.be5e57d029ec4036__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;&._128806d0b26e3a50__has-padding{padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px)}}");var zo={page:"_956b6df0898efed0__page",header:"_0625b55e82a0d93d__header","header-content":"a43c44d5ae28b2e8__header-content","header-actions":"b7cb5b9daf3a3b25__header-actions","header-title":"_8113be94e7caf73c__header-title","header-visual":"_9a776c7f70996f61__header-visual","sidebar-toggle-slot":"d5e0920cd15d35bc__sidebar-toggle-slot","header-subtitle":"_60fea2f6bf5319cd__header-subtitle",content:"be5e57d029ec4036__content","has-padding":"_128806d0b26e3a50__has-padding"};function Om({headingLevel:e=1,breadcrumbs:t,badges:r,visual:o,title:n,subTitle:s,actions:i,showSidebarToggle:a=!0}){let u=`h${e}`;return(0,ur.jsxs)(Rn,{direction:"column",className:zo.header,children:[(0,ur.jsxs)(Rn,{className:zo["header-content"],direction:"row",gap:"sm",justify:"space-between",children:[(0,ur.jsxs)(Rn,{direction:"row",gap:"sm",align:"center",justify:"start",children:[a&&(0,ur.jsx)(Tm,{bubblesVirtually:!0,className:zo["sidebar-toggle-slot"]}),o&&(0,ur.jsx)("div",{className:zo["header-visual"],"aria-hidden":"true",children:o}),n&&(0,ur.jsx)(vi,{className:zo["header-title"],render:(0,ur.jsx)(u,{}),variant:"heading-lg",children:n}),t,r]}),i&&(0,ur.jsx)(Rn,{align:"center",className:zo["header-actions"],direction:"row",gap:"sm",children:i})]}),s&&(0,ur.jsx)(vi,{render:(0,ur.jsx)("p",{}),variant:"body-md",className:zo["header-subtitle"],children:s})]})}var ds=h(Y(),1),tc="data-wp-hash";function rc(){let e=globalThis;return e.__wpStyleRuntime||(e.__wpStyleRuntime={documents:new Map,styles:new Map,injectedStyles:new WeakMap},typeof document<"u"&&P1(document)),e.__wpStyleRuntime}function O1(e,t){if(!e.head)return!1;for(let r of e.head.querySelectorAll(`style[${tc}]`))if(r.getAttribute(tc)===t)return!0;return!1}function Pm(e,t,r){if(!e.head)return;let o=rc(),n=o.injectedStyles.get(e);if(n||(n=new Set,o.injectedStyles.set(e,n)),n.has(t))return;if(O1(e,t)){n.add(t);return}let s=e.createElement("style");s.setAttribute(tc,t),s.appendChild(e.createTextNode(r)),e.head.appendChild(s),n.add(t)}function P1(e){let t=rc();t.documents.set(e,(t.documents.get(e)??0)+1);for(let[r,o]of t.styles)Pm(e,r,o);return()=>{let r=t.documents.get(e);if(r!==void 0){if(r<=1){t.documents.delete(e);return}t.documents.set(e,r-1)}}}function k1(e,t){let r=rc();r.styles.set(e,t);for(let o of r.documents.keys())Pm(o,e,t)}typeof process>"u",k1("ddd9aab364","._956b6df0898efed0__page{text-wrap:pretty;background-color:var(--wpds-color-background-surface-neutral,#fcfcfc);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);display:flex;flex-flow:column;height:100%;position:relative;z-index:1}._0625b55e82a0d93d__header{background:var(--wpds-color-background-surface-neutral-strong,#fff);border-block-end:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);inset-block-start:0;padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px);position:sticky;z-index:1}.a43c44d5ae28b2e8__header-content{min-height:var(--wpds-dimension-size-md,32px)}.b7cb5b9daf3a3b25__header-actions{flex-shrink:0}._8113be94e7caf73c__header-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._9a776c7f70996f61__header-visual{display:grid;flex-shrink:0;grid-template-columns:1fr;grid-template-rows:1fr;height:var(--wpds-dimension-size-sm,24px);width:var(--wpds-dimension-size-sm,24px);>*{grid-column:1/-1;grid-row:1/-1;max-height:100%;max-width:100%}}.d5e0920cd15d35bc__sidebar-toggle-slot:empty{display:none}._60fea2f6bf5319cd__header-subtitle{color:var(--wpds-color-foreground-content-neutral-weak,#707070);padding-block-end:var(--wpds-dimension-padding-xs,4px)}.be5e57d029ec4036__content{display:flex;flex-direction:column;flex-grow:1;overflow:auto;&._128806d0b26e3a50__has-padding{padding:var(--wpds-dimension-padding-lg,16px) var(--wpds-dimension-padding-2xl,24px)}}");var ec={page:"_956b6df0898efed0__page",header:"_0625b55e82a0d93d__header","header-content":"a43c44d5ae28b2e8__header-content","header-actions":"b7cb5b9daf3a3b25__header-actions","header-title":"_8113be94e7caf73c__header-title","header-visual":"_9a776c7f70996f61__header-visual","sidebar-toggle-slot":"d5e0920cd15d35bc__sidebar-toggle-slot","header-subtitle":"_60fea2f6bf5319cd__header-subtitle",content:"be5e57d029ec4036__content","has-padding":"_128806d0b26e3a50__has-padding"};function km({headingLevel:e,breadcrumbs:t,badges:r,visual:o,title:n,subTitle:s,children:i,className:a,actions:u,ariaLabel:l,hasPadding:c=!1,showSidebarToggle:f=!0}){let m=st(ec.page,a);return(0,ds.jsxs)(Sm,{className:m,ariaLabel:l??(typeof n=="string"?n:""),children:[(n||t||r||u||o)&&(0,ds.jsx)(Om,{headingLevel:e,breadcrumbs:t,badges:r,visual:o,title:n,subTitle:s,actions:u,showSidebarToggle:f}),c?(0,ds.jsx)("div",{className:st(ec.content,ec["has-padding"]),children:i}):i]})}km.SidebarToggleFill=Em;var oc=km;var Un=h(Ce()),Zy=h(ce()),Xy=h(Am()),ba=h(ar()),Ky=h(Jt()),Jy=h(Te());var Gy=h(ce(),1),Yy=h(Tn(),1),yE=h(Jt(),1),vE=h(Vt(),1),vu=h(Te(),1),bE=h(Bo(),1);function _n(e,t,r){t=Array.isArray(t)?[...t]:[t],e=Array.isArray(e)?[...e]:{...e};let o=t.pop(),n=e;for(let s of t){let i=n[s];n=n[s]=Array.isArray(i)?[...i]:{...i}}return n[o]=r,e}var vt=(e,t,r)=>{let o=Array.isArray(t)?t:t.split("."),n=e;return o.forEach(s=>{n=n?.[s]}),n??r};var F1=["appearanceTools","useRootPaddingAwareAlignments","background.backgroundImage","background.backgroundRepeat","background.backgroundSize","background.backgroundPosition","background.gradient","border.color","border.radius","border.radiusSizes","border.style","border.width","shadow.presets","shadow.defaultPresets","color.background","color.button","color.caption","color.custom","color.customDuotone","color.customGradient","color.defaultDuotone","color.defaultGradients","color.defaultPalette","color.duotone","color.gradients","color.heading","color.link","color.palette","color.text","custom","dimensions.aspectRatio","dimensions.height","dimensions.minHeight","dimensions.minWidth","dimensions.width","dimensions.dimensionSizes","layout.contentSize","layout.definitions","layout.wideSize","lightbox.enabled","lightbox.allowEditing","position.fixed","position.sticky","spacing.customSpacingSize","spacing.defaultSpacingSizes","spacing.spacingSizes","spacing.spacingScale","spacing.blockGap","spacing.margin","spacing.padding","spacing.units","typography.fluid","typography.customFontSize","typography.defaultFontSizes","typography.dropCap","typography.fontFamilies","typography.fontSizes","typography.fontStyle","typography.fontWeight","typography.letterSpacing","typography.lineHeight","typography.textAlign","typography.textColumns","typography.textDecoration","typography.textIndent","typography.textTransform","typography.writingMode","viewport.mobile","viewport.tablet"];function nc(e,t,r){let o=r?".blocks."+r:"",n=t?"."+t:"",s=`settings${o}${n}`,i=`settings${n}`;if(t)return vt(e,s)??vt(e,i);let a={};return F1.forEach(u=>{let l=vt(e,`settings${o}.${u}`)??vt(e,`settings.${u}`);l!==void 0&&(a=_n(a,u.split("."),l))}),a}function sc(e,t,r,o){let n=o?".blocks."+o:"",s=t?"."+t:"",i=`settings${n}${s}`;return _n(e,i.split("."),r)}var jm=h(Vm(),1);var A1="1600px",I1="320px",L1=1,N1=.25,D1=.75,M1="14px";function Bm({minimumFontSize:e,maximumFontSize:t,fontSize:r,minimumViewportWidth:o=I1,maximumViewportWidth:n=A1,scaleFactor:s=L1,minimumFontSizeLimit:i}){if(i=Ir(i)?i:M1,r){let b=Ir(r);if(!b?.unit||!b?.value)return null;let R=Ir(i,{coerceTo:b.unit});if(R?.value&&!e&&!t&&b?.value<=R?.value)return null;if(t||(t=`${b.value}${b.unit}`),!e){let k=b.unit==="px"?b.value:b.value*16,T=Math.min(Math.max(1-.075*Math.log2(k),N1),D1),_=ps(b.value*T,3);R?.value&&_<R?.value?e=`${R.value}${R.unit}`:e=`${_}${b.unit}`}}let a=Ir(e),u=a?.unit||"rem",l=Ir(t,{coerceTo:u});if(!a||!l)return null;let c=Ir(e,{coerceTo:"rem"}),f=Ir(n,{coerceTo:u}),m=Ir(o,{coerceTo:u});if(!f||!m||!c)return null;let g=f.value-m.value;if(!g)return null;let d=ps(m.value/100,3),v=ps(d,3)+u,S=100*((l.value-a.value)/g),C=ps((S||1)*s,3),w=`${c.value}${c.unit} + ((1vw - ${v}) * ${C})`;return`clamp(${e}, ${w}, ${t})`}function Ir(e,t={}){if(typeof e!="string"&&typeof e!="number")return null;isFinite(e)&&(e=`${e}px`);let{coerceTo:r,rootSizeValue:o,acceptableUnits:n}={coerceTo:"",rootSizeValue:16,acceptableUnits:["rem","px","em"],...t},s=n?.join("|"),i=new RegExp(`^(\\d*\\.?\\d+)(${s}){1,1}$`),a=e.toString().match(i);if(!a||a.length<3)return null;let[,u,l]=a,c=parseFloat(u);return r==="px"&&(l==="em"||l==="rem")&&(c=c*o,l=r),l==="px"&&(r==="em"||r==="rem")&&(c=c/o,l=r),(r==="em"||r==="rem")&&(l==="em"||l==="rem")&&(l=r),l?{value:ps(c,3),unit:l}:null}function ps(e,t=3){let r=Math.pow(10,t);return Math.round(e*r)/r}function ic(e){let t=e?.fluid;return t===!0||t&&typeof t=="object"&&Object.keys(t).length>0}function V1(e){let t=e?.typography??{},r=e?.layout,o=Ir(r?.wideSize)?r?.wideSize:null;return ic(t)&&o?{fluid:{maxViewportWidth:o,...typeof t.fluid=="object"?t.fluid:{}}}:{fluid:t?.fluid}}function zm(e,t){let{size:r}=e;if(!r||r==="0"||e?.fluid===!1||!ic(t?.typography)&&!ic(e))return r;let o=V1(t)?.fluid??{},n=Bm({minimumFontSize:typeof e?.fluid=="boolean"?void 0:e?.fluid?.min,maximumFontSize:typeof e?.fluid=="boolean"?void 0:e?.fluid?.max,fontSize:r,minimumFontSizeLimit:typeof o=="object"?o?.minFontSize:void 0,maximumViewportWidth:typeof o=="object"?o?.maxViewportWidth:void 0,minimumViewportWidth:typeof o=="object"?o?.minViewportWidth:void 0});return n||r}var B1=[{path:["color","palette"],valueKey:"color",cssVarInfix:"color",classes:[{classSuffix:"color",propertyName:"color"},{classSuffix:"background-color",propertyName:"background-color"},{classSuffix:"border-color",propertyName:"border-color"}]},{path:["color","gradients"],valueKey:"gradient",cssVarInfix:"gradient",classes:[{classSuffix:"gradient-background",propertyName:"background"}]},{path:["color","duotone"],valueKey:"colors",cssVarInfix:"duotone",valueFunc:({slug:e})=>`url( '#wp-duotone-${e}' )`,classes:[]},{path:["shadow","presets"],valueKey:"shadow",cssVarInfix:"shadow",classes:[]},{path:["typography","fontSizes"],valueFunc:(e,t)=>zm(e,t),valueKey:"size",cssVarInfix:"font-size",classes:[{classSuffix:"font-size",propertyName:"font-size"}]},{path:["typography","fontFamilies"],valueKey:"fontFamily",cssVarInfix:"font-family",classes:[{classSuffix:"font-family",propertyName:"font-family"}]},{path:["spacing","spacingSizes"],valueKey:"size",cssVarInfix:"spacing",valueFunc:({size:e})=>e,classes:[]},{path:["border","radiusSizes"],valueKey:"size",cssVarInfix:"border-radius",classes:[]},{path:["dimensions","dimensionSizes"],valueKey:"size",cssVarInfix:"dimension",classes:[]}];function z1(e,t){if(!e||!t)return e;if(typeof e=="object"&&"ref"in e&&e?.ref){let r=(0,jm.getCSSValueFromRawStyle)(vt(t,e.ref));return typeof r=="object"&&r!==null&&"ref"in r&&r?.ref?void 0:r===void 0?e:r}return e}function j1(e,t){if(!e||!t||!Array.isArray(t))return e;let r=t.find(o=>o?.name===e);return r?.href?r?.href:e}function Hm(e,t){if(!e||!t)return e;let r=z1(e,t);return typeof r=="object"&&r!==null&&"url"in r&&r?.url&&(r.url=j1(r.url,t?._links?.["wp:theme-file"])),r}function Um(e,t,r=[],o="slug",n){let s=[t?vt(e,["blocks",t,...r]):void 0,vt(e,r)].filter(Boolean);for(let i of s)if(i){let a=["custom","theme","default"];for(let u of a){let l=i[u];if(l){let c=l.find(f=>f[o]===n);if(c)return o==="slug"||Um(e,t,r,"slug",c.slug)[o]===c[o]?c:void 0}}}}function H1(e,t,r,[o,n]=[]){let s=B1.find(a=>a.cssVarInfix===o);if(!s||!e.settings)return r;let i=Um(e.settings,t,s.path,"slug",n);if(i){let{valueKey:a}=s,u=i[a];return Pi(e,t,u)}return r}function U1(e,t,r,o=[]){let n=(t?vt(e?.settings??{},["blocks",t,"custom",...o]):void 0)??vt(e?.settings??{},["custom",...o]);return n?Pi(e,t,n):r}function Pi(e,t,r){if(!r||typeof r!="string")if(typeof r=="object"&&r!==null&&"ref"in r&&typeof r.ref=="string"){let l=vt(e,r.ref);if(!l||typeof l=="object"&&"ref"in l)return l;r=l}else return r;let o="var:",n="var(--wp--",s=")",i;if(r.startsWith(o))i=r.slice(o.length).split("|");else if(r.startsWith(n)&&r.endsWith(s))i=r.slice(n.length,-s.length).split("--");else return r;let[a,...u]=i;return a==="preset"?H1(e,t,r,u):a==="custom"?U1(e,t,r,u):r}function ki(e,t,r,o=!0){let n=t?"."+t:"",s=r?`styles.blocks.${r}${n}`:`styles${n}`;if(!e)return;let i=vt(e,s),a=void 0;if(i===void 0&&a){let l=!0,c=e;for(let f of s.split(".")){if(!c||typeof c!="object"||!Object.hasOwn(c,f)){l=!1;break}c=c[f]}l||(i=vt(e,a))}return o?Pi(e,r,i):i}function ac(e,t,r,o){let n=t?"."+t:"",s=o?`styles.blocks.${o}${n}`:`styles${n}`;return _n(e,s.split("."),r)}var lc=h(Gm(),1);function ms(e,t){return typeof e!="object"||typeof t!="object"?e===t:(0,lc.default)(e?.styles,t?.styles)&&(0,lc.default)(e?.settings,t?.settings)}var Qm=h(Xm(),1);function Km(e){return Object.prototype.toString.call(e)==="[object Object]"}function Jm(e){var t,r;return Km(e)===!1?!1:(t=e.constructor,t===void 0?!0:(r=t.prototype,!(Km(r)===!1||r.hasOwnProperty("isPrototypeOf")===!1)))}function jo(e,t){return(0,Qm.default)(e,t,{isMergeableObject:Jm,customMerge:r=>{if(r==="backgroundImage")return(o,n)=>n??o}})}var ow={grad:.9,turn:360,rad:360/(2*Math.PI)},Kr=function(e){return typeof e=="string"?e.length>0:typeof e=="number"},Rt=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=Math.pow(10,t)),Math.round(r*e)/r+0},fr=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=1),e>r?r:e>t?e:t},ih=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},$m=function(e){return{r:fr(e.r,0,255),g:fr(e.g,0,255),b:fr(e.b,0,255),a:fr(e.a)}},cc=function(e){return{r:Rt(e.r),g:Rt(e.g),b:Rt(e.b),a:Rt(e.a,3)}},nw=/^#([0-9a-f]{3,8})$/i,Fi=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},ah=function(e){var t=e.r,r=e.g,o=e.b,n=e.a,s=Math.max(t,r,o),i=s-Math.min(t,r,o),a=i?s===t?(r-o)/i:s===r?2+(o-t)/i:4+(t-r)/i:0;return{h:60*(a<0?a+6:a),s:s?i/s*100:0,v:s/255*100,a:n}},lh=function(e){var t=e.h,r=e.s,o=e.v,n=e.a;t=t/360*6,r/=100,o/=100;var s=Math.floor(t),i=o*(1-r),a=o*(1-(t-s)*r),u=o*(1-(1-t+s)*r),l=s%6;return{r:255*[o,a,i,i,u,o][l],g:255*[u,o,o,a,i,i][l],b:255*[i,i,u,o,o,a][l],a:n}},eh=function(e){return{h:ih(e.h),s:fr(e.s,0,100),l:fr(e.l,0,100),a:fr(e.a)}},th=function(e){return{h:Rt(e.h),s:Rt(e.s),l:Rt(e.l),a:Rt(e.a,3)}},rh=function(e){return lh((r=(t=e).s,{h:t.h,s:(r*=((o=t.l)<50?o:100-o)/100)>0?2*r/(o+r)*100:0,v:o+r,a:t.a}));var t,r,o},gs=function(e){return{h:(t=ah(e)).h,s:(n=(200-(r=t.s))*(o=t.v)/100)>0&&n<200?r*o/100/(n<=100?n:200-n)*100:0,l:n/2,a:t.a};var t,r,o,n},sw=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,iw=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,aw=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,lw=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,dc={string:[[function(e){var t=nw.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?Rt(parseInt(e[3]+e[3],16)/255,2):1}:e.length===6||e.length===8?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:e.length===8?Rt(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=aw.exec(e)||lw.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:$m({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(e){var t=sw.exec(e)||iw.exec(e);if(!t)return null;var r,o,n=eh({h:(r=t[1],o=t[2],o===void 0&&(o="deg"),Number(r)*(ow[o]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return rh(n)},"hsl"]],object:[[function(e){var t=e.r,r=e.g,o=e.b,n=e.a,s=n===void 0?1:n;return Kr(t)&&Kr(r)&&Kr(o)?$m({r:Number(t),g:Number(r),b:Number(o),a:Number(s)}):null},"rgb"],[function(e){var t=e.h,r=e.s,o=e.l,n=e.a,s=n===void 0?1:n;if(!Kr(t)||!Kr(r)||!Kr(o))return null;var i=eh({h:Number(t),s:Number(r),l:Number(o),a:Number(s)});return rh(i)},"hsl"],[function(e){var t=e.h,r=e.s,o=e.v,n=e.a,s=n===void 0?1:n;if(!Kr(t)||!Kr(r)||!Kr(o))return null;var i=(function(a){return{h:ih(a.h),s:fr(a.s,0,100),v:fr(a.v,0,100),a:fr(a.a)}})({h:Number(t),s:Number(r),v:Number(o),a:Number(s)});return lh(i)},"hsv"]]},oh=function(e,t){for(var r=0;r<t.length;r++){var o=t[r][0](e);if(o)return[o,t[r][1]]}return[null,void 0]},cw=function(e){return typeof e=="string"?oh(e.trim(),dc.string):typeof e=="object"&&e!==null?oh(e,dc.object):[null,void 0]};var uc=function(e,t){var r=gs(e);return{h:r.h,s:fr(r.s+100*t,0,100),l:r.l,a:r.a}},fc=function(e){return(299*e.r+587*e.g+114*e.b)/1e3/255},nh=function(e,t){var r=gs(e);return{h:r.h,s:r.s,l:fr(r.l+100*t,0,100),a:r.a}},pc=(function(){function e(t){this.parsed=cw(t)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return e.prototype.isValid=function(){return this.parsed!==null},e.prototype.brightness=function(){return Rt(fc(this.rgba),2)},e.prototype.isDark=function(){return fc(this.rgba)<.5},e.prototype.isLight=function(){return fc(this.rgba)>=.5},e.prototype.toHex=function(){return t=cc(this.rgba),r=t.r,o=t.g,n=t.b,i=(s=t.a)<1?Fi(Rt(255*s)):"","#"+Fi(r)+Fi(o)+Fi(n)+i;var t,r,o,n,s,i},e.prototype.toRgb=function(){return cc(this.rgba)},e.prototype.toRgbString=function(){return t=cc(this.rgba),r=t.r,o=t.g,n=t.b,(s=t.a)<1?"rgba("+r+", "+o+", "+n+", "+s+")":"rgb("+r+", "+o+", "+n+")";var t,r,o,n,s},e.prototype.toHsl=function(){return th(gs(this.rgba))},e.prototype.toHslString=function(){return t=th(gs(this.rgba)),r=t.h,o=t.s,n=t.l,(s=t.a)<1?"hsla("+r+", "+o+"%, "+n+"%, "+s+")":"hsl("+r+", "+o+"%, "+n+"%)";var t,r,o,n,s},e.prototype.toHsv=function(){return t=ah(this.rgba),{h:Rt(t.h),s:Rt(t.s),v:Rt(t.v),a:Rt(t.a,3)};var t},e.prototype.invert=function(){return Lr({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},e.prototype.saturate=function(t){return t===void 0&&(t=.1),Lr(uc(this.rgba,t))},e.prototype.desaturate=function(t){return t===void 0&&(t=.1),Lr(uc(this.rgba,-t))},e.prototype.grayscale=function(){return Lr(uc(this.rgba,-1))},e.prototype.lighten=function(t){return t===void 0&&(t=.1),Lr(nh(this.rgba,t))},e.prototype.darken=function(t){return t===void 0&&(t=.1),Lr(nh(this.rgba,-t))},e.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},e.prototype.alpha=function(t){return typeof t=="number"?Lr({r:(r=this.rgba).r,g:r.g,b:r.b,a:t}):Rt(this.rgba.a,3);var r},e.prototype.hue=function(t){var r=gs(this.rgba);return typeof t=="number"?Lr({h:t,s:r.s,l:r.l,a:r.a}):Rt(r.h)},e.prototype.isEqual=function(t){return this.toHex()===Lr(t).toHex()},e})(),Lr=function(e){return e instanceof pc?e:new pc(e)},sh=[],ch=function(e){e.forEach(function(t){sh.indexOf(t)<0&&(t(pc,dc),sh.push(t))})};var uh={mobile:"480px",tablet:"782px"},fh=/^(\d+|\d*\.\d+)(px|em|rem)$/,uw=16;function fw(e){return"mobile"in e||"tablet"in e}function dw(e){return!e||typeof e!="object"?{}:fw(e)?e:e.settings?.viewport??{}}function pw(e){return typeof e=="string"&&fh.test(e.trim())}function mc(e){if(typeof e=="number")return e;if(typeof e!="string")return;let t=e.trim().match(fh);if(!t)return;let r=Number.parseFloat(t[1]);return t[2]==="px"?r:r*uw}function hc(e){let t=dw(e),r={},o={};Object.keys(uh).forEach(a=>{let u=a,l=t[u],c=mc(l);c!==void 0&&pw(l)&&(r[u]=l.trim(),o[u]=c)});let n=Object.keys(r);if(!n.length)return{...uh};if(n.length===1)return r;let s=r.mobile,i=r.tablet;return o.mobile>=o.tablet?{mobile:s}:{mobile:s,tablet:i}}function dh(e){let t=hc(e),r={};return t.mobile&&(r["@mobile"]=`@media (width <= ${t.mobile})`),t.tablet&&(r["@tablet"]=t.mobile?`@media (${t.mobile} < width <= ${t.tablet})`:`@media (width <= ${t.tablet})`),r}function Ai(e,t,r,{resolveRefs:o=!0}={}){if(!e?.styles?.blocks?.[t]?.variations?.[r])return;let n=i=>{Object.keys(i).forEach(a=>{let u=i[a];if(typeof u=="object"&&u!==null)if(u.ref!==void 0)if(typeof u.ref!="string"||u.ref.trim()==="")delete i[a];else{let l=vt(e,u.ref);l!=null?i[a]=l:delete i[a]}else n(u),Object.keys(u).length===0&&delete i[a]})},s=JSON.parse(JSON.stringify(e.styles.blocks[t].variations[r]));return o&&n(s),s}var vc="default";function gh(e){let t=e?.viewport,r=e?.pseudoState;return(!t||t===vc)&&(!r||r===vc)}function mw(e){return gh(e)?[]:[e.viewport,e.pseudoState].filter(t=>!!t&&t!==vc)}function hw(e,t){let r=mw(t);return r.length?vt(e,r):e}var gw=new Set(["blocks","variations","css"]),gc=Object.freeze({value:{},sources:{}}),yw={root:{layer:"root"},element:{layer:"element"},block:{layer:"block"},blockVariation:{layer:"blockVariation"}};function go(e){let t=yw[e];return t?{...t}:null}function yo(e,t){return!e||!t?null:{styles:e,source:t}}function vw(e){return e.join(".")}function bw(e){return{...e}}function yh(e){return e===""||e===null||typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length===0}function yc(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&typeof e.ref=="string"}function vo(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let t={};for(let r of Object.keys(e))if(!gw.has(r)){if(r==="elements"){e.elements&&typeof e.elements=="object"&&(t.elements=e.elements);continue}yh(e[r])||(t[r]=e[r])}return Object.keys(t).length===0?null:t}var ph=new Set(["backgroundImage"]);function vh(e,t,r,o,n,s=[]){if(!t||typeof t!="object"||Array.isArray(t))return e;for(let i of Object.keys(t)){let a=t[i];if(yh(a))continue;if(yc(a)){if(a.ref.trim()==="")continue;let l=vt(r,a.ref);if(l==null||yc(l))continue;a=l}let u=[...s,i];if(!ph.has(i)&&a!==null&&typeof a=="object"&&!Array.isArray(a)&&!yc(a)){let l=e[i]&&typeof e[i]=="object"&&!Array.isArray(e[i])?e[i]:{};e[i]=vh({...l},a,r,o,n,u)}else e[i]=ph.has(i)&&a!==null&&typeof a=="object"&&!Array.isArray(a)?{...a}:a,o&&n&&(n[vw(u)]=bw(o))}return e}function Ii(e,t){if(!e)return null;let r=hw(e,t);return r&&typeof r=="object"&&!Array.isArray(r)?r:null}var ww=["color.background","color.gradient","background","spacing","dimensions","border","shadow","filter"];function xw(e){return e.startsWith("elements.")?!1:ww.some(t=>e===t||e.startsWith(`${t}.`))}function bh(e,t){if(!e||typeof e!="object")return;let[r,...o]=t;if(o.length===0){delete e[r];return}let n=e[r];n&&typeof n=="object"&&(bh(n,o),Object.keys(n).length===0&&delete e[r])}function Sw(e,t){for(let r of Object.keys(t))t[r].layer==="root"&&xw(r)&&(bh(e,r.split(".")),delete t[r])}function Cw(e,t,r){let o=e?.background?.backgroundImage;if(!o)return;let n=Hm(o,{...t,_links:r??void 0});n!==void 0&&(e.background.backgroundImage=n)}function mh(e,{blockName:t,variationName:r=null,elements:o=null,viewport:n=null,pseudoState:s=null}={}){if(!e||!e.styles||!t)return gc;let i=e.styles,a={viewport:n,pseudoState:s},u=i,l=i.blocks?.[t]??null,c=(o??[]).map(S=>i.elements?.[S]??null).filter(S=>!!S),f=r?Ai(e,t,r)??null:null,m=[yo(vo(u),go("root")),...c.map(S=>yo(vo(S),go("element"))),l?yo(vo(l),go("block")):null,f?yo(vo(f),go("blockVariation")):null];gh(a)||m.push(yo(vo(Ii(u,a)),go("root")),...c.map(S=>yo(vo(Ii(S,a)),go("element"))),l?yo(vo(Ii(l,a)),go("block")):null,f?yo(vo(Ii(f,a)),go("blockVariation")):null);let g=m.filter(Boolean);if(g.length===0)return gc;let d={},v=g.reduce((S,C)=>vh(S,C.styles,e,C.source,d),{});return Sw(v,d),Cw(v,e,e._links??null),{value:v,sources:d}}var Rw={},hh=new WeakMap;function wh(e,t={}){let r=e?.styles;if(!r||typeof r!="object")return mh(e,t);let o=hh.get(r);o||(o=new WeakMap,hh.set(r,o));let n=e?._links??Rw,s=o.get(n);s||(s=new Map,o.set(n,s));let i=`${t.elements?.join(",")??""}:${t.viewport??""}:${t.pseudoState??""}`,a=(t.blockName||"")+""+(t.variationName||"")+""+i;if(s.has(a))return s.get(a);let u=mh(e,t);return s.set(a,u),u}var xh=h(us(),1),{lock:Sh,unlock:X4}=(0,xh.__dangerousOptInToUnstableAPIsOnlyForCoreModules)("I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.","@wordpress/global-styles-engine");var Pn={};Sh(Pn,{getResponsiveMediaQueries:dh,getViewportBreakpoints:hc,getViewportBreakpointValueInPixels:mc,resolveStyle:wh,getVariationStyle:Ai});var bc=h(Te(),1);var Ch=h(Te(),1),Ot=(0,Ch.createContext)({user:{styles:{},settings:{}},base:{styles:{},settings:{}},merged:{styles:{},settings:{}},onChange:()=>{},fontLibraryEnabled:!1});var Rh=h(Y(),1);function ys({children:e,value:t,baseValue:r,onChange:o,fontLibraryEnabled:n}){let s=(0,bc.useMemo)(()=>jo(r,t),[r,t]),i=(0,bc.useMemo)(()=>({user:t,base:r,merged:s,onChange:o,fontLibraryEnabled:n}),[t,r,s,o,n]);return(0,Rh.jsx)(Ot.Provider,{value:i,children:e})}var Qr=h(ce(),1),jh=h(Ce(),1);var Vw=h(Jt(),1),Bw=h(ar(),1);var Eh=h(Y(),1);function wc({className:e,...t}){return(0,Eh.jsx)(cs,{className:st(e,"global-styles-ui-icon-with-current-color"),...t})}var bo=h(ce(),1);var Ho=h(Y(),1);function Ew({icon:e,children:t,...r}){return(0,Ho.jsxs)(bo.__experimentalItem,{...r,children:[e&&(0,Ho.jsxs)(bo.__experimentalHStack,{justify:"flex-start",children:[(0,Ho.jsx)(wc,{icon:e,size:24}),(0,Ho.jsx)(bo.FlexItem,{children:t})]}),!e&&t]})}function Nr(e){return(0,Ho.jsx)(bo.Navigator.Button,{as:Ew,...e})}var Ow=h(ce(),1);var Pw=h(Ce(),1),Ah=h(Vt(),1);var xc=function(e){var t=e/255;return t<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},Sc=function(e){return .2126*xc(e.r)+.7152*xc(e.g)+.0722*xc(e.b)};function Th(e){e.prototype.luminance=function(){return t=Sc(this.rgba),(r=2)===void 0&&(r=0),o===void 0&&(o=Math.pow(10,r)),Math.round(o*t)/o+0;var t,r,o},e.prototype.contrast=function(t){t===void 0&&(t="#FFF");var r,o,n,s,i,a,u,l=t instanceof e?t:new e(t);return s=this.rgba,i=l.toRgb(),a=Sc(s),u=Sc(i),r=a>u?(a+.05)/(u+.05):(u+.05)/(a+.05),(o=2)===void 0&&(o=0),n===void 0&&(n=Math.pow(10,o)),Math.floor(n*r)/n+0},e.prototype.isReadable=function(t,r){return t===void 0&&(t="#FFF"),r===void 0&&(r={}),this.contrast(t)>=(a=(i=(o=r).size)===void 0?"normal":i,(s=(n=o.level)===void 0?"AA":n)==="AAA"&&a==="normal"?7:s==="AA"&&a==="large"?3:4.5);var o,n,s,i,a}}var Tr=h(Te(),1),kh=h(Jt(),1),Fh=h(ar(),1),Rc=h(Ce(),1);var mt=h(Ce(),1);var _h=h(us(),1),{lock:w5,unlock:Fe}=(0,_h.__dangerousOptInToUnstableAPIsOnlyForCoreModules)("I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.","@wordpress/global-styles-ui");var{getViewportBreakpoints:R5}=Fe(Pn),E5={link:[{value:":link",label:(0,mt.__)("Link")},{value:":any-link",label:(0,mt.__)("Any Link")},{value:":visited",label:(0,mt.__)("Visited")},{value:":hover",label:(0,mt.__)("Hover")},{value:":focus",label:(0,mt.__)("Focus")},{value:":focus-visible",label:(0,mt.__)("Focus-visible")},{value:":active",label:(0,mt.__)("Active")}],button:[{value:":link",label:(0,mt.__)("Link")},{value:":any-link",label:(0,mt.__)("Any Link")},{value:":visited",label:(0,mt.__)("Visited")},{value:":hover",label:(0,mt.__)("Hover")},{value:":focus",label:(0,mt.__)("Focus")},{value:":focus-visible",label:(0,mt.__)("Focus-visible")},{value:":active",label:(0,mt.__)("Active")}]},T5={"core/button":[{value:":hover",label:(0,mt.__)("Hover")},{value:":focus",label:(0,mt.__)("Focus")},{value:":focus-visible",label:(0,mt.__)("Focus-visible")},{value:":active",label:(0,mt.__)("Active")}]},_5=[{value:"@tablet",label:(0,mt.__)("Tablet")},{value:"@mobile",label:(0,mt.__)("Mobile")}];function Cc(e,t){if(!t?.length||typeof e!="object"||!e||!Object.keys(e).length)return e;for(let r in e)t.includes(r)?delete e[r]:typeof e[r]=="object"&&Cc(e[r],t);return e}var Li=(e,t)=>{if(!e||!t?.length)return{};let r={};return Object.keys(e).forEach(o=>{if(t.includes(o))r[o]=e[o];else if(typeof e[o]=="object"){let n=Li(e[o],t);Object.keys(n).length&&(r[o]=n)}}),r};function vs(e,t){let r=Li(structuredClone(e),t);return ms(r,e)}function Oh(e,t){if(!Array.isArray(e)||!t)return null;let o=t.replace("var(","").replace(")","")?.split("--").slice(-1)[0];return e.find(n=>n.slug===o)}function Ph(e){let t=e?.settings?.typography?.fontFamilies?.theme,r=e?.settings?.typography?.fontFamilies?.custom,o=[];t&&r?o=[...t,...r]:t?o=t:r&&(o=r);let n=e?.styles?.typography?.fontFamily,s=Oh(o,n),i=e?.styles?.elements?.heading?.typography?.fontFamily,a;return i?a=Oh(o,e?.styles?.elements?.heading?.typography?.fontFamily):a=s,[s,a]}ch([Th]);function Xe(e,t,r="merged",o=!0,n){let{user:s,base:i,merged:a,onChange:u}=(0,Tr.useContext)(Ot),l=n?.split(".").filter(Boolean)??[],c=l.find(S=>S.startsWith(":")),f=l.filter(S=>!S.startsWith(":")).join("."),m=[e,f].filter(Boolean).join("."),g=a;r==="base"?g=i:r==="user"&&(g=s);let d=(0,Tr.useMemo)(()=>{let S=ki(g,m,t,o);return c?S?.[c]??{}:S},[g,m,t,o,c]),v=(0,Tr.useCallback)(S=>{let C=S;c&&(C={...ki(s,m,t,!1),[c]:S});let w=ac(s,m,C,t);u(w)},[s,u,m,t,c]);return[d,v]}function Je(e,t,r="merged"){let{user:o,base:n,merged:s,onChange:i}=(0,Tr.useContext)(Ot),a=s;r==="base"?a=n:r==="user"&&(a=o);let u=(0,Tr.useMemo)(()=>nc(a,e,t),[a,e,t]),l=(0,Tr.useCallback)(c=>{let f=sc(o,e,c,t);i(f)},[o,i,e,t]);return[u,l]}var Tw=[];function _w({title:e,settings:t,styles:r}){return e===(0,Rc.__)("Default")||Object.keys(t||{}).length>0||Object.keys(r||{}).length>0}function Ni(e=[]){let{variationsFromTheme:t}=(0,kh.useSelect)(o=>({variationsFromTheme:o(Fh.store).__experimentalGetCurrentThemeGlobalStylesVariations?.()||Tw}),[]),{user:r}=(0,Tr.useContext)(Ot);return(0,Tr.useMemo)(()=>{let o=structuredClone(r),n=Cc(o,e);n.title=(0,Rc.__)("Default");let s=t.filter(a=>vs(a,e)).map(a=>jo(n,a)),i=[n,...s];return i?.length?i.filter(_w):[]},[e,r,t])}var Ec=h(Y(),1),{useHasDimensionsPanel:V5,useHasTypographyPanel:B5,useHasColorPanel:z5,useSettingsForBlockElement:j5,useHasBackgroundPanel:H5}=Fe(Ah.privateApis);var Dr=h(ce(),1);function kn(){let[e="black"]=Xe("color.text"),[t="white"]=Xe("color.background"),[r=e]=Xe("elements.h1.color.text"),[o=r]=Xe("elements.link.color.text"),[n=o]=Xe("elements.button.color.background"),[s]=Je("color.palette.core")||[],[i]=Je("color.palette.theme")||[],[a]=Je("color.palette.custom")||[],u=(i??[]).concat(a??[]).concat(s??[]),l=u.filter(({color:m})=>m===e),c=u.filter(({color:m})=>m===n),f=l.concat(c).concat(u).filter(({color:m})=>m!==t).slice(0,2);return{paletteColors:u,highlightedColors:f}}var Nh=h(Te(),1),Dh=h(ce(),1),_c=h(Ce(),1);function kw(e,t){return t.length===0?null:(t.sort((r,o)=>Math.abs(e-r)-Math.abs(e-o)),t[0])}function Fw(e){let t=[];return e.forEach(r=>{let o=String(r.fontWeight).split(" ");if(o.length===2){let n=parseInt(o[0]),s=parseInt(o[1]);for(let i=n;i<=s;i+=100)t.push(i)}else o.length===1&&t.push(parseInt(o[0]))}),t}function Ih(e){let t=/^(?!generic\([ a-zA-Z\-]+\)$)(?!^[a-zA-Z\-]+$).+/,r=e.trim(),o=n=>(n=n.trim(),n.match(t)?(n=n.replace(/^["']|["']$/g,""),`"${n}"`):n);return r.includes(",")?r.split(",").map(o).filter(n=>n!=="").join(", "):o(r)}function Tc(e){if(!e)return"";let t=e.trim();return t.includes(",")&&(t=(t.split(",").find(r=>r.trim()!=="")??"").trim()),t=t.replace(/^["']|["']$/g,""),window.navigator.userAgent.toLowerCase().includes("firefox")&&(t=`"${t}"`),t}function Fn(e){let t={fontFamily:Ih(e.fontFamily)};if(!("fontFace"in e)||!Array.isArray(e.fontFace))return t.fontWeight="400",t.fontStyle="normal",t;if(e.fontFace){let r=e.fontFace.filter(o=>o?.fontStyle&&o.fontStyle.toLowerCase()==="normal");if(r.length>0){t.fontStyle="normal";let o=Fw(r),n=kw(400,o);t.fontWeight=String(n)||"400"}else t.fontStyle=e.fontFace.length&&e.fontFace[0].fontStyle||"normal",t.fontWeight=e.fontFace.length&&String(e.fontFace[0].fontWeight)||"400"}return t}function Lh(e){return{fontFamily:Ih(e.fontFamily),fontStyle:e.fontStyle||"normal",fontWeight:e.fontWeight||"400"}}var bs=h(Y(),1);function Di({fontSize:e,variation:t}){let{base:r}=(0,Nh.useContext)(Ot),o=r;t&&(o={...r,...t});let[n]=Xe("color.text"),[s,i]=Ph(o),a=s?Fn(s):{},u=i?Fn(i):{};return n&&(a.color=n,u.color=n),e&&(a.fontSize=e,u.fontSize=e),(0,bs.jsxs)(Dh.__unstableMotion.div,{animate:{scale:1,opacity:1},initial:{scale:.1,opacity:0},transition:{delay:.3,type:"tween"},style:{textAlign:"center",lineHeight:1},children:[(0,bs.jsx)("span",{style:u,children:(0,_c._x)("A","Uppercase letter A")}),(0,bs.jsx)("span",{style:a,children:(0,_c._x)("a","Lowercase letter A")})]})}var Mh=h(ce(),1);var Vh=h(Y(),1);function Bh({normalizedColorSwatchSize:e,ratio:t}){let{highlightedColors:r}=kn(),o=e*t;return r.map(({slug:n,color:s},i)=>(0,Vh.jsx)(Mh.__unstableMotion.div,{style:{height:o,width:o,background:s,borderRadius:o/2},animate:{scale:1,opacity:1},initial:{scale:.1,opacity:0},transition:{delay:i===1?.2:.1}},`${n}-${i}`))}var zh=h(ce(),1),An=h(Bo(),1),Uo=h(Te(),1);var Jr=h(Y(),1),Oc=248,Pc=152,Aw={leading:!0,trailing:!0};function Iw({children:e,label:t,isFocused:r,withHoverView:o}){let[n="white"]=Xe("color.background"),[s]=Xe("color.gradient"),i=(0,An.useReducedMotion)(),[a,u]=(0,Uo.useState)(!1),[l,{width:c}]=(0,An.useResizeObserver)(),[f,m]=(0,Uo.useState)(c),[g,d]=(0,Uo.useState)(),v=(0,An.useThrottle)(m,250,Aw);(0,Uo.useLayoutEffect)(()=>{c&&v(c)},[c,v]),(0,Uo.useLayoutEffect)(()=>{let b=f?f/Oc:1,R=b-(g||0);(Math.abs(R)>.1||!g)&&d(b)},[f,g]);let S=c?c/Oc:1,C=g||S,w=!!c;return(0,Jr.jsxs)(Jr.Fragment,{children:[(0,Jr.jsx)("div",{style:{position:"relative"},children:l}),!w&&(0,Jr.jsx)(Jl,{className:"global-styles-ui-preview__wrapper",style:{aspectRatio:Oc/Pc}}),w&&(0,Jr.jsx)("div",{className:st("global-styles-ui-preview__wrapper",{"is-hoverable":o}),style:{height:Pc*C},onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),tabIndex:-1,children:(0,Jr.jsx)(zh.__unstableMotion.div,{style:{height:Pc*C,width:"100%",background:s??n},initial:"start",animate:(a||r)&&!i&&t?"hover":"start",children:[].concat(e).map((b,R)=>b({ratio:C,key:R}))})})]})}var In=Iw;var Qt=h(Y(),1),Lw={start:{scale:1,opacity:1},hover:{scale:0,opacity:0}},Nw={hover:{opacity:1},start:{opacity:.5}},Dw={hover:{scale:1,opacity:1},start:{scale:0,opacity:0}};function Mw({label:e,isFocused:t,withHoverView:r,variation:o}){let[n]=Xe("typography.fontWeight"),[s="serif"]=Xe("typography.fontFamily"),[i=s]=Xe("elements.h1.typography.fontFamily"),[a=n]=Xe("elements.h1.typography.fontWeight"),[u="black"]=Xe("color.text"),[l=u]=Xe("elements.h1.color.text"),{paletteColors:c}=kn();return(0,Qt.jsxs)(In,{label:e,isFocused:t,withHoverView:r,children:[({ratio:f,key:m})=>(0,Qt.jsx)(Dr.__unstableMotion.div,{variants:Lw,style:{height:"100%",overflow:"hidden"},children:(0,Qt.jsxs)(Dr.__experimentalHStack,{spacing:10*f,justify:"center",style:{height:"100%",overflow:"hidden"},children:[(0,Qt.jsx)(Di,{fontSize:65*f,variation:o}),(0,Qt.jsx)(Dr.__experimentalVStack,{spacing:4*f,children:(0,Qt.jsx)(Bh,{normalizedColorSwatchSize:32,ratio:f})})]})},m),({key:f})=>(0,Qt.jsx)(Dr.__unstableMotion.div,{variants:r?Nw:void 0,style:{height:"100%",width:"100%",position:"absolute",top:0,overflow:"hidden",filter:"blur(60px)",opacity:.1},children:(0,Qt.jsx)(Dr.__experimentalHStack,{spacing:0,justify:"flex-start",style:{height:"100%",overflow:"hidden"},children:c.slice(0,4).map(({color:m},g)=>(0,Qt.jsx)("div",{style:{height:"100%",background:m,flexGrow:1}},g))})},f),({ratio:f,key:m})=>(0,Qt.jsx)(Dr.__unstableMotion.div,{variants:Dw,style:{height:"100%",width:"100%",overflow:"hidden",position:"absolute",top:0},children:(0,Qt.jsx)(Dr.__experimentalVStack,{spacing:3*f,justify:"center",style:{height:"100%",overflow:"hidden",padding:10*f,boxSizing:"border-box"},children:e&&(0,Qt.jsx)("div",{style:{fontSize:40*f,fontFamily:i,color:l,fontWeight:a,lineHeight:"1em",textAlign:"center"},children:e})})},m)]})}var kc=Mw;var Hh=h(Y(),1);var Ac=h(Tn(),1),Ln=h(Ce(),1),Go=h(ce(),1),Ic=h(Jt(),1),wo=h(Te(),1),Mi=h(Vt(),1),Zh=h(Bo(),1);import{speak as Uw}from"@wordpress/a11y";var Uh=h(Tn(),1),Wh=h(Jt(),1),zw=h(ce(),1);var jw=h(Y(),1);function Hw(e,t){return e?.filter(r=>r.source==="block"||t.includes(r.name))||[]}function Fc(e){let t=(0,Wh.useSelect)(n=>{let{getBlockStyles:s}=n(Uh.store);return s(e)},[e]),[r]=Xe("variations",e),o=Object.keys(r??{});return Hw(t,o)}var Wo=h(ce(),1),Gh=h(Ce(),1);var Yh=h(Vt(),1);var qh=h(Y(),1),{StateControl:wI,StateControlBadges:xI}=Fe(Yh.privateApis);var Mr=h(Y(),1),{useHasDimensionsPanel:Ww,useHasTypographyPanel:Gw,useHasBorderPanel:Yw,useSettingsForBlockElement:qw,useHasColorPanel:Zw,useHasBackgroundPanel:Xw}=Fe(Mi.privateApis);function Kw(){let e=(0,Ic.useSelect)(n=>n(Ac.store).getBlockTypes(),[]),t=(n,s)=>{let{core:i,noncore:a}=n;return(s.name.startsWith("core/")?i:a).push(s),n},{core:r,noncore:o}=e.reduce(t,{core:[],noncore:[]});return[...r,...o]}function Jw(e){let[t]=Je("",e),r=qw(t,e),o=Gw(r),n=Zw(r),s=Xw(r),i=Yw(r),a=Ww(r),u=i||a,l=!!Fc(e)?.length;return o||n||s||u||l}function Qw({block:e}){return Jw(e.name)?(0,Mr.jsx)(Nr,{path:"/blocks/"+encodeURIComponent(e.name),children:(0,Mr.jsxs)(Go.__experimentalHStack,{justify:"flex-start",children:[(0,Mr.jsx)(Mi.BlockIcon,{icon:e.icon}),(0,Mr.jsx)(Go.FlexItem,{children:e.title})]})}):null}function $w({filterValue:e}){let t=Kw(),r=(0,Zh.useDebounce)(Uw,500),{isMatchingSearchTerm:o}=(0,Ic.useSelect)(Ac.store),n=e?t.filter(i=>o(i,e)):t,s=(0,wo.useRef)(null);return(0,wo.useEffect)(()=>{if(!e)return;let i=s.current?.childElementCount||0,a=(0,Ln.sprintf)((0,Ln._n)("%d result found.","%d results found.",i),i);r(a,"polite")},[e,r]),(0,Mr.jsx)("div",{ref:s,className:"global-styles-ui-block-types-item-list",role:"list",children:n.length===0?(0,Mr.jsx)(Go.__experimentalText,{align:"center",as:"p",children:(0,Ln.__)("No blocks found.")}):n.map(i=>(0,Mr.jsx)(Qw,{block:i},"menu-itemblock-"+i.name))})}var PI=(0,wo.memo)($w);var nx=h(Tn(),1),Qh=h(Vt(),1),Lc=h(Te(),1),sx=h(Jt(),1),ix=h(ar(),1),Nc=h(ce(),1),$h=h(Ce(),1);var ex=h(Vt(),1),Xh=h(Tn(),1),tx=h(ce(),1),rx=h(Te(),1);var ox=h(Y(),1),{getViewportBreakpoints:DI,getViewportBreakpointValueInPixels:MI}=Fe(Pn);var Kh=h(ce(),1),Jh=h(Y(),1);function lr({children:e,level:t=2}){return(0,Jh.jsx)(Kh.__experimentalHeading,{className:"global-styles-ui-subtitle",level:t,children:e})}var Dc=h(Y(),1);var{useHasDimensionsPanel:QI,useHasTypographyPanel:$I,useHasBorderPanel:eL,useSettingsForBlockElement:tL,useHasColorPanel:rL,useHasFiltersPanel:oL,useHasImageSettingsPanel:nL,useHasBackgroundPanel:sL,BackgroundPanel:iL,BorderPanel:aL,ColorPanel:lL,TypographyPanel:cL,DimensionsPanel:uL,FiltersPanel:fL,ImageSettingsPanel:dL,AdvancedPanel:pL}=Fe(Qh.privateApis);var b2=h(Ce(),1),w2=h(ce(),1),x2=h(Te(),1);var ax=h(ce(),1);var lx=h(Y(),1);var cx=h(Ce(),1),Vi=h(ce(),1);var eg=h(Y(),1);var ji=h(ce(),1);var tg=h(ce(),1);var Bi=h(Y(),1),ux=({variation:e,isFocused:t,withHoverView:r})=>(0,Bi.jsx)(In,{label:e.title,isFocused:t,withHoverView:r,children:({ratio:o,key:n})=>(0,Bi.jsx)(tg.__experimentalHStack,{spacing:10*o,justify:"center",style:{height:"100%",overflow:"hidden"},children:(0,Bi.jsx)(Di,{variation:e,fontSize:85*o})},n)}),rg=ux;var Yo=h(Te(),1),ng=h(Mc(),1),zi=h(Ce(),1);var xo=h(Y(),1);function Nn({variation:e,children:t,isPill:r=!1,properties:o,showTooltip:n=!1}){let[s,i]=(0,Yo.useState)(!1),{base:a,user:u,onChange:l}=(0,Yo.useContext)(Ot),c=(0,Yo.useMemo)(()=>{let S=jo(a,e);return o&&(S=Li(S,o)),{user:e,base:a,merged:S,onChange:()=>{}}},[e,a,o]),f=()=>l(e),m=S=>{S.keyCode===ng.ENTER&&(S.preventDefault(),f())},g=(0,Yo.useMemo)(()=>ms(u,e),[u,e]),d=e?.title;e?.description&&(d=(0,zi.sprintf)((0,zi._x)("%1$s (%2$s)","variation label"),e?.title,e?.description));let v=(0,xo.jsx)("div",{className:st("global-styles-ui-variations_item",{"is-active":g}),role:"button",onClick:f,onKeyDown:m,tabIndex:0,"aria-label":d,"aria-current":g,onFocus:()=>i(!0),onBlur:()=>i(!1),children:(0,xo.jsx)("div",{className:st("global-styles-ui-variations_item-preview",{"is-pill":r}),children:t(s)})});return(0,xo.jsx)(Ot.Provider,{value:c,children:n?(0,xo.jsxs)(En.Root,{children:[(0,xo.jsx)(En.Trigger,{render:v}),(0,xo.jsx)(En.Popup,{children:e?.title})]}):v})}var qo=h(Y(),1),sg=["typography"];function Hi({title:e,gap:t=2}){let r=Ni(sg);return r?.length<=1?null:(0,qo.jsxs)(ji.__experimentalVStack,{spacing:3,children:[e&&(0,qo.jsx)(lr,{level:3,children:e}),(0,qo.jsx)(ji.__experimentalGrid,{columns:3,gap:t,className:"global-styles-ui-style-variations-container",children:r.map((o,n)=>(0,qo.jsx)(Nn,{variation:o,properties:sg,showTooltip:!0,children:()=>(0,qo.jsx)(rg,{variation:o})},n))})]})}var y2=h(Ce(),1),Ts=h(ce(),1);var v2=h(Te(),1);var $r=h(Te(),1),Eo=h(Jt(),1),Ro=h(ar(),1),jc=h(Ce(),1);var Vc=h(ag(),1),lg=h(ar(),1),cg="/wp/v2/font-families";function ug(e){let{receiveEntityRecords:t}=e.dispatch(lg.store);t("postType","wp_font_family",[],void 0,!0)}async function fg(e,t){let o=await(0,Vc.default)({path:cg,method:"POST",body:e});return ug(t),{id:o.id,...o.font_family_settings,fontFace:[]}}async function dg(e,t,r){let o={path:`${cg}/${e}/font-faces`,method:"POST",body:t},n=await(0,Vc.default)(o);return ug(r),{id:n.id,...n.font_face_settings}}var hg=h(ce(),1);var dr=h(Ce(),1),Bc=["otf","ttf","woff","woff2"],pg={100:(0,dr._x)("Thin","font weight"),200:(0,dr._x)("Extra-light","font weight"),300:(0,dr._x)("Light","font weight"),400:(0,dr._x)("Normal","font weight"),500:(0,dr._x)("Medium","font weight"),600:(0,dr._x)("Semi-bold","font weight"),700:(0,dr._x)("Bold","font weight"),800:(0,dr._x)("Extra-bold","font weight"),900:(0,dr._x)("Black","font weight")},mg={normal:(0,dr._x)("Normal","font style"),italic:(0,dr._x)("Italic","font style")};var{File:gg}=window,{kebabCase:fx}=Fe(hg.privateApis);function So(e,t={}){return!e.name&&(e.fontFamily||e.slug)&&(e.name=e.fontFamily||e.slug),{...e,...t}}function dx(e){return typeof e!="string"?!1:e!==decodeURIComponent(e)}function Ui(e){let t=pg[e.fontWeight??""]||e.fontWeight,r=e.fontStyle==="normal"?"":mg[e.fontStyle??""]||e.fontStyle;return`${t} ${r}`}function px(e=[],t=[]){let r=new Map;for(let o of e)r.set(`${o.fontWeight}${o.fontStyle}`,o);for(let o of t)r.set(`${o.fontWeight}${o.fontStyle}`,o);return Array.from(r.values())}function yg(e=[],t=[]){let r=new Map;for(let o of e)r.set(o.slug,{...o});for(let o of t)if(r.has(o.slug)){let{fontFace:n,...s}=o,i=r.get(o.slug),a=px(i.fontFace,n);r.set(o.slug,{...s,fontFace:a})}else r.set(o.slug,{...o});return Array.from(r.values())}async function Co(e,t,r="all"){let o;if(typeof t=="string")o=`url(${t})`;else if(t instanceof gg)o=await t.arrayBuffer();else return;let s=await new window.FontFace(Tc(e.fontFamily),o,{style:e.fontStyle,weight:String(e.fontWeight)}).load();if((r==="document"||r==="all")&&document.fonts.add(s),r==="iframe"||r==="all"){let i=document.querySelector('iframe[name="editor-canvas"]');i?.contentDocument&&i.contentDocument.fonts.add(s)}}function ws(e,t="all"){let r=o=>{o.forEach(n=>{n.family===Tc(e?.fontFamily)&&n.weight===e?.fontWeight&&n.style===e?.fontStyle&&o.delete(n)})};if((t==="document"||t==="all")&&r(document.fonts),t==="iframe"||t==="all"){let o=document.querySelector('iframe[name="editor-canvas"]');o?.contentDocument&&r(o.contentDocument.fonts)}}function Dn(e){if(!e)return;let t;if(Array.isArray(e)?t=e[0]:t=e,!t.startsWith("file:."))return dx(t)||(t=encodeURI(t)),t}function vg(e){let t=new FormData,{fontFace:r,category:o,...n}=e,s={...n,slug:fx(e.slug)};return t.append("font_family_settings",JSON.stringify(s)),t}function bg(e){return(e?.fontFace??[]).map((r,o)=>{let n={...r},s=new FormData;if(n.file){let i=Array.isArray(n.file)?n.file:[n.file],a=[];i.forEach((u,l)=>{let c=`file-${o}-${l}`;s.append(c,u,u.name),a.push(c)}),n.src=a.length===1?a[0]:a,delete n.file,s.append("font_face_settings",JSON.stringify(n))}else s.append("font_face_settings",JSON.stringify(n));return s})}async function wg(e,t,r){let o=[];for(let s of t)try{let i=await dg(e,s,r);o.push({status:"fulfilled",value:i})}catch(i){o.push({status:"rejected",reason:i})}let n={errors:[],successes:[]};return o.forEach((s,i)=>{if(s.status==="fulfilled"&&s.value){let a=s.value;n.successes.push(a)}else s.reason&&n.errors.push({data:t[i],message:s.reason.message})}),n}async function xg(e){e=Array.isArray(e)?e:[e];let t=await Promise.all(e.map(async r=>fetch(new Request(r)).then(o=>{if(!o.ok)throw new Error(`Error downloading font face asset from ${r}. Server responded with status: ${o.status}`);return o.blob()}).then(o=>{let n=r.split("/").pop();return new gg([o],n,{type:o.type})})));return t.length===1?t[0]:t}function zc(e,t){return t.findIndex(r=>r.fontWeight===e.fontWeight&&r.fontStyle===e.fontStyle)!==-1}function Sg(e,t,r){t=Array.isArray(t)?[...t]:[t],e=Array.isArray(e)?[...e]:{...e};let o=t.pop(),n=e;for(let s of t){let i=n[s];n=n[s]=Array.isArray(i)?[...i]:{...i}}return n[o]=r,e}function Wi(e,t,r=[]){let o=u=>u.slug===e.slug,n=u=>u.find(o),s=u=>u?r.filter(l=>!o(l)):[...r,e],i=u=>{let l=f=>f.fontWeight===t.fontWeight&&f.fontStyle===t.fontStyle;if(!u)return[...r,{...e,fontFace:[t]}];let c=u.fontFace||[];return c.find(l)?c=c.filter(f=>!l(f)):c=[...c,t],c.length===0?r.filter(f=>!o(f)):r.map(f=>o(f)?{...f,fontFace:c}:f)},a=n(r);return t?i(a):s(a)}var Cg=h(Y(),1),Bt=(0,$r.createContext)({});Bt.displayName="FontLibraryContext";function mx({children:e}){let t=(0,Eo.useRegistry)(),{saveEntityRecord:r,deleteEntityRecord:o}=(0,Eo.useDispatch)(Ro.store),{globalStylesId:n}=(0,Eo.useSelect)(E=>{let{__experimentalGetCurrentGlobalStylesId:L}=E(Ro.store);return{globalStylesId:L()}},[]),s=(0,Ro.useEntityRecord)("root","globalStyles",n),[i,a]=(0,$r.useState)(!1),{records:u=[],isResolving:l}=(0,Ro.useEntityRecords)("postType","wp_font_family",{_embed:!0}),c=(u||[]).map(E=>({id:E.id,...E.font_family_settings||{},fontFace:E?._embedded?.font_faces?.map(L=>L.font_face_settings)||[]}))||[],[f,m]=Je("typography.fontFamilies"),g=async E=>{if(!s.record)return;let L=s.record,$=Sg(L??{},["settings","typography","fontFamilies"],E);await r("root","globalStyles",$)},[d,v]=(0,$r.useState)(""),[S,C]=(0,$r.useState)(void 0),w=f?.theme?f.theme.map(E=>So(E,{source:"theme"})).sort((E,L)=>E.name.localeCompare(L.name)):[],b=f?.custom?f.custom.map(E=>So(E,{source:"custom"})).sort((E,L)=>E.name.localeCompare(L.name)):[],R=c?c.map(E=>So(E,{source:"custom"})).sort((E,L)=>E.name.localeCompare(L.name)):[];(0,$r.useEffect)(()=>{d||C(void 0)},[d]);let k=E=>{if(!E){C(void 0);return}let $=(E.source==="theme"?w:R).find(F=>F.slug===E.slug);C({...$||E,source:E.source})},[T]=(0,$r.useState)(new Set),_=E=>E.reduce(($,F)=>{let Z=F?.fontFace&&F.fontFace?.length>0?F?.fontFace.map(se=>`${se.fontStyle??""}${se.fontWeight??""}`):["normal400"];return $[F.slug]=Z,$},{}),A=E=>_(E==="theme"?w:b),N=(E,L,$,F)=>!L&&!$?!!A(F)[E]:!!A(F)[E]?.includes((L??"")+($??"")),q=(E,L)=>A(L)[E]||[];async function U(E){a(!0);try{let L=[],$=[];for(let Z of E){let se=!1,xe=await(0,Eo.resolveSelect)(Ro.store).getEntityRecords("postType","wp_font_family",{slug:Z.slug,per_page:1,_embed:!0}),ie=xe&&xe.length>0?xe[0]:null,ye=ie?{id:ie.id,...ie.font_family_settings,fontFace:(ie?._embedded?.font_faces??[]).map(Ie=>Ie.font_face_settings)||[]}:null;ye||(se=!0,ye=await fg(vg(Z),t));let Ee=ye.fontFace&&Z.fontFace?ye.fontFace.filter(Ie=>Ie&&Z.fontFace&&zc(Ie,Z.fontFace)):[];ye.fontFace&&Z.fontFace&&(Z.fontFace=Z.fontFace.filter(Ie=>!zc(Ie,ye.fontFace)));let ee=[],Ae=[];if(Z?.fontFace?.length??!1){let Ie=await wg(ye.id,bg(Z),t);ee=Ie?.successes,Ae=Ie?.errors}(ee?.length>0||Ee?.length>0)&&(ye.fontFace=[...ee],L.push(ye)),ye&&!Z?.fontFace?.length&&L.push(ye),se&&(Z?.fontFace?.length??0)>0&&ee?.length===0&&await o("postType","wp_font_family",ye.id,{force:!0}),$=$.concat(Ae)}let F=$.reduce((Z,se)=>Z.includes(se.message)?Z:[...Z,se.message],[]);if(L.length>0){let Z=W(L);await g(Z)}if(F.length>0){let Z=new Error((0,jc.__)("There was an error installing fonts."));throw Z.installationErrors=F,Z}}finally{a(!1)}}async function x(E){if(!E?.id)throw new Error((0,jc.__)("Font family to uninstall is not defined."));try{await o("postType","wp_font_family",E.id,{force:!0});let L=I(E);return await g(L),{deleted:!0}}catch(L){throw console.error("There was an error uninstalling the font family:",L),L}}let I=E=>{let $=(f?.[E.source??""]??[]).filter(Z=>Z.slug!==E.slug),F={...f,[E.source??""]:$};return m(F),E.fontFace&&E.fontFace.forEach(Z=>{ws(Z,"all")}),F},W=E=>{let L=O(E),$={...f,custom:yg(f?.custom,L)};return m($),D(L),$},O=E=>E.map(({id:L,fontFace:$,...F})=>({...F,...$&&$.length>0?{fontFace:$.map(({id:Z,...se})=>se)}:{}})),D=E=>{E.forEach(L=>{L.fontFace&&L.fontFace.forEach($=>{let F=Dn($?.src??"");F&&Co($,F,"all")})})},J=(E,L)=>{let $=f?.[E.source??""]??[],F=Wi(E,L,$);m({...f,[E.source??""]:F});let Z=N(E.slug,L?.fontStyle??"",L?.fontWeight??"",E.source??"custom");if(L&&Z)ws(L,"all");else{let se=Dn(L?.src??"");L&&se&&Co(L,se,"all")}},M=async E=>{if(!E.src)return;let L=Dn(E.src);!L||T.has(L)||(Co(E,L,"document"),T.add(L))};return(0,Cg.jsx)(Bt.Provider,{value:{libraryFontSelected:S,handleSetLibraryFontSelected:k,fontFamilies:f??{},baseCustomFonts:R,isFontActivated:N,getFontFacesActivated:q,loadFontFaceAsset:M,installFonts:U,uninstallFontFamily:x,toggleActivateFont:J,getAvailableFontsOutline:_,modalTabOpen:d,setModalTabOpen:v,saveFontFamilies:g,isResolvingLibrary:l,isInstalling:i},children:e})}var Gi=mx;var aa=h(Ce(),1),Yc=h(ce(),1),iy=h(ar(),1),h2=h(Jt(),1);var Le=h(ce(),1),Ss=h(ar(),1),Hc=h(Jt(),1),zr=h(Te(),1),it=h(Ce(),1);var Vn=h(Ce(),1),qi=h(Te(),1),pr=h(ce(),1);var Rg=h(ce(),1),Vr=h(Te(),1);var Yi=h(Y(),1);function hx(e){if(e.preview)return e.preview;if(e.src)return Array.isArray(e.src)?e.src[0]:e.src}function gx(e){return"fontStyle"in e&&e.fontStyle||"fontWeight"in e&&e.fontWeight?e:"fontFace"in e&&e.fontFace&&e.fontFace.length?e.fontFace.find(t=>t.fontStyle==="normal"&&t.fontWeight==="400")||e.fontFace[0]:{fontStyle:"normal",fontWeight:"400",fontFamily:e.fontFamily}}function yx({font:e,text:t}){let r=(0,Vr.useRef)(null),o=gx(e),n=Fn(e);t=t||("name"in e?e.name:"");let s=e.preview,[i,a]=(0,Vr.useState)(!1),[u,l]=(0,Vr.useState)(!1),{loadFontFaceAsset:c}=(0,Vr.useContext)(Bt),f=s??hx(o),m=f&&f.match(/\.(png|jpg|jpeg|gif|svg)$/i),g=Lh(o),d={fontSize:"18px",lineHeight:1,opacity:u?"1":"0",...n,...g};return(0,Vr.useEffect)(()=>{let v=new window.IntersectionObserver(([S])=>{a(S.isIntersecting)},{});return r.current&&v.observe(r.current),()=>v.disconnect()},[r]),(0,Vr.useEffect)(()=>{(async()=>i&&(!m&&o.src&&await c(o),l(!0)))()},[o,i,c,m]),(0,Yi.jsx)("div",{ref:r,children:m?(0,Yi.jsx)("img",{src:f,loading:"lazy",alt:t,className:"font-library__font-variant_demo-image"}):(0,Yi.jsx)(Rg.__experimentalText,{style:d,className:"font-library__font-variant_demo-text",children:t})})}var Mn=yx;var Br=h(Y(),1);function vx({font:e,onClick:t,variantsText:r,navigatorPath:o,shouldFocus:n}){let s=e.fontFace?.length||1,i={cursor:t?"pointer":"default"},a=(0,pr.useNavigator)(),u=(0,qi.useRef)(null);return(0,qi.useEffect)(()=>{n&&u.current?.focus()},[n]),(0,Br.jsx)(pr.Button,{ref:u,__next40pxDefaultSize:!0,onClick:()=>{t(),o&&a.goTo(o)},style:i,className:"font-library__font-card",children:(0,Br.jsxs)(pr.Flex,{justify:"space-between",wrap:!1,children:[(0,Br.jsx)(Mn,{font:e}),(0,Br.jsxs)(pr.Flex,{justify:"flex-end",children:[(0,Br.jsx)(pr.FlexItem,{children:(0,Br.jsx)(pr.__experimentalText,{className:"font-library__font-card__count",children:r||(0,Vn.sprintf)((0,Vn._n)("%d variant","%d variants",s),s)})}),(0,Br.jsx)(pr.FlexItem,{children:(0,Br.jsx)(cs,{icon:(0,Vn.isRTL)()?Mo:Vo})})]})]})})}var xs=vx;var Zi=h(Te(),1),Xi=h(ce(),1);var Zo=h(Y(),1);function bx({face:e,font:t}){let{isFontActivated:r,toggleActivateFont:o}=(0,Zi.useContext)(Bt),n=(t?.fontFace?.length??0)>0?r(t.slug,e.fontStyle,e.fontWeight,t.source):r(t.slug,void 0,void 0,t.source),s=()=>{if((t?.fontFace?.length??0)>0){o(t,e);return}o(t)},i=t.name+" "+Ui(e),a=(0,Zi.useId)();return(0,Zo.jsx)("div",{className:"font-library__font-card",children:(0,Zo.jsxs)(Xi.Flex,{justify:"flex-start",align:"center",gap:"1rem",children:[(0,Zo.jsx)(Xi.CheckboxControl,{checked:n,onChange:s,id:a}),(0,Zo.jsx)("label",{htmlFor:a,children:(0,Zo.jsx)(Mn,{font:e,text:i,onClick:s})})]})})}var Eg=bx;function Tg(e){switch(e){case"normal":return 400;case"bold":return 700;case"bolder":return 500;case"lighter":return 300;default:return parseInt(e,10)}}function Ki(e){return e.sort((t,r)=>t.fontStyle==="normal"&&r.fontStyle!=="normal"?-1:r.fontStyle==="normal"&&t.fontStyle!=="normal"?1:t.fontStyle===r.fontStyle?Tg(t.fontWeight?.toString()??"normal")-Tg(r.fontWeight?.toString()??"normal"):!t.fontStyle||!r.fontStyle?t.fontStyle?-1:1:t.fontStyle.localeCompare(r.fontStyle))}var Re=h(Y(),1);function _g(e){if(!e)return"";let t={};for(let r of Object.keys(e).sort())t[r]=(e[r]??[]).map(o=>({slug:o.slug,fontFace:(o.fontFace??[]).map(n=>`${n.fontStyle}-${n.fontWeight}`).sort()})).sort((o,n)=>o.slug.localeCompare(n.slug));return JSON.stringify(t)}function wx(){let{baseCustomFonts:e,libraryFontSelected:t,handleSetLibraryFontSelected:r,uninstallFontFamily:o,isResolvingLibrary:n,isInstalling:s,saveFontFamilies:i,getFontFacesActivated:a}=(0,zr.useContext)(Bt),[u,l]=Je("typography.fontFamilies"),[c,f]=(0,zr.useState)(void 0),[m,g]=(0,zr.useState)(!1),[d,v]=(0,zr.useState)(null),[S]=Je("typography.fontFamilies",void 0,"base"),C=(0,Hc.useSelect)(F=>{let{__experimentalGetCurrentGlobalStylesId:Z}=F(Ss.store);return Z()},[]),w=(0,Ss.useEntityRecord)("root","globalStyles",C),b=w?.edits?.settings?.typography?.fontFamilies,R=w?.record?.settings?.typography?.fontFamilies,k=(0,zr.useMemo)(()=>b===void 0?!1:_g(b)!==_g(R),[b,R]),T=u?.theme?u.theme.map(F=>So(F,{source:"theme"})).sort((F,Z)=>F.name.localeCompare(Z.name)):[],_=new Set(T.map(F=>F.slug)),A=S?.theme?T.concat(S.theme.filter(F=>!_.has(F.slug)).map(F=>So(F,{source:"theme"})).sort((F,Z)=>F.name.localeCompare(Z.name))):[],N=t?.source==="custom"&&t?.id,q=(0,Hc.useSelect)(F=>{let{canUser:Z}=F(Ss.store);return N&&Z("delete",{kind:"postType",name:"wp_font_family",id:N})},[N]),U=!!t&&t?.source!=="theme"&&q,x=()=>{g(!0)},I=async()=>{v(null);try{await i(u),v({type:"success",message:(0,it.__)("Font family updated successfully.")})}catch(F){v({type:"error",message:(0,it.sprintf)((0,it.__)("There was an error updating the font family. %s"),F.message)})}},W=F=>F?!F.fontFace||!F.fontFace.length?[{fontFamily:F.fontFamily,fontStyle:"normal",fontWeight:"400"}]:Ki(F.fontFace):[],O=F=>{let Z=F?.fontFace&&(F?.fontFace?.length??0)>0?F.fontFace.length:1,se=a(F.slug,F.source).length;return(0,it.sprintf)((0,it.__)("%1$d of %2$d active"),se,Z)};(0,zr.useEffect)(()=>{r(t)},[]);let D=t?a(t.slug,t.source).length:0,J=t?.fontFace?.length??(t?.fontFamily?1:0),M=D>0&&D!==J,E=D===J,L=()=>{if(!t||!t?.source)return;let F=u?.[t.source]?.filter(se=>se.slug!==t.slug)??[],Z=E?F:[...F,t];l({...u,[t.source]:Z}),t.fontFace&&t.fontFace.forEach(se=>{if(E)ws(se,"all");else{let xe=Dn(se?.src??"");xe&&Co(se,xe,"all")}})},$=A.length>0||e.length>0;return(0,Re.jsxs)("div",{className:"font-library__tabpanel-layout",children:[n&&(0,Re.jsx)("div",{className:"font-library__loading",children:(0,Re.jsx)(Le.ProgressBar,{})}),!n&&(0,Re.jsxs)(Re.Fragment,{children:[(0,Re.jsxs)(Le.Navigator,{initialPath:t?"/fontFamily":"/",children:[(0,Re.jsx)(Le.Navigator.Screen,{path:"/",children:(0,Re.jsxs)(Le.__experimentalVStack,{spacing:"8",children:[d&&(0,Re.jsx)(Le.Notice,{status:d.type,onRemove:()=>v(null),children:d.message}),!$&&(0,Re.jsx)(Le.__experimentalText,{as:"p",children:(0,it.__)("No fonts installed.")}),A.length>0&&(0,Re.jsxs)(Le.__experimentalVStack,{children:[(0,Re.jsx)("h2",{className:"font-library__fonts-title",children:(0,it._x)("Theme","font source")}),(0,Re.jsx)("ul",{role:"list",className:"font-library__fonts-list",children:A.map(F=>(0,Re.jsx)("li",{className:"font-library__fonts-list-item",children:(0,Re.jsx)(xs,{font:F,navigatorPath:"/fontFamily",variantsText:O(F),shouldFocus:F.slug===c,onClick:()=>{v(null),r(F)}})},F.slug))})]}),e.length>0&&(0,Re.jsxs)(Le.__experimentalVStack,{children:[(0,Re.jsx)("h2",{className:"font-library__fonts-title",children:(0,it._x)("Custom","font source")}),(0,Re.jsx)("ul",{role:"list",className:"font-library__fonts-list",children:e.map(F=>(0,Re.jsx)("li",{className:"font-library__fonts-list-item",children:(0,Re.jsx)(xs,{font:F,navigatorPath:"/fontFamily",variantsText:O(F),shouldFocus:F.slug===c,onClick:()=>{v(null),r(F)}})},F.slug))})]})]})}),(0,Re.jsxs)(Le.Navigator.Screen,{path:"/fontFamily",children:[t&&(0,Re.jsx)(xx,{font:t,isOpen:m,setIsOpen:g,setNotice:v,uninstallFontFamily:o,handleSetLibraryFontSelected:r}),(0,Re.jsxs)(Le.Flex,{justify:"flex-start",children:[(0,Re.jsx)(Le.Navigator.BackButton,{icon:(0,it.isRTL)()?Vo:Mo,size:"small",onClick:()=>{f(t?.slug),r(void 0),v(null)},label:(0,it.__)("Back")}),(0,Re.jsx)(Le.__experimentalHeading,{level:2,size:13,className:"global-styles-ui-header",children:t?.name})]}),d&&(0,Re.jsxs)(Re.Fragment,{children:[(0,Re.jsx)(Le.__experimentalSpacer,{margin:1}),(0,Re.jsx)(Le.Notice,{status:d.type,onRemove:()=>v(null),children:d.message}),(0,Re.jsx)(Le.__experimentalSpacer,{margin:1})]}),(0,Re.jsx)(Le.__experimentalSpacer,{margin:4}),(0,Re.jsx)(Le.__experimentalText,{children:(0,it.__)("Choose font variants. Keep in mind that too many variants could make your site slower.")}),(0,Re.jsx)(Le.__experimentalSpacer,{margin:4}),(0,Re.jsxs)(Le.__experimentalVStack,{spacing:0,children:[(0,Re.jsx)(Le.CheckboxControl,{className:"font-library__select-all",label:(0,it.__)("Select all"),checked:E,onChange:L,indeterminate:M}),(0,Re.jsx)(Le.__experimentalSpacer,{margin:8}),(0,Re.jsx)("ul",{role:"list",className:"font-library__fonts-list",children:t&&W(t).map((F,Z)=>(0,Re.jsx)("li",{className:"font-library__fonts-list-item",children:(0,Re.jsx)(Eg,{font:t,face:F},`face${Z}`)},`face${Z}`))})]})]})]}),(0,Re.jsxs)(Le.__experimentalHStack,{justify:"flex-end",className:"font-library__footer",children:[s&&(0,Re.jsx)(Le.ProgressBar,{}),U&&(0,Re.jsx)(Le.Button,{__next40pxDefaultSize:!0,isDestructive:!0,variant:"tertiary",onClick:x,children:(0,it.__)("Delete")}),(0,Re.jsx)(Le.Button,{__next40pxDefaultSize:!0,variant:"primary",onClick:I,disabled:!k,accessibleWhenDisabled:!0,children:(0,it.__)("Update")})]})]})]})}function xx({font:e,isOpen:t,setIsOpen:r,setNotice:o,uninstallFontFamily:n,handleSetLibraryFontSelected:s}){let i=(0,Le.useNavigator)(),a=async()=>{o(null),r(!1);try{await n(e),i.goBack(),s(void 0),o({type:"success",message:(0,it.__)("Font family uninstalled successfully.")})}catch(l){o({type:"error",message:(0,it.__)("There was an error uninstalling the font family.")+l.message})}},u=()=>{r(!1)};return(0,Re.jsx)(Le.__experimentalConfirmDialog,{isOpen:t,cancelButtonText:(0,it.__)("Cancel"),confirmButtonText:(0,it.__)("Delete"),onCancel:u,onConfirm:a,size:"medium",children:e&&(0,it.sprintf)((0,it.__)('Are you sure you want to delete "%s" font and all its variants and assets?'),e.name)})}var Ji=wx;var wt=h(Te(),1),Se=h(ce(),1),Ng=h(Bo(),1),rt=h(Ce(),1);var Dg=h(ar(),1);function Og(e,t){let{category:r,search:o}=t,n=e||[];return r&&r!=="all"&&(n=n.filter(s=>s.categories&&s.categories.indexOf(r)!==-1)),o&&(n=n.filter(s=>s.font_family_settings&&s.font_family_settings.name.toLowerCase().includes(o.toLowerCase()))),n}function Pg(e){return e.reduce((t,r)=>({...t,[r.slug]:(r?.fontFace||[]).reduce((o,n)=>({...o,[`${n.fontStyle}-${n.fontWeight}`]:!0}),{})}),{})}function kg(e,t,r){return t?!!r[e]?.[`${t.fontStyle}-${t.fontWeight}`]:!!r[e]}var Cs=h(Ce(),1),zt=h(ce(),1),mr=h(Y(),1);function Sx(){let e=()=>{window.localStorage.setItem("wp-font-library-google-fonts-permission","true"),window.dispatchEvent(new Event("storage"))};return(0,mr.jsx)("div",{className:"font-library__google-fonts-confirm",children:(0,mr.jsx)(zt.Card,{children:(0,mr.jsxs)(zt.CardBody,{children:[(0,mr.jsx)(zt.__experimentalHeading,{level:2,children:(0,Cs.__)("Connect to Google Fonts")}),(0,mr.jsx)(zt.__experimentalSpacer,{margin:6}),(0,mr.jsx)(zt.__experimentalText,{as:"p",children:(0,Cs.__)("To install fonts from Google you must give permission to connect directly to Google servers. The fonts you install will be downloaded from Google and stored on your site. Your site will then use these locally-hosted fonts.")}),(0,mr.jsx)(zt.__experimentalSpacer,{margin:3}),(0,mr.jsx)(zt.__experimentalText,{as:"p",children:(0,Cs.__)("You can alternatively upload files directly on the Upload tab.")}),(0,mr.jsx)(zt.__experimentalSpacer,{margin:6}),(0,mr.jsx)(zt.Button,{__next40pxDefaultSize:!0,variant:"primary",onClick:e,children:(0,Cs.__)("Allow access to Google Fonts")})]})})})}var Fg=Sx;var Ag=h(Te(),1),Qi=h(ce(),1);var Xo=h(Y(),1);function Cx({face:e,font:t,handleToggleVariant:r,selected:o}){let n=()=>{if(t?.fontFace){r(t,e);return}r(t)},s=t.name+" "+Ui(e),i=(0,Ag.useId)();return(0,Xo.jsx)("div",{className:"font-library__font-card",children:(0,Xo.jsxs)(Qi.Flex,{justify:"flex-start",align:"center",gap:"1rem",children:[(0,Xo.jsx)(Qi.CheckboxControl,{checked:o,onChange:n,id:i}),(0,Xo.jsx)("label",{htmlFor:i,children:(0,Xo.jsx)(Mn,{font:e,text:s,onClick:n})})]})})}var Ig=Cx;var he=h(Y(),1),Rx={slug:"all",name:(0,rt._x)("All","font categories")},Lg="wp-font-library-google-fonts-permission",Ex=500;function Tx({slug:e}){let t=e==="google-fonts",r=()=>window.localStorage.getItem(Lg)==="true",[o,n]=(0,wt.useState)(null),[s,i]=(0,wt.useState)(void 0),[a,u]=(0,wt.useState)(null),[l,c]=(0,wt.useState)([]),[f,m]=(0,wt.useState)(1),[g,d]=(0,wt.useState)({}),[v,S]=(0,wt.useState)(t&&!r()),{installFonts:C,isInstalling:w}=(0,wt.useContext)(Bt),{record:b,isResolving:R}=(0,Dg.useEntityRecord)("root","fontCollection",e);(0,wt.useEffect)(()=>{let ee=()=>{S(t&&!r())};return ee(),window.addEventListener("storage",ee),()=>window.removeEventListener("storage",ee)},[e,t]);let k=()=>{window.localStorage.setItem(Lg,"false"),window.dispatchEvent(new Event("storage"))};(0,wt.useEffect)(()=>{n(null)},[e]),(0,wt.useEffect)(()=>{c([])},[o]);let T=(0,wt.useMemo)(()=>b?.font_families??[],[b]),_=b?.categories??[],A=[Rx,..._],N=(0,wt.useMemo)(()=>Og(T,g),[T,g]),q=Math.max(window.innerHeight,Ex),U=Math.floor((q-417)/61),x=Math.ceil(N.length/U),I=(f-1)*U,W=f*U,O=N.slice(I,W),D=ee=>{d({...g,category:ee}),m(1)},M=(0,Ng.debounce)(ee=>{d({...g,search:ee}),m(1)},300),E=(ee,Ae)=>{let Ie=Wi(ee,Ae,l);c(Ie)},L=Pg(l),$=()=>{c([])},F=l.length>0?l[0]?.fontFace?.length??0:0,Z=F>0&&F!==o?.fontFace?.length,se=F===o?.fontFace?.length,xe=()=>{let ee=[];!se&&o&&ee.push(o),c(ee)},ie=async()=>{u(null);let ee=l[0];try{ee?.fontFace&&await Promise.all(ee.fontFace.map(async Ae=>{Ae.src&&(Ae.file=await xg(Ae.src))}))}catch{u({type:"error",message:(0,rt.__)("Error installing the fonts, could not be downloaded.")});return}try{await C([ee]),u({type:"success",message:(0,rt.__)("Fonts were installed successfully.")})}catch(Ae){u({type:"error",message:Ae.message})}$()},ye=ee=>ee?!ee.fontFace||!ee.fontFace.length?[{fontFamily:ee.fontFamily,fontStyle:"normal",fontWeight:"400"}]:Ki(ee.fontFace):[];if(v)return(0,he.jsx)(Fg,{});let Ee=e==="google-fonts"&&!v&&!o;return(0,he.jsxs)("div",{className:"font-library__tabpanel-layout",children:[R&&(0,he.jsx)("div",{className:"font-library__loading",children:(0,he.jsx)(Se.ProgressBar,{})}),!R&&b&&(0,he.jsxs)(he.Fragment,{children:[(0,he.jsxs)(Se.Navigator,{initialPath:"/",className:"font-library__tabpanel-layout",children:[(0,he.jsxs)(Se.Navigator.Screen,{path:"/",children:[(0,he.jsxs)(Se.__experimentalHStack,{justify:"space-between",children:[(0,he.jsxs)(Se.__experimentalVStack,{children:[(0,he.jsx)(Se.__experimentalHeading,{level:2,size:13,children:b.name}),(0,he.jsx)(Se.__experimentalText,{children:b.description})]}),Ee&&(0,he.jsx)(Se.DropdownMenu,{icon:Dl,label:(0,rt.__)("Actions"),popoverProps:{position:"bottom left"},controls:[{title:(0,rt.__)("Revoke access to Google Fonts"),onClick:k}]})]}),(0,he.jsx)(Se.__experimentalSpacer,{margin:4}),(0,he.jsxs)(Se.__experimentalHStack,{spacing:4,justify:"space-between",children:[(0,he.jsx)(Se.SearchControl,{value:g.search,placeholder:(0,rt.__)("Font name\u2026"),label:(0,rt.__)("Search"),onChange:M,hideLabelFromVision:!1}),(0,he.jsx)(Se.SelectControl,{label:(0,rt.__)("Category"),value:g.category,onChange:D,children:A&&A.map(ee=>(0,he.jsx)("option",{value:ee.slug,children:ee.name},ee.slug))})]}),(0,he.jsx)(Se.__experimentalSpacer,{margin:4}),!!b?.font_families?.length&&!N.length&&(0,he.jsx)(Se.__experimentalText,{children:(0,rt.__)("No fonts found. Try with a different search term.")}),(0,he.jsx)("div",{className:"font-library__fonts-grid__main",children:(0,he.jsx)("ul",{role:"list",className:"font-library__fonts-list",children:O.map(ee=>(0,he.jsx)("li",{className:"font-library__fonts-list-item",children:(0,he.jsx)(xs,{font:ee.font_family_settings,navigatorPath:"/fontFamily",shouldFocus:ee.font_family_settings.slug===s,onClick:()=>{n(ee.font_family_settings)}})},ee.font_family_settings.slug))})})]}),(0,he.jsxs)(Se.Navigator.Screen,{path:"/fontFamily",children:[(0,he.jsxs)(Se.Flex,{justify:"flex-start",children:[(0,he.jsx)(Se.Navigator.BackButton,{icon:(0,rt.isRTL)()?Vo:Mo,size:"small",onClick:()=>{i(o?.slug),n(null),u(null)},label:(0,rt.__)("Back")}),(0,he.jsx)(Se.__experimentalHeading,{level:2,size:13,className:"global-styles-ui-header",children:o?.name})]}),a&&(0,he.jsxs)(he.Fragment,{children:[(0,he.jsx)(Se.__experimentalSpacer,{margin:1}),(0,he.jsx)(Se.Notice,{status:a.type,onRemove:()=>u(null),children:a.message}),(0,he.jsx)(Se.__experimentalSpacer,{margin:1})]}),(0,he.jsx)(Se.__experimentalSpacer,{margin:4}),(0,he.jsx)(Se.__experimentalText,{children:(0,rt.__)("Select font variants to install.")}),(0,he.jsx)(Se.__experimentalSpacer,{margin:4}),(0,he.jsx)(Se.CheckboxControl,{className:"font-library__select-all",label:(0,rt.__)("Select all"),checked:se,onChange:xe,indeterminate:Z}),(0,he.jsx)(Se.__experimentalVStack,{spacing:0,children:(0,he.jsx)("ul",{role:"list",className:"font-library__fonts-list",children:o&&ye(o).map((ee,Ae)=>(0,he.jsx)("li",{className:"font-library__fonts-list-item",children:(0,he.jsx)(Ig,{font:o,face:ee,handleToggleVariant:E,selected:kg(o.slug,o.fontFace?ee:null,L)})},`face${Ae}`))})}),(0,he.jsx)(Se.__experimentalSpacer,{margin:16})]})]}),o&&(0,he.jsx)(Se.Flex,{justify:"flex-end",className:"font-library__footer",children:(0,he.jsx)(Se.Button,{__next40pxDefaultSize:!0,variant:"primary",onClick:ie,isBusy:w,disabled:l.length===0||w,accessibleWhenDisabled:!0,children:(0,rt.__)("Install")})}),!o&&(0,he.jsxs)(Se.__experimentalHStack,{expanded:!1,className:"font-library__footer",justify:"end",spacing:6,children:[(0,he.jsx)(Se.__experimentalHStack,{justify:"flex-start",expanded:!1,spacing:1,className:"font-library__page-selection",children:(0,wt.createInterpolateElement)((0,rt.sprintf)((0,rt._x)("<div>Page</div>%1$s<div>of %2$d</div>","paging"),"<CurrentPage />",x),{div:(0,he.jsx)("div",{"aria-hidden":!0}),CurrentPage:(0,he.jsx)(Se.SelectControl,{"aria-label":(0,rt.__)("Current page"),value:f.toString(),options:[...Array(x)].map((ee,Ae)=>({label:(Ae+1).toString(),value:(Ae+1).toString()})),onChange:ee=>m(parseInt(ee)),size:"small",variant:"minimal"})})}),(0,he.jsxs)(Se.__experimentalHStack,{expanded:!1,spacing:1,children:[(0,he.jsx)(Se.Button,{onClick:()=>m(f-1),disabled:f===1,accessibleWhenDisabled:!0,label:(0,rt.__)("Previous page"),icon:(0,rt.isRTL)()?Ri:Ti,showTooltip:!0,size:"compact",tooltipPosition:"top"}),(0,he.jsx)(Se.Button,{onClick:()=>m(f+1),disabled:f===x,accessibleWhenDisabled:!0,label:(0,rt.__)("Next page"),icon:(0,rt.isRTL)()?Ti:Ri,showTooltip:!0,size:"compact",tooltipPosition:"top"})]})]})]})]})}var $i=Tx;var Bn=h(Ce(),1),It=h(ce(),1),Es=h(Te(),1);var ea=(e=>typeof Ut<"u"?Ut:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof Ut<"u"?Ut:t)[r]}):e)(function(e){if(typeof Ut<"u")return Ut.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),Mg=(function(){var e,t,r;return(function(){function o(n,s,i){function a(c,f){if(!s[c]){if(!n[c]){var m=typeof ea=="function"&&ea;if(!f&&m)return m(c,!0);if(u)return u(c,!0);var g=new Error("Cannot find module '"+c+"'");throw g.code="MODULE_NOT_FOUND",g}var d=s[c]={exports:{}};n[c][0].call(d.exports,function(v){var S=n[c][1][v];return a(S||v)},d,d.exports,o,n,s,i)}return s[c].exports}for(var u=typeof ea=="function"&&ea,l=0;l<i.length;l++)a(i[l]);return a}return o})()({1:[function(o,n,s){var i=4096,a=2*i+32,u=2*i-1,l=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function c(f){this.buf_=new Uint8Array(a),this.input_=f,this.reset()}c.READ_SIZE=i,c.IBUF_MASK=u,c.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var f=0;f<4;f++)this.val_|=this.buf_[this.pos_]<<8*f,++this.pos_;return this.bit_end_pos_>0},c.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var f=this.buf_ptr_,m=this.input_.read(this.buf_,f,i);if(m<0)throw new Error("Unexpected end of input");if(m<i){this.eos_=1;for(var g=0;g<32;g++)this.buf_[f+m+g]=0}if(f===0){for(var g=0;g<32;g++)this.buf_[(i<<1)+g]=this.buf_[g];this.buf_ptr_=i}else this.buf_ptr_=0;this.bit_end_pos_+=m<<3}},c.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[this.pos_&u]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},c.prototype.readBits=function(f){32-this.bit_pos_<f&&this.fillBitWindow();var m=this.val_>>>this.bit_pos_&l[f];return this.bit_pos_+=f,m},n.exports=c},{}],2:[function(o,n,s){var i=0,a=1,u=2,l=3;s.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),s.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])},{}],3:[function(o,n,s){var i=o("./streams").BrotliInput,a=o("./streams").BrotliOutput,u=o("./bit_reader"),l=o("./dictionary"),c=o("./huffman").HuffmanCode,f=o("./huffman").BrotliBuildHuffmanTable,m=o("./context"),g=o("./prefix"),d=o("./transform"),v=8,S=16,C=256,w=704,b=26,R=6,k=2,T=8,_=255,A=1080,N=18,q=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),U=16,x=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),I=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),W=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function O(G){var j;return G.readBits(1)===0?16:(j=G.readBits(3),j>0?17+j:(j=G.readBits(3),j>0?8+j:17))}function D(G){if(G.readBits(1)){var j=G.readBits(3);return j===0?1:G.readBits(j)+(1<<j)}return 0}function J(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function M(G){var j=new J,X,H,K;if(j.input_end=G.readBits(1),j.input_end&&G.readBits(1))return j;if(X=G.readBits(2)+4,X===7){if(j.is_metadata=!0,G.readBits(1)!==0)throw new Error("Invalid reserved bit");if(H=G.readBits(2),H===0)return j;for(K=0;K<H;K++){var fe=G.readBits(8);if(K+1===H&&H>1&&fe===0)throw new Error("Invalid size byte");j.meta_block_length|=fe<<K*8}}else for(K=0;K<X;++K){var ue=G.readBits(4);if(K+1===X&&X>4&&ue===0)throw new Error("Invalid size nibble");j.meta_block_length|=ue<<K*4}return++j.meta_block_length,!j.input_end&&!j.is_metadata&&(j.is_uncompressed=G.readBits(1)),j}function E(G,j,X){var H=j,K;return X.fillBitWindow(),j+=X.val_>>>X.bit_pos_&_,K=G[j].bits-T,K>0&&(X.bit_pos_+=T,j+=G[j].value,j+=X.val_>>>X.bit_pos_&(1<<K)-1),X.bit_pos_+=G[j].bits,G[j].value}function L(G,j,X,H){for(var K=0,fe=v,ue=0,de=0,pe=32768,me=[],V=0;V<32;V++)me.push(new c(0,0));for(f(me,0,5,G,N);K<j&&pe>0;){var re=0,De;if(H.readMoreInput(),H.fillBitWindow(),re+=H.val_>>>H.bit_pos_&31,H.bit_pos_+=me[re].bits,De=me[re].value&255,De<S)ue=0,X[K++]=De,De!==0&&(fe=De,pe-=32768>>De);else{var Ue=De-14,ot,ut,je=0;if(De===S&&(je=fe),de!==je&&(ue=0,de=je),ot=ue,ue>0&&(ue-=2,ue<<=Ue),ue+=H.readBits(Ue)+3,ut=ue-ot,K+ut>j)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var We=0;We<ut;We++)X[K+We]=de;K+=ut,de!==0&&(pe-=ut<<15-de)}}if(pe!==0)throw new Error("[ReadHuffmanCodeLengths] space = "+pe);for(;K<j;K++)X[K]=0}function $(G,j,X,H){var K=0,fe,ue=new Uint8Array(G);if(H.readMoreInput(),fe=H.readBits(2),fe===1){for(var de,pe=G-1,me=0,V=new Int32Array(4),re=H.readBits(2)+1;pe;)pe>>=1,++me;for(de=0;de<re;++de)V[de]=H.readBits(me)%G,ue[V[de]]=2;switch(ue[V[0]]=1,re){case 1:break;case 3:if(V[0]===V[1]||V[0]===V[2]||V[1]===V[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(V[0]===V[1])throw new Error("[ReadHuffmanCode] invalid symbols");ue[V[1]]=1;break;case 4:if(V[0]===V[1]||V[0]===V[2]||V[0]===V[3]||V[1]===V[2]||V[1]===V[3]||V[2]===V[3])throw new Error("[ReadHuffmanCode] invalid symbols");H.readBits(1)?(ue[V[2]]=3,ue[V[3]]=3):ue[V[0]]=2;break}}else{var de,De=new Uint8Array(N),Ue=32,ot=0,ut=[new c(2,0),new c(2,4),new c(2,3),new c(3,2),new c(2,0),new c(2,4),new c(2,3),new c(4,1),new c(2,0),new c(2,4),new c(2,3),new c(3,2),new c(2,0),new c(2,4),new c(2,3),new c(4,5)];for(de=fe;de<N&&Ue>0;++de){var je=q[de],We=0,nt;H.fillBitWindow(),We+=H.val_>>>H.bit_pos_&15,H.bit_pos_+=ut[We].bits,nt=ut[We].value,De[je]=nt,nt!==0&&(Ue-=32>>nt,++ot)}if(!(ot===1||Ue===0))throw new Error("[ReadHuffmanCode] invalid num_codes or space");L(De,G,ue,H)}if(K=f(j,X,T,ue,G),K===0)throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return K}function F(G,j,X){var H,K;return H=E(G,j,X),K=g.kBlockLengthPrefixCode[H].nbits,g.kBlockLengthPrefixCode[H].offset+X.readBits(K)}function Z(G,j,X){var H;return G<U?(X+=x[G],X&=3,H=j[X]+I[G]):H=G-U+1,H}function se(G,j){for(var X=G[j],H=j;H;--H)G[H]=G[H-1];G[0]=X}function xe(G,j){var X=new Uint8Array(256),H;for(H=0;H<256;++H)X[H]=H;for(H=0;H<j;++H){var K=G[H];G[H]=X[K],K&&se(X,K)}}function ie(G,j){this.alphabet_size=G,this.num_htrees=j,this.codes=new Array(j+j*W[G+31>>>5]),this.htrees=new Uint32Array(j)}ie.prototype.decode=function(G){var j,X,H=0;for(j=0;j<this.num_htrees;++j)this.htrees[j]=H,X=$(this.alphabet_size,this.codes,H,G),H+=X};function ye(G,j){var X={num_htrees:null,context_map:null},H,K=0,fe,ue;j.readMoreInput();var de=X.num_htrees=D(j)+1,pe=X.context_map=new Uint8Array(G);if(de<=1)return X;for(H=j.readBits(1),H&&(K=j.readBits(4)+1),fe=[],ue=0;ue<A;ue++)fe[ue]=new c(0,0);for($(de+K,fe,0,j),ue=0;ue<G;){var me;if(j.readMoreInput(),me=E(fe,0,j),me===0)pe[ue]=0,++ue;else if(me<=K)for(var V=1+(1<<me)+j.readBits(me);--V;){if(ue>=G)throw new Error("[DecodeContextMap] i >= context_map_size");pe[ue]=0,++ue}else pe[ue]=me-K,++ue}return j.readBits(1)&&xe(pe,G),X}function Ee(G,j,X,H,K,fe,ue){var de=X*2,pe=X,me=E(j,X*A,ue),V;me===0?V=K[de+(fe[pe]&1)]:me===1?V=K[de+(fe[pe]-1&1)]+1:V=me-2,V>=G&&(V-=G),H[X]=V,K[de+(fe[pe]&1)]=V,++fe[pe]}function ee(G,j,X,H,K,fe){var ue=K+1,de=X&K,pe=fe.pos_&u.IBUF_MASK,me;if(j<8||fe.bit_pos_+(j<<3)<fe.bit_end_pos_){for(;j-- >0;)fe.readMoreInput(),H[de++]=fe.readBits(8),de===ue&&(G.write(H,ue),de=0);return}if(fe.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;fe.bit_pos_<32;)H[de]=fe.val_>>>fe.bit_pos_,fe.bit_pos_+=8,++de,--j;if(me=fe.bit_end_pos_-fe.bit_pos_>>3,pe+me>u.IBUF_MASK){for(var V=u.IBUF_MASK+1-pe,re=0;re<V;re++)H[de+re]=fe.buf_[pe+re];me-=V,de+=V,j-=V,pe=0}for(var re=0;re<me;re++)H[de+re]=fe.buf_[pe+re];if(de+=me,j-=me,de>=ue){G.write(H,ue),de-=ue;for(var re=0;re<de;re++)H[re]=H[ue+re]}for(;de+j>=ue;){if(me=ue-de,fe.input_.read(H,de,me)<me)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");G.write(H,ue),j-=me,de=0}if(fe.input_.read(H,de,j)<j)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");fe.reset()}function Ae(G){var j=G.bit_pos_+7&-8,X=G.readBits(j-G.bit_pos_);return X==0}function Ie(G){var j=new i(G),X=new u(j);O(X);var H=M(X);return H.meta_block_length}s.BrotliDecompressedSize=Ie;function ke(G,j){var X=new i(G);j==null&&(j=Ie(G));var H=new Uint8Array(j),K=new a(H);return He(X,K),K.pos<K.buffer.length&&(K.buffer=K.buffer.subarray(0,K.pos)),K.buffer}s.BrotliDecompressBuffer=ke;function He(G,j){var X,H=0,K=0,fe=0,ue,de=0,pe,me,V,re,De=[16,15,11,4],Ue=0,ot=0,ut=0,je=[new ie(0,0),new ie(0,0),new ie(0,0)],We,nt,ve,_r=128+u.READ_SIZE;ve=new u(G),fe=O(ve),ue=(1<<fe)-16,pe=1<<fe,me=pe-1,V=new Uint8Array(pe+_r+l.maxDictionaryWordLength),re=pe,We=[],nt=[];for(var gr=0;gr<3*A;gr++)We[gr]=new c(0,0),nt[gr]=new c(0,0);for(;!K;){var $e=0,Hr,Et=[1<<28,1<<28,1<<28],Ne=[0],qe=[1,1,1],P=[0,1,0,1,0,1],Q=[0],y,oe,Be,te,ht=null,ne=null,Qe,B=null,z,yr=0,Ge=null,le=0,Ur=0,tr=null,et=0,Ve=0,ft=0,gt,xt;for(X=0;X<3;++X)je[X].codes=null,je[X].htrees=null;ve.readMoreInput();var Wr=M(ve);if($e=Wr.meta_block_length,H+$e>j.buffer.length){var To=new Uint8Array(H+$e);To.set(j.buffer),j.buffer=To}if(K=Wr.input_end,Hr=Wr.is_uncompressed,Wr.is_metadata){for(Ae(ve);$e>0;--$e)ve.readMoreInput(),ve.readBits(8);continue}if($e!==0){if(Hr){ve.bit_pos_=ve.bit_pos_+7&-8,ee(j,$e,H,V,me,ve),H+=$e;continue}for(X=0;X<3;++X)qe[X]=D(ve)+1,qe[X]>=2&&($(qe[X]+2,We,X*A,ve),$(b,nt,X*A,ve),Et[X]=F(nt,X*A,ve),Q[X]=1);for(ve.readMoreInput(),y=ve.readBits(2),oe=U+(ve.readBits(4)<<y),Be=(1<<y)-1,te=oe+(48<<y),ne=new Uint8Array(qe[0]),X=0;X<qe[0];++X)ve.readMoreInput(),ne[X]=ve.readBits(2)<<1;var at=ye(qe[0]<<R,ve);Qe=at.num_htrees,ht=at.context_map;var Lt=ye(qe[2]<<k,ve);for(z=Lt.num_htrees,B=Lt.context_map,je[0]=new ie(C,Qe),je[1]=new ie(w,qe[1]),je[2]=new ie(te,z),X=0;X<3;++X)je[X].decode(ve);for(Ge=0,tr=0,gt=ne[Ne[0]],Ve=m.lookupOffsets[gt],ft=m.lookupOffsets[gt+1],xt=je[1].htrees[0];$e>0;){var dt,Nt,jt,$o,wa,Ht,rr,Gr,Wn,en,Gn;for(ve.readMoreInput(),Et[1]===0&&(Ee(qe[1],We,1,Ne,P,Q,ve),Et[1]=F(nt,A,ve),xt=je[1].htrees[Ne[1]]),--Et[1],dt=E(je[1].codes,xt,ve),Nt=dt>>6,Nt>=2?(Nt-=2,rr=-1):rr=0,jt=g.kInsertRangeLut[Nt]+(dt>>3&7),$o=g.kCopyRangeLut[Nt]+(dt&7),wa=g.kInsertLengthPrefixCode[jt].offset+ve.readBits(g.kInsertLengthPrefixCode[jt].nbits),Ht=g.kCopyLengthPrefixCode[$o].offset+ve.readBits(g.kCopyLengthPrefixCode[$o].nbits),ot=V[H-1&me],ut=V[H-2&me],en=0;en<wa;++en)ve.readMoreInput(),Et[0]===0&&(Ee(qe[0],We,0,Ne,P,Q,ve),Et[0]=F(nt,0,ve),yr=Ne[0]<<R,Ge=yr,gt=ne[Ne[0]],Ve=m.lookupOffsets[gt],ft=m.lookupOffsets[gt+1]),Wn=m.lookup[Ve+ot]|m.lookup[ft+ut],le=ht[Ge+Wn],--Et[0],ut=ot,ot=E(je[0].codes,je[0].htrees[le],ve),V[H&me]=ot,(H&me)===me&&j.write(V,pe),++H;if($e-=wa,$e<=0)break;if(rr<0){var Wn;if(ve.readMoreInput(),Et[2]===0&&(Ee(qe[2],We,2,Ne,P,Q,ve),Et[2]=F(nt,2*A,ve),Ur=Ne[2]<<k,tr=Ur),--Et[2],Wn=(Ht>4?3:Ht-2)&255,et=B[tr+Wn],rr=E(je[2].codes,je[2].htrees[et],ve),rr>=oe){var xa,Cu,Yn;rr-=oe,Cu=rr&Be,rr>>=y,xa=(rr>>1)+1,Yn=(2+(rr&1)<<xa)-4,rr=oe+(Yn+ve.readBits(xa)<<y)+Cu}}if(Gr=Z(rr,De,Ue),Gr<0)throw new Error("[BrotliDecompress] invalid distance");if(H<ue&&de!==ue?de=H:de=ue,Gn=H&me,Gr>de)if(Ht>=l.minDictionaryWordLength&&Ht<=l.maxDictionaryWordLength){var Yn=l.offsetsByLength[Ht],Ru=Gr-de-1,Eu=l.sizeBitsByLength[Ht],Qy=(1<<Eu)-1,$y=Ru&Qy,Tu=Ru>>Eu;if(Yn+=$y*Ht,Tu<d.kNumTransforms){var Sa=d.transformDictionaryWord(V,Gn,Yn,Ht,Tu);if(Gn+=Sa,H+=Sa,$e-=Sa,Gn>=re){j.write(V,pe);for(var Fs=0;Fs<Gn-re;Fs++)V[Fs]=V[re+Fs]}}else throw new Error("Invalid backward reference. pos: "+H+" distance: "+Gr+" len: "+Ht+" bytes left: "+$e)}else throw new Error("Invalid backward reference. pos: "+H+" distance: "+Gr+" len: "+Ht+" bytes left: "+$e);else{if(rr>0&&(De[Ue&3]=Gr,++Ue),Ht>$e)throw new Error("Invalid backward reference. pos: "+H+" distance: "+Gr+" len: "+Ht+" bytes left: "+$e);for(en=0;en<Ht;++en)V[H&me]=V[H-Gr&me],(H&me)===me&&j.write(V,pe),++H,--$e}ot=V[H-1&me],ut=V[H-2&me]}H&=1073741823}}j.write(V,H&me)}s.BrotliDecompress=He,l.init()},{"./bit_reader":1,"./context":2,"./dictionary":6,"./huffman":7,"./prefix":9,"./streams":10,"./transform":11}],4:[function(o,n,s){var i=o("base64-js");s.init=function(){var a=o("./decode").BrotliDecompressBuffer,u=i.toByteArray(o("./dictionary.bin.js"));return a(u)}},{"./decode":3,"./dictionary.bin.js":5,"base64-js":8}],5:[function(o,n,s){n.exports="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"},{}],6:[function(o,n,s){var i=o("./dictionary-browser");s.init=function(){s.dictionary=i.init()},s.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),s.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),s.minDictionaryWordLength=4,s.maxDictionaryWordLength=24},{"./dictionary-browser":4}],7:[function(o,n,s){function i(f,m){this.bits=f,this.value=m}s.HuffmanCode=i;var a=15;function u(f,m){for(var g=1<<m-1;f&g;)g>>=1;return(f&g-1)+g}function l(f,m,g,d,v){do d-=g,f[m+d]=new i(v.bits,v.value);while(d>0)}function c(f,m,g){for(var d=1<<m-g;m<a&&(d-=f[m],!(d<=0));)++m,d<<=1;return m-g}s.BrotliBuildHuffmanTable=function(f,m,g,d,v){var S=m,C,w,b,R,k,T,_,A,N,q,U,x=new Int32Array(a+1),I=new Int32Array(a+1);for(U=new Int32Array(v),b=0;b<v;b++)x[d[b]]++;for(I[1]=0,w=1;w<a;w++)I[w+1]=I[w]+x[w];for(b=0;b<v;b++)d[b]!==0&&(U[I[d[b]]++]=b);if(A=g,N=1<<A,q=N,I[a]===1){for(R=0;R<q;++R)f[m+R]=new i(0,U[0]&65535);return q}for(R=0,b=0,w=1,k=2;w<=g;++w,k<<=1)for(;x[w]>0;--x[w])C=new i(w&255,U[b++]&65535),l(f,m+R,k,N,C),R=u(R,w);for(_=q-1,T=-1,w=g+1,k=2;w<=a;++w,k<<=1)for(;x[w]>0;--x[w])(R&_)!==T&&(m+=N,A=c(x,w,g),N=1<<A,q+=N,T=R&_,f[S+T]=new i(A+g&255,m-S-T&65535)),C=new i(w-g&255,U[b++]&65535),l(f,m+(R>>g),k,N,C),R=u(R,w);return q}},{}],8:[function(o,n,s){"use strict";s.byteLength=g,s.toByteArray=v,s.fromByteArray=w;for(var i=[],a=[],u=typeof Uint8Array<"u"?Uint8Array:Array,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=0,f=l.length;c<f;++c)i[c]=l[c],a[l.charCodeAt(c)]=c;a[45]=62,a[95]=63;function m(b){var R=b.length;if(R%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var k=b.indexOf("=");k===-1&&(k=R);var T=k===R?0:4-k%4;return[k,T]}function g(b){var R=m(b),k=R[0],T=R[1];return(k+T)*3/4-T}function d(b,R,k){return(R+k)*3/4-k}function v(b){for(var R,k=m(b),T=k[0],_=k[1],A=new u(d(b,T,_)),N=0,q=_>0?T-4:T,U=0;U<q;U+=4)R=a[b.charCodeAt(U)]<<18|a[b.charCodeAt(U+1)]<<12|a[b.charCodeAt(U+2)]<<6|a[b.charCodeAt(U+3)],A[N++]=R>>16&255,A[N++]=R>>8&255,A[N++]=R&255;return _===2&&(R=a[b.charCodeAt(U)]<<2|a[b.charCodeAt(U+1)]>>4,A[N++]=R&255),_===1&&(R=a[b.charCodeAt(U)]<<10|a[b.charCodeAt(U+1)]<<4|a[b.charCodeAt(U+2)]>>2,A[N++]=R>>8&255,A[N++]=R&255),A}function S(b){return i[b>>18&63]+i[b>>12&63]+i[b>>6&63]+i[b&63]}function C(b,R,k){for(var T,_=[],A=R;A<k;A+=3)T=(b[A]<<16&16711680)+(b[A+1]<<8&65280)+(b[A+2]&255),_.push(S(T));return _.join("")}function w(b){for(var R,k=b.length,T=k%3,_=[],A=16383,N=0,q=k-T;N<q;N+=A)_.push(C(b,N,N+A>q?q:N+A));return T===1?(R=b[k-1],_.push(i[R>>2]+i[R<<4&63]+"==")):T===2&&(R=(b[k-2]<<8)+b[k-1],_.push(i[R>>10]+i[R>>4&63]+i[R<<2&63]+"=")),_.join("")}},{}],9:[function(o,n,s){function i(a,u){this.offset=a,this.nbits=u}s.kBlockLengthPrefixCode=[new i(1,2),new i(5,2),new i(9,2),new i(13,2),new i(17,3),new i(25,3),new i(33,3),new i(41,3),new i(49,4),new i(65,4),new i(81,4),new i(97,4),new i(113,5),new i(145,5),new i(177,5),new i(209,5),new i(241,6),new i(305,6),new i(369,7),new i(497,8),new i(753,9),new i(1265,10),new i(2289,11),new i(4337,12),new i(8433,13),new i(16625,24)],s.kInsertLengthPrefixCode=[new i(0,0),new i(1,0),new i(2,0),new i(3,0),new i(4,0),new i(5,0),new i(6,1),new i(8,1),new i(10,2),new i(14,2),new i(18,3),new i(26,3),new i(34,4),new i(50,4),new i(66,5),new i(98,5),new i(130,6),new i(194,7),new i(322,8),new i(578,9),new i(1090,10),new i(2114,12),new i(6210,14),new i(22594,24)],s.kCopyLengthPrefixCode=[new i(2,0),new i(3,0),new i(4,0),new i(5,0),new i(6,0),new i(7,0),new i(8,0),new i(9,0),new i(10,1),new i(12,1),new i(14,2),new i(18,2),new i(22,3),new i(30,3),new i(38,4),new i(54,4),new i(70,5),new i(102,5),new i(134,6),new i(198,7),new i(326,8),new i(582,9),new i(1094,10),new i(2118,24)],s.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],s.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]},{}],10:[function(o,n,s){function i(u){this.buffer=u,this.pos=0}i.prototype.read=function(u,l,c){this.pos+c>this.buffer.length&&(c=this.buffer.length-this.pos);for(var f=0;f<c;f++)u[l+f]=this.buffer[this.pos+f];return this.pos+=c,c},s.BrotliInput=i;function a(u){this.buffer=u,this.pos=0}a.prototype.write=function(u,l){if(this.pos+l>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(u.subarray(0,l),this.pos),this.pos+=l,l},s.BrotliOutput=a},{}],11:[function(o,n,s){var i=o("./dictionary"),a=0,u=1,l=2,c=3,f=4,m=5,g=6,d=7,v=8,S=9,C=10,w=11,b=12,R=13,k=14,T=15,_=16,A=17,N=18,q=19,U=20;function x(O,D,J){this.prefix=new Uint8Array(O.length),this.transform=D,this.suffix=new Uint8Array(J.length);for(var M=0;M<O.length;M++)this.prefix[M]=O.charCodeAt(M);for(var M=0;M<J.length;M++)this.suffix[M]=J.charCodeAt(M)}var I=[new x("",a,""),new x("",a," "),new x(" ",a," "),new x("",b,""),new x("",C," "),new x("",a," the "),new x(" ",a,""),new x("s ",a," "),new x("",a," of "),new x("",C,""),new x("",a," and "),new x("",R,""),new x("",u,""),new x(", ",a," "),new x("",a,", "),new x(" ",C," "),new x("",a," in "),new x("",a," to "),new x("e ",a," "),new x("",a,'"'),new x("",a,"."),new x("",a,'">'),new x("",a,` `),new x("",c,""),new x("",a,"]"),new x("",a," for "),new x("",k,""),new x("",l,""),new x("",a," a "),new x("",a," that "),new x(" ",C,""),new x("",a,". "),new x(".",a,""),new x(" ",a,", "),new x("",T,""),new x("",a," with "),new x("",a,"'"),new x("",a," from "),new x("",a," by "),new x("",_,""),new x("",A,""),new x(" the ",a,""),new x("",f,""),new x("",a,". The "),new x("",w,""),new x("",a," on "),new x("",a," as "),new x("",a," is "),new x("",d,""),new x("",u,"ing "),new x("",a,` `),new x("",a,":"),new x(" ",a,". "),new x("",a,"ed "),new x("",U,""),new x("",N,""),new x("",g,""),new x("",a,"("),new x("",C,", "),new x("",v,""),new x("",a," at "),new x("",a,"ly "),new x(" the ",a," of "),new x("",m,""),new x("",S,""),new x(" ",C,", "),new x("",C,'"'),new x(".",a,"("),new x("",w," "),new x("",C,'">'),new x("",a,'="'),new x(" ",a,"."),new x(".com/",a,""),new x(" the ",a," of the "),new x("",C,"'"),new x("",a,". This "),new x("",a,","),new x(".",a," "),new x("",C,"("),new x("",C,"."),new x("",a," not "),new x(" ",a,'="'),new x("",a,"er "),new x(" ",w," "),new x("",a,"al "),new x(" ",w,""),new x("",a,"='"),new x("",w,'"'),new x("",C,". "),new x(" ",a,"("),new x("",a,"ful "),new x(" ",C,". "),new x("",a,"ive "),new x("",a,"less "),new x("",w,"'"),new x("",a,"est "),new x(" ",C,"."),new x("",w,'">'),new x(" ",a,"='"),new x("",C,","),new x("",a,"ize "),new x("",w,"."),new x("\xC2\xA0",a,""),new x(" ",a,","),new x("",C,'="'),new x("",w,'="'),new x("",a,"ous "),new x("",w,", "),new x("",C,"='"),new x(" ",C,","),new x(" ",w,'="'),new x(" ",w,", "),new x("",w,","),new x("",w,"("),new x("",w,". "),new x(" ",w,"."),new x("",w,"='"),new x(" ",w,". "),new x(" ",C,'="'),new x(" ",w,"='"),new x(" ",C,"='")];s.kTransforms=I,s.kNumTransforms=I.length;function W(O,D){return O[D]<192?(O[D]>=97&&O[D]<=122&&(O[D]^=32),1):O[D]<224?(O[D+1]^=32,2):(O[D+2]^=5,3)}s.transformDictionaryWord=function(O,D,J,M,E){var L=I[E].prefix,$=I[E].suffix,F=I[E].transform,Z=F<b?0:F-(b-1),se=0,xe=D,ie;Z>M&&(Z=M);for(var ye=0;ye<L.length;)O[D++]=L[ye++];for(J+=Z,M-=Z,F<=S&&(M-=F),se=0;se<M;se++)O[D++]=i.dictionary[J+se];if(ie=D-M,F===C)W(O,ie);else if(F===w)for(;M>0;){var Ee=W(O,ie);ie+=Ee,M-=Ee}for(var ee=0;ee<$.length;)O[D++]=$[ee++];return D-xe}},{"./dictionary":6}],12:[function(o,n,s){n.exports=o("./dec/decode").BrotliDecompressBuffer},{"./dec/decode":3}]},{},[12])(12)})();var ta=(e=>typeof Ut<"u"?Ut:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof Ut<"u"?Ut:t)[r]}):e)(function(e){if(typeof Ut<"u")return Ut.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),Vg=(function(){var e,t,r;return(function(){function o(n,s,i){function a(c,f){if(!s[c]){if(!n[c]){var m=typeof ta=="function"&&ta;if(!f&&m)return m(c,!0);if(u)return u(c,!0);var g=new Error("Cannot find module '"+c+"'");throw g.code="MODULE_NOT_FOUND",g}var d=s[c]={exports:{}};n[c][0].call(d.exports,function(v){var S=n[c][1][v];return a(S||v)},d,d.exports,o,n,s,i)}return s[c].exports}for(var u=typeof ta=="function"&&ta,l=0;l<i.length;l++)a(i[l]);return a}return o})()({1:[function(o,n,s){"use strict";var i=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";function a(c,f){return Object.prototype.hasOwnProperty.call(c,f)}s.assign=function(c){for(var f=Array.prototype.slice.call(arguments,1);f.length;){var m=f.shift();if(m){if(typeof m!="object")throw new TypeError(m+"must be non-object");for(var g in m)a(m,g)&&(c[g]=m[g])}}return c},s.shrinkBuf=function(c,f){return c.length===f?c:c.subarray?c.subarray(0,f):(c.length=f,c)};var u={arraySet:function(c,f,m,g,d){if(f.subarray&&c.subarray){c.set(f.subarray(m,m+g),d);return}for(var v=0;v<g;v++)c[d+v]=f[m+v]},flattenChunks:function(c){var f,m,g,d,v,S;for(g=0,f=0,m=c.length;f<m;f++)g+=c[f].length;for(S=new Uint8Array(g),d=0,f=0,m=c.length;f<m;f++)v=c[f],S.set(v,d),d+=v.length;return S}},l={arraySet:function(c,f,m,g,d){for(var v=0;v<g;v++)c[d+v]=f[m+v]},flattenChunks:function(c){return[].concat.apply([],c)}};s.setTyped=function(c){c?(s.Buf8=Uint8Array,s.Buf16=Uint16Array,s.Buf32=Int32Array,s.assign(s,u)):(s.Buf8=Array,s.Buf16=Array,s.Buf32=Array,s.assign(s,l))},s.setTyped(i)},{}],2:[function(o,n,s){"use strict";var i=o("./common"),a=!0,u=!0;try{String.fromCharCode.apply(null,[0])}catch{a=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{u=!1}for(var l=new i.Buf8(256),c=0;c<256;c++)l[c]=c>=252?6:c>=248?5:c>=240?4:c>=224?3:c>=192?2:1;l[254]=l[254]=1,s.string2buf=function(m){var g,d,v,S,C,w=m.length,b=0;for(S=0;S<w;S++)d=m.charCodeAt(S),(d&64512)===55296&&S+1<w&&(v=m.charCodeAt(S+1),(v&64512)===56320&&(d=65536+(d-55296<<10)+(v-56320),S++)),b+=d<128?1:d<2048?2:d<65536?3:4;for(g=new i.Buf8(b),C=0,S=0;C<b;S++)d=m.charCodeAt(S),(d&64512)===55296&&S+1<w&&(v=m.charCodeAt(S+1),(v&64512)===56320&&(d=65536+(d-55296<<10)+(v-56320),S++)),d<128?g[C++]=d:d<2048?(g[C++]=192|d>>>6,g[C++]=128|d&63):d<65536?(g[C++]=224|d>>>12,g[C++]=128|d>>>6&63,g[C++]=128|d&63):(g[C++]=240|d>>>18,g[C++]=128|d>>>12&63,g[C++]=128|d>>>6&63,g[C++]=128|d&63);return g};function f(m,g){if(g<65534&&(m.subarray&&u||!m.subarray&&a))return String.fromCharCode.apply(null,i.shrinkBuf(m,g));for(var d="",v=0;v<g;v++)d+=String.fromCharCode(m[v]);return d}s.buf2binstring=function(m){return f(m,m.length)},s.binstring2buf=function(m){for(var g=new i.Buf8(m.length),d=0,v=g.length;d<v;d++)g[d]=m.charCodeAt(d);return g},s.buf2string=function(m,g){var d,v,S,C,w=g||m.length,b=new Array(w*2);for(v=0,d=0;d<w;){if(S=m[d++],S<128){b[v++]=S;continue}if(C=l[S],C>4){b[v++]=65533,d+=C-1;continue}for(S&=C===2?31:C===3?15:7;C>1&&d<w;)S=S<<6|m[d++]&63,C--;if(C>1){b[v++]=65533;continue}S<65536?b[v++]=S:(S-=65536,b[v++]=55296|S>>10&1023,b[v++]=56320|S&1023)}return f(b,v)},s.utf8border=function(m,g){var d;for(g=g||m.length,g>m.length&&(g=m.length),d=g-1;d>=0&&(m[d]&192)===128;)d--;return d<0||d===0?g:d+l[m[d]]>g?d:g}},{"./common":1}],3:[function(o,n,s){"use strict";function i(a,u,l,c){for(var f=a&65535|0,m=a>>>16&65535|0,g=0;l!==0;){g=l>2e3?2e3:l,l-=g;do f=f+u[c++]|0,m=m+f|0;while(--g);f%=65521,m%=65521}return f|m<<16|0}n.exports=i},{}],4:[function(o,n,s){"use strict";n.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],5:[function(o,n,s){"use strict";function i(){for(var l,c=[],f=0;f<256;f++){l=f;for(var m=0;m<8;m++)l=l&1?3988292384^l>>>1:l>>>1;c[f]=l}return c}var a=i();function u(l,c,f,m){var g=a,d=m+f;l^=-1;for(var v=m;v<d;v++)l=l>>>8^g[(l^c[v])&255];return l^-1}n.exports=u},{}],6:[function(o,n,s){"use strict";function i(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}n.exports=i},{}],7:[function(o,n,s){"use strict";var i=30,a=12;n.exports=function(l,c){var f,m,g,d,v,S,C,w,b,R,k,T,_,A,N,q,U,x,I,W,O,D,J,M,E;f=l.state,m=l.next_in,M=l.input,g=m+(l.avail_in-5),d=l.next_out,E=l.output,v=d-(c-l.avail_out),S=d+(l.avail_out-257),C=f.dmax,w=f.wsize,b=f.whave,R=f.wnext,k=f.window,T=f.hold,_=f.bits,A=f.lencode,N=f.distcode,q=(1<<f.lenbits)-1,U=(1<<f.distbits)-1;e:do{_<15&&(T+=M[m++]<<_,_+=8,T+=M[m++]<<_,_+=8),x=A[T&q];t:for(;;){if(I=x>>>24,T>>>=I,_-=I,I=x>>>16&255,I===0)E[d++]=x&65535;else if(I&16){W=x&65535,I&=15,I&&(_<I&&(T+=M[m++]<<_,_+=8),W+=T&(1<<I)-1,T>>>=I,_-=I),_<15&&(T+=M[m++]<<_,_+=8,T+=M[m++]<<_,_+=8),x=N[T&U];r:for(;;){if(I=x>>>24,T>>>=I,_-=I,I=x>>>16&255,I&16){if(O=x&65535,I&=15,_<I&&(T+=M[m++]<<_,_+=8,_<I&&(T+=M[m++]<<_,_+=8)),O+=T&(1<<I)-1,O>C){l.msg="invalid distance too far back",f.mode=i;break e}if(T>>>=I,_-=I,I=d-v,O>I){if(I=O-I,I>b&&f.sane){l.msg="invalid distance too far back",f.mode=i;break e}if(D=0,J=k,R===0){if(D+=w-I,I<W){W-=I;do E[d++]=k[D++];while(--I);D=d-O,J=E}}else if(R<I){if(D+=w+R-I,I-=R,I<W){W-=I;do E[d++]=k[D++];while(--I);if(D=0,R<W){I=R,W-=I;do E[d++]=k[D++];while(--I);D=d-O,J=E}}}else if(D+=R-I,I<W){W-=I;do E[d++]=k[D++];while(--I);D=d-O,J=E}for(;W>2;)E[d++]=J[D++],E[d++]=J[D++],E[d++]=J[D++],W-=3;W&&(E[d++]=J[D++],W>1&&(E[d++]=J[D++]))}else{D=d-O;do E[d++]=E[D++],E[d++]=E[D++],E[d++]=E[D++],W-=3;while(W>2);W&&(E[d++]=E[D++],W>1&&(E[d++]=E[D++]))}}else if((I&64)===0){x=N[(x&65535)+(T&(1<<I)-1)];continue r}else{l.msg="invalid distance code",f.mode=i;break e}break}}else if((I&64)===0){x=A[(x&65535)+(T&(1<<I)-1)];continue t}else if(I&32){f.mode=a;break e}else{l.msg="invalid literal/length code",f.mode=i;break e}break}}while(m<g&&d<S);W=_>>3,m-=W,_-=W<<3,T&=(1<<_)-1,l.next_in=m,l.next_out=d,l.avail_in=m<g?5+(g-m):5-(m-g),l.avail_out=d<S?257+(S-d):257-(d-S),f.hold=T,f.bits=_}},{}],8:[function(o,n,s){"use strict";var i=o("../utils/common"),a=o("./adler32"),u=o("./crc32"),l=o("./inffast"),c=o("./inftrees"),f=0,m=1,g=2,d=4,v=5,S=6,C=0,w=1,b=2,R=-2,k=-3,T=-4,_=-5,A=8,N=1,q=2,U=3,x=4,I=5,W=6,O=7,D=8,J=9,M=10,E=11,L=12,$=13,F=14,Z=15,se=16,xe=17,ie=18,ye=19,Ee=20,ee=21,Ae=22,Ie=23,ke=24,He=25,G=26,j=27,X=28,H=29,K=30,fe=31,ue=32,de=852,pe=592,me=15,V=me;function re(P){return(P>>>24&255)+(P>>>8&65280)+((P&65280)<<8)+((P&255)<<24)}function De(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Ue(P){var Q;return!P||!P.state?R:(Q=P.state,P.total_in=P.total_out=Q.total=0,P.msg="",Q.wrap&&(P.adler=Q.wrap&1),Q.mode=N,Q.last=0,Q.havedict=0,Q.dmax=32768,Q.head=null,Q.hold=0,Q.bits=0,Q.lencode=Q.lendyn=new i.Buf32(de),Q.distcode=Q.distdyn=new i.Buf32(pe),Q.sane=1,Q.back=-1,C)}function ot(P){var Q;return!P||!P.state?R:(Q=P.state,Q.wsize=0,Q.whave=0,Q.wnext=0,Ue(P))}function ut(P,Q){var y,oe;return!P||!P.state||(oe=P.state,Q<0?(y=0,Q=-Q):(y=(Q>>4)+1,Q<48&&(Q&=15)),Q&&(Q<8||Q>15))?R:(oe.window!==null&&oe.wbits!==Q&&(oe.window=null),oe.wrap=y,oe.wbits=Q,ot(P))}function je(P,Q){var y,oe;return P?(oe=new De,P.state=oe,oe.window=null,y=ut(P,Q),y!==C&&(P.state=null),y):R}function We(P){return je(P,V)}var nt=!0,ve,_r;function gr(P){if(nt){var Q;for(ve=new i.Buf32(512),_r=new i.Buf32(32),Q=0;Q<144;)P.lens[Q++]=8;for(;Q<256;)P.lens[Q++]=9;for(;Q<280;)P.lens[Q++]=7;for(;Q<288;)P.lens[Q++]=8;for(c(m,P.lens,0,288,ve,0,P.work,{bits:9}),Q=0;Q<32;)P.lens[Q++]=5;c(g,P.lens,0,32,_r,0,P.work,{bits:5}),nt=!1}P.lencode=ve,P.lenbits=9,P.distcode=_r,P.distbits=5}function $e(P,Q,y,oe){var Be,te=P.state;return te.window===null&&(te.wsize=1<<te.wbits,te.wnext=0,te.whave=0,te.window=new i.Buf8(te.wsize)),oe>=te.wsize?(i.arraySet(te.window,Q,y-te.wsize,te.wsize,0),te.wnext=0,te.whave=te.wsize):(Be=te.wsize-te.wnext,Be>oe&&(Be=oe),i.arraySet(te.window,Q,y-oe,Be,te.wnext),oe-=Be,oe?(i.arraySet(te.window,Q,y-oe,oe,0),te.wnext=oe,te.whave=te.wsize):(te.wnext+=Be,te.wnext===te.wsize&&(te.wnext=0),te.whave<te.wsize&&(te.whave+=Be))),0}function Hr(P,Q){var y,oe,Be,te,ht,ne,Qe,B,z,yr,Ge,le,Ur,tr,et=0,Ve,ft,gt,xt,Wr,To,at,Lt,dt=new i.Buf8(4),Nt,jt,$o=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!P||!P.state||!P.output||!P.input&&P.avail_in!==0)return R;y=P.state,y.mode===L&&(y.mode=$),ht=P.next_out,Be=P.output,Qe=P.avail_out,te=P.next_in,oe=P.input,ne=P.avail_in,B=y.hold,z=y.bits,yr=ne,Ge=Qe,Lt=C;e:for(;;)switch(y.mode){case N:if(y.wrap===0){y.mode=$;break}for(;z<16;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}if(y.wrap&2&&B===35615){y.check=0,dt[0]=B&255,dt[1]=B>>>8&255,y.check=u(y.check,dt,2,0),B=0,z=0,y.mode=q;break}if(y.flags=0,y.head&&(y.head.done=!1),!(y.wrap&1)||(((B&255)<<8)+(B>>8))%31){P.msg="incorrect header check",y.mode=K;break}if((B&15)!==A){P.msg="unknown compression method",y.mode=K;break}if(B>>>=4,z-=4,at=(B&15)+8,y.wbits===0)y.wbits=at;else if(at>y.wbits){P.msg="invalid window size",y.mode=K;break}y.dmax=1<<at,P.adler=y.check=1,y.mode=B&512?M:L,B=0,z=0;break;case q:for(;z<16;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}if(y.flags=B,(y.flags&255)!==A){P.msg="unknown compression method",y.mode=K;break}if(y.flags&57344){P.msg="unknown header flags set",y.mode=K;break}y.head&&(y.head.text=B>>8&1),y.flags&512&&(dt[0]=B&255,dt[1]=B>>>8&255,y.check=u(y.check,dt,2,0)),B=0,z=0,y.mode=U;case U:for(;z<32;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}y.head&&(y.head.time=B),y.flags&512&&(dt[0]=B&255,dt[1]=B>>>8&255,dt[2]=B>>>16&255,dt[3]=B>>>24&255,y.check=u(y.check,dt,4,0)),B=0,z=0,y.mode=x;case x:for(;z<16;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}y.head&&(y.head.xflags=B&255,y.head.os=B>>8),y.flags&512&&(dt[0]=B&255,dt[1]=B>>>8&255,y.check=u(y.check,dt,2,0)),B=0,z=0,y.mode=I;case I:if(y.flags&1024){for(;z<16;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}y.length=B,y.head&&(y.head.extra_len=B),y.flags&512&&(dt[0]=B&255,dt[1]=B>>>8&255,y.check=u(y.check,dt,2,0)),B=0,z=0}else y.head&&(y.head.extra=null);y.mode=W;case W:if(y.flags&1024&&(le=y.length,le>ne&&(le=ne),le&&(y.head&&(at=y.head.extra_len-y.length,y.head.extra||(y.head.extra=new Array(y.head.extra_len)),i.arraySet(y.head.extra,oe,te,le,at)),y.flags&512&&(y.check=u(y.check,oe,le,te)),ne-=le,te+=le,y.length-=le),y.length))break e;y.length=0,y.mode=O;case O:if(y.flags&2048){if(ne===0)break e;le=0;do at=oe[te+le++],y.head&&at&&y.length<65536&&(y.head.name+=String.fromCharCode(at));while(at&&le<ne);if(y.flags&512&&(y.check=u(y.check,oe,le,te)),ne-=le,te+=le,at)break e}else y.head&&(y.head.name=null);y.length=0,y.mode=D;case D:if(y.flags&4096){if(ne===0)break e;le=0;do at=oe[te+le++],y.head&&at&&y.length<65536&&(y.head.comment+=String.fromCharCode(at));while(at&&le<ne);if(y.flags&512&&(y.check=u(y.check,oe,le,te)),ne-=le,te+=le,at)break e}else y.head&&(y.head.comment=null);y.mode=J;case J:if(y.flags&512){for(;z<16;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}if(B!==(y.check&65535)){P.msg="header crc mismatch",y.mode=K;break}B=0,z=0}y.head&&(y.head.hcrc=y.flags>>9&1,y.head.done=!0),P.adler=y.check=0,y.mode=L;break;case M:for(;z<32;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}P.adler=y.check=re(B),B=0,z=0,y.mode=E;case E:if(y.havedict===0)return P.next_out=ht,P.avail_out=Qe,P.next_in=te,P.avail_in=ne,y.hold=B,y.bits=z,b;P.adler=y.check=1,y.mode=L;case L:if(Q===v||Q===S)break e;case $:if(y.last){B>>>=z&7,z-=z&7,y.mode=j;break}for(;z<3;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}switch(y.last=B&1,B>>>=1,z-=1,B&3){case 0:y.mode=F;break;case 1:if(gr(y),y.mode=Ee,Q===S){B>>>=2,z-=2;break e}break;case 2:y.mode=xe;break;case 3:P.msg="invalid block type",y.mode=K}B>>>=2,z-=2;break;case F:for(B>>>=z&7,z-=z&7;z<32;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}if((B&65535)!==(B>>>16^65535)){P.msg="invalid stored block lengths",y.mode=K;break}if(y.length=B&65535,B=0,z=0,y.mode=Z,Q===S)break e;case Z:y.mode=se;case se:if(le=y.length,le){if(le>ne&&(le=ne),le>Qe&&(le=Qe),le===0)break e;i.arraySet(Be,oe,te,le,ht),ne-=le,te+=le,Qe-=le,ht+=le,y.length-=le;break}y.mode=L;break;case xe:for(;z<14;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}if(y.nlen=(B&31)+257,B>>>=5,z-=5,y.ndist=(B&31)+1,B>>>=5,z-=5,y.ncode=(B&15)+4,B>>>=4,z-=4,y.nlen>286||y.ndist>30){P.msg="too many length or distance symbols",y.mode=K;break}y.have=0,y.mode=ie;case ie:for(;y.have<y.ncode;){for(;z<3;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}y.lens[$o[y.have++]]=B&7,B>>>=3,z-=3}for(;y.have<19;)y.lens[$o[y.have++]]=0;if(y.lencode=y.lendyn,y.lenbits=7,Nt={bits:y.lenbits},Lt=c(f,y.lens,0,19,y.lencode,0,y.work,Nt),y.lenbits=Nt.bits,Lt){P.msg="invalid code lengths set",y.mode=K;break}y.have=0,y.mode=ye;case ye:for(;y.have<y.nlen+y.ndist;){for(;et=y.lencode[B&(1<<y.lenbits)-1],Ve=et>>>24,ft=et>>>16&255,gt=et&65535,!(Ve<=z);){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}if(gt<16)B>>>=Ve,z-=Ve,y.lens[y.have++]=gt;else{if(gt===16){for(jt=Ve+2;z<jt;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}if(B>>>=Ve,z-=Ve,y.have===0){P.msg="invalid bit length repeat",y.mode=K;break}at=y.lens[y.have-1],le=3+(B&3),B>>>=2,z-=2}else if(gt===17){for(jt=Ve+3;z<jt;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}B>>>=Ve,z-=Ve,at=0,le=3+(B&7),B>>>=3,z-=3}else{for(jt=Ve+7;z<jt;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}B>>>=Ve,z-=Ve,at=0,le=11+(B&127),B>>>=7,z-=7}if(y.have+le>y.nlen+y.ndist){P.msg="invalid bit length repeat",y.mode=K;break}for(;le--;)y.lens[y.have++]=at}}if(y.mode===K)break;if(y.lens[256]===0){P.msg="invalid code -- missing end-of-block",y.mode=K;break}if(y.lenbits=9,Nt={bits:y.lenbits},Lt=c(m,y.lens,0,y.nlen,y.lencode,0,y.work,Nt),y.lenbits=Nt.bits,Lt){P.msg="invalid literal/lengths set",y.mode=K;break}if(y.distbits=6,y.distcode=y.distdyn,Nt={bits:y.distbits},Lt=c(g,y.lens,y.nlen,y.ndist,y.distcode,0,y.work,Nt),y.distbits=Nt.bits,Lt){P.msg="invalid distances set",y.mode=K;break}if(y.mode=Ee,Q===S)break e;case Ee:y.mode=ee;case ee:if(ne>=6&&Qe>=258){P.next_out=ht,P.avail_out=Qe,P.next_in=te,P.avail_in=ne,y.hold=B,y.bits=z,l(P,Ge),ht=P.next_out,Be=P.output,Qe=P.avail_out,te=P.next_in,oe=P.input,ne=P.avail_in,B=y.hold,z=y.bits,y.mode===L&&(y.back=-1);break}for(y.back=0;et=y.lencode[B&(1<<y.lenbits)-1],Ve=et>>>24,ft=et>>>16&255,gt=et&65535,!(Ve<=z);){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}if(ft&&(ft&240)===0){for(xt=Ve,Wr=ft,To=gt;et=y.lencode[To+((B&(1<<xt+Wr)-1)>>xt)],Ve=et>>>24,ft=et>>>16&255,gt=et&65535,!(xt+Ve<=z);){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}B>>>=xt,z-=xt,y.back+=xt}if(B>>>=Ve,z-=Ve,y.back+=Ve,y.length=gt,ft===0){y.mode=G;break}if(ft&32){y.back=-1,y.mode=L;break}if(ft&64){P.msg="invalid literal/length code",y.mode=K;break}y.extra=ft&15,y.mode=Ae;case Ae:if(y.extra){for(jt=y.extra;z<jt;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}y.length+=B&(1<<y.extra)-1,B>>>=y.extra,z-=y.extra,y.back+=y.extra}y.was=y.length,y.mode=Ie;case Ie:for(;et=y.distcode[B&(1<<y.distbits)-1],Ve=et>>>24,ft=et>>>16&255,gt=et&65535,!(Ve<=z);){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}if((ft&240)===0){for(xt=Ve,Wr=ft,To=gt;et=y.distcode[To+((B&(1<<xt+Wr)-1)>>xt)],Ve=et>>>24,ft=et>>>16&255,gt=et&65535,!(xt+Ve<=z);){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}B>>>=xt,z-=xt,y.back+=xt}if(B>>>=Ve,z-=Ve,y.back+=Ve,ft&64){P.msg="invalid distance code",y.mode=K;break}y.offset=gt,y.extra=ft&15,y.mode=ke;case ke:if(y.extra){for(jt=y.extra;z<jt;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}y.offset+=B&(1<<y.extra)-1,B>>>=y.extra,z-=y.extra,y.back+=y.extra}if(y.offset>y.dmax){P.msg="invalid distance too far back",y.mode=K;break}y.mode=He;case He:if(Qe===0)break e;if(le=Ge-Qe,y.offset>le){if(le=y.offset-le,le>y.whave&&y.sane){P.msg="invalid distance too far back",y.mode=K;break}le>y.wnext?(le-=y.wnext,Ur=y.wsize-le):Ur=y.wnext-le,le>y.length&&(le=y.length),tr=y.window}else tr=Be,Ur=ht-y.offset,le=y.length;le>Qe&&(le=Qe),Qe-=le,y.length-=le;do Be[ht++]=tr[Ur++];while(--le);y.length===0&&(y.mode=ee);break;case G:if(Qe===0)break e;Be[ht++]=y.length,Qe--,y.mode=ee;break;case j:if(y.wrap){for(;z<32;){if(ne===0)break e;ne--,B|=oe[te++]<<z,z+=8}if(Ge-=Qe,P.total_out+=Ge,y.total+=Ge,Ge&&(P.adler=y.check=y.flags?u(y.check,Be,Ge,ht-Ge):a(y.check,Be,Ge,ht-Ge)),Ge=Qe,(y.flags?B:re(B))!==y.check){P.msg="incorrect data check",y.mode=K;break}B=0,z=0}y.mode=X;case X:if(y.wrap&&y.flags){for(;z<32;){if(ne===0)break e;ne--,B+=oe[te++]<<z,z+=8}if(B!==(y.total&4294967295)){P.msg="incorrect length check",y.mode=K;break}B=0,z=0}y.mode=H;case H:Lt=w;break e;case K:Lt=k;break e;case fe:return T;case ue:default:return R}return P.next_out=ht,P.avail_out=Qe,P.next_in=te,P.avail_in=ne,y.hold=B,y.bits=z,(y.wsize||Ge!==P.avail_out&&y.mode<K&&(y.mode<j||Q!==d))&&$e(P,P.output,P.next_out,Ge-P.avail_out)?(y.mode=fe,T):(yr-=P.avail_in,Ge-=P.avail_out,P.total_in+=yr,P.total_out+=Ge,y.total+=Ge,y.wrap&&Ge&&(P.adler=y.check=y.flags?u(y.check,Be,Ge,P.next_out-Ge):a(y.check,Be,Ge,P.next_out-Ge)),P.data_type=y.bits+(y.last?64:0)+(y.mode===L?128:0)+(y.mode===Ee||y.mode===Z?256:0),(yr===0&&Ge===0||Q===d)&&Lt===C&&(Lt=_),Lt)}function Et(P){if(!P||!P.state)return R;var Q=P.state;return Q.window&&(Q.window=null),P.state=null,C}function Ne(P,Q){var y;return!P||!P.state||(y=P.state,(y.wrap&2)===0)?R:(y.head=Q,Q.done=!1,C)}function qe(P,Q){var y=Q.length,oe,Be,te;return!P||!P.state||(oe=P.state,oe.wrap!==0&&oe.mode!==E)?R:oe.mode===E&&(Be=1,Be=a(Be,Q,y,0),Be!==oe.check)?k:(te=$e(P,Q,y,y),te?(oe.mode=fe,T):(oe.havedict=1,C))}s.inflateReset=ot,s.inflateReset2=ut,s.inflateResetKeep=Ue,s.inflateInit=We,s.inflateInit2=je,s.inflate=Hr,s.inflateEnd=Et,s.inflateGetHeader=Ne,s.inflateSetDictionary=qe,s.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":1,"./adler32":3,"./crc32":5,"./inffast":7,"./inftrees":9}],9:[function(o,n,s){"use strict";var i=o("../utils/common"),a=15,u=852,l=592,c=0,f=1,m=2,g=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],d=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],v=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],S=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];n.exports=function(w,b,R,k,T,_,A,N){var q=N.bits,U=0,x=0,I=0,W=0,O=0,D=0,J=0,M=0,E=0,L=0,$,F,Z,se,xe,ie=null,ye=0,Ee,ee=new i.Buf16(a+1),Ae=new i.Buf16(a+1),Ie=null,ke=0,He,G,j;for(U=0;U<=a;U++)ee[U]=0;for(x=0;x<k;x++)ee[b[R+x]]++;for(O=q,W=a;W>=1&&ee[W]===0;W--);if(O>W&&(O=W),W===0)return T[_++]=1<<24|64<<16|0,T[_++]=1<<24|64<<16|0,N.bits=1,0;for(I=1;I<W&&ee[I]===0;I++);for(O<I&&(O=I),M=1,U=1;U<=a;U++)if(M<<=1,M-=ee[U],M<0)return-1;if(M>0&&(w===c||W!==1))return-1;for(Ae[1]=0,U=1;U<a;U++)Ae[U+1]=Ae[U]+ee[U];for(x=0;x<k;x++)b[R+x]!==0&&(A[Ae[b[R+x]]++]=x);if(w===c?(ie=Ie=A,Ee=19):w===f?(ie=g,ye-=257,Ie=d,ke-=257,Ee=256):(ie=v,Ie=S,Ee=-1),L=0,x=0,U=I,xe=_,D=O,J=0,Z=-1,E=1<<O,se=E-1,w===f&&E>u||w===m&&E>l)return 1;for(;;){He=U-J,A[x]<Ee?(G=0,j=A[x]):A[x]>Ee?(G=Ie[ke+A[x]],j=ie[ye+A[x]]):(G=96,j=0),$=1<<U-J,F=1<<D,I=F;do F-=$,T[xe+(L>>J)+F]=He<<24|G<<16|j|0;while(F!==0);for($=1<<U-1;L&$;)$>>=1;if($!==0?(L&=$-1,L+=$):L=0,x++,--ee[U]===0){if(U===W)break;U=b[R+A[x]]}if(U>O&&(L&se)!==Z){for(J===0&&(J=O),xe+=I,D=U-J,M=1<<D;D+J<W&&(M-=ee[D+J],!(M<=0));)D++,M<<=1;if(E+=1<<D,w===f&&E>u||w===m&&E>l)return 1;Z=L&se,T[Z]=O<<24|D<<16|xe-_|0}}return L!==0&&(T[xe+L]=U-J<<24|64<<16|0),N.bits=O,0}},{"../utils/common":1}],10:[function(o,n,s){"use strict";n.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],11:[function(o,n,s){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}n.exports=i},{}],"/lib/inflate.js":[function(o,n,s){"use strict";var i=o("./zlib/inflate"),a=o("./utils/common"),u=o("./utils/strings"),l=o("./zlib/constants"),c=o("./zlib/messages"),f=o("./zlib/zstream"),m=o("./zlib/gzheader"),g=Object.prototype.toString;function d(C){if(!(this instanceof d))return new d(C);this.options=a.assign({chunkSize:16384,windowBits:0,to:""},C||{});var w=this.options;w.raw&&w.windowBits>=0&&w.windowBits<16&&(w.windowBits=-w.windowBits,w.windowBits===0&&(w.windowBits=-15)),w.windowBits>=0&&w.windowBits<16&&!(C&&C.windowBits)&&(w.windowBits+=32),w.windowBits>15&&w.windowBits<48&&(w.windowBits&15)===0&&(w.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var b=i.inflateInit2(this.strm,w.windowBits);if(b!==l.Z_OK)throw new Error(c[b]);if(this.header=new m,i.inflateGetHeader(this.strm,this.header),w.dictionary&&(typeof w.dictionary=="string"?w.dictionary=u.string2buf(w.dictionary):g.call(w.dictionary)==="[object ArrayBuffer]"&&(w.dictionary=new Uint8Array(w.dictionary)),w.raw&&(b=i.inflateSetDictionary(this.strm,w.dictionary),b!==l.Z_OK)))throw new Error(c[b])}d.prototype.push=function(C,w){var b=this.strm,R=this.options.chunkSize,k=this.options.dictionary,T,_,A,N,q,U=!1;if(this.ended)return!1;_=w===~~w?w:w===!0?l.Z_FINISH:l.Z_NO_FLUSH,typeof C=="string"?b.input=u.binstring2buf(C):g.call(C)==="[object ArrayBuffer]"?b.input=new Uint8Array(C):b.input=C,b.next_in=0,b.avail_in=b.input.length;do{if(b.avail_out===0&&(b.output=new a.Buf8(R),b.next_out=0,b.avail_out=R),T=i.inflate(b,l.Z_NO_FLUSH),T===l.Z_NEED_DICT&&k&&(T=i.inflateSetDictionary(this.strm,k)),T===l.Z_BUF_ERROR&&U===!0&&(T=l.Z_OK,U=!1),T!==l.Z_STREAM_END&&T!==l.Z_OK)return this.onEnd(T),this.ended=!0,!1;b.next_out&&(b.avail_out===0||T===l.Z_STREAM_END||b.avail_in===0&&(_===l.Z_FINISH||_===l.Z_SYNC_FLUSH))&&(this.options.to==="string"?(A=u.utf8border(b.output,b.next_out),N=b.next_out-A,q=u.buf2string(b.output,A),b.next_out=N,b.avail_out=R-N,N&&a.arraySet(b.output,b.output,A,N,0),this.onData(q)):this.onData(a.shrinkBuf(b.output,b.next_out))),b.avail_in===0&&b.avail_out===0&&(U=!0)}while((b.avail_in>0||b.avail_out===0)&&T!==l.Z_STREAM_END);return T===l.Z_STREAM_END&&(_=l.Z_FINISH),_===l.Z_FINISH?(T=i.inflateEnd(this.strm),this.onEnd(T),this.ended=!0,T===l.Z_OK):(_===l.Z_SYNC_FLUSH&&(this.onEnd(l.Z_OK),b.avail_out=0),!0)},d.prototype.onData=function(C){this.chunks.push(C)},d.prototype.onEnd=function(C){C===l.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=a.flattenChunks(this.chunks)),this.chunks=[],this.err=C,this.msg=this.strm.msg};function v(C,w){var b=new d(w);if(b.push(C,!0),b.err)throw b.msg||c[b.err];return b.result}function S(C,w){return w=w||{},w.raw=!0,v(C,w)}s.Inflate=d,s.inflate=v,s.inflateRaw=S,s.ungzip=v},{"./utils/common":1,"./utils/strings":2,"./zlib/constants":4,"./zlib/gzheader":6,"./zlib/inflate":8,"./zlib/messages":10,"./zlib/zstream":11}]},{},[])("/lib/inflate.js")})();var zN=globalThis.fetch,ra=class{constructor(e,t={},r){this.type=e,this.detail=t,this.msg=r,Object.defineProperty(this,"__mayPropagate",{enumerable:!1,writable:!0}),this.__mayPropagate=!0}preventDefault(){}stopPropagation(){this.__mayPropagate=!1}valueOf(){return this}toString(){return this.msg?`[${this.type} event]: ${this.msg}`:`[${this.type} event]`}},_x=class{constructor(){this.listeners={}}addEventListener(e,t,r){let o=this.listeners[e]||[];r?o.unshift(t):o.push(t),this.listeners[e]=o}removeEventListener(e,t){let r=this.listeners[e]||[],o=r.findIndex(n=>n===t);o>-1&&(r.splice(o,1),this.listeners[e]=r)}dispatch(e){let t=this.listeners[e.type];if(t)for(let r=0,o=t.length;r<o&&e.__mayPropagate;r++)t[r](e)}},Ox=new Date("1904-01-01T00:00:00+0000").getTime();function Px(e){return Array.from(e).map(t=>String.fromCharCode(t)).join("")}var kx=class{constructor(e,t,r){this.name=(r||e.tag||"").trim(),this.length=e.length,this.start=e.offset,this.offset=0,this.data=t,["getInt8","getUint8","getInt16","getUint16","getInt32","getUint32","getBigInt64","getBigUint64"].forEach(o=>{let n=o.replace(/get(Big)?/,"").toLowerCase(),s=parseInt(o.replace(/[^\d]/g,""))/8;Object.defineProperty(this,n,{get:()=>this.getValue(o,s)})})}get currentPosition(){return this.start+this.offset}set currentPosition(e){this.start=e,this.offset=0}skip(e=0,t=8){this.offset+=e*t/8}getValue(e,t){let r=this.start+this.offset;this.offset+=t;try{return this.data[e](r)}catch(o){throw console.error("parser",e,t,this),console.error("parser",this.start,this.offset),o}}flags(e){if(e===8||e===16||e===32||e===64)return this[`uint${e}`].toString(2).padStart(e,0).split("").map(t=>t==="1");console.error("Error parsing flags: flag types can only be 1, 2, 4, or 8 bytes long"),console.trace()}get tag(){let e=this.uint32;return Px([e>>24&255,e>>16&255,e>>8&255,e&255])}get fixed(){let e=this.int16,t=Math.round(1e3*this.uint16/65356);return e+t/1e3}get legacyFixed(){let e=this.uint16,t=this.uint16.toString(16).padStart(4,0);return parseFloat(`${e}.${t}`)}get uint24(){return(this.uint8<<16)+(this.uint8<<8)+this.uint8}get uint128(){let e=0;for(let t=0;t<5;t++){let r=this.uint8;if(e=e*128+(r&127),r<128)break}return e}get longdatetime(){return new Date(Ox+1e3*parseInt(this.int64.toString()))}get fword(){return this.int16}get ufword(){return this.uint16}get Offset16(){return this.uint16}get Offset32(){return this.uint32}get F2DOT14(){let e=p.uint16,t=[0,1,-2,-1][e>>14],r=e&16383;return t+r/16384}verifyLength(){this.offset!=this.length&&console.error(`unexpected parsed table size (${this.offset}) for "${this.name}" (expected ${this.length})`)}readBytes(e=0,t=0,r=8,o=!1){if(e=e||this.length,e===0)return[];t&&(this.currentPosition=t);let n=`${o?"":"u"}int${r}`,s=[];for(;e--;)s.push(this[n]);return s}},ct=class{constructor(e){Object.defineProperty(this,"parser",{enumerable:!1,get:()=>e});let r=e.currentPosition;Object.defineProperty(this,"start",{enumerable:!1,get:()=>r})}load(e){Object.keys(e).forEach(t=>{let r=Object.getOwnPropertyDescriptor(e,t);r.get?this[t]=r.get.bind(this):r.value!==void 0&&(this[t]=r.value)}),this.parser.length&&this.parser.verifyLength()}},Pe=class extends ct{constructor(e,t,r){let{parser:o,start:n}=super(new kx(e,t,r));Object.defineProperty(this,"p",{enumerable:!1,get:()=>o}),Object.defineProperty(this,"tableStart",{enumerable:!1,get:()=>n})}};function ae(e,t,r){let o;Object.defineProperty(e,t,{get:()=>o||(o=r(),o),enumerable:!0})}var Fx=class extends Pe{constructor(e,t,r){let{p:o}=super({offset:0,length:12},t,"sfnt");this.version=o.uint32,this.numTables=o.uint16,this.searchRange=o.uint16,this.entrySelector=o.uint16,this.rangeShift=o.uint16,o.verifyLength(),this.directory=[...new Array(this.numTables)].map(n=>new Ax(o)),this.tables={},this.directory.forEach(n=>{let s=()=>r(this.tables,{tag:n.tag,offset:n.offset,length:n.length},t);ae(this.tables,n.tag.trim(),s)})}},Ax=class{constructor(e){this.tag=e.tag,this.checksum=e.uint32,this.offset=e.uint32,this.length=e.uint32}},Bg=Vg.inflate||void 0,zg=void 0,Ix=class extends Pe{constructor(e,t,r){let{p:o}=super({offset:0,length:44},t,"woff");this.signature=o.tag,this.flavor=o.uint32,this.length=o.uint32,this.numTables=o.uint16,o.uint16,this.totalSfntSize=o.uint32,this.majorVersion=o.uint16,this.minorVersion=o.uint16,this.metaOffset=o.uint32,this.metaLength=o.uint32,this.metaOrigLength=o.uint32,this.privOffset=o.uint32,this.privLength=o.uint32,o.verifyLength(),this.directory=[...new Array(this.numTables)].map(n=>new Lx(o)),Nx(this,t,r)}},Lx=class{constructor(e){this.tag=e.tag,this.offset=e.uint32,this.compLength=e.uint32,this.origLength=e.uint32,this.origChecksum=e.uint32}};function Nx(e,t,r){e.tables={},e.directory.forEach(o=>{ae(e.tables,o.tag.trim(),()=>{let n=0,s=t;if(o.compLength!==o.origLength){let i=t.buffer.slice(o.offset,o.offset+o.compLength),a;if(Bg)a=Bg(new Uint8Array(i));else if(zg)a=zg(new Uint8Array(i));else{let u="no brotli decoder available to decode WOFF2 font";throw font.onerror&&font.onerror(u),new Error(u)}s=new DataView(a.buffer)}else n=o.offset;return r(e.tables,{tag:o.tag,offset:n,length:o.origLength},s)})})}var jg=Mg,Hg=void 0,Dx=class extends Pe{constructor(e,t,r){let{p:o}=super({offset:0,length:48},t,"woff2");this.signature=o.tag,this.flavor=o.uint32,this.length=o.uint32,this.numTables=o.uint16,o.uint16,this.totalSfntSize=o.uint32,this.totalCompressedSize=o.uint32,this.majorVersion=o.uint16,this.minorVersion=o.uint16,this.metaOffset=o.uint32,this.metaLength=o.uint32,this.metaOrigLength=o.uint32,this.privOffset=o.uint32,this.privLength=o.uint32,o.verifyLength(),this.directory=[...new Array(this.numTables)].map(a=>new Mx(o));let n=o.currentPosition;this.directory[0].offset=0,this.directory.forEach((a,u)=>{let l=this.directory[u+1];l&&(l.offset=a.offset+(a.transformLength!==void 0?a.transformLength:a.origLength))});let s,i=t.buffer.slice(n);if(jg)s=jg(new Uint8Array(i));else if(Hg)s=new Uint8Array(Hg(i));else{let a="no brotli decoder available to decode WOFF2 font";throw e.onerror&&e.onerror(a),new Error(a)}Vx(this,s,r)}},Mx=class{constructor(e){this.flags=e.uint8;let t=this.tagNumber=this.flags&63;t===63?this.tag=e.tag:this.tag=Bx(t);let o=(this.transformVersion=(this.flags&192)>>6)!==0;(this.tag==="glyf"||this.tag==="loca")&&(o=this.transformVersion!==3),this.origLength=e.uint128,o&&(this.transformLength=e.uint128)}};function Vx(e,t,r){e.tables={},e.directory.forEach(o=>{ae(e.tables,o.tag.trim(),()=>{let n=o.offset,s=n+(o.transformLength?o.transformLength:o.origLength),i=new DataView(t.slice(n,s).buffer);try{return r(e.tables,{tag:o.tag,offset:0,length:o.origLength},i)}catch(a){console.error(a)}})})}function Bx(e){return["cmap","head","hhea","hmtx","maxp","name","OS/2","post","cvt ","fpgm","glyf","loca","prep","CFF ","VORG","EBDT","EBLC","gasp","hdmx","kern","LTSH","PCLT","VDMX","vhea","vmtx","BASE","GDEF","GPOS","GSUB","EBSC","JSTF","MATH","CBDT","CBLC","COLR","CPAL","SVG ","sbix","acnt","avar","bdat","bloc","bsln","cvar","fdsc","feat","fmtx","fvar","gvar","hsty","just","lcar","mort","morx","opbd","prop","trak","Zapf","Silf","Glat","Gloc","Feat","Sill"][e&63]}var Xg={},Kg=!1;Promise.all([Promise.resolve().then(function(){return pS}),Promise.resolve().then(function(){return hS}),Promise.resolve().then(function(){return yS}),Promise.resolve().then(function(){return wS}),Promise.resolve().then(function(){return SS}),Promise.resolve().then(function(){return _S}),Promise.resolve().then(function(){return PS}),Promise.resolve().then(function(){return FS}),Promise.resolve().then(function(){return jS}),Promise.resolve().then(function(){return QS}),Promise.resolve().then(function(){return BC}),Promise.resolve().then(function(){return jC}),Promise.resolve().then(function(){return GC}),Promise.resolve().then(function(){return XC}),Promise.resolve().then(function(){return JC}),Promise.resolve().then(function(){return $C}),Promise.resolve().then(function(){return rR}),Promise.resolve().then(function(){return nR}),Promise.resolve().then(function(){return iR}),Promise.resolve().then(function(){return lR}),Promise.resolve().then(function(){return uR}),Promise.resolve().then(function(){return dR}),Promise.resolve().then(function(){return hR}),Promise.resolve().then(function(){return vR}),Promise.resolve().then(function(){return bR}),Promise.resolve().then(function(){return xR}),Promise.resolve().then(function(){return CR}),Promise.resolve().then(function(){return ER}),Promise.resolve().then(function(){return _R}),Promise.resolve().then(function(){return kR}),Promise.resolve().then(function(){return DR}),Promise.resolve().then(function(){return zR}),Promise.resolve().then(function(){return UR}),Promise.resolve().then(function(){return qR}),Promise.resolve().then(function(){return XR}),Promise.resolve().then(function(){return JR}),Promise.resolve().then(function(){return e2}),Promise.resolve().then(function(){return r2}),Promise.resolve().then(function(){return a2}),Promise.resolve().then(function(){return c2}),Promise.resolve().then(function(){return d2})]).then(e=>{e.forEach(t=>{let r=Object.keys(t)[0];Xg[r]=t[r]}),Kg=!0});function zx(e,t,r){let o=t.tag.replace(/[^\w\d]/g,""),n=Xg[o];return n?new n(t,r,e):(console.warn(`lib-font has no definition for ${o}. The table was skipped.`),{})}function jx(){let e=0;function t(r,o){if(!Kg)return e>10?o(new Error("loading took too long")):(e++,setTimeout(()=>t(r),250));r(zx)}return new Promise((r,o)=>t(r))}function Hx(e,t){let r=e.lastIndexOf("."),o=(e.substring(r+1)||"").toLowerCase(),n={ttf:"truetype",otf:"opentype",woff:"woff",woff2:"woff2"}[o];if(n)return n;let s={eot:"The .eot format is not supported: it died in January 12, 2016, when Microsoft retired all versions of IE that didn't already support WOFF.",svg:"The .svg format is not supported: SVG fonts (not to be confused with OpenType with embedded SVG) were so bad we took the entire fonts chapter out of the SVG specification again.",fon:"The .fon format is not supported: this is an ancient Windows bitmap font format.",ttc:"Based on the current CSS specification, font collections are not (yet?) supported."}[o];if(s||(s=`${e} is not a known webfont format.`),t)throw new Error(s);console.warn(`Could not load font: ${s}`)}async function Ux(e,t,r={}){if(!globalThis.document)return;let o=Hx(t,r.errorOnStyle);if(!o)return;let n=document.createElement("style");n.className="injected-by-Font-js";let s=[];return r.styleRules&&(s=Object.entries(r.styleRules).map(([i,a])=>`${i}: ${a};`)),n.textContent=` @font-face { font-family: "${e}"; ${s.join(` `)} src: url("${t}") format("${o}"); }`,globalThis.document.head.appendChild(n),n}var Wx=[0,1,0,0],Gx=[79,84,84,79],Yx=[119,79,70,70],qx=[119,79,70,50];function oa(e,t){if(e.length===t.length){for(let r=0;r<e.length;r++)if(e[r]!==t[r])return;return!0}}function Zx(e){let t=[e.getUint8(0),e.getUint8(1),e.getUint8(2),e.getUint8(3)];if(oa(t,Wx)||oa(t,Gx))return"SFNT";if(oa(t,Yx))return"WOFF";if(oa(t,qx))return"WOFF2"}function Xx(e){if(!e.ok)throw new Error(`HTTP ${e.status} - ${e.statusText}`);return e}var sa=class extends _x{constructor(e,t={}){super(),this.name=e,this.options=t,this.metrics=!1}get src(){return this.__src}set src(e){this.__src=e,(async()=>(globalThis.document&&!this.options.skipStyleSheet&&await Ux(this.name,e,this.options),this.loadFont(e)))()}async loadFont(e,t){fetch(e).then(r=>Xx(r)&&r.arrayBuffer()).then(r=>this.fromDataBuffer(r,t||e)).catch(r=>{let o=new ra("error",r,`Failed to load font at ${t||e}`);this.dispatch(o),this.onerror&&this.onerror(o)})}async fromDataBuffer(e,t){this.fontData=new DataView(e);let r=Zx(this.fontData);if(!r)throw new Error(`${t} is either an unsupported font format, or not a font at all.`);await this.parseBasicData(r);let o=new ra("load",{font:this});this.dispatch(o),this.onload&&this.onload(o)}async parseBasicData(e){return jx().then(t=>(e==="SFNT"&&(this.opentype=new Fx(this,this.fontData,t)),e==="WOFF"&&(this.opentype=new Ix(this,this.fontData,t)),e==="WOFF2"&&(this.opentype=new Dx(this,this.fontData,t)),this.opentype))}getGlyphId(e){return this.opentype.tables.cmap.getGlyphId(e)}reverse(e){return this.opentype.tables.cmap.reverse(e)}supports(e){return this.getGlyphId(e)!==0}supportsVariation(e){return this.opentype.tables.cmap.supportsVariation(e)!==!1}measureText(e,t=16){if(this.__unloaded)throw new Error("Cannot measure text: font was unloaded. Please reload before calling measureText()");let r=document.createElement("div");r.textContent=e,r.style.fontFamily=this.name,r.style.fontSize=`${t}px`,r.style.color="transparent",r.style.background="transparent",r.style.top="0",r.style.left="0",r.style.position="absolute",document.body.appendChild(r);let o=r.getBoundingClientRect();document.body.removeChild(r);let n=this.opentype.tables["OS/2"];return o.fontSize=t,o.ascender=n.sTypoAscender,o.descender=n.sTypoDescender,o}unload(){if(this.styleElement.parentNode){this.styleElement.parentNode.removeElement(this.styleElement);let e=new ra("unload",{font:this});this.dispatch(e),this.onunload&&this.onunload(e)}this._unloaded=!0}load(){if(this.__unloaded){delete this.__unloaded,document.head.appendChild(this.styleElement);let e=new ra("load",{font:this});this.dispatch(e),this.onload&&this.onload(e)}}};globalThis.Font=sa;var eo=class extends ct{constructor(e,t,r){super(e),this.plaformID=t,this.encodingID=r}},Kx=class extends eo{constructor(e,t,r){super(e,t,r),this.format=0,this.length=e.uint16,this.language=e.uint16,this.glyphIdArray=[...new Array(256)].map(o=>e.uint8)}supports(e){return e.charCodeAt&&(e=-1,console.warn("supports(character) not implemented for cmap subtable format 0. only supports(id) is implemented.")),0<=e&&e<=255}reverse(e){return console.warn("reverse not implemented for cmap subtable format 0"),{}}getSupportedCharCodes(){return[{start:1,end:256}]}},Jx=class extends eo{constructor(e,t,r){super(e,t,r),this.format=2,this.length=e.uint16,this.language=e.uint16,this.subHeaderKeys=[...new Array(256)].map(i=>e.uint16);let o=Math.max(...this.subHeaderKeys),n=e.currentPosition;ae(this,"subHeaders",()=>(e.currentPosition=n,[...new Array(o)].map(i=>new Qx(e))));let s=n+o*8;ae(this,"glyphIndexArray",()=>(e.currentPosition=s,[...new Array(o)].map(i=>e.uint16)))}supports(e){e.charCodeAt&&(e=-1,console.warn("supports(character) not implemented for cmap subtable format 2. only supports(id) is implemented."));let t=e&&255,r=e&&65280,o=this.subHeaders[r],n=this.subHeaders[o],s=n.firstCode,i=s+n.entryCount;return s<=t&&t<=i}reverse(e){return console.warn("reverse not implemented for cmap subtable format 2"),{}}getSupportedCharCodes(e=!1){return e?this.subHeaders.map(t=>({firstCode:t.firstCode,lastCode:t.lastCode})):this.subHeaders.map(t=>({start:t.firstCode,end:t.lastCode}))}},Qx=class{constructor(e){this.firstCode=e.uint16,this.entryCount=e.uint16,this.lastCode=this.first+this.entryCount,this.idDelta=e.int16,this.idRangeOffset=e.uint16}},$x=class extends eo{constructor(e,t,r){super(e,t,r),this.format=4,this.length=e.uint16,this.language=e.uint16,this.segCountX2=e.uint16,this.segCount=this.segCountX2/2,this.searchRange=e.uint16,this.entrySelector=e.uint16,this.rangeShift=e.uint16;let o=e.currentPosition;ae(this,"endCode",()=>e.readBytes(this.segCount,o,16));let n=o+2+this.segCountX2;ae(this,"startCode",()=>e.readBytes(this.segCount,n,16));let s=n+this.segCountX2;ae(this,"idDelta",()=>e.readBytes(this.segCount,s,16,!0));let i=s+this.segCountX2;ae(this,"idRangeOffset",()=>e.readBytes(this.segCount,i,16));let a=i+this.segCountX2,u=this.length-(a-this.tableStart);ae(this,"glyphIdArray",()=>e.readBytes(u,a,16)),ae(this,"segments",()=>this.buildSegments(i,a,e))}buildSegments(e,t,r){let o=(n,s)=>{let i=this.startCode[s],a=this.endCode[s],u=this.idDelta[s],l=this.idRangeOffset[s],c=e+2*s,f=[];if(l===0)for(let m=i+u,g=a+u;m<=g;m++)f.push(m);else for(let m=0,g=a-i;m<=g;m++)r.currentPosition=c+l+m*2,f.push(r.uint16);return{startCode:i,endCode:a,idDelta:u,idRangeOffset:l,glyphIDs:f}};return[...new Array(this.segCount)].map(o)}reverse(e){let t=this.segments.find(o=>o.glyphIDs.includes(e));if(!t)return{};let r=t.startCode+t.glyphIDs.indexOf(e);return{code:r,unicode:String.fromCodePoint(r)}}getGlyphId(e){if(e.charCodeAt&&(e=e.charCodeAt(0)),55296<=e&&e<=57343||(e&65534)===65534||(e&65535)===65535)return 0;let t=this.segments.find(r=>r.startCode<=e&&e<=r.endCode);return t?t.glyphIDs[e-t.startCode]:0}supports(e){return this.getGlyphId(e)!==0}getSupportedCharCodes(e=!1){return e?this.segments:this.segments.map(t=>({start:t.startCode,end:t.endCode}))}},eS=class extends eo{constructor(e,t,r){super(e,t,r),this.format=6,this.length=e.uint16,this.language=e.uint16,this.firstCode=e.uint16,this.entryCount=e.uint16,this.lastCode=this.firstCode+this.entryCount-1,ae(this,"glyphIdArray",()=>[...new Array(this.entryCount)].map(n=>e.uint16))}supports(e){if(e.charCodeAt&&(e=-1,console.warn("supports(character) not implemented for cmap subtable format 6. only supports(id) is implemented.")),e<this.firstCode)return{};if(e>this.firstCode+this.entryCount)return{};let t=e-this.firstCode;return{code:t,unicode:String.fromCodePoint(t)}}reverse(e){let t=this.glyphIdArray.indexOf(e);if(t>-1)return this.firstCode+t}getSupportedCharCodes(e=!1){return e?[{firstCode:this.firstCode,lastCode:this.lastCode}]:[{start:this.firstCode,end:this.lastCode}]}},tS=class extends eo{constructor(e,t,r){super(e,t,r),this.format=8,e.uint16,this.length=e.uint32,this.language=e.uint32,this.is32=[...new Array(8192)].map(n=>e.uint8),this.numGroups=e.uint32,ae(this,"groups",()=>[...new Array(this.numGroups)].map(n=>new rS(e)))}supports(e){return e.charCodeAt&&(e=-1,console.warn("supports(character) not implemented for cmap subtable format 8. only supports(id) is implemented.")),this.groups.findIndex(t=>t.startcharCode<=e&&e<=t.endcharCode)!==-1}reverse(e){return console.warn("reverse not implemented for cmap subtable format 8"),{}}getSupportedCharCodes(e=!1){return e?this.groups:this.groups.map(t=>({start:t.startcharCode,end:t.endcharCode}))}},rS=class{constructor(e){this.startcharCode=e.uint32,this.endcharCode=e.uint32,this.startGlyphID=e.uint32}},oS=class extends eo{constructor(e,t,r){super(e,t,r),this.format=10,e.uint16,this.length=e.uint32,this.language=e.uint32,this.startCharCode=e.uint32,this.numChars=e.uint32,this.endCharCode=this.startCharCode+this.numChars,ae(this,"glyphs",()=>[...new Array(this.numChars)].map(n=>e.uint16))}supports(e){return e.charCodeAt&&(e=-1,console.warn("supports(character) not implemented for cmap subtable format 10. only supports(id) is implemented.")),e<this.startCharCode||e>this.startCharCode+this.numChars?!1:e-this.startCharCode}reverse(e){return console.warn("reverse not implemented for cmap subtable format 10"),{}}getSupportedCharCodes(e=!1){return e?[{startCharCode:this.startCharCode,endCharCode:this.endCharCode}]:[{start:this.startCharCode,end:this.endCharCode}]}},nS=class extends eo{constructor(e,t,r){super(e,t,r),this.format=12,e.uint16,this.length=e.uint32,this.language=e.uint32,this.numGroups=e.uint32,ae(this,"groups",()=>[...new Array(this.numGroups)].map(n=>new sS(e)))}supports(e){return e.charCodeAt&&(e=e.charCodeAt(0)),55296<=e&&e<=57343||(e&65534)===65534||(e&65535)===65535?0:this.groups.findIndex(t=>t.startCharCode<=e&&e<=t.endCharCode)!==-1}reverse(e){for(let t of this.groups){let r=t.startGlyphID;if(r>e)continue;if(r===e)return t.startCharCode;if(r+(t.endCharCode-t.startCharCode)<e)continue;let n=t.startCharCode+(e-r);return{code:n,unicode:String.fromCodePoint(n)}}return{}}getSupportedCharCodes(e=!1){return e?this.groups:this.groups.map(t=>({start:t.startCharCode,end:t.endCharCode}))}},sS=class{constructor(e){this.startCharCode=e.uint32,this.endCharCode=e.uint32,this.startGlyphID=e.uint32}},iS=class extends eo{constructor(e,t,r){super(e,t,r),this.format=13,e.uint16,this.length=e.uint32,this.language=e.uint32,this.numGroups=e.uint32;let o=[...new Array(this.numGroups)].map(n=>new aS(e));ae(this,"groups",o)}supports(e){return e.charCodeAt&&(e=e.charCodeAt(0)),this.groups.findIndex(t=>t.startCharCode<=e&&e<=t.endCharCode)!==-1}reverse(e){return console.warn("reverse not implemented for cmap subtable format 13"),{}}getSupportedCharCodes(e=!1){return e?this.groups:this.groups.map(t=>({start:t.startCharCode,end:t.endCharCode}))}},aS=class{constructor(e){this.startCharCode=e.uint32,this.endCharCode=e.uint32,this.glyphID=e.uint32}},lS=class extends eo{constructor(e,t,r){super(e,t,r),this.subTableStart=e.currentPosition,this.format=14,this.length=e.uint32,this.numVarSelectorRecords=e.uint32,ae(this,"varSelectors",()=>[...new Array(this.numVarSelectorRecords)].map(o=>new cS(e)))}supports(){return console.warn("supports not implemented for cmap subtable format 14"),0}getSupportedCharCodes(){return console.warn("getSupportedCharCodes not implemented for cmap subtable format 14"),[]}reverse(e){return console.warn("reverse not implemented for cmap subtable format 14"),{}}supportsVariation(e){let t=this.varSelector.find(r=>r.varSelector===e);return t||!1}getSupportedVariations(){return this.varSelectors.map(e=>e.varSelector)}},cS=class{constructor(e){this.varSelector=e.uint24,this.defaultUVSOffset=e.Offset32,this.nonDefaultUVSOffset=e.Offset32}};function uS(e,t,r){let o=e.uint16;return o===0?new Kx(e,t,r):o===2?new Jx(e,t,r):o===4?new $x(e,t,r):o===6?new eS(e,t,r):o===8?new tS(e,t,r):o===10?new oS(e,t,r):o===12?new nS(e,t,r):o===13?new iS(e,t,r):o===14?new lS(e,t,r):{}}var fS=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.version=r.uint16,this.numTables=r.uint16,this.encodingRecords=[...new Array(this.numTables)].map(o=>new dS(r,this.tableStart))}getSubTable(e){return this.encodingRecords[e].table}getSupportedEncodings(){return this.encodingRecords.map(e=>({platformID:e.platformID,encodingId:e.encodingID}))}getSupportedCharCodes(e,t){let r=this.encodingRecords.findIndex(n=>n.platformID===e&&n.encodingID===t);return r===-1?!1:this.getSubTable(r).getSupportedCharCodes()}reverse(e){for(let t=0;t<this.numTables;t++){let r=this.getSubTable(t).reverse(e);if(r)return r}}getGlyphId(e){let t=0;return this.encodingRecords.some((r,o)=>{let n=this.getSubTable(o);return n.getGlyphId?(t=n.getGlyphId(e),t!==0):!1}),t}supports(e){return this.encodingRecords.some((t,r)=>{let o=this.getSubTable(r);return o.supports&&o.supports(e)!==!1})}supportsVariation(e){return this.encodingRecords.some((t,r)=>{let o=this.getSubTable(r);return o.supportsVariation&&o.supportsVariation(e)!==!1})}},dS=class{constructor(e,t){let r=this.platformID=e.uint16,o=this.encodingID=e.uint16,n=this.offset=e.Offset32;ae(this,"table",()=>(e.currentPosition=t+n,uS(e,r,o)))}},pS=Object.freeze({__proto__:null,cmap:fS}),mS=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.load({majorVersion:r.uint16,minorVersion:r.uint16,fontRevision:r.fixed,checkSumAdjustment:r.uint32,magicNumber:r.uint32,flags:r.flags(16),unitsPerEm:r.uint16,created:r.longdatetime,modified:r.longdatetime,xMin:r.int16,yMin:r.int16,xMax:r.int16,yMax:r.int16,macStyle:r.flags(16),lowestRecPPEM:r.uint16,fontDirectionHint:r.uint16,indexToLocFormat:r.uint16,glyphDataFormat:r.uint16})}},hS=Object.freeze({__proto__:null,head:mS}),gS=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.majorVersion=r.uint16,this.minorVersion=r.uint16,this.ascender=r.fword,this.descender=r.fword,this.lineGap=r.fword,this.advanceWidthMax=r.ufword,this.minLeftSideBearing=r.fword,this.minRightSideBearing=r.fword,this.xMaxExtent=r.fword,this.caretSlopeRise=r.int16,this.caretSlopeRun=r.int16,this.caretOffset=r.int16,r.int16,r.int16,r.int16,r.int16,this.metricDataFormat=r.int16,this.numberOfHMetrics=r.uint16,r.verifyLength()}},yS=Object.freeze({__proto__:null,hhea:gS}),vS=class extends Pe{constructor(e,t,r){let{p:o}=super(e,t),n=r.hhea.numberOfHMetrics,s=r.maxp.numGlyphs,i=o.currentPosition;if(ae(this,"hMetrics",()=>(o.currentPosition=i,[...new Array(n)].map(a=>new bS(o.uint16,o.int16)))),n<s){let a=i+n*4;ae(this,"leftSideBearings",()=>(o.currentPosition=a,[...new Array(s-n)].map(u=>o.int16)))}}},bS=class{constructor(e,t){this.advanceWidth=e,this.lsb=t}},wS=Object.freeze({__proto__:null,hmtx:vS}),xS=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.version=r.legacyFixed,this.numGlyphs=r.uint16,this.version===1&&(this.maxPoints=r.uint16,this.maxContours=r.uint16,this.maxCompositePoints=r.uint16,this.maxCompositeContours=r.uint16,this.maxZones=r.uint16,this.maxTwilightPoints=r.uint16,this.maxStorage=r.uint16,this.maxFunctionDefs=r.uint16,this.maxInstructionDefs=r.uint16,this.maxStackElements=r.uint16,this.maxSizeOfInstructions=r.uint16,this.maxComponentElements=r.uint16,this.maxComponentDepth=r.uint16),r.verifyLength()}},SS=Object.freeze({__proto__:null,maxp:xS}),CS=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.format=r.uint16,this.count=r.uint16,this.stringOffset=r.Offset16,this.nameRecords=[...new Array(this.count)].map(o=>new ES(r,this)),this.format===1&&(this.langTagCount=r.uint16,this.langTagRecords=[...new Array(this.langTagCount)].map(o=>new RS(r.uint16,r.Offset16))),this.stringStart=this.tableStart+this.stringOffset}get(e){let t=this.nameRecords.find(r=>r.nameID===e);if(t)return t.string}},RS=class{constructor(e,t){this.length=e,this.offset=t}},ES=class{constructor(e,t){this.platformID=e.uint16,this.encodingID=e.uint16,this.languageID=e.uint16,this.nameID=e.uint16,this.length=e.uint16,this.offset=e.Offset16,ae(this,"string",()=>(e.currentPosition=t.stringStart+this.offset,TS(e,this)))}};function TS(e,t){let{platformID:r,length:o}=t;if(o===0)return"";if(r===0||r===3){let i=[];for(let a=0,u=o/2;a<u;a++)i[a]=String.fromCharCode(e.uint16);return i.join("")}let n=e.readBytes(o),s=[];return n.forEach(function(i,a){s[a]=String.fromCharCode(i)}),s.join("")}var _S=Object.freeze({__proto__:null,name:CS}),OS=class extends Pe{constructor(e,t){let{p:r}=super(e,t);if(this.version=r.uint16,this.xAvgCharWidth=r.int16,this.usWeightClass=r.uint16,this.usWidthClass=r.uint16,this.fsType=r.uint16,this.ySubscriptXSize=r.int16,this.ySubscriptYSize=r.int16,this.ySubscriptXOffset=r.int16,this.ySubscriptYOffset=r.int16,this.ySuperscriptXSize=r.int16,this.ySuperscriptYSize=r.int16,this.ySuperscriptXOffset=r.int16,this.ySuperscriptYOffset=r.int16,this.yStrikeoutSize=r.int16,this.yStrikeoutPosition=r.int16,this.sFamilyClass=r.int16,this.panose=[...new Array(10)].map(o=>r.uint8),this.ulUnicodeRange1=r.flags(32),this.ulUnicodeRange2=r.flags(32),this.ulUnicodeRange3=r.flags(32),this.ulUnicodeRange4=r.flags(32),this.achVendID=r.tag,this.fsSelection=r.uint16,this.usFirstCharIndex=r.uint16,this.usLastCharIndex=r.uint16,this.sTypoAscender=r.int16,this.sTypoDescender=r.int16,this.sTypoLineGap=r.int16,this.usWinAscent=r.uint16,this.usWinDescent=r.uint16,this.version===0||(this.ulCodePageRange1=r.flags(32),this.ulCodePageRange2=r.flags(32),this.version===1)||(this.sxHeight=r.int16,this.sCapHeight=r.int16,this.usDefaultChar=r.uint16,this.usBreakChar=r.uint16,this.usMaxContext=r.uint16,this.version<=4)||(this.usLowerOpticalPointSize=r.uint16,this.usUpperOpticalPointSize=r.uint16,this.version===5))return r.verifyLength()}},PS=Object.freeze({__proto__:null,OS2:OS}),kS=class extends Pe{constructor(e,t){let{p:r}=super(e,t);if(this.version=r.legacyFixed,this.italicAngle=r.fixed,this.underlinePosition=r.fword,this.underlineThickness=r.fword,this.isFixedPitch=r.uint32,this.minMemType42=r.uint32,this.maxMemType42=r.uint32,this.minMemType1=r.uint32,this.maxMemType1=r.uint32,this.version===1||this.version===3)return r.verifyLength();if(this.numGlyphs=r.uint16,this.version===2){this.glyphNameIndex=[...new Array(this.numGlyphs)].map(o=>r.uint16),this.namesOffset=r.currentPosition,this.glyphNameOffsets=[1];for(let o=0;o<this.numGlyphs;o++){if(this.glyphNameIndex[o]<Ug.length){this.glyphNameOffsets.push(this.glyphNameOffsets[o]);continue}let s=r.int8;r.skip(s),this.glyphNameOffsets.push(this.glyphNameOffsets[o]+s+1)}}this.version===2.5&&(this.offset=[...new Array(this.numGlyphs)].map(o=>r.int8))}getGlyphName(e){if(this.version!==2)return console.warn(`post table version ${this.version} does not support glyph name lookups`),"";let t=this.glyphNameIndex[e];if(t<258)return Ug[t];let r=this.glyphNameOffsets[e],n=this.glyphNameOffsets[e+1]-r-1;return n===0?".notdef.":(this.parser.currentPosition=this.namesOffset+r,this.parser.readBytes(n,this.namesOffset+r,8,!0).map(i=>String.fromCharCode(i)).join(""))}},Ug=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"],FS=Object.freeze({__proto__:null,post:kS}),AS=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.majorVersion=r.uint16,this.minorVersion=r.uint16,this.horizAxisOffset=r.Offset16,this.vertAxisOffset=r.Offset16,ae(this,"horizAxis",()=>new Uc({offset:e.offset+this.horizAxisOffset},t)),ae(this,"vertAxis",()=>new Uc({offset:e.offset+this.vertAxisOffset},t)),this.majorVersion===1&&this.minorVersion===1&&(this.itemVarStoreOffset=r.Offset32,ae(this,"itemVarStore",()=>new Uc({offset:e.offset+this.itemVarStoreOffset},t)))}},Uc=class extends Pe{constructor(e,t){let{p:r}=super(e,t,"AxisTable");this.baseTagListOffset=r.Offset16,this.baseScriptListOffset=r.Offset16,ae(this,"baseTagList",()=>new IS({offset:e.offset+this.baseTagListOffset},t)),ae(this,"baseScriptList",()=>new LS({offset:e.offset+this.baseScriptListOffset},t))}},IS=class extends Pe{constructor(e,t){let{p:r}=super(e,t,"BaseTagListTable");this.baseTagCount=r.uint16,this.baselineTags=[...new Array(this.baseTagCount)].map(o=>r.tag)}},LS=class extends Pe{constructor(e,t){let{p:r}=super(e,t,"BaseScriptListTable");this.baseScriptCount=r.uint16;let o=r.currentPosition;ae(this,"baseScriptRecords",()=>(r.currentPosition=o,[...new Array(this.baseScriptCount)].map(n=>new NS(this.start,r))))}},NS=class{constructor(e,t){this.baseScriptTag=t.tag,this.baseScriptOffset=t.Offset16,ae(this,"baseScriptTable",()=>(t.currentPosition=e+this.baseScriptOffset,new DS(t)))}},DS=class{constructor(e){this.start=e.currentPosition,this.baseValuesOffset=e.Offset16,this.defaultMinMaxOffset=e.Offset16,this.baseLangSysCount=e.uint16,this.baseLangSysRecords=[...new Array(this.baseLangSysCount)].map(t=>new MS(this.start,e)),ae(this,"baseValues",()=>(e.currentPosition=this.start+this.baseValuesOffset,new VS(e))),ae(this,"defaultMinMax",()=>(e.currentPosition=this.start+this.defaultMinMaxOffset,new Jg(e)))}},MS=class{constructor(e,t){this.baseLangSysTag=t.tag,this.minMaxOffset=t.Offset16,ae(this,"minMax",()=>(t.currentPosition=e+this.minMaxOffset,new Jg(t)))}},VS=class{constructor(e){this.parser=e,this.start=e.currentPosition,this.defaultBaselineIndex=e.uint16,this.baseCoordCount=e.uint16,this.baseCoords=[...new Array(this.baseCoordCount)].map(t=>e.Offset16)}getTable(e){return this.parser.currentPosition=this.start+this.baseCoords[e],new zS(this.parser)}},Jg=class{constructor(e){this.minCoord=e.Offset16,this.maxCoord=e.Offset16,this.featMinMaxCount=e.uint16;let t=e.currentPosition;ae(this,"featMinMaxRecords",()=>(e.currentPosition=t,[...new Array(this.featMinMaxCount)].map(r=>new BS(e))))}},BS=class{constructor(e){this.featureTableTag=e.tag,this.minCoord=e.Offset16,this.maxCoord=e.Offset16}},zS=class{constructor(e){this.baseCoordFormat=e.uint16,this.coordinate=e.int16,this.baseCoordFormat===2&&(this.referenceGlyph=e.uint16,this.baseCoordPoint=e.uint16),this.baseCoordFormat===3&&(this.deviceTable=e.Offset16)}},jS=Object.freeze({__proto__:null,BASE:AS}),Wg=class{constructor(e){this.classFormat=e.uint16,this.classFormat===1&&(this.startGlyphID=e.uint16,this.glyphCount=e.uint16,this.classValueArray=[...new Array(this.glyphCount)].map(t=>e.uint16)),this.classFormat===2&&(this.classRangeCount=e.uint16,this.classRangeRecords=[...new Array(this.classRangeCount)].map(t=>new HS(e)))}},HS=class{constructor(e){this.startGlyphID=e.uint16,this.endGlyphID=e.uint16,this.class=e.uint16}},Rs=class extends ct{constructor(e){super(e),this.coverageFormat=e.uint16,this.coverageFormat===1&&(this.glyphCount=e.uint16,this.glyphArray=[...new Array(this.glyphCount)].map(t=>e.uint16)),this.coverageFormat===2&&(this.rangeCount=e.uint16,this.rangeRecords=[...new Array(this.rangeCount)].map(t=>new US(e)))}},US=class{constructor(e){this.startGlyphID=e.uint16,this.endGlyphID=e.uint16,this.startCoverageIndex=e.uint16}},WS=class{constructor(e,t){this.table=e,this.parser=t,this.start=t.currentPosition,this.format=t.uint16,this.variationRegionListOffset=t.Offset32,this.itemVariationDataCount=t.uint16,this.itemVariationDataOffsets=[...new Array(this.itemVariationDataCount)].map(r=>t.Offset32)}},GS=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.majorVersion=r.uint16,this.minorVersion=r.uint16,this.glyphClassDefOffset=r.Offset16,ae(this,"glyphClassDefs",()=>{if(this.glyphClassDefOffset!==0)return r.currentPosition=this.tableStart+this.glyphClassDefOffset,new Wg(r)}),this.attachListOffset=r.Offset16,ae(this,"attachList",()=>{if(this.attachListOffset!==0)return r.currentPosition=this.tableStart+this.attachListOffset,new YS(r)}),this.ligCaretListOffset=r.Offset16,ae(this,"ligCaretList",()=>{if(this.ligCaretListOffset!==0)return r.currentPosition=this.tableStart+this.ligCaretListOffset,new ZS(r)}),this.markAttachClassDefOffset=r.Offset16,ae(this,"markAttachClassDef",()=>{if(this.markAttachClassDefOffset!==0)return r.currentPosition=this.tableStart+this.markAttachClassDefOffset,new Wg(r)}),this.minorVersion>=2&&(this.markGlyphSetsDefOffset=r.Offset16,ae(this,"markGlyphSetsDef",()=>{if(this.markGlyphSetsDefOffset!==0)return r.currentPosition=this.tableStart+this.markGlyphSetsDefOffset,new JS(r)})),this.minorVersion===3&&(this.itemVarStoreOffset=r.Offset32,ae(this,"itemVarStore",()=>{if(this.itemVarStoreOffset!==0)return r.currentPosition=this.tableStart+this.itemVarStoreOffset,new WS(r)}))}},YS=class extends ct{constructor(e){super(e),this.coverageOffset=e.Offset16,this.glyphCount=e.uint16,this.attachPointOffsets=[...new Array(this.glyphCount)].map(t=>e.Offset16)}getPoint(e){return this.parser.currentPosition=this.start+this.attachPointOffsets[e],new qS(this.parser)}},qS=class{constructor(e){this.pointCount=e.uint16,this.pointIndices=[...new Array(this.pointCount)].map(t=>e.uint16)}},ZS=class extends ct{constructor(e){super(e),this.coverageOffset=e.Offset16,ae(this,"coverage",()=>(e.currentPosition=this.start+this.coverageOffset,new Rs(e))),this.ligGlyphCount=e.uint16,this.ligGlyphOffsets=[...new Array(this.ligGlyphCount)].map(t=>e.Offset16)}getLigGlyph(e){return this.parser.currentPosition=this.start+this.ligGlyphOffsets[e],new XS(this.parser)}},XS=class extends ct{constructor(e){super(e),this.caretCount=e.uint16,this.caretValueOffsets=[...new Array(this.caretCount)].map(t=>e.Offset16)}getCaretValue(e){return this.parser.currentPosition=this.start+this.caretValueOffsets[e],new KS(this.parser)}},KS=class{constructor(e){this.caretValueFormat=e.uint16,this.caretValueFormat===1&&(this.coordinate=e.int16),this.caretValueFormat===2&&(this.caretValuePointIndex=e.uint16),this.caretValueFormat===3&&(this.coordinate=e.int16,this.deviceOffset=e.Offset16)}},JS=class extends ct{constructor(e){super(e),this.markGlyphSetTableFormat=e.uint16,this.markGlyphSetCount=e.uint16,this.coverageOffsets=[...new Array(this.markGlyphSetCount)].map(t=>e.Offset32)}getMarkGlyphSet(e){return this.parser.currentPosition=this.start+this.coverageOffsets[e],new Rs(this.parser)}},QS=Object.freeze({__proto__:null,GDEF:GS}),Gg=class extends ct{static EMPTY={scriptCount:0,scriptRecords:[]};constructor(e){super(e),this.scriptCount=e.uint16,this.scriptRecords=[...new Array(this.scriptCount)].map(t=>new $S(e))}},$S=class{constructor(e){this.scriptTag=e.tag,this.scriptOffset=e.Offset16}},eC=class extends ct{constructor(e){super(e),this.defaultLangSys=e.Offset16,this.langSysCount=e.uint16,this.langSysRecords=[...new Array(this.langSysCount)].map(t=>new tC(e))}},tC=class{constructor(e){this.langSysTag=e.tag,this.langSysOffset=e.Offset16}},Yg=class{constructor(e){this.lookupOrder=e.Offset16,this.requiredFeatureIndex=e.uint16,this.featureIndexCount=e.uint16,this.featureIndices=[...new Array(this.featureIndexCount)].map(t=>e.uint16)}},qg=class extends ct{static EMPTY={featureCount:0,featureRecords:[]};constructor(e){super(e),this.featureCount=e.uint16,this.featureRecords=[...new Array(this.featureCount)].map(t=>new rC(e))}},rC=class{constructor(e){this.featureTag=e.tag,this.featureOffset=e.Offset16}},oC=class extends ct{constructor(e){super(e),this.featureParams=e.Offset16,this.lookupIndexCount=e.uint16,this.lookupListIndices=[...new Array(this.lookupIndexCount)].map(t=>e.uint16)}getFeatureParams(){if(this.featureParams>0){let e=this.parser;e.currentPosition=this.start+this.featureParams;let t=this.featureTag;if(t==="size")return new sC(e);if(t.startsWith("cc"))return new nC(e);if(t.startsWith("ss"))return new iC(e)}}},nC=class{constructor(e){this.format=e.uint16,this.featUiLabelNameId=e.uint16,this.featUiTooltipTextNameId=e.uint16,this.sampleTextNameId=e.uint16,this.numNamedParameters=e.uint16,this.firstParamUiLabelNameId=e.uint16,this.charCount=e.uint16,this.character=[...new Array(this.charCount)].map(t=>e.uint24)}},sC=class{constructor(e){this.designSize=e.uint16,this.subfamilyIdentifier=e.uint16,this.subfamilyNameID=e.uint16,this.smallEnd=e.uint16,this.largeEnd=e.uint16}},iC=class{constructor(e){this.version=e.uint16,this.UINameID=e.uint16}};function Qg(e){e.parser.currentPosition-=2,delete e.coverageOffset,delete e.getCoverageTable}var Ko=class extends ct{constructor(e){super(e),this.substFormat=e.uint16,this.coverageOffset=e.Offset16}getCoverageTable(){let e=this.parser;return e.currentPosition=this.start+this.coverageOffset,new Rs(e)}},Gc=class{constructor(e){this.glyphSequenceIndex=e.uint16,this.lookupListIndex=e.uint16}},aC=class extends Ko{constructor(e){super(e),this.deltaGlyphID=e.int16}},lC=class extends Ko{constructor(e){super(e),this.sequenceCount=e.uint16,this.sequenceOffsets=[...new Array(this.sequenceCount)].map(t=>e.Offset16)}getSequence(e){let t=this.parser;return t.currentPosition=this.start+this.sequenceOffsets[e],new cC(t)}},cC=class{constructor(e){this.glyphCount=e.uint16,this.substituteGlyphIDs=[...new Array(this.glyphCount)].map(t=>e.uint16)}},uC=class extends Ko{constructor(e){super(e),this.alternateSetCount=e.uint16,this.alternateSetOffsets=[...new Array(this.alternateSetCount)].map(t=>e.Offset16)}getAlternateSet(e){let t=this.parser;return t.currentPosition=this.start+this.alternateSetOffsets[e],new fC(t)}},fC=class{constructor(e){this.glyphCount=e.uint16,this.alternateGlyphIDs=[...new Array(this.glyphCount)].map(t=>e.uint16)}},dC=class extends Ko{constructor(e){super(e),this.ligatureSetCount=e.uint16,this.ligatureSetOffsets=[...new Array(this.ligatureSetCount)].map(t=>e.Offset16)}getLigatureSet(e){let t=this.parser;return t.currentPosition=this.start+this.ligatureSetOffsets[e],new pC(t)}},pC=class extends ct{constructor(e){super(e),this.ligatureCount=e.uint16,this.ligatureOffsets=[...new Array(this.ligatureCount)].map(t=>e.Offset16)}getLigature(e){let t=this.parser;return t.currentPosition=this.start+this.ligatureOffsets[e],new mC(t)}},mC=class{constructor(e){this.ligatureGlyph=e.uint16,this.componentCount=e.uint16,this.componentGlyphIDs=[...new Array(this.componentCount-1)].map(t=>e.uint16)}},hC=class extends Ko{constructor(e){super(e),this.substFormat===1&&(this.subRuleSetCount=e.uint16,this.subRuleSetOffsets=[...new Array(this.subRuleSetCount)].map(t=>e.Offset16)),this.substFormat===2&&(this.classDefOffset=e.Offset16,this.subClassSetCount=e.uint16,this.subClassSetOffsets=[...new Array(this.subClassSetCount)].map(t=>e.Offset16)),this.substFormat===3&&(Qg(this),this.glyphCount=e.uint16,this.substitutionCount=e.uint16,this.coverageOffsets=[...new Array(this.glyphCount)].map(t=>e.Offset16),this.substLookupRecords=[...new Array(this.substitutionCount)].map(t=>new Gc(e)))}getSubRuleSet(e){if(this.substFormat!==1)throw new Error(`lookup type 5.${this.substFormat} has no subrule sets.`);let t=this.parser;return t.currentPosition=this.start+this.subRuleSetOffsets[e],new gC(t)}getSubClassSet(e){if(this.substFormat!==2)throw new Error(`lookup type 5.${this.substFormat} has no subclass sets.`);let t=this.parser;return t.currentPosition=this.start+this.subClassSetOffsets[e],new yC(t)}getCoverageTable(e){if(this.substFormat!==3&&!e)return super.getCoverageTable();if(!e)throw new Error(`lookup type 5.${this.substFormat} requires an coverage table index.`);let t=this.parser;return t.currentPosition=this.start+this.coverageOffsets[e],new Rs(t)}},gC=class extends ct{constructor(e){super(e),this.subRuleCount=e.uint16,this.subRuleOffsets=[...new Array(this.subRuleCount)].map(t=>e.Offset16)}getSubRule(e){let t=this.parser;return t.currentPosition=this.start+this.subRuleOffsets[e],new $g(t)}},$g=class{constructor(e){this.glyphCount=e.uint16,this.substitutionCount=e.uint16,this.inputSequence=[...new Array(this.glyphCount-1)].map(t=>e.uint16),this.substLookupRecords=[...new Array(this.substitutionCount)].map(t=>new Gc(e))}},yC=class extends ct{constructor(e){super(e),this.subClassRuleCount=e.uint16,this.subClassRuleOffsets=[...new Array(this.subClassRuleCount)].map(t=>e.Offset16)}getSubClass(e){let t=this.parser;return t.currentPosition=this.start+this.subClassRuleOffsets[e],new vC(t)}},vC=class extends $g{constructor(e){super(e)}},bC=class extends Ko{constructor(e){super(e),this.substFormat===1&&(this.chainSubRuleSetCount=e.uint16,this.chainSubRuleSetOffsets=[...new Array(this.chainSubRuleSetCount)].map(t=>e.Offset16)),this.substFormat===2&&(this.backtrackClassDefOffset=e.Offset16,this.inputClassDefOffset=e.Offset16,this.lookaheadClassDefOffset=e.Offset16,this.chainSubClassSetCount=e.uint16,this.chainSubClassSetOffsets=[...new Array(this.chainSubClassSetCount)].map(t=>e.Offset16)),this.substFormat===3&&(Qg(this),this.backtrackGlyphCount=e.uint16,this.backtrackCoverageOffsets=[...new Array(this.backtrackGlyphCount)].map(t=>e.Offset16),this.inputGlyphCount=e.uint16,this.inputCoverageOffsets=[...new Array(this.inputGlyphCount)].map(t=>e.Offset16),this.lookaheadGlyphCount=e.uint16,this.lookaheadCoverageOffsets=[...new Array(this.lookaheadGlyphCount)].map(t=>e.Offset16),this.seqLookupCount=e.uint16,this.seqLookupRecords=[...new Array(this.substitutionCount)].map(t=>new ey(e)))}getChainSubRuleSet(e){if(this.substFormat!==1)throw new Error(`lookup type 6.${this.substFormat} has no chainsubrule sets.`);let t=this.parser;return t.currentPosition=this.start+this.chainSubRuleSetOffsets[e],new wC(t)}getChainSubClassSet(e){if(this.substFormat!==2)throw new Error(`lookup type 6.${this.substFormat} has no chainsubclass sets.`);let t=this.parser;return t.currentPosition=this.start+this.chainSubClassSetOffsets[e],new SC(t)}getCoverageFromOffset(e){if(this.substFormat!==3)throw new Error(`lookup type 6.${this.substFormat} does not use contextual coverage offsets.`);let t=this.parser;return t.currentPosition=this.start+e,new Rs(t)}},wC=class extends ct{constructor(e){super(e),this.chainSubRuleCount=e.uint16,this.chainSubRuleOffsets=[...new Array(this.chainSubRuleCount)].map(t=>e.Offset16)}getSubRule(e){let t=this.parser;return t.currentPosition=this.start+this.chainSubRuleOffsets[e],new xC(t)}},xC=class{constructor(e){this.backtrackGlyphCount=e.uint16,this.backtrackSequence=[...new Array(this.backtrackGlyphCount)].map(t=>e.uint16),this.inputGlyphCount=e.uint16,this.inputSequence=[...new Array(this.inputGlyphCount-1)].map(t=>e.uint16),this.lookaheadGlyphCount=e.uint16,this.lookAheadSequence=[...new Array(this.lookAheadGlyphCount)].map(t=>e.uint16),this.substitutionCount=e.uint16,this.substLookupRecords=[...new Array(this.SubstCount)].map(t=>new Gc(e))}},SC=class extends ct{constructor(e){super(e),this.chainSubClassRuleCount=e.uint16,this.chainSubClassRuleOffsets=[...new Array(this.chainSubClassRuleCount)].map(t=>e.Offset16)}getSubClass(e){let t=this.parser;return t.currentPosition=this.start+this.chainSubRuleOffsets[e],new CC(t)}},CC=class{constructor(e){this.backtrackGlyphCount=e.uint16,this.backtrackSequence=[...new Array(this.backtrackGlyphCount)].map(t=>e.uint16),this.inputGlyphCount=e.uint16,this.inputSequence=[...new Array(this.inputGlyphCount-1)].map(t=>e.uint16),this.lookaheadGlyphCount=e.uint16,this.lookAheadSequence=[...new Array(this.lookAheadGlyphCount)].map(t=>e.uint16),this.substitutionCount=e.uint16,this.substLookupRecords=[...new Array(this.substitutionCount)].map(t=>new ey(e))}},ey=class extends ct{constructor(e){super(e),this.sequenceIndex=e.uint16,this.lookupListIndex=e.uint16}},RC=class extends ct{constructor(e){super(e),this.substFormat=e.uint16,this.extensionLookupType=e.uint16,this.extensionOffset=e.Offset32}},EC=class extends Ko{constructor(e){super(e),this.backtrackGlyphCount=e.uint16,this.backtrackCoverageOffsets=[...new Array(this.backtrackGlyphCount)].map(t=>e.Offset16),this.lookaheadGlyphCount=e.uint16,this.lookaheadCoverageOffsets=[new Array(this.lookaheadGlyphCount)].map(t=>e.Offset16),this.glyphCount=e.uint16,this.substituteGlyphIDs=[...new Array(this.glyphCount)].map(t=>e.uint16)}},TC={buildSubtable:function(e,t){let r=new[void 0,aC,lC,uC,dC,hC,bC,RC,EC][e](t);return r.type=e,r}},to=class extends ct{constructor(e){super(e)}},_C=class extends to{constructor(e){super(e),console.log("lookup type 1")}},OC=class extends to{constructor(e){super(e),console.log("lookup type 2")}},PC=class extends to{constructor(e){super(e),console.log("lookup type 3")}},kC=class extends to{constructor(e){super(e),console.log("lookup type 4")}},FC=class extends to{constructor(e){super(e),console.log("lookup type 5")}},AC=class extends to{constructor(e){super(e),console.log("lookup type 6")}},IC=class extends to{constructor(e){super(e),console.log("lookup type 7")}},LC=class extends to{constructor(e){super(e),console.log("lookup type 8")}},NC=class extends to{constructor(e){super(e),console.log("lookup type 9")}},DC={buildSubtable:function(e,t){let r=new[void 0,_C,OC,PC,kC,FC,AC,IC,LC,NC][e](t);return r.type=e,r}},Zg=class extends ct{static EMPTY={lookupCount:0,lookups:[]};constructor(e){super(e),this.lookupCount=e.uint16,this.lookups=[...new Array(this.lookupCount)].map(t=>e.Offset16)}},MC=class extends ct{constructor(e,t){super(e),this.ctType=t,this.lookupType=e.uint16,this.lookupFlag=e.uint16,this.subTableCount=e.uint16,this.subtableOffsets=[...new Array(this.subTableCount)].map(r=>e.Offset16),this.markFilteringSet=e.uint16}get rightToLeft(){return this.lookupFlag&!0}get ignoreBaseGlyphs(){return this.lookupFlag&!0}get ignoreLigatures(){return this.lookupFlag&!0}get ignoreMarks(){return this.lookupFlag&!0}get useMarkFilteringSet(){return this.lookupFlag&!0}get markAttachmentType(){return this.lookupFlag&!0}getSubTable(e){let t=this.ctType==="GSUB"?TC:DC;return this.parser.currentPosition=this.start+this.subtableOffsets[e],t.buildSubtable(this.lookupType,this.parser)}},ty=class extends Pe{constructor(e,t,r){let{p:o,tableStart:n}=super(e,t,r);this.majorVersion=o.uint16,this.minorVersion=o.uint16,this.scriptListOffset=o.Offset16,this.featureListOffset=o.Offset16,this.lookupListOffset=o.Offset16,this.majorVersion===1&&this.minorVersion===1&&(this.featureVariationsOffset=o.Offset32);let s=!(this.scriptListOffset||this.featureListOffset||this.lookupListOffset);ae(this,"scriptList",()=>s?Gg.EMPTY:(o.currentPosition=n+this.scriptListOffset,new Gg(o))),ae(this,"featureList",()=>s?qg.EMPTY:(o.currentPosition=n+this.featureListOffset,new qg(o))),ae(this,"lookupList",()=>s?Zg.EMPTY:(o.currentPosition=n+this.lookupListOffset,new Zg(o))),this.featureVariationsOffset&&ae(this,"featureVariations",()=>s?FeatureVariations.EMPTY:(o.currentPosition=n+this.featureVariationsOffset,new FeatureVariations(o)))}getSupportedScripts(){return this.scriptList.scriptRecords.map(e=>e.scriptTag)}getScriptTable(e){let t=this.scriptList.scriptRecords.find(o=>o.scriptTag===e);this.parser.currentPosition=this.scriptList.start+t.scriptOffset;let r=new eC(this.parser);return r.scriptTag=e,r}ensureScriptTable(e){return typeof e=="string"?this.getScriptTable(e):e}getSupportedLangSys(e){e=this.ensureScriptTable(e);let t=e.defaultLangSys!==0,r=e.langSysRecords.map(o=>o.langSysTag);return t&&r.unshift("dflt"),r}getDefaultLangSysTable(e){e=this.ensureScriptTable(e);let t=e.defaultLangSys;if(t!==0){this.parser.currentPosition=e.start+t;let r=new Yg(this.parser);return r.langSysTag="",r.defaultForScript=e.scriptTag,r}}getLangSysTable(e,t="dflt"){if(t==="dflt")return this.getDefaultLangSysTable(e);e=this.ensureScriptTable(e);let r=e.langSysRecords.find(n=>n.langSysTag===t);this.parser.currentPosition=e.start+r.langSysOffset;let o=new Yg(this.parser);return o.langSysTag=t,o}getFeatures(e){return e.featureIndices.map(t=>this.getFeature(t))}getFeature(e){let t;if(parseInt(e)==e?t=this.featureList.featureRecords[e]:t=this.featureList.featureRecords.find(o=>o.featureTag===e),!t)return;this.parser.currentPosition=this.featureList.start+t.featureOffset;let r=new oC(this.parser);return r.featureTag=t.featureTag,r}getLookups(e){return e.lookupListIndices.map(t=>this.getLookup(t))}getLookup(e,t){let r=this.lookupList.lookups[e];return this.parser.currentPosition=this.lookupList.start+r,new MC(this.parser,t)}},VC=class extends ty{constructor(e,t){super(e,t,"GSUB")}getLookup(e){return super.getLookup(e,"GSUB")}},BC=Object.freeze({__proto__:null,GSUB:VC}),zC=class extends ty{constructor(e,t){super(e,t,"GPOS")}getLookup(e){return super.getLookup(e,"GPOS")}},jC=Object.freeze({__proto__:null,GPOS:zC}),HC=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.version=r.uint16,this.offsetToSVGDocumentList=r.Offset32,r.currentPosition=this.tableStart+this.offsetToSVGDocumentList,this.documentList=new UC(r)}},UC=class extends ct{constructor(e){super(e),this.numEntries=e.uint16,this.documentRecords=[...new Array(this.numEntries)].map(t=>new WC(e))}getDocument(e){let t=this.documentRecords[e];if(!t)return"";let r=this.start+t.svgDocOffset;return this.parser.currentPosition=r,this.parser.readBytes(t.svgDocLength)}getDocumentForGlyph(e){let t=this.documentRecords.findIndex(r=>r.startGlyphID<=e&&e<=r.endGlyphID);return t===-1?"":this.getDocument(t)}},WC=class{constructor(e){this.startGlyphID=e.uint16,this.endGlyphID=e.uint16,this.svgDocOffset=e.Offset32,this.svgDocLength=e.uint32}},GC=Object.freeze({__proto__:null,SVG:HC}),YC=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.majorVersion=r.uint16,this.minorVersion=r.uint16,this.axesArrayOffset=r.Offset16,r.uint16,this.axisCount=r.uint16,this.axisSize=r.uint16,this.instanceCount=r.uint16,this.instanceSize=r.uint16;let o=this.tableStart+this.axesArrayOffset;ae(this,"axes",()=>(r.currentPosition=o,[...new Array(this.axisCount)].map(s=>new qC(r))));let n=o+this.axisCount*this.axisSize;ae(this,"instances",()=>{let s=[];for(let i=0;i<this.instanceCount;i++)r.currentPosition=n+i*this.instanceSize,s.push(new ZC(r,this.axisCount,this.instanceSize));return s})}getSupportedAxes(){return this.axes.map(e=>e.tag)}getAxis(e){return this.axes.find(t=>t.tag===e)}},qC=class{constructor(e){this.tag=e.tag,this.minValue=e.fixed,this.defaultValue=e.fixed,this.maxValue=e.fixed,this.flags=e.flags(16),this.axisNameID=e.uint16}},ZC=class{constructor(e,t,r){let o=e.currentPosition;this.subfamilyNameID=e.uint16,e.uint16,this.coordinates=[...new Array(t)].map(n=>e.fixed),e.currentPosition-o<r&&(this.postScriptNameID=e.uint16)}},XC=Object.freeze({__proto__:null,fvar:YC}),KC=class extends Pe{constructor(e,t){let{p:r}=super(e,t),o=e.length/2;ae(this,"items",()=>[...new Array(o)].map(n=>r.fword))}},JC=Object.freeze({__proto__:null,cvt:KC}),QC=class extends Pe{constructor(e,t){let{p:r}=super(e,t);ae(this,"instructions",()=>[...new Array(e.length)].map(o=>r.uint8))}},$C=Object.freeze({__proto__:null,fpgm:QC}),eR=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.version=r.uint16,this.numRanges=r.uint16,ae(this,"gaspRanges",()=>[...new Array(this.numRanges)].map(n=>new tR(r)))}},tR=class{constructor(e){this.rangeMaxPPEM=e.uint16,this.rangeGaspBehavior=e.uint16}},rR=Object.freeze({__proto__:null,gasp:eR}),oR=class extends Pe{constructor(e,t){super(e,t)}getGlyphData(e,t){return this.parser.currentPosition=this.tableStart+e,this.parser.readBytes(t)}},nR=Object.freeze({__proto__:null,glyf:oR}),sR=class extends Pe{constructor(e,t,r){let{p:o}=super(e,t),n=r.maxp.numGlyphs+1;r.head.indexToLocFormat===0?(this.x2=!0,ae(this,"offsets",()=>[...new Array(n)].map(s=>o.Offset16))):ae(this,"offsets",()=>[...new Array(n)].map(s=>o.Offset32))}getGlyphDataOffsetAndLength(e){let t=this.offsets[e]*this.x2?2:1,r=this.offsets[e+1]*this.x2?2:1;return{offset:t,length:r-t}}},iR=Object.freeze({__proto__:null,loca:sR}),aR=class extends Pe{constructor(e,t){let{p:r}=super(e,t);ae(this,"instructions",()=>[...new Array(e.length)].map(o=>r.uint8))}},lR=Object.freeze({__proto__:null,prep:aR}),cR=class extends Pe{constructor(e,t){let{p:r}=super(e,t);ae(this,"data",()=>r.readBytes())}},uR=Object.freeze({__proto__:null,CFF:cR}),fR=class extends Pe{constructor(e,t){let{p:r}=super(e,t);ae(this,"data",()=>r.readBytes())}},dR=Object.freeze({__proto__:null,CFF2:fR}),pR=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.majorVersion=r.uint16,this.minorVersion=r.uint16,this.defaultVertOriginY=r.int16,this.numVertOriginYMetrics=r.uint16,ae(this,"vertORiginYMetrics",()=>[...new Array(this.numVertOriginYMetrics)].map(o=>new mR(r)))}},mR=class{constructor(e){this.glyphIndex=e.uint16,this.vertOriginY=e.int16}},hR=Object.freeze({__proto__:null,VORG:pR}),gR=class{constructor(e){this.indexSubTableArrayOffset=e.Offset32,this.indexTablesSize=e.uint32,this.numberofIndexSubTables=e.uint32,this.colorRef=e.uint32,this.hori=new na(e),this.vert=new na(e),this.startGlyphIndex=e.uint16,this.endGlyphIndex=e.uint16,this.ppemX=e.uint8,this.ppemY=e.uint8,this.bitDepth=e.uint8,this.flags=e.int8}},yR=class{constructor(e){this.hori=new na(e),this.vert=new na(e),this.ppemX=e.uint8,this.ppemY=e.uint8,this.substitutePpemX=e.uint8,this.substitutePpemY=e.uint8}},na=class{constructor(e){this.ascender=e.int8,this.descender=e.int8,this.widthMax=e.uint8,this.caretSlopeNumerator=e.int8,this.caretSlopeDenominator=e.int8,this.caretOffset=e.int8,this.minOriginSB=e.int8,this.minAdvanceSB=e.int8,this.maxBeforeBL=e.int8,this.minAfterBL=e.int8,this.pad1=e.int8,this.pad2=e.int8}},ry=class extends Pe{constructor(e,t,r){let{p:o}=super(e,t,r);this.majorVersion=o.uint16,this.minorVersion=o.uint16,this.numSizes=o.uint32,ae(this,"bitMapSizes",()=>[...new Array(this.numSizes)].map(n=>new gR(o)))}},vR=Object.freeze({__proto__:null,EBLC:ry}),oy=class extends Pe{constructor(e,t,r){let{p:o}=super(e,t,r);this.majorVersion=o.uint16,this.minorVersion=o.uint16}},bR=Object.freeze({__proto__:null,EBDT:oy}),wR=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.majorVersion=r.uint16,this.minorVersion=r.uint16,this.numSizes=r.uint32,ae(this,"bitmapScales",()=>[...new Array(this.numSizes)].map(o=>new yR(r)))}},xR=Object.freeze({__proto__:null,EBSC:wR}),SR=class extends ry{constructor(e,t){super(e,t,"CBLC")}},CR=Object.freeze({__proto__:null,CBLC:SR}),RR=class extends oy{constructor(e,t){super(e,t,"CBDT")}},ER=Object.freeze({__proto__:null,CBDT:RR}),TR=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.version=r.uint16,this.flags=r.flags(16),this.numStrikes=r.uint32,ae(this,"strikeOffsets",()=>[...new Array(this.numStrikes)].map(o=>r.Offset32))}},_R=Object.freeze({__proto__:null,sbix:TR}),OR=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.version=r.uint16,this.numBaseGlyphRecords=r.uint16,this.baseGlyphRecordsOffset=r.Offset32,this.layerRecordsOffset=r.Offset32,this.numLayerRecords=r.uint16}getBaseGlyphRecord(e){let t=this.tableStart+this.baseGlyphRecordsOffset;this.parser.currentPosition=t;let r=new Wc(this.parser),o=r.gID,n=this.tableStart+this.layerRecordsOffset-6;this.parser.currentPosition=n;let s=new Wc(this.parser),i=s.gID;if(o===e)return r;if(i===e)return s;for(;t!==n;){let a=t+(n-t)/12;this.parser.currentPosition=a;let u=new Wc(this.parser),l=u.gID;if(l===e)return u;l>e?n=a:l<e&&(t=a)}return!1}getLayers(e){let t=this.getBaseGlyphRecord(e);return this.parser.currentPosition=this.tableStart+this.layerRecordsOffset+4*t.firstLayerIndex,[...new Array(t.numLayers)].map(r=>new PR(p))}},Wc=class{constructor(e){this.gID=e.uint16,this.firstLayerIndex=e.uint16,this.numLayers=e.uint16}},PR=class{constructor(e){this.gID=e.uint16,this.paletteIndex=e.uint16}},kR=Object.freeze({__proto__:null,COLR:OR}),FR=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.version=r.uint16,this.numPaletteEntries=r.uint16;let o=this.numPalettes=r.uint16;this.numColorRecords=r.uint16,this.offsetFirstColorRecord=r.Offset32,this.colorRecordIndices=[...new Array(this.numPalettes)].map(n=>r.uint16),ae(this,"colorRecords",()=>(r.currentPosition=this.tableStart+this.offsetFirstColorRecord,[...new Array(this.numColorRecords)].map(n=>new AR(r)))),this.version===1&&(this.offsetPaletteTypeArray=r.Offset32,this.offsetPaletteLabelArray=r.Offset32,this.offsetPaletteEntryLabelArray=r.Offset32,ae(this,"paletteTypeArray",()=>(r.currentPosition=this.tableStart+this.offsetPaletteTypeArray,new IR(r,o))),ae(this,"paletteLabelArray",()=>(r.currentPosition=this.tableStart+this.offsetPaletteLabelArray,new LR(r,o))),ae(this,"paletteEntryLabelArray",()=>(r.currentPosition=this.tableStart+this.offsetPaletteEntryLabelArray,new NR(r,o))))}},AR=class{constructor(e){this.blue=e.uint8,this.green=e.uint8,this.red=e.uint8,this.alpha=e.uint8}},IR=class{constructor(e,t){this.paletteTypes=[...new Array(t)].map(r=>e.uint32)}},LR=class{constructor(e,t){this.paletteLabels=[...new Array(t)].map(r=>e.uint16)}},NR=class{constructor(e,t){this.paletteEntryLabels=[...new Array(t)].map(r=>e.uint16)}},DR=Object.freeze({__proto__:null,CPAL:FR}),MR=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.version=r.uint32,this.numSignatures=r.uint16,this.flags=r.uint16,this.signatureRecords=[...new Array(this.numSignatures)].map(o=>new VR(r))}getData(e){let t=this.signatureRecords[e];return this.parser.currentPosition=this.tableStart+t.offset,new BR(this.parser)}},VR=class{constructor(e){this.format=e.uint32,this.length=e.uint32,this.offset=e.Offset32}},BR=class{constructor(e){e.uint16,e.uint16,this.signatureLength=e.uint32,this.signature=e.readBytes(this.signatureLength)}},zR=Object.freeze({__proto__:null,DSIG:MR}),jR=class extends Pe{constructor(e,t,r){let{p:o}=super(e,t),n=r.hmtx.numGlyphs;this.version=o.uint16,this.numRecords=o.int16,this.sizeDeviceRecord=o.int32,this.records=[...new Array(numRecords)].map(s=>new HR(o,n))}},HR=class{constructor(e,t){this.pixelSize=e.uint8,this.maxWidth=e.uint8,this.widths=e.readBytes(t)}},UR=Object.freeze({__proto__:null,hdmx:jR}),WR=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.version=r.uint16,this.nTables=r.uint16,ae(this,"tables",()=>{let o=this.tableStart+4,n=[];for(let s=0;s<this.nTables;s++){r.currentPosition=o;let i=new GR(r);n.push(i),o+=i}return n})}},GR=class{constructor(e){this.version=e.uint16,this.length=e.uint16,this.coverage=e.flags(8),this.format=e.uint8,this.format===0&&(this.nPairs=e.uint16,this.searchRange=e.uint16,this.entrySelector=e.uint16,this.rangeShift=e.uint16,ae(this,"pairs",()=>[...new Array(this.nPairs)].map(t=>new YR(e)))),this.format===2&&console.warn("Kern subtable format 2 is not supported: this parser currently only parses universal table data.")}get horizontal(){return this.coverage[0]}get minimum(){return this.coverage[1]}get crossstream(){return this.coverage[2]}get override(){return this.coverage[3]}},YR=class{constructor(e){this.left=e.uint16,this.right=e.uint16,this.value=e.fword}},qR=Object.freeze({__proto__:null,kern:WR}),ZR=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.version=r.uint16,this.numGlyphs=r.uint16,this.yPels=r.readBytes(this.numGlyphs)}},XR=Object.freeze({__proto__:null,LTSH:ZR}),KR=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.version=r.uint16,this.mergeClassCount=r.uint16,this.mergeDataOffset=r.Offset16,this.classDefCount=r.uint16,this.offsetToClassDefOffsets=r.Offset16,ae(this,"mergeEntryMatrix",()=>[...new Array(this.mergeClassCount)].map(o=>r.readBytes(this.mergeClassCount))),console.warn("Full MERG parsing is currently not supported."),console.warn("If you need this table parsed, please file an issue, or better yet, a PR.")}},JR=Object.freeze({__proto__:null,MERG:KR}),QR=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.version=r.uint32,this.flags=r.uint32,r.uint32,this.dataMapsCount=r.uint32,this.dataMaps=[...new Array(this.dataMapsCount)].map(o=>new $R(this.tableStart,r))}},$R=class{constructor(e,t){this.tableStart=e,this.parser=t,this.tag=t.tag,this.dataOffset=t.Offset32,this.dataLength=t.uint32}getData(){return this.parser.currentField=this.tableStart+this.dataOffset,this.parser.readBytes(this.dataLength)}},e2=Object.freeze({__proto__:null,meta:QR}),t2=class extends Pe{constructor(e,t){super(e,t),console.warn("This font uses a PCLT table, which is currently not supported by this parser."),console.warn("If you need this table parsed, please file an issue, or better yet, a PR.")}},r2=Object.freeze({__proto__:null,PCLT:t2}),o2=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.version=r.uint16,this.numRecs=r.uint16,this.numRatios=r.uint16,this.ratRanges=[...new Array(this.numRatios)].map(o=>new n2(r)),this.offsets=[...new Array(this.numRatios)].map(o=>r.Offset16),this.VDMXGroups=[...new Array(this.numRecs)].map(o=>new s2(r))}},n2=class{constructor(e){this.bCharSet=e.uint8,this.xRatio=e.uint8,this.yStartRatio=e.uint8,this.yEndRatio=e.uint8}},s2=class{constructor(e){this.recs=e.uint16,this.startsz=e.uint8,this.endsz=e.uint8,this.records=[...new Array(this.recs)].map(t=>new i2(e))}},i2=class{constructor(e){this.yPelHeight=e.uint16,this.yMax=e.int16,this.yMin=e.int16}},a2=Object.freeze({__proto__:null,VDMX:o2}),l2=class extends Pe{constructor(e,t){let{p:r}=super(e,t);this.version=r.fixed,this.ascent=this.vertTypoAscender=r.int16,this.descent=this.vertTypoDescender=r.int16,this.lineGap=this.vertTypoLineGap=r.int16,this.advanceHeightMax=r.int16,this.minTopSideBearing=r.int16,this.minBottomSideBearing=r.int16,this.yMaxExtent=r.int16,this.caretSlopeRise=r.int16,this.caretSlopeRun=r.int16,this.caretOffset=r.int16,this.reserved=r.int16,this.reserved=r.int16,this.reserved=r.int16,this.reserved=r.int16,this.metricDataFormat=r.int16,this.numOfLongVerMetrics=r.uint16,r.verifyLength()}},c2=Object.freeze({__proto__:null,vhea:l2}),u2=class extends Pe{constructor(e,t,r){super(e,t);let o=r.vhea.numOfLongVerMetrics,n=r.maxp.numGlyphs,s=p.currentPosition;if(lazy(this,"vMetrics",()=>(p.currentPosition=s,[...new Array(o)].map(i=>new f2(p.uint16,p.int16)))),o<n){let i=s+o*4;lazy(this,"topSideBearings",()=>(p.currentPosition=i,[...new Array(n-o)].map(a=>p.int16)))}}},f2=class{constructor(e,t){this.advanceHeight=e,this.topSideBearing=t}},d2=Object.freeze({__proto__:null,vmtx:u2});var ny=h(ce(),1);var{kebabCase:p2}=Fe(ny.privateApis);function sy(e){let t=e.reduce((r,o)=>(r[o.fontFamily]||(r[o.fontFamily]={name:o.fontFamily,fontFamily:o.fontFamily,slug:p2(o.fontFamily.toLowerCase()),fontFace:[]}),r[o.fontFamily].fontFace.push(o),r),{});return Object.values(t)}var er=h(Y(),1);function m2(){let{installFonts:e}=(0,Es.useContext)(Bt),[t,r]=(0,Es.useState)(!1),[o,n]=(0,Es.useState)(null),s=g=>{a(g)},i=g=>{a(g.target.files)},a=async g=>{if(!g)return;n(null),r(!0);let d=new Set,v=[...g],S=!1,C=v.map(async b=>{if(!await l(b))return S=!0,null;if(d.has(b.name))return null;let k=(((b.name??"").split(".")??[]).pop()??"").toLowerCase();return Bc.includes(k)?(d.add(b.name),b):null}),w=(await Promise.all(C)).filter(b=>b!==null);if(w.length>0)u(w);else{let b=S?(0,Bn.__)("Sorry, you are not allowed to upload this file type."):(0,Bn.__)("No fonts found to install.");n({type:"error",message:b}),r(!1)}},u=async g=>{let d=await Promise.all(g.map(async v=>{let S=await f(v);return await Co(S,S.file,"all"),S}));m(d)};async function l(g){let d=new sa("Uploaded Font");try{let v=await c(g);return await d.fromDataBuffer(v,"font"),!0}catch{return!1}}async function c(g){return new Promise((d,v)=>{let S=new window.FileReader;S.readAsArrayBuffer(g),S.onload=()=>d(S.result),S.onerror=v})}let f=async g=>{let d=await c(g),v=new sa("Uploaded Font");v.fromDataBuffer(d,g.name);let C=(await new Promise(N=>v.onload=N)).detail.font,{name:w}=C.opentype.tables,b=w.get(16)||w.get(1),R=w.get(2).toLowerCase().includes("italic"),k=C.opentype.tables["OS/2"].usWeightClass||"normal",_=!!C.opentype.tables.fvar&&C.opentype.tables.fvar.axes.find(({tag:N})=>N==="wght"),A=_?`${_.minValue} ${_.maxValue}`:null;return{file:g,fontFamily:b,fontStyle:R?"italic":"normal",fontWeight:A||k}},m=async g=>{let d=sy(g);try{await e(d),n({type:"success",message:(0,Bn.__)("Fonts were installed successfully.")})}catch(v){let S=v;n({type:"error",message:S.message,errors:S?.installationErrors})}r(!1)};return(0,er.jsxs)("div",{className:"font-library__tabpanel-layout",children:[(0,er.jsx)(It.DropZone,{onFilesDrop:s}),(0,er.jsxs)(It.__experimentalVStack,{className:"font-library__local-fonts",justify:"start",children:[o&&(0,er.jsxs)(It.Notice,{status:o.type,__unstableHTML:!0,onRemove:()=>n(null),children:[o.message,o.errors&&(0,er.jsx)("ul",{children:o.errors.map((g,d)=>(0,er.jsx)("li",{children:g},d))})]}),t&&(0,er.jsx)(It.FlexItem,{children:(0,er.jsx)("div",{className:"font-library__upload-area",children:(0,er.jsx)(It.ProgressBar,{})})}),!t&&(0,er.jsx)(It.FormFileUpload,{accept:Bc.map(g=>`.${g}`).join(","),multiple:!0,onChange:i,render:({openFileDialog:g})=>(0,er.jsx)(It.Button,{__next40pxDefaultSize:!0,className:"font-library__upload-area",onClick:g,children:(0,Bn.__)("Upload font")})}),(0,er.jsx)(It.__experimentalText,{className:"font-library__upload-area__text",children:(0,Bn.__)("Uploaded fonts appear in your library and can be used in your theme. Supported formats: .ttf, .otf, .woff, and .woff2.")})]})]})}var ia=m2;var ay=h(Y(),1),{Tabs:oV}=Fe(Yc.privateApis),nV={id:"installed-fonts",title:(0,aa._x)("Library","Font library")},sV={id:"upload-fonts",title:(0,aa._x)("Upload","noun")};var ly=h(Ce(),1),qc=h(ce(),1),g2=h(Te(),1);var cy=h(Y(),1);var Zc=h(Y(),1);var uy=h(Ce(),1),la=h(ce(),1);var fy=h(Y(),1);var Kc=h(Y(),1);var hr=h(Ce(),1),Jc=h(ce(),1),R2=h(Te(),1);var dy=h(Vt(),1);var S2=h(Y(),1),{useSettingsForBlockElement:NV,TypographyPanel:DV}=Fe(dy.privateApis);var C2=h(Y(),1);var Qc=h(Y(),1),GV={text:{description:(0,hr.__)("Manage the fonts used on the site."),title:(0,hr.__)("Text")},link:{description:(0,hr.__)("Manage the fonts and typography used on the links."),title:(0,hr.__)("Links")},heading:{description:(0,hr.__)("Manage the fonts and typography used on headings."),title:(0,hr.__)("Headings")},caption:{description:(0,hr.__)("Manage the fonts and typography used on captions."),title:(0,hr.__)("Captions")},button:{description:(0,hr.__)("Manage the fonts and typography used on buttons."),title:(0,hr.__)("Buttons")}};var O2=h(Ce(),1),P2=h(ce(),1),my=h(Vt(),1);var zn=h(ce(),1),py=h(Ce(),1);var _2=h(Te(),1);var E2=h(ce(),1),T2=h(Y(),1);var $c=h(Y(),1);var eu=h(Y(),1),{useSettingsForBlockElement:aB,ColorPanel:lB}=Fe(my.privateApis);var D2=h(Ce(),1);var A2=h(Bo(),1),tu=h(ce(),1),I2=h(Ce(),1);var ua=h(ce(),1);var ca=h(ce(),1);var hy=h(Y(),1);function gy(){let{paletteColors:e}=kn();return e.slice(0,4).map(({slug:t,color:r},o)=>(0,hy.jsx)("div",{style:{flexGrow:1,height:"100%",background:r}},`${t}-${o}`))}var _s=h(Y(),1),k2={start:{scale:1,opacity:1},hover:{scale:0,opacity:0}},F2=({label:e,isFocused:t,withHoverView:r})=>(0,_s.jsx)(In,{label:e,isFocused:t,withHoverView:r,children:({key:o})=>(0,_s.jsx)(ca.__unstableMotion.div,{variants:k2,style:{height:"100%",overflow:"hidden"},children:(0,_s.jsx)(ca.__experimentalHStack,{spacing:0,justify:"center",style:{height:"100%",overflow:"hidden"},children:(0,_s.jsx)(gy,{})})},o)}),yy=F2;var Jo=h(Y(),1),vy=["color"];function fa({title:e,gap:t=2}){let r=Ni(vy);return r?.length<=1?null:(0,Jo.jsxs)(ua.__experimentalVStack,{spacing:3,children:[e&&(0,Jo.jsx)(lr,{level:3,children:e}),(0,Jo.jsx)(ua.__experimentalGrid,{gap:t,children:r.map((o,n)=>(0,Jo.jsx)(Nn,{variation:o,isPill:!0,properties:vy,showTooltip:!0,children:()=>(0,Jo.jsx)(yy,{})},n))})]})}var by=h(Y(),1);var L2=h(Bo(),1),da=h(ce(),1),N2=h(Ce(),1);var wy=h(Y(),1);var ru=h(Y(),1);var V2=h(Ce(),1),Sy=h(Vt(),1),B2=h(ce(),1);var xy=h(Vt(),1);var M2=h(Y(),1);var{BackgroundPanel:NB}=Fe(xy.privateApis);var ou=h(Y(),1),{useHasBackgroundPanel:HB}=Fe(Sy.privateApis);var Qo=h(ce(),1),nu=h(Ce(),1);var W2=h(Te(),1);var z2=h(ce(),1),j2=h(Ce(),1),H2=h(Y(),1);var su=h(Y(),1),{Menu:ez}=Fe(Qo.privateApis);var bt=h(ce(),1),Os=h(Ce(),1);var pa=h(Te(),1);var iu=h(Y(),1),{Menu:hz}=Fe(bt.privateApis),gz=[{label:(0,Os.__)("Rename"),action:"rename"},{label:(0,Os.__)("Delete"),action:"delete"}],yz=[{label:(0,Os.__)("Reset"),action:"reset"}];var G2=h(Y(),1);var Z2=h(Ce(),1),Ry=h(Vt(),1);var Cy=h(Vt(),1),Y2=h(Te(),1);var q2=h(Y(),1),{useSettingsForBlockElement:Tz,DimensionsPanel:_z}=Fe(Cy.privateApis);var au=h(Y(),1),{useHasDimensionsPanel:Lz,useSettingsForBlockElement:Nz}=Fe(Ry.privateApis);var ky=h(ce(),1),Q2=h(Ce(),1);var K2=h(Ce(),1),J2=h(ce(),1);var Ey=h(ar(),1),Ty=h(Jt(),1),ha=h(Te(),1),_y=h(ce(),1),Oy=h(Ce(),1);var ma=h(Y(),1);function X2({gap:e=2}){let{user:t}=(0,ha.useContext)(Ot),r=t?.styles,n=(0,Ty.useSelect)(i=>{let a=i(Ey.store).__experimentalGetCurrentThemeGlobalStylesVariations();return Array.isArray(a)?a:void 0},[])?.filter(i=>!vs(i,["color"])&&!vs(i,["typography","spacing"])),s=(0,ha.useMemo)(()=>[...[{title:(0,Oy.__)("Default"),settings:{},styles:{}},...n??[]].map(a=>{let u=a?.styles?.blocks?{...a.styles.blocks}:{};r?.blocks&&Object.keys(r.blocks).forEach(m=>{if(r.blocks?.[m]?.css){let g=u[m]||{},d={css:`${u[m]?.css||""} ${r.blocks?.[m]?.css?.trim()||""}`};u[m]={...g,...d}}});let l=r?.css||a.styles?.css?{css:`${a.styles?.css||""} ${r?.css||""}`}:{},c=Object.keys(u).length>0?{blocks:u}:{},f={...a.styles,...l,...c};return{...a,settings:a.settings??{},styles:f}})],[n,r?.blocks,r?.css]);return!n||n.length<1?null:(0,ma.jsx)(_y.__experimentalGrid,{columns:2,className:"global-styles-ui-style-variations-container",gap:e,children:s.map((i,a)=>(0,ma.jsx)(Nn,{variation:i,children:u=>(0,ma.jsx)(kc,{label:i?.title,withHoverView:!0,isFocused:u,variation:i})},a))})}var lu=X2;var Py=h(Y(),1);var cu=h(Y(),1);var $2=h(Ce(),1),eE=h(ce(),1),Fy=h(Vt(),1);var uu=h(Y(),1),{AdvancedPanel:$z}=Fe(Fy.privateApis);var By=h(Ce(),1),du=h(ce(),1),pu=h(Te(),1);var tE=h(Jt(),1),rE=h(ar(),1),Ay=h(Te(),1);var Ny=h(Ce(),1),ga=h(ce(),1),ya=h(Ly(),1),oE=h(ar(),1),nE=h(Jt(),1);var Dy=h(Mc(),1);var My=h(Y(),1),{Badge:sj}=Fe(ga.privateApis),ij=3600*1e3*24;var fu=h(ce(),1),Ps=h(Ce(),1);var Vy=h(Y(),1);var mu=h(Y(),1);var hu=h(Ce(),1),ro=h(ce(),1);var cE=h(Te(),1);var iE=h(ce(),1),aE=h(Ce(),1),lE=h(Y(),1);var gu=h(Y(),1),{Menu:_j}=Fe(ro.privateApis);var Uy=h(Ce(),1),jr=h(ce(),1);var Wy=h(Te(),1);var uE=h(Vt(),1),fE=h(Ce(),1);var dE=h(Y(),1);var pE=h(ce(),1),zy=h(Ce(),1),mE=h(Y(),1);var ks=h(ce(),1),hE=h(Ce(),1),gE=h(Te(),1),jy=h(Y(),1);var oo=h(ce(),1),Hy=h(Y(),1);var yu=h(Y(),1),{Menu:Gj}=Fe(jr.privateApis);var bu=h(Y(),1);var wu=h(Y(),1);function jn(e){return function({value:r,baseValue:o,onChange:n,...s}){return(0,wu.jsx)(ys,{value:r,baseValue:o,onChange:n,children:(0,wu.jsx)(e,{...s})})}}var wE=jn(lu);var xE=jn(fa);var SE=jn(Hi);var Hn=h(Y(),1);function xu({value:e,baseValue:t,onChange:r,activeTab:o="installed-fonts"}){let n;switch(o){case"upload-fonts":n=(0,Hn.jsx)(ia,{});break;case"installed-fonts":n=(0,Hn.jsx)(Ji,{});break;default:n=(0,Hn.jsx)($i,{slug:o})}return(0,Hn.jsx)(ys,{value:e,baseValue:t,onChange:r,children:(0,Hn.jsx)(Gi,{children:n})})}var qy=h(us()),{unlock:Su}=(0,qy.__dangerousOptInToUnstableAPIsOnlyForCoreModules)("I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.","@wordpress/font-list-route");if(typeof document<"u"&&!document.head.querySelector("style[data-wp-hash='911f938962']")){let e=document.createElement("style");e.setAttribute("data-wp-hash","911f938962"),e.appendChild(document.createTextNode('@media (min-width:782px){.font-library-modal.font-library-modal{width:65vw}}.font-library-modal .components-modal__header{border-bottom:none}.font-library-modal .components-modal__content{margin-bottom:90px;padding:0}.font-library-modal .font-library__subtitle{font-size:11px;font-weight:var(--wpds-typography-font-weight-emphasis,600);text-transform:uppercase}.font-library-modal__tab-panel{height:calc(100% - 50px)}.font-library__tabpanel-layout{display:flex;flex-direction:column;height:100%}.font-library__tabpanel-layout>div{flex-grow:1}.font-library__tabpanel-layout .font-library__loading{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;left:0;padding-top:124px;position:absolute;top:0;width:100%}.font-library__footer,.font-library__tabpanel-layout .components-navigator-screen{padding:24px;width:100%}.font-library__footer{background-color:#fff;border-top:1px solid #ddd;bottom:0;box-sizing:border-box;flex-grow:0!important;flex-shrink:0;height:90px;position:absolute}.font-library__page-selection{font-size:11px;font-weight:var(--wpds-typography-font-weight-emphasis,600);text-transform:uppercase}@media (min-width:600px){.font-library__page-selection .font-library__page-selection-trigger{font-size:11px!important;font-weight:var(--wpds-typography-font-weight-emphasis,600)}}.font-library__fonts-title{font-size:11px;font-weight:var(--wpds-typography-font-weight-emphasis,600);margin-bottom:0;margin-top:0;text-transform:uppercase}.font-library__fonts-list{list-style:none;margin-bottom:0;margin-top:0;padding:0}.font-library__fonts-list-item{margin-bottom:0}.font-library__font-card{border:1px solid #ddd;box-sizing:border-box;height:auto!important;margin-top:-1px;padding:16px;width:100%}.font-library__font-card:hover{background-color:#f0f0f0}.font-library__font-card:focus{position:relative}.font-library__font-card .font-library__font-card__name{font-weight:700}.font-library__font-card .font-library__font-card__count{color:#757575}.font-library__font-card .font-library__font-variant_demo-image{display:block;height:24px;width:auto}.font-library__font-card .font-library__font-variant_demo-text{flex-shrink:0;white-space:nowrap}@media not (prefers-reduced-motion){.font-library__font-card .font-library__font-variant_demo-text{transition:opacity .3s ease-in-out}}.font-library-modal__tablist-container{background:#fff;border-bottom:1px solid #ddd;position:sticky;top:0;z-index:1}.font-library__upload-area{align-items:center;display:flex;height:256px!important;justify-content:center;width:100%}button.font-library__upload-area{background-color:#f0f0f0}.font-library__local-fonts{margin:24px auto;width:80%}.font-library__local-fonts .font-library__upload-area__text{color:#757575}.font-library__google-fonts-confirm{align-items:center;display:flex;justify-content:center;margin-top:64px}.font-library__google-fonts-confirm p{line-height:1.4}.font-library__google-fonts-confirm h2{font-size:1.2rem;font-weight:400}.font-library__google-fonts-confirm .components-card{padding:16px;width:400px}.font-library__google-fonts-confirm .components-button{justify-content:center;width:100%}.font-library__select-all{padding:16px 16px 16px 17px}.font-library__select-all .components-checkbox-control__label{padding-left:16px}.global-styles-ui-pagination .components-button.is-tertiary{height:32px;justify-content:center;width:32px}.global-styles-ui-screen-revisions__revisions-list{flex-grow:1;list-style:none;margin:0 16px 16px}.global-styles-ui-screen-revisions__revisions-list li{margin-bottom:0}.global-styles-ui-screen-revisions__revision-item{cursor:var(--wpds-cursor-control,pointer);display:flex;flex-direction:column;position:relative}.global-styles-ui-screen-revisions__revision-item[role=option]:active,.global-styles-ui-screen-revisions__revision-item[role=option]:focus{box-shadow:0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);outline:2px solid transparent}.global-styles-ui-screen-revisions__revision-item:hover{background:rgba(var(--wp-admin-theme-color--rgb),.04)}.global-styles-ui-screen-revisions__revision-item:hover .global-styles-ui-screen-revisions__date{color:var(--wp-admin-theme-color)}.global-styles-ui-screen-revisions__revision-item:after,.global-styles-ui-screen-revisions__revision-item:before{content:"\\a";display:block;position:absolute}.global-styles-ui-screen-revisions__revision-item:before{background:#ddd;border:4px solid transparent;border-radius:50%;height:8px;left:17px;top:18px;transform:translate(-50%,-50%);width:8px;z-index:1}.global-styles-ui-screen-revisions__revision-item[aria-selected=true]{background:rgba(var(--wp-admin-theme-color--rgb),.04);border-radius:2px;color:var(--wp-admin-theme-color);outline:3px solid transparent;outline-offset:-2px}.global-styles-ui-screen-revisions__revision-item[aria-selected=true] .global-styles-ui-screen-revisions__date{color:var(--wp-admin-theme-color)}.global-styles-ui-screen-revisions__revision-item[aria-selected=true]:before{background:var(--wp-admin-theme-color)}.global-styles-ui-screen-revisions__revision-item[aria-selected=true] .global-styles-ui-screen-revisions__changes>li,.global-styles-ui-screen-revisions__revision-item[aria-selected=true] .global-styles-ui-screen-revisions__meta{color:#1e1e1e}.global-styles-ui-screen-revisions__revision-item:after{border:.5px solid #ddd;height:100%;left:16px;top:0;width:0}.global-styles-ui-screen-revisions__revision-item:first-child:after{top:18px}.global-styles-ui-screen-revisions__revision-item:last-child:after{height:18px}.global-styles-ui-screen-revisions__revision-item-wrapper{display:block;padding:12px 12px 4px 40px}.global-styles-ui-screen-revisions__active-badge,.global-styles-ui-screen-revisions__apply-button.is-primary{align-self:flex-start;margin:0 12px 12px 40px}.global-styles-ui-screen-revisions__changes,.global-styles-ui-screen-revisions__meta{color:#757575;font-size:12px}.global-styles-ui-screen-revisions__description{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.global-styles-ui-screen-revisions__description .global-styles-ui-screen-revisions__date{font-size:12px;font-weight:var(--wpds-typography-font-weight-emphasis,600);text-transform:uppercase}.global-styles-ui-screen-revisions__meta{align-items:flex-start;display:flex;justify-content:start;margin-bottom:4px;text-align:left;width:100%}.global-styles-ui-screen-revisions__meta img{border-radius:100%;height:16px;margin-right:8px;width:16px}.global-styles-ui-screen-revisions__loading{margin:24px auto!important}.global-styles-ui-screen-revisions__changes{line-height:1.4;list-style:disc;margin-left:12px;text-align:left}.global-styles-ui-screen-revisions__changes li{margin-bottom:4px}.global-styles-ui-screen-revisions__pagination.global-styles-ui-screen-revisions__pagination{gap:2px;justify-content:space-between}.global-styles-ui-screen-revisions__pagination.global-styles-ui-screen-revisions__pagination .edit-site-pagination__total{height:1px;left:-1000px;margin:-1px;overflow:hidden;position:absolute}.global-styles-ui-screen-revisions__pagination.global-styles-ui-screen-revisions__pagination .components-text{font-size:12px;will-change:opacity}.global-styles-ui-screen-revisions__pagination.global-styles-ui-screen-revisions__pagination .components-button.is-tertiary{color:#1e1e1e}.global-styles-ui-screen-revisions__pagination.global-styles-ui-screen-revisions__pagination .components-button.is-tertiary:disabled,.global-styles-ui-screen-revisions__pagination.global-styles-ui-screen-revisions__pagination .components-button.is-tertiary[aria-disabled=true]{color:#949494}.global-styles-ui-screen-revisions__footer{background:#fff;border-top:1px solid #ddd;bottom:0;box-sizing:border-box;height:56px;min-width:100%;padding:12px;position:sticky;z-index:1}.global-styles-ui-variations_item{box-sizing:border-box;cursor:var(--wpds-cursor-control,pointer)}.global-styles-ui-variations_item .global-styles-ui-variations_item-preview{border-radius:2px;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px;overflow:hidden;position:relative}@media not (prefers-reduced-motion){.global-styles-ui-variations_item .global-styles-ui-variations_item-preview{transition:outline .1s linear}}.global-styles-ui-variations_item .global-styles-ui-variations_item-preview.is-pill{height:32px}.global-styles-ui-variations_item .global-styles-ui-variations_item-preview.is-pill .block-editor-iframe__scale-container{overflow:hidden}.global-styles-ui-variations_item:not(.is-active):hover .global-styles-ui-variations_item-preview{outline-color:rgba(0,0,0,.3)}.global-styles-ui-variations_item.is-active .global-styles-ui-variations_item-preview,.global-styles-ui-variations_item:focus-visible .global-styles-ui-variations_item-preview{outline-color:#1e1e1e;outline-offset:1px;outline-width:var(--wp-admin-border-width-focus)}.global-styles-ui-variations_item:focus-visible .global-styles-ui-variations_item-preview{outline-color:var(--wp-admin-theme-color)}.global-styles-ui-preview__wrapper{display:block;max-width:100%;width:100%}.global-styles-ui-preview__wrapper.is-hoverable{cursor:var(--wpds-cursor-control,pointer)}.global-styles-ui-typography-preview{align-items:center;background:#f0f0f0;border-radius:2px;display:flex;justify-content:center;margin-bottom:20px;min-height:100px;overflow:hidden}.global-styles-ui-font-size__item{line-break:anywhere;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-styles-ui-font-size__item-value{color:#757575}.global-styles-ui-screen-typography__indicator{align-items:center;border-radius:2px;display:flex!important;font-size:14px;height:24px;justify-content:center;width:24px}.global-styles-ui-block-types-search{margin-bottom:10px;padding:0 16px}.global-styles-ui-screen-typography__font-variants-count{color:#757575}.global-styles-ui-font-families__manage-fonts{justify-content:center}.global-styles-ui-screen .color-block-support-panel{border-top:none;padding-left:0;padding-right:0;padding-top:0;row-gap:12px}.global-styles-ui-header{line-height:1.9!important;margin-bottom:0!important}.global-styles-ui-subtitle{font-size:11px!important;font-weight:var(--wpds-typography-font-weight-emphasis,600)!important;margin-bottom:0!important;text-transform:uppercase}.global-styles-ui-section-title{color:#2f2f2f;font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:1.2;margin:0;padding:16px 16px 0}.global-styles-ui-icon-with-current-color{fill:currentColor}.global-styles-ui__color-indicator-wrapper{flex-shrink:0;height:24px}.global-styles-ui__shadows-panel__options-container,.global-styles-ui__typography-panel__options-container{height:24px}.global-styles-ui__block-preview-panel{border:1px solid #ddd;border-radius:2px;overflow:hidden;position:relative;width:100%}.global-styles-ui__shadow-preview-panel{background-image:repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0),repeating-linear-gradient(45deg,#e0e0e0 25%,transparent 0,transparent 75%,#e0e0e0 0,#e0e0e0);background-position:0 0,8px 8px;background-size:16px 16px;border:1px solid #ddd;border-radius:2px;height:144px;overflow:auto}.global-styles-ui__shadow-preview-panel .global-styles-ui__shadow-preview-block{background-color:#fff;border:1px solid #ddd;border-radius:2px;height:60px;width:60%}.global-styles-ui__shadow-editor__dropdown-content{width:280px}.global-styles-ui__shadow-editor-panel{margin-bottom:4px}.global-styles-ui__shadow-editor__dropdown{position:relative;width:100%}.global-styles-ui__shadow-editor__dropdown-toggle{border-radius:inherit;height:auto;padding-bottom:8px;padding-top:8px;text-align:left;width:100%}.global-styles-ui__shadow-editor__dropdown-toggle.is-open{background:#f0f0f0;color:var(--wp-admin-theme-color)}.global-styles-ui__shadow-editor__remove-button{opacity:0;position:absolute;right:8px;top:8px}.global-styles-ui__shadow-editor__remove-button.global-styles-ui__shadow-editor__remove-button{border:none}.global-styles-ui__shadow-editor__dropdown-toggle:hover+.global-styles-ui__shadow-editor__remove-button,.global-styles-ui__shadow-editor__remove-button:focus,.global-styles-ui__shadow-editor__remove-button:hover{opacity:1}@media (hover:none){.global-styles-ui__shadow-editor__remove-button{opacity:1}}.global-styles-ui-screen-css{display:flex;flex:1 1 auto;flex-direction:column;margin:16px}.global-styles-ui-screen-css .block-editor-global-styles-advanced-panel{flex:1 1 auto}.global-styles-ui-screen-css .block-editor-global-styles-advanced-panel__custom-css-input,.global-styles-ui-screen-css .block-editor-global-styles-advanced-panel__custom-css-input .components-base-control__field{display:flex;flex:1 1 auto;flex-direction:column}.global-styles-ui-screen-css .block-editor-global-styles-advanced-panel__custom-css-input textarea{flex:1 1 auto}.global-styles-ui-screen-css-help-link{display:inline-block;margin-top:8px}.global-styles-ui-screen-variations{border-top:1px solid #ddd;margin-top:16px}.global-styles-ui-screen-variations>*{margin:24px 16px}.global-styles-ui-sidebar__navigator-provider{height:100%}.global-styles-ui-sidebar__navigator-screen{display:flex;flex-direction:column;height:100%}.global-styles-ui-color-palette__tablist-container{border-bottom:1px solid #ddd}.global-styles-ui-color-palette__tablist{margin-bottom:-1px}.global-styles-ui-sidebar__navigator-screen .single-column{grid-column:span 1}.global-styles-ui-screen-root.global-styles-ui-screen-root,.global-styles-ui-screen-style-variations.global-styles-ui-screen-style-variations{background:unset;color:inherit}.global-styles-ui-sidebar__panel .block-editor-block-icon svg{fill:currentColor}.global-styles-ui-screen-root__active-style-tile.global-styles-ui-screen-root__active-style-tile,.global-styles-ui-screen-root__active-style-tile.global-styles-ui-screen-root__active-style-tile .global-styles-ui-screen-root__active-style-tile-preview{border-radius:2px}.global-styles-ui-screen-root__active-style-tile-preview{clip-path:border-box}.global-styles-ui-color-palette-panel,.global-styles-ui-gradient-palette-panel{padding:16px}.font-library-page__tablist{border-bottom:1px solid #f0f0f0;padding:0 24px}.font-library-page__tab-panel{flex-grow:1;max-height:calc(100% - 110px);overflow:auto}.font-library-page:has(.font-library__footer) .font-library-page__tab-panel{max-height:calc(100% - 198px)}')),document.head.appendChild(e)}var{Tabs:va}=Su(Zy.privateApis),{useGlobalStyles:CE}=Su(Xy.privateApis);function RE(){let{records:e=[]}=(0,ba.useEntityRecords)("root","fontCollection",{_fields:"slug,name,description"}),[t,r]=(0,Jy.useState)("installed-fonts"),{base:o,user:n,setUser:s,isReady:i}=CE(),a=(0,Ky.useSelect)(l=>l(ba.store).canUser("create",{kind:"postType",name:"wp_font_family"}),[]);if(!i)return null;let u=[{id:"installed-fonts",title:(0,Un._x)("Library","Font library")}];return a&&(u.push({id:"upload-fonts",title:(0,Un._x)("Upload","noun")}),u.push(...(e||[]).map(({slug:l,name:c})=>({id:l,title:e&&e.length===1&&l==="google-fonts"?(0,Un.__)("Install Fonts"):c})))),React.createElement(oc,{title:(0,Un.__)("Fonts"),className:"font-library-page"},React.createElement(va,{selectedTabId:t,onSelect:l=>r(l)},React.createElement("div",{className:"font-library-page__tablist"},React.createElement(va.TabList,null,u.map(({id:l,title:c})=>React.createElement(va.Tab,{key:l,tabId:l},c)))),u.map(({id:l})=>React.createElement(va.TabPanel,{key:l,tabId:l,focusable:!1,className:"font-library-page__tab-panel"},React.createElement(xu,{value:n,baseValue:o,onChange:s,activeTab:l})))))}function EE(){return React.createElement(RE,null)}var TE=EE;export{TE as stage}; /*! Bundled license information: use-sync-external-store/cjs/use-sync-external-store-shim.production.js: (** * @license React * use-sync-external-store-shim.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *) use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js: (** * @license React * use-sync-external-store-shim/with-selector.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *) is-plain-object/dist/is-plain-object.mjs: (*! * is-plain-object <https://github.com/jonschlinkert/is-plain-object> * * Copyright (c) 2014-2017, Jon Schlinkert. * Released under the MIT License. *) */
| ver. 1.4 |
Github
|
.
| PHP 8.3.33 | ���֧ߧ֧�ѧ�ڧ� ����ѧߧڧ��: 0.08 |
proxy
|
phpinfo
|
���ѧ����ۧܧ�