@protonradio/proton-ui 0.6.18-beta.4 → 0.6.18-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +1 -1
- package/dist/index.es.js.map +1 -1
- package/dist/utils-B_UbuIoU.mjs +114 -0
- package/dist/utils-B_UbuIoU.mjs.map +1 -0
- package/dist/utils-DQj80-_6.js +2 -0
- package/dist/utils-DQj80-_6.js.map +1 -0
- package/dist/utils.cjs.js +1 -1
- package/dist/utils.es.js +1 -1
- package/package.json +1 -1
- package/dist/utils-CZtPrc3N.js +0 -2
- package/dist/utils-CZtPrc3N.js.map +0 -1
- package/dist/utils-CfkXFGhc.mjs +0 -114
- package/dist/utils-CfkXFGhc.mjs.map +0 -1
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../src/hooks/useLockBodyScroll.tsx","../src/components/ActionMenu.tsx","../src/components/ThemeProvider.tsx","../src/components/Badge.tsx","../src/components/Button.tsx","../src/components/Banner.tsx","../src/components/ButtonGroup.tsx","../src/components/Dialog.tsx","../assets/svg/icons.svg","../src/components/Icon.tsx","../src/components/IconWrapper.tsx","../src/components/Input/BaseInput/Input.tsx","../node_modules/@react-stately/utils/dist/useControlledState.mjs","../node_modules/@react-stately/searchfield/dist/useSearchFieldState.mjs","../src/components/Input/SearchInput/SearchInput.tsx","../src/components/Popover.tsx","../node_modules/@react-aria/collections/dist/BaseCollection.mjs","../node_modules/@react-aria/collections/dist/Document.mjs","../node_modules/@react-aria/collections/dist/useCachedChildren.mjs","../node_modules/@react-aria/ssr/dist/SSRProvider.mjs","../node_modules/@react-aria/collections/dist/Hidden.mjs","../node_modules/@react-aria/utils/dist/useLayoutEffect.mjs","../node_modules/@react-aria/utils/dist/useEffectEvent.mjs","../node_modules/@react-aria/utils/dist/useId.mjs","../node_modules/@react-aria/utils/dist/chain.mjs","../node_modules/@react-aria/utils/dist/domHelpers.mjs","../node_modules/clsx/dist/clsx.mjs","../node_modules/@react-aria/utils/dist/mergeProps.mjs","../node_modules/@react-aria/utils/dist/mergeRefs.mjs","../node_modules/@react-aria/utils/dist/filterDOMProps.mjs","../node_modules/@react-aria/utils/dist/useObjectRef.mjs","../node_modules/@react-aria/utils/dist/useResizeObserver.mjs","../node_modules/@react-aria/utils/dist/useSyncRef.mjs","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/@react-aria/collections/dist/CollectionBuilder.mjs","../node_modules/react-aria-components/dist/Collection.mjs","../node_modules/react-aria-components/dist/utils.mjs","../node_modules/react-aria-components/dist/ProgressBar.mjs","../node_modules/@react-aria/live-announcer/dist/LiveAnnouncer.mjs","../node_modules/react-aria-components/dist/Button.mjs","../node_modules/react-aria-components/dist/Text.mjs","../node_modules/@react-aria/interactions/dist/context.mjs","../node_modules/@react-aria/interactions/dist/PressResponder.mjs","../node_modules/@react-aria/interactions/dist/useHover.mjs","../node_modules/@react-aria/interactions/dist/useInteractOutside.mjs","../node_modules/@react-aria/focus/dist/useFocusable.mjs","../node_modules/react-aria-components/dist/Header.mjs","../node_modules/react-aria-components/dist/Separator.mjs","../node_modules/react-aria-components/dist/OverlayArrow.mjs","../node_modules/react-aria-components/dist/Popover.mjs","../node_modules/react-aria-components/dist/Dialog.mjs","../node_modules/react-aria-components/dist/Keyboard.mjs","../node_modules/@react-stately/collections/dist/Section.mjs","../node_modules/react-aria-components/dist/Menu.mjs","../node_modules/@react-stately/table/dist/TableHeader.mjs","../node_modules/@react-stately/table/dist/TableBody.mjs","../node_modules/@react-stately/table/dist/Column.mjs","../node_modules/@react-stately/table/dist/Row.mjs","../node_modules/@react-stately/table/dist/Cell.mjs","../node_modules/react-aria-components/dist/Tooltip.mjs","../src/hooks/useBreakpoint.tsx","../src/components/ResponsiveMenuTrigger.tsx","../src/components/ListBox.tsx","../src/components/Select/Select.tsx","../src/components/Select/ResponsiveSelect/ResponsiveSelect.tsx","../src/components/Switch.tsx","../src/components/TableComponents.tsx","../src/components/Table.tsx","../src/components/Tooltip.tsx","../src/components/TextEmphasis.tsx","../src/components/WaveformBar.tsx","../src/components/Waveform.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n {\n if (hasOwnProperty.call(props, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(props).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import { useLayoutEffect } from \"react\";\r\n\r\n/**\r\n * A React hook that prevents body scrolling while a component is mounted.\r\n * Useful for modals, overlays, and other components that should prevent background scrolling.\r\n */\r\nexport function useLockBodyScroll(isActive: boolean = true) {\r\n useLayoutEffect(() => {\r\n if (!isActive) return;\r\n\r\n // Get original body overflow\r\n const originalStyle = window.getComputedStyle(document.body).overflow;\r\n // Prevent scrolling on mount\r\n document.body.style.overflow = \"hidden\";\r\n // Re-enable scrolling when component unmounts\r\n return () => {\r\n document.body.style.overflow = originalStyle;\r\n };\r\n }, [isActive]); // Empty array ensures effect is only run on mount and unmount\r\n}\r\n","\"use client\";\r\n\r\nimport { ReactNode, useEffect, useRef, useState } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\n\r\nimport { FocusScope, useMenu, useMenuItem, useOverlay } from \"react-aria\";\r\nimport { Item, Node, Selection, TreeState, useTreeState } from \"react-stately\";\r\n\r\nimport { Button, useTheme } from \"..\";\r\nimport { useLockBodyScroll } from \"../hooks/useLockBodyScroll\";\r\nimport { csx, handleInternalNavigation, isUrlExternal } from \"../utils\";\r\n\r\nimport \"./ActionMenu.css\";\r\n\r\n// Portal for rendering the ActionMenu into a separate, theme aware layer\r\nconst ThemedPortal = ({ children }) => {\r\n const { className, style } = useTheme();\r\n\r\n const domNode = (() => {\r\n let node = document.getElementById(\"action-menus-root\");\r\n if (!node) {\r\n node = document.createElement(\"div\");\r\n node.id = \"action-menus-root\";\r\n document.body.appendChild(node);\r\n }\r\n\r\n // Apply theme class and CSS variables\r\n node.className = className;\r\n Object.entries(style).forEach(([key, value]) => {\r\n node.style.setProperty(key, value);\r\n });\r\n return node;\r\n })();\r\n\r\n return ReactDOM.createPortal(children, domNode);\r\n};\r\n\r\nexport interface ActionMenuAction {\r\n key: string;\r\n label?: ReactNode;\r\n to?: string;\r\n onAction?: (key: string) => void;\r\n}\r\n\r\nexport interface ActionMenuProps {\r\n /* Whether the menu is open */\r\n isOpen: boolean;\r\n\r\n /* The selection mode of the menu */\r\n selectionMode?: \"single\" | \"multiple\" | \"none\";\r\n\r\n /* The keys of the selected items */\r\n selectedKeys?: string[];\r\n\r\n /* The keys of the disabled items */\r\n disabledKeys?: string[];\r\n\r\n /* The children of the menu */\r\n children?: ReactNode | ((props: { close: () => void }) => ReactNode);\r\n\r\n /* Whether to show the cancel button */\r\n showCancel?: boolean;\r\n\r\n /* Whether to close the menu on navigation */\r\n closeOnNavigation?: boolean;\r\n\r\n /* The actions of the menu */\r\n actions?: ActionMenuAction[];\r\n\r\n /* The id of the menu */\r\n id?: string;\r\n\r\n /* The callback function to close the menu */\r\n onClose?: () => void;\r\n\r\n /* The callback function to change the selection */\r\n onSelectionChange?: (keys: Selection) => void;\r\n\r\n /* The test id of the menu */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * ActionMenu to display a menu of actions.\r\n * Renders a list of actions as a focusable menu, or non-focusable children.\r\n * @interface ActionMenuProps\r\n */\r\nexport const ActionMenu = ({\r\n id,\r\n isOpen,\r\n selectionMode = \"single\",\r\n selectedKeys,\r\n disabledKeys,\r\n children,\r\n showCancel = true,\r\n actions,\r\n closeOnNavigation = true,\r\n onSelectionChange,\r\n onClose,\r\n \"data-testid\": testId,\r\n}: ActionMenuProps) => {\r\n useLockBodyScroll(isOpen);\r\n const { className, theme } = useTheme();\r\n const [isClosing, setIsClosing] = useState<boolean>(false);\r\n const [contentHeight, setContentHeight] = useState<number>(0);\r\n const contentRef = useRef<HTMLDivElement>(null);\r\n const menuRef = useRef<HTMLDivElement>(null);\r\n const prevLocation = useRef<string>(window.location.pathname);\r\n\r\n const hasActions = actions && actions.length > 0;\r\n\r\n const handleClose = () => {\r\n setIsClosing(true);\r\n setContentHeight(0);\r\n setTimeout(() => {\r\n onClose?.();\r\n setIsClosing(false);\r\n }, 300);\r\n };\r\n\r\n const state = hasActions\r\n ? useTreeState({\r\n items: actions,\r\n children: actions.map((action) => (\r\n <Item {...action} key={action.key}>\r\n {action.label}\r\n </Item>\r\n )),\r\n selectedKeys: new Set(selectedKeys),\r\n onSelectionChange: (keys) => onSelectionChange?.(keys),\r\n selectionMode,\r\n disabledKeys,\r\n })\r\n : null;\r\n\r\n const { menuProps } = hasActions\r\n ? useMenu(\r\n {\r\n autoFocus: true,\r\n\r\n shouldFocusWrap: true,\r\n onAction: (key) =>\r\n actions\r\n .find((action) => action.key === key)\r\n ?.onAction?.(key as string),\r\n onClose: () => onClose?.(),\r\n disabledKeys,\r\n onSelectionChange: (keys) => onSelectionChange?.(keys),\r\n selectionMode,\r\n selectedKeys,\r\n\r\n \"aria-label\": \"Action Menu\",\r\n },\r\n state,\r\n menuRef\r\n )\r\n : { menuProps: {} };\r\n\r\n const { overlayProps } = useOverlay(\r\n {\r\n isOpen: isOpen,\r\n onClose: () => onClose?.(),\r\n isDismissable: false,\r\n },\r\n menuRef\r\n );\r\n\r\n // handle opening\r\n useEffect(() => {\r\n if (isOpen && contentRef.current) {\r\n setContentHeight(contentRef.current.scrollHeight);\r\n }\r\n }, [isOpen, contentRef]);\r\n\r\n // handle escape key\r\n useEffect(() => {\r\n const onEsc = (event) => {\r\n if (event.key === \"Escape\") {\r\n handleClose();\r\n }\r\n };\r\n\r\n document.addEventListener(\"keydown\", onEsc);\r\n\r\n return () => {\r\n document.removeEventListener(\"keydown\", onEsc);\r\n };\r\n }, [isClosing]);\r\n\r\n // Automatically close ActionMenu if the window location changes.\r\n useEffect(() => {\r\n if (closeOnNavigation) {\r\n if (prevLocation.current && prevLocation.current !== location.pathname) {\r\n handleClose();\r\n }\r\n prevLocation.current = location.pathname;\r\n }\r\n }, [isClosing, closeOnNavigation]);\r\n\r\n const isScrollable = contentRef.current\r\n ? contentRef.current.getBoundingClientRect().height > window.innerHeight\r\n : false;\r\n const hasContent = children || hasActions || showCancel;\r\n\r\n if (!isOpen) return null;\r\n\r\n return (\r\n <ThemedPortal>\r\n <div\r\n {...overlayProps}\r\n className=\"proton-ActionMenu__background\"\r\n style={{ opacity: contentHeight > 0 ? 1 : 0 }}\r\n onClick={handleClose}\r\n id={id}\r\n >\r\n <div\r\n className=\"proton-ActionMenu__close-button\"\r\n data-testid=\"ActionMenu-close\"\r\n >\r\n ESC\r\n </div>\r\n </div>\r\n\r\n <div\r\n data-testid={testId || \"ActionMenu-wrapper\"}\r\n className={csx(\r\n \"proton-ActionMenu__wrapper\",\r\n isScrollable && \"proton-ActionMenu__wrapper--scrollable\"\r\n )}\r\n >\r\n <div\r\n className={csx(\"proton-ActionMenu__card\", className)}\r\n data-testid=\"ActionMenu-content\"\r\n style={{ height: `${contentHeight}px` }}\r\n >\r\n <div ref={menuRef}>\r\n <div {...menuProps} ref={contentRef}>\r\n {hasContent ? (\r\n <FocusScope autoFocus contain>\r\n {children && (\r\n <div className=\"proton-ActionMenu__content\">\r\n {typeof children === \"function\"\r\n ? children({ close: handleClose })\r\n : children}\r\n </div>\r\n )}\r\n\r\n {hasActions && (\r\n <div\r\n className={csx(\r\n \"proton-ActionMenu__list\",\r\n selectionMode === \"none\" &&\r\n \"proton-ActionMenu__list--disabled\"\r\n )}\r\n >\r\n {Array.from(state.collection).map((item) => (\r\n <ActionMenuItem\r\n key={item.key}\r\n item={item}\r\n state={state}\r\n to={item.props.to}\r\n />\r\n ))}\r\n </div>\r\n )}\r\n\r\n {showCancel && (\r\n <div\r\n className=\"proton-ActionMenu__cancel-button\"\r\n tabIndex={-1}\r\n >\r\n <Button\r\n variant={\r\n theme === \"dark\" || theme === \"custom-dark\"\r\n ? \"translucent\"\r\n : \"secondary\"\r\n }\r\n onPress={handleClose}\r\n data-testid=\"ActionMenuItem-cancel\"\r\n >\r\n Cancel\r\n </Button>\r\n </div>\r\n )}\r\n </FocusScope>\r\n ) : null}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ThemedPortal>\r\n );\r\n};\r\n\r\ninterface ActionMenuItemProps {\r\n to?: string;\r\n state: TreeState<ActionMenuAction>;\r\n item: Node<ActionMenuAction>;\r\n}\r\n\r\nconst ActionMenuItem = ({ to, state, item }: ActionMenuItemProps) => {\r\n const ref = useRef(null);\r\n const { menuItemProps } = useMenuItem({ key: item.key }, state, ref);\r\n const Component = to ? \"a\" : \"div\";\r\n const isExternal = to && isUrlExternal(to);\r\n const anchorProps = to\r\n ? {\r\n href: to,\r\n target: isExternal ? \"_blank\" : undefined,\r\n rel: isExternal ? \"noopener noreferrer\" : undefined,\r\n onClick:\r\n isExternal || !to ? () => {} : (e) => handleInternalNavigation(e, to),\r\n }\r\n : {};\r\n\r\n return (\r\n <Component\r\n {...menuItemProps}\r\n {...anchorProps}\r\n key={item.key}\r\n className=\"proton-ActionMenu__item\"\r\n aria-label={`ActionMenu-Item-${item.key}`}\r\n ref={ref}\r\n >\r\n {item.rendered}\r\n </Component>\r\n );\r\n};\r\n\r\nexport default ActionMenu;\r\n","\"use client\";\r\n\r\nimport React, {\r\n createContext,\r\n ReactNode,\r\n useContext,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n} from \"react\";\r\n\r\nimport { COLORS, Theme, THEMES } from \"../constants\";\r\nimport { arrayToRgbString, Palette } from \"../utils\";\r\nimport { toRgba, transparentize } from \"color2k\";\r\n\r\ninterface ThemeContextType {\r\n theme: Theme;\r\n className: string;\r\n style: ReturnType<typeof generateThemeCssVariables>[Theme];\r\n palette: Palette;\r\n}\r\n\r\nconst ThemeContext = createContext<ThemeContextType | undefined>(undefined);\r\n\r\nexport const useTheme = () => {\r\n const context = useContext(ThemeContext);\r\n if (context === undefined) {\r\n throw new Error(\"useTheme must be used within a ThemeProvider\");\r\n }\r\n return context;\r\n};\r\n\r\ninterface ThemeProviderProps {\r\n theme: Theme;\r\n children: ReactNode;\r\n palette: Palette;\r\n}\r\n\r\nconst THEME_CLASSES = {\r\n [THEMES.DARK]: \"proton-ui__theme--dark\",\r\n [THEMES.CUSTOM_DARK]: \"proton-ui__theme--custom-dark\",\r\n [THEMES.LIGHT]: \"proton-ui__theme--light\",\r\n};\r\n\r\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({\r\n theme,\r\n children,\r\n palette,\r\n}) => {\r\n const containerRef = useRef<HTMLDivElement>(null);\r\n const themeClass = THEME_CLASSES[theme];\r\n const themeVariables = useMemo(\r\n () => generateThemeCssVariables(palette),\r\n [palette]\r\n );\r\n\r\n useEffect(() => {\r\n // Apply the theme class and css variables to the container div so that it is only scoped\r\n // to the ThemeProvider children.\r\n if (containerRef.current) {\r\n containerRef.current.className = themeClass;\r\n const cssVariables = themeVariables[theme];\r\n\r\n Object.entries(cssVariables).forEach(([key, value]) => {\r\n containerRef.current!.style.setProperty(key, value as string);\r\n });\r\n }\r\n }, [theme, themeClass, palette, themeVariables]);\r\n\r\n return (\r\n <ThemeContext.Provider\r\n value={{\r\n theme,\r\n style: themeVariables[theme],\r\n palette,\r\n className: themeClass,\r\n }}\r\n >\r\n <div ref={containerRef}>{children}</div>\r\n </ThemeContext.Provider>\r\n );\r\n};\r\n\r\nexport interface ThemeVariables {\r\n \"--proton-control__background-color\": string;\r\n \"--proton-control__text-color\": string;\r\n \"--proton-control__border-color\": string;\r\n \"--proton-control__shadow-color\": string;\r\n \"--proton-color__primary\": string;\r\n \"--proton-color__primary-light\": string;\r\n \"--proton-color__secondary\": string;\r\n}\r\n\r\nconst defaultBackground = \"rgb(83, 82, 83)\";\r\n\r\nfunction generateThemeCssVariables(\r\n palette: Palette\r\n): Record<Theme, ThemeVariables> {\r\n const shadowColor = transparentize(palette.PRIMARY.PRIMARY_LIGHTEST, 0.4);\r\n\r\n return {\r\n [THEMES.DARK]: {\r\n \"--proton-control__background-color\": toRgba(defaultBackground),\r\n \"--proton-control__text-color\": COLORS.GRAYSCALE.WHITE,\r\n \"--proton-control__border-color\": COLORS.GRAYSCALE.GRAY_DARK,\r\n \"--proton-control__shadow-color\": COLORS.GRAYSCALE.GRAY_DARK,\r\n \"--proton-color__primary\": palette.BRAND.PRIMARY,\r\n \"--proton-color__primary-light\": palette.BRAND.PRIMARY_LIGHT,\r\n \"--proton-color__secondary\": palette.BRAND.SECONDARY,\r\n },\r\n\r\n [THEMES.LIGHT]: {\r\n \"--proton-control__background-color\": COLORS.GRAYSCALE.WHITE,\r\n \"--proton-control__text-color\": COLORS.GRAYSCALE.GRAY_DARK,\r\n \"--proton-control__border-color\": COLORS.GRAYSCALE.GRAY_LIGHT,\r\n \"--proton-control__shadow-color\": transparentize(\r\n toRgba(defaultBackground),\r\n 0.9\r\n ),\r\n \"--proton-color__primary\": palette.BRAND.PRIMARY,\r\n \"--proton-color__primary-light\": palette.BRAND.PRIMARY_LIGHT,\r\n \"--proton-color__secondary\": palette.BRAND.SECONDARY,\r\n },\r\n\r\n [THEMES.CUSTOM_DARK]: {\r\n \"--proton-control__background-color\": toRgba(defaultBackground),\r\n \"--proton-control__text-color\": COLORS.GRAYSCALE.WHITE,\r\n \"--proton-control__border-color\": palette.PRIMARY.PRIMARY_LIGHTEST,\r\n \"--proton-control__shadow-color\": shadowColor,\r\n \"--proton-color__primary\": palette.BRAND.PRIMARY,\r\n\r\n \"--proton-color__primary-light\": palette.BRAND.PRIMARY_LIGHT,\r\n \"--proton-color__secondary\": palette.BRAND.SECONDARY,\r\n },\r\n };\r\n}\r\n","\"use client\";\r\n\r\nimport { ReactNode } from \"react\";\r\nimport { csx } from \"../utils\";\r\n\r\nimport \"./Badge.css\";\r\nimport { useTheme } from \"./ThemeProvider\";\r\n\r\nexport type BadgeVariant =\r\n | \"primary\"\r\n | \"secondary\"\r\n | \"transparent\"\r\n | \"success\"\r\n | \"warning\"\r\n | \"danger\";\r\n\r\nexport const BadgeVariants: Record<BadgeVariant, BadgeVariant> = {\r\n primary: \"primary\",\r\n secondary: \"secondary\",\r\n transparent: \"transparent\",\r\n success: \"success\",\r\n warning: \"warning\",\r\n danger: \"danger\",\r\n};\r\n\r\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * The badge's visual aesthetic.\r\n */\r\n variant?: BadgeVariant;\r\n /**\r\n * The content to display within the badge.\r\n */\r\n children: ReactNode;\r\n}\r\n\r\nexport const Badge = ({ variant, children, ...props }: BadgeProps) => {\r\n const { className } = useTheme();\r\n return (\r\n <div\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n data-testid={props[\"data-testid\"]}\r\n className={csx(\r\n \"proton-Badge\",\r\n variant && `proton-Badge--${variant}`,\r\n className\r\n )}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { ElementType, useRef } from \"react\";\r\nimport { PressEvent, useButton } from \"react-aria\";\r\n\r\nimport { csx, isUrlExternal } from \"../utils\";\r\n\r\nimport \"./Button.css\";\r\n\r\nexport type ButtonVariant =\r\n | \"primary\"\r\n | \"secondary\"\r\n | \"success\"\r\n | \"danger\"\r\n | \"translucent\";\r\n\r\nexport const ButtonVariants: Record<ButtonVariant, ButtonVariant> = {\r\n primary: \"primary\",\r\n secondary: \"secondary\",\r\n success: \"success\",\r\n danger: \"danger\",\r\n translucent: \"translucent\",\r\n};\r\n\r\n\r\nexport interface ButtonProps {\r\n /** The button's visual aesthetic\r\n * @param {ButtonVariant} variant\r\n */\r\n variant?: ButtonVariant;\r\n\r\n /** Should the button be non-interactive?\r\n * @param {boolean} isDisabled\r\n */\r\n isDisabled?: boolean;\r\n\r\n /** The URL that the button should link to. Turns the element into an `a` tag\r\n * @param {string} href\r\n */\r\n href?: string;\r\n\r\n /** Called when the button is pressed (on release, not keydown)\r\n * @param {(e: PressEvent) => void} onPress\r\n */\r\n onPress?: (e: PressEvent) => void;\r\n\r\n /** The type of button\r\n * @param {\"button\" | \"submit\" | \"reset\"} type\r\n */\r\n type?: \"button\" | \"submit\" | \"reset\";\r\n\r\n /** The test ID for the button\r\n * @param {string} dataTestId\r\n */\r\n \"data-testid\"?: string;\r\n\r\n /** The content to display within the button\r\n * @param {React.ReactNode} children\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * A customizable button component that can render as either a button or anchor element\r\n * @interface ButtonProps\r\n */\r\nfunction Button({\r\n variant = \"primary\",\r\n href,\r\n onPress,\r\n type,\r\n isDisabled,\r\n \"data-testid\": testId,\r\n children,\r\n}: ButtonProps) {\r\n const Element: ElementType = href ? \"a\" : \"button\";\r\n\r\n const anchorProps =\r\n Element !== \"a\"\r\n ? {}\r\n : {\r\n target: \"_blank\",\r\n href,\r\n };\r\n\r\n const ref = useRef(null);\r\n const { buttonProps } = useButton(\r\n {\r\n onPress,\r\n elementType: Element,\r\n type: type || \"button\",\r\n isDisabled,\r\n },\r\n ref\r\n );\r\n\r\n return (\r\n <Element\r\n {...buttonProps}\r\n {...anchorProps}\r\n className={csx(\r\n \"proton-Button\",\r\n `proton-Button--${variant}`,\r\n isDisabled && \"proton-Button--disabled\"\r\n )}\r\n ref={ref}\r\n data-testid={testId}\r\n >\r\n {children}\r\n {href && isUrlExternal(href) && (\r\n <svg viewBox=\"0 0 512 512\" width=\"0.8em\" height=\"0.8em\">\r\n <path\r\n d=\"M384 224v184a40 40 0 01-40 40H104a40 40 0 01-40-40V168a40 40 0 0140-40h167.48M336 64h112v112M224 288L440 72\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n strokeWidth=\"32\"\r\n />\r\n </svg>\r\n )}\r\n </Element>\r\n );\r\n}\r\n\r\nexport default Button;\r\n","\"use client\";\r\n\r\nimport React, {\r\n ReactNode,\r\n createContext,\r\n isValidElement,\r\n useContext,\r\n} from \"react\";\r\nimport { DANGER, GRAYSCALE, SUCCESS, WARNING } from \"../constants/colors\";\r\nimport { csx } from \"../utils\";\r\nimport Button, { ButtonProps } from \"./Button\";\r\n\r\nimport \"./Banner.css\";\r\n\r\n//TODO: move svgs to lib and use Icon component\r\nconst bannerIcons = {\r\n success: (\r\n <svg viewBox=\"0 0 20 20\" height=\"18\" width=\"18\">\r\n <path\r\n fillRule=\"evenodd\"\r\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z\"\r\n ></path>\r\n </svg>\r\n ),\r\n warning: (\r\n <svg viewBox=\"0 0 56 56\" height=\"17\" width=\"17\">\r\n <path d=\"M9.59 50.207h36.82c3.516 0 5.719-2.531 5.719-5.719a5.56 5.56 0 0 0-.75-2.812l-18.445-33c-1.055-1.899-2.977-2.883-4.922-2.883c-1.922 0-3.89.984-4.946 2.883L4.645 41.699c-.516.89-.774 1.828-.774 2.79c0 3.187 2.227 5.718 5.719 5.718m18.422-16.055c-1.242 0-1.922-.703-1.969-1.968l-.328-11.578c-.047-1.266.937-2.204 2.273-2.204c1.313 0 2.344.961 2.297 2.227l-.351 11.555c-.047 1.289-.727 1.968-1.922 1.968m0 8.649c-1.36 0-2.625-1.078-2.625-2.532s1.242-2.53 2.625-2.53s2.625 1.054 2.625 2.53c0 1.477-1.266 2.532-2.625 2.532\" />\r\n </svg>\r\n ),\r\n danger: (\r\n <svg viewBox=\"0 0 20 20\" height=\"18\" width=\"18\">\r\n <path\r\n fillRule=\"evenodd\"\r\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.28 7.22a.75.75 0 00-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 101.06 1.06L10 11.06l1.72 1.72a.75.75 0 101.06-1.06L11.06 10l1.72-1.72a.75.75 0 00-1.06-1.06L10 8.94 8.28 7.22z\"\r\n ></path>\r\n </svg>\r\n ),\r\n};\r\n\r\nconst bannerColors: Record<\r\n BannerVariant,\r\n { background: string; title: string; content: string; icon: string }\r\n> = {\r\n default: {\r\n background: GRAYSCALE.GRAY_LIGHTEST,\r\n title: GRAYSCALE.GRAY_DARK,\r\n content: GRAYSCALE.GRAY_MEDIUM,\r\n icon: GRAYSCALE.GRAY_MEDIUM_LIGHT,\r\n },\r\n success: {\r\n background: SUCCESS.SUPER_LIGHT,\r\n title: SUCCESS.DARK,\r\n content: SUCCESS.MEDIUM,\r\n icon: SUCCESS.LIGHT,\r\n },\r\n warning: {\r\n background: WARNING.SUPER_LIGHT,\r\n title: WARNING.DARK,\r\n content: WARNING.MEDIUM,\r\n icon: WARNING.LIGHT,\r\n },\r\n danger: {\r\n background: DANGER.SUPER_LIGHT,\r\n title: DANGER.DARK,\r\n content: DANGER.MEDIUM,\r\n icon: DANGER.LIGHT,\r\n },\r\n};\r\n\r\nexport type BannerVariant = \"default\" | \"success\" | \"warning\" | \"danger\";\r\n\r\nexport const bannerVariants = {\r\n default: \"default\",\r\n success: \"success\",\r\n warning: \"warning\",\r\n danger: \"danger\",\r\n} as const;\r\n\r\nconst BannerContext = createContext<BannerVariant | undefined>(undefined);\r\n\r\ninterface BannerIconProps {\r\n /**\r\n * The icon to display in the banner.\r\n * Can be a boolean to conditionally show or hide,\r\n * or a ReactNode to provide a custom icon.\r\n */\r\n icon?: boolean | ReactNode;\r\n /**\r\n * Optional custom icon or children for the icon area.\r\n */\r\n children?: ReactNode;\r\n}\r\n\r\ninterface BannerProps\r\n extends BannerIconProps,\r\n React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * The banner's visual aesthetic.\r\n */\r\n variant?: BannerVariant;\r\n /**\r\n * Round the corners of the banner.\r\n */\r\n rounded?: boolean;\r\n /**\r\n * Compact padding around the content of the banner.\r\n */\r\n compact?: boolean;\r\n /**\r\n * The content to display within the banner.\r\n */\r\n children: ReactNode;\r\n}\r\n\r\n/**\r\n * A banner used to display a success, warning, or error message.\r\n * @interface BannerProps\r\n */\r\nconst Banner = ({\r\n variant = \"default\",\r\n rounded = true,\r\n icon = false,\r\n compact = true,\r\n children,\r\n ...props\r\n}: BannerProps) => (\r\n <BannerContext.Provider value={variant}>\r\n <div\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n className={csx(\r\n \"proton-Banner\",\r\n `proton-Banner--${variant}`,\r\n rounded && \"proton-Banner--rounded\"\r\n )}\r\n data-testid={props[\"data-testid\"]}\r\n >\r\n <div\r\n className={csx(\r\n \"proton-Banner__wrapper\",\r\n compact && \"proton-Banner__wrapper--compact\"\r\n )}\r\n >\r\n <Banner.Icon icon={icon} />\r\n <div className=\"proton-Banner__content-wrapper\">\r\n <div className=\"proton-Banner__container\">{children}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </BannerContext.Provider>\r\n);\r\n\r\nconst BannerTitle = ({ children, ...props }: { children: ReactNode }) => {\r\n const variant = useContext(BannerContext);\r\n if (!variant) throw new Error(\"BannerTitle must be used within a Banner\");\r\n\r\n return (\r\n <h3\r\n className={csx(\r\n \"proton-Banner\",\r\n \"proton-Banner__title\",\r\n `proton-Banner--${variant}__title`\r\n )}\r\n data-testid={props[\"data-testid\"]}\r\n >\r\n {children}\r\n </h3>\r\n );\r\n};\r\n\r\nconst BannerContent = ({ children, ...props }: { children: ReactNode }) => {\r\n const variant = useContext(BannerContext);\r\n if (!variant) throw new Error(\"BannerContent must be used within a Banner\");\r\n\r\n return (\r\n <p\r\n className={csx(\r\n \"proton-Banner\",\r\n \"proton-Banner__content\",\r\n `proton-Banner--${variant}__content`\r\n )}\r\n data-testid={props[\"data-testid\"]}\r\n >\r\n {children}\r\n </p>\r\n );\r\n};\r\n\r\nconst BannerIcon = ({ children, icon, ...props }: BannerIconProps) => {\r\n const variant = useContext(BannerContext);\r\n if (!variant) throw new Error(\"BannerIcon must be used within a Banner\");\r\n\r\n const getIconContent = () => {\r\n if (isValidElement(icon)) return icon;\r\n if (icon === true) return bannerIcons[variant];\r\n return children || null;\r\n };\r\n\r\n const iconContent = getIconContent();\r\n\r\n if (!iconContent) return null;\r\n\r\n return (\r\n <span\r\n aria-hidden=\"true\"\r\n data-testid={props[\"data-testid\"]}\r\n className={csx(\"proton-Banner__icon\", `proton-Banner--${variant}__icon`)}\r\n >\r\n {iconContent}\r\n </span>\r\n );\r\n};\r\n\r\nconst BannerAction = ({ children, ...props }: ButtonProps) => {\r\n return <Button {...props}>{children}</Button>;\r\n};\r\n\r\ninterface BannerActionsProps {\r\n children: ReactNode;\r\n}\r\n\r\nconst BannerActions: React.FC<BannerActionsProps> = ({ children }) => {\r\n return <div className=\"proton-Banner__actions\">{children}</div>;\r\n};\r\n\r\nBanner.Title = BannerTitle;\r\nBanner.Content = BannerContent;\r\nBanner.Icon = BannerIcon;\r\nBanner.Action = BannerAction;\r\nBanner.Actions = BannerActions;\r\nBanner.colors = bannerColors;\r\nBanner.icons = bannerIcons;\r\nBanner.variants = bannerVariants;\r\n\r\nexport default Banner;\r\n","\"use client\";\r\n\r\nimport { createContext, useContext, useRef } from \"react\";\r\nimport { useRadio, useRadioGroup, VisuallyHidden } from \"react-aria\";\r\nimport { useRadioGroupState } from \"react-stately\";\r\nimport { csx } from \"../utils\";\r\n\r\nimport \"./ButtonGroup.css\";\r\n\r\nexport interface ButtonGroupProps {\r\n /**\r\n * The value of the currently selected option in the ButtonGroup. Providing\r\n * this prop causes the component to become controlled.\r\n */\r\n value?: string;\r\n\r\n /**\r\n * The initially selected value of the ButtonGroup.\r\n */\r\n defaultValue?: string;\r\n\r\n /**\r\n * Called when the ButtonGroup's selected value changes.\r\n */\r\n onChange?: (value: string) => void;\r\n\r\n /**\r\n * The ButtonGroup.Option elements to be rendered as the selectable values.\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\nlet ButtonGroupContext = createContext(null);\r\n\r\nfunction ButtonGroup(props: ButtonGroupProps) {\r\n let sanitizedProps = {\r\n ...props,\r\n \"data-testid\": undefined,\r\n };\r\n\r\n let state = useRadioGroupState(sanitizedProps);\r\n let { radioGroupProps } = useRadioGroup(sanitizedProps, state);\r\n\r\n return (\r\n <div\r\n {...radioGroupProps}\r\n className=\"proton-ButtonGroup\"\r\n data-value={state.selectedValue}\r\n data-testid={props[\"data-testid\"] || undefined}\r\n >\r\n <ButtonGroupContext.Provider value={state}>\r\n {props.children}\r\n </ButtonGroupContext.Provider>\r\n </div>\r\n );\r\n}\r\n\r\nexport interface ButtonGroupOptionProps {\r\n /**\r\n * The value of this option. When this option is selected, this value will\r\n * become the ButtonGroup's new `selectedValue`.\r\n */\r\n value: string;\r\n\r\n /**\r\n * The text or component to be rendered as this option's content.\r\n */\r\n children: React.ReactNode;\r\n}\r\n\r\nButtonGroup.Option = function ButtonGroupOption(props: ButtonGroupOptionProps) {\r\n let sanitizedProps = {\r\n ...props,\r\n \"data-testid\": undefined,\r\n };\r\n\r\n let state = useContext(ButtonGroupContext);\r\n let ref = useRef(null);\r\n let { inputProps, isSelected } = useRadio(sanitizedProps, state, ref);\r\n\r\n return (\r\n <label\r\n className={csx(\r\n \"proton-ButtonGroup__option\",\r\n isSelected && \"proton-ButtonGroup__option--selected\"\r\n )}\r\n data-selected={isSelected || undefined}\r\n data-testid={props[\"data-testid\"] || undefined}\r\n >\r\n <VisuallyHidden>\r\n <input {...inputProps} ref={ref} />\r\n </VisuallyHidden>\r\n {props.children}\r\n </label>\r\n );\r\n};\r\n\r\nexport default ButtonGroup;\r\n","\"use client\";\r\n\r\nimport { useRef } from \"react\";\r\nimport { AriaDialogProps, useDialog } from \"react-aria\";\r\nimport { csx } from \"../utils\";\r\n\r\nimport \"./Dialog.css\";\r\nimport { useTheme } from \"./ThemeProvider\";\r\n\r\ninterface DialogProps extends AriaDialogProps {\r\n title?: React.ReactNode;\r\n children: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Intended use in overlay containers such as modals or popovers.\r\n */\r\n\r\nexport default function Dialog({ title, children, ...props }: DialogProps) {\r\n let ref = useRef(null);\r\n let { dialogProps, titleProps } = useDialog(props, ref);\r\n const { className } = useTheme();\r\n\r\n return (\r\n <div {...dialogProps} ref={ref} className={csx(\"proton-Dialog\", className)}>\r\n {title && (\r\n <h3 {...titleProps} className=\"proton-Dialog__header\">\r\n {title}\r\n </h3>\r\n )}\r\n {children}\r\n </div>\r\n );\r\n}\r\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3csymbol%20id='external-link'%20viewBox='0%200%20512%20512'%3e%3cpath%20d='M384%20224v184a40%2040%200%2001-40%2040H104a40%2040%200%2001-40-40V168a40%2040%200%200140-40h167.48M336%2064h112v112M224%20288L440%2072'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='32'/%3e%3c/symbol%3e%3csymbol%20id='caret-down'%20viewBox='0%200%20512%20512'%3e%3cpath%20fill='currentColor'%20d='M233.4%20406.6c12.5%2012.5%2032.8%2012.5%2045.3%200l192-192c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200L256%20338.7L86.6%20169.4c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3l192%20192z'/%3e%3c/symbol%3e%3c/defs%3e%3c/svg%3e\"","import iconURL from \"../../assets/svg/icons.svg\";\r\n\r\ntype IconID = \"external-link\" | \"caret-down\";\r\n\r\n/*\r\n *\r\n * 🚧 UNDER CONSTRUCTION 🚧\r\n *\r\n */\r\n\r\nexport interface IconProps {\r\n /**\r\n * The spritesheet ID defined in the Icons spritesheet.\r\n */\r\n id: IconID;\r\n\r\n /**\r\n * The desired width/height of the icon. Accepts any valid CSS unit.\r\n */\r\n size?: number | string;\r\n\r\n /**\r\n * The stroke color of the icon.\r\n */\r\n color?: string;\r\n}\r\n\r\nfunction Icon(props: IconProps) {\r\n let iconStyle = {\r\n height: props.size || undefined,\r\n width: props.size || undefined,\r\n color: props.color || undefined,\r\n };\r\n\r\n return (\r\n <svg style={iconStyle} {...props}>\r\n <use href={`${iconURL}#${props.id}`} />\r\n </svg>\r\n );\r\n}\r\n\r\nexport default Icon;\r\n","\"use client\";\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport Icon, { IconProps } from \"./Icon\";\r\n\r\nconst svgUrl = \"../assets/svg/icons.svg\";\r\n\r\n/*\r\n *\r\n * 🚧 UNDER CONSTRUCTION 🚧\r\n * This is a workaround for loading from external SVG spritesheets.\r\n *\r\n */\r\n\r\nfunction IconWrapper(props: Omit<IconProps, \"svgContent\">) {\r\n const [svgContent, setSvgContent] = useState(\"\");\r\n\r\n useEffect(() => {\r\n // fetch(new URL(svgUrl, import.meta.url).href)\r\n // .then((response) => response.text())\r\n // .then((content) => {\r\n // setSvgContent(content);\r\n // });\r\n }, []);\r\n\r\n if (!svgContent) return null;\r\n\r\n return (\r\n <>\r\n <div\r\n dangerouslySetInnerHTML={{ __html: svgContent }}\r\n style={{ display: \"none\" }}\r\n />\r\n <Icon {...props} />\r\n </>\r\n );\r\n}\r\n\r\nexport default IconWrapper;\r\n","\"use client\";\r\n\r\nimport React, { forwardRef, useRef } from \"react\";\r\nimport { useClipboard, useTextField } from \"react-aria\";\r\n\r\nimport { useTheme } from \"../../ThemeProvider\";\r\nimport { csx } from \"../../../utils\";\r\nimport \"./Input.css\";\r\nimport { COLORS, THEMES } from \"../../../constants\";\r\nimport { transparentize } from \"color2k\";\r\n\r\nexport interface BaseInputProps {\r\n /**\r\n * onChange handler for the input\r\n */\r\n onChange?: (value: string) => void;\r\n\r\n /** Whether the input is disabled. */\r\n isDisabled?: boolean;\r\n\r\n /** Description text shown above the input. */\r\n description?: React.ReactNode | string;\r\n\r\n /**\r\n * The position of the description text.\r\n * @default \"top\"\r\n */\r\n descriptionPosition?: \"top\" | \"bottom\";\r\n\r\n /** Error state that changes the input's visual style and displays an error message. */\r\n error?: React.ReactNode | string;\r\n\r\n /**\r\n * Label for the input element.\r\n * @note When a label is provided, the input will have extra padding, and the label will float above the text input when focused or filled.\r\n */\r\n label?: string;\r\n\r\n /** Test ID for the component. */\r\n \"data-testid\"?: string;\r\n\r\n /** Content to display before the input. Typically used for icons. */\r\n prefix?: React.ReactNode;\r\n\r\n /** Content to display after the input. Typically used for icons. */\r\n suffix?: React.ReactNode;\r\n\r\n /**\r\n * Should the browser's autocomplete be enabled?\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\r\n */\r\n autoComplete?: boolean;\r\n\r\n /**\r\n * Should the input be autofocused?\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autofocus\r\n */\r\n autoFocus?: boolean;\r\n\r\n /**\r\n * The name attribute of the input element.\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/name\r\n */\r\n name: string;\r\n\r\n /**\r\n * The placeholder text to display when the input is empty.\r\n * @note Placeholder takes precedence over label, if both are provided.\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/placeholder\r\n */\r\n placeholder?: string;\r\n\r\n /**\r\n * The type attribute of the input element.\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/type\r\n */\r\n type?: string;\r\n\r\n /**\r\n * The value of the input.\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#value\r\n */\r\n value?: string;\r\n}\r\n\r\n/**\r\n * A controlled and customizable input component with support for labels, prefixes, suffixes, and error states.\r\n */\r\nconst Input = forwardRef<HTMLInputElement, BaseInputProps>(\r\n (\r\n {\r\n prefix,\r\n suffix,\r\n description,\r\n descriptionPosition = \"top\",\r\n isDisabled,\r\n error,\r\n onChange,\r\n label,\r\n name,\r\n placeholder,\r\n type = \"text\",\r\n value,\r\n autoFocus,\r\n autoComplete,\r\n \"data-testid\": testId,\r\n },\r\n forwardedRef: React.RefObject<HTMLInputElement>\r\n ) => {\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n const { className, palette, theme } = useTheme();\r\n const ref = forwardedRef || inputRef;\r\n const { labelProps, inputProps, descriptionProps, errorMessageProps } =\r\n useTextField(\r\n {\r\n label,\r\n name,\r\n type,\r\n autoFocus,\r\n autoComplete: autoComplete ? \"on\" : \"off\",\r\n \"aria-label\": label || name,\r\n \"aria-describedby\": error ? `${name}-input-error` : `${name}-input`,\r\n errorMessage: error,\r\n isDisabled,\r\n placeholder,\r\n validationState: error ? \"invalid\" : \"valid\",\r\n value,\r\n onChange,\r\n },\r\n ref\r\n );\r\n const { clipboardProps } = useClipboard({\r\n getItems() {\r\n return [{ \"text/plain\": value }];\r\n },\r\n });\r\n\r\n const style = {\r\n \"--input-background\": (() => {\r\n switch (theme) {\r\n case THEMES.CUSTOM_DARK:\r\n return transparentize(palette.PRIMARY.PRIMARY_SUPER_LIGHT, 0.6); // 1 - 0.4 = 0.6\r\n case THEMES.DARK:\r\n return transparentize(COLORS.GRAYSCALE.GRAY_MEDIUM, 0.5);\r\n default:\r\n return COLORS.GRAYSCALE.WHITE;\r\n }\r\n })(),\r\n } as React.CSSProperties;\r\n\r\n return (\r\n <div className=\"proton-Input__container\">\r\n {description && descriptionPosition === \"top\" && (\r\n <div {...descriptionProps} className=\"proton-Input__text\">\r\n {description}\r\n </div>\r\n )}\r\n <div className=\"proton-Input__container-inner\">\r\n {prefix && (\r\n <div\r\n className={csx(\r\n \"proton-Input__descriptor\",\r\n \"proton-Input__prefix\"\r\n )}\r\n >\r\n {prefix}\r\n </div>\r\n )}\r\n\r\n <input\r\n {...inputProps}\r\n {...clipboardProps}\r\n data-testid={testId}\r\n id={`${name}-input`}\r\n aria-invalid={Boolean(error)}\r\n ref={ref}\r\n style={style}\r\n className={csx(\r\n \"proton-Input\",\r\n error && \"proton-Input--error\",\r\n label && !placeholder && \"proton-Input__label-top\",\r\n className\r\n )}\r\n />\r\n\r\n <label\r\n {...labelProps}\r\n className={csx(\r\n \"proton-Input__label\",\r\n placeholder && \"proton-Input__label--hide\",\r\n value && \"proton-Input__label--filled\"\r\n )}\r\n >\r\n {label}\r\n </label>\r\n\r\n {suffix && (\r\n <div\r\n className={csx(\r\n \"proton-Input__descriptor\",\r\n \"proton-Input__suffix\"\r\n )}\r\n >\r\n {suffix}\r\n </div>\r\n )}\r\n </div>\r\n\r\n {error ? (\r\n <div\r\n {...errorMessageProps}\r\n role=\"alert\"\r\n className={csx(\"proton-Input__error\", \"proton-Input__text\")}\r\n id={`${name}-error`}\r\n >\r\n {error}\r\n </div>\r\n ) : description && descriptionPosition === \"bottom\" ? (\r\n <div {...descriptionProps} className=\"proton-Input__text\">\r\n {description}\r\n </div>\r\n ) : null}\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nexport default Input;\r\n","import {useState as $3whtM$useState, useRef as $3whtM$useRef, useEffect as $3whtM$useEffect, useCallback as $3whtM$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange) {\n let [stateValue, setStateValue] = (0, $3whtM$useState)(value || defaultValue);\n let isControlledRef = (0, $3whtM$useRef)(value !== undefined);\n let isControlled = value !== undefined;\n (0, $3whtM$useEffect)(()=>{\n let wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) console.warn(`WARN: A component changed from ${wasControlled ? 'controlled' : 'uncontrolled'} to ${isControlled ? 'controlled' : 'uncontrolled'}.`);\n isControlledRef.current = isControlled;\n }, [\n isControlled\n ]);\n let currentValue = isControlled ? value : stateValue;\n let setValue = (0, $3whtM$useCallback)((value, ...args)=>{\n let onChangeCaller = (value, ...onChangeArgs)=>{\n if (onChange) {\n if (!Object.is(currentValue, value)) onChange(value, ...onChangeArgs);\n }\n if (!isControlled) // If uncontrolled, mutate the currentValue local variable so that\n // calling setState multiple times with the same value only emits onChange once.\n // We do not use a ref for this because we specifically _do_ want the value to\n // reset every render, and assigning to a ref in render breaks aborted suspended renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n currentValue = value;\n };\n if (typeof value === 'function') {\n console.warn('We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320');\n // this supports functional updates https://reactjs.org/docs/hooks-reference.html#functional-updates\n // when someone using useControlledState calls setControlledState(myFunc)\n // this will call our useState setState with a function as well which invokes myFunc and calls onChange with the value from myFunc\n // if we're in an uncontrolled state, then we also return the value of myFunc which to setState looks as though it was just called with myFunc from the beginning\n // otherwise we just return the controlled value, which won't cause a rerender because React knows to bail out when the value is the same\n let updateFunction = (oldValue, ...functionArgs)=>{\n let interceptedValue = value(isControlled ? currentValue : oldValue, ...functionArgs);\n onChangeCaller(interceptedValue, ...args);\n if (!isControlled) return interceptedValue;\n return oldValue;\n };\n setStateValue(updateFunction);\n } else {\n if (!isControlled) setStateValue(value);\n onChangeCaller(value, ...args);\n }\n }, [\n isControlled,\n currentValue,\n onChange\n ]);\n return [\n currentValue,\n setValue\n ];\n}\n\n\nexport {$458b0a5536c1a7cf$export$40bfa8c7b0832715 as useControlledState};\n//# sourceMappingURL=useControlledState.module.js.map\n","import {useControlledState as $58ylH$useControlledState} from \"@react-stately/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $0b2218c4e3fe7d7e$export$3f8be18b0f41eaf2(props) {\n let [value, setValue] = (0, $58ylH$useControlledState)($0b2218c4e3fe7d7e$var$toString(props.value), $0b2218c4e3fe7d7e$var$toString(props.defaultValue) || '', props.onChange);\n return {\n value: value,\n setValue: setValue\n };\n}\nfunction $0b2218c4e3fe7d7e$var$toString(val) {\n if (val == null) return;\n return val.toString();\n}\n\n\nexport {$0b2218c4e3fe7d7e$export$3f8be18b0f41eaf2 as useSearchFieldState};\n//# sourceMappingURL=useSearchFieldState.module.js.map\n","\"use client\";\r\n\r\nimport { useEffect, useRef } from \"react\";\r\nimport { useSearchFieldState } from \"@react-stately/searchfield\";\r\nimport { useSearchField } from \"react-aria\";\r\n\r\nimport \"./SearchInput.css\";\r\nimport { csx } from \"../../../utils\";\r\n\r\nimport Input, { BaseInputProps } from \"../BaseInput/Input\";\r\n\r\nexport interface SearchInputProps\r\n extends Omit<\r\n BaseInputProps,\r\n | \"prefix\"\r\n | \"suffix\"\r\n | \"value\"\r\n | \"onChange\"\r\n | \"description\"\r\n | \"descriptionPosition\"\r\n | \"label\"\r\n > {\r\n /** Should the clear button be shown when there is text? */\r\n isClearable?: boolean;\r\n\r\n /** Called when the input value changes. */\r\n onChange?: (value: string) => void;\r\n\r\n /** Called when the clear button is clicked. */\r\n onClear?: () => void;\r\n\r\n /** The initial value of the input. */\r\n defaultValue?: string;\r\n\r\n /** The current value of the input (for controlled usage) */\r\n value?: string;\r\n}\r\n\r\n/**\r\n * A search input component with optional clear functionality and URL parameter sync.\r\n */\r\nconst SearchInput = ({\r\n name = \"search\",\r\n placeholder = \"Search...\",\r\n autoComplete,\r\n isClearable = true,\r\n error,\r\n defaultValue,\r\n value: controlledValue,\r\n \"data-testid\": testId = \"proton-SearchInput\",\r\n onChange,\r\n onClear,\r\n}: SearchInputProps) => {\r\n const state = useSearchFieldState({\r\n defaultValue,\r\n value: controlledValue,\r\n onChange: (value) => onChange?.(value),\r\n onClear: () => onClear?.(),\r\n label: placeholder,\r\n });\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n const { inputProps, clearButtonProps } = useSearchField(\r\n { ...state, placeholder },\r\n state,\r\n inputRef\r\n );\r\n const { value, setValue } = state;\r\n\r\n const handleTextClear = () => {\r\n if (onClear) onClear();\r\n onChange?.(\"\");\r\n setValue(\"\");\r\n };\r\n\r\n return (\r\n <div\r\n className=\"proton-SearchInput__wrapper\"\r\n data-testid={testId}\r\n role=\"search\"\r\n >\r\n <Input\r\n {...inputProps}\r\n type=\"search\"\r\n onChange={(value) => state.setValue(value)}\r\n value={value}\r\n name={name}\r\n \r\n placeholder={placeholder}\r\n autoComplete={autoComplete}\r\n error={error}\r\n ref={inputRef}\r\n prefix={\r\n <svg\r\n aria-hidden=\"true\"\r\n width=\"1.6em\"\r\n height=\"1.6em\"\r\n viewBox=\"0 0 24 24\"\r\n onClick={() => inputRef.current?.focus()}\r\n >\r\n <title>Magnifying Glass</title>\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M10.5 18.5a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm0-1a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm5.25-.75 4.5 4.5-1.25 1.25-4.5-4.5 1.25-1.25Z\"\r\n />\r\n </svg>\r\n }\r\n suffix={\r\n <button\r\n aria-label={clearButtonProps[\"aria-label\"]}\r\n type=\"button\"\r\n className={csx(\r\n \"proton-SearchInput__button\",\r\n \"proton-Input__descriptor\",\r\n \"proton-Input__suffix\",\r\n !(isClearable && value?.length > 0) &&\r\n \"proton-SearchInput__button--hide\"\r\n )}\r\n data-testid={`${testId}-clear`}\r\n onClick={() => {\r\n handleTextClear();\r\n inputRef.current?.focus();\r\n }}\r\n >\r\n <svg\r\n aria-hidden=\"true\"\r\n viewBox=\"0 0 50 50\"\r\n width=\"1.2em\"\r\n height=\"1.2em\"\r\n >\r\n <title>Clear</title>\r\n <path\r\n fill=\"currentColor\"\r\n d=\"m37.304 11.282l1.414 1.414l-26.022 26.02l-1.414-1.413z\"\r\n />\r\n <path\r\n fill=\"currentColor\"\r\n d=\"m12.696 11.282l26.022 26.02l-1.414 1.415l-26.022-26.02z\"\r\n />\r\n </svg>\r\n </button>\r\n }\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default SearchInput;\r\n","\"use client\";\r\n\r\nimport React, { useRef } from \"react\";\r\nimport type { AriaPopoverProps } from \"react-aria\";\r\nimport {\r\n DismissButton,\r\n Overlay,\r\n useButton,\r\n useOverlayTrigger,\r\n usePopover,\r\n} from \"react-aria\";\r\nimport {\r\n OverlayTriggerProps,\r\n useOverlayTriggerState,\r\n type OverlayTriggerState,\r\n} from \"react-stately\";\r\nimport { csx } from \"../utils\";\r\nimport { useTheme } from \"./ThemeProvider\";\r\n\r\nimport \"./Popover.css\";\r\n\r\n/**\r\n * Hook for creating a popover trigger. This hook manages the state and events for the popover\r\n * and popover trigger. For examples see Popover.stories.tsx.\r\n */\r\n\r\nexport function usePopoverTrigger(props?: OverlayTriggerProps) {\r\n const triggerRef = useRef<HTMLButtonElement>(null);\r\n\r\n const state = useOverlayTriggerState(props || {});\r\n const { triggerProps, overlayProps } = useOverlayTrigger(\r\n { type: \"dialog\" },\r\n state,\r\n triggerRef\r\n );\r\n const { buttonProps } = useButton(triggerProps, triggerRef);\r\n\r\n return { buttonProps, overlayProps, buttonRef: triggerRef, state };\r\n}\r\n\r\n\r\n\r\ninterface PopoverProps extends Omit<AriaPopoverProps, \"popoverRef\"> {\r\n /**\r\n * Content to display within the popover.\r\n */\r\n children: React.ReactNode;\r\n /**\r\n * The `isOpen` state of the popover and the methods to toggle it.\r\n */\r\n state: OverlayTriggerState;\r\n /**\r\n * Can optionally forward the ref to the popover.\r\n */\r\n popoverRef?: React.RefObject<HTMLDivElement>;\r\n /**\r\n * Whether to show an arrow on the popover.\r\n */\r\n arrow?: boolean;\r\n}\r\n\r\n/**\r\n * Popover is an unstyled popover component that handles positioning. It should be used\r\n * with the Dialog component to provide a styled popover.\r\n *\r\n * A popover displays interactive content in context with a trigger element.\r\n * A tooltip displays a description of an element on hover or focus.\r\n *\r\n * @interface PopoverProps\r\n */\r\nexport function Popover({\r\n children,\r\n state,\r\n arrow = true,\r\n offset,\r\n ...props\r\n}: PopoverProps) {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const { popoverRef = ref } = props;\r\n const { className, style } = useTheme();\r\n\r\n let { popoverProps, underlayProps, arrowProps, placement } = usePopover(\r\n {\r\n ...props,\r\n offset,\r\n popoverRef,\r\n },\r\n state\r\n );\r\n\r\n return (\r\n <Overlay>\r\n <div {...underlayProps} style={{ position: \"fixed\", inset: 0 }} />\r\n <div\r\n {...popoverProps}\r\n ref={popoverRef}\r\n className={csx(\"proton-Popover\", className)}\r\n style={{ ...style, ...popoverProps.style }}\r\n data-testid={props[\"data-testid\"] || undefined}\r\n >\r\n <DismissButton onDismiss={state.close} />\r\n {arrow && (\r\n <svg\r\n {...arrowProps}\r\n className=\"arrow\"\r\n data-placement={placement}\r\n viewBox=\"0 0 12 12\"\r\n >\r\n <title>arrow</title>\r\n <path d=\"M0 0 L6 6 L12 0\" />\r\n </svg>\r\n )}\r\n {children}\r\n </div>\r\n </Overlay>\r\n );\r\n}\r\n\r\nexport default Popover;\r\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $23b9f4fcf0fe224b$export$d68d59712b04d9d1 {\n get childNodes() {\n throw new Error('childNodes is not supported');\n }\n clone() {\n let node = new $23b9f4fcf0fe224b$export$d68d59712b04d9d1(this.type, this.key);\n node.value = this.value;\n node.level = this.level;\n node.hasChildNodes = this.hasChildNodes;\n node.rendered = this.rendered;\n node.textValue = this.textValue;\n node['aria-label'] = this['aria-label'];\n node.index = this.index;\n node.parentKey = this.parentKey;\n node.prevKey = this.prevKey;\n node.nextKey = this.nextKey;\n node.firstChildKey = this.firstChildKey;\n node.lastChildKey = this.lastChildKey;\n node.props = this.props;\n node.render = this.render;\n return node;\n }\n constructor(type, key){\n this.value = null;\n this.level = 0;\n this.hasChildNodes = false;\n this.rendered = null;\n this.textValue = '';\n this['aria-label'] = undefined;\n this.index = 0;\n this.parentKey = null;\n this.prevKey = null;\n this.nextKey = null;\n this.firstChildKey = null;\n this.lastChildKey = null;\n this.props = {};\n this.type = type;\n this.key = key;\n }\n}\nclass $23b9f4fcf0fe224b$export$408d25a4e12db025 {\n get size() {\n return this.keyMap.size;\n }\n getKeys() {\n return this.keyMap.keys();\n }\n *[Symbol.iterator]() {\n let node = this.firstKey != null ? this.keyMap.get(this.firstKey) : undefined;\n while(node){\n yield node;\n node = node.nextKey != null ? this.keyMap.get(node.nextKey) : undefined;\n }\n }\n getChildren(key) {\n let keyMap = this.keyMap;\n return {\n *[Symbol.iterator] () {\n let parent = keyMap.get(key);\n let node = (parent === null || parent === void 0 ? void 0 : parent.firstChildKey) != null ? keyMap.get(parent.firstChildKey) : null;\n while(node){\n yield node;\n node = node.nextKey != null ? keyMap.get(node.nextKey) : undefined;\n }\n }\n };\n }\n getKeyBefore(key) {\n let node = this.keyMap.get(key);\n if (!node) return null;\n if (node.prevKey != null) {\n node = this.keyMap.get(node.prevKey);\n while(node && node.type !== 'item' && node.lastChildKey != null)node = this.keyMap.get(node.lastChildKey);\n var _node_key;\n return (_node_key = node === null || node === void 0 ? void 0 : node.key) !== null && _node_key !== void 0 ? _node_key : null;\n }\n return node.parentKey;\n }\n getKeyAfter(key) {\n let node = this.keyMap.get(key);\n if (!node) return null;\n if (node.type !== 'item' && node.firstChildKey != null) return node.firstChildKey;\n while(node){\n if (node.nextKey != null) return node.nextKey;\n if (node.parentKey != null) node = this.keyMap.get(node.parentKey);\n else return null;\n }\n return null;\n }\n getFirstKey() {\n return this.firstKey;\n }\n getLastKey() {\n let node = this.lastKey != null ? this.keyMap.get(this.lastKey) : null;\n while((node === null || node === void 0 ? void 0 : node.lastChildKey) != null)node = this.keyMap.get(node.lastChildKey);\n var _node_key;\n return (_node_key = node === null || node === void 0 ? void 0 : node.key) !== null && _node_key !== void 0 ? _node_key : null;\n }\n getItem(key) {\n var _this_keyMap_get;\n return (_this_keyMap_get = this.keyMap.get(key)) !== null && _this_keyMap_get !== void 0 ? _this_keyMap_get : null;\n }\n at() {\n throw new Error('Not implemented');\n }\n clone() {\n // We need to clone using this.constructor so that subclasses have the right prototype.\n // TypeScript isn't happy about this yet.\n // https://github.com/microsoft/TypeScript/issues/3841\n let Constructor = this.constructor;\n let collection = new Constructor();\n collection.keyMap = new Map(this.keyMap);\n collection.firstKey = this.firstKey;\n collection.lastKey = this.lastKey;\n return collection;\n }\n addNode(node) {\n if (this.frozen) throw new Error('Cannot add a node to a frozen collection');\n this.keyMap.set(node.key, node);\n }\n removeNode(key) {\n if (this.frozen) throw new Error('Cannot remove a node to a frozen collection');\n this.keyMap.delete(key);\n }\n commit(firstKey, lastKey, isSSR = false) {\n if (this.frozen) throw new Error('Cannot commit a frozen collection');\n this.firstKey = firstKey;\n this.lastKey = lastKey;\n this.frozen = !isSSR;\n }\n constructor(){\n this.keyMap = new Map();\n this.firstKey = null;\n this.lastKey = null;\n this.frozen = false;\n }\n}\n\n\nexport {$23b9f4fcf0fe224b$export$d68d59712b04d9d1 as CollectionNode, $23b9f4fcf0fe224b$export$408d25a4e12db025 as BaseCollection};\n//# sourceMappingURL=BaseCollection.module.js.map\n","import {CollectionNode as $23b9f4fcf0fe224b$export$d68d59712b04d9d1} from \"./BaseCollection.mjs\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nclass $681cc3c98f569e39$export$410b0c854570d131 {\n *[Symbol.iterator]() {\n let node = this.firstChild;\n while(node){\n yield node;\n node = node.nextSibling;\n }\n }\n get firstChild() {\n return this._firstChild;\n }\n set firstChild(firstChild) {\n this._firstChild = firstChild;\n this.ownerDocument.markDirty(this);\n }\n get lastChild() {\n return this._lastChild;\n }\n set lastChild(lastChild) {\n this._lastChild = lastChild;\n this.ownerDocument.markDirty(this);\n }\n get previousSibling() {\n return this._previousSibling;\n }\n set previousSibling(previousSibling) {\n this._previousSibling = previousSibling;\n this.ownerDocument.markDirty(this);\n }\n get nextSibling() {\n return this._nextSibling;\n }\n set nextSibling(nextSibling) {\n this._nextSibling = nextSibling;\n this.ownerDocument.markDirty(this);\n }\n get parentNode() {\n return this._parentNode;\n }\n set parentNode(parentNode) {\n this._parentNode = parentNode;\n this.ownerDocument.markDirty(this);\n }\n get isConnected() {\n var _this_parentNode;\n return ((_this_parentNode = this.parentNode) === null || _this_parentNode === void 0 ? void 0 : _this_parentNode.isConnected) || false;\n }\n appendChild(child) {\n this.ownerDocument.startTransaction();\n if (child.parentNode) child.parentNode.removeChild(child);\n if (this.firstChild == null) this.firstChild = child;\n if (this.lastChild) {\n this.lastChild.nextSibling = child;\n child.index = this.lastChild.index + 1;\n child.previousSibling = this.lastChild;\n } else {\n child.previousSibling = null;\n child.index = 0;\n }\n child.parentNode = this;\n child.nextSibling = null;\n this.lastChild = child;\n this.ownerDocument.markDirty(this);\n if (child.hasSetProps) // Only add the node to the collection if we already received props for it.\n // Otherwise wait until then so we have the correct id for the node.\n this.ownerDocument.addNode(child);\n this.ownerDocument.endTransaction();\n this.ownerDocument.queueUpdate();\n }\n insertBefore(newNode, referenceNode) {\n if (referenceNode == null) return this.appendChild(newNode);\n this.ownerDocument.startTransaction();\n if (newNode.parentNode) newNode.parentNode.removeChild(newNode);\n newNode.nextSibling = referenceNode;\n newNode.previousSibling = referenceNode.previousSibling;\n newNode.index = referenceNode.index;\n if (this.firstChild === referenceNode) this.firstChild = newNode;\n else if (referenceNode.previousSibling) referenceNode.previousSibling.nextSibling = newNode;\n referenceNode.previousSibling = newNode;\n newNode.parentNode = referenceNode.parentNode;\n let node = referenceNode;\n while(node){\n node.index++;\n node = node.nextSibling;\n }\n if (newNode.hasSetProps) this.ownerDocument.addNode(newNode);\n this.ownerDocument.endTransaction();\n this.ownerDocument.queueUpdate();\n }\n removeChild(child) {\n if (child.parentNode !== this || !this.ownerDocument.isMounted) return;\n this.ownerDocument.startTransaction();\n let node = child.nextSibling;\n while(node){\n node.index--;\n node = node.nextSibling;\n }\n if (child.nextSibling) child.nextSibling.previousSibling = child.previousSibling;\n if (child.previousSibling) child.previousSibling.nextSibling = child.nextSibling;\n if (this.firstChild === child) this.firstChild = child.nextSibling;\n if (this.lastChild === child) this.lastChild = child.previousSibling;\n child.parentNode = null;\n child.nextSibling = null;\n child.previousSibling = null;\n child.index = 0;\n this.ownerDocument.removeNode(child);\n this.ownerDocument.endTransaction();\n this.ownerDocument.queueUpdate();\n }\n addEventListener() {}\n removeEventListener() {}\n constructor(ownerDocument){\n this._firstChild = null;\n this._lastChild = null;\n this._previousSibling = null;\n this._nextSibling = null;\n this._parentNode = null;\n this.ownerDocument = ownerDocument;\n }\n}\nclass $681cc3c98f569e39$export$dc064fe9e59310fd extends $681cc3c98f569e39$export$410b0c854570d131 {\n get index() {\n return this._index;\n }\n set index(index) {\n this._index = index;\n this.ownerDocument.markDirty(this);\n }\n get level() {\n if (this.parentNode instanceof $681cc3c98f569e39$export$dc064fe9e59310fd) return this.parentNode.level + (this.node.type === 'item' ? 1 : 0);\n return 0;\n }\n updateNode() {\n var _this_previousSibling, _this_nextSibling, _this_firstChild, _this_lastChild;\n let node = this.ownerDocument.getMutableNode(this);\n node.index = this.index;\n node.level = this.level;\n node.parentKey = this.parentNode instanceof $681cc3c98f569e39$export$dc064fe9e59310fd ? this.parentNode.node.key : null;\n var _this_previousSibling_node_key;\n node.prevKey = (_this_previousSibling_node_key = (_this_previousSibling = this.previousSibling) === null || _this_previousSibling === void 0 ? void 0 : _this_previousSibling.node.key) !== null && _this_previousSibling_node_key !== void 0 ? _this_previousSibling_node_key : null;\n var _this_nextSibling_node_key;\n node.nextKey = (_this_nextSibling_node_key = (_this_nextSibling = this.nextSibling) === null || _this_nextSibling === void 0 ? void 0 : _this_nextSibling.node.key) !== null && _this_nextSibling_node_key !== void 0 ? _this_nextSibling_node_key : null;\n node.hasChildNodes = !!this.firstChild;\n var _this_firstChild_node_key;\n node.firstChildKey = (_this_firstChild_node_key = (_this_firstChild = this.firstChild) === null || _this_firstChild === void 0 ? void 0 : _this_firstChild.node.key) !== null && _this_firstChild_node_key !== void 0 ? _this_firstChild_node_key : null;\n var _this_lastChild_node_key;\n node.lastChildKey = (_this_lastChild_node_key = (_this_lastChild = this.lastChild) === null || _this_lastChild === void 0 ? void 0 : _this_lastChild.node.key) !== null && _this_lastChild_node_key !== void 0 ? _this_lastChild_node_key : null;\n }\n setProps(obj, ref, rendered, render) {\n let node = this.ownerDocument.getMutableNode(this);\n let { value: value, textValue: textValue, id: id, ...props } = obj;\n props.ref = ref;\n node.props = props;\n node.rendered = rendered;\n node.render = render;\n node.value = value;\n node.textValue = textValue || (typeof props.children === 'string' ? props.children : '') || obj['aria-label'] || '';\n if (id != null && id !== node.key) {\n if (this.hasSetProps) throw new Error('Cannot change the id of an item');\n node.key = id;\n }\n // If this is the first time props have been set, end the transaction started in the constructor\n // so this node can be emitted.\n if (!this.hasSetProps) {\n this.ownerDocument.addNode(this);\n this.ownerDocument.endTransaction();\n this.hasSetProps = true;\n }\n this.ownerDocument.queueUpdate();\n }\n get style() {\n return {};\n }\n hasAttribute() {}\n setAttribute() {}\n setAttributeNS() {}\n removeAttribute() {}\n constructor(type, ownerDocument){\n super(ownerDocument);\n this.nodeType = 8 // COMMENT_NODE (we'd use ELEMENT_NODE but React DevTools will fail to get its dimensions)\n ;\n this._index = 0;\n this.hasSetProps = false;\n this.node = new (0, $23b9f4fcf0fe224b$export$d68d59712b04d9d1)(type, `react-aria-${++ownerDocument.nodeId}`);\n // Start a transaction so that no updates are emitted from the collection\n // until the props for this node are set. We don't know the real id for the\n // node until then, so we need to avoid emitting collections in an inconsistent state.\n this.ownerDocument.startTransaction();\n }\n}\nclass $681cc3c98f569e39$export$b34a105447964f9f extends $681cc3c98f569e39$export$410b0c854570d131 {\n get isConnected() {\n return this.isMounted;\n }\n createElement(type) {\n return new $681cc3c98f569e39$export$dc064fe9e59310fd(type, this);\n }\n /**\n * Lazily gets a mutable instance of a Node. If the node has already\n * been cloned during this update cycle, it just returns the existing one.\n */ getMutableNode(element) {\n let node = element.node;\n if (!this.mutatedNodes.has(element)) {\n node = element.node.clone();\n this.mutatedNodes.add(element);\n element.node = node;\n }\n this.markDirty(element);\n return node;\n }\n getMutableCollection() {\n if (!this.isSSR && !this.collectionMutated) {\n this.collection = this.collection.clone();\n this.collectionMutated = true;\n }\n return this.collection;\n }\n markDirty(node) {\n this.dirtyNodes.add(node);\n }\n startTransaction() {\n this.transactionCount++;\n }\n endTransaction() {\n this.transactionCount--;\n }\n addNode(element) {\n let collection = this.getMutableCollection();\n if (!collection.getItem(element.node.key)) {\n collection.addNode(element.node);\n for (let child of element)this.addNode(child);\n }\n this.markDirty(element);\n }\n removeNode(node) {\n for (let child of node)this.removeNode(child);\n let collection = this.getMutableCollection();\n collection.removeNode(node.node.key);\n this.markDirty(node);\n }\n /** Finalizes the collection update, updating all nodes and freezing the collection. */ getCollection() {\n if (this.transactionCount > 0) return this.collection;\n this.updateCollection();\n return this.collection;\n }\n updateCollection() {\n for (let element of this.dirtyNodes)if (element instanceof $681cc3c98f569e39$export$dc064fe9e59310fd && element.isConnected) element.updateNode();\n this.dirtyNodes.clear();\n if (this.mutatedNodes.size || this.collectionMutated) {\n var _this_firstChild, _this_lastChild;\n let collection = this.getMutableCollection();\n for (let element of this.mutatedNodes)if (element.isConnected) collection.addNode(element.node);\n var _this_firstChild_node_key, _this_lastChild_node_key;\n collection.commit((_this_firstChild_node_key = (_this_firstChild = this.firstChild) === null || _this_firstChild === void 0 ? void 0 : _this_firstChild.node.key) !== null && _this_firstChild_node_key !== void 0 ? _this_firstChild_node_key : null, (_this_lastChild_node_key = (_this_lastChild = this.lastChild) === null || _this_lastChild === void 0 ? void 0 : _this_lastChild.node.key) !== null && _this_lastChild_node_key !== void 0 ? _this_lastChild_node_key : null, this.isSSR);\n this.mutatedNodes.clear();\n }\n this.collectionMutated = false;\n }\n queueUpdate() {\n // Don't emit any updates if there is a transaction in progress.\n // queueUpdate should be called again after the transaction.\n if (this.dirtyNodes.size === 0 || this.transactionCount > 0) return;\n for (let fn of this.subscriptions)fn();\n }\n subscribe(fn) {\n this.subscriptions.add(fn);\n return ()=>this.subscriptions.delete(fn);\n }\n resetAfterSSR() {\n if (this.isSSR) {\n this.isSSR = false;\n this.firstChild = null;\n this.lastChild = null;\n this.nodeId = 0;\n }\n }\n constructor(collection){\n // @ts-ignore\n super(null);\n this.nodeType = 11 // DOCUMENT_FRAGMENT_NODE\n ;\n this.ownerDocument = this;\n this.dirtyNodes = new Set();\n this.isSSR = false;\n this.nodeId = 0;\n this.nodesByProps = new WeakMap();\n this.isMounted = true;\n this.mutatedNodes = new Set();\n this.subscriptions = new Set();\n this.transactionCount = 0;\n this.collection = collection;\n this.collectionMutated = true;\n }\n}\n\n\nexport {$681cc3c98f569e39$export$410b0c854570d131 as BaseNode, $681cc3c98f569e39$export$dc064fe9e59310fd as ElementNode, $681cc3c98f569e39$export$b34a105447964f9f as Document};\n//# sourceMappingURL=Document.module.js.map\n","import {useMemo as $luMFQ$useMemo, cloneElement as $luMFQ$cloneElement} from \"react\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $e948873055cbafe4$export$727c8fc270210f13(props) {\n let { children: children, items: items, idScope: idScope, addIdAndValue: addIdAndValue, dependencies: dependencies = [] } = props;\n // Invalidate the cache whenever the parent value changes.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n let cache = (0, $luMFQ$useMemo)(()=>new WeakMap(), dependencies);\n return (0, $luMFQ$useMemo)(()=>{\n if (items && typeof children === 'function') {\n let res = [];\n for (let item of items){\n let rendered = cache.get(item);\n if (!rendered) {\n rendered = children(item);\n var _rendered_props_id, _ref;\n // @ts-ignore\n let key = (_ref = (_rendered_props_id = rendered.props.id) !== null && _rendered_props_id !== void 0 ? _rendered_props_id : item.key) !== null && _ref !== void 0 ? _ref : item.id;\n // eslint-disable-next-line max-depth\n if (key == null) throw new Error('Could not determine key for item');\n // eslint-disable-next-line max-depth\n if (idScope) key = idScope + ':' + key;\n // Note: only works if wrapped Item passes through id...\n rendered = (0, $luMFQ$cloneElement)(rendered, addIdAndValue ? {\n key: key,\n id: key,\n value: item\n } : {\n key: key\n });\n cache.set(item, rendered);\n }\n res.push(rendered);\n }\n return res;\n } else if (typeof children !== 'function') return children;\n }, [\n children,\n items,\n cache,\n idScope,\n addIdAndValue\n ]);\n}\n\n\nexport {$e948873055cbafe4$export$727c8fc270210f13 as useCachedChildren};\n//# sourceMappingURL=useCachedChildren.module.js.map\n","import $670gB$react, {useContext as $670gB$useContext, useState as $670gB$useState, useMemo as $670gB$useMemo, useLayoutEffect as $670gB$useLayoutEffect, useRef as $670gB$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is\n// guarded by a check that it only runs on the client side.\n// eslint-disable-next-line rulesdir/useLayoutEffectRule\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst $b5e257d569688ac6$var$defaultContext = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\nconst $b5e257d569688ac6$var$SSRContext = /*#__PURE__*/ (0, $670gB$react).createContext($b5e257d569688ac6$var$defaultContext);\nconst $b5e257d569688ac6$var$IsSSRContext = /*#__PURE__*/ (0, $670gB$react).createContext(false);\n// This is only used in React < 18.\nfunction $b5e257d569688ac6$var$LegacySSRProvider(props) {\n let cur = (0, $670gB$useContext)($b5e257d569688ac6$var$SSRContext);\n let counter = $b5e257d569688ac6$var$useCounter(cur === $b5e257d569688ac6$var$defaultContext);\n let [isSSR, setIsSSR] = (0, $670gB$useState)(true);\n let value = (0, $670gB$useMemo)(()=>({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === $b5e257d569688ac6$var$defaultContext ? '' : `${cur.prefix}-${counter}`,\n current: 0\n }), [\n cur,\n counter\n ]);\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof document !== 'undefined') // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, $670gB$useLayoutEffect)(()=>{\n setIsSSR(false);\n }, []);\n return /*#__PURE__*/ (0, $670gB$react).createElement($b5e257d569688ac6$var$SSRContext.Provider, {\n value: value\n }, /*#__PURE__*/ (0, $670gB$react).createElement($b5e257d569688ac6$var$IsSSRContext.Provider, {\n value: isSSR\n }, props.children));\n}\nlet $b5e257d569688ac6$var$warnedAboutSSRProvider = false;\nfunction $b5e257d569688ac6$export$9f8ac96af4b1b2ae(props) {\n if (typeof (0, $670gB$react)['useId'] === 'function') {\n if (process.env.NODE_ENV !== 'test' && !$b5e257d569688ac6$var$warnedAboutSSRProvider) {\n console.warn('In React 18, SSRProvider is not necessary and is a noop. You can remove it from your app.');\n $b5e257d569688ac6$var$warnedAboutSSRProvider = true;\n }\n return /*#__PURE__*/ (0, $670gB$react).createElement((0, $670gB$react).Fragment, null, props.children);\n }\n return /*#__PURE__*/ (0, $670gB$react).createElement($b5e257d569688ac6$var$LegacySSRProvider, props);\n}\nlet $b5e257d569688ac6$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nlet $b5e257d569688ac6$var$componentIds = new WeakMap();\nfunction $b5e257d569688ac6$var$useCounter(isDisabled = false) {\n let ctx = (0, $670gB$useContext)($b5e257d569688ac6$var$SSRContext);\n let ref = (0, $670gB$useRef)(null);\n // eslint-disable-next-line rulesdir/pure-render\n if (ref.current === null && !isDisabled) {\n var _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner, _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n // In strict mode, React renders components twice, and the ref will be reset to null on the second render.\n // This means our id counter will be incremented twice instead of once. This is a problem because on the\n // server, components are only rendered once and so ids generated on the server won't match the client.\n // In React 18, useId was introduced to solve this, but it is not available in older versions. So to solve this\n // we need to use some React internals to access the underlying Fiber instance, which is stable between renders.\n // This is exposed as ReactCurrentOwner in development, which is all we need since StrictMode only runs in development.\n // To ensure that we only increment the global counter once, we store the starting id for this component in\n // a weak map associated with the Fiber. On the second render, we reset the global counter to this value.\n // Since React runs the second render immediately after the first, this is safe.\n // @ts-ignore\n let currentOwner = (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = (0, $670gB$react).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED === void 0 ? void 0 : (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner = _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner === void 0 ? void 0 : _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner.current;\n if (currentOwner) {\n let prevComponentValue = $b5e257d569688ac6$var$componentIds.get(currentOwner);\n if (prevComponentValue == null) // On the first render, and first call to useId, store the id and state in our weak map.\n $b5e257d569688ac6$var$componentIds.set(currentOwner, {\n id: ctx.current,\n state: currentOwner.memoizedState\n });\n else if (currentOwner.memoizedState !== prevComponentValue.state) {\n // On the second render, the memoizedState gets reset by React.\n // Reset the counter, and remove from the weak map so we don't\n // do this for subsequent useId calls.\n ctx.current = prevComponentValue.id;\n $b5e257d569688ac6$var$componentIds.delete(currentOwner);\n }\n }\n // eslint-disable-next-line rulesdir/pure-render\n ref.current = ++ctx.current;\n }\n // eslint-disable-next-line rulesdir/pure-render\n return ref.current;\n}\nfunction $b5e257d569688ac6$var$useLegacySSRSafeId(defaultId) {\n let ctx = (0, $670gB$useContext)($b5e257d569688ac6$var$SSRContext);\n // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n if (ctx === $b5e257d569688ac6$var$defaultContext && !$b5e257d569688ac6$var$canUseDOM) console.warn('When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.');\n let counter = $b5e257d569688ac6$var$useCounter(!!defaultId);\n let prefix = ctx === $b5e257d569688ac6$var$defaultContext && process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${ctx.prefix}`;\n return defaultId || `${prefix}-${counter}`;\n}\nfunction $b5e257d569688ac6$var$useModernSSRSafeId(defaultId) {\n // @ts-ignore\n let id = (0, $670gB$react).useId();\n let [didSSR] = (0, $670gB$useState)($b5e257d569688ac6$export$535bd6ca7f90a273());\n let prefix = didSSR || process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${$b5e257d569688ac6$var$defaultContext.prefix}`;\n return defaultId || `${prefix}-${id}`;\n}\nconst $b5e257d569688ac6$export$619500959fc48b26 = typeof (0, $670gB$react)['useId'] === 'function' ? $b5e257d569688ac6$var$useModernSSRSafeId : $b5e257d569688ac6$var$useLegacySSRSafeId;\nfunction $b5e257d569688ac6$var$getSnapshot() {\n return false;\n}\nfunction $b5e257d569688ac6$var$getServerSnapshot() {\n return true;\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction $b5e257d569688ac6$var$subscribe(onStoreChange) {\n // noop\n return ()=>{};\n}\nfunction $b5e257d569688ac6$export$535bd6ca7f90a273() {\n // In React 18, we can use useSyncExternalStore to detect if we're server rendering or hydrating.\n if (typeof (0, $670gB$react)['useSyncExternalStore'] === 'function') return (0, $670gB$react)['useSyncExternalStore']($b5e257d569688ac6$var$subscribe, $b5e257d569688ac6$var$getSnapshot, $b5e257d569688ac6$var$getServerSnapshot);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (0, $670gB$useContext)($b5e257d569688ac6$var$IsSSRContext);\n}\n\n\nexport {$b5e257d569688ac6$export$9f8ac96af4b1b2ae as SSRProvider, $b5e257d569688ac6$export$535bd6ca7f90a273 as useIsSSR, $b5e257d569688ac6$export$619500959fc48b26 as useSSRSafeId};\n//# sourceMappingURL=SSRProvider.module.js.map\n","import {createPortal as $8SdCi$createPortal} from \"react-dom\";\nimport $8SdCi$react, {createContext as $8SdCi$createContext, useContext as $8SdCi$useContext, forwardRef as $8SdCi$forwardRef} from \"react\";\nimport {useIsSSR as $8SdCi$useIsSSR} from \"@react-aria/ssr\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n// React doesn't understand the <template> element, which doesn't have children like a normal element.\n// It will throw an error during hydration when it expects the firstChild to contain content rendered\n// on the server, when in reality, the browser will have placed this inside the `content` document fragment.\n// This monkey patches the firstChild property for our special hidden template elements to work around this error.\n// See https://github.com/facebook/react/issues/19932\nif (typeof HTMLTemplateElement !== 'undefined') {\n const getFirstChild = Object.getOwnPropertyDescriptor(Node.prototype, 'firstChild').get;\n Object.defineProperty(HTMLTemplateElement.prototype, 'firstChild', {\n configurable: true,\n enumerable: true,\n get: function() {\n if (this.dataset.reactAriaHidden) return this.content.firstChild;\n else return getFirstChild.call(this);\n }\n });\n}\nconst $f39a9eba43920ace$export$94b6d0abf7d33e8c = /*#__PURE__*/ (0, $8SdCi$createContext)(false);\n// Portal to nowhere\nconst $f39a9eba43920ace$var$hiddenFragment = typeof DocumentFragment !== 'undefined' ? new DocumentFragment() : null;\nfunction $f39a9eba43920ace$export$8dc98ba7eadeaa56(props) {\n let isHidden = (0, $8SdCi$useContext)($f39a9eba43920ace$export$94b6d0abf7d33e8c);\n let isSSR = (0, $8SdCi$useIsSSR)();\n if (isHidden) // Don't hide again if we are already hidden.\n return /*#__PURE__*/ (0, $8SdCi$react).createElement((0, $8SdCi$react).Fragment, null, props.children);\n let children = /*#__PURE__*/ (0, $8SdCi$react).createElement($f39a9eba43920ace$export$94b6d0abf7d33e8c.Provider, {\n value: true\n }, props.children);\n // In SSR, portals are not supported by React. Instead, render into a <template>\n // element, which the browser will never display to the user. In addition, the\n // content is not part of the DOM tree, so it won't affect ids or other accessibility attributes.\n return isSSR ? /*#__PURE__*/ (0, $8SdCi$react).createElement(\"template\", {\n \"data-react-aria-hidden\": true\n }, children) : /*#__PURE__*/ (0, $8SdCi$createPortal)(children, $f39a9eba43920ace$var$hiddenFragment);\n}\nfunction $f39a9eba43920ace$export$86427a43e3e48ebb(fn) {\n let Wrapper = (props, ref)=>{\n let isHidden = (0, $8SdCi$useContext)($f39a9eba43920ace$export$94b6d0abf7d33e8c);\n if (isHidden) return null;\n return fn(props, ref);\n };\n // @ts-ignore - for react dev tools\n Wrapper.displayName = fn.displayName || fn.name;\n return (0, $8SdCi$forwardRef)(Wrapper);\n}\nfunction $f39a9eba43920ace$export$b5d7cc18bb8d2b59() {\n return (0, $8SdCi$useContext)($f39a9eba43920ace$export$94b6d0abf7d33e8c);\n}\n\n\nexport {$f39a9eba43920ace$export$94b6d0abf7d33e8c as HiddenContext, $f39a9eba43920ace$export$8dc98ba7eadeaa56 as Hidden, $f39a9eba43920ace$export$86427a43e3e48ebb as createHideableComponent, $f39a9eba43920ace$export$b5d7cc18bb8d2b59 as useIsHidden};\n//# sourceMappingURL=Hidden.module.js.map\n","import $HgANd$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (0, $HgANd$react).useLayoutEffect : ()=>{};\n\n\nexport {$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c as useLayoutEffect};\n//# sourceMappingURL=useLayoutEffect.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useRef as $lmaYr$useRef, useCallback as $lmaYr$useCallback} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {\n const ref = (0, $lmaYr$useRef)(null);\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n ref.current = fn;\n }, [\n fn\n ]);\n // @ts-ignore\n return (0, $lmaYr$useCallback)((...args)=>{\n const f = ref.current;\n return f === null || f === void 0 ? void 0 : f(...args);\n }, []);\n}\n\n\nexport {$8ae05eaa5c114e9c$export$7f54fc3180508a52 as useEffectEvent};\n//# sourceMappingURL=useEffectEvent.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useValueEffect as $1dbecbe27a04f9af$export$14d238f342723f25} from \"./useValueEffect.mjs\";\nimport {useState as $eKkEp$useState, useRef as $eKkEp$useRef, useCallback as $eKkEp$useCallback, useEffect as $eKkEp$useEffect} from \"react\";\nimport {useSSRSafeId as $eKkEp$useSSRSafeId} from \"@react-aria/ssr\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n// copied from SSRProvider.tsx to reduce exports, if needed again, consider sharing\nlet $bdb11010cef70236$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nlet $bdb11010cef70236$var$idsUpdaterMap = new Map();\nfunction $bdb11010cef70236$export$f680877a34711e37(defaultId) {\n let [value, setValue] = (0, $eKkEp$useState)(defaultId);\n let nextId = (0, $eKkEp$useRef)(null);\n let res = (0, $eKkEp$useSSRSafeId)(value);\n let updateValue = (0, $eKkEp$useCallback)((val)=>{\n nextId.current = val;\n }, []);\n if ($bdb11010cef70236$var$canUseDOM) {\n // TS not smart enough to know that `has` means the value exists\n if ($bdb11010cef70236$var$idsUpdaterMap.has(res) && !$bdb11010cef70236$var$idsUpdaterMap.get(res).includes(updateValue)) $bdb11010cef70236$var$idsUpdaterMap.set(res, [\n ...$bdb11010cef70236$var$idsUpdaterMap.get(res),\n updateValue\n ]);\n else $bdb11010cef70236$var$idsUpdaterMap.set(res, [\n updateValue\n ]);\n }\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n let r = res;\n return ()=>{\n $bdb11010cef70236$var$idsUpdaterMap.delete(r);\n };\n }, [\n res\n ]);\n // This cannot cause an infinite loop because the ref is updated first.\n // eslint-disable-next-line\n (0, $eKkEp$useEffect)(()=>{\n let newId = nextId.current;\n if (newId) {\n nextId.current = null;\n setValue(newId);\n }\n });\n return res;\n}\nfunction $bdb11010cef70236$export$cd8c9cb68f842629(idA, idB) {\n if (idA === idB) return idA;\n let setIdsA = $bdb11010cef70236$var$idsUpdaterMap.get(idA);\n if (setIdsA) {\n setIdsA.forEach((fn)=>fn(idB));\n return idB;\n }\n let setIdsB = $bdb11010cef70236$var$idsUpdaterMap.get(idB);\n if (setIdsB) {\n setIdsB.forEach((fn)=>fn(idA));\n return idA;\n }\n return idB;\n}\nfunction $bdb11010cef70236$export$b4cc09c592e8fdb8(depArray = []) {\n let id = $bdb11010cef70236$export$f680877a34711e37();\n let [resolvedId, setResolvedId] = (0, $1dbecbe27a04f9af$export$14d238f342723f25)(id);\n let updateId = (0, $eKkEp$useCallback)(()=>{\n setResolvedId(function*() {\n yield id;\n yield document.getElementById(id) ? id : undefined;\n });\n }, [\n id,\n setResolvedId\n ]);\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(updateId, [\n id,\n updateId,\n ...depArray\n ]);\n return resolvedId;\n}\n\n\nexport {$bdb11010cef70236$export$f680877a34711e37 as useId, $bdb11010cef70236$export$cd8c9cb68f842629 as mergeIds, $bdb11010cef70236$export$b4cc09c592e8fdb8 as useSlotId};\n//# sourceMappingURL=useId.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /**\n * Calls all functions in the order they were chained with the same arguments.\n */ function $ff5963eb1fccf552$export$e08e3b67e392101e(...callbacks) {\n return (...args)=>{\n for (let callback of callbacks)if (typeof callback === 'function') callback(...args);\n };\n}\n\n\nexport {$ff5963eb1fccf552$export$e08e3b67e392101e as chain};\n//# sourceMappingURL=chain.module.js.map\n","const $431fbd86ca7dc216$export$b204af158042fbac = (el)=>{\n var _el_ownerDocument;\n return (_el_ownerDocument = el === null || el === void 0 ? void 0 : el.ownerDocument) !== null && _el_ownerDocument !== void 0 ? _el_ownerDocument : document;\n};\nconst $431fbd86ca7dc216$export$f21a1ffae260145a = (el)=>{\n if (el && 'window' in el && el.window === el) return el;\n const doc = $431fbd86ca7dc216$export$b204af158042fbac(el);\n return doc.defaultView || window;\n};\n\n\nexport {$431fbd86ca7dc216$export$b204af158042fbac as getOwnerDocument, $431fbd86ca7dc216$export$f21a1ffae260145a as getOwnerWindow};\n//# sourceMappingURL=domHelpers.module.js.map\n","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}export 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}export default clsx;","import {chain as $ff5963eb1fccf552$export$e08e3b67e392101e} from \"./chain.mjs\";\nimport {mergeIds as $bdb11010cef70236$export$cd8c9cb68f842629} from \"./useId.mjs\";\nimport $7jXr9$clsx from \"clsx\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $3ef42575df84b30b$export$9d1611c77c2fe928(...args) {\n // Start with a base clone of the first argument. This is a lot faster than starting\n // with an empty object and adding properties as we go.\n let result = {\n ...args[0]\n };\n for(let i = 1; i < args.length; i++){\n let props = args[i];\n for(let key in props){\n let a = result[key];\n let b = props[key];\n // Chain events\n if (typeof a === 'function' && typeof b === 'function' && // This is a lot faster than a regex.\n key[0] === 'o' && key[1] === 'n' && key.charCodeAt(2) >= /* 'A' */ 65 && key.charCodeAt(2) <= /* 'Z' */ 90) result[key] = (0, $ff5963eb1fccf552$export$e08e3b67e392101e)(a, b);\n else if ((key === 'className' || key === 'UNSAFE_className') && typeof a === 'string' && typeof b === 'string') result[key] = (0, $7jXr9$clsx)(a, b);\n else if (key === 'id' && a && b) result.id = (0, $bdb11010cef70236$export$cd8c9cb68f842629)(a, b);\n else result[key] = b !== undefined ? b : a;\n }\n }\n return result;\n}\n\n\nexport {$3ef42575df84b30b$export$9d1611c77c2fe928 as mergeProps};\n//# sourceMappingURL=mergeProps.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $5dc95899b306f630$export$c9058316764c140e(...refs) {\n if (refs.length === 1 && refs[0]) return refs[0];\n return (value)=>{\n for (let ref of refs){\n if (typeof ref === 'function') ref(value);\n else if (ref != null) ref.current = value;\n }\n };\n}\n\n\nexport {$5dc95899b306f630$export$c9058316764c140e as mergeRefs};\n//# sourceMappingURL=mergeRefs.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $65484d02dcb7eb3e$var$DOMPropNames = new Set([\n 'id'\n]);\nconst $65484d02dcb7eb3e$var$labelablePropNames = new Set([\n 'aria-label',\n 'aria-labelledby',\n 'aria-describedby',\n 'aria-details'\n]);\n// See LinkDOMProps in dom.d.ts.\nconst $65484d02dcb7eb3e$var$linkPropNames = new Set([\n 'href',\n 'hrefLang',\n 'target',\n 'rel',\n 'download',\n 'ping',\n 'referrerPolicy'\n]);\nconst $65484d02dcb7eb3e$var$propRe = /^(data-.*)$/;\nfunction $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, opts = {}) {\n let { labelable: labelable, isLink: isLink, propNames: propNames } = opts;\n let filteredProps = {};\n for(const prop in props)if (Object.prototype.hasOwnProperty.call(props, prop) && ($65484d02dcb7eb3e$var$DOMPropNames.has(prop) || labelable && $65484d02dcb7eb3e$var$labelablePropNames.has(prop) || isLink && $65484d02dcb7eb3e$var$linkPropNames.has(prop) || (propNames === null || propNames === void 0 ? void 0 : propNames.has(prop)) || $65484d02dcb7eb3e$var$propRe.test(prop))) filteredProps[prop] = props[prop];\n return filteredProps;\n}\n\n\nexport {$65484d02dcb7eb3e$export$457c3d6518dd4c6f as filterDOMProps};\n//# sourceMappingURL=filterDOMProps.module.js.map\n","import {useRef as $gbmns$useRef, useMemo as $gbmns$useMemo} from \"react\";\n\n/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $df56164dff5785e2$export$4338b53315abf666(forwardedRef) {\n const objRef = (0, $gbmns$useRef)(null);\n return (0, $gbmns$useMemo)(()=>({\n get current () {\n return objRef.current;\n },\n set current (value){\n objRef.current = value;\n if (typeof forwardedRef === 'function') forwardedRef(value);\n else if (forwardedRef) forwardedRef.current = value;\n }\n }), [\n forwardedRef\n ]);\n}\n\n\nexport {$df56164dff5785e2$export$4338b53315abf666 as useObjectRef};\n//# sourceMappingURL=useObjectRef.module.js.map\n","import {useEffect as $Vsl8o$useEffect} from \"react\";\n\n\nfunction $9daab02d461809db$var$hasResizeObserver() {\n return typeof window.ResizeObserver !== 'undefined';\n}\nfunction $9daab02d461809db$export$683480f191c0e3ea(options) {\n const { ref: ref, box: box, onResize: onResize } = options;\n (0, $Vsl8o$useEffect)(()=>{\n let element = ref === null || ref === void 0 ? void 0 : ref.current;\n if (!element) return;\n if (!$9daab02d461809db$var$hasResizeObserver()) {\n window.addEventListener('resize', onResize, false);\n return ()=>{\n window.removeEventListener('resize', onResize, false);\n };\n } else {\n const resizeObserverInstance = new window.ResizeObserver((entries)=>{\n if (!entries.length) return;\n onResize();\n });\n resizeObserverInstance.observe(element, {\n box: box\n });\n return ()=>{\n if (element) resizeObserverInstance.unobserve(element);\n };\n }\n }, [\n onResize,\n ref,\n box\n ]);\n}\n\n\nexport {$9daab02d461809db$export$683480f191c0e3ea as useResizeObserver};\n//# sourceMappingURL=useResizeObserver.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $e7801be82b4b2a53$export$4debdb1a3f0fa79e(context, ref) {\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n if (context && context.ref && ref) {\n context.ref.current = ref.current;\n return ()=>{\n if (context.ref) context.ref.current = null;\n };\n }\n });\n}\n\n\nexport {$e7801be82b4b2a53$export$4debdb1a3f0fa79e as useSyncRef};\n//# sourceMappingURL=useSyncRef.module.js.map\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = require('react');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n// dispatch for CommonJS interop named imports.\n\nvar useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nvar didWarnOld18Alpha = false;\nvar didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore(subscribe, getSnapshot, // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n {\n if (!didWarnOld18Alpha) {\n if (React.startTransition !== undefined) {\n didWarnOld18Alpha = true;\n\n 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.');\n }\n }\n } // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n\n\n var value = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n\n if (!objectIs(value, cachedValue)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n\n\n var _useState = useState({\n inst: {\n value: value,\n getSnapshot: getSnapshot\n }\n }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1]; // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n\n\n useLayoutEffect(function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }, [subscribe, value, getSnapshot]);\n useEffect(function () {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n\n var handleStoreChange = function () {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n }, [subscribe]);\n useDebugValue(value);\n return value;\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n return getSnapshot();\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar isServerEnvironment = !canUseDOM;\n\nvar shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore;\nvar useSyncExternalStore$2 = React.useSyncExternalStore !== undefined ? React.useSyncExternalStore : shim;\n\nexports.useSyncExternalStore = useSyncExternalStore$2;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import {BaseCollection as $23b9f4fcf0fe224b$export$408d25a4e12db025} from \"./BaseCollection.mjs\";\nimport {Document as $681cc3c98f569e39$export$b34a105447964f9f} from \"./Document.mjs\";\nimport {useCachedChildren as $e948873055cbafe4$export$727c8fc270210f13} from \"./useCachedChildren.mjs\";\nimport {Hidden as $f39a9eba43920ace$export$8dc98ba7eadeaa56} from \"./Hidden.mjs\";\nimport {createPortal as $95feo$createPortal} from \"react-dom\";\nimport $95feo$react, {createContext as $95feo$createContext, useContext as $95feo$useContext, useRef as $95feo$useRef, useCallback as $95feo$useCallback, useState as $95feo$useState, forwardRef as $95feo$forwardRef, useMemo as $95feo$useMemo} from \"react\";\nimport {useIsSSR as $95feo$useIsSSR} from \"@react-aria/ssr\";\nimport {useLayoutEffect as $95feo$useLayoutEffect} from \"@react-aria/utils\";\nimport {useSyncExternalStore as $95feo$useSyncExternalStore} from \"use-sync-external-store/shim/index.js\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\nconst $e1995378a142960e$var$ShallowRenderContext = /*#__PURE__*/ (0, $95feo$createContext)(false);\nconst $e1995378a142960e$var$CollectionDocumentContext = /*#__PURE__*/ (0, $95feo$createContext)(null);\nfunction $e1995378a142960e$export$bf788dd355e3a401(props) {\n // If a document was provided above us, we're already in a hidden tree. Just render the content.\n let doc = (0, $95feo$useContext)($e1995378a142960e$var$CollectionDocumentContext);\n if (doc) // The React types prior to 18 did not allow returning ReactNode from components\n // even though the actual implementation since React 16 did.\n // We must return ReactElement so that TS does not complain that <CollectionBuilder>\n // is not a valid JSX element with React 16 and 17 types.\n // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/20544\n return props.content;\n // Otherwise, render a hidden copy of the children so that we can build the collection before constructing the state.\n // This should always come before the real DOM content so we have built the collection by the time it renders during SSR.\n // This is fine. CollectionDocumentContext never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n let { collection: collection, document: document } = $e1995378a142960e$var$useCollectionDocument(props.createCollection);\n return /*#__PURE__*/ (0, $95feo$react).createElement((0, $95feo$react).Fragment, null, /*#__PURE__*/ (0, $95feo$react).createElement((0, $f39a9eba43920ace$export$8dc98ba7eadeaa56), null, /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionDocumentContext.Provider, {\n value: document\n }, props.content)), /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionInner, {\n render: props.children,\n collection: collection\n }));\n}\nfunction $e1995378a142960e$var$CollectionInner({ collection: collection, render: render }) {\n return render(collection);\n}\n// React 16 and 17 don't support useSyncExternalStore natively, and the shim provided by React does not support getServerSnapshot.\n// This wrapper uses the shim, but additionally calls getServerSnapshot during SSR (according to SSRProvider).\nfunction $e1995378a142960e$var$useSyncExternalStoreFallback(subscribe, getSnapshot, getServerSnapshot) {\n let isSSR = (0, $95feo$useIsSSR)();\n let isSSRRef = (0, $95feo$useRef)(isSSR);\n // This is read immediately inside the wrapper, which also runs during render.\n // We just need a ref to avoid invalidating the callback itself, which\n // would cause React to re-run the callback more than necessary.\n // eslint-disable-next-line rulesdir/pure-render\n isSSRRef.current = isSSR;\n let getSnapshotWrapper = (0, $95feo$useCallback)(()=>{\n return isSSRRef.current ? getServerSnapshot() : getSnapshot();\n }, [\n getSnapshot,\n getServerSnapshot\n ]);\n return (0, $95feo$useSyncExternalStore)(subscribe, getSnapshotWrapper);\n}\nconst $e1995378a142960e$var$useSyncExternalStore = typeof (0, $95feo$react)['useSyncExternalStore'] === 'function' ? (0, $95feo$react)['useSyncExternalStore'] : $e1995378a142960e$var$useSyncExternalStoreFallback;\nfunction $e1995378a142960e$var$useCollectionDocument(createCollection) {\n // The document instance is mutable, and should never change between renders.\n // useSyncExternalStore is used to subscribe to updates, which vends immutable Collection objects.\n let [document] = (0, $95feo$useState)(()=>new (0, $681cc3c98f569e39$export$b34a105447964f9f)((createCollection === null || createCollection === void 0 ? void 0 : createCollection()) || new (0, $23b9f4fcf0fe224b$export$408d25a4e12db025)()));\n let subscribe = (0, $95feo$useCallback)((fn)=>document.subscribe(fn), [\n document\n ]);\n let getSnapshot = (0, $95feo$useCallback)(()=>{\n let collection = document.getCollection();\n if (document.isSSR) // After SSR is complete, reset the document to empty so it is ready for React to render the portal into.\n // We do this _after_ getting the collection above so that the collection still has content in it from SSR\n // during the current render, before React has finished the client render.\n document.resetAfterSSR();\n return collection;\n }, [\n document\n ]);\n let getServerSnapshot = (0, $95feo$useCallback)(()=>{\n document.isSSR = true;\n return document.getCollection();\n }, [\n document\n ]);\n let collection = $e1995378a142960e$var$useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n (0, $95feo$useLayoutEffect)(()=>{\n document.isMounted = true;\n return ()=>{\n // Mark unmounted so we can skip all of the collection updates caused by \n // React calling removeChild on every item in the collection.\n document.isMounted = false;\n };\n }, [\n document\n ]);\n return {\n collection: collection,\n document: document\n };\n}\nconst $e1995378a142960e$var$SSRContext = /*#__PURE__*/ (0, $95feo$createContext)(null);\nfunction $e1995378a142960e$var$useSSRCollectionNode(Type, props, ref, rendered, children, render) {\n // During SSR, portals are not supported, so the collection children will be wrapped in an SSRContext.\n // Since SSR occurs only once, we assume that the elements are rendered in order and never re-render.\n // Therefore we can create elements in our collection document during render so that they are in the\n // collection by the time we need to use the collection to render to the real DOM.\n // After hydration, we switch to client rendering using the portal.\n let itemRef = (0, $95feo$useCallback)((element)=>{\n element === null || element === void 0 ? void 0 : element.setProps(props, ref, rendered, render);\n }, [\n props,\n ref,\n rendered,\n render\n ]);\n let parentNode = (0, $95feo$useContext)($e1995378a142960e$var$SSRContext);\n if (parentNode) {\n // Guard against double rendering in strict mode.\n let element = parentNode.ownerDocument.nodesByProps.get(props);\n if (!element) {\n element = parentNode.ownerDocument.createElement(Type);\n element.setProps(props, ref, rendered, render);\n parentNode.appendChild(element);\n parentNode.ownerDocument.updateCollection();\n parentNode.ownerDocument.nodesByProps.set(props, element);\n }\n return children ? /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$SSRContext.Provider, {\n value: element\n }, children) : null;\n }\n // @ts-ignore\n return /*#__PURE__*/ (0, $95feo$react).createElement(Type, {\n ref: itemRef\n }, children);\n}\nfunction $e1995378a142960e$export$18af5c7a9e9b3664(type, render) {\n let Component = ({ node: node })=>render(node.props, node.props.ref, node);\n let Result = (0, $95feo$forwardRef)((props, ref)=>{\n let isShallow = (0, $95feo$useContext)($e1995378a142960e$var$ShallowRenderContext);\n if (!isShallow) {\n if (render.length >= 3) throw new Error(render.name + ' cannot be rendered outside a collection.');\n return render(props, ref);\n }\n return $e1995378a142960e$var$useSSRCollectionNode(type, props, ref, 'children' in props ? props.children : null, null, (node)=>/*#__PURE__*/ (0, $95feo$react).createElement(Component, {\n node: node\n }));\n });\n // @ts-ignore\n Result.displayName = render.name;\n return Result;\n}\nfunction $e1995378a142960e$export$e953bb1cd0f19726(type, render, useChildren = $e1995378a142960e$var$useCollectionChildren) {\n let Component = ({ node: node })=>render(node.props, node.props.ref, node);\n let Result = (0, $95feo$forwardRef)((props, ref)=>{\n let children = useChildren(props);\n var _useSSRCollectionNode;\n return (_useSSRCollectionNode = $e1995378a142960e$var$useSSRCollectionNode(type, props, ref, null, children, (node)=>/*#__PURE__*/ (0, $95feo$react).createElement(Component, {\n node: node\n }))) !== null && _useSSRCollectionNode !== void 0 ? _useSSRCollectionNode : /*#__PURE__*/ (0, $95feo$react).createElement((0, $95feo$react).Fragment, null);\n });\n // @ts-ignore\n Result.displayName = render.name;\n return Result;\n}\nfunction $e1995378a142960e$var$useCollectionChildren(options) {\n return (0, $e948873055cbafe4$export$727c8fc270210f13)({\n ...options,\n addIdAndValue: true\n });\n}\nconst $e1995378a142960e$var$CollectionContext = /*#__PURE__*/ (0, $95feo$createContext)(null);\nfunction $e1995378a142960e$export$fb8073518f34e6ec(props) {\n let ctx = (0, $95feo$useContext)($e1995378a142960e$var$CollectionContext);\n let dependencies = ((ctx === null || ctx === void 0 ? void 0 : ctx.dependencies) || []).concat(props.dependencies);\n let idScope = props.idScope || (ctx === null || ctx === void 0 ? void 0 : ctx.idScope);\n let children = $e1995378a142960e$var$useCollectionChildren({\n ...props,\n idScope: idScope,\n dependencies: dependencies\n });\n let doc = (0, $95feo$useContext)($e1995378a142960e$var$CollectionDocumentContext);\n if (doc) children = /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionRoot, null, children);\n // Propagate dependencies and idScope to child collections.\n ctx = (0, $95feo$useMemo)(()=>({\n dependencies: dependencies,\n idScope: idScope\n }), [\n idScope,\n ...dependencies\n ]);\n return /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionContext.Provider, {\n value: ctx\n }, children);\n}\nfunction $e1995378a142960e$var$CollectionRoot({ children: children }) {\n let doc = (0, $95feo$useContext)($e1995378a142960e$var$CollectionDocumentContext);\n let wrappedChildren = (0, $95feo$useMemo)(()=>/*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionDocumentContext.Provider, {\n value: null\n }, /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$ShallowRenderContext.Provider, {\n value: true\n }, children)), [\n children\n ]);\n // During SSR, we render the content directly, and append nodes to the document during render.\n // The collection children return null so that nothing is actually rendered into the HTML.\n return (0, $95feo$useIsSSR)() ? /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$SSRContext.Provider, {\n value: doc\n }, wrappedChildren) : /*#__PURE__*/ (0, $95feo$createPortal)(wrappedChildren, doc);\n}\n\n\nexport {$e1995378a142960e$export$bf788dd355e3a401 as CollectionBuilder, $e1995378a142960e$export$18af5c7a9e9b3664 as createLeafComponent, $e1995378a142960e$export$e953bb1cd0f19726 as createBranchComponent, $e1995378a142960e$export$fb8073518f34e6ec as Collection};\n//# sourceMappingURL=CollectionBuilder.module.js.map\n","import {createBranchComponent as $18I52$createBranchComponent, useCachedChildren as $18I52$useCachedChildren} from \"@react-aria/collections\";\nimport $18I52$react, {createContext as $18I52$createContext, useContext as $18I52$useContext, useMemo as $18I52$useMemo} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $7135fc7d473fd974$export$d40e14dec8b060a8 = /*#__PURE__*/ (0, $18I52$createContext)(null);\nconst $7135fc7d473fd974$export$6e2c8f0811a474ce = /*#__PURE__*/ (0, $18I52$createBranchComponent)('section', (props, ref, section)=>{\n let { render: render } = (0, $18I52$useContext)($7135fc7d473fd974$export$d40e14dec8b060a8);\n return render(props, ref, section);\n});\nconst $7135fc7d473fd974$export$a164736487e3f0ae = {\n CollectionRoot ({ collection: collection, renderDropIndicator: renderDropIndicator }) {\n return $7135fc7d473fd974$var$useCollectionRender(collection, null, renderDropIndicator);\n },\n CollectionBranch ({ collection: collection, parent: parent, renderDropIndicator: renderDropIndicator }) {\n return $7135fc7d473fd974$var$useCollectionRender(collection, parent, renderDropIndicator);\n }\n};\nfunction $7135fc7d473fd974$var$useCollectionRender(collection, parent, renderDropIndicator) {\n return (0, $18I52$useCachedChildren)({\n items: parent ? collection.getChildren(parent.key) : collection,\n dependencies: [\n renderDropIndicator\n ],\n children (node) {\n var _collection_getItem;\n let rendered = node.render(node);\n if (!renderDropIndicator || node.type !== 'item') return rendered;\n let key = node.key;\n let keyAfter = collection.getKeyAfter(key);\n return /*#__PURE__*/ (0, $18I52$react).createElement((0, $18I52$react).Fragment, null, renderDropIndicator({\n type: 'item',\n key: key,\n dropPosition: 'before'\n }), rendered, (keyAfter == null || ((_collection_getItem = collection.getItem(keyAfter)) === null || _collection_getItem === void 0 ? void 0 : _collection_getItem.type) !== 'item') && renderDropIndicator({\n type: 'item',\n key: key,\n dropPosition: 'after'\n }));\n }\n });\n}\nconst $7135fc7d473fd974$export$4feb769f8ddf26c5 = /*#__PURE__*/ (0, $18I52$createContext)($7135fc7d473fd974$export$a164736487e3f0ae);\nfunction $7135fc7d473fd974$export$90e00781bc59d8f9(focusedKey) {\n return (0, $18I52$useMemo)(()=>focusedKey != null ? new Set([\n focusedKey\n ]) : null, [\n focusedKey\n ]);\n}\n\n\nexport {$7135fc7d473fd974$export$d40e14dec8b060a8 as SectionContext, $7135fc7d473fd974$export$6e2c8f0811a474ce as Section, $7135fc7d473fd974$export$a164736487e3f0ae as DefaultCollectionRenderer, $7135fc7d473fd974$export$4feb769f8ddf26c5 as CollectionRendererContext, $7135fc7d473fd974$export$90e00781bc59d8f9 as usePersistedKeys};\n//# sourceMappingURL=Collection.module.js.map\n","import {useObjectRef as $iETbY$useObjectRef, mergeRefs as $iETbY$mergeRefs, mergeProps as $iETbY$mergeProps, useLayoutEffect as $iETbY$useLayoutEffect} from \"@react-aria/utils\";\nimport $iETbY$react, {useMemo as $iETbY$useMemo, useContext as $iETbY$useContext, useState as $iETbY$useState, useRef as $iETbY$useRef, useCallback as $iETbY$useCallback} from \"react\";\nimport $iETbY$reactdom from \"react-dom\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $64fa3d84918910a7$export$c62b8e45d58ddad9 = Symbol('default');\nfunction $64fa3d84918910a7$export$2881499e37b75b9a({ values: values, children: children }) {\n for (let [Context, value] of values)// @ts-ignore\n children = /*#__PURE__*/ (0, $iETbY$react).createElement(Context.Provider, {\n value: value\n }, children);\n return children;\n}\nfunction $64fa3d84918910a7$export$4d86445c2cf5e3(props) {\n let { className: className, style: style, children: children, defaultClassName: defaultClassName, defaultChildren: defaultChildren, defaultStyle: defaultStyle, values: values } = props;\n return (0, $iETbY$useMemo)(()=>{\n let computedClassName;\n let computedStyle;\n let computedChildren;\n if (typeof className === 'function') computedClassName = className({\n ...values,\n defaultClassName: defaultClassName\n });\n else computedClassName = className;\n if (typeof style === 'function') computedStyle = style({\n ...values,\n defaultStyle: defaultStyle || {}\n });\n else computedStyle = style;\n if (typeof children === 'function') computedChildren = children({\n ...values,\n defaultChildren: defaultChildren\n });\n else if (children == null) computedChildren = defaultChildren;\n else computedChildren = children;\n return {\n className: computedClassName !== null && computedClassName !== void 0 ? computedClassName : defaultClassName,\n style: computedStyle || defaultStyle ? {\n ...defaultStyle,\n ...computedStyle\n } : undefined,\n children: computedChildren !== null && computedChildren !== void 0 ? computedChildren : defaultChildren,\n 'data-rac': ''\n };\n }, [\n className,\n style,\n children,\n defaultClassName,\n defaultChildren,\n defaultStyle,\n values\n ]);\n}\nfunction $64fa3d84918910a7$export$c245e6201fed2f75(// https://stackoverflow.com/questions/60898079/typescript-type-t-or-function-t-usage\nvalue, wrap) {\n return (renderProps)=>wrap(typeof value === 'function' ? value(renderProps) : value, renderProps);\n}\nfunction $64fa3d84918910a7$export$fabf2dc03a41866e(context, slot) {\n let ctx = (0, $iETbY$useContext)(context);\n if (slot === null) // An explicit `null` slot means don't use context.\n return null;\n if (ctx && typeof ctx === 'object' && 'slots' in ctx && ctx.slots) {\n let availableSlots = new Intl.ListFormat().format(Object.keys(ctx.slots).map((p)=>`\"${p}\"`));\n if (!slot && !ctx.slots[$64fa3d84918910a7$export$c62b8e45d58ddad9]) throw new Error(`A slot prop is required. Valid slot names are ${availableSlots}.`);\n let slotKey = slot || $64fa3d84918910a7$export$c62b8e45d58ddad9;\n if (!ctx.slots[slotKey]) // @ts-ignore\n throw new Error(`Invalid slot \"${slot}\". Valid slot names are ${availableSlots}.`);\n return ctx.slots[slotKey];\n }\n // @ts-ignore\n return ctx;\n}\nfunction $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, context) {\n let ctx = $64fa3d84918910a7$export$fabf2dc03a41866e(context, props.slot) || {};\n // @ts-ignore - TS says \"Type 'unique symbol' cannot be used as an index type.\" but not sure why.\n let { ref: contextRef, ...contextProps } = ctx;\n let mergedRef = (0, $iETbY$useObjectRef)((0, $iETbY$useMemo)(()=>(0, $iETbY$mergeRefs)(ref, contextRef), [\n ref,\n contextRef\n ]));\n let mergedProps = (0, $iETbY$mergeProps)(contextProps, props);\n // mergeProps does not merge `style`. Adding this there might be a breaking change.\n if ('style' in contextProps && contextProps.style && 'style' in props && props.style) {\n if (typeof contextProps.style === 'function' || typeof props.style === 'function') // @ts-ignore\n mergedProps.style = (renderProps)=>{\n let contextStyle = typeof contextProps.style === 'function' ? contextProps.style(renderProps) : contextProps.style;\n let defaultStyle = {\n ...renderProps.defaultStyle,\n ...contextStyle\n };\n let style = typeof props.style === 'function' ? props.style({\n ...renderProps,\n defaultStyle: defaultStyle\n }) : props.style;\n return {\n ...defaultStyle,\n ...style\n };\n };\n else // @ts-ignore\n mergedProps.style = {\n ...contextProps.style,\n ...props.style\n };\n }\n return [\n mergedProps,\n mergedRef\n ];\n}\nfunction $64fa3d84918910a7$export$9d4c57ee4c6ffdd8() {\n // Assume we do have the slot in the initial render.\n let [hasSlot, setHasSlot] = (0, $iETbY$useState)(true);\n let hasRun = (0, $iETbY$useRef)(false);\n // A callback ref which will run when the slotted element mounts.\n // This should happen before the useLayoutEffect below.\n let ref = (0, $iETbY$useCallback)((el)=>{\n hasRun.current = true;\n setHasSlot(!!el);\n }, []);\n // If the callback hasn't been called, then reset to false.\n (0, $iETbY$useLayoutEffect)(()=>{\n if (!hasRun.current) setHasSlot(false);\n }, []);\n return [\n ref,\n hasSlot\n ];\n}\nfunction $64fa3d84918910a7$export$6d3443f2c48bfc20(ref, isReady = true) {\n let [isEntering, setEntering] = (0, $iETbY$useState)(true);\n $64fa3d84918910a7$var$useAnimation(ref, isEntering && isReady, (0, $iETbY$useCallback)(()=>setEntering(false), []));\n return isEntering && isReady;\n}\nfunction $64fa3d84918910a7$export$45fda7c47f93fd48(ref, isOpen) {\n // State to trigger a re-render after animation is complete, which causes the element to be removed from the DOM.\n // Ref to track the state we're in, so we don't immediately reset isExiting to true after the animation.\n let [isExiting, setExiting] = (0, $iETbY$useState)(false);\n let [exitState, setExitState] = (0, $iETbY$useState)('idle');\n // If isOpen becomes false, set isExiting to true.\n if (!isOpen && ref.current && exitState === 'idle') {\n isExiting = true;\n setExiting(true);\n setExitState('exiting');\n }\n // If we exited, and the element has been removed, reset exit state to idle.\n if (!ref.current && exitState === 'exited') setExitState('idle');\n $64fa3d84918910a7$var$useAnimation(ref, isExiting, (0, $iETbY$useCallback)(()=>{\n setExitState('exited');\n setExiting(false);\n }, []));\n return isExiting;\n}\nfunction $64fa3d84918910a7$var$useAnimation(ref, isActive, onEnd) {\n let prevAnimation = (0, $iETbY$useRef)(null);\n if (isActive && ref.current) // This is ok because we only read it in the layout effect below, immediately after the commit phase.\n // We could move this to another effect that runs every render, but this would be unnecessarily slow.\n // We only need the computed style right before the animation becomes active.\n // eslint-disable-next-line rulesdir/pure-render\n prevAnimation.current = window.getComputedStyle(ref.current).animation;\n (0, $iETbY$useLayoutEffect)(()=>{\n if (isActive && ref.current) {\n // Make sure there's actually an animation, and it wasn't there before we triggered the update.\n let computedStyle = window.getComputedStyle(ref.current);\n if (computedStyle.animationName && computedStyle.animationName !== 'none' && computedStyle.animation !== prevAnimation.current) {\n let onAnimationEnd = (e)=>{\n if (e.target === ref.current) {\n element.removeEventListener('animationend', onAnimationEnd);\n (0, $iETbY$reactdom).flushSync(()=>{\n onEnd();\n });\n }\n };\n let element = ref.current;\n element.addEventListener('animationend', onAnimationEnd);\n return ()=>{\n element.removeEventListener('animationend', onAnimationEnd);\n };\n } else onEnd();\n }\n }, [\n ref,\n isActive,\n onEnd\n ]);\n}\nfunction $64fa3d84918910a7$export$ef03459518577ad4(props) {\n const prefix = /^(data-.*)$/;\n let filteredProps = {};\n for(const prop in props)if (!prefix.test(prop)) filteredProps[prop] = props[prop];\n return filteredProps;\n}\n\n\nexport {$64fa3d84918910a7$export$c62b8e45d58ddad9 as DEFAULT_SLOT, $64fa3d84918910a7$export$2881499e37b75b9a as Provider, $64fa3d84918910a7$export$4d86445c2cf5e3 as useRenderProps, $64fa3d84918910a7$export$c245e6201fed2f75 as composeRenderProps, $64fa3d84918910a7$export$fabf2dc03a41866e as useSlottedContext, $64fa3d84918910a7$export$29f1550f4b0d4415 as useContextProps, $64fa3d84918910a7$export$9d4c57ee4c6ffdd8 as useSlot, $64fa3d84918910a7$export$6d3443f2c48bfc20 as useEnterAnimation, $64fa3d84918910a7$export$45fda7c47f93fd48 as useExitAnimation, $64fa3d84918910a7$export$ef03459518577ad4 as removeDataAttributes};\n//# sourceMappingURL=utils.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3, useSlot as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8} from \"./utils.mjs\";\nimport {LabelContext as $01b77f81d0f07f68$export$75b6ee27786ba447} from \"./Label.mjs\";\nimport {useProgressBar as $hU2kz$useProgressBar} from \"react-aria\";\nimport {clamp as $hU2kz$clamp} from \"@react-stately/utils\";\nimport $hU2kz$react, {createContext as $hU2kz$createContext, forwardRef as $hU2kz$forwardRef} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nconst $0393f8ab869a0f1a$export$e9f3bf65a26ce129 = /*#__PURE__*/ (0, $hU2kz$createContext)(null);\nfunction $0393f8ab869a0f1a$var$ProgressBar(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $0393f8ab869a0f1a$export$e9f3bf65a26ce129);\n let { value: value = 0, minValue: minValue = 0, maxValue: maxValue = 100, isIndeterminate: isIndeterminate = false } = props;\n value = (0, $hU2kz$clamp)(value, minValue, maxValue);\n let [labelRef, label] = (0, $64fa3d84918910a7$export$9d4c57ee4c6ffdd8)();\n let { progressBarProps: progressBarProps, labelProps: labelProps } = (0, $hU2kz$useProgressBar)({\n ...props,\n label: label\n });\n // Calculate the width of the progress bar as a percentage\n let percentage = isIndeterminate ? undefined : (value - minValue) / (maxValue - minValue) * 100;\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-ProgressBar',\n values: {\n percentage: percentage,\n valueText: progressBarProps['aria-valuetext'],\n isIndeterminate: isIndeterminate\n }\n });\n return /*#__PURE__*/ (0, $hU2kz$react).createElement(\"div\", {\n ...progressBarProps,\n ...renderProps,\n ref: ref,\n slot: props.slot || undefined\n }, /*#__PURE__*/ (0, $hU2kz$react).createElement((0, $01b77f81d0f07f68$export$75b6ee27786ba447).Provider, {\n value: {\n ...labelProps,\n ref: labelRef,\n elementType: 'span'\n }\n }, renderProps.children));\n}\n/**\n * Progress bars show either determinate or indeterminate progress of an operation\n * over time.\n */ const $0393f8ab869a0f1a$export$c17561cb55d4db30 = /*#__PURE__*/ (0, $hU2kz$forwardRef)($0393f8ab869a0f1a$var$ProgressBar);\n\n\nexport {$0393f8ab869a0f1a$export$e9f3bf65a26ce129 as ProgressBarContext, $0393f8ab869a0f1a$export$c17561cb55d4db30 as ProgressBar};\n//# sourceMappingURL=ProgressBar.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /* Inspired by https://github.com/AlmeroSteyn/react-aria-live */ const $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY = 7000;\nlet $319e236875307eab$var$liveAnnouncer = null;\nfunction $319e236875307eab$export$a9b970dcc4ae71a9(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {\n if (!$319e236875307eab$var$liveAnnouncer) {\n $319e236875307eab$var$liveAnnouncer = new $319e236875307eab$var$LiveAnnouncer();\n // wait for the live announcer regions to be added to the dom, then announce\n // otherwise Safari won't announce the message if it's added too quickly\n // found most times less than 100ms were not consistent when announcing with Safari\n // IS_REACT_ACT_ENVIRONMENT is used by React 18. Previous versions checked for the `jest` global.\n // https://github.com/reactwg/react-18/discussions/102\n // if we're in a test environment, announce without waiting\n // @ts-ignore\n if (!(typeof IS_REACT_ACT_ENVIRONMENT === 'boolean' ? IS_REACT_ACT_ENVIRONMENT : typeof jest !== 'undefined')) setTimeout(()=>{\n if ($319e236875307eab$var$liveAnnouncer === null || $319e236875307eab$var$liveAnnouncer === void 0 ? void 0 : $319e236875307eab$var$liveAnnouncer.isAttached()) $319e236875307eab$var$liveAnnouncer === null || $319e236875307eab$var$liveAnnouncer === void 0 ? void 0 : $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);\n }, 100);\n else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);\n } else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);\n}\nfunction $319e236875307eab$export$d10ae4f68404609a(assertiveness) {\n if ($319e236875307eab$var$liveAnnouncer) $319e236875307eab$var$liveAnnouncer.clear(assertiveness);\n}\nfunction $319e236875307eab$export$d8686216b8b81b2f() {\n if ($319e236875307eab$var$liveAnnouncer) {\n $319e236875307eab$var$liveAnnouncer.destroy();\n $319e236875307eab$var$liveAnnouncer = null;\n }\n}\n// LiveAnnouncer is implemented using vanilla DOM, not React. That's because as of React 18\n// ReactDOM.render is deprecated, and the replacement, ReactDOM.createRoot is moved into a\n// subpath import `react-dom/client`. That makes it hard for us to support multiple React versions.\n// As a global API, we can't use portals without introducing a breaking API change. LiveAnnouncer\n// is simple enough to implement without React, so that's what we do here.\n// See this discussion for more details: https://github.com/reactwg/react-18/discussions/125#discussioncomment-2382638\nclass $319e236875307eab$var$LiveAnnouncer {\n isAttached() {\n var _this_node;\n return (_this_node = this.node) === null || _this_node === void 0 ? void 0 : _this_node.isConnected;\n }\n createLog(ariaLive) {\n let node = document.createElement('div');\n node.setAttribute('role', 'log');\n node.setAttribute('aria-live', ariaLive);\n node.setAttribute('aria-relevant', 'additions');\n return node;\n }\n destroy() {\n if (!this.node) return;\n document.body.removeChild(this.node);\n this.node = null;\n }\n announce(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {\n var _this_assertiveLog, _this_politeLog;\n if (!this.node) return;\n let node = document.createElement('div');\n if (typeof message === 'object') {\n // To read an aria-labelledby, the element must have an appropriate role, such as img.\n node.setAttribute('role', 'img');\n node.setAttribute('aria-labelledby', message['aria-labelledby']);\n } else node.textContent = message;\n if (assertiveness === 'assertive') (_this_assertiveLog = this.assertiveLog) === null || _this_assertiveLog === void 0 ? void 0 : _this_assertiveLog.appendChild(node);\n else (_this_politeLog = this.politeLog) === null || _this_politeLog === void 0 ? void 0 : _this_politeLog.appendChild(node);\n if (message !== '') setTimeout(()=>{\n node.remove();\n }, timeout);\n }\n clear(assertiveness) {\n if (!this.node) return;\n if ((!assertiveness || assertiveness === 'assertive') && this.assertiveLog) this.assertiveLog.innerHTML = '';\n if ((!assertiveness || assertiveness === 'polite') && this.politeLog) this.politeLog.innerHTML = '';\n }\n constructor(){\n this.node = null;\n this.assertiveLog = null;\n this.politeLog = null;\n if (typeof document !== 'undefined') {\n this.node = document.createElement('div');\n this.node.dataset.liveAnnouncer = 'true';\n // copied from VisuallyHidden\n Object.assign(this.node.style, {\n border: 0,\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n width: '1px',\n whiteSpace: 'nowrap'\n });\n this.assertiveLog = this.createLog('assertive');\n this.node.appendChild(this.assertiveLog);\n this.politeLog = this.createLog('polite');\n this.node.appendChild(this.politeLog);\n document.body.prepend(this.node);\n }\n }\n}\n\n\nexport {$319e236875307eab$export$a9b970dcc4ae71a9 as announce, $319e236875307eab$export$d10ae4f68404609a as clearAnnouncer, $319e236875307eab$export$d8686216b8b81b2f as destroyAnnouncer};\n//# sourceMappingURL=LiveAnnouncer.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {ProgressBarContext as $0393f8ab869a0f1a$export$e9f3bf65a26ce129} from \"./ProgressBar.mjs\";\nimport {announce as $fM325$announce} from \"@react-aria/live-announcer\";\nimport {useButton as $fM325$useButton, useFocusRing as $fM325$useFocusRing, useHover as $fM325$useHover, useId as $fM325$useId, mergeProps as $fM325$mergeProps} from \"react-aria\";\nimport {createHideableComponent as $fM325$createHideableComponent} from \"@react-aria/collections\";\nimport {filterDOMProps as $fM325$filterDOMProps} from \"@react-aria/utils\";\nimport $fM325$react, {createContext as $fM325$createContext, useRef as $fM325$useRef, useEffect as $fM325$useEffect} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\nconst $d2b4bc8c273e7be6$var$additionalButtonHTMLAttributes = new Set([\n 'form',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'name',\n 'value'\n]);\nconst $d2b4bc8c273e7be6$export$24d547caef80ccd1 = /*#__PURE__*/ (0, $fM325$createContext)({});\nfunction $d2b4bc8c273e7be6$var$Button(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $d2b4bc8c273e7be6$export$24d547caef80ccd1);\n props = $d2b4bc8c273e7be6$var$disablePendingProps(props);\n let ctx = props;\n let { isPending: isPending } = ctx;\n let { buttonProps: buttonProps, isPressed: isPressed } = (0, $fM325$useButton)(props, ref);\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $fM325$useFocusRing)(props);\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $fM325$useHover)({\n ...props,\n isDisabled: props.isDisabled || isPending\n });\n let renderValues = {\n isHovered: isHovered,\n isPressed: (ctx.isPressed || isPressed) && !isPending,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: props.isDisabled || false,\n isPending: isPending !== null && isPending !== void 0 ? isPending : false\n };\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n values: renderValues,\n defaultClassName: 'react-aria-Button'\n });\n let buttonId = (0, $fM325$useId)(buttonProps.id);\n let progressId = (0, $fM325$useId)();\n let ariaLabelledby = buttonProps['aria-labelledby'];\n if (isPending) {\n // aria-labelledby wins over aria-label\n // https://www.w3.org/TR/accname-1.2/#computation-steps\n if (ariaLabelledby) ariaLabelledby = `${ariaLabelledby} ${progressId}`;\n else if (buttonProps['aria-label']) ariaLabelledby = `${buttonId} ${progressId}`;\n }\n let wasPending = (0, $fM325$useRef)(isPending);\n (0, $fM325$useEffect)(()=>{\n let message = {\n 'aria-labelledby': ariaLabelledby || buttonId\n };\n if (!wasPending.current && isFocused && isPending) (0, $fM325$announce)(message, 'assertive');\n else if (wasPending.current && isFocused && !isPending) (0, $fM325$announce)(message, 'assertive');\n wasPending.current = isPending;\n }, [\n isPending,\n isFocused,\n ariaLabelledby,\n buttonId\n ]);\n return /*#__PURE__*/ (0, $fM325$react).createElement(\"button\", {\n ...(0, $fM325$filterDOMProps)(props, {\n propNames: $d2b4bc8c273e7be6$var$additionalButtonHTMLAttributes\n }),\n ...(0, $fM325$mergeProps)(buttonProps, focusProps, hoverProps),\n ...renderProps,\n id: buttonId,\n ref: ref,\n \"aria-labelledby\": ariaLabelledby,\n slot: props.slot || undefined,\n \"aria-disabled\": isPending ? 'true' : buttonProps['aria-disabled'],\n \"data-disabled\": props.isDisabled || undefined,\n \"data-pressed\": renderValues.isPressed || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-pending\": isPending || undefined,\n \"data-focus-visible\": isFocusVisible || undefined\n }, /*#__PURE__*/ (0, $fM325$react).createElement((0, $0393f8ab869a0f1a$export$e9f3bf65a26ce129).Provider, {\n value: {\n id: progressId\n }\n }, renderProps.children));\n}\nfunction $d2b4bc8c273e7be6$var$disablePendingProps(props) {\n // Don't allow interaction while isPending is true\n if (props.isPending) {\n props.onPress = undefined;\n props.onPressStart = undefined;\n props.onPressEnd = undefined;\n props.onPressChange = undefined;\n props.onPressUp = undefined;\n props.onKeyDown = undefined;\n props.onKeyUp = undefined;\n props.onClick = undefined;\n props.href = undefined;\n }\n return props;\n}\n/**\n * A button allows a user to perform an action, with mouse, touch, and keyboard interactions.\n */ const $d2b4bc8c273e7be6$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $fM325$createHideableComponent)($d2b4bc8c273e7be6$var$Button);\n\n\nexport {$d2b4bc8c273e7be6$export$24d547caef80ccd1 as ButtonContext, $d2b4bc8c273e7be6$export$353f5b6fc5456de1 as Button};\n//# sourceMappingURL=Button.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport $1B3Dx$react, {createContext as $1B3Dx$createContext, forwardRef as $1B3Dx$forwardRef} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $514c0188e459b4c0$export$9afb8bc826b033ea = /*#__PURE__*/ (0, $1B3Dx$createContext)({});\nfunction $514c0188e459b4c0$var$Text(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $514c0188e459b4c0$export$9afb8bc826b033ea);\n let { elementType: ElementType = 'span', ...domProps } = props;\n // @ts-ignore\n return /*#__PURE__*/ (0, $1B3Dx$react).createElement(ElementType, {\n className: \"react-aria-Text\",\n ...domProps,\n ref: ref\n });\n}\nconst $514c0188e459b4c0$export$5f1af8db9871e1d6 = /*#__PURE__*/ (0, $1B3Dx$forwardRef)($514c0188e459b4c0$var$Text);\n\n\nexport {$514c0188e459b4c0$export$9afb8bc826b033ea as TextContext, $514c0188e459b4c0$export$5f1af8db9871e1d6 as Text};\n//# sourceMappingURL=Text.module.js.map\n","import $3aeG1$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $ae1eeba8b9eafd08$export$5165eccb35aaadb5 = (0, $3aeG1$react).createContext({\n register: ()=>{}\n});\n$ae1eeba8b9eafd08$export$5165eccb35aaadb5.displayName = 'PressResponderContext';\n\n\nexport {$ae1eeba8b9eafd08$export$5165eccb35aaadb5 as PressResponderContext};\n//# sourceMappingURL=context.module.js.map\n","import {PressResponderContext as $ae1eeba8b9eafd08$export$5165eccb35aaadb5} from \"./context.mjs\";\nimport {useObjectRef as $87RPk$useObjectRef, mergeProps as $87RPk$mergeProps, useSyncRef as $87RPk$useSyncRef} from \"@react-aria/utils\";\nimport $87RPk$react, {useRef as $87RPk$useRef, useContext as $87RPk$useContext, useEffect as $87RPk$useEffect, useMemo as $87RPk$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $f1ab8c75478c6f73$export$3351871ee4b288b8 = /*#__PURE__*/ (0, $87RPk$react).forwardRef(({ children: children, ...props }, ref)=>{\n let isRegistered = (0, $87RPk$useRef)(false);\n let prevContext = (0, $87RPk$useContext)((0, $ae1eeba8b9eafd08$export$5165eccb35aaadb5));\n ref = (0, $87RPk$useObjectRef)(ref || (prevContext === null || prevContext === void 0 ? void 0 : prevContext.ref));\n let context = (0, $87RPk$mergeProps)(prevContext || {}, {\n ...props,\n ref: ref,\n register () {\n isRegistered.current = true;\n if (prevContext) prevContext.register();\n }\n });\n (0, $87RPk$useSyncRef)(prevContext, ref);\n (0, $87RPk$useEffect)(()=>{\n if (!isRegistered.current) {\n console.warn(\"A PressResponder was rendered without a pressable child. Either call the usePress hook, or wrap your DOM node with <Pressable> component.\");\n isRegistered.current = true; // only warn once in strict mode.\n }\n }, []);\n return /*#__PURE__*/ (0, $87RPk$react).createElement((0, $ae1eeba8b9eafd08$export$5165eccb35aaadb5).Provider, {\n value: context\n }, children);\n});\nfunction $f1ab8c75478c6f73$export$cf75428e0b9ed1ea({ children: children }) {\n let context = (0, $87RPk$useMemo)(()=>({\n register: ()=>{}\n }), []);\n return /*#__PURE__*/ (0, $87RPk$react).createElement((0, $ae1eeba8b9eafd08$export$5165eccb35aaadb5).Provider, {\n value: context\n }, children);\n}\n\n\nexport {$f1ab8c75478c6f73$export$3351871ee4b288b8 as PressResponder, $f1ab8c75478c6f73$export$cf75428e0b9ed1ea as ClearPressResponder};\n//# sourceMappingURL=PressResponder.module.js.map\n","import {useState as $AWxnT$useState, useRef as $AWxnT$useRef, useEffect as $AWxnT$useEffect, useMemo as $AWxnT$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\nlet $6179b936705e76d3$var$hoverCount = 0;\nfunction $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(()=>{\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\nfunction $6179b936705e76d3$var$handleGlobalPointerEvent(e) {\n if (e.pointerType === 'touch') $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();\n}\nfunction $6179b936705e76d3$var$setupGlobalTouchEvents() {\n if (typeof document === 'undefined') return;\n if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.addEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n $6179b936705e76d3$var$hoverCount++;\n return ()=>{\n $6179b936705e76d3$var$hoverCount--;\n if ($6179b936705e76d3$var$hoverCount > 0) return;\n if (typeof PointerEvent !== 'undefined') document.removeEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.removeEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n };\n}\nfunction $6179b936705e76d3$export$ae780daf29e6d456(props) {\n let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;\n let [isHovered, setHovered] = (0, $AWxnT$useState)(false);\n let state = (0, $AWxnT$useRef)({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null\n }).current;\n (0, $AWxnT$useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);\n let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (0, $AWxnT$useMemo)(()=>{\n let triggerHoverStart = (event, pointerType)=>{\n state.pointerType = pointerType;\n if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) return;\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n if (onHoverStart) onHoverStart({\n type: 'hoverstart',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(true);\n setHovered(true);\n };\n let triggerHoverEnd = (event, pointerType)=>{\n state.pointerType = '';\n state.target = null;\n if (pointerType === 'touch' || !state.isHovered) return;\n state.isHovered = false;\n let target = event.currentTarget;\n if (onHoverEnd) onHoverEnd({\n type: 'hoverend',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(false);\n setHovered(false);\n };\n let hoverProps = {};\n if (typeof PointerEvent !== 'undefined') {\n hoverProps.onPointerEnter = (e)=>{\n if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n hoverProps.onPointerLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, e.pointerType);\n };\n } else {\n hoverProps.onTouchStart = ()=>{\n state.ignoreEmulatedMouseEvents = true;\n };\n hoverProps.onMouseEnter = (e)=>{\n if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');\n state.ignoreEmulatedMouseEvents = false;\n };\n hoverProps.onMouseLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, 'mouse');\n };\n }\n return {\n hoverProps: hoverProps,\n triggerHoverEnd: triggerHoverEnd\n };\n }, [\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled,\n state\n ]);\n (0, $AWxnT$useEffect)(()=>{\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) triggerHoverEnd({\n currentTarget: state.target\n }, state.pointerType);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled\n ]);\n return {\n hoverProps: hoverProps,\n isHovered: isHovered\n };\n}\n\n\nexport {$6179b936705e76d3$export$ae780daf29e6d456 as useHover};\n//# sourceMappingURL=useHover.module.js.map\n","import {useEffectEvent as $ispOf$useEffectEvent, getOwnerDocument as $ispOf$getOwnerDocument} from \"@react-aria/utils\";\nimport {useRef as $ispOf$useRef, useEffect as $ispOf$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\nfunction $e0b6e0b68ec7f50f$export$872b660ac5a1ff98(props) {\n let { ref: ref, onInteractOutside: onInteractOutside, isDisabled: isDisabled, onInteractOutsideStart: onInteractOutsideStart } = props;\n let stateRef = (0, $ispOf$useRef)({\n isPointerDown: false,\n ignoreEmulatedMouseEvents: false\n });\n let onPointerDown = (0, $ispOf$useEffectEvent)((e)=>{\n if (onInteractOutside && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) {\n if (onInteractOutsideStart) onInteractOutsideStart(e);\n stateRef.current.isPointerDown = true;\n }\n });\n let triggerInteractOutside = (0, $ispOf$useEffectEvent)((e)=>{\n if (onInteractOutside) onInteractOutside(e);\n });\n (0, $ispOf$useEffect)(()=>{\n let state = stateRef.current;\n if (isDisabled) return;\n const element = ref.current;\n const documentObject = (0, $ispOf$getOwnerDocument)(element);\n // Use pointer events if available. Otherwise, fall back to mouse and touch events.\n if (typeof PointerEvent !== 'undefined') {\n let onPointerUp = (e)=>{\n if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);\n state.isPointerDown = false;\n };\n // changing these to capture phase fixed combobox\n documentObject.addEventListener('pointerdown', onPointerDown, true);\n documentObject.addEventListener('pointerup', onPointerUp, true);\n return ()=>{\n documentObject.removeEventListener('pointerdown', onPointerDown, true);\n documentObject.removeEventListener('pointerup', onPointerUp, true);\n };\n } else {\n let onMouseUp = (e)=>{\n if (state.ignoreEmulatedMouseEvents) state.ignoreEmulatedMouseEvents = false;\n else if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);\n state.isPointerDown = false;\n };\n let onTouchEnd = (e)=>{\n state.ignoreEmulatedMouseEvents = true;\n if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);\n state.isPointerDown = false;\n };\n documentObject.addEventListener('mousedown', onPointerDown, true);\n documentObject.addEventListener('mouseup', onMouseUp, true);\n documentObject.addEventListener('touchstart', onPointerDown, true);\n documentObject.addEventListener('touchend', onTouchEnd, true);\n return ()=>{\n documentObject.removeEventListener('mousedown', onPointerDown, true);\n documentObject.removeEventListener('mouseup', onMouseUp, true);\n documentObject.removeEventListener('touchstart', onPointerDown, true);\n documentObject.removeEventListener('touchend', onTouchEnd, true);\n };\n }\n }, [\n ref,\n isDisabled,\n onPointerDown,\n triggerInteractOutside\n ]);\n}\nfunction $e0b6e0b68ec7f50f$var$isValidEvent(event, ref) {\n if (event.button > 0) return false;\n if (event.target) {\n // if the event target is no longer in the document, ignore\n const ownerDocument = event.target.ownerDocument;\n if (!ownerDocument || !ownerDocument.documentElement.contains(event.target)) return false;\n // If the target is within a top layer element (e.g. toasts), ignore.\n if (event.target.closest('[data-react-aria-top-layer]')) return false;\n }\n return ref.current && !ref.current.contains(event.target);\n}\n\n\nexport {$e0b6e0b68ec7f50f$export$872b660ac5a1ff98 as useInteractOutside};\n//# sourceMappingURL=useInteractOutside.module.js.map\n","import {focusSafely as $6a99195332edec8b$export$80f3e147d781571c} from \"./focusSafely.mjs\";\nimport {useSyncRef as $h8xso$useSyncRef, useObjectRef as $h8xso$useObjectRef, mergeProps as $h8xso$mergeProps} from \"@react-aria/utils\";\nimport $h8xso$react, {useContext as $h8xso$useContext, useRef as $h8xso$useRef, useEffect as $h8xso$useEffect} from \"react\";\nimport {useFocus as $h8xso$useFocus, useKeyboard as $h8xso$useKeyboard} from \"@react-aria/interactions\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nlet $e6afbd83fe6ebbd2$var$FocusableContext = /*#__PURE__*/ (0, $h8xso$react).createContext(null);\nfunction $e6afbd83fe6ebbd2$var$useFocusableContext(ref) {\n let context = (0, $h8xso$useContext)($e6afbd83fe6ebbd2$var$FocusableContext) || {};\n (0, $h8xso$useSyncRef)(context, ref);\n // eslint-disable-next-line\n let { ref: _, ...otherProps } = context;\n return otherProps;\n}\n/**\n * Provides DOM props to the nearest focusable child.\n */ function $e6afbd83fe6ebbd2$var$FocusableProvider(props, ref) {\n let { children: children, ...otherProps } = props;\n let objRef = (0, $h8xso$useObjectRef)(ref);\n let context = {\n ...otherProps,\n ref: objRef\n };\n return /*#__PURE__*/ (0, $h8xso$react).createElement($e6afbd83fe6ebbd2$var$FocusableContext.Provider, {\n value: context\n }, children);\n}\nlet $e6afbd83fe6ebbd2$export$13f3202a3e5ddd5 = /*#__PURE__*/ (0, $h8xso$react).forwardRef($e6afbd83fe6ebbd2$var$FocusableProvider);\nfunction $e6afbd83fe6ebbd2$export$4c014de7c8940b4c(props, domRef) {\n let { focusProps: focusProps } = (0, $h8xso$useFocus)(props);\n let { keyboardProps: keyboardProps } = (0, $h8xso$useKeyboard)(props);\n let interactions = (0, $h8xso$mergeProps)(focusProps, keyboardProps);\n let domProps = $e6afbd83fe6ebbd2$var$useFocusableContext(domRef);\n let interactionProps = props.isDisabled ? {} : domProps;\n let autoFocusRef = (0, $h8xso$useRef)(props.autoFocus);\n (0, $h8xso$useEffect)(()=>{\n if (autoFocusRef.current && domRef.current) (0, $6a99195332edec8b$export$80f3e147d781571c)(domRef.current);\n autoFocusRef.current = false;\n }, [\n domRef\n ]);\n return {\n focusableProps: (0, $h8xso$mergeProps)({\n ...interactions,\n tabIndex: props.excludeFromTabOrder && !props.isDisabled ? -1 : undefined\n }, interactionProps)\n };\n}\n\n\nexport {$e6afbd83fe6ebbd2$export$13f3202a3e5ddd5 as FocusableProvider, $e6afbd83fe6ebbd2$export$4c014de7c8940b4c as useFocusable};\n//# sourceMappingURL=useFocusable.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {createLeafComponent as $i47tY$createLeafComponent} from \"@react-aria/collections\";\nimport $i47tY$react, {createContext as $i47tY$createContext} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $72a5793c14baf454$export$e0e4026c12a8bdbb = /*#__PURE__*/ (0, $i47tY$createContext)({});\nconst $72a5793c14baf454$export$8b251419efc915eb = /*#__PURE__*/ (0, $i47tY$createLeafComponent)('header', function Header(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $72a5793c14baf454$export$e0e4026c12a8bdbb);\n return /*#__PURE__*/ (0, $i47tY$react).createElement(\"header\", {\n className: \"react-aria-Header\",\n ...props,\n ref: ref\n }, props.children);\n});\n\n\nexport {$72a5793c14baf454$export$e0e4026c12a8bdbb as HeaderContext, $72a5793c14baf454$export$8b251419efc915eb as Header};\n//# sourceMappingURL=Header.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {useSeparator as $i9JCE$useSeparator} from \"react-aria\";\nimport {createLeafComponent as $i9JCE$createLeafComponent} from \"@react-aria/collections\";\nimport {filterDOMProps as $i9JCE$filterDOMProps} from \"@react-aria/utils\";\nimport $i9JCE$react, {createContext as $i9JCE$createContext} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nconst $431f98aba6844401$export$6615d83f6de245ce = /*#__PURE__*/ (0, $i9JCE$createContext)({});\nconst $431f98aba6844401$export$1ff3c3f08ae963c0 = /*#__PURE__*/ (0, $i9JCE$createLeafComponent)('separator', function Separator(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $431f98aba6844401$export$6615d83f6de245ce);\n let { elementType: elementType, orientation: orientation, style: style, className: className } = props;\n let Element = elementType || 'hr';\n if (Element === 'hr' && orientation === 'vertical') Element = 'div';\n let { separatorProps: separatorProps } = (0, $i9JCE$useSeparator)({\n elementType: elementType,\n orientation: orientation\n });\n return /*#__PURE__*/ (0, $i9JCE$react).createElement(Element, {\n ...(0, $i9JCE$filterDOMProps)(props),\n ...separatorProps,\n style: style,\n className: className !== null && className !== void 0 ? className : 'react-aria-Separator',\n ref: ref,\n slot: props.slot || undefined\n });\n});\n\n\nexport {$431f98aba6844401$export$6615d83f6de245ce as SeparatorContext, $431f98aba6844401$export$1ff3c3f08ae963c0 as Separator};\n//# sourceMappingURL=Separator.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport $8wt2Z$react, {createContext as $8wt2Z$createContext, forwardRef as $8wt2Z$forwardRef} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $44f671af83e7d9e0$export$2de4954e8ae13b9f = /*#__PURE__*/ (0, $8wt2Z$createContext)({\n placement: 'bottom'\n});\nfunction $44f671af83e7d9e0$var$OverlayArrow(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $44f671af83e7d9e0$export$2de4954e8ae13b9f);\n let placement = props.placement;\n let style = {\n position: 'absolute',\n [placement]: '100%',\n transform: placement === 'top' || placement === 'bottom' ? 'translateX(-50%)' : 'translateY(-50%)'\n };\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-OverlayArrow',\n values: {\n placement: placement\n }\n });\n // remove undefined values from renderProps.style object so that it can be\n // spread merged with the other style object\n if (renderProps.style) Object.keys(renderProps.style).forEach((key)=>renderProps.style[key] === undefined && delete renderProps.style[key]);\n return /*#__PURE__*/ (0, $8wt2Z$react).createElement(\"div\", {\n ...props,\n ...renderProps,\n style: {\n ...style,\n ...renderProps.style\n },\n ref: ref,\n \"data-placement\": placement\n });\n}\n/**\n * An OverlayArrow renders a custom arrow element relative to an overlay element\n * such as a popover or tooltip such that it aligns with a trigger element.\n */ const $44f671af83e7d9e0$export$746d02f47f4d381 = /*#__PURE__*/ (0, $8wt2Z$forwardRef)($44f671af83e7d9e0$var$OverlayArrow);\n\n\nexport {$44f671af83e7d9e0$export$2de4954e8ae13b9f as OverlayArrowContext, $44f671af83e7d9e0$export$746d02f47f4d381 as OverlayArrow};\n//# sourceMappingURL=OverlayArrow.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useEnterAnimation as $64fa3d84918910a7$export$6d3443f2c48bfc20, useExitAnimation as $64fa3d84918910a7$export$45fda7c47f93fd48, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {OverlayArrowContext as $44f671af83e7d9e0$export$2de4954e8ae13b9f} from \"./OverlayArrow.mjs\";\nimport {OverlayTriggerStateContext as $de32f1b87079253c$export$d2f961adcb0afbe} from \"./Dialog.mjs\";\nimport {usePopover as $ehFet$usePopover, Overlay as $ehFet$Overlay, DismissButton as $ehFet$DismissButton} from \"react-aria\";\nimport {useLayoutEffect as $ehFet$useLayoutEffect, mergeProps as $ehFet$mergeProps, filterDOMProps as $ehFet$filterDOMProps} from \"@react-aria/utils\";\nimport {useOverlayTriggerState as $ehFet$useOverlayTriggerState} from \"react-stately\";\nimport $ehFet$react, {createContext as $ehFet$createContext, useContext as $ehFet$useContext, forwardRef as $ehFet$forwardRef, useRef as $ehFet$useRef, useState as $ehFet$useState} from \"react\";\nimport {useIsHidden as $ehFet$useIsHidden} from \"@react-aria/collections\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\nconst $07b14b47974efb58$export$9b9a0cd73afb7ca4 = /*#__PURE__*/ (0, $ehFet$createContext)(null);\nfunction $07b14b47974efb58$var$Popover(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $07b14b47974efb58$export$9b9a0cd73afb7ca4);\n let contextState = (0, $ehFet$useContext)((0, $de32f1b87079253c$export$d2f961adcb0afbe));\n let localState = (0, $ehFet$useOverlayTriggerState)(props);\n let state = props.isOpen != null || props.defaultOpen != null || !contextState ? localState : contextState;\n let isExiting = (0, $64fa3d84918910a7$export$45fda7c47f93fd48)(ref, state.isOpen) || props.isExiting || false;\n let isHidden = (0, $ehFet$useIsHidden)();\n // If we are in a hidden tree, we still need to preserve our children.\n if (isHidden) {\n let children = props.children;\n if (typeof children === 'function') children = children({\n trigger: props.trigger || null,\n placement: 'bottom',\n isEntering: false,\n isExiting: false,\n defaultChildren: null\n });\n return /*#__PURE__*/ (0, $ehFet$react).createElement((0, $ehFet$react).Fragment, null, children);\n }\n if (state && !state.isOpen && !isExiting) return null;\n return /*#__PURE__*/ (0, $ehFet$react).createElement($07b14b47974efb58$var$PopoverInner, {\n ...props,\n triggerRef: props.triggerRef,\n state: state,\n popoverRef: ref,\n isExiting: isExiting\n });\n}\n/**\n * A popover is an overlay element positioned relative to a trigger.\n */ const $07b14b47974efb58$export$5b6b19405a83ff9d = /*#__PURE__*/ (0, $ehFet$forwardRef)($07b14b47974efb58$var$Popover);\nfunction $07b14b47974efb58$var$PopoverInner({ state: state, isExiting: isExiting, UNSTABLE_portalContainer: UNSTABLE_portalContainer, ...props }) {\n // Calculate the arrow size internally (and remove props.arrowSize from PopoverProps)\n // Referenced from: packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx\n let arrowRef = (0, $ehFet$useRef)(null);\n let [arrowWidth, setArrowWidth] = (0, $ehFet$useState)(0);\n (0, $ehFet$useLayoutEffect)(()=>{\n if (arrowRef.current && state.isOpen) setArrowWidth(arrowRef.current.getBoundingClientRect().width);\n }, [\n state.isOpen,\n arrowRef\n ]);\n var _props_offset;\n let { popoverProps: popoverProps, underlayProps: underlayProps, arrowProps: arrowProps, placement: placement } = (0, $ehFet$usePopover)({\n ...props,\n offset: (_props_offset = props.offset) !== null && _props_offset !== void 0 ? _props_offset : 8,\n arrowSize: arrowWidth\n }, state);\n let ref = props.popoverRef;\n let isEntering = (0, $64fa3d84918910a7$export$6d3443f2c48bfc20)(ref, !!placement) || props.isEntering || false;\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-Popover',\n values: {\n trigger: props.trigger || null,\n placement: placement,\n isEntering: isEntering,\n isExiting: isExiting\n }\n });\n let style = {\n ...popoverProps.style,\n ...renderProps.style\n };\n return /*#__PURE__*/ (0, $ehFet$react).createElement((0, $ehFet$Overlay), {\n isExiting: isExiting,\n portalContainer: UNSTABLE_portalContainer\n }, !props.isNonModal && state.isOpen && /*#__PURE__*/ (0, $ehFet$react).createElement(\"div\", {\n \"data-testid\": \"underlay\",\n ...underlayProps,\n style: {\n position: 'fixed',\n inset: 0\n }\n }), /*#__PURE__*/ (0, $ehFet$react).createElement(\"div\", {\n ...(0, $ehFet$mergeProps)((0, $ehFet$filterDOMProps)(props), popoverProps),\n ...renderProps,\n ref: ref,\n slot: props.slot || undefined,\n style: style,\n \"data-trigger\": props.trigger,\n \"data-placement\": placement,\n \"data-entering\": isEntering || undefined,\n \"data-exiting\": isExiting || undefined\n }, !props.isNonModal && /*#__PURE__*/ (0, $ehFet$react).createElement((0, $ehFet$DismissButton), {\n onDismiss: state.close\n }), /*#__PURE__*/ (0, $ehFet$react).createElement((0, $44f671af83e7d9e0$export$2de4954e8ae13b9f).Provider, {\n value: {\n ...arrowProps,\n placement: placement,\n ref: arrowRef\n }\n }, renderProps.children), /*#__PURE__*/ (0, $ehFet$react).createElement((0, $ehFet$DismissButton), {\n onDismiss: state.close\n })));\n}\n\n\nexport {$07b14b47974efb58$export$9b9a0cd73afb7ca4 as PopoverContext, $07b14b47974efb58$export$5b6b19405a83ff9d as Popover};\n//# sourceMappingURL=Popover.module.js.map\n","import {DEFAULT_SLOT as $64fa3d84918910a7$export$c62b8e45d58ddad9, Provider as $64fa3d84918910a7$export$2881499e37b75b9a, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {HeadingContext as $4e85f108e88277b8$export$d688439359537581} from \"./RSPContexts.mjs\";\nimport {PopoverContext as $07b14b47974efb58$export$9b9a0cd73afb7ca4} from \"./Popover.mjs\";\nimport {useOverlayTrigger as $6IYYA$useOverlayTrigger, useId as $6IYYA$useId, useDialog as $6IYYA$useDialog} from \"react-aria\";\nimport {filterDOMProps as $6IYYA$filterDOMProps} from \"@react-aria/utils\";\nimport {useOverlayTriggerState as $6IYYA$useOverlayTriggerState} from \"react-stately\";\nimport {PressResponder as $6IYYA$PressResponder} from \"@react-aria/interactions\";\nimport $6IYYA$react, {createContext as $6IYYA$createContext, useRef as $6IYYA$useRef, useContext as $6IYYA$useContext, forwardRef as $6IYYA$forwardRef} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\nconst $de32f1b87079253c$export$8b93a07348a7730c = /*#__PURE__*/ (0, $6IYYA$createContext)(null);\nconst $de32f1b87079253c$export$d2f961adcb0afbe = /*#__PURE__*/ (0, $6IYYA$createContext)(null);\nfunction $de32f1b87079253c$export$2e1e1122cf0cba88(props) {\n let state = (0, $6IYYA$useOverlayTriggerState)(props);\n let buttonRef = (0, $6IYYA$useRef)(null);\n let { triggerProps: triggerProps, overlayProps: overlayProps } = (0, $6IYYA$useOverlayTrigger)({\n type: 'dialog'\n }, state, buttonRef);\n // Label dialog by the trigger as a fallback if there is no title slot.\n // This is done in RAC instead of hooks because otherwise we cannot distinguish\n // between context and props. Normally aria-labelledby overrides the title\n // but when sent by context we want the title to win.\n triggerProps.id = (0, $6IYYA$useId)();\n overlayProps['aria-labelledby'] = triggerProps.id;\n return /*#__PURE__*/ (0, $6IYYA$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $de32f1b87079253c$export$d2f961adcb0afbe,\n state\n ],\n [\n $de32f1b87079253c$export$8b93a07348a7730c,\n overlayProps\n ],\n [\n (0, $07b14b47974efb58$export$9b9a0cd73afb7ca4),\n {\n trigger: 'DialogTrigger',\n triggerRef: buttonRef\n }\n ]\n ]\n }, /*#__PURE__*/ (0, $6IYYA$react).createElement((0, $6IYYA$PressResponder), {\n ...triggerProps,\n ref: buttonRef,\n isPressed: state.isOpen\n }, props.children));\n}\nfunction $de32f1b87079253c$var$Dialog(props, ref) {\n let originalAriaLabelledby = props['aria-labelledby'];\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $de32f1b87079253c$export$8b93a07348a7730c);\n let { dialogProps: dialogProps, titleProps: titleProps } = (0, $6IYYA$useDialog)({\n ...props,\n // Only pass aria-labelledby from props, not context.\n // Context is used as a fallback below.\n 'aria-labelledby': originalAriaLabelledby\n }, ref);\n let state = (0, $6IYYA$useContext)($de32f1b87079253c$export$d2f961adcb0afbe);\n let children = props.children;\n if (typeof children === 'function') children = children({\n close: (state === null || state === void 0 ? void 0 : state.close) || (()=>{})\n });\n if (!dialogProps['aria-label'] && !dialogProps['aria-labelledby']) {\n // If aria-labelledby exists on props, we know it came from context.\n // Use that as a fallback in case there is no title slot.\n if (props['aria-labelledby']) dialogProps['aria-labelledby'] = props['aria-labelledby'];\n else console.warn('If a Dialog does not contain a <Heading slot=\"title\">, it must have an aria-label or aria-labelledby attribute for accessibility.');\n }\n var _props_className;\n return /*#__PURE__*/ (0, $6IYYA$react).createElement(\"section\", {\n ...(0, $6IYYA$filterDOMProps)(props),\n ...dialogProps,\n ref: ref,\n slot: props.slot || undefined,\n style: props.style,\n className: (_props_className = props.className) !== null && _props_className !== void 0 ? _props_className : 'react-aria-Dialog'\n }, /*#__PURE__*/ (0, $6IYYA$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n (0, $4e85f108e88277b8$export$d688439359537581),\n {\n slots: {\n [(0, $64fa3d84918910a7$export$c62b8e45d58ddad9)]: {},\n title: {\n ...titleProps,\n level: 2\n }\n }\n }\n ]\n ]\n }, children));\n}\n/**\n * A dialog is an overlay shown above other content in an application.\n */ const $de32f1b87079253c$export$3ddf2d174ce01153 = /*#__PURE__*/ (0, $6IYYA$forwardRef)($de32f1b87079253c$var$Dialog);\n\n\nexport {$de32f1b87079253c$export$8b93a07348a7730c as DialogContext, $de32f1b87079253c$export$d2f961adcb0afbe as OverlayTriggerStateContext, $de32f1b87079253c$export$2e1e1122cf0cba88 as DialogTrigger, $de32f1b87079253c$export$3ddf2d174ce01153 as Dialog};\n//# sourceMappingURL=Dialog.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport $3zqIJ$react, {createContext as $3zqIJ$createContext, forwardRef as $3zqIJ$forwardRef} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $63df2425e2108aa8$export$744d98a3b8a94e1c = /*#__PURE__*/ (0, $3zqIJ$createContext)({});\nfunction $63df2425e2108aa8$var$Keyboard(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $63df2425e2108aa8$export$744d98a3b8a94e1c);\n return /*#__PURE__*/ (0, $3zqIJ$react).createElement(\"kbd\", {\n dir: \"ltr\",\n ...props,\n ref: ref\n });\n}\nconst $63df2425e2108aa8$export$16e4d70cc375e707 = /*#__PURE__*/ (0, $3zqIJ$forwardRef)($63df2425e2108aa8$var$Keyboard);\n\n\nexport {$63df2425e2108aa8$export$744d98a3b8a94e1c as KeyboardContext, $63df2425e2108aa8$export$16e4d70cc375e707 as Keyboard};\n//# sourceMappingURL=Keyboard.module.js.map\n","import $gtysd$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $9fc4852771d079eb$var$Section(props) {\n return null;\n}\n$9fc4852771d079eb$var$Section.getCollectionNode = function* getCollectionNode(props) {\n let { children: children, title: title, items: items } = props;\n yield {\n type: 'section',\n props: props,\n hasChildNodes: true,\n rendered: title,\n 'aria-label': props['aria-label'],\n *childNodes () {\n if (typeof children === 'function') {\n if (!items) throw new Error('props.children was a function but props.items is missing');\n for (let item of items)yield {\n type: 'item',\n value: item,\n renderer: children\n };\n } else {\n let items = [];\n (0, $gtysd$react).Children.forEach(children, (child)=>{\n items.push({\n type: 'item',\n element: child\n });\n });\n yield* items;\n }\n }\n };\n};\n// We don't want getCollectionNode to show up in the type definition\nlet $9fc4852771d079eb$export$6e2c8f0811a474ce = $9fc4852771d079eb$var$Section;\n\n\nexport {$9fc4852771d079eb$export$6e2c8f0811a474ce as Section};\n//# sourceMappingURL=Section.module.js.map\n","import {CollectionRendererContext as $7135fc7d473fd974$export$4feb769f8ddf26c5, SectionContext as $7135fc7d473fd974$export$d40e14dec8b060a8, usePersistedKeys as $7135fc7d473fd974$export$90e00781bc59d8f9} from \"./Collection.mjs\";\nimport {Provider as $64fa3d84918910a7$export$2881499e37b75b9a, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3, useSlot as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, useSlottedContext as $64fa3d84918910a7$export$fabf2dc03a41866e} from \"./utils.mjs\";\nimport {HeaderContext as $72a5793c14baf454$export$e0e4026c12a8bdbb} from \"./Header.mjs\";\nimport {KeyboardContext as $63df2425e2108aa8$export$744d98a3b8a94e1c} from \"./Keyboard.mjs\";\nimport {OverlayTriggerStateContext as $de32f1b87079253c$export$d2f961adcb0afbe} from \"./Dialog.mjs\";\nimport {PopoverContext as $07b14b47974efb58$export$9b9a0cd73afb7ca4} from \"./Popover.mjs\";\nimport {SeparatorContext as $431f98aba6844401$export$6615d83f6de245ce} from \"./Separator.mjs\";\nimport {TextContext as $514c0188e459b4c0$export$9afb8bc826b033ea} from \"./Text.mjs\";\nimport {useMenuTrigger as $kM2ZM$useMenuTrigger, useMenu as $kM2ZM$useMenu, FocusScope as $kM2ZM$FocusScope, useMenuSection as $kM2ZM$useMenuSection, useMenuItem as $kM2ZM$useMenuItem, useFocusRing as $kM2ZM$useFocusRing, mergeProps as $kM2ZM$mergeProps} from \"react-aria\";\nimport {useMenuTriggerState as $kM2ZM$useMenuTriggerState, useTreeState as $kM2ZM$useTreeState} from \"react-stately\";\nimport {createBranchComponent as $kM2ZM$createBranchComponent, CollectionBuilder as $kM2ZM$CollectionBuilder, Collection as $kM2ZM$Collection, createLeafComponent as $kM2ZM$createLeafComponent} from \"@react-aria/collections\";\nimport {useResizeObserver as $kM2ZM$useResizeObserver, useObjectRef as $kM2ZM$useObjectRef, filterDOMProps as $kM2ZM$filterDOMProps} from \"@react-aria/utils\";\nimport {PressResponder as $kM2ZM$PressResponder, useInteractOutside as $kM2ZM$useInteractOutside, useHover as $kM2ZM$useHover} from \"@react-aria/interactions\";\nimport $kM2ZM$react, {createContext as $kM2ZM$createContext, useRef as $kM2ZM$useRef, useState as $kM2ZM$useState, useCallback as $kM2ZM$useCallback, useContext as $kM2ZM$useContext, useEffect as $kM2ZM$useEffect, forwardRef as $kM2ZM$forwardRef} from \"react\";\nimport {useSubmenuTriggerState as $kM2ZM$useSubmenuTriggerState} from \"@react-stately/menu\";\nimport {useSubmenuTrigger as $kM2ZM$useSubmenuTrigger} from \"@react-aria/menu\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst $3674c52c6b3c5bce$export$c7e742effb1c51e2 = /*#__PURE__*/ (0, $kM2ZM$createContext)(null);\nconst $3674c52c6b3c5bce$export$24aad8519b95b41b = /*#__PURE__*/ (0, $kM2ZM$createContext)(null);\nconst $3674c52c6b3c5bce$export$795aec4671cbae19 = /*#__PURE__*/ (0, $kM2ZM$createContext)(null);\nfunction $3674c52c6b3c5bce$export$27d2ad3c5815583e(props) {\n let state = (0, $kM2ZM$useMenuTriggerState)(props);\n let ref = (0, $kM2ZM$useRef)(null);\n let { menuTriggerProps: menuTriggerProps, menuProps: menuProps } = (0, $kM2ZM$useMenuTrigger)({\n ...props,\n type: 'menu'\n }, state, ref);\n // Allows menu width to match button\n let [buttonWidth, setButtonWidth] = (0, $kM2ZM$useState)(null);\n let onResize = (0, $kM2ZM$useCallback)(()=>{\n if (ref.current) setButtonWidth(ref.current.offsetWidth + 'px');\n }, [\n ref\n ]);\n (0, $kM2ZM$useResizeObserver)({\n ref: ref,\n onResize: onResize\n });\n let scrollRef = (0, $kM2ZM$useRef)(null);\n return /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $3674c52c6b3c5bce$export$c7e742effb1c51e2,\n {\n ...menuProps,\n ref: scrollRef\n }\n ],\n [\n (0, $de32f1b87079253c$export$d2f961adcb0afbe),\n state\n ],\n [\n $3674c52c6b3c5bce$export$795aec4671cbae19,\n state\n ],\n [\n (0, $07b14b47974efb58$export$9b9a0cd73afb7ca4),\n {\n trigger: 'MenuTrigger',\n triggerRef: ref,\n scrollRef: scrollRef,\n placement: 'bottom start',\n style: {\n '--trigger-width': buttonWidth\n }\n }\n ]\n ]\n }, /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $kM2ZM$PressResponder), {\n ...menuTriggerProps,\n ref: ref,\n isPressed: state.isOpen\n }, props.children));\n}\nconst $3674c52c6b3c5bce$var$SubmenuTriggerContext = /*#__PURE__*/ (0, $kM2ZM$createContext)(null);\nconst $3674c52c6b3c5bce$export$ecabc99eeffab7ca = /*#__PURE__*/ (0, $kM2ZM$createBranchComponent)('submenutrigger', (props, ref, item)=>{\n let { CollectionBranch: CollectionBranch } = (0, $kM2ZM$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));\n let state = (0, $kM2ZM$useContext)($3674c52c6b3c5bce$export$24aad8519b95b41b);\n let rootMenuTriggerState = (0, $kM2ZM$useContext)($3674c52c6b3c5bce$export$795aec4671cbae19);\n let submenuTriggerState = (0, $kM2ZM$useSubmenuTriggerState)({\n triggerKey: item.key\n }, rootMenuTriggerState);\n let submenuRef = (0, $kM2ZM$useRef)(null);\n let itemRef = (0, $kM2ZM$useObjectRef)(ref);\n let popoverContext = (0, $64fa3d84918910a7$export$fabf2dc03a41866e)((0, $07b14b47974efb58$export$9b9a0cd73afb7ca4));\n let { parentMenuRef: parentMenuRef } = (0, $kM2ZM$useContext)($3674c52c6b3c5bce$var$SubmenuTriggerContext);\n let { submenuTriggerProps: submenuTriggerProps, submenuProps: submenuProps, popoverProps: popoverProps } = (0, $kM2ZM$useSubmenuTrigger)({\n parentMenuRef: parentMenuRef,\n submenuRef: submenuRef,\n delay: props.delay\n }, submenuTriggerState, itemRef);\n return /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $3674c52c6b3c5bce$var$MenuItemContext,\n {\n ...submenuTriggerProps,\n onAction: undefined,\n ref: itemRef\n }\n ],\n [\n $3674c52c6b3c5bce$export$c7e742effb1c51e2,\n submenuProps\n ],\n [\n (0, $de32f1b87079253c$export$d2f961adcb0afbe),\n submenuTriggerState\n ],\n [\n (0, $07b14b47974efb58$export$9b9a0cd73afb7ca4),\n {\n ref: submenuRef,\n trigger: 'SubmenuTrigger',\n triggerRef: itemRef,\n placement: 'end top',\n UNSTABLE_portalContainer: popoverContext.UNSTABLE_portalContainer || undefined,\n ...popoverProps\n }\n ]\n ]\n }, /*#__PURE__*/ (0, $kM2ZM$react).createElement(CollectionBranch, {\n collection: state.collection,\n parent: item\n }), props.children[1]);\n}, (props)=>props.children[0]);\nfunction $3674c52c6b3c5bce$var$Menu(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $3674c52c6b3c5bce$export$c7e742effb1c51e2);\n // Delay rendering the actual menu until we have the collection so that auto focus works properly.\n return /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $kM2ZM$CollectionBuilder), {\n content: /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $kM2ZM$Collection), props)\n }, (collection)=>collection.size > 0 && /*#__PURE__*/ (0, $kM2ZM$react).createElement($3674c52c6b3c5bce$var$MenuInner, {\n props: props,\n collection: collection,\n menuRef: ref\n }));\n}\nfunction $3674c52c6b3c5bce$var$MenuInner({ props: props, collection: collection, menuRef: ref }) {\n let state = (0, $kM2ZM$useTreeState)({\n ...props,\n collection: collection,\n children: undefined\n });\n let [popoverContainer, setPopoverContainer] = (0, $kM2ZM$useState)(null);\n let { isVirtualized: isVirtualized, CollectionRoot: CollectionRoot } = (0, $kM2ZM$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));\n let { menuProps: menuProps } = (0, $kM2ZM$useMenu)({\n ...props,\n isVirtualized: isVirtualized\n }, state, ref);\n let rootMenuTriggerState = (0, $kM2ZM$useContext)($3674c52c6b3c5bce$export$795aec4671cbae19);\n let popoverContext = (0, $kM2ZM$useContext)((0, $07b14b47974efb58$export$9b9a0cd73afb7ca4));\n let isSubmenu = (popoverContext === null || popoverContext === void 0 ? void 0 : popoverContext.trigger) === 'SubmenuTrigger';\n (0, $kM2ZM$useInteractOutside)({\n ref: ref,\n onInteractOutside: (e)=>{\n if (rootMenuTriggerState && !(popoverContainer === null || popoverContainer === void 0 ? void 0 : popoverContainer.contains(e.target))) rootMenuTriggerState.close();\n },\n isDisabled: isSubmenu || (rootMenuTriggerState === null || rootMenuTriggerState === void 0 ? void 0 : rootMenuTriggerState.expandedKeysStack.length) === 0\n });\n let prevPopoverContainer = (0, $kM2ZM$useRef)(null);\n let [leftOffset, setLeftOffset] = (0, $kM2ZM$useState)({\n left: 0\n });\n (0, $kM2ZM$useEffect)(()=>{\n if (popoverContainer && prevPopoverContainer.current !== popoverContainer && leftOffset.left === 0) {\n prevPopoverContainer.current = popoverContainer;\n let { left: left } = popoverContainer.getBoundingClientRect();\n setLeftOffset({\n left: -1 * left\n });\n }\n }, [\n leftOffset,\n popoverContainer\n ]);\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n defaultClassName: 'react-aria-Menu',\n className: props.className,\n style: props.style,\n values: {}\n });\n return /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $kM2ZM$FocusScope), null, /*#__PURE__*/ (0, $kM2ZM$react).createElement(\"div\", {\n ...(0, $kM2ZM$filterDOMProps)(props),\n ...menuProps,\n ...renderProps,\n ref: ref,\n slot: props.slot || undefined,\n onScroll: props.onScroll\n }, /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $3674c52c6b3c5bce$export$24aad8519b95b41b,\n state\n ],\n [\n (0, $431f98aba6844401$export$6615d83f6de245ce),\n {\n elementType: 'div'\n }\n ],\n [\n (0, $07b14b47974efb58$export$9b9a0cd73afb7ca4),\n {\n UNSTABLE_portalContainer: popoverContainer || undefined\n }\n ],\n [\n (0, $7135fc7d473fd974$export$d40e14dec8b060a8),\n {\n render: $3674c52c6b3c5bce$var$MenuSection\n }\n ],\n [\n $3674c52c6b3c5bce$var$SubmenuTriggerContext,\n {\n parentMenuRef: ref\n }\n ],\n [\n $3674c52c6b3c5bce$var$MenuItemContext,\n null\n ]\n ]\n }, /*#__PURE__*/ (0, $kM2ZM$react).createElement(CollectionRoot, {\n collection: collection,\n persistedKeys: (0, $7135fc7d473fd974$export$90e00781bc59d8f9)(state.selectionManager.focusedKey),\n scrollRef: ref\n }))), /*#__PURE__*/ (0, $kM2ZM$react).createElement(\"div\", {\n ref: setPopoverContainer,\n style: {\n width: '100vw',\n position: 'absolute',\n top: 0,\n ...leftOffset\n }\n }));\n}\n/**\n * A menu displays a list of actions or options that a user can choose.\n */ const $3674c52c6b3c5bce$export$d9b273488cd8ce6f = /*#__PURE__*/ (0, $kM2ZM$forwardRef)($3674c52c6b3c5bce$var$Menu);\nfunction $3674c52c6b3c5bce$var$MenuSection(props, ref, section) {\n var _section_props, _section_props1;\n let state = (0, $kM2ZM$useContext)($3674c52c6b3c5bce$export$24aad8519b95b41b);\n let { CollectionBranch: CollectionBranch } = (0, $kM2ZM$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));\n let [headingRef, heading] = (0, $64fa3d84918910a7$export$9d4c57ee4c6ffdd8)();\n var _section_props_arialabel;\n let { headingProps: headingProps, groupProps: groupProps } = (0, $kM2ZM$useMenuSection)({\n heading: heading,\n 'aria-label': (_section_props_arialabel = section.props['aria-label']) !== null && _section_props_arialabel !== void 0 ? _section_props_arialabel : undefined\n });\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n defaultClassName: 'react-aria-Section',\n className: (_section_props = section.props) === null || _section_props === void 0 ? void 0 : _section_props.className,\n style: (_section_props1 = section.props) === null || _section_props1 === void 0 ? void 0 : _section_props1.style,\n values: {}\n });\n return /*#__PURE__*/ (0, $kM2ZM$react).createElement(\"section\", {\n ...(0, $kM2ZM$filterDOMProps)(props),\n ...groupProps,\n ...renderProps,\n ref: ref\n }, /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $72a5793c14baf454$export$e0e4026c12a8bdbb).Provider, {\n value: {\n ...headingProps,\n ref: headingRef\n }\n }, /*#__PURE__*/ (0, $kM2ZM$react).createElement(CollectionBranch, {\n collection: state.collection,\n parent: section\n })));\n}\nconst $3674c52c6b3c5bce$var$MenuItemContext = /*#__PURE__*/ (0, $kM2ZM$createContext)(null);\nconst $3674c52c6b3c5bce$export$2ce376c2cc3355c8 = /*#__PURE__*/ (0, $kM2ZM$createLeafComponent)('item', function MenuItem(props, forwardedRef, item) {\n var _useSlottedContext;\n [props, forwardedRef] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, forwardedRef, $3674c52c6b3c5bce$var$MenuItemContext);\n let id = (_useSlottedContext = (0, $64fa3d84918910a7$export$fabf2dc03a41866e)($3674c52c6b3c5bce$var$MenuItemContext)) === null || _useSlottedContext === void 0 ? void 0 : _useSlottedContext.id;\n let state = (0, $kM2ZM$useContext)($3674c52c6b3c5bce$export$24aad8519b95b41b);\n let ref = (0, $kM2ZM$useObjectRef)(forwardedRef);\n let { menuItemProps: menuItemProps, labelProps: labelProps, descriptionProps: descriptionProps, keyboardShortcutProps: keyboardShortcutProps, ...states } = (0, $kM2ZM$useMenuItem)({\n ...props,\n id: id,\n key: item.key\n }, state, ref);\n let { isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $kM2ZM$useFocusRing)();\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $kM2ZM$useHover)({\n isDisabled: states.isDisabled\n });\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-MenuItem',\n values: {\n ...states,\n isHovered: isHovered,\n isFocusVisible: isFocusVisible,\n selectionMode: state.selectionManager.selectionMode,\n selectionBehavior: state.selectionManager.selectionBehavior,\n hasSubmenu: !!props['aria-haspopup'],\n isOpen: props['aria-expanded'] === 'true'\n }\n });\n let ElementType = props.href ? 'a' : 'div';\n return /*#__PURE__*/ (0, $kM2ZM$react).createElement(ElementType, {\n ...(0, $kM2ZM$mergeProps)(menuItemProps, focusProps, hoverProps),\n ...renderProps,\n ref: ref,\n \"data-disabled\": states.isDisabled || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-focused\": states.isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-pressed\": states.isPressed || undefined,\n \"data-selected\": states.isSelected || undefined,\n \"data-selection-mode\": state.selectionManager.selectionMode === 'none' ? undefined : state.selectionManager.selectionMode,\n \"data-has-submenu\": !!props['aria-haspopup'] || undefined,\n \"data-open\": props['aria-expanded'] === 'true' || undefined\n }, /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n (0, $514c0188e459b4c0$export$9afb8bc826b033ea),\n {\n slots: {\n label: labelProps,\n description: descriptionProps\n }\n }\n ],\n [\n (0, $63df2425e2108aa8$export$744d98a3b8a94e1c),\n keyboardShortcutProps\n ]\n ]\n }, renderProps.children));\n});\n\n\nexport {$3674c52c6b3c5bce$export$c7e742effb1c51e2 as MenuContext, $3674c52c6b3c5bce$export$24aad8519b95b41b as MenuStateContext, $3674c52c6b3c5bce$export$795aec4671cbae19 as RootMenuTriggerStateContext, $3674c52c6b3c5bce$export$27d2ad3c5815583e as MenuTrigger, $3674c52c6b3c5bce$export$ecabc99eeffab7ca as SubmenuTrigger, $3674c52c6b3c5bce$export$d9b273488cd8ce6f as Menu, $3674c52c6b3c5bce$export$2ce376c2cc3355c8 as MenuItem};\n//# sourceMappingURL=Menu.module.js.map\n","import $20k3Y$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $312ae3b56a94a86e$var$TableHeader(props) {\n return null;\n}\n$312ae3b56a94a86e$var$TableHeader.getCollectionNode = function* getCollectionNode(props, context) {\n let { children: children, columns: columns } = props;\n // Clear columns so they aren't double added in strict mode.\n context.columns = [];\n if (typeof children === 'function') {\n if (!columns) throw new Error('props.children was a function but props.columns is missing');\n for (let column of columns)yield {\n type: 'column',\n value: column,\n renderer: children\n };\n } else {\n let columns = [];\n (0, $20k3Y$react).Children.forEach(children, (column)=>{\n columns.push({\n type: 'column',\n element: column\n });\n });\n yield* columns;\n }\n};\n/**\n * A TableHeader is a container for the Column elements in a Table. Columns can be statically defined\n * as children, or generated dynamically using a function based on the data passed to the `columns` prop.\n */ // We don't want getCollectionNode to show up in the type definition\nlet $312ae3b56a94a86e$export$f850895b287ef28e = $312ae3b56a94a86e$var$TableHeader;\n\n\nexport {$312ae3b56a94a86e$export$f850895b287ef28e as TableHeader};\n//# sourceMappingURL=TableHeader.module.js.map\n","import $6tF2U$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $4ae5314bf50db1a3$var$TableBody(props) {\n return null;\n}\n$4ae5314bf50db1a3$var$TableBody.getCollectionNode = function* getCollectionNode(props) {\n let { children: children, items: items } = props;\n yield {\n type: 'body',\n hasChildNodes: true,\n props: props,\n *childNodes () {\n if (typeof children === 'function') {\n if (!items) throw new Error('props.children was a function but props.items is missing');\n for (let item of items)yield {\n type: 'item',\n value: item,\n renderer: children\n };\n } else {\n let items = [];\n (0, $6tF2U$react).Children.forEach(children, (item)=>{\n items.push({\n type: 'item',\n element: item\n });\n });\n yield* items;\n }\n }\n };\n};\n/**\n * A TableBody is a container for the Row elements of a Table. Rows can be statically defined\n * as children, or generated dynamically using a function based on the data passed to the `items` prop.\n */ // We don't want getCollectionNode to show up in the type definition\nlet $4ae5314bf50db1a3$export$76ccd210b9029917 = $4ae5314bf50db1a3$var$TableBody;\n\n\nexport {$4ae5314bf50db1a3$export$76ccd210b9029917 as TableBody};\n//# sourceMappingURL=TableBody.module.js.map\n","import $kIQ5E$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $1cd244557c2f97d5$var$Column(props) {\n return null;\n}\n$1cd244557c2f97d5$var$Column.getCollectionNode = function* getCollectionNode(props, context) {\n let { title: title, children: children, childColumns: childColumns } = props;\n let rendered = title || children;\n let textValue = props.textValue || (typeof rendered === 'string' ? rendered : '') || props['aria-label'];\n let fullNodes = yield {\n type: 'column',\n hasChildNodes: !!childColumns || title && (0, $kIQ5E$react).Children.count(children) > 0,\n rendered: rendered,\n textValue: textValue,\n props: props,\n *childNodes () {\n if (childColumns) for (let child of childColumns)yield {\n type: 'column',\n value: child\n };\n else if (title) {\n let childColumns = [];\n (0, $kIQ5E$react).Children.forEach(children, (child)=>{\n childColumns.push({\n type: 'column',\n element: child\n });\n });\n yield* childColumns;\n }\n },\n shouldInvalidate (newContext) {\n // This is a bit of a hack, but it works.\n // If this method is called, then there's a cached version of this node available.\n // But, we need to keep the list of columns in the new context up to date.\n updateContext(newContext);\n return false;\n }\n };\n let updateContext = (context)=>{\n // register leaf columns on the context so that <Row> can access them\n for (let node of fullNodes)if (!node.hasChildNodes) context.columns.push(node);\n };\n updateContext(context);\n};\n/**\n * A Column represents a field of each item within a Table. Columns may also contain nested\n * Column elements to represent column groups. Nested columns can be statically defined as\n * children, or dynamically generated using a function based on the `childColumns` prop.\n */ // We don't want getCollectionNode to show up in the type definition\nlet $1cd244557c2f97d5$export$816b5d811295e6bc = $1cd244557c2f97d5$var$Column;\n\n\nexport {$1cd244557c2f97d5$export$816b5d811295e6bc as Column};\n//# sourceMappingURL=Column.module.js.map\n","import $7GIZw$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $70d70eb16ea48428$var$Row(props) {\n return null;\n}\n$70d70eb16ea48428$var$Row.getCollectionNode = function* getCollectionNode(props, context) {\n let { children: children, textValue: textValue, UNSTABLE_childItems: UNSTABLE_childItems } = props;\n yield {\n type: 'item',\n props: props,\n textValue: textValue,\n 'aria-label': props['aria-label'],\n hasChildNodes: true,\n *childNodes () {\n // Process cells first\n if (context.showDragButtons) yield {\n type: 'cell',\n key: 'header-drag',\n props: {\n isDragButtonCell: true\n }\n };\n if (context.showSelectionCheckboxes && context.selectionMode !== 'none') yield {\n type: 'cell',\n key: 'header',\n props: {\n isSelectionCell: true\n }\n };\n if (typeof children === 'function') {\n for (let column of context.columns)yield {\n type: 'cell',\n element: children(column.key),\n key: column.key // this is combined with the row key by CollectionBuilder\n };\n if (UNSTABLE_childItems) for (let child of UNSTABLE_childItems)// Note: in order to reuse the render function of TableBody for our child rows, we just need to yield a type and a value here. CollectionBuilder will then look up\n // the parent renderer and use that to build the full node of this child row, using the value provided here to generate the cells\n yield {\n type: 'item',\n value: child\n };\n } else {\n let cells = [];\n let childRows = [];\n (0, $7GIZw$react).Children.forEach(children, (node)=>{\n if (node.type === $70d70eb16ea48428$var$Row) {\n if (cells.length < context.columns.length) throw new Error('All of a Row\\'s child Cells must be positioned before any child Rows.');\n childRows.push({\n type: 'item',\n element: node\n });\n } else cells.push({\n type: 'cell',\n element: node\n });\n });\n if (cells.length !== context.columns.length) throw new Error(`Cell count must match column count. Found ${cells.length} cells and ${context.columns.length} columns.`);\n yield* cells;\n yield* childRows;\n }\n },\n shouldInvalidate (newContext) {\n // Invalidate all rows if the columns changed.\n return newContext.columns.length !== context.columns.length || newContext.columns.some((c, i)=>c.key !== context.columns[i].key) || newContext.showSelectionCheckboxes !== context.showSelectionCheckboxes || newContext.showDragButtons !== context.showDragButtons || newContext.selectionMode !== context.selectionMode;\n }\n };\n};\n/**\n * A Row represents a single item in a Table and contains Cell elements for each column.\n * Cells can be statically defined as children, or generated dynamically using a function\n * based on the columns defined in the TableHeader.\n */ // We don't want getCollectionNode to show up in the type definition\nlet $70d70eb16ea48428$export$b59bdbef9ce70de2 = $70d70eb16ea48428$var$Row;\n\n\nexport {$70d70eb16ea48428$export$b59bdbef9ce70de2 as Row};\n//# sourceMappingURL=Row.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $941d1d9a6a28982a$var$Cell(props) {\n return null;\n}\n$941d1d9a6a28982a$var$Cell.getCollectionNode = function* getCollectionNode(props) {\n let { children: children } = props;\n let textValue = props.textValue || (typeof children === 'string' ? children : '') || props['aria-label'] || '';\n yield {\n type: 'cell',\n props: props,\n rendered: children,\n textValue: textValue,\n 'aria-label': props['aria-label'],\n hasChildNodes: false\n };\n};\n/**\n * A Cell represents the value of a single Column within a Table Row.\n */ // We don't want getCollectionNode to show up in the type definition\nlet $941d1d9a6a28982a$export$f6f0c3fe4ec306ea = $941d1d9a6a28982a$var$Cell;\n\n\nexport {$941d1d9a6a28982a$export$f6f0c3fe4ec306ea as Cell};\n//# sourceMappingURL=Cell.module.js.map\n","import {Provider as $64fa3d84918910a7$export$2881499e37b75b9a, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useEnterAnimation as $64fa3d84918910a7$export$6d3443f2c48bfc20, useExitAnimation as $64fa3d84918910a7$export$45fda7c47f93fd48, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {OverlayArrowContext as $44f671af83e7d9e0$export$2de4954e8ae13b9f} from \"./OverlayArrow.mjs\";\nimport {useTooltipTrigger as $cCslV$useTooltipTrigger, OverlayContainer as $cCslV$OverlayContainer, useOverlayPosition as $cCslV$useOverlayPosition, mergeProps as $cCslV$mergeProps, useTooltip as $cCslV$useTooltip} from \"react-aria\";\nimport {FocusableProvider as $cCslV$FocusableProvider} from \"@react-aria/focus\";\nimport {useTooltipTriggerState as $cCslV$useTooltipTriggerState} from \"react-stately\";\nimport $cCslV$react, {createContext as $cCslV$createContext, useRef as $cCslV$useRef, useContext as $cCslV$useContext, forwardRef as $cCslV$forwardRef, useState as $cCslV$useState} from \"react\";\nimport {useLayoutEffect as $cCslV$useLayoutEffect} from \"@react-aria/utils\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\nconst $4e3b923658d69c60$export$7a7623236eec67fa = /*#__PURE__*/ (0, $cCslV$createContext)(null);\nconst $4e3b923658d69c60$export$39ae08fa83328b12 = /*#__PURE__*/ (0, $cCslV$createContext)(null);\nfunction $4e3b923658d69c60$export$8c610744efcf8a1d(props) {\n let state = (0, $cCslV$useTooltipTriggerState)(props);\n let ref = (0, $cCslV$useRef)(null);\n let { triggerProps: triggerProps, tooltipProps: tooltipProps } = (0, $cCslV$useTooltipTrigger)(props, state, ref);\n return /*#__PURE__*/ (0, $cCslV$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $4e3b923658d69c60$export$7a7623236eec67fa,\n state\n ],\n [\n $4e3b923658d69c60$export$39ae08fa83328b12,\n {\n ...tooltipProps,\n triggerRef: ref\n }\n ]\n ]\n }, /*#__PURE__*/ (0, $cCslV$react).createElement((0, $cCslV$FocusableProvider), {\n ...triggerProps,\n ref: ref\n }, props.children));\n}\nfunction $4e3b923658d69c60$var$Tooltip({ UNSTABLE_portalContainer: UNSTABLE_portalContainer, ...props }, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $4e3b923658d69c60$export$39ae08fa83328b12);\n let contextState = (0, $cCslV$useContext)($4e3b923658d69c60$export$7a7623236eec67fa);\n let localState = (0, $cCslV$useTooltipTriggerState)(props);\n let state = props.isOpen != null || props.defaultOpen != null || !contextState ? localState : contextState;\n let isExiting = (0, $64fa3d84918910a7$export$45fda7c47f93fd48)(ref, state.isOpen) || props.isExiting || false;\n if (!state.isOpen && !isExiting) return null;\n return /*#__PURE__*/ (0, $cCslV$react).createElement((0, $cCslV$OverlayContainer), {\n portalContainer: UNSTABLE_portalContainer\n }, /*#__PURE__*/ (0, $cCslV$react).createElement($4e3b923658d69c60$var$TooltipInner, {\n ...props,\n tooltipRef: ref,\n isExiting: isExiting\n }));\n}\n/**\n * A tooltip displays a description of an element on hover or focus.\n */ const $4e3b923658d69c60$export$28c660c63b792dea = /*#__PURE__*/ (0, $cCslV$forwardRef)($4e3b923658d69c60$var$Tooltip);\nfunction $4e3b923658d69c60$var$TooltipInner(props) {\n let state = (0, $cCslV$useContext)($4e3b923658d69c60$export$7a7623236eec67fa);\n // Calculate the arrow size internally\n // Referenced from: packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx\n let arrowRef = (0, $cCslV$useRef)(null);\n let [arrowWidth, setArrowWidth] = (0, $cCslV$useState)(0);\n (0, $cCslV$useLayoutEffect)(()=>{\n if (arrowRef.current && state.isOpen) setArrowWidth(arrowRef.current.getBoundingClientRect().width);\n }, [\n state.isOpen,\n arrowRef\n ]);\n let { overlayProps: overlayProps, arrowProps: arrowProps, placement: placement } = (0, $cCslV$useOverlayPosition)({\n placement: props.placement || 'top',\n targetRef: props.triggerRef,\n overlayRef: props.tooltipRef,\n offset: props.offset,\n crossOffset: props.crossOffset,\n isOpen: state.isOpen,\n arrowSize: arrowWidth,\n arrowBoundaryOffset: props.arrowBoundaryOffset,\n shouldFlip: props.shouldFlip\n });\n let isEntering = (0, $64fa3d84918910a7$export$6d3443f2c48bfc20)(props.tooltipRef, !!placement) || props.isEntering || false;\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-Tooltip',\n values: {\n placement: placement,\n isEntering: isEntering,\n isExiting: props.isExiting,\n state: state\n }\n });\n props = (0, $cCslV$mergeProps)(props, overlayProps);\n let { tooltipProps: tooltipProps } = (0, $cCslV$useTooltip)(props, state);\n return /*#__PURE__*/ (0, $cCslV$react).createElement(\"div\", {\n ...tooltipProps,\n ref: props.tooltipRef,\n ...renderProps,\n style: {\n ...overlayProps.style,\n ...renderProps.style\n },\n \"data-placement\": placement,\n \"data-entering\": isEntering || undefined,\n \"data-exiting\": props.isExiting || undefined\n }, /*#__PURE__*/ (0, $cCslV$react).createElement((0, $44f671af83e7d9e0$export$2de4954e8ae13b9f).Provider, {\n value: {\n ...arrowProps,\n placement: placement,\n ref: arrowRef\n }\n }, renderProps.children));\n}\n\n\nexport {$4e3b923658d69c60$export$7a7623236eec67fa as TooltipTriggerStateContext, $4e3b923658d69c60$export$39ae08fa83328b12 as TooltipContext, $4e3b923658d69c60$export$8c610744efcf8a1d as TooltipTrigger, $4e3b923658d69c60$export$28c660c63b792dea as Tooltip};\n//# sourceMappingURL=Tooltip.module.js.map\n","import { useState } from \"react\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { Breakpoint } from \"../constants\";\r\n\r\ntype BreakpointDirection = \"up\" | \"down\";\r\n\r\nexport function useBreakpoint(\r\n breakpoint: Breakpoint,\r\n direction: BreakpointDirection = \"down\"\r\n) {\r\n const query =\r\n direction === \"down\"\r\n ? `(max-width: ${breakpoint}px)`\r\n : `(min-width: ${breakpoint}px)`;\r\n\r\n const [matches, setMatches] = useState(() =>\r\n typeof window !== \"undefined\" ? window.matchMedia(query).matches : false\r\n );\r\n\r\n useEffect(() => {\r\n if (typeof window === \"undefined\") return;\r\n\r\n const mediaQuery = window.matchMedia(query);\r\n const handler = (event: MediaQueryListEvent) => {\r\n setMatches(event.matches);\r\n };\r\n\r\n mediaQuery.addEventListener(\"change\", handler);\r\n return () => mediaQuery.removeEventListener(\"change\", handler);\r\n }, [query]);\r\n\r\n return matches;\r\n}\r\n","\"use client\";\r\n\r\nimport { ReactNode, useEffect, useRef, useState } from \"react\";\r\n\r\nimport { Button, Menu, MenuItem, MenuTrigger } from \"react-aria-components\";\r\nimport { BREAKPOINTS } from \"../constants\";\r\nimport { useBreakpoint } from \"../hooks/useBreakpoint\";\r\nimport ActionMenu, { ActionMenuAction } from \"./ActionMenu\";\r\nimport { Popover } from \"./Popover\";\r\n\r\nimport { useTheme } from \"..\";\r\nimport \"./ResponsiveMenuTrigger.css\";\r\n\r\n/**\r\n * A component that displays either a popover menu or an action menu\r\n * depending on the screen size when the menu trigger is pressed.\r\n *\r\n * @param {ResponsiveMenuProps} props - The props for the ResponsiveMenuTrigger component.\r\n * @returns {JSX.Element} - The ResponsiveMenuTrigger component.\r\n */\r\n\r\ninterface TriggerProps {\r\n \"data-testid\"?: string;\r\n disabled?: boolean;\r\n ref?: React.RefObject<HTMLButtonElement>;\r\n onClick?: () => void;\r\n \"aria-label\": string;\r\n}\r\n\r\nexport interface ResponsiveMenuProps {\r\n /** The id of the menu */\r\n menuId?: string;\r\n\r\n /** Custom trigger component. If not provided, defaults to ellipsis icon */\r\n renderTrigger?: (triggerProps: TriggerProps, isOpen: boolean) => ReactNode;\r\n\r\n /** Size of the trigger icon */\r\n size?: number;\r\n\r\n /** Array of menu actions/items to display */\r\n actions: ActionMenuAction[];\r\n\r\n /** Whether the menu is disabled */\r\n disabled?: boolean;\r\n\r\n /** Callback when menu closes */\r\n onClose?: () => void;\r\n\r\n /** Test ID for the trigger component */\r\n testId?: string;\r\n\r\n /** Test ID for the menu */\r\n menuTestId?: string;\r\n}\r\n\r\nconst EllipsisIcon = ({ size }: { size: number }) => (\r\n <svg viewBox=\"0 0 24 24\" width={size} height={size}>\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M4 14c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm8 0c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm8 0c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\r\n />\r\n </svg>\r\n);\r\n\r\nexport function ResponsiveMenuTrigger({\r\n renderTrigger,\r\n menuId,\r\n size = 24,\r\n actions,\r\n disabled,\r\n onClose,\r\n testId: triggerTestId,\r\n menuTestId,\r\n}: ResponsiveMenuProps) {\r\n const { className } = useTheme();\r\n const isMobile = useBreakpoint(BREAKPOINTS.SMALL);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const triggerRef = useRef<HTMLButtonElement>(null);\r\n\r\n const commonTriggerProps: TriggerProps = {\r\n disabled,\r\n \"data-testid\": triggerTestId,\r\n \"aria-label\": \"Menu\",\r\n };\r\n\r\n const defaultTrigger = (\r\n <Button\r\n {...commonTriggerProps}\r\n ref={triggerRef}\r\n onPress={() => setIsOpen((prev) => !prev)}\r\n isDisabled={disabled}\r\n className={`proton-ResponsiveMenuTrigger__button ${className}`}\r\n >\r\n <EllipsisIcon size={size} />\r\n </Button>\r\n );\r\n\r\n const TriggerComponent = renderTrigger\r\n ? renderTrigger(\r\n { ...commonTriggerProps, onClick: () => setIsOpen((prev) => !prev) },\r\n isOpen\r\n )\r\n : defaultTrigger;\r\n\r\n // Handle onClose callback\r\n useEffect(() => {\r\n return () => {\r\n if (isOpen) {\r\n onClose?.();\r\n }\r\n };\r\n }, [isOpen, onClose]);\r\n\r\n if (isMobile) {\r\n return (\r\n <>\r\n {TriggerComponent}\r\n\r\n {isOpen && (\r\n <ActionMenu\r\n id={menuId}\r\n actions={actions}\r\n isOpen={isOpen}\r\n onClose={() => {\r\n setIsOpen(false);\r\n }}\r\n showCancel\r\n data-testid={menuTestId}\r\n />\r\n )}\r\n </>\r\n );\r\n }\r\n\r\n return (\r\n <MenuTrigger>\r\n {TriggerComponent}\r\n\r\n {isOpen && (\r\n <Popover\r\n state={{\r\n isOpen,\r\n setOpen: setIsOpen,\r\n open: () => setIsOpen(true),\r\n close: () => setIsOpen(false),\r\n toggle: () => setIsOpen(!isOpen),\r\n }}\r\n triggerRef={triggerRef}\r\n arrow={false}\r\n >\r\n <Menu\r\n className=\"proton-ListBox proton-ResponsiveMenuTrigger__menu\"\r\n id={menuId}\r\n autoFocus\r\n data-testid={menuTestId}\r\n >\r\n {actions.map((action) => (\r\n <MenuItem\r\n key={action.key}\r\n href={action.to}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n onAction={() => {\r\n action.onAction?.(action.key);\r\n setTimeout(() => {\r\n setIsOpen(false);\r\n }, 200);\r\n }}\r\n className=\"proton-ListBox__item proton-ResponsiveMenuTrigger__menu-item\"\r\n >\r\n {action.label}\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Popover>\r\n )}\r\n </MenuTrigger>\r\n );\r\n}\r\n\r\nexport default ResponsiveMenuTrigger;\r\n","\"use client\";\r\n\r\nimport { useRef } from \"react\";\r\nimport {\r\n AriaListBoxOptions,\r\n FocusScope,\r\n useListBox,\r\n useOption,\r\n} from \"react-aria\";\r\nimport { useSelectState } from \"react-stately\";\r\nimport { csx } from \"../utils\";\r\n\r\nimport \"./ListBox.css\";\r\n\r\ninterface ListBoxProps extends AriaListBoxOptions<unknown> {\r\n /**\r\n * State management object from react-stately\r\n */\r\n state: ReturnType<typeof useSelectState>;\r\n}\r\n\r\n/**\r\n * A list box component that renders a list of options\r\n * @interface ListBoxProps\r\n */\r\nconst ListBox = (props: ListBoxProps) => {\r\n let localRef = useRef<HTMLUListElement>(null);\r\n let { state } = props;\r\n let { listBoxProps } = useListBox(props, state, localRef);\r\n\r\n return (\r\n <FocusScope contain restoreFocus autoFocus>\r\n <ul\r\n {...listBoxProps}\r\n ref={localRef}\r\n data-testid=\"listbox\"\r\n className=\"proton-ListBox\"\r\n >\r\n {[...state.collection].map((item) => {\r\n return <ListBoxItem key={item.key} item={item} state={state} />;\r\n })}\r\n </ul>\r\n </FocusScope>\r\n );\r\n};\r\n\r\nexport function ListBoxItem({ item, state }) {\r\n let ref = useRef<HTMLLIElement>(null);\r\n let { optionProps, isSelected, isFocused, isDisabled } = useOption(\r\n { key: item.key },\r\n state,\r\n ref\r\n );\r\n\r\n return (\r\n <li\r\n {...optionProps}\r\n className={csx(\r\n \"proton-ListBox__item\",\r\n isFocused && \"proton-ListBox__item--focused\",\r\n isSelected && \"proton-ListBox__item--selected\",\r\n isDisabled && \"proton-ListBox__item--disabled\"\r\n )}\r\n ref={ref}\r\n >\r\n {item.rendered}\r\n </li>\r\n );\r\n}\r\n\r\nexport default ListBox;\r\n","\"use client\";\r\n\r\nimport { forwardRef, ReactNode, RefObject, useEffect, useRef } from \"react\";\r\nimport { HiddenSelect, useButton, useSelect } from \"react-aria\";\r\nimport { Item, useSelectState } from \"react-stately\";\r\nimport type { CollectionChildren } from \"@react-types/shared\";\r\n\r\nimport { csx } from \"../../utils\";\r\nimport ListBox from \"../ListBox\";\r\nimport Popover from \"../Popover\";\r\n\r\nimport \"./Select.css\";\r\n\r\ninterface SelectButtonProps {\r\n disabled?: boolean;\r\n isOpen?: boolean;\r\n children?: ReactNode;\r\n}\r\n\r\nexport const SelectButton = forwardRef<HTMLButtonElement, SelectButtonProps>(\r\n (props, ref: RefObject<HTMLButtonElement>) => {\r\n let { buttonProps } = useButton(\r\n {\r\n ...props,\r\n isDisabled: props.disabled,\r\n },\r\n ref\r\n );\r\n\r\n return (\r\n <button\r\n {...buttonProps}\r\n ref={ref}\r\n className={csx(\r\n \"proton-Select__trigger\",\r\n props.disabled && \"proton-Select__trigger--disabled\",\r\n !props.isOpen && \"proton-Select__trigger--closed\",\r\n props.isOpen && \"proton-Select__trigger--opened\"\r\n )}\r\n >\r\n {props.children}\r\n </button>\r\n );\r\n }\r\n);\r\n\r\nexport interface SelectProps<T> {\r\n /** The name of the select field\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#name\r\n */\r\n name: string;\r\n\r\n /** Label to display above the select\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label#text\r\n */\r\n label?: string;\r\n\r\n /** Whether the select is disabled */\r\n isDisabled?: boolean;\r\n\r\n /** Array of keys that should be disabled\r\n * @example [\"Thing 1\", \"Thing 2\"]\r\n */\r\n disabledKeys?: (string | number)[];\r\n\r\n /** Currently selected key */\r\n selectedKey?: string | number;\r\n\r\n /** Callback fired when selection changes */\r\n onSelectionChange?: (key: string | number) => void;\r\n\r\n /** Callback fired when the menu opens */\r\n onOpen?: () => void;\r\n\r\n /** Callback fired when the menu closes */\r\n onClose?: () => void;\r\n\r\n /** Array of items to display\r\n * @example [{ name: \"thing 1\", label: \"Thing 1\" }, { name: \"thing 2\", label: \"Thing 2\" }]\r\n */\r\n items?: T[];\r\n\r\n /** Test ID for the select */\r\n \"data-testid\"?: string;\r\n\r\n /** Children elements or render function */\r\n children: CollectionChildren<T>;\r\n}\r\n\r\n/**\r\n * A dropdown select menu that opens a popover. Supports controlled and uncontrolled modes.\r\n * @interface SelectProps\r\n */\r\nexport function SelectMenu<T extends object>({\r\n label,\r\n name,\r\n isDisabled,\r\n disabledKeys,\r\n selectedKey,\r\n onSelectionChange,\r\n onOpen,\r\n onClose,\r\n items,\r\n \"data-testid\": testId,\r\n children,\r\n}: SelectProps<T>) {\r\n const selectProps = {\r\n label,\r\n isDisabled,\r\n disabledKeys,\r\n selectedKey,\r\n items,\r\n \"data-testid\": testId,\r\n children,\r\n onSelectionChange,\r\n onOpenChange: (isOpen: boolean) => {\r\n if (isOpen) {\r\n onOpen?.();\r\n } else {\r\n onClose?.();\r\n }\r\n },\r\n };\r\n const state = useSelectState(selectProps);\r\n const triggerRef = useRef<HTMLButtonElement>(null);\r\n const popoverRef = useRef<HTMLDivElement>(null);\r\n const { labelProps, triggerProps, valueProps, menuProps } = useSelect(\r\n { ...selectProps, label: label || name },\r\n state,\r\n triggerRef\r\n );\r\n\r\n useEffect(() => {\r\n if (\r\n state.isOpen &&\r\n popoverRef.current &&\r\n triggerRef.current &&\r\n !popoverRef.current.style.minWidth\r\n ) {\r\n // Adjust the popover width to be at least the width of the trigger\r\n popoverRef.current.style.minWidth = `${triggerRef.current.offsetWidth}px`;\r\n }\r\n });\r\n\r\n return (\r\n <div\r\n className=\"proton-Select\"\r\n aria-label={label || name}\r\n aria-disabled={isDisabled}\r\n >\r\n {label ? (\r\n <div\r\n {...labelProps}\r\n className=\"proton-Select__label\"\r\n data-testid=\"select-label\"\r\n >\r\n {label}\r\n </div>\r\n ) : (\r\n // If no label is provided, render an invisible label for a11y\r\n <div {...labelProps} />\r\n )}\r\n\r\n <HiddenSelect\r\n isDisabled={isDisabled}\r\n state={state}\r\n triggerRef={triggerRef}\r\n label={label || name}\r\n name={name}\r\n data-testid=\"hidden-select-container\"\r\n />\r\n\r\n <SelectButton\r\n {...triggerProps}\r\n isOpen={state.isOpen}\r\n ref={triggerRef}\r\n disabled={isDisabled}\r\n data-testid={testId}\r\n >\r\n <div {...valueProps} className=\"proton-Select__value\">\r\n {state.selectedItem\r\n ? state.selectedItem.rendered\r\n : \"Select an option\"}\r\n </div>\r\n <div\r\n className={csx(\r\n \"proton-Select__trigger_icon\",\r\n state.isOpen && \"proton-Select__trigger_icon--flipped\"\r\n )}\r\n aria-hidden=\"true\"\r\n >\r\n <svg id=\"caret-down\" viewBox=\"0 0 512 512\">\r\n <title>{state.isOpen ? \"caret down\" : \"caret up\"}</title>\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7L86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"\r\n />\r\n </svg>\r\n </div>\r\n </SelectButton>\r\n\r\n {state.isOpen && (\r\n <div className=\"proton-Select__popover\">\r\n <Popover\r\n state={state}\r\n triggerRef={triggerRef}\r\n popoverRef={popoverRef}\r\n placement=\"bottom start\"\r\n data-testid=\"select-popover\"\r\n >\r\n <ListBox {...menuProps} state={state} />\r\n </Popover>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nconst Select = {\r\n Menu: SelectMenu,\r\n Option: Item,\r\n};\r\n\r\nexport default Select;\r\n","\"use client\";\r\n\r\nimport { useEffect, useRef } from \"react\";\r\nimport { HiddenSelect, useSelect } from \"react-aria\";\r\nimport { Item, useSelectState } from \"react-stately\";\r\n\r\nimport { csx } from \"../../../utils\";\r\nimport ListBox from \"../../ListBox\";\r\nimport Popover from \"../../Popover\";\r\n\r\nimport \"../Select.css\";\r\nimport ActionMenu from \"../../ActionMenu\";\r\nimport { BREAKPOINTS } from \"../../../constants\";\r\nimport { useBreakpoint } from \"../../../hooks/useBreakpoint\";\r\nimport { SelectButton, SelectProps } from \"../Select\";\r\n\r\n/**\r\n * A dropdown select menu that opens a Popover, or an ActionMenu on mobile.\r\n * Supports controlled and uncontrolled modes.\r\n * @interface SelectProps\r\n */\r\nexport function ResponsiveSelectMenu<T extends object>({\r\n label,\r\n name,\r\n isDisabled,\r\n disabledKeys,\r\n selectedKey,\r\n onSelectionChange,\r\n onOpen,\r\n onClose,\r\n items,\r\n \"data-testid\": testId,\r\n children,\r\n}: SelectProps<T>) {\r\n const selectProps = {\r\n label,\r\n isDisabled,\r\n disabledKeys,\r\n selectedKey,\r\n onSelectionChange,\r\n onOpenChange: (isOpen: boolean) => {\r\n if (isOpen) {\r\n onOpen?.();\r\n } else {\r\n onClose?.();\r\n }\r\n },\r\n items,\r\n \"data-testid\": testId,\r\n children,\r\n };\r\n const state = useSelectState(selectProps);\r\n const isMobile = useBreakpoint(BREAKPOINTS.MEDIUM);\r\n const triggerRef = useRef<HTMLButtonElement>(null);\r\n const popoverRef = useRef<HTMLDivElement>(null);\r\n const { labelProps, triggerProps, valueProps, menuProps } = useSelect(\r\n { ...selectProps, label: label || name },\r\n state,\r\n triggerRef\r\n );\r\n\r\n useEffect(() => {\r\n if (\r\n state.isOpen &&\r\n popoverRef.current &&\r\n triggerRef.current &&\r\n !popoverRef.current.style.minWidth\r\n ) {\r\n // Adjust the popover width to be at least the width of the trigger\r\n popoverRef.current.style.minWidth = `${triggerRef.current.offsetWidth}px`;\r\n }\r\n });\r\n\r\n return (\r\n <div\r\n className=\"proton-Select\"\r\n aria-label={label || name}\r\n aria-disabled={isDisabled}\r\n >\r\n {label ? (\r\n <div\r\n {...labelProps}\r\n className=\"proton-Select__label\"\r\n data-testid=\"select-label\"\r\n >\r\n {label}\r\n </div>\r\n ) : (\r\n // If no label is provided, render an invisible label for a11y\r\n <div {...labelProps} />\r\n )}\r\n\r\n <HiddenSelect\r\n isDisabled={isDisabled}\r\n state={state}\r\n triggerRef={triggerRef}\r\n label={label || name}\r\n name={name}\r\n data-testid=\"hidden-select-container\"\r\n />\r\n\r\n <SelectButton\r\n {...triggerProps}\r\n isOpen={state.isOpen}\r\n ref={triggerRef}\r\n disabled={isDisabled}\r\n data-testid={testId}\r\n >\r\n <div {...valueProps}>\r\n {state.selectedItem\r\n ? state.selectedItem.rendered\r\n : \"Select an option\"}\r\n </div>\r\n <div\r\n className={csx(\r\n \"proton-Select__trigger_icon\",\r\n state.isOpen && \"proton-Select__trigger_icon--flipped\"\r\n )}\r\n aria-hidden=\"true\"\r\n >\r\n <svg id=\"caret-down\" viewBox=\"0 0 512 512\">\r\n <title>{state.isOpen ? \"caret down\" : \"caret up\"}</title>\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7L86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"\r\n />\r\n </svg>\r\n </div>\r\n </SelectButton>\r\n\r\n {state.isOpen && (\r\n <>\r\n {!isMobile ? (\r\n <div className=\"proton-Select__popover\">\r\n <Popover\r\n state={state}\r\n triggerRef={triggerRef}\r\n popoverRef={popoverRef}\r\n placement=\"bottom start\"\r\n data-testid=\"select-popover\"\r\n >\r\n <ListBox {...menuProps} state={state} />\r\n </Popover>\r\n </div>\r\n ) : (\r\n <ActionMenu isOpen={state.isOpen} onClose={() => state.close()}>\r\n <ListBox {...menuProps} state={state} />\r\n </ActionMenu>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nconst ResponsiveSelect = {\r\n Menu: ResponsiveSelectMenu,\r\n Option: Item,\r\n};\r\n\r\nexport default ResponsiveSelect;\r\n","\"use client\";\r\n\r\nimport { useRef } from \"react\";\r\nimport { useSwitch, VisuallyHidden } from \"react-aria\";\r\nimport { useToggleState } from \"react-stately\";\r\n\r\nimport { csx } from \"../utils\";\r\n\r\nimport \"./Switch.css\";\r\n\r\nexport interface SwitchProps {\r\n /**\r\n * Whether the Switch is in the 'on' state (uncontrolled).\r\n */\r\n defaultOn?: boolean;\r\n\r\n /**\r\n * Whether the Switch is in the 'on' state. Providing this prop causes the\r\n * component to become controlled.\r\n */\r\n isOn?: boolean;\r\n\r\n /**\r\n * Should the input be non-interactive?\r\n */\r\n isDisabled?: boolean;\r\n\r\n /**\r\n * Called when the Switch's on state changes.\r\n */\r\n onChange?: (isOn: boolean) => void;\r\n\r\n /**\r\n * The string used for the input label. Forwarded to `aria-label`.\r\n */\r\n label?: string;\r\n\r\n /**\r\n * The text or component to be rendered as the Switch's description.\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\nfunction Switch(props: SwitchProps) {\r\n let sanitizedProps = {\r\n ...props,\r\n isSelected: props.isOn,\r\n \"data-testid\": undefined,\r\n };\r\n\r\n let ref = useRef(null);\r\n\r\n let state = useToggleState(sanitizedProps);\r\n let { inputProps } = useSwitch(sanitizedProps, state, ref);\r\n\r\n return (\r\n <label\r\n className={csx(\r\n \"proton-Switch\",\r\n props.isDisabled && \"proton-Switch--disabled\",\r\n state.isSelected && \"proton-Switch--on\"\r\n )}\r\n data-on={state.isSelected || undefined}\r\n data-disabled={props.isDisabled || undefined}\r\n data-testid={props[\"data-testid\"] || undefined}\r\n aria-label={props.label || undefined}\r\n >\r\n <VisuallyHidden>\r\n <input {...inputProps} ref={ref} />\r\n </VisuallyHidden>\r\n {props.label && <div className=\"proton-Switch__label\">{props.label}</div>}\r\n <div className=\"proton-Switch__wrapper\">\r\n <div className=\"proton-Switch__toggle\">\r\n <div className=\"proton-Switch__slider\"></div>\r\n </div>\r\n {props.children && (\r\n <div className=\"proton-Switch__description\">{props.children}</div>\r\n )}\r\n </div>\r\n </label>\r\n );\r\n}\r\n\r\nexport default Switch;\r\n","\"use client\";\r\n\r\nimport { useRef } from \"react\";\r\nimport {\r\n mergeProps,\r\n useFocusRing,\r\n useTableCell,\r\n useTableColumnHeader,\r\n useTableHeaderRow,\r\n useTableRow,\r\n useTableRowGroup,\r\n} from \"react-aria\";\r\nimport { csx } from \"../utils\";\r\n\r\nexport function TableHeaderRow({ item, state, children }) {\r\n let ref = useRef();\r\n let { rowProps } = useTableHeaderRow({ node: item }, state, ref);\r\n\r\n return (\r\n <tr className={csx(\"proton-Table__headerRow\")} {...rowProps} ref={ref}>\r\n {children}\r\n </tr>\r\n );\r\n}\r\n\r\ntype ColumnHeaderProps = {\r\n column: any;\r\n state: any;\r\n};\r\n\r\nexport function TableColumnHeader({ column, state }: ColumnHeaderProps) {\r\n let ref = useRef();\r\n let { columnHeaderProps } = useTableColumnHeader(\r\n { node: column },\r\n state,\r\n ref\r\n );\r\n const { align = \"left\" } = column.props;\r\n let { isFocusVisible, focusProps } = useFocusRing();\r\n let arrowIcon = state.sortDescriptor?.direction === \"ascending\" ? \"▲\" : \"▼\";\r\n\r\n return (\r\n <th\r\n {...mergeProps(columnHeaderProps, focusProps)}\r\n colSpan={column.colspan}\r\n className={csx(\r\n \"proton-Table__header\",\r\n `proton-Table__header--${align}`,\r\n isFocusVisible ? \"proton-Table__header--focused\" : null\r\n )}\r\n ref={ref}\r\n >\r\n {column.rendered}\r\n {column.props.allowsSorting && (\r\n <span\r\n aria-hidden=\"true\"\r\n className={csx(\"proton-Table__headerSortIcon\")}\r\n style={{\r\n visibility:\r\n state.sortDescriptor?.column === column.key\r\n ? \"visible\"\r\n : \"hidden\",\r\n }}\r\n >\r\n {arrowIcon}\r\n </span>\r\n )}\r\n </th>\r\n );\r\n}\r\n\r\n/**\r\n * TableRowGroup groups the rows in the table header and table body\r\n */\r\n\r\ntype TableRowGroupProps = {\r\n type: \"thead\" | \"tbody\";\r\n children: React.ReactNode;\r\n};\r\n\r\nexport function TableRowGroup({ type: Element, children }: TableRowGroupProps) {\r\n let { rowGroupProps } = useTableRowGroup();\r\n return (\r\n <Element\r\n {...rowGroupProps}\r\n className={csx(\r\n \"proton-Table__rowGroup\",\r\n Element === \"thead\"\r\n ? \"proton-Table__rowGroup--header\"\r\n : \"proton-Table__rowGroup--body\"\r\n )}\r\n >\r\n {children}\r\n </Element>\r\n );\r\n}\r\n\r\nexport function TableRow({ item, children, state }) {\r\n let ref = useRef();\r\n let isSelected = state.selectionManager.isSelected(item.key);\r\n let { rowProps, isPressed } = useTableRow(\r\n {\r\n node: item,\r\n },\r\n state,\r\n ref\r\n );\r\n let { isFocusVisible, focusProps } = useFocusRing();\r\n\r\n return (\r\n <tr\r\n className={csx(\r\n \"proton-Table__row\",\r\n isSelected ? \"proton-Table__row--selected\" : null,\r\n isPressed ? \"proton-Table__row--pressed\" : null,\r\n isFocusVisible ? \"proton-Table__row--focused\" : null\r\n )}\r\n {...mergeProps(rowProps, focusProps)}\r\n ref={ref}\r\n >\r\n {children}\r\n </tr>\r\n );\r\n}\r\n\r\ntype CellProps = {\r\n cell: any;\r\n state: any;\r\n align?: \"left\" | \"center\" | \"right\";\r\n};\r\n\r\nexport function TableCell({ cell, state, ...rest }: CellProps) {\r\n let ref = useRef();\r\n let { gridCellProps } = useTableCell({ node: cell }, state, ref);\r\n let { isFocusVisible, focusProps } = useFocusRing();\r\n const { align } = cell.props;\r\n\r\n return (\r\n <td\r\n {...mergeProps(gridCellProps, focusProps)}\r\n className={csx(\r\n \"proton-Table__cell\",\r\n isFocusVisible ? \"proton-Table__cell--focused\" : null,\r\n `proton-Table__cell--${align}`\r\n )}\r\n ref={ref}\r\n >\r\n {cell.rendered}\r\n </td>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport { Cell, Column, ColumnProps } from \"@react-stately/table\";\r\nimport { useRef } from \"react\";\r\nimport { AriaTableProps, useTable } from \"react-aria\";\r\nimport { TableStateProps, useTableState } from \"react-stately\";\r\n\r\nimport { csx } from \"../utils\";\r\nimport {\r\n TableCell,\r\n TableColumnHeader,\r\n TableHeaderRow,\r\n TableRow,\r\n TableRowGroup,\r\n} from \"./TableComponents\";\r\n\r\nimport \"./Table.css\";\r\n\r\nexport { Row, Section, TableBody, TableHeader } from \"@react-stately/table\";\r\nexport { ProtonCell as Cell, ProtonColumn as Column };\r\n\r\n// Override TS for Column to support proton specific props.\r\nexport interface ProtonColumnProps<T> extends ColumnProps<T> {\r\n align?: \"left\" | \"center\" | \"right\";\r\n}\r\n\r\nconst ProtonColumn = Column as <T>(props: ProtonColumnProps<T>) => JSX.Element;\r\nconst ProtonCell = Cell as <T>(props: ProtonColumnProps<T>) => JSX.Element;\r\n\r\ntype TableProps = AriaTableProps & TableStateProps<object>;\r\n\r\nexport function Table(props: TableProps) {\r\n let state = useTableState({\r\n ...props,\r\n });\r\n\r\n let ref = useRef();\r\n let { collection } = state;\r\n let { gridProps } = useTable(\r\n { ...props, \"aria-label\": props[\"aria-label\"] || \"Table\" },\r\n state,\r\n ref\r\n );\r\n\r\n return (\r\n <table {...gridProps} ref={ref} className={csx(\"proton-Table\")}>\r\n <TableRowGroup type=\"thead\">\r\n {collection.headerRows.map((headerRow) => (\r\n <TableHeaderRow key={headerRow.key} item={headerRow} state={state}>\r\n {Array.from(collection.getChildren(headerRow.key)).map((column) => (\r\n <TableColumnHeader\r\n key={column.key}\r\n column={column}\r\n state={state}\r\n />\r\n ))}\r\n </TableHeaderRow>\r\n ))}\r\n </TableRowGroup>\r\n\r\n <TableRowGroup type=\"tbody\">\r\n {Array.from(collection.body.childNodes).map((row) => (\r\n <TableRow key={row.key} item={row} state={state}>\r\n {Array.from(collection.getChildren(row.key)).map((cell) => (\r\n <TableCell key={cell.key} cell={cell} state={state} />\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableRowGroup>\r\n </table>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport {\r\n Tooltip as AriaTooltip,\r\n TooltipProps as AriaTooltipProps,\r\n TooltipTrigger as AriaTooltipTrigger,\r\n Button,\r\n OverlayArrow,\r\n TooltipTriggerComponentProps,\r\n} from \"react-aria-components\";\r\n\r\nimport { useRef, useState } from \"react\";\r\nimport { useTheme } from \"./ThemeProvider\";\r\n\r\nimport \"./Dialog.css\";\r\nimport \"./Tooltip.css\";\r\nimport { csx } from \"../utils\";\r\n\r\nexport interface TooltipProps extends Omit<AriaTooltipProps, \"children\"> {\r\n children: React.ReactNode;\r\n arrow?: boolean;\r\n}\r\n\r\nexport function Tooltip({ children, arrow, ...props }: TooltipProps) {\r\n const { className, style } = useTheme();\r\n\r\n return (\r\n <AriaTooltip\r\n {...props}\r\n className={csx(\"proton__Tooltip\", \"proton-Dialog\", className)}\r\n style={style as React.CSSProperties}\r\n >\r\n {arrow && (\r\n <OverlayArrow className={csx(\"proton__TooltipArrow\", className)}>\r\n <svg width={8} height={8} viewBox=\"0 0 8 8\">\r\n <path d=\"M0 0 L4 4 L8 0\" />\r\n </svg>\r\n </OverlayArrow>\r\n )}\r\n {children}\r\n </AriaTooltip>\r\n );\r\n}\r\n\r\nexport interface TooltipTriggerProps\r\n extends TooltipProps,\r\n TooltipTriggerComponentProps {\r\n children: React.ReactNode;\r\n content: string | React.ReactNode;\r\n disableTriggerClick?: boolean;\r\n}\r\n\r\n/**\r\n * Proton's TooltipTrigger component deviates from the Aria TooltipTrigger in that on mobile,\r\n * the trigger also opens the tooltip on click as well as hover & focus. This is to improve\r\n * accessibility and usability on mobile.\r\n *\r\n * If you wish to disable the trigger click feature, you can set the `disableTriggerClick` prop.\r\n * This is useful when using an info only Tooltip that might wrap a clickable element.\r\n */\r\n\r\nexport function TooltipTrigger({\r\n children,\r\n // trigger props\r\n delay = 500,\r\n closeDelay = 500,\r\n isDisabled,\r\n defaultOpen,\r\n onOpenChange,\r\n disableTriggerClick,\r\n // tooltip props\r\n content,\r\n ...tooltipProps\r\n}: TooltipTriggerProps) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const triggerClickRef = useRef<boolean>(false);\r\n const hasHovered = useRef<boolean>(false);\r\n\r\n return (\r\n <AriaTooltipTrigger\r\n delay={delay}\r\n closeDelay={closeDelay}\r\n isDisabled={isDisabled}\r\n isOpen={isOpen}\r\n defaultOpen={defaultOpen}\r\n onOpenChange={(openState) => {\r\n // When opened via hover, we want to disable the trigger click feature as it causes\r\n // the tooltip state to get out of sync with the trigger state.\r\n if (openState && !triggerClickRef.current) hasHovered.current = true;\r\n\r\n if (onOpenChange) onOpenChange(openState);\r\n\r\n // If the tooltip is clicked, it manually calls setIsOpen, so we don't want to call\r\n // it again here.\r\n if (!triggerClickRef.current) setIsOpen(openState);\r\n triggerClickRef.current = false;\r\n }}\r\n >\r\n <Button\r\n className=\"proton__TooltipTrigger\"\r\n aria-label=\"Show tooltip\"\r\n onPress={() => {\r\n if (disableTriggerClick) return;\r\n\r\n // Once hovered it's safe to assume the user isn't trying to use via a touch device,\r\n // so we can safely disable the trigger click feature.\r\n if (hasHovered.current) return;\r\n\r\n triggerClickRef.current = true;\r\n setIsOpen(!isOpen);\r\n }}\r\n >\r\n {children}\r\n </Button>\r\n <Tooltip {...tooltipProps}>{content}</Tooltip>\r\n </AriaTooltipTrigger>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport { ReactNode } from \"react\";\r\nimport \"./TextEmphasis.css\";\r\n\r\nimport { csx, handleInternalNavigation, isUrlExternal } from \"../utils\";\r\nimport { useTheme } from \"./ThemeProvider\";\r\nimport { TooltipTrigger, TooltipTriggerProps } from \"./Tooltip\";\r\nimport { COLORS, THEMES } from \"../constants\";\r\nimport { transparentize } from \"color2k\";\r\n\r\ninterface TextEmphasisProps extends React.HTMLAttributes<HTMLSpanElement> {\r\n /**\r\n * The URL that the text emphasis should link to. Turns the element into an `a` tag.\r\n */\r\n to?: string;\r\n /**\r\n * The content to display within the text emphasis.\r\n */\r\n children: ReactNode;\r\n /**\r\n * Props to pass to the tooltip trigger. When provided, the text emphasis will be wrapped in a tooltip trigger.\r\n */\r\n tooltipProps?: Omit<TooltipTriggerProps, \"children\">;\r\n /**\r\n * A test ID.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * A component that displays text with emphasis. Provide tooltipProps to wrap the text in a tooltip trigger.\r\n * @interface TextEmphasisProps\r\n */\r\nconst TextEmphasis = ({\r\n to,\r\n children,\r\n tooltipProps,\r\n \"data-testid\": testId,\r\n}: TextEmphasisProps) => {\r\n const { className: themeClassName, palette, theme } = useTheme();\r\n\r\n const content = tooltipProps ? (\r\n <TooltipTrigger delay={50} closeDelay={75} {...tooltipProps}>\r\n {children}\r\n </TooltipTrigger>\r\n ) : (\r\n children\r\n );\r\n\r\n const style = {\r\n \"--text-emphasis-highlight\":\r\n theme === THEMES.CUSTOM_DARK\r\n ? transparentize(palette.SECONDARY.SECONDARY_LIGHT, 0.3)\r\n : transparentize(COLORS.BRAND.PRIMARY, 0.5),\r\n } as React.CSSProperties;\r\n\r\n if (to) {\r\n const isExternal = isUrlExternal(to);\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n style={style}\r\n >\r\n <a\r\n data-testid={testId}\r\n href={to}\r\n target={isExternal ? \"_blank\" : undefined}\r\n rel={isExternal ? \"noopener noreferrer\" : undefined}\r\n onClick={\r\n !isExternal ? (e) => handleInternalNavigation(e, to) : undefined\r\n }\r\n >\r\n {content}\r\n </a>\r\n </span>\r\n );\r\n }\r\n\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n style={style}\r\n data-testid={testId}\r\n >\r\n {content}\r\n </span>\r\n );\r\n};\r\n\r\nexport default TextEmphasis;\r\n","import { csx } from \"../utils\";\r\n\r\ninterface WaveformBarProps {\r\n amplitude: number;\r\n isDisabled: boolean;\r\n isPlayed: boolean;\r\n isHovered: boolean;\r\n isVisible: boolean;\r\n hasAnimated: boolean;\r\n resolution: number;\r\n spacing: number;\r\n index: number;\r\n}\r\n\r\nexport function WaveformBar({\r\n amplitude,\r\n isDisabled,\r\n isPlayed,\r\n isHovered,\r\n isVisible,\r\n hasAnimated,\r\n resolution,\r\n spacing,\r\n index,\r\n}: WaveformBarProps) {\r\n const barHeight = isVisible ? `${Math.max(amplitude * 100, 4)}%` : \"0%\";\r\n\r\n return (\r\n <div\r\n className={csx(\"proton-Waveform__bar-wrapper\")}\r\n style={{\r\n width: `${resolution}px`,\r\n marginRight: `${spacing}px`,\r\n }}\r\n >\r\n <div\r\n className={csx(\r\n \"proton-Waveform__bar\",\r\n \"proton-Waveform__bar--upper\",\r\n isDisabled && \"proton-Waveform__bar--disabled\",\r\n isPlayed && \"proton-Waveform__bar--played\",\r\n isVisible && \"proton-Waveform__bar--visible\",\r\n hasAnimated && \"proton-Waveform__bar--animated\"\r\n )}\r\n style={\r\n {\r\n \"--target-height\": `calc(${barHeight} / 2)`,\r\n \"--index\": index,\r\n } as React.CSSProperties\r\n }\r\n />\r\n <div\r\n className={csx(\r\n \"proton-Waveform__bar\",\r\n \"proton-Waveform__bar--lower\",\r\n isDisabled && \"proton-Waveform__bar--disabled\",\r\n isPlayed && \"proton-Waveform__bar--played\",\r\n isVisible && \"proton-Waveform__bar--visible\",\r\n hasAnimated && \"proton-Waveform__bar--animated\"\r\n )}\r\n style={\r\n {\r\n \"--target-height\": `calc(${barHeight} / 2)`,\r\n \"--index\": index,\r\n } as React.CSSProperties\r\n }\r\n />\r\n {isHovered && !isDisabled && !isPlayed && (\r\n <div\r\n className=\"proton-Waveform__bar--hover\"\r\n style={\r\n {\r\n \"--hover-height\": barHeight,\r\n } as React.CSSProperties\r\n }\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { csx } from \"../utils\";\r\nimport { useTheme } from \"./ThemeProvider\";\r\nimport \"./Waveform.css\";\r\nimport { WaveformBar } from \"./WaveformBar\";\r\n\r\nexport interface WaveformProps {\r\n /**\r\n * Array of normalized amplitude values (0-1) representing the waveform.\r\n * If not provided, uses a sample sine wave.\r\n */\r\n data?: number[];\r\n\r\n /**\r\n * Total duration of the audio in seconds.\r\n */\r\n totalDuration: number;\r\n\r\n /**\r\n * Current playback position in seconds.\r\n */\r\n currentTime?: number;\r\n\r\n /**\r\n * Width in pixels of each waveform bar.\r\n */\r\n resolution?: number;\r\n\r\n /**\r\n * Start time to display from in seconds.\r\n */\r\n startDuration?: number;\r\n\r\n /**\r\n * End time to display until in seconds.\r\n */\r\n endDuration?: number;\r\n\r\n /**\r\n * Whether to show timestamp markers.\r\n */\r\n showTimestamps?: boolean;\r\n\r\n /**\r\n * Click handler that receives the clicked position (0-1) and event.\r\n */\r\n onClick?: (position: number, e: React.MouseEvent<HTMLDivElement>) => void;\r\n\r\n /**\r\n * Custom color for timestamp text backgrounds.\r\n * Will use theme color by default.\r\n */\r\n timestampColor?: string;\r\n\r\n /**\r\n * Test ID for testing purposes.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\nconst sampleWaveform = generateSampleWaveformData(100);\r\n\r\n/**\r\n * A waveform visualization component that displays audio data with interactive features.\r\n *\r\n * @component\r\n * @interface WaveformProps\r\n *\r\n * @returns {JSX.Element} A waveform visualization with optional timestamps and interactive features\r\n */\r\n\r\nexport default function Waveform({\r\n data: waveformData,\r\n resolution = 2,\r\n startDuration,\r\n endDuration,\r\n currentTime = 0,\r\n showTimestamps = false,\r\n totalDuration,\r\n onClick,\r\n timestampColor: timestampColorProp,\r\n \"data-testid\": testId,\r\n}: WaveformProps) {\r\n const { className, palette, theme } = useTheme();\r\n const containerRef = useRef<HTMLDivElement>(null);\r\n const [processedWaveform, setProcessedWaveform] = useState<number[]>([]);\r\n const [hoverPosition, setHoverPosition] = useState<number | null>(null);\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [hasAnimated, setHasAnimated] = useState(false);\r\n\r\n const waveform = waveformData || sampleWaveform;\r\n\r\n const textBackgroundColor =\r\n timestampColorProp ||\r\n (theme === \"custom-dark\"\r\n ? palette.SECONDARY.SECONDARY_SUPER_LIGHT\r\n : undefined);\r\n\r\n const spacing = resolution;\r\n\r\n useEffect(() => {\r\n if (!containerRef.current) return;\r\n\r\n const processWaveform = (width: number) => {\r\n const numBars = Math.floor(width / (resolution + spacing));\r\n const processed = resampleData(waveform, numBars);\r\n setProcessedWaveform(processed);\r\n };\r\n\r\n const initialWidth = containerRef.current.clientWidth;\r\n processWaveform(initialWidth);\r\n\r\n const resizeObserver = new ResizeObserver((entries) => {\r\n if (entries && entries[0]) {\r\n processWaveform(entries[0].contentRect.width);\r\n }\r\n });\r\n\r\n resizeObserver.observe(containerRef.current);\r\n\r\n return () => resizeObserver.disconnect();\r\n }, [waveform, resolution, spacing]);\r\n\r\n useEffect(() => {\r\n const visibilityTimer = setTimeout(() => setIsVisible(true), 50);\r\n const animationTimer = setTimeout(() => setHasAnimated(true), 500);\r\n\r\n return () => {\r\n clearTimeout(visibilityTimer);\r\n clearTimeout(animationTimer);\r\n };\r\n }, []);\r\n\r\n const handleMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {\r\n if (!containerRef.current) return;\r\n const rect = containerRef.current.getBoundingClientRect();\r\n const x = e.clientX - rect.left;\r\n const position = (x / rect.width) * totalDuration;\r\n setHoverPosition(position);\r\n };\r\n\r\n const handleMouseLeave = () => {\r\n setHoverPosition(null);\r\n };\r\n\r\n // Calculate the width of a single bar including spacing\r\n const barTotalWidth = resolution + spacing;\r\n\r\n // Find the nearest bar boundaries for start and end durations\r\n const getBarPosition = (time: number, direction: \"start\" | \"end\") => {\r\n const position = (time / totalDuration) * 100;\r\n const barIndex =\r\n direction === \"start\"\r\n ? Math.floor((position / 100) * processedWaveform.length)\r\n : Math.ceil((position / 100) * processedWaveform.length);\r\n\r\n return (\r\n ((barIndex * barTotalWidth) / containerRef.current?.clientWidth!) * 100\r\n );\r\n };\r\n\r\n const containerWidth = containerRef.current?.clientWidth;\r\n\r\n return (\r\n <div className={csx(\"proton-Waveform\", className)} data-testid={testId}>\r\n {showTimestamps && (\r\n <TimestampBlock\r\n direction=\"left\"\r\n seconds={currentTime}\r\n color={textBackgroundColor}\r\n />\r\n )}\r\n <div\r\n ref={containerRef}\r\n className=\"proton-Waveform__container\"\r\n onMouseMove={handleMouseMove}\r\n onMouseLeave={handleMouseLeave}\r\n onClick={(e) => {\r\n if (!containerRef.current) return;\r\n const rect = containerRef.current.getBoundingClientRect();\r\n const x = e.clientX - rect.left;\r\n const position = (x / rect.width) * totalDuration;\r\n onClick?.(position, e);\r\n }}\r\n >\r\n {startDuration !== undefined && endDuration !== undefined && (\r\n <div\r\n className=\"proton-Waveform__active-region\"\r\n style={{\r\n left: containerRef.current\r\n ? `calc(${getBarPosition(startDuration, \"start\")}%`\r\n : \"0%\",\r\n right: containerRef.current\r\n ? `calc(${100 - getBarPosition(endDuration, \"end\")}% - 2px)`\r\n : \"0%\",\r\n }}\r\n />\r\n )}\r\n {hoverPosition !== null && (\r\n <div\r\n className=\"proton-Waveform__hover-line\"\r\n style={{\r\n left: `${(hoverPosition / totalDuration) * 100}%`,\r\n }}\r\n />\r\n )}\r\n {processedWaveform.map((amplitude, index) => {\r\n const position = (index / processedWaveform.length) * totalDuration;\r\n const isDisabled =\r\n startDuration !== undefined &&\r\n endDuration !== undefined &&\r\n (position < startDuration || position > endDuration);\r\n const isPlayed = currentTime === 0 ? false : position <= currentTime;\r\n const isHovered = hoverPosition !== null && position <= hoverPosition;\r\n\r\n return (\r\n <WaveformBar\r\n key={index}\r\n amplitude={amplitude}\r\n isDisabled={isDisabled}\r\n isPlayed={isPlayed}\r\n isHovered={isHovered}\r\n isVisible={isVisible}\r\n hasAnimated={hasAnimated}\r\n resolution={resolution}\r\n spacing={spacing}\r\n index={index}\r\n />\r\n );\r\n })}\r\n </div>\r\n {!waveformData && (\r\n <div\r\n className=\"proton-Waveform__bar-unavailable\"\r\n style={{\r\n backgroundColor: textBackgroundColor,\r\n fontSize: containerWidth < 325 ? \"0.85rem\" : \"1rem\",\r\n }}\r\n >\r\n {containerWidth < 277 ? \"Unavailable\" : \"Waveform Unavailable\"}\r\n </div>\r\n )}\r\n {showTimestamps && (\r\n <TimestampBlock\r\n direction=\"right\"\r\n seconds={totalDuration}\r\n color={textBackgroundColor}\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nfunction TimestampBlock({\r\n direction,\r\n color,\r\n seconds,\r\n}: {\r\n direction: \"left\" | \"right\";\r\n color?: string;\r\n seconds: number;\r\n}) {\r\n return (\r\n <div\r\n className={csx(\r\n \"proton-Waveform__timestamp\",\r\n `proton-Waveform__timestamp--${direction}`\r\n )}\r\n style={{ backgroundColor: color }}\r\n >\r\n {formatTimestamp(seconds)}\r\n </div>\r\n );\r\n}\r\n\r\n/** Formats seconds into MM:SS timestamp string\r\n * @param {number} seconds - Number of seconds to format\r\n * @returns {string} Formatted timestamp string in MM:SS format\r\n */\r\n\r\nfunction formatTimestamp(seconds: number) {\r\n const minutes = Math.floor(seconds / 60);\r\n const remainingSeconds = Math.floor(seconds % 60);\r\n return `${minutes}:${\r\n remainingSeconds < 10 ? \"0\" : \"\"\r\n }${remainingSeconds.toFixed(0)}`;\r\n}\r\n\r\n/** Takes an array of waveform data and rescales it to any length\r\n * @param {array} initialData - original waveform data\r\n * @param {number} finalArrayLength - How long do you want the returned array?\r\n * @param {number} height - Height of the waveform container\r\n */\r\n\r\nfunction resampleData(initialData: number[], finalArrayLength: number) {\r\n const initialArrayLength = initialData.length;\r\n // How many samples from the original data do we skip per new sample?\r\n const step = initialArrayLength / finalArrayLength;\r\n\r\n // Create new array with desired length\r\n const resampledData = new Array(finalArrayLength)\r\n .fill(0)\r\n .map((_, newIndex) => {\r\n // Calculate position in original array\r\n const position = newIndex * step;\r\n const leftIndex = Math.floor(position);\r\n const rightIndex = Math.min(leftIndex + 1, initialArrayLength - 1);\r\n\r\n // Calculate weights for interpolation\r\n const fraction = position - leftIndex;\r\n\r\n // Linear interpolation between adjacent samples\r\n const newVal =\r\n initialData[leftIndex] * (1 - fraction) +\r\n initialData[rightIndex] * fraction;\r\n\r\n return newVal;\r\n });\r\n\r\n return scaleData(resampledData);\r\n}\r\n\r\n/** Takes an array of waveform data and scales it based on the desired pixel height\r\n * @param {array} data – Array of waveform data\r\n * @param {number} height - Height of the waveform container\r\n */\r\nfunction scaleData(data: number[]) {\r\n const min = Math.min(...data);\r\n const max = Math.max(...data);\r\n\r\n return data.map((item) => {\r\n // Normalize to 0-1 range first\r\n const normalized = (item - min) / (max - min);\r\n // Then scale to desired height (using 0.1 as minimum to ensure visibility)\r\n return Math.max(normalized * 0.8 + 0.1, 0.1);\r\n });\r\n}\r\n\r\n/** Generates a sample sine wave waveform data array\r\n * @param {number} length - Length of the waveform data array\r\n * @returns {number[]} Array of normalized amplitude values (0-1) representing the waveform\r\n */\r\n\r\nfunction generateSampleWaveformData(length: number) {\r\n return Array.from({ length }, (_, i) => {\r\n const cycles = 6;\r\n // Create 3 complete cycles (6π total) starting at -π/2 (trough)\r\n const phase = (i / (length - 1)) * cycles * 2 * Math.PI - Math.PI / 2;\r\n return Math.sin(phase) * 0.5 + 0.5;\r\n });\r\n}\r\n"],"names":["f","require$$0","k","l","m","n","p","q","c","a","g","b","d","e","h","reactJsxRuntime_production_min","React","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","MAYBE_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactSharedInternals","error","format","_len2","args","_key2","printWarning","level","ReactDebugCurrentFrame","stack","argsWithFormat","item","enableScopeAPI","enableCacheElement","enableTransitionTracing","enableLegacyHidden","enableDebugTracing","REACT_MODULE_REFERENCE","isValidElementType","type","getWrappedName","outerType","innerType","wrapperName","displayName","functionName","getContextName","getComponentNameFromType","context","provider","outerName","lazyComponent","payload","init","assign","disabledDepth","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","disabledLog","disableLogs","props","reenableLogs","ReactCurrentDispatcher","prefix","describeBuiltInComponentFrame","name","source","ownerFn","x","match","reentry","componentFrameCache","PossiblyWeakMap","describeNativeComponentFrame","fn","construct","frame","control","previousPrepareStackTrace","previousDispatcher","Fake","sample","sampleLines","controlLines","s","_frame","syntheticFrame","describeFunctionComponentFrame","shouldConstruct","Component","prototype","describeUnknownElementTypeFrameInDEV","hasOwnProperty","loggedTypeFailures","setCurrentlyValidatingElement","element","owner","checkPropTypes","typeSpecs","values","location","componentName","has","typeSpecName","error$1","err","ex","isArrayImpl","isArray","typeName","value","hasToStringTag","willCoercionThrow","testStringCoercion","checkKeyStringCoercion","ReactCurrentOwner","RESERVED_PROPS","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","hasValidRef","config","getter","hasValidKey","warnIfStringRefCannotBeAutoConverted","self","defineKeyPropWarningGetter","warnAboutAccessingKey","defineRefPropWarningGetter","warnAboutAccessingRef","ReactElement","key","ref","jsxDEV","maybeKey","propName","defaultProps","ReactCurrentOwner$1","ReactDebugCurrentFrame$1","setCurrentlyValidatingElement$1","propTypesMisspellWarningShown","isValidElement","object","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","info","parentName","validateExplicitKey","currentComponentErrorInfo","childOwner","validateChildKeys","node","i","child","iteratorFn","iterator","step","validatePropTypes","propTypes","_name","validateFragmentProps","fragment","keys","didWarnAboutKeySpread","jsxWithValidation","isStaticChildren","validType","sourceInfo","typeString","children","beforeExample","afterExample","jsxWithValidationStatic","jsxWithValidationDynamic","jsx","jsxs","reactJsxRuntime_development","jsxRuntimeModule","require$$1","useLockBodyScroll","isActive","useLayoutEffect","originalStyle","ThemedPortal","className","style","useTheme","domNode","ReactDOM","ActionMenu","id","isOpen","selectionMode","selectedKeys","disabledKeys","showCancel","actions","closeOnNavigation","onSelectionChange","onClose","testId","theme","isClosing","setIsClosing","useState","contentHeight","setContentHeight","contentRef","useRef","menuRef","prevLocation","hasActions","handleClose","state","useTreeState","action","createElement","Item","menuProps","useMenu","_b","_a","overlayProps","useOverlay","useEffect","onEsc","event","isScrollable","hasContent","csx","FocusScope","ActionMenuItem","Button","to","menuItemProps","useMenuItem","isExternal","isUrlExternal","anchorProps","handleInternalNavigation","ThemeContext","createContext","useContext","THEME_CLASSES","THEMES","ThemeProvider","palette","containerRef","themeClass","themeVariables","useMemo","generateThemeCssVariables","cssVariables","defaultBackground","shadowColor","transparentize","toRgba","COLORS.GRAYSCALE","BadgeVariants","Badge","variant","href","onPress","isDisabled","Element","buttonProps","useButton","bannerIcons","bannerColors","GRAYSCALE","SUCCESS","WARNING","DANGER","bannerVariants","BannerContext","Banner","rounded","icon","compact","BannerTitle","BannerContent","BannerIcon","iconContent","BannerAction","BannerActions","ButtonGroupContext","ButtonGroup","sanitizedProps","useRadioGroupState","radioGroupProps","useRadioGroup","inputProps","isSelected","useRadio","VisuallyHidden","Dialog","title","dialogProps","titleProps","useDialog","iconURL","Icon","iconStyle","IconWrapper","svgContent","setSvgContent","Fragment","Input","forwardRef","suffix","description","descriptionPosition","onChange","label","placeholder","autoFocus","autoComplete","forwardedRef","inputRef","labelProps","descriptionProps","errorMessageProps","useTextField","clipboardProps","useClipboard","$458b0a5536c1a7cf$export$40bfa8c7b0832715","defaultValue","stateValue","setStateValue","$3whtM$useState","isControlledRef","$3whtM$useRef","isControlled","$3whtM$useEffect","wasControlled","currentValue","setValue","$3whtM$useCallback","onChangeCaller","onChangeArgs","oldValue","functionArgs","interceptedValue","$0b2218c4e3fe7d7e$export$3f8be18b0f41eaf2","$58ylH$useControlledState","$0b2218c4e3fe7d7e$var$toString","val","SearchInput","isClearable","controlledValue","onClear","useSearchFieldState","clearButtonProps","useSearchField","handleTextClear","usePopoverTrigger","triggerRef","useOverlayTriggerState","triggerProps","useOverlayTrigger","Popover","arrow","offset","popoverRef","popoverProps","underlayProps","arrowProps","placement","usePopover","Overlay","DismissButton","$23b9f4fcf0fe224b$export$d68d59712b04d9d1","$23b9f4fcf0fe224b$export$408d25a4e12db025","keyMap","parent","_node_key","_this_keyMap_get","Constructor","collection","firstKey","lastKey","isSSR","$681cc3c98f569e39$export$410b0c854570d131","firstChild","lastChild","previousSibling","nextSibling","parentNode","_this_parentNode","newNode","referenceNode","ownerDocument","$681cc3c98f569e39$export$dc064fe9e59310fd","index","_this_previousSibling","_this_nextSibling","_this_firstChild","_this_lastChild","_this_previousSibling_node_key","_this_nextSibling_node_key","_this_firstChild_node_key","_this_lastChild_node_key","obj","rendered","render","textValue","$681cc3c98f569e39$export$b34a105447964f9f","$e948873055cbafe4$export$727c8fc270210f13","items","idScope","addIdAndValue","dependencies","cache","$luMFQ$useMemo","res","_rendered_props_id","_ref","$luMFQ$cloneElement","$b5e257d569688ac6$var$defaultContext","$b5e257d569688ac6$var$SSRContext","$670gB$react","$b5e257d569688ac6$var$IsSSRContext","$b5e257d569688ac6$var$canUseDOM","$b5e257d569688ac6$var$componentIds","$b5e257d569688ac6$var$useCounter","ctx","$670gB$useContext","$670gB$useRef","_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner","_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","currentOwner","prevComponentValue","$b5e257d569688ac6$var$useLegacySSRSafeId","defaultId","counter","$b5e257d569688ac6$var$useModernSSRSafeId","didSSR","$670gB$useState","$b5e257d569688ac6$export$535bd6ca7f90a273","$b5e257d569688ac6$var$getSnapshot","$b5e257d569688ac6$var$getServerSnapshot","$b5e257d569688ac6$var$subscribe","onStoreChange","getFirstChild","$f39a9eba43920ace$export$94b6d0abf7d33e8c","$8SdCi$createContext","$f39a9eba43920ace$var$hiddenFragment","$f39a9eba43920ace$export$8dc98ba7eadeaa56","isHidden","$8SdCi$useContext","$8SdCi$useIsSSR","$8SdCi$react","$8SdCi$createPortal","$f39a9eba43920ace$export$86427a43e3e48ebb","Wrapper","$8SdCi$forwardRef","$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c","$HgANd$react","$8ae05eaa5c114e9c$export$7f54fc3180508a52","$lmaYr$useRef","$lmaYr$useCallback","$bdb11010cef70236$var$idsUpdaterMap","$bdb11010cef70236$export$cd8c9cb68f842629","idA","idB","setIdsA","setIdsB","$ff5963eb1fccf552$export$e08e3b67e392101e","callbacks","callback","$431fbd86ca7dc216$export$b204af158042fbac","el","_el_ownerDocument","r","t","clsx","$3ef42575df84b30b$export$9d1611c77c2fe928","result","$7jXr9$clsx","$5dc95899b306f630$export$c9058316764c140e","refs","$65484d02dcb7eb3e$var$DOMPropNames","$65484d02dcb7eb3e$var$labelablePropNames","$65484d02dcb7eb3e$var$linkPropNames","$65484d02dcb7eb3e$var$propRe","$65484d02dcb7eb3e$export$457c3d6518dd4c6f","opts","labelable","isLink","propNames","filteredProps","prop","$df56164dff5785e2$export$4338b53315abf666","objRef","$gbmns$useRef","$gbmns$useMemo","$9daab02d461809db$var$hasResizeObserver","$9daab02d461809db$export$683480f191c0e3ea","options","box","onResize","$Vsl8o$useEffect","resizeObserverInstance","entries","$e7801be82b4b2a53$export$4debdb1a3f0fa79e","u","useSyncExternalStoreShim_production_min","is","y","objectIs","useDebugValue","didWarnOld18Alpha","didWarnUncachedGetSnapshot","useSyncExternalStore","subscribe","getSnapshot","getServerSnapshot","cachedValue","_useState","inst","forceUpdate","checkIfSnapshotChanged","handleStoreChange","latestGetSnapshot","prevValue","nextValue","useSyncExternalStore$1","canUseDOM","isServerEnvironment","shim","useSyncExternalStore$2","useSyncExternalStoreShim_development","shimModule","$e1995378a142960e$var$ShallowRenderContext","$95feo$createContext","$e1995378a142960e$var$CollectionDocumentContext","$e1995378a142960e$export$bf788dd355e3a401","$95feo$useContext","document","$e1995378a142960e$var$useCollectionDocument","$95feo$react","$e1995378a142960e$var$CollectionInner","$e1995378a142960e$var$useSyncExternalStoreFallback","$95feo$useIsSSR","isSSRRef","$95feo$useRef","getSnapshotWrapper","$95feo$useCallback","$95feo$useSyncExternalStore","$e1995378a142960e$var$useSyncExternalStore","createCollection","$95feo$useState","$95feo$useLayoutEffect","$e1995378a142960e$var$SSRContext","$e1995378a142960e$var$useSSRCollectionNode","Type","itemRef","$e1995378a142960e$export$18af5c7a9e9b3664","Result","$95feo$forwardRef","$e1995378a142960e$var$useCollectionChildren","$e1995378a142960e$var$CollectionContext","$e1995378a142960e$export$fb8073518f34e6ec","$e1995378a142960e$var$CollectionRoot","$95feo$useMemo","doc","wrappedChildren","$95feo$createPortal","$7135fc7d473fd974$export$d40e14dec8b060a8","$18I52$createContext","$7135fc7d473fd974$export$a164736487e3f0ae","renderDropIndicator","$7135fc7d473fd974$var$useCollectionRender","$18I52$useCachedChildren","_collection_getItem","keyAfter","$18I52$react","$7135fc7d473fd974$export$4feb769f8ddf26c5","$7135fc7d473fd974$export$90e00781bc59d8f9","focusedKey","$18I52$useMemo","$64fa3d84918910a7$export$c62b8e45d58ddad9","$64fa3d84918910a7$export$2881499e37b75b9a","Context","$iETbY$react","$64fa3d84918910a7$export$4d86445c2cf5e3","defaultClassName","defaultChildren","defaultStyle","$iETbY$useMemo","computedClassName","computedStyle","computedChildren","$64fa3d84918910a7$export$fabf2dc03a41866e","slot","$iETbY$useContext","availableSlots","slotKey","$64fa3d84918910a7$export$29f1550f4b0d4415","contextRef","contextProps","mergedRef","$iETbY$useObjectRef","$iETbY$mergeRefs","mergedProps","$iETbY$mergeProps","renderProps","contextStyle","$64fa3d84918910a7$export$9d4c57ee4c6ffdd8","hasSlot","setHasSlot","$iETbY$useState","hasRun","$iETbY$useRef","$iETbY$useCallback","$iETbY$useLayoutEffect","$64fa3d84918910a7$export$6d3443f2c48bfc20","isReady","isEntering","setEntering","$64fa3d84918910a7$var$useAnimation","$64fa3d84918910a7$export$45fda7c47f93fd48","isExiting","setExiting","exitState","setExitState","onEnd","prevAnimation","onAnimationEnd","$iETbY$reactdom","$0393f8ab869a0f1a$export$e9f3bf65a26ce129","$hU2kz$createContext","$319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY","$319e236875307eab$var$liveAnnouncer","$319e236875307eab$export$a9b970dcc4ae71a9","message","assertiveness","timeout","$319e236875307eab$var$LiveAnnouncer","_this_node","ariaLive","_this_assertiveLog","_this_politeLog","$d2b4bc8c273e7be6$var$additionalButtonHTMLAttributes","$d2b4bc8c273e7be6$export$24d547caef80ccd1","$fM325$createContext","$d2b4bc8c273e7be6$var$Button","$d2b4bc8c273e7be6$var$disablePendingProps","isPending","isPressed","$fM325$useButton","focusProps","isFocused","isFocusVisible","$fM325$useFocusRing","hoverProps","isHovered","$fM325$useHover","renderValues","buttonId","$fM325$useId","progressId","ariaLabelledby","wasPending","$fM325$useRef","$fM325$useEffect","$fM325$announce","$fM325$react","$fM325$filterDOMProps","$fM325$mergeProps","$d2b4bc8c273e7be6$export$353f5b6fc5456de1","$fM325$createHideableComponent","$514c0188e459b4c0$export$9afb8bc826b033ea","$1B3Dx$createContext","$ae1eeba8b9eafd08$export$5165eccb35aaadb5","$3aeG1$react","$f1ab8c75478c6f73$export$3351871ee4b288b8","$87RPk$react","isRegistered","$87RPk$useRef","prevContext","$87RPk$useContext","$87RPk$useObjectRef","$87RPk$mergeProps","$87RPk$useSyncRef","$87RPk$useEffect","$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents","$6179b936705e76d3$var$hoverCount","$6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents","$6179b936705e76d3$var$handleGlobalPointerEvent","$6179b936705e76d3$var$setupGlobalTouchEvents","$6179b936705e76d3$export$ae780daf29e6d456","onHoverStart","onHoverChange","onHoverEnd","setHovered","$AWxnT$useState","$AWxnT$useRef","$AWxnT$useEffect","triggerHoverEnd","$AWxnT$useMemo","triggerHoverStart","pointerType","target","$e0b6e0b68ec7f50f$export$872b660ac5a1ff98","onInteractOutside","onInteractOutsideStart","stateRef","$ispOf$useRef","onPointerDown","$ispOf$useEffectEvent","$e0b6e0b68ec7f50f$var$isValidEvent","triggerInteractOutside","$ispOf$useEffect","documentObject","$ispOf$getOwnerDocument","onPointerUp","onMouseUp","onTouchEnd","$e6afbd83fe6ebbd2$var$FocusableContext","$h8xso$react","$e6afbd83fe6ebbd2$var$FocusableProvider","otherProps","$h8xso$useObjectRef","$e6afbd83fe6ebbd2$export$13f3202a3e5ddd5","$72a5793c14baf454$export$e0e4026c12a8bdbb","$i47tY$createContext","$431f98aba6844401$export$6615d83f6de245ce","$i9JCE$createContext","$44f671af83e7d9e0$export$2de4954e8ae13b9f","$8wt2Z$createContext","$44f671af83e7d9e0$var$OverlayArrow","$8wt2Z$react","$44f671af83e7d9e0$export$746d02f47f4d381","$8wt2Z$forwardRef","$07b14b47974efb58$export$9b9a0cd73afb7ca4","$ehFet$createContext","$de32f1b87079253c$export$d2f961adcb0afbe","$6IYYA$createContext","$63df2425e2108aa8$export$744d98a3b8a94e1c","$3zqIJ$createContext","$9fc4852771d079eb$var$Section","$gtysd$react","$9fc4852771d079eb$export$6e2c8f0811a474ce","$3674c52c6b3c5bce$export$c7e742effb1c51e2","$kM2ZM$createContext","$3674c52c6b3c5bce$export$24aad8519b95b41b","$3674c52c6b3c5bce$export$795aec4671cbae19","$3674c52c6b3c5bce$export$27d2ad3c5815583e","$kM2ZM$useMenuTriggerState","$kM2ZM$useRef","menuTriggerProps","$kM2ZM$useMenuTrigger","buttonWidth","setButtonWidth","$kM2ZM$useState","$kM2ZM$useCallback","$kM2ZM$useResizeObserver","scrollRef","$kM2ZM$react","$kM2ZM$PressResponder","$3674c52c6b3c5bce$var$SubmenuTriggerContext","$3674c52c6b3c5bce$var$Menu","$kM2ZM$CollectionBuilder","$kM2ZM$Collection","$3674c52c6b3c5bce$var$MenuInner","$kM2ZM$useTreeState","popoverContainer","setPopoverContainer","isVirtualized","CollectionRoot","$kM2ZM$useContext","$kM2ZM$useMenu","rootMenuTriggerState","popoverContext","isSubmenu","$kM2ZM$useInteractOutside","prevPopoverContainer","leftOffset","setLeftOffset","$kM2ZM$useEffect","left","$kM2ZM$FocusScope","$kM2ZM$filterDOMProps","$3674c52c6b3c5bce$var$MenuSection","$3674c52c6b3c5bce$var$MenuItemContext","$3674c52c6b3c5bce$export$d9b273488cd8ce6f","$kM2ZM$forwardRef","section","_section_props","_section_props1","CollectionBranch","headingRef","heading","_section_props_arialabel","headingProps","groupProps","$kM2ZM$useMenuSection","$3674c52c6b3c5bce$export$2ce376c2cc3355c8","$kM2ZM$createLeafComponent","_useSlottedContext","$kM2ZM$useObjectRef","keyboardShortcutProps","states","$kM2ZM$useMenuItem","$kM2ZM$useFocusRing","$kM2ZM$useHover","ElementType","$kM2ZM$mergeProps","$312ae3b56a94a86e$var$TableHeader","columns","column","$20k3Y$react","$312ae3b56a94a86e$export$f850895b287ef28e","$4ae5314bf50db1a3$var$TableBody","$6tF2U$react","$4ae5314bf50db1a3$export$76ccd210b9029917","$1cd244557c2f97d5$var$Column","childColumns","fullNodes","$kIQ5E$react","newContext","updateContext","$1cd244557c2f97d5$export$816b5d811295e6bc","$70d70eb16ea48428$var$Row","UNSTABLE_childItems","cells","childRows","$7GIZw$react","$70d70eb16ea48428$export$b59bdbef9ce70de2","$941d1d9a6a28982a$var$Cell","$941d1d9a6a28982a$export$f6f0c3fe4ec306ea","$4e3b923658d69c60$export$7a7623236eec67fa","$cCslV$createContext","$4e3b923658d69c60$export$39ae08fa83328b12","$4e3b923658d69c60$export$8c610744efcf8a1d","$cCslV$useTooltipTriggerState","$cCslV$useRef","tooltipProps","$cCslV$useTooltipTrigger","$cCslV$react","$cCslV$FocusableProvider","$4e3b923658d69c60$var$Tooltip","UNSTABLE_portalContainer","contextState","$cCslV$useContext","localState","$cCslV$OverlayContainer","$4e3b923658d69c60$var$TooltipInner","$4e3b923658d69c60$export$28c660c63b792dea","$cCslV$forwardRef","arrowRef","arrowWidth","setArrowWidth","$cCslV$useState","$cCslV$useLayoutEffect","$cCslV$useOverlayPosition","$cCslV$mergeProps","$cCslV$useTooltip","useBreakpoint","breakpoint","direction","query","matches","setMatches","mediaQuery","handler","EllipsisIcon","size","ResponsiveMenuTrigger","renderTrigger","menuId","disabled","triggerTestId","menuTestId","isMobile","BREAKPOINTS","setIsOpen","commonTriggerProps","defaultTrigger","prev","TriggerComponent","MenuTrigger","Menu","MenuItem","ListBox","localRef","listBoxProps","useListBox","ListBoxItem","optionProps","useOption","SelectButton","SelectMenu","selectedKey","onOpen","selectProps","useSelectState","valueProps","useSelect","HiddenSelect","Select","ResponsiveSelectMenu","ResponsiveSelect","Switch","useToggleState","useSwitch","TableHeaderRow","rowProps","useTableHeaderRow","TableColumnHeader","columnHeaderProps","useTableColumnHeader","align","useFocusRing","arrowIcon","mergeProps","TableRowGroup","rowGroupProps","useTableRowGroup","TableRow","useTableRow","TableCell","cell","rest","gridCellProps","useTableCell","ProtonColumn","Column","ProtonCell","Cell","Table","useTableState","gridProps","useTable","headerRow","row","Tooltip","AriaTooltip","OverlayArrow","TooltipTrigger","delay","closeDelay","defaultOpen","onOpenChange","disableTriggerClick","content","triggerClickRef","hasHovered","AriaTooltipTrigger","openState","TextEmphasis","themeClassName","COLORS.BRAND","WaveformBar","amplitude","isPlayed","isVisible","hasAnimated","resolution","spacing","barHeight","sampleWaveform","generateSampleWaveformData","Waveform","waveformData","startDuration","endDuration","currentTime","showTimestamps","totalDuration","onClick","timestampColorProp","processedWaveform","setProcessedWaveform","hoverPosition","setHoverPosition","setIsVisible","setHasAnimated","waveform","textBackgroundColor","processWaveform","width","numBars","processed","resampleData","initialWidth","resizeObserver","visibilityTimer","animationTimer","handleMouseMove","rect","position","handleMouseLeave","barTotalWidth","getBarPosition","time","containerWidth","TimestampBlock","color","seconds","formatTimestamp","minutes","remainingSeconds","initialData","finalArrayLength","initialArrayLength","resampledData","_","newIndex","leftIndex","rightIndex","fraction","scaleData","data","min","max","normalized","length","phase"],"mappings":"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","x_google_ignoreList":[0,1,2,15,16,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,64]}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../src/hooks/useLockBodyScroll.tsx","../src/components/ActionMenu.tsx","../src/components/ThemeProvider.tsx","../src/components/Badge.tsx","../src/components/Button.tsx","../src/components/Banner.tsx","../src/components/ButtonGroup.tsx","../src/components/Dialog.tsx","../assets/svg/icons.svg","../src/components/Icon.tsx","../src/components/IconWrapper.tsx","../src/components/Input/BaseInput/Input.tsx","../node_modules/@react-stately/utils/dist/useControlledState.mjs","../node_modules/@react-stately/searchfield/dist/useSearchFieldState.mjs","../src/components/Input/SearchInput/SearchInput.tsx","../src/components/Popover.tsx","../node_modules/@react-aria/collections/dist/BaseCollection.mjs","../node_modules/@react-aria/collections/dist/Document.mjs","../node_modules/@react-aria/collections/dist/useCachedChildren.mjs","../node_modules/@react-aria/ssr/dist/SSRProvider.mjs","../node_modules/@react-aria/collections/dist/Hidden.mjs","../node_modules/@react-aria/utils/dist/useLayoutEffect.mjs","../node_modules/@react-aria/utils/dist/useEffectEvent.mjs","../node_modules/@react-aria/utils/dist/useId.mjs","../node_modules/@react-aria/utils/dist/chain.mjs","../node_modules/@react-aria/utils/dist/domHelpers.mjs","../node_modules/clsx/dist/clsx.mjs","../node_modules/@react-aria/utils/dist/mergeProps.mjs","../node_modules/@react-aria/utils/dist/mergeRefs.mjs","../node_modules/@react-aria/utils/dist/filterDOMProps.mjs","../node_modules/@react-aria/utils/dist/useObjectRef.mjs","../node_modules/@react-aria/utils/dist/useResizeObserver.mjs","../node_modules/@react-aria/utils/dist/useSyncRef.mjs","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js","../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js","../node_modules/use-sync-external-store/shim/index.js","../node_modules/@react-aria/collections/dist/CollectionBuilder.mjs","../node_modules/react-aria-components/dist/Collection.mjs","../node_modules/react-aria-components/dist/utils.mjs","../node_modules/react-aria-components/dist/ProgressBar.mjs","../node_modules/@react-aria/live-announcer/dist/LiveAnnouncer.mjs","../node_modules/react-aria-components/dist/Button.mjs","../node_modules/react-aria-components/dist/Text.mjs","../node_modules/@react-aria/interactions/dist/context.mjs","../node_modules/@react-aria/interactions/dist/PressResponder.mjs","../node_modules/@react-aria/interactions/dist/useHover.mjs","../node_modules/@react-aria/interactions/dist/useInteractOutside.mjs","../node_modules/@react-aria/focus/dist/useFocusable.mjs","../node_modules/react-aria-components/dist/Header.mjs","../node_modules/react-aria-components/dist/Separator.mjs","../node_modules/react-aria-components/dist/OverlayArrow.mjs","../node_modules/react-aria-components/dist/Popover.mjs","../node_modules/react-aria-components/dist/Dialog.mjs","../node_modules/react-aria-components/dist/Keyboard.mjs","../node_modules/@react-stately/collections/dist/Section.mjs","../node_modules/react-aria-components/dist/Menu.mjs","../node_modules/@react-stately/table/dist/TableHeader.mjs","../node_modules/@react-stately/table/dist/TableBody.mjs","../node_modules/@react-stately/table/dist/Column.mjs","../node_modules/@react-stately/table/dist/Row.mjs","../node_modules/@react-stately/table/dist/Cell.mjs","../node_modules/react-aria-components/dist/Tooltip.mjs","../src/hooks/useBreakpoint.tsx","../src/components/ResponsiveMenuTrigger.tsx","../src/components/ListBox.tsx","../src/components/Select/Select.tsx","../src/components/Select/ResponsiveSelect/ResponsiveSelect.tsx","../src/components/Switch.tsx","../src/components/TableComponents.tsx","../src/components/Table.tsx","../src/components/Tooltip.tsx","../src/components/TextEmphasis.tsx","../src/components/WaveformBar.tsx","../src/components/Waveform.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie. <div {...props} key=\"Hi\" />\n // or <div key=\"Hi\" {...props} /> ). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n // <div {...props} key=\"Hi\" />, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n {\n if (hasOwnProperty.call(props, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(props).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import { useLayoutEffect } from \"react\";\r\n\r\n/**\r\n * A React hook that prevents body scrolling while a component is mounted.\r\n * Useful for modals, overlays, and other components that should prevent background scrolling.\r\n */\r\nexport function useLockBodyScroll(isActive: boolean = true) {\r\n useLayoutEffect(() => {\r\n if (!isActive) return;\r\n\r\n // Get original body overflow\r\n const originalStyle = window.getComputedStyle(document.body).overflow;\r\n // Prevent scrolling on mount\r\n document.body.style.overflow = \"hidden\";\r\n // Re-enable scrolling when component unmounts\r\n return () => {\r\n document.body.style.overflow = originalStyle;\r\n };\r\n }, [isActive]); // Empty array ensures effect is only run on mount and unmount\r\n}\r\n","\"use client\";\r\n\r\nimport { ReactNode, useEffect, useRef, useState } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\n\r\nimport { FocusScope, useMenu, useMenuItem, useOverlay } from \"react-aria\";\r\nimport { Item, Node, Selection, TreeState, useTreeState } from \"react-stately\";\r\n\r\nimport { Button, useTheme } from \"..\";\r\nimport { useLockBodyScroll } from \"../hooks/useLockBodyScroll\";\r\nimport { csx, handleInternalNavigation, isUrlExternal } from \"../utils\";\r\n\r\nimport \"./ActionMenu.css\";\r\n\r\n// Portal for rendering the ActionMenu into a separate, theme aware layer\r\nconst ThemedPortal = ({ children }) => {\r\n const { className, style } = useTheme();\r\n\r\n const domNode = (() => {\r\n let node = document.getElementById(\"action-menus-root\");\r\n if (!node) {\r\n node = document.createElement(\"div\");\r\n node.id = \"action-menus-root\";\r\n document.body.appendChild(node);\r\n }\r\n\r\n // Apply theme class and CSS variables\r\n node.className = className;\r\n Object.entries(style).forEach(([key, value]) => {\r\n node.style.setProperty(key, value);\r\n });\r\n return node;\r\n })();\r\n\r\n return ReactDOM.createPortal(children, domNode);\r\n};\r\n\r\nexport interface ActionMenuAction {\r\n key: string;\r\n label?: ReactNode;\r\n to?: string;\r\n onAction?: (key: string) => void;\r\n}\r\n\r\nexport interface ActionMenuProps {\r\n /* Whether the menu is open */\r\n isOpen: boolean;\r\n\r\n /* The selection mode of the menu */\r\n selectionMode?: \"single\" | \"multiple\" | \"none\";\r\n\r\n /* The keys of the selected items */\r\n selectedKeys?: string[];\r\n\r\n /* The keys of the disabled items */\r\n disabledKeys?: string[];\r\n\r\n /* The children of the menu */\r\n children?: ReactNode | ((props: { close: () => void }) => ReactNode);\r\n\r\n /* Whether to show the cancel button */\r\n showCancel?: boolean;\r\n\r\n /* Whether to close the menu on navigation */\r\n closeOnNavigation?: boolean;\r\n\r\n /* The actions of the menu */\r\n actions?: ActionMenuAction[];\r\n\r\n /* The id of the menu */\r\n id?: string;\r\n\r\n /* The callback function to close the menu */\r\n onClose?: () => void;\r\n\r\n /* The callback function to change the selection */\r\n onSelectionChange?: (keys: Selection) => void;\r\n\r\n /* The test id of the menu */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * ActionMenu to display a menu of actions.\r\n * Renders a list of actions as a focusable menu, or non-focusable children.\r\n * @interface ActionMenuProps\r\n */\r\nexport const ActionMenu = ({\r\n id,\r\n isOpen,\r\n selectionMode = \"single\",\r\n selectedKeys,\r\n disabledKeys,\r\n children,\r\n showCancel = true,\r\n actions,\r\n closeOnNavigation = true,\r\n onSelectionChange,\r\n onClose,\r\n \"data-testid\": testId,\r\n}: ActionMenuProps) => {\r\n useLockBodyScroll(isOpen);\r\n const { className, theme } = useTheme();\r\n const [isClosing, setIsClosing] = useState<boolean>(false);\r\n const [contentHeight, setContentHeight] = useState<number>(0);\r\n const contentRef = useRef<HTMLDivElement>(null);\r\n const menuRef = useRef<HTMLDivElement>(null);\r\n const prevLocation = useRef<string>(window.location.pathname);\r\n\r\n const hasActions = actions && actions.length > 0;\r\n\r\n const handleClose = () => {\r\n setIsClosing(true);\r\n setContentHeight(0);\r\n setTimeout(() => {\r\n onClose?.();\r\n setIsClosing(false);\r\n }, 300);\r\n };\r\n\r\n const state = hasActions\r\n ? useTreeState({\r\n items: actions,\r\n children: actions.map((action) => (\r\n <Item {...action} key={action.key}>\r\n {action.label}\r\n </Item>\r\n )),\r\n selectedKeys: new Set(selectedKeys),\r\n onSelectionChange: (keys) => onSelectionChange?.(keys),\r\n selectionMode,\r\n disabledKeys,\r\n })\r\n : null;\r\n\r\n const { menuProps } = hasActions\r\n ? useMenu(\r\n {\r\n autoFocus: true,\r\n\r\n shouldFocusWrap: true,\r\n onAction: (key) =>\r\n actions\r\n .find((action) => action.key === key)\r\n ?.onAction?.(key as string),\r\n onClose: () => onClose?.(),\r\n disabledKeys,\r\n onSelectionChange: (keys) => onSelectionChange?.(keys),\r\n selectionMode,\r\n selectedKeys,\r\n\r\n \"aria-label\": \"Action Menu\",\r\n },\r\n state,\r\n menuRef\r\n )\r\n : { menuProps: {} };\r\n\r\n const { overlayProps } = useOverlay(\r\n {\r\n isOpen: isOpen,\r\n onClose: () => onClose?.(),\r\n isDismissable: false,\r\n },\r\n menuRef\r\n );\r\n\r\n // handle opening\r\n useEffect(() => {\r\n if (isOpen && contentRef.current) {\r\n setContentHeight(contentRef.current.scrollHeight);\r\n }\r\n }, [isOpen, contentRef]);\r\n\r\n // handle escape key\r\n useEffect(() => {\r\n const onEsc = (event) => {\r\n if (event.key === \"Escape\") {\r\n handleClose();\r\n }\r\n };\r\n\r\n document.addEventListener(\"keydown\", onEsc);\r\n\r\n return () => {\r\n document.removeEventListener(\"keydown\", onEsc);\r\n };\r\n }, [isClosing]);\r\n\r\n // Automatically close ActionMenu if the window location changes.\r\n useEffect(() => {\r\n if (closeOnNavigation) {\r\n if (prevLocation.current && prevLocation.current !== location.pathname) {\r\n handleClose();\r\n }\r\n prevLocation.current = location.pathname;\r\n }\r\n }, [isClosing, closeOnNavigation]);\r\n\r\n const isScrollable = contentRef.current\r\n ? contentRef.current.getBoundingClientRect().height > window.innerHeight\r\n : false;\r\n const hasContent = children || hasActions || showCancel;\r\n\r\n if (!isOpen) return null;\r\n\r\n return (\r\n <ThemedPortal>\r\n <div\r\n {...overlayProps}\r\n className=\"proton-ActionMenu__background\"\r\n style={{ opacity: contentHeight > 0 ? 1 : 0 }}\r\n onClick={handleClose}\r\n id={id}\r\n >\r\n <div\r\n className=\"proton-ActionMenu__close-button\"\r\n data-testid=\"ActionMenu-close\"\r\n >\r\n ESC\r\n </div>\r\n </div>\r\n\r\n <div\r\n data-testid={testId || \"ActionMenu-wrapper\"}\r\n className={csx(\r\n \"proton-ActionMenu__wrapper\",\r\n isScrollable && \"proton-ActionMenu__wrapper--scrollable\"\r\n )}\r\n >\r\n <div\r\n className={csx(\"proton-ActionMenu__card\", className)}\r\n data-testid=\"ActionMenu-content\"\r\n style={{ height: `${contentHeight}px` }}\r\n >\r\n <div ref={menuRef}>\r\n <div {...menuProps} ref={contentRef}>\r\n {hasContent ? (\r\n <FocusScope autoFocus contain>\r\n {children && (\r\n <div className=\"proton-ActionMenu__content\">\r\n {typeof children === \"function\"\r\n ? children({ close: handleClose })\r\n : children}\r\n </div>\r\n )}\r\n\r\n {hasActions && (\r\n <div\r\n className={csx(\r\n \"proton-ActionMenu__list\",\r\n selectionMode === \"none\" &&\r\n \"proton-ActionMenu__list--disabled\"\r\n )}\r\n >\r\n {Array.from(state.collection).map((item) => (\r\n <ActionMenuItem\r\n key={item.key}\r\n item={item}\r\n state={state}\r\n to={item.props.to}\r\n />\r\n ))}\r\n </div>\r\n )}\r\n\r\n {showCancel && (\r\n <div\r\n className=\"proton-ActionMenu__cancel-button\"\r\n tabIndex={-1}\r\n >\r\n <Button\r\n variant={\r\n theme === \"dark\" || theme === \"custom-dark\"\r\n ? \"translucent\"\r\n : \"secondary\"\r\n }\r\n onPress={handleClose}\r\n data-testid=\"ActionMenuItem-cancel\"\r\n >\r\n Cancel\r\n </Button>\r\n </div>\r\n )}\r\n </FocusScope>\r\n ) : null}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ThemedPortal>\r\n );\r\n};\r\n\r\ninterface ActionMenuItemProps {\r\n to?: string;\r\n state: TreeState<ActionMenuAction>;\r\n item: Node<ActionMenuAction>;\r\n}\r\n\r\nconst ActionMenuItem = ({ to, state, item }: ActionMenuItemProps) => {\r\n const ref = useRef(null);\r\n const { menuItemProps } = useMenuItem({ key: item.key }, state, ref);\r\n const Component = to ? \"a\" : \"div\";\r\n const isExternal = to && isUrlExternal(to);\r\n const anchorProps = to\r\n ? {\r\n href: to,\r\n target: isExternal ? \"_blank\" : undefined,\r\n rel: isExternal ? \"noopener noreferrer\" : undefined,\r\n onClick:\r\n isExternal || !to ? () => {} : (e) => handleInternalNavigation(e, to),\r\n }\r\n : {};\r\n\r\n return (\r\n <Component\r\n {...menuItemProps}\r\n {...anchorProps}\r\n key={item.key}\r\n className=\"proton-ActionMenu__item\"\r\n aria-label={`ActionMenu-Item-${item.key}`}\r\n ref={ref}\r\n >\r\n {item.rendered}\r\n </Component>\r\n );\r\n};\r\n\r\nexport default ActionMenu;\r\n","\"use client\";\r\n\r\nimport React, {\r\n createContext,\r\n ReactNode,\r\n useContext,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n} from \"react\";\r\n\r\nimport { COLORS, Theme, THEMES } from \"../constants\";\r\nimport { arrayToRgbString, Palette } from \"../utils\";\r\nimport { toRgba, transparentize } from \"color2k\";\r\n\r\ninterface ThemeContextType {\r\n theme: Theme;\r\n className: string;\r\n style: ReturnType<typeof generateThemeCssVariables>[Theme];\r\n palette: Palette;\r\n}\r\n\r\nconst ThemeContext = createContext<ThemeContextType | undefined>(undefined);\r\n\r\nexport const useTheme = () => {\r\n const context = useContext(ThemeContext);\r\n if (context === undefined) {\r\n throw new Error(\"useTheme must be used within a ThemeProvider\");\r\n }\r\n return context;\r\n};\r\n\r\ninterface ThemeProviderProps {\r\n theme: Theme;\r\n children: ReactNode;\r\n palette: Palette;\r\n}\r\n\r\nconst THEME_CLASSES = {\r\n [THEMES.DARK]: \"proton-ui__theme--dark\",\r\n [THEMES.CUSTOM_DARK]: \"proton-ui__theme--custom-dark\",\r\n [THEMES.LIGHT]: \"proton-ui__theme--light\",\r\n};\r\n\r\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({\r\n theme,\r\n children,\r\n palette,\r\n}) => {\r\n const containerRef = useRef<HTMLDivElement>(null);\r\n const themeClass = THEME_CLASSES[theme];\r\n const themeVariables = useMemo(\r\n () => generateThemeCssVariables(palette),\r\n [palette]\r\n );\r\n\r\n useEffect(() => {\r\n // Apply the theme class and css variables to the container div so that it is only scoped\r\n // to the ThemeProvider children.\r\n if (containerRef.current) {\r\n containerRef.current.className = themeClass;\r\n const cssVariables = themeVariables[theme];\r\n\r\n Object.entries(cssVariables).forEach(([key, value]) => {\r\n containerRef.current!.style.setProperty(key, value as string);\r\n });\r\n }\r\n }, [theme, themeClass, palette, themeVariables]);\r\n\r\n return (\r\n <ThemeContext.Provider\r\n value={{\r\n theme,\r\n style: themeVariables[theme],\r\n palette,\r\n className: themeClass,\r\n }}\r\n >\r\n <div ref={containerRef}>{children}</div>\r\n </ThemeContext.Provider>\r\n );\r\n};\r\n\r\nexport interface ThemeVariables {\r\n \"--proton-control__background-color\": string;\r\n \"--proton-control__text-color\": string;\r\n \"--proton-control__border-color\": string;\r\n \"--proton-control__shadow-color\": string;\r\n \"--proton-color__primary\": string;\r\n \"--proton-color__primary-light\": string;\r\n \"--proton-color__secondary\": string;\r\n}\r\n\r\nconst defaultBackground = \"rgb(83, 82, 83)\";\r\n\r\nfunction generateThemeCssVariables(\r\n palette: Palette\r\n): Record<Theme, ThemeVariables> {\r\n const shadowColor = transparentize(palette.PRIMARY.PRIMARY_LIGHTEST, 0.4);\r\n\r\n return {\r\n [THEMES.DARK]: {\r\n \"--proton-control__background-color\": toRgba(defaultBackground),\r\n \"--proton-control__text-color\": COLORS.GRAYSCALE.WHITE,\r\n \"--proton-control__border-color\": COLORS.GRAYSCALE.GRAY_DARK,\r\n \"--proton-control__shadow-color\": COLORS.GRAYSCALE.GRAY_DARK,\r\n \"--proton-color__primary\": palette.BRAND.PRIMARY,\r\n \"--proton-color__primary-light\": palette.BRAND.PRIMARY_LIGHT,\r\n \"--proton-color__secondary\": palette.BRAND.SECONDARY,\r\n },\r\n\r\n [THEMES.LIGHT]: {\r\n \"--proton-control__background-color\": COLORS.GRAYSCALE.WHITE,\r\n \"--proton-control__text-color\": COLORS.GRAYSCALE.GRAY_DARK,\r\n \"--proton-control__border-color\": COLORS.GRAYSCALE.GRAY_LIGHT,\r\n \"--proton-control__shadow-color\": transparentize(\r\n toRgba(defaultBackground),\r\n 0.9\r\n ),\r\n \"--proton-color__primary\": palette.BRAND.PRIMARY,\r\n \"--proton-color__primary-light\": palette.BRAND.PRIMARY_LIGHT,\r\n \"--proton-color__secondary\": palette.BRAND.SECONDARY,\r\n },\r\n\r\n [THEMES.CUSTOM_DARK]: {\r\n \"--proton-control__background-color\": toRgba(defaultBackground),\r\n \"--proton-control__text-color\": COLORS.GRAYSCALE.WHITE,\r\n \"--proton-control__border-color\": palette.PRIMARY.PRIMARY_LIGHTEST,\r\n \"--proton-control__shadow-color\": shadowColor,\r\n \"--proton-color__primary\": palette.BRAND.PRIMARY,\r\n \"--proton-color__primary-light\": palette.BRAND.PRIMARY_LIGHT,\r\n \"--proton-color__secondary\": palette.BRAND.SECONDARY,\r\n },\r\n };\r\n}\r\n","\"use client\";\r\n\r\nimport { ReactNode } from \"react\";\r\nimport { csx } from \"../utils\";\r\n\r\nimport \"./Badge.css\";\r\nimport { useTheme } from \"./ThemeProvider\";\r\n\r\nexport type BadgeVariant =\r\n | \"primary\"\r\n | \"secondary\"\r\n | \"transparent\"\r\n | \"success\"\r\n | \"warning\"\r\n | \"danger\";\r\n\r\nexport const BadgeVariants: Record<BadgeVariant, BadgeVariant> = {\r\n primary: \"primary\",\r\n secondary: \"secondary\",\r\n transparent: \"transparent\",\r\n success: \"success\",\r\n warning: \"warning\",\r\n danger: \"danger\",\r\n};\r\n\r\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * The badge's visual aesthetic.\r\n */\r\n variant?: BadgeVariant;\r\n /**\r\n * The content to display within the badge.\r\n */\r\n children: ReactNode;\r\n}\r\n\r\nexport const Badge = ({ variant, children, ...props }: BadgeProps) => {\r\n const { className } = useTheme();\r\n return (\r\n <div\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n data-testid={props[\"data-testid\"]}\r\n className={csx(\r\n \"proton-Badge\",\r\n variant && `proton-Badge--${variant}`,\r\n className\r\n )}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n","\"use client\";\r\n\r\nimport { ElementType, useRef } from \"react\";\r\nimport { PressEvent, useButton } from \"react-aria\";\r\n\r\nimport { csx, isUrlExternal } from \"../utils\";\r\n\r\nimport \"./Button.css\";\r\n\r\nexport type ButtonVariant =\r\n | \"primary\"\r\n | \"secondary\"\r\n | \"success\"\r\n | \"danger\"\r\n | \"translucent\";\r\n\r\nexport const ButtonVariants: Record<ButtonVariant, ButtonVariant> = {\r\n primary: \"primary\",\r\n secondary: \"secondary\",\r\n success: \"success\",\r\n danger: \"danger\",\r\n translucent: \"translucent\",\r\n};\r\n\r\n\r\nexport interface ButtonProps {\r\n /** The button's visual aesthetic\r\n * @param {ButtonVariant} variant\r\n */\r\n variant?: ButtonVariant;\r\n\r\n /** Should the button be non-interactive?\r\n * @param {boolean} isDisabled\r\n */\r\n isDisabled?: boolean;\r\n\r\n /** The URL that the button should link to. Turns the element into an `a` tag\r\n * @param {string} href\r\n */\r\n href?: string;\r\n\r\n /** Called when the button is pressed (on release, not keydown)\r\n * @param {(e: PressEvent) => void} onPress\r\n */\r\n onPress?: (e: PressEvent) => void;\r\n\r\n /** The type of button\r\n * @param {\"button\" | \"submit\" | \"reset\"} type\r\n */\r\n type?: \"button\" | \"submit\" | \"reset\";\r\n\r\n /** The test ID for the button\r\n * @param {string} dataTestId\r\n */\r\n \"data-testid\"?: string;\r\n\r\n /** The content to display within the button\r\n * @param {React.ReactNode} children\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * A customizable button component that can render as either a button or anchor element\r\n * @interface ButtonProps\r\n */\r\nfunction Button({\r\n variant = \"primary\",\r\n href,\r\n onPress,\r\n type,\r\n isDisabled,\r\n \"data-testid\": testId,\r\n children,\r\n}: ButtonProps) {\r\n const Element: ElementType = href ? \"a\" : \"button\";\r\n\r\n const anchorProps =\r\n Element !== \"a\"\r\n ? {}\r\n : {\r\n target: \"_blank\",\r\n href,\r\n };\r\n\r\n const ref = useRef(null);\r\n const { buttonProps } = useButton(\r\n {\r\n onPress,\r\n elementType: Element,\r\n type: type || \"button\",\r\n isDisabled,\r\n },\r\n ref\r\n );\r\n\r\n return (\r\n <Element\r\n {...buttonProps}\r\n {...anchorProps}\r\n className={csx(\r\n \"proton-Button\",\r\n `proton-Button--${variant}`,\r\n isDisabled && \"proton-Button--disabled\"\r\n )}\r\n ref={ref}\r\n data-testid={testId}\r\n >\r\n {children}\r\n {href && isUrlExternal(href) && (\r\n <svg viewBox=\"0 0 512 512\" width=\"0.8em\" height=\"0.8em\">\r\n <path\r\n d=\"M384 224v184a40 40 0 01-40 40H104a40 40 0 01-40-40V168a40 40 0 0140-40h167.48M336 64h112v112M224 288L440 72\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n strokeWidth=\"32\"\r\n />\r\n </svg>\r\n )}\r\n </Element>\r\n );\r\n}\r\n\r\nexport default Button;\r\n","\"use client\";\r\n\r\nimport React, {\r\n ReactNode,\r\n createContext,\r\n isValidElement,\r\n useContext,\r\n} from \"react\";\r\nimport { DANGER, GRAYSCALE, SUCCESS, WARNING } from \"../constants/colors\";\r\nimport { csx } from \"../utils\";\r\nimport Button, { ButtonProps } from \"./Button\";\r\n\r\nimport \"./Banner.css\";\r\n\r\n//TODO: move svgs to lib and use Icon component\r\nconst bannerIcons = {\r\n success: (\r\n <svg viewBox=\"0 0 20 20\" height=\"18\" width=\"18\">\r\n <path\r\n fillRule=\"evenodd\"\r\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z\"\r\n ></path>\r\n </svg>\r\n ),\r\n warning: (\r\n <svg viewBox=\"0 0 56 56\" height=\"17\" width=\"17\">\r\n <path d=\"M9.59 50.207h36.82c3.516 0 5.719-2.531 5.719-5.719a5.56 5.56 0 0 0-.75-2.812l-18.445-33c-1.055-1.899-2.977-2.883-4.922-2.883c-1.922 0-3.89.984-4.946 2.883L4.645 41.699c-.516.89-.774 1.828-.774 2.79c0 3.187 2.227 5.718 5.719 5.718m18.422-16.055c-1.242 0-1.922-.703-1.969-1.968l-.328-11.578c-.047-1.266.937-2.204 2.273-2.204c1.313 0 2.344.961 2.297 2.227l-.351 11.555c-.047 1.289-.727 1.968-1.922 1.968m0 8.649c-1.36 0-2.625-1.078-2.625-2.532s1.242-2.53 2.625-2.53s2.625 1.054 2.625 2.53c0 1.477-1.266 2.532-2.625 2.532\" />\r\n </svg>\r\n ),\r\n danger: (\r\n <svg viewBox=\"0 0 20 20\" height=\"18\" width=\"18\">\r\n <path\r\n fillRule=\"evenodd\"\r\n d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.28 7.22a.75.75 0 00-1.06 1.06L8.94 10l-1.72 1.72a.75.75 0 101.06 1.06L10 11.06l1.72 1.72a.75.75 0 101.06-1.06L11.06 10l1.72-1.72a.75.75 0 00-1.06-1.06L10 8.94 8.28 7.22z\"\r\n ></path>\r\n </svg>\r\n ),\r\n};\r\n\r\nconst bannerColors: Record<\r\n BannerVariant,\r\n { background: string; title: string; content: string; icon: string }\r\n> = {\r\n default: {\r\n background: GRAYSCALE.GRAY_LIGHTEST,\r\n title: GRAYSCALE.GRAY_DARK,\r\n content: GRAYSCALE.GRAY_MEDIUM,\r\n icon: GRAYSCALE.GRAY_MEDIUM_LIGHT,\r\n },\r\n success: {\r\n background: SUCCESS.SUPER_LIGHT,\r\n title: SUCCESS.DARK,\r\n content: SUCCESS.MEDIUM,\r\n icon: SUCCESS.LIGHT,\r\n },\r\n warning: {\r\n background: WARNING.SUPER_LIGHT,\r\n title: WARNING.DARK,\r\n content: WARNING.MEDIUM,\r\n icon: WARNING.LIGHT,\r\n },\r\n danger: {\r\n background: DANGER.SUPER_LIGHT,\r\n title: DANGER.DARK,\r\n content: DANGER.MEDIUM,\r\n icon: DANGER.LIGHT,\r\n },\r\n};\r\n\r\nexport type BannerVariant = \"default\" | \"success\" | \"warning\" | \"danger\";\r\n\r\nexport const bannerVariants = {\r\n default: \"default\",\r\n success: \"success\",\r\n warning: \"warning\",\r\n danger: \"danger\",\r\n} as const;\r\n\r\nconst BannerContext = createContext<BannerVariant | undefined>(undefined);\r\n\r\ninterface BannerIconProps {\r\n /**\r\n * The icon to display in the banner.\r\n * Can be a boolean to conditionally show or hide,\r\n * or a ReactNode to provide a custom icon.\r\n */\r\n icon?: boolean | ReactNode;\r\n /**\r\n * Optional custom icon or children for the icon area.\r\n */\r\n children?: ReactNode;\r\n}\r\n\r\ninterface BannerProps\r\n extends BannerIconProps,\r\n React.HTMLAttributes<HTMLDivElement> {\r\n /**\r\n * The banner's visual aesthetic.\r\n */\r\n variant?: BannerVariant;\r\n /**\r\n * Round the corners of the banner.\r\n */\r\n rounded?: boolean;\r\n /**\r\n * Compact padding around the content of the banner.\r\n */\r\n compact?: boolean;\r\n /**\r\n * The content to display within the banner.\r\n */\r\n children: ReactNode;\r\n}\r\n\r\n/**\r\n * A banner used to display a success, warning, or error message.\r\n * @interface BannerProps\r\n */\r\nconst Banner = ({\r\n variant = \"default\",\r\n rounded = true,\r\n icon = false,\r\n compact = true,\r\n children,\r\n ...props\r\n}: BannerProps) => (\r\n <BannerContext.Provider value={variant}>\r\n <div\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n className={csx(\r\n \"proton-Banner\",\r\n `proton-Banner--${variant}`,\r\n rounded && \"proton-Banner--rounded\"\r\n )}\r\n data-testid={props[\"data-testid\"]}\r\n >\r\n <div\r\n className={csx(\r\n \"proton-Banner__wrapper\",\r\n compact && \"proton-Banner__wrapper--compact\"\r\n )}\r\n >\r\n <Banner.Icon icon={icon} />\r\n <div className=\"proton-Banner__content-wrapper\">\r\n <div className=\"proton-Banner__container\">{children}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </BannerContext.Provider>\r\n);\r\n\r\nconst BannerTitle = ({ children, ...props }: { children: ReactNode }) => {\r\n const variant = useContext(BannerContext);\r\n if (!variant) throw new Error(\"BannerTitle must be used within a Banner\");\r\n\r\n return (\r\n <h3\r\n className={csx(\r\n \"proton-Banner\",\r\n \"proton-Banner__title\",\r\n `proton-Banner--${variant}__title`\r\n )}\r\n data-testid={props[\"data-testid\"]}\r\n >\r\n {children}\r\n </h3>\r\n );\r\n};\r\n\r\nconst BannerContent = ({ children, ...props }: { children: ReactNode }) => {\r\n const variant = useContext(BannerContext);\r\n if (!variant) throw new Error(\"BannerContent must be used within a Banner\");\r\n\r\n return (\r\n <p\r\n className={csx(\r\n \"proton-Banner\",\r\n \"proton-Banner__content\",\r\n `proton-Banner--${variant}__content`\r\n )}\r\n data-testid={props[\"data-testid\"]}\r\n >\r\n {children}\r\n </p>\r\n );\r\n};\r\n\r\nconst BannerIcon = ({ children, icon, ...props }: BannerIconProps) => {\r\n const variant = useContext(BannerContext);\r\n if (!variant) throw new Error(\"BannerIcon must be used within a Banner\");\r\n\r\n const getIconContent = () => {\r\n if (isValidElement(icon)) return icon;\r\n if (icon === true) return bannerIcons[variant];\r\n return children || null;\r\n };\r\n\r\n const iconContent = getIconContent();\r\n\r\n if (!iconContent) return null;\r\n\r\n return (\r\n <span\r\n aria-hidden=\"true\"\r\n data-testid={props[\"data-testid\"]}\r\n className={csx(\"proton-Banner__icon\", `proton-Banner--${variant}__icon`)}\r\n >\r\n {iconContent}\r\n </span>\r\n );\r\n};\r\n\r\nconst BannerAction = ({ children, ...props }: ButtonProps) => {\r\n return <Button {...props}>{children}</Button>;\r\n};\r\n\r\ninterface BannerActionsProps {\r\n children: ReactNode;\r\n}\r\n\r\nconst BannerActions: React.FC<BannerActionsProps> = ({ children }) => {\r\n return <div className=\"proton-Banner__actions\">{children}</div>;\r\n};\r\n\r\nBanner.Title = BannerTitle;\r\nBanner.Content = BannerContent;\r\nBanner.Icon = BannerIcon;\r\nBanner.Action = BannerAction;\r\nBanner.Actions = BannerActions;\r\nBanner.colors = bannerColors;\r\nBanner.icons = bannerIcons;\r\nBanner.variants = bannerVariants;\r\n\r\nexport default Banner;\r\n","\"use client\";\r\n\r\nimport { createContext, useContext, useRef } from \"react\";\r\nimport { useRadio, useRadioGroup, VisuallyHidden } from \"react-aria\";\r\nimport { useRadioGroupState } from \"react-stately\";\r\nimport { csx } from \"../utils\";\r\n\r\nimport \"./ButtonGroup.css\";\r\n\r\nexport interface ButtonGroupProps {\r\n /**\r\n * The value of the currently selected option in the ButtonGroup. Providing\r\n * this prop causes the component to become controlled.\r\n */\r\n value?: string;\r\n\r\n /**\r\n * The initially selected value of the ButtonGroup.\r\n */\r\n defaultValue?: string;\r\n\r\n /**\r\n * Called when the ButtonGroup's selected value changes.\r\n */\r\n onChange?: (value: string) => void;\r\n\r\n /**\r\n * The ButtonGroup.Option elements to be rendered as the selectable values.\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\nlet ButtonGroupContext = createContext(null);\r\n\r\nfunction ButtonGroup(props: ButtonGroupProps) {\r\n let sanitizedProps = {\r\n ...props,\r\n \"data-testid\": undefined,\r\n };\r\n\r\n let state = useRadioGroupState(sanitizedProps);\r\n let { radioGroupProps } = useRadioGroup(sanitizedProps, state);\r\n\r\n return (\r\n <div\r\n {...radioGroupProps}\r\n className=\"proton-ButtonGroup\"\r\n data-value={state.selectedValue}\r\n data-testid={props[\"data-testid\"] || undefined}\r\n >\r\n <ButtonGroupContext.Provider value={state}>\r\n {props.children}\r\n </ButtonGroupContext.Provider>\r\n </div>\r\n );\r\n}\r\n\r\nexport interface ButtonGroupOptionProps {\r\n /**\r\n * The value of this option. When this option is selected, this value will\r\n * become the ButtonGroup's new `selectedValue`.\r\n */\r\n value: string;\r\n\r\n /**\r\n * The text or component to be rendered as this option's content.\r\n */\r\n children: React.ReactNode;\r\n}\r\n\r\nButtonGroup.Option = function ButtonGroupOption(props: ButtonGroupOptionProps) {\r\n let sanitizedProps = {\r\n ...props,\r\n \"data-testid\": undefined,\r\n };\r\n\r\n let state = useContext(ButtonGroupContext);\r\n let ref = useRef(null);\r\n let { inputProps, isSelected } = useRadio(sanitizedProps, state, ref);\r\n\r\n return (\r\n <label\r\n className={csx(\r\n \"proton-ButtonGroup__option\",\r\n isSelected && \"proton-ButtonGroup__option--selected\"\r\n )}\r\n data-selected={isSelected || undefined}\r\n data-testid={props[\"data-testid\"] || undefined}\r\n >\r\n <VisuallyHidden>\r\n <input {...inputProps} ref={ref} />\r\n </VisuallyHidden>\r\n {props.children}\r\n </label>\r\n );\r\n};\r\n\r\nexport default ButtonGroup;\r\n","\"use client\";\r\n\r\nimport { useRef } from \"react\";\r\nimport { AriaDialogProps, useDialog } from \"react-aria\";\r\nimport { csx } from \"../utils\";\r\n\r\nimport \"./Dialog.css\";\r\nimport { useTheme } from \"./ThemeProvider\";\r\n\r\ninterface DialogProps extends AriaDialogProps {\r\n title?: React.ReactNode;\r\n children: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Intended use in overlay containers such as modals or popovers.\r\n */\r\n\r\nexport default function Dialog({ title, children, ...props }: DialogProps) {\r\n let ref = useRef(null);\r\n let { dialogProps, titleProps } = useDialog(props, ref);\r\n const { className } = useTheme();\r\n\r\n return (\r\n <div {...dialogProps} ref={ref} className={csx(\"proton-Dialog\", className)}>\r\n {title && (\r\n <h3 {...titleProps} className=\"proton-Dialog__header\">\r\n {title}\r\n </h3>\r\n )}\r\n {children}\r\n </div>\r\n );\r\n}\r\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cdefs%3e%3csymbol%20id='external-link'%20viewBox='0%200%20512%20512'%3e%3cpath%20d='M384%20224v184a40%2040%200%2001-40%2040H104a40%2040%200%2001-40-40V168a40%2040%200%200140-40h167.48M336%2064h112v112M224%20288L440%2072'%20fill='none'%20stroke='currentColor'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='32'/%3e%3c/symbol%3e%3csymbol%20id='caret-down'%20viewBox='0%200%20512%20512'%3e%3cpath%20fill='currentColor'%20d='M233.4%20406.6c12.5%2012.5%2032.8%2012.5%2045.3%200l192-192c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200L256%20338.7L86.6%20169.4c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3l192%20192z'/%3e%3c/symbol%3e%3c/defs%3e%3c/svg%3e\"","import iconURL from \"../../assets/svg/icons.svg\";\r\n\r\ntype IconID = \"external-link\" | \"caret-down\";\r\n\r\n/*\r\n *\r\n * 🚧 UNDER CONSTRUCTION 🚧\r\n *\r\n */\r\n\r\nexport interface IconProps {\r\n /**\r\n * The spritesheet ID defined in the Icons spritesheet.\r\n */\r\n id: IconID;\r\n\r\n /**\r\n * The desired width/height of the icon. Accepts any valid CSS unit.\r\n */\r\n size?: number | string;\r\n\r\n /**\r\n * The stroke color of the icon.\r\n */\r\n color?: string;\r\n}\r\n\r\nfunction Icon(props: IconProps) {\r\n let iconStyle = {\r\n height: props.size || undefined,\r\n width: props.size || undefined,\r\n color: props.color || undefined,\r\n };\r\n\r\n return (\r\n <svg style={iconStyle} {...props}>\r\n <use href={`${iconURL}#${props.id}`} />\r\n </svg>\r\n );\r\n}\r\n\r\nexport default Icon;\r\n","\"use client\";\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport Icon, { IconProps } from \"./Icon\";\r\n\r\nconst svgUrl = \"../assets/svg/icons.svg\";\r\n\r\n/*\r\n *\r\n * 🚧 UNDER CONSTRUCTION 🚧\r\n * This is a workaround for loading from external SVG spritesheets.\r\n *\r\n */\r\n\r\nfunction IconWrapper(props: Omit<IconProps, \"svgContent\">) {\r\n const [svgContent, setSvgContent] = useState(\"\");\r\n\r\n useEffect(() => {\r\n // fetch(new URL(svgUrl, import.meta.url).href)\r\n // .then((response) => response.text())\r\n // .then((content) => {\r\n // setSvgContent(content);\r\n // });\r\n }, []);\r\n\r\n if (!svgContent) return null;\r\n\r\n return (\r\n <>\r\n <div\r\n dangerouslySetInnerHTML={{ __html: svgContent }}\r\n style={{ display: \"none\" }}\r\n />\r\n <Icon {...props} />\r\n </>\r\n );\r\n}\r\n\r\nexport default IconWrapper;\r\n","\"use client\";\r\n\r\nimport React, { forwardRef, useRef } from \"react\";\r\nimport { useClipboard, useTextField } from \"react-aria\";\r\n\r\nimport { useTheme } from \"../../ThemeProvider\";\r\nimport { csx } from \"../../../utils\";\r\nimport \"./Input.css\";\r\nimport { COLORS, THEMES } from \"../../../constants\";\r\nimport { transparentize } from \"color2k\";\r\n\r\nexport interface BaseInputProps {\r\n /**\r\n * onChange handler for the input\r\n */\r\n onChange?: (value: string) => void;\r\n\r\n /** Whether the input is disabled. */\r\n isDisabled?: boolean;\r\n\r\n /** Description text shown above the input. */\r\n description?: React.ReactNode | string;\r\n\r\n /**\r\n * The position of the description text.\r\n * @default \"top\"\r\n */\r\n descriptionPosition?: \"top\" | \"bottom\";\r\n\r\n /** Error state that changes the input's visual style and displays an error message. */\r\n error?: React.ReactNode | string;\r\n\r\n /**\r\n * Label for the input element.\r\n * @note When a label is provided, the input will have extra padding, and the label will float above the text input when focused or filled.\r\n */\r\n label?: string;\r\n\r\n /** Test ID for the component. */\r\n \"data-testid\"?: string;\r\n\r\n /** Content to display before the input. Typically used for icons. */\r\n prefix?: React.ReactNode;\r\n\r\n /** Content to display after the input. Typically used for icons. */\r\n suffix?: React.ReactNode;\r\n\r\n /**\r\n * Should the browser's autocomplete be enabled?\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\r\n */\r\n autoComplete?: boolean;\r\n\r\n /**\r\n * Should the input be autofocused?\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autofocus\r\n */\r\n autoFocus?: boolean;\r\n\r\n /**\r\n * The name attribute of the input element.\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/name\r\n */\r\n name: string;\r\n\r\n /**\r\n * The placeholder text to display when the input is empty.\r\n * @note Placeholder takes precedence over label, if both are provided.\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/placeholder\r\n */\r\n placeholder?: string;\r\n\r\n /**\r\n * The type attribute of the input element.\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/type\r\n */\r\n type?: string;\r\n\r\n /**\r\n * The value of the input.\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#value\r\n */\r\n value?: string;\r\n}\r\n\r\n/**\r\n * A controlled and customizable input component with support for labels, prefixes, suffixes, and error states.\r\n */\r\nconst Input = forwardRef<HTMLInputElement, BaseInputProps>(\r\n (\r\n {\r\n prefix,\r\n suffix,\r\n description,\r\n descriptionPosition = \"top\",\r\n isDisabled,\r\n error,\r\n onChange,\r\n label,\r\n name,\r\n placeholder,\r\n type = \"text\",\r\n value,\r\n autoFocus,\r\n autoComplete,\r\n \"data-testid\": testId,\r\n },\r\n forwardedRef: React.RefObject<HTMLInputElement>\r\n ) => {\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n const { className, palette, theme } = useTheme();\r\n const ref = forwardedRef || inputRef;\r\n const { labelProps, inputProps, descriptionProps, errorMessageProps } =\r\n useTextField(\r\n {\r\n label,\r\n name,\r\n type,\r\n autoFocus,\r\n autoComplete: autoComplete ? \"on\" : \"off\",\r\n \"aria-label\": label || name,\r\n \"aria-describedby\": error ? `${name}-input-error` : `${name}-input`,\r\n errorMessage: error,\r\n isDisabled,\r\n placeholder,\r\n validationState: error ? \"invalid\" : \"valid\",\r\n value,\r\n onChange,\r\n },\r\n ref\r\n );\r\n const { clipboardProps } = useClipboard({\r\n getItems() {\r\n return [{ \"text/plain\": value }];\r\n },\r\n });\r\n\r\n const style = {\r\n \"--input-background\": (() => {\r\n switch (theme) {\r\n case THEMES.CUSTOM_DARK:\r\n return transparentize(palette.PRIMARY.PRIMARY_SUPER_LIGHT, 0.6); // 1 - 0.4 = 0.6\r\n case THEMES.DARK:\r\n return transparentize(COLORS.GRAYSCALE.GRAY_MEDIUM, 0.5);\r\n default:\r\n return COLORS.GRAYSCALE.WHITE;\r\n }\r\n })(),\r\n } as React.CSSProperties;\r\n\r\n return (\r\n <div className=\"proton-Input__container\">\r\n {description && descriptionPosition === \"top\" && (\r\n <div {...descriptionProps} className=\"proton-Input__text\">\r\n {description}\r\n </div>\r\n )}\r\n <div className=\"proton-Input__container-inner\">\r\n {prefix && (\r\n <div\r\n className={csx(\r\n \"proton-Input__descriptor\",\r\n \"proton-Input__prefix\"\r\n )}\r\n >\r\n {prefix}\r\n </div>\r\n )}\r\n\r\n <input\r\n {...inputProps}\r\n {...clipboardProps}\r\n data-testid={testId}\r\n id={`${name}-input`}\r\n aria-invalid={Boolean(error)}\r\n ref={ref}\r\n style={style}\r\n className={csx(\r\n \"proton-Input\",\r\n error && \"proton-Input--error\",\r\n label && !placeholder && \"proton-Input__label-top\",\r\n className\r\n )}\r\n />\r\n\r\n <label\r\n {...labelProps}\r\n className={csx(\r\n \"proton-Input__label\",\r\n placeholder && \"proton-Input__label--hide\",\r\n value && \"proton-Input__label--filled\"\r\n )}\r\n >\r\n {label}\r\n </label>\r\n\r\n {suffix && (\r\n <div\r\n className={csx(\r\n \"proton-Input__descriptor\",\r\n \"proton-Input__suffix\"\r\n )}\r\n >\r\n {suffix}\r\n </div>\r\n )}\r\n </div>\r\n\r\n {error ? (\r\n <div\r\n {...errorMessageProps}\r\n role=\"alert\"\r\n className={csx(\"proton-Input__error\", \"proton-Input__text\")}\r\n id={`${name}-error`}\r\n >\r\n {error}\r\n </div>\r\n ) : description && descriptionPosition === \"bottom\" ? (\r\n <div {...descriptionProps} className=\"proton-Input__text\">\r\n {description}\r\n </div>\r\n ) : null}\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nexport default Input;\r\n","import {useState as $3whtM$useState, useRef as $3whtM$useRef, useEffect as $3whtM$useEffect, useCallback as $3whtM$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $458b0a5536c1a7cf$export$40bfa8c7b0832715(value, defaultValue, onChange) {\n let [stateValue, setStateValue] = (0, $3whtM$useState)(value || defaultValue);\n let isControlledRef = (0, $3whtM$useRef)(value !== undefined);\n let isControlled = value !== undefined;\n (0, $3whtM$useEffect)(()=>{\n let wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) console.warn(`WARN: A component changed from ${wasControlled ? 'controlled' : 'uncontrolled'} to ${isControlled ? 'controlled' : 'uncontrolled'}.`);\n isControlledRef.current = isControlled;\n }, [\n isControlled\n ]);\n let currentValue = isControlled ? value : stateValue;\n let setValue = (0, $3whtM$useCallback)((value, ...args)=>{\n let onChangeCaller = (value, ...onChangeArgs)=>{\n if (onChange) {\n if (!Object.is(currentValue, value)) onChange(value, ...onChangeArgs);\n }\n if (!isControlled) // If uncontrolled, mutate the currentValue local variable so that\n // calling setState multiple times with the same value only emits onChange once.\n // We do not use a ref for this because we specifically _do_ want the value to\n // reset every render, and assigning to a ref in render breaks aborted suspended renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n currentValue = value;\n };\n if (typeof value === 'function') {\n console.warn('We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320');\n // this supports functional updates https://reactjs.org/docs/hooks-reference.html#functional-updates\n // when someone using useControlledState calls setControlledState(myFunc)\n // this will call our useState setState with a function as well which invokes myFunc and calls onChange with the value from myFunc\n // if we're in an uncontrolled state, then we also return the value of myFunc which to setState looks as though it was just called with myFunc from the beginning\n // otherwise we just return the controlled value, which won't cause a rerender because React knows to bail out when the value is the same\n let updateFunction = (oldValue, ...functionArgs)=>{\n let interceptedValue = value(isControlled ? currentValue : oldValue, ...functionArgs);\n onChangeCaller(interceptedValue, ...args);\n if (!isControlled) return interceptedValue;\n return oldValue;\n };\n setStateValue(updateFunction);\n } else {\n if (!isControlled) setStateValue(value);\n onChangeCaller(value, ...args);\n }\n }, [\n isControlled,\n currentValue,\n onChange\n ]);\n return [\n currentValue,\n setValue\n ];\n}\n\n\nexport {$458b0a5536c1a7cf$export$40bfa8c7b0832715 as useControlledState};\n//# sourceMappingURL=useControlledState.module.js.map\n","import {useControlledState as $58ylH$useControlledState} from \"@react-stately/utils\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $0b2218c4e3fe7d7e$export$3f8be18b0f41eaf2(props) {\n let [value, setValue] = (0, $58ylH$useControlledState)($0b2218c4e3fe7d7e$var$toString(props.value), $0b2218c4e3fe7d7e$var$toString(props.defaultValue) || '', props.onChange);\n return {\n value: value,\n setValue: setValue\n };\n}\nfunction $0b2218c4e3fe7d7e$var$toString(val) {\n if (val == null) return;\n return val.toString();\n}\n\n\nexport {$0b2218c4e3fe7d7e$export$3f8be18b0f41eaf2 as useSearchFieldState};\n//# sourceMappingURL=useSearchFieldState.module.js.map\n","\"use client\";\r\n\r\nimport { useEffect, useRef } from \"react\";\r\nimport { useSearchFieldState } from \"@react-stately/searchfield\";\r\nimport { useSearchField } from \"react-aria\";\r\n\r\nimport \"./SearchInput.css\";\r\nimport { csx } from \"../../../utils\";\r\n\r\nimport Input, { BaseInputProps } from \"../BaseInput/Input\";\r\n\r\nexport interface SearchInputProps\r\n extends Omit<\r\n BaseInputProps,\r\n | \"prefix\"\r\n | \"suffix\"\r\n | \"value\"\r\n | \"onChange\"\r\n | \"description\"\r\n | \"descriptionPosition\"\r\n | \"label\"\r\n > {\r\n /** Should the clear button be shown when there is text? */\r\n isClearable?: boolean;\r\n\r\n /** Called when the input value changes. */\r\n onChange?: (value: string) => void;\r\n\r\n /** Called when the clear button is clicked. */\r\n onClear?: () => void;\r\n\r\n /** The initial value of the input. */\r\n defaultValue?: string;\r\n\r\n /** The current value of the input (for controlled usage) */\r\n value?: string;\r\n}\r\n\r\n/**\r\n * A search input component with optional clear functionality and URL parameter sync.\r\n */\r\nconst SearchInput = ({\r\n name = \"search\",\r\n placeholder = \"Search...\",\r\n autoComplete,\r\n isClearable = true,\r\n error,\r\n defaultValue,\r\n value: controlledValue,\r\n \"data-testid\": testId = \"proton-SearchInput\",\r\n onChange,\r\n onClear,\r\n}: SearchInputProps) => {\r\n const state = useSearchFieldState({\r\n defaultValue,\r\n value: controlledValue,\r\n onChange: (value) => onChange?.(value),\r\n onClear: () => onClear?.(),\r\n label: placeholder,\r\n });\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n const { inputProps, clearButtonProps } = useSearchField(\r\n { ...state, placeholder },\r\n state,\r\n inputRef\r\n );\r\n const { value, setValue } = state;\r\n\r\n const handleTextClear = () => {\r\n if (onClear) onClear();\r\n onChange?.(\"\");\r\n setValue(\"\");\r\n };\r\n\r\n return (\r\n <div\r\n className=\"proton-SearchInput__wrapper\"\r\n data-testid={testId}\r\n role=\"search\"\r\n >\r\n <Input\r\n {...inputProps}\r\n type=\"search\"\r\n onChange={(value) => state.setValue(value)}\r\n value={value}\r\n name={name}\r\n \r\n placeholder={placeholder}\r\n autoComplete={autoComplete}\r\n error={error}\r\n ref={inputRef}\r\n prefix={\r\n <svg\r\n aria-hidden=\"true\"\r\n width=\"1.6em\"\r\n height=\"1.6em\"\r\n viewBox=\"0 0 24 24\"\r\n onClick={() => inputRef.current?.focus()}\r\n >\r\n <title>Magnifying Glass</title>\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M10.5 18.5a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm0-1a7 7 0 1 0 0-14 7 7 0 0 0 0 14Zm5.25-.75 4.5 4.5-1.25 1.25-4.5-4.5 1.25-1.25Z\"\r\n />\r\n </svg>\r\n }\r\n suffix={\r\n <button\r\n aria-label={clearButtonProps[\"aria-label\"]}\r\n type=\"button\"\r\n className={csx(\r\n \"proton-SearchInput__button\",\r\n \"proton-Input__descriptor\",\r\n \"proton-Input__suffix\",\r\n !(isClearable && value?.length > 0) &&\r\n \"proton-SearchInput__button--hide\"\r\n )}\r\n data-testid={`${testId}-clear`}\r\n onClick={() => {\r\n handleTextClear();\r\n inputRef.current?.focus();\r\n }}\r\n >\r\n <svg\r\n aria-hidden=\"true\"\r\n viewBox=\"0 0 50 50\"\r\n width=\"1.2em\"\r\n height=\"1.2em\"\r\n >\r\n <title>Clear</title>\r\n <path\r\n fill=\"currentColor\"\r\n d=\"m37.304 11.282l1.414 1.414l-26.022 26.02l-1.414-1.413z\"\r\n />\r\n <path\r\n fill=\"currentColor\"\r\n d=\"m12.696 11.282l26.022 26.02l-1.414 1.415l-26.022-26.02z\"\r\n />\r\n </svg>\r\n </button>\r\n }\r\n />\r\n </div>\r\n );\r\n};\r\n\r\nexport default SearchInput;\r\n","\"use client\";\r\n\r\nimport React, { useRef } from \"react\";\r\nimport type { AriaPopoverProps } from \"react-aria\";\r\nimport {\r\n DismissButton,\r\n Overlay,\r\n useButton,\r\n useOverlayTrigger,\r\n usePopover,\r\n} from \"react-aria\";\r\nimport {\r\n OverlayTriggerProps,\r\n useOverlayTriggerState,\r\n type OverlayTriggerState,\r\n} from \"react-stately\";\r\nimport { csx } from \"../utils\";\r\nimport { useTheme } from \"./ThemeProvider\";\r\n\r\nimport \"./Popover.css\";\r\n\r\n/**\r\n * Hook for creating a popover trigger. This hook manages the state and events for the popover\r\n * and popover trigger. For examples see Popover.stories.tsx.\r\n */\r\n\r\nexport function usePopoverTrigger(props?: OverlayTriggerProps) {\r\n const triggerRef = useRef<HTMLButtonElement>(null);\r\n\r\n const state = useOverlayTriggerState(props || {});\r\n const { triggerProps, overlayProps } = useOverlayTrigger(\r\n { type: \"dialog\" },\r\n state,\r\n triggerRef\r\n );\r\n const { buttonProps } = useButton(triggerProps, triggerRef);\r\n\r\n return { buttonProps, overlayProps, buttonRef: triggerRef, state };\r\n}\r\n\r\n\r\n\r\ninterface PopoverProps extends Omit<AriaPopoverProps, \"popoverRef\"> {\r\n /**\r\n * Content to display within the popover.\r\n */\r\n children: React.ReactNode;\r\n /**\r\n * The `isOpen` state of the popover and the methods to toggle it.\r\n */\r\n state: OverlayTriggerState;\r\n /**\r\n * Can optionally forward the ref to the popover.\r\n */\r\n popoverRef?: React.RefObject<HTMLDivElement>;\r\n /**\r\n * Whether to show an arrow on the popover.\r\n */\r\n arrow?: boolean;\r\n}\r\n\r\n/**\r\n * Popover is an unstyled popover component that handles positioning. It should be used\r\n * with the Dialog component to provide a styled popover.\r\n *\r\n * A popover displays interactive content in context with a trigger element.\r\n * A tooltip displays a description of an element on hover or focus.\r\n *\r\n * @interface PopoverProps\r\n */\r\nexport function Popover({\r\n children,\r\n state,\r\n arrow = true,\r\n offset,\r\n ...props\r\n}: PopoverProps) {\r\n const ref = useRef<HTMLDivElement>(null);\r\n const { popoverRef = ref } = props;\r\n const { className, style } = useTheme();\r\n\r\n let { popoverProps, underlayProps, arrowProps, placement } = usePopover(\r\n {\r\n ...props,\r\n offset,\r\n popoverRef,\r\n },\r\n state\r\n );\r\n\r\n return (\r\n <Overlay>\r\n <div {...underlayProps} style={{ position: \"fixed\", inset: 0 }} />\r\n <div\r\n {...popoverProps}\r\n ref={popoverRef}\r\n className={csx(\"proton-Popover\", className)}\r\n style={{ ...style, ...popoverProps.style }}\r\n data-testid={props[\"data-testid\"] || undefined}\r\n >\r\n <DismissButton onDismiss={state.close} />\r\n {arrow && (\r\n <svg\r\n {...arrowProps}\r\n className=\"arrow\"\r\n data-placement={placement}\r\n viewBox=\"0 0 12 12\"\r\n >\r\n <title>arrow</title>\r\n <path d=\"M0 0 L6 6 L12 0\" />\r\n </svg>\r\n )}\r\n {children}\r\n </div>\r\n </Overlay>\r\n );\r\n}\r\n\r\nexport default Popover;\r\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $23b9f4fcf0fe224b$export$d68d59712b04d9d1 {\n get childNodes() {\n throw new Error('childNodes is not supported');\n }\n clone() {\n let node = new $23b9f4fcf0fe224b$export$d68d59712b04d9d1(this.type, this.key);\n node.value = this.value;\n node.level = this.level;\n node.hasChildNodes = this.hasChildNodes;\n node.rendered = this.rendered;\n node.textValue = this.textValue;\n node['aria-label'] = this['aria-label'];\n node.index = this.index;\n node.parentKey = this.parentKey;\n node.prevKey = this.prevKey;\n node.nextKey = this.nextKey;\n node.firstChildKey = this.firstChildKey;\n node.lastChildKey = this.lastChildKey;\n node.props = this.props;\n node.render = this.render;\n return node;\n }\n constructor(type, key){\n this.value = null;\n this.level = 0;\n this.hasChildNodes = false;\n this.rendered = null;\n this.textValue = '';\n this['aria-label'] = undefined;\n this.index = 0;\n this.parentKey = null;\n this.prevKey = null;\n this.nextKey = null;\n this.firstChildKey = null;\n this.lastChildKey = null;\n this.props = {};\n this.type = type;\n this.key = key;\n }\n}\nclass $23b9f4fcf0fe224b$export$408d25a4e12db025 {\n get size() {\n return this.keyMap.size;\n }\n getKeys() {\n return this.keyMap.keys();\n }\n *[Symbol.iterator]() {\n let node = this.firstKey != null ? this.keyMap.get(this.firstKey) : undefined;\n while(node){\n yield node;\n node = node.nextKey != null ? this.keyMap.get(node.nextKey) : undefined;\n }\n }\n getChildren(key) {\n let keyMap = this.keyMap;\n return {\n *[Symbol.iterator] () {\n let parent = keyMap.get(key);\n let node = (parent === null || parent === void 0 ? void 0 : parent.firstChildKey) != null ? keyMap.get(parent.firstChildKey) : null;\n while(node){\n yield node;\n node = node.nextKey != null ? keyMap.get(node.nextKey) : undefined;\n }\n }\n };\n }\n getKeyBefore(key) {\n let node = this.keyMap.get(key);\n if (!node) return null;\n if (node.prevKey != null) {\n node = this.keyMap.get(node.prevKey);\n while(node && node.type !== 'item' && node.lastChildKey != null)node = this.keyMap.get(node.lastChildKey);\n var _node_key;\n return (_node_key = node === null || node === void 0 ? void 0 : node.key) !== null && _node_key !== void 0 ? _node_key : null;\n }\n return node.parentKey;\n }\n getKeyAfter(key) {\n let node = this.keyMap.get(key);\n if (!node) return null;\n if (node.type !== 'item' && node.firstChildKey != null) return node.firstChildKey;\n while(node){\n if (node.nextKey != null) return node.nextKey;\n if (node.parentKey != null) node = this.keyMap.get(node.parentKey);\n else return null;\n }\n return null;\n }\n getFirstKey() {\n return this.firstKey;\n }\n getLastKey() {\n let node = this.lastKey != null ? this.keyMap.get(this.lastKey) : null;\n while((node === null || node === void 0 ? void 0 : node.lastChildKey) != null)node = this.keyMap.get(node.lastChildKey);\n var _node_key;\n return (_node_key = node === null || node === void 0 ? void 0 : node.key) !== null && _node_key !== void 0 ? _node_key : null;\n }\n getItem(key) {\n var _this_keyMap_get;\n return (_this_keyMap_get = this.keyMap.get(key)) !== null && _this_keyMap_get !== void 0 ? _this_keyMap_get : null;\n }\n at() {\n throw new Error('Not implemented');\n }\n clone() {\n // We need to clone using this.constructor so that subclasses have the right prototype.\n // TypeScript isn't happy about this yet.\n // https://github.com/microsoft/TypeScript/issues/3841\n let Constructor = this.constructor;\n let collection = new Constructor();\n collection.keyMap = new Map(this.keyMap);\n collection.firstKey = this.firstKey;\n collection.lastKey = this.lastKey;\n return collection;\n }\n addNode(node) {\n if (this.frozen) throw new Error('Cannot add a node to a frozen collection');\n this.keyMap.set(node.key, node);\n }\n removeNode(key) {\n if (this.frozen) throw new Error('Cannot remove a node to a frozen collection');\n this.keyMap.delete(key);\n }\n commit(firstKey, lastKey, isSSR = false) {\n if (this.frozen) throw new Error('Cannot commit a frozen collection');\n this.firstKey = firstKey;\n this.lastKey = lastKey;\n this.frozen = !isSSR;\n }\n constructor(){\n this.keyMap = new Map();\n this.firstKey = null;\n this.lastKey = null;\n this.frozen = false;\n }\n}\n\n\nexport {$23b9f4fcf0fe224b$export$d68d59712b04d9d1 as CollectionNode, $23b9f4fcf0fe224b$export$408d25a4e12db025 as BaseCollection};\n//# sourceMappingURL=BaseCollection.module.js.map\n","import {CollectionNode as $23b9f4fcf0fe224b$export$d68d59712b04d9d1} from \"./BaseCollection.mjs\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nclass $681cc3c98f569e39$export$410b0c854570d131 {\n *[Symbol.iterator]() {\n let node = this.firstChild;\n while(node){\n yield node;\n node = node.nextSibling;\n }\n }\n get firstChild() {\n return this._firstChild;\n }\n set firstChild(firstChild) {\n this._firstChild = firstChild;\n this.ownerDocument.markDirty(this);\n }\n get lastChild() {\n return this._lastChild;\n }\n set lastChild(lastChild) {\n this._lastChild = lastChild;\n this.ownerDocument.markDirty(this);\n }\n get previousSibling() {\n return this._previousSibling;\n }\n set previousSibling(previousSibling) {\n this._previousSibling = previousSibling;\n this.ownerDocument.markDirty(this);\n }\n get nextSibling() {\n return this._nextSibling;\n }\n set nextSibling(nextSibling) {\n this._nextSibling = nextSibling;\n this.ownerDocument.markDirty(this);\n }\n get parentNode() {\n return this._parentNode;\n }\n set parentNode(parentNode) {\n this._parentNode = parentNode;\n this.ownerDocument.markDirty(this);\n }\n get isConnected() {\n var _this_parentNode;\n return ((_this_parentNode = this.parentNode) === null || _this_parentNode === void 0 ? void 0 : _this_parentNode.isConnected) || false;\n }\n appendChild(child) {\n this.ownerDocument.startTransaction();\n if (child.parentNode) child.parentNode.removeChild(child);\n if (this.firstChild == null) this.firstChild = child;\n if (this.lastChild) {\n this.lastChild.nextSibling = child;\n child.index = this.lastChild.index + 1;\n child.previousSibling = this.lastChild;\n } else {\n child.previousSibling = null;\n child.index = 0;\n }\n child.parentNode = this;\n child.nextSibling = null;\n this.lastChild = child;\n this.ownerDocument.markDirty(this);\n if (child.hasSetProps) // Only add the node to the collection if we already received props for it.\n // Otherwise wait until then so we have the correct id for the node.\n this.ownerDocument.addNode(child);\n this.ownerDocument.endTransaction();\n this.ownerDocument.queueUpdate();\n }\n insertBefore(newNode, referenceNode) {\n if (referenceNode == null) return this.appendChild(newNode);\n this.ownerDocument.startTransaction();\n if (newNode.parentNode) newNode.parentNode.removeChild(newNode);\n newNode.nextSibling = referenceNode;\n newNode.previousSibling = referenceNode.previousSibling;\n newNode.index = referenceNode.index;\n if (this.firstChild === referenceNode) this.firstChild = newNode;\n else if (referenceNode.previousSibling) referenceNode.previousSibling.nextSibling = newNode;\n referenceNode.previousSibling = newNode;\n newNode.parentNode = referenceNode.parentNode;\n let node = referenceNode;\n while(node){\n node.index++;\n node = node.nextSibling;\n }\n if (newNode.hasSetProps) this.ownerDocument.addNode(newNode);\n this.ownerDocument.endTransaction();\n this.ownerDocument.queueUpdate();\n }\n removeChild(child) {\n if (child.parentNode !== this || !this.ownerDocument.isMounted) return;\n this.ownerDocument.startTransaction();\n let node = child.nextSibling;\n while(node){\n node.index--;\n node = node.nextSibling;\n }\n if (child.nextSibling) child.nextSibling.previousSibling = child.previousSibling;\n if (child.previousSibling) child.previousSibling.nextSibling = child.nextSibling;\n if (this.firstChild === child) this.firstChild = child.nextSibling;\n if (this.lastChild === child) this.lastChild = child.previousSibling;\n child.parentNode = null;\n child.nextSibling = null;\n child.previousSibling = null;\n child.index = 0;\n this.ownerDocument.removeNode(child);\n this.ownerDocument.endTransaction();\n this.ownerDocument.queueUpdate();\n }\n addEventListener() {}\n removeEventListener() {}\n constructor(ownerDocument){\n this._firstChild = null;\n this._lastChild = null;\n this._previousSibling = null;\n this._nextSibling = null;\n this._parentNode = null;\n this.ownerDocument = ownerDocument;\n }\n}\nclass $681cc3c98f569e39$export$dc064fe9e59310fd extends $681cc3c98f569e39$export$410b0c854570d131 {\n get index() {\n return this._index;\n }\n set index(index) {\n this._index = index;\n this.ownerDocument.markDirty(this);\n }\n get level() {\n if (this.parentNode instanceof $681cc3c98f569e39$export$dc064fe9e59310fd) return this.parentNode.level + (this.node.type === 'item' ? 1 : 0);\n return 0;\n }\n updateNode() {\n var _this_previousSibling, _this_nextSibling, _this_firstChild, _this_lastChild;\n let node = this.ownerDocument.getMutableNode(this);\n node.index = this.index;\n node.level = this.level;\n node.parentKey = this.parentNode instanceof $681cc3c98f569e39$export$dc064fe9e59310fd ? this.parentNode.node.key : null;\n var _this_previousSibling_node_key;\n node.prevKey = (_this_previousSibling_node_key = (_this_previousSibling = this.previousSibling) === null || _this_previousSibling === void 0 ? void 0 : _this_previousSibling.node.key) !== null && _this_previousSibling_node_key !== void 0 ? _this_previousSibling_node_key : null;\n var _this_nextSibling_node_key;\n node.nextKey = (_this_nextSibling_node_key = (_this_nextSibling = this.nextSibling) === null || _this_nextSibling === void 0 ? void 0 : _this_nextSibling.node.key) !== null && _this_nextSibling_node_key !== void 0 ? _this_nextSibling_node_key : null;\n node.hasChildNodes = !!this.firstChild;\n var _this_firstChild_node_key;\n node.firstChildKey = (_this_firstChild_node_key = (_this_firstChild = this.firstChild) === null || _this_firstChild === void 0 ? void 0 : _this_firstChild.node.key) !== null && _this_firstChild_node_key !== void 0 ? _this_firstChild_node_key : null;\n var _this_lastChild_node_key;\n node.lastChildKey = (_this_lastChild_node_key = (_this_lastChild = this.lastChild) === null || _this_lastChild === void 0 ? void 0 : _this_lastChild.node.key) !== null && _this_lastChild_node_key !== void 0 ? _this_lastChild_node_key : null;\n }\n setProps(obj, ref, rendered, render) {\n let node = this.ownerDocument.getMutableNode(this);\n let { value: value, textValue: textValue, id: id, ...props } = obj;\n props.ref = ref;\n node.props = props;\n node.rendered = rendered;\n node.render = render;\n node.value = value;\n node.textValue = textValue || (typeof props.children === 'string' ? props.children : '') || obj['aria-label'] || '';\n if (id != null && id !== node.key) {\n if (this.hasSetProps) throw new Error('Cannot change the id of an item');\n node.key = id;\n }\n // If this is the first time props have been set, end the transaction started in the constructor\n // so this node can be emitted.\n if (!this.hasSetProps) {\n this.ownerDocument.addNode(this);\n this.ownerDocument.endTransaction();\n this.hasSetProps = true;\n }\n this.ownerDocument.queueUpdate();\n }\n get style() {\n return {};\n }\n hasAttribute() {}\n setAttribute() {}\n setAttributeNS() {}\n removeAttribute() {}\n constructor(type, ownerDocument){\n super(ownerDocument);\n this.nodeType = 8 // COMMENT_NODE (we'd use ELEMENT_NODE but React DevTools will fail to get its dimensions)\n ;\n this._index = 0;\n this.hasSetProps = false;\n this.node = new (0, $23b9f4fcf0fe224b$export$d68d59712b04d9d1)(type, `react-aria-${++ownerDocument.nodeId}`);\n // Start a transaction so that no updates are emitted from the collection\n // until the props for this node are set. We don't know the real id for the\n // node until then, so we need to avoid emitting collections in an inconsistent state.\n this.ownerDocument.startTransaction();\n }\n}\nclass $681cc3c98f569e39$export$b34a105447964f9f extends $681cc3c98f569e39$export$410b0c854570d131 {\n get isConnected() {\n return this.isMounted;\n }\n createElement(type) {\n return new $681cc3c98f569e39$export$dc064fe9e59310fd(type, this);\n }\n /**\n * Lazily gets a mutable instance of a Node. If the node has already\n * been cloned during this update cycle, it just returns the existing one.\n */ getMutableNode(element) {\n let node = element.node;\n if (!this.mutatedNodes.has(element)) {\n node = element.node.clone();\n this.mutatedNodes.add(element);\n element.node = node;\n }\n this.markDirty(element);\n return node;\n }\n getMutableCollection() {\n if (!this.isSSR && !this.collectionMutated) {\n this.collection = this.collection.clone();\n this.collectionMutated = true;\n }\n return this.collection;\n }\n markDirty(node) {\n this.dirtyNodes.add(node);\n }\n startTransaction() {\n this.transactionCount++;\n }\n endTransaction() {\n this.transactionCount--;\n }\n addNode(element) {\n let collection = this.getMutableCollection();\n if (!collection.getItem(element.node.key)) {\n collection.addNode(element.node);\n for (let child of element)this.addNode(child);\n }\n this.markDirty(element);\n }\n removeNode(node) {\n for (let child of node)this.removeNode(child);\n let collection = this.getMutableCollection();\n collection.removeNode(node.node.key);\n this.markDirty(node);\n }\n /** Finalizes the collection update, updating all nodes and freezing the collection. */ getCollection() {\n if (this.transactionCount > 0) return this.collection;\n this.updateCollection();\n return this.collection;\n }\n updateCollection() {\n for (let element of this.dirtyNodes)if (element instanceof $681cc3c98f569e39$export$dc064fe9e59310fd && element.isConnected) element.updateNode();\n this.dirtyNodes.clear();\n if (this.mutatedNodes.size || this.collectionMutated) {\n var _this_firstChild, _this_lastChild;\n let collection = this.getMutableCollection();\n for (let element of this.mutatedNodes)if (element.isConnected) collection.addNode(element.node);\n var _this_firstChild_node_key, _this_lastChild_node_key;\n collection.commit((_this_firstChild_node_key = (_this_firstChild = this.firstChild) === null || _this_firstChild === void 0 ? void 0 : _this_firstChild.node.key) !== null && _this_firstChild_node_key !== void 0 ? _this_firstChild_node_key : null, (_this_lastChild_node_key = (_this_lastChild = this.lastChild) === null || _this_lastChild === void 0 ? void 0 : _this_lastChild.node.key) !== null && _this_lastChild_node_key !== void 0 ? _this_lastChild_node_key : null, this.isSSR);\n this.mutatedNodes.clear();\n }\n this.collectionMutated = false;\n }\n queueUpdate() {\n // Don't emit any updates if there is a transaction in progress.\n // queueUpdate should be called again after the transaction.\n if (this.dirtyNodes.size === 0 || this.transactionCount > 0) return;\n for (let fn of this.subscriptions)fn();\n }\n subscribe(fn) {\n this.subscriptions.add(fn);\n return ()=>this.subscriptions.delete(fn);\n }\n resetAfterSSR() {\n if (this.isSSR) {\n this.isSSR = false;\n this.firstChild = null;\n this.lastChild = null;\n this.nodeId = 0;\n }\n }\n constructor(collection){\n // @ts-ignore\n super(null);\n this.nodeType = 11 // DOCUMENT_FRAGMENT_NODE\n ;\n this.ownerDocument = this;\n this.dirtyNodes = new Set();\n this.isSSR = false;\n this.nodeId = 0;\n this.nodesByProps = new WeakMap();\n this.isMounted = true;\n this.mutatedNodes = new Set();\n this.subscriptions = new Set();\n this.transactionCount = 0;\n this.collection = collection;\n this.collectionMutated = true;\n }\n}\n\n\nexport {$681cc3c98f569e39$export$410b0c854570d131 as BaseNode, $681cc3c98f569e39$export$dc064fe9e59310fd as ElementNode, $681cc3c98f569e39$export$b34a105447964f9f as Document};\n//# sourceMappingURL=Document.module.js.map\n","import {useMemo as $luMFQ$useMemo, cloneElement as $luMFQ$cloneElement} from \"react\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $e948873055cbafe4$export$727c8fc270210f13(props) {\n let { children: children, items: items, idScope: idScope, addIdAndValue: addIdAndValue, dependencies: dependencies = [] } = props;\n // Invalidate the cache whenever the parent value changes.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n let cache = (0, $luMFQ$useMemo)(()=>new WeakMap(), dependencies);\n return (0, $luMFQ$useMemo)(()=>{\n if (items && typeof children === 'function') {\n let res = [];\n for (let item of items){\n let rendered = cache.get(item);\n if (!rendered) {\n rendered = children(item);\n var _rendered_props_id, _ref;\n // @ts-ignore\n let key = (_ref = (_rendered_props_id = rendered.props.id) !== null && _rendered_props_id !== void 0 ? _rendered_props_id : item.key) !== null && _ref !== void 0 ? _ref : item.id;\n // eslint-disable-next-line max-depth\n if (key == null) throw new Error('Could not determine key for item');\n // eslint-disable-next-line max-depth\n if (idScope) key = idScope + ':' + key;\n // Note: only works if wrapped Item passes through id...\n rendered = (0, $luMFQ$cloneElement)(rendered, addIdAndValue ? {\n key: key,\n id: key,\n value: item\n } : {\n key: key\n });\n cache.set(item, rendered);\n }\n res.push(rendered);\n }\n return res;\n } else if (typeof children !== 'function') return children;\n }, [\n children,\n items,\n cache,\n idScope,\n addIdAndValue\n ]);\n}\n\n\nexport {$e948873055cbafe4$export$727c8fc270210f13 as useCachedChildren};\n//# sourceMappingURL=useCachedChildren.module.js.map\n","import $670gB$react, {useContext as $670gB$useContext, useState as $670gB$useState, useMemo as $670gB$useMemo, useLayoutEffect as $670gB$useLayoutEffect, useRef as $670gB$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is\n// guarded by a check that it only runs on the client side.\n// eslint-disable-next-line rulesdir/useLayoutEffectRule\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst $b5e257d569688ac6$var$defaultContext = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\nconst $b5e257d569688ac6$var$SSRContext = /*#__PURE__*/ (0, $670gB$react).createContext($b5e257d569688ac6$var$defaultContext);\nconst $b5e257d569688ac6$var$IsSSRContext = /*#__PURE__*/ (0, $670gB$react).createContext(false);\n// This is only used in React < 18.\nfunction $b5e257d569688ac6$var$LegacySSRProvider(props) {\n let cur = (0, $670gB$useContext)($b5e257d569688ac6$var$SSRContext);\n let counter = $b5e257d569688ac6$var$useCounter(cur === $b5e257d569688ac6$var$defaultContext);\n let [isSSR, setIsSSR] = (0, $670gB$useState)(true);\n let value = (0, $670gB$useMemo)(()=>({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === $b5e257d569688ac6$var$defaultContext ? '' : `${cur.prefix}-${counter}`,\n current: 0\n }), [\n cur,\n counter\n ]);\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof document !== 'undefined') // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, $670gB$useLayoutEffect)(()=>{\n setIsSSR(false);\n }, []);\n return /*#__PURE__*/ (0, $670gB$react).createElement($b5e257d569688ac6$var$SSRContext.Provider, {\n value: value\n }, /*#__PURE__*/ (0, $670gB$react).createElement($b5e257d569688ac6$var$IsSSRContext.Provider, {\n value: isSSR\n }, props.children));\n}\nlet $b5e257d569688ac6$var$warnedAboutSSRProvider = false;\nfunction $b5e257d569688ac6$export$9f8ac96af4b1b2ae(props) {\n if (typeof (0, $670gB$react)['useId'] === 'function') {\n if (process.env.NODE_ENV !== 'test' && !$b5e257d569688ac6$var$warnedAboutSSRProvider) {\n console.warn('In React 18, SSRProvider is not necessary and is a noop. You can remove it from your app.');\n $b5e257d569688ac6$var$warnedAboutSSRProvider = true;\n }\n return /*#__PURE__*/ (0, $670gB$react).createElement((0, $670gB$react).Fragment, null, props.children);\n }\n return /*#__PURE__*/ (0, $670gB$react).createElement($b5e257d569688ac6$var$LegacySSRProvider, props);\n}\nlet $b5e257d569688ac6$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nlet $b5e257d569688ac6$var$componentIds = new WeakMap();\nfunction $b5e257d569688ac6$var$useCounter(isDisabled = false) {\n let ctx = (0, $670gB$useContext)($b5e257d569688ac6$var$SSRContext);\n let ref = (0, $670gB$useRef)(null);\n // eslint-disable-next-line rulesdir/pure-render\n if (ref.current === null && !isDisabled) {\n var _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner, _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n // In strict mode, React renders components twice, and the ref will be reset to null on the second render.\n // This means our id counter will be incremented twice instead of once. This is a problem because on the\n // server, components are only rendered once and so ids generated on the server won't match the client.\n // In React 18, useId was introduced to solve this, but it is not available in older versions. So to solve this\n // we need to use some React internals to access the underlying Fiber instance, which is stable between renders.\n // This is exposed as ReactCurrentOwner in development, which is all we need since StrictMode only runs in development.\n // To ensure that we only increment the global counter once, we store the starting id for this component in\n // a weak map associated with the Fiber. On the second render, we reset the global counter to this value.\n // Since React runs the second render immediately after the first, this is safe.\n // @ts-ignore\n let currentOwner = (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = (0, $670gB$react).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED === void 0 ? void 0 : (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner = _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner === void 0 ? void 0 : _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner.current;\n if (currentOwner) {\n let prevComponentValue = $b5e257d569688ac6$var$componentIds.get(currentOwner);\n if (prevComponentValue == null) // On the first render, and first call to useId, store the id and state in our weak map.\n $b5e257d569688ac6$var$componentIds.set(currentOwner, {\n id: ctx.current,\n state: currentOwner.memoizedState\n });\n else if (currentOwner.memoizedState !== prevComponentValue.state) {\n // On the second render, the memoizedState gets reset by React.\n // Reset the counter, and remove from the weak map so we don't\n // do this for subsequent useId calls.\n ctx.current = prevComponentValue.id;\n $b5e257d569688ac6$var$componentIds.delete(currentOwner);\n }\n }\n // eslint-disable-next-line rulesdir/pure-render\n ref.current = ++ctx.current;\n }\n // eslint-disable-next-line rulesdir/pure-render\n return ref.current;\n}\nfunction $b5e257d569688ac6$var$useLegacySSRSafeId(defaultId) {\n let ctx = (0, $670gB$useContext)($b5e257d569688ac6$var$SSRContext);\n // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n if (ctx === $b5e257d569688ac6$var$defaultContext && !$b5e257d569688ac6$var$canUseDOM) console.warn('When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.');\n let counter = $b5e257d569688ac6$var$useCounter(!!defaultId);\n let prefix = ctx === $b5e257d569688ac6$var$defaultContext && process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${ctx.prefix}`;\n return defaultId || `${prefix}-${counter}`;\n}\nfunction $b5e257d569688ac6$var$useModernSSRSafeId(defaultId) {\n // @ts-ignore\n let id = (0, $670gB$react).useId();\n let [didSSR] = (0, $670gB$useState)($b5e257d569688ac6$export$535bd6ca7f90a273());\n let prefix = didSSR || process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${$b5e257d569688ac6$var$defaultContext.prefix}`;\n return defaultId || `${prefix}-${id}`;\n}\nconst $b5e257d569688ac6$export$619500959fc48b26 = typeof (0, $670gB$react)['useId'] === 'function' ? $b5e257d569688ac6$var$useModernSSRSafeId : $b5e257d569688ac6$var$useLegacySSRSafeId;\nfunction $b5e257d569688ac6$var$getSnapshot() {\n return false;\n}\nfunction $b5e257d569688ac6$var$getServerSnapshot() {\n return true;\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction $b5e257d569688ac6$var$subscribe(onStoreChange) {\n // noop\n return ()=>{};\n}\nfunction $b5e257d569688ac6$export$535bd6ca7f90a273() {\n // In React 18, we can use useSyncExternalStore to detect if we're server rendering or hydrating.\n if (typeof (0, $670gB$react)['useSyncExternalStore'] === 'function') return (0, $670gB$react)['useSyncExternalStore']($b5e257d569688ac6$var$subscribe, $b5e257d569688ac6$var$getSnapshot, $b5e257d569688ac6$var$getServerSnapshot);\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (0, $670gB$useContext)($b5e257d569688ac6$var$IsSSRContext);\n}\n\n\nexport {$b5e257d569688ac6$export$9f8ac96af4b1b2ae as SSRProvider, $b5e257d569688ac6$export$535bd6ca7f90a273 as useIsSSR, $b5e257d569688ac6$export$619500959fc48b26 as useSSRSafeId};\n//# sourceMappingURL=SSRProvider.module.js.map\n","import {createPortal as $8SdCi$createPortal} from \"react-dom\";\nimport $8SdCi$react, {createContext as $8SdCi$createContext, useContext as $8SdCi$useContext, forwardRef as $8SdCi$forwardRef} from \"react\";\nimport {useIsSSR as $8SdCi$useIsSSR} from \"@react-aria/ssr\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n// React doesn't understand the <template> element, which doesn't have children like a normal element.\n// It will throw an error during hydration when it expects the firstChild to contain content rendered\n// on the server, when in reality, the browser will have placed this inside the `content` document fragment.\n// This monkey patches the firstChild property for our special hidden template elements to work around this error.\n// See https://github.com/facebook/react/issues/19932\nif (typeof HTMLTemplateElement !== 'undefined') {\n const getFirstChild = Object.getOwnPropertyDescriptor(Node.prototype, 'firstChild').get;\n Object.defineProperty(HTMLTemplateElement.prototype, 'firstChild', {\n configurable: true,\n enumerable: true,\n get: function() {\n if (this.dataset.reactAriaHidden) return this.content.firstChild;\n else return getFirstChild.call(this);\n }\n });\n}\nconst $f39a9eba43920ace$export$94b6d0abf7d33e8c = /*#__PURE__*/ (0, $8SdCi$createContext)(false);\n// Portal to nowhere\nconst $f39a9eba43920ace$var$hiddenFragment = typeof DocumentFragment !== 'undefined' ? new DocumentFragment() : null;\nfunction $f39a9eba43920ace$export$8dc98ba7eadeaa56(props) {\n let isHidden = (0, $8SdCi$useContext)($f39a9eba43920ace$export$94b6d0abf7d33e8c);\n let isSSR = (0, $8SdCi$useIsSSR)();\n if (isHidden) // Don't hide again if we are already hidden.\n return /*#__PURE__*/ (0, $8SdCi$react).createElement((0, $8SdCi$react).Fragment, null, props.children);\n let children = /*#__PURE__*/ (0, $8SdCi$react).createElement($f39a9eba43920ace$export$94b6d0abf7d33e8c.Provider, {\n value: true\n }, props.children);\n // In SSR, portals are not supported by React. Instead, render into a <template>\n // element, which the browser will never display to the user. In addition, the\n // content is not part of the DOM tree, so it won't affect ids or other accessibility attributes.\n return isSSR ? /*#__PURE__*/ (0, $8SdCi$react).createElement(\"template\", {\n \"data-react-aria-hidden\": true\n }, children) : /*#__PURE__*/ (0, $8SdCi$createPortal)(children, $f39a9eba43920ace$var$hiddenFragment);\n}\nfunction $f39a9eba43920ace$export$86427a43e3e48ebb(fn) {\n let Wrapper = (props, ref)=>{\n let isHidden = (0, $8SdCi$useContext)($f39a9eba43920ace$export$94b6d0abf7d33e8c);\n if (isHidden) return null;\n return fn(props, ref);\n };\n // @ts-ignore - for react dev tools\n Wrapper.displayName = fn.displayName || fn.name;\n return (0, $8SdCi$forwardRef)(Wrapper);\n}\nfunction $f39a9eba43920ace$export$b5d7cc18bb8d2b59() {\n return (0, $8SdCi$useContext)($f39a9eba43920ace$export$94b6d0abf7d33e8c);\n}\n\n\nexport {$f39a9eba43920ace$export$94b6d0abf7d33e8c as HiddenContext, $f39a9eba43920ace$export$8dc98ba7eadeaa56 as Hidden, $f39a9eba43920ace$export$86427a43e3e48ebb as createHideableComponent, $f39a9eba43920ace$export$b5d7cc18bb8d2b59 as useIsHidden};\n//# sourceMappingURL=Hidden.module.js.map\n","import $HgANd$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (0, $HgANd$react).useLayoutEffect : ()=>{};\n\n\nexport {$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c as useLayoutEffect};\n//# sourceMappingURL=useLayoutEffect.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useRef as $lmaYr$useRef, useCallback as $lmaYr$useCallback} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $8ae05eaa5c114e9c$export$7f54fc3180508a52(fn) {\n const ref = (0, $lmaYr$useRef)(null);\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n ref.current = fn;\n }, [\n fn\n ]);\n // @ts-ignore\n return (0, $lmaYr$useCallback)((...args)=>{\n const f = ref.current;\n return f === null || f === void 0 ? void 0 : f(...args);\n }, []);\n}\n\n\nexport {$8ae05eaa5c114e9c$export$7f54fc3180508a52 as useEffectEvent};\n//# sourceMappingURL=useEffectEvent.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useValueEffect as $1dbecbe27a04f9af$export$14d238f342723f25} from \"./useValueEffect.mjs\";\nimport {useState as $eKkEp$useState, useRef as $eKkEp$useRef, useCallback as $eKkEp$useCallback, useEffect as $eKkEp$useEffect} from \"react\";\nimport {useSSRSafeId as $eKkEp$useSSRSafeId} from \"@react-aria/ssr\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n// copied from SSRProvider.tsx to reduce exports, if needed again, consider sharing\nlet $bdb11010cef70236$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nlet $bdb11010cef70236$var$idsUpdaterMap = new Map();\nfunction $bdb11010cef70236$export$f680877a34711e37(defaultId) {\n let [value, setValue] = (0, $eKkEp$useState)(defaultId);\n let nextId = (0, $eKkEp$useRef)(null);\n let res = (0, $eKkEp$useSSRSafeId)(value);\n let updateValue = (0, $eKkEp$useCallback)((val)=>{\n nextId.current = val;\n }, []);\n if ($bdb11010cef70236$var$canUseDOM) {\n // TS not smart enough to know that `has` means the value exists\n if ($bdb11010cef70236$var$idsUpdaterMap.has(res) && !$bdb11010cef70236$var$idsUpdaterMap.get(res).includes(updateValue)) $bdb11010cef70236$var$idsUpdaterMap.set(res, [\n ...$bdb11010cef70236$var$idsUpdaterMap.get(res),\n updateValue\n ]);\n else $bdb11010cef70236$var$idsUpdaterMap.set(res, [\n updateValue\n ]);\n }\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n let r = res;\n return ()=>{\n $bdb11010cef70236$var$idsUpdaterMap.delete(r);\n };\n }, [\n res\n ]);\n // This cannot cause an infinite loop because the ref is updated first.\n // eslint-disable-next-line\n (0, $eKkEp$useEffect)(()=>{\n let newId = nextId.current;\n if (newId) {\n nextId.current = null;\n setValue(newId);\n }\n });\n return res;\n}\nfunction $bdb11010cef70236$export$cd8c9cb68f842629(idA, idB) {\n if (idA === idB) return idA;\n let setIdsA = $bdb11010cef70236$var$idsUpdaterMap.get(idA);\n if (setIdsA) {\n setIdsA.forEach((fn)=>fn(idB));\n return idB;\n }\n let setIdsB = $bdb11010cef70236$var$idsUpdaterMap.get(idB);\n if (setIdsB) {\n setIdsB.forEach((fn)=>fn(idA));\n return idA;\n }\n return idB;\n}\nfunction $bdb11010cef70236$export$b4cc09c592e8fdb8(depArray = []) {\n let id = $bdb11010cef70236$export$f680877a34711e37();\n let [resolvedId, setResolvedId] = (0, $1dbecbe27a04f9af$export$14d238f342723f25)(id);\n let updateId = (0, $eKkEp$useCallback)(()=>{\n setResolvedId(function*() {\n yield id;\n yield document.getElementById(id) ? id : undefined;\n });\n }, [\n id,\n setResolvedId\n ]);\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(updateId, [\n id,\n updateId,\n ...depArray\n ]);\n return resolvedId;\n}\n\n\nexport {$bdb11010cef70236$export$f680877a34711e37 as useId, $bdb11010cef70236$export$cd8c9cb68f842629 as mergeIds, $bdb11010cef70236$export$b4cc09c592e8fdb8 as useSlotId};\n//# sourceMappingURL=useId.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /**\n * Calls all functions in the order they were chained with the same arguments.\n */ function $ff5963eb1fccf552$export$e08e3b67e392101e(...callbacks) {\n return (...args)=>{\n for (let callback of callbacks)if (typeof callback === 'function') callback(...args);\n };\n}\n\n\nexport {$ff5963eb1fccf552$export$e08e3b67e392101e as chain};\n//# sourceMappingURL=chain.module.js.map\n","const $431fbd86ca7dc216$export$b204af158042fbac = (el)=>{\n var _el_ownerDocument;\n return (_el_ownerDocument = el === null || el === void 0 ? void 0 : el.ownerDocument) !== null && _el_ownerDocument !== void 0 ? _el_ownerDocument : document;\n};\nconst $431fbd86ca7dc216$export$f21a1ffae260145a = (el)=>{\n if (el && 'window' in el && el.window === el) return el;\n const doc = $431fbd86ca7dc216$export$b204af158042fbac(el);\n return doc.defaultView || window;\n};\n\n\nexport {$431fbd86ca7dc216$export$b204af158042fbac as getOwnerDocument, $431fbd86ca7dc216$export$f21a1ffae260145a as getOwnerWindow};\n//# sourceMappingURL=domHelpers.module.js.map\n","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}export 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}export default clsx;","import {chain as $ff5963eb1fccf552$export$e08e3b67e392101e} from \"./chain.mjs\";\nimport {mergeIds as $bdb11010cef70236$export$cd8c9cb68f842629} from \"./useId.mjs\";\nimport $7jXr9$clsx from \"clsx\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $3ef42575df84b30b$export$9d1611c77c2fe928(...args) {\n // Start with a base clone of the first argument. This is a lot faster than starting\n // with an empty object and adding properties as we go.\n let result = {\n ...args[0]\n };\n for(let i = 1; i < args.length; i++){\n let props = args[i];\n for(let key in props){\n let a = result[key];\n let b = props[key];\n // Chain events\n if (typeof a === 'function' && typeof b === 'function' && // This is a lot faster than a regex.\n key[0] === 'o' && key[1] === 'n' && key.charCodeAt(2) >= /* 'A' */ 65 && key.charCodeAt(2) <= /* 'Z' */ 90) result[key] = (0, $ff5963eb1fccf552$export$e08e3b67e392101e)(a, b);\n else if ((key === 'className' || key === 'UNSAFE_className') && typeof a === 'string' && typeof b === 'string') result[key] = (0, $7jXr9$clsx)(a, b);\n else if (key === 'id' && a && b) result.id = (0, $bdb11010cef70236$export$cd8c9cb68f842629)(a, b);\n else result[key] = b !== undefined ? b : a;\n }\n }\n return result;\n}\n\n\nexport {$3ef42575df84b30b$export$9d1611c77c2fe928 as mergeProps};\n//# sourceMappingURL=mergeProps.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $5dc95899b306f630$export$c9058316764c140e(...refs) {\n if (refs.length === 1 && refs[0]) return refs[0];\n return (value)=>{\n for (let ref of refs){\n if (typeof ref === 'function') ref(value);\n else if (ref != null) ref.current = value;\n }\n };\n}\n\n\nexport {$5dc95899b306f630$export$c9058316764c140e as mergeRefs};\n//# sourceMappingURL=mergeRefs.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $65484d02dcb7eb3e$var$DOMPropNames = new Set([\n 'id'\n]);\nconst $65484d02dcb7eb3e$var$labelablePropNames = new Set([\n 'aria-label',\n 'aria-labelledby',\n 'aria-describedby',\n 'aria-details'\n]);\n// See LinkDOMProps in dom.d.ts.\nconst $65484d02dcb7eb3e$var$linkPropNames = new Set([\n 'href',\n 'hrefLang',\n 'target',\n 'rel',\n 'download',\n 'ping',\n 'referrerPolicy'\n]);\nconst $65484d02dcb7eb3e$var$propRe = /^(data-.*)$/;\nfunction $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, opts = {}) {\n let { labelable: labelable, isLink: isLink, propNames: propNames } = opts;\n let filteredProps = {};\n for(const prop in props)if (Object.prototype.hasOwnProperty.call(props, prop) && ($65484d02dcb7eb3e$var$DOMPropNames.has(prop) || labelable && $65484d02dcb7eb3e$var$labelablePropNames.has(prop) || isLink && $65484d02dcb7eb3e$var$linkPropNames.has(prop) || (propNames === null || propNames === void 0 ? void 0 : propNames.has(prop)) || $65484d02dcb7eb3e$var$propRe.test(prop))) filteredProps[prop] = props[prop];\n return filteredProps;\n}\n\n\nexport {$65484d02dcb7eb3e$export$457c3d6518dd4c6f as filterDOMProps};\n//# sourceMappingURL=filterDOMProps.module.js.map\n","import {useRef as $gbmns$useRef, useMemo as $gbmns$useMemo} from \"react\";\n\n/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $df56164dff5785e2$export$4338b53315abf666(forwardedRef) {\n const objRef = (0, $gbmns$useRef)(null);\n return (0, $gbmns$useMemo)(()=>({\n get current () {\n return objRef.current;\n },\n set current (value){\n objRef.current = value;\n if (typeof forwardedRef === 'function') forwardedRef(value);\n else if (forwardedRef) forwardedRef.current = value;\n }\n }), [\n forwardedRef\n ]);\n}\n\n\nexport {$df56164dff5785e2$export$4338b53315abf666 as useObjectRef};\n//# sourceMappingURL=useObjectRef.module.js.map\n","import {useEffect as $Vsl8o$useEffect} from \"react\";\n\n\nfunction $9daab02d461809db$var$hasResizeObserver() {\n return typeof window.ResizeObserver !== 'undefined';\n}\nfunction $9daab02d461809db$export$683480f191c0e3ea(options) {\n const { ref: ref, box: box, onResize: onResize } = options;\n (0, $Vsl8o$useEffect)(()=>{\n let element = ref === null || ref === void 0 ? void 0 : ref.current;\n if (!element) return;\n if (!$9daab02d461809db$var$hasResizeObserver()) {\n window.addEventListener('resize', onResize, false);\n return ()=>{\n window.removeEventListener('resize', onResize, false);\n };\n } else {\n const resizeObserverInstance = new window.ResizeObserver((entries)=>{\n if (!entries.length) return;\n onResize();\n });\n resizeObserverInstance.observe(element, {\n box: box\n });\n return ()=>{\n if (element) resizeObserverInstance.unobserve(element);\n };\n }\n }, [\n onResize,\n ref,\n box\n ]);\n}\n\n\nexport {$9daab02d461809db$export$683480f191c0e3ea as useResizeObserver};\n//# sourceMappingURL=useResizeObserver.module.js.map\n","import {useLayoutEffect as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $e7801be82b4b2a53$export$4debdb1a3f0fa79e(context, ref) {\n (0, $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c)(()=>{\n if (context && context.ref && ref) {\n context.ref.current = ref.current;\n return ()=>{\n if (context.ref) context.ref.current = null;\n };\n }\n });\n}\n\n\nexport {$e7801be82b4b2a53$export$4debdb1a3f0fa79e as useSyncRef};\n//# sourceMappingURL=useSyncRef.module.js.map\n","/**\n * @license React\n * use-sync-external-store-shim.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var e=require(\"react\");function h(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var k=\"function\"===typeof Object.is?Object.is:h,l=e.useState,m=e.useEffect,n=e.useLayoutEffect,p=e.useDebugValue;function q(a,b){var d=b(),f=l({inst:{value:d,getSnapshot:b}}),c=f[0].inst,g=f[1];n(function(){c.value=d;c.getSnapshot=b;r(c)&&g({inst:c})},[a,d,b]);m(function(){r(c)&&g({inst:c});return a(function(){r(c)&&g({inst:c})})},[a]);p(d);return d}\nfunction r(a){var b=a.getSnapshot;a=a.value;try{var d=b();return!k(a,d)}catch(f){return!0}}function t(a,b){return b()}var u=\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement?t:q;exports.useSyncExternalStore=void 0!==e.useSyncExternalStore?e.useSyncExternalStore:u;\n","/**\n * @license React\n * use-sync-external-store-shim.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var React = require('react');\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\n ;\n}\n\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\n\n// dispatch for CommonJS interop named imports.\n\nvar useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nvar didWarnOld18Alpha = false;\nvar didWarnUncachedGetSnapshot = false; // Disclaimer: This shim breaks many of the rules of React, and only works\n// because of a very particular set of implementation details and assumptions\n// -- change any one of them and it will break. The most important assumption\n// is that updates are always synchronous, because concurrent rendering is\n// only available in versions of React that also have a built-in\n// useSyncExternalStore API. And we only use this shim when the built-in API\n// does not exist.\n//\n// Do not assume that the clever hacks used by this hook also work in general.\n// The point of this shim is to replace the need for hacks by other libraries.\n\nfunction useSyncExternalStore(subscribe, getSnapshot, // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n// React do not expose a way to check if we're hydrating. So users of the shim\n// will need to track that themselves and return the correct value\n// from `getSnapshot`.\ngetServerSnapshot) {\n {\n if (!didWarnOld18Alpha) {\n if (React.startTransition !== undefined) {\n didWarnOld18Alpha = true;\n\n 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.');\n }\n }\n } // Read the current snapshot from the store on every render. Again, this\n // breaks the rules of React, and only works here because of specific\n // implementation details, most importantly that updates are\n // always synchronous.\n\n\n var value = getSnapshot();\n\n {\n if (!didWarnUncachedGetSnapshot) {\n var cachedValue = getSnapshot();\n\n if (!objectIs(value, cachedValue)) {\n error('The result of getSnapshot should be cached to avoid an infinite loop');\n\n didWarnUncachedGetSnapshot = true;\n }\n }\n } // Because updates are synchronous, we don't queue them. Instead we force a\n // re-render whenever the subscribed state changes by updating an some\n // arbitrary useState hook. Then, during render, we call getSnapshot to read\n // the current value.\n //\n // Because we don't actually use the state returned by the useState hook, we\n // can save a bit of memory by storing other stuff in that slot.\n //\n // To implement the early bailout, we need to track some things on a mutable\n // object. Usually, we would put that in a useRef hook, but we can stash it in\n // our useState hook instead.\n //\n // To force a re-render, we call forceUpdate({inst}). That works because the\n // new object always fails an equality check.\n\n\n var _useState = useState({\n inst: {\n value: value,\n getSnapshot: getSnapshot\n }\n }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1]; // Track the latest getSnapshot function with a ref. This needs to be updated\n // in the layout phase so we can access it during the tearing check that\n // happens on subscribe.\n\n\n useLayoutEffect(function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot; // Whenever getSnapshot or subscribe changes, we need to check in the\n // commit phase if there was an interleaved mutation. In concurrent mode\n // this can happen all the time, but even in synchronous mode, an earlier\n // effect may have mutated the store.\n\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }, [subscribe, value, getSnapshot]);\n useEffect(function () {\n // Check for changes right before subscribing. Subsequent changes will be\n // detected in the subscription handler.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n\n var handleStoreChange = function () {\n // TODO: Because there is no cross-renderer API for batching updates, it's\n // up to the consumer of this library to wrap their subscription event\n // with unstable_batchedUpdates. Should we try to detect when this isn't\n // the case and print a warning in development?\n // The store changed. Check if the snapshot changed since the last time we\n // read from the store.\n if (checkIfSnapshotChanged(inst)) {\n // Force a re-render.\n forceUpdate({\n inst: inst\n });\n }\n }; // Subscribe to the store and return a clean-up function.\n\n\n return subscribe(handleStoreChange);\n }, [subscribe]);\n useDebugValue(value);\n return value;\n}\n\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n var prevValue = inst.value;\n\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(prevValue, nextValue);\n } catch (error) {\n return true;\n }\n}\n\nfunction useSyncExternalStore$1(subscribe, getSnapshot, getServerSnapshot) {\n // Note: The shim does not use getServerSnapshot, because pre-18 versions of\n // React do not expose a way to check if we're hydrating. So users of the shim\n // will need to track that themselves and return the correct value\n // from `getSnapshot`.\n return getSnapshot();\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\n\nvar isServerEnvironment = !canUseDOM;\n\nvar shim = isServerEnvironment ? useSyncExternalStore$1 : useSyncExternalStore;\nvar useSyncExternalStore$2 = React.useSyncExternalStore !== undefined ? React.useSyncExternalStore : shim;\n\nexports.useSyncExternalStore = useSyncExternalStore$2;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.min.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import {BaseCollection as $23b9f4fcf0fe224b$export$408d25a4e12db025} from \"./BaseCollection.mjs\";\nimport {Document as $681cc3c98f569e39$export$b34a105447964f9f} from \"./Document.mjs\";\nimport {useCachedChildren as $e948873055cbafe4$export$727c8fc270210f13} from \"./useCachedChildren.mjs\";\nimport {Hidden as $f39a9eba43920ace$export$8dc98ba7eadeaa56} from \"./Hidden.mjs\";\nimport {createPortal as $95feo$createPortal} from \"react-dom\";\nimport $95feo$react, {createContext as $95feo$createContext, useContext as $95feo$useContext, useRef as $95feo$useRef, useCallback as $95feo$useCallback, useState as $95feo$useState, forwardRef as $95feo$forwardRef, useMemo as $95feo$useMemo} from \"react\";\nimport {useIsSSR as $95feo$useIsSSR} from \"@react-aria/ssr\";\nimport {useLayoutEffect as $95feo$useLayoutEffect} from \"@react-aria/utils\";\nimport {useSyncExternalStore as $95feo$useSyncExternalStore} from \"use-sync-external-store/shim/index.js\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\nconst $e1995378a142960e$var$ShallowRenderContext = /*#__PURE__*/ (0, $95feo$createContext)(false);\nconst $e1995378a142960e$var$CollectionDocumentContext = /*#__PURE__*/ (0, $95feo$createContext)(null);\nfunction $e1995378a142960e$export$bf788dd355e3a401(props) {\n // If a document was provided above us, we're already in a hidden tree. Just render the content.\n let doc = (0, $95feo$useContext)($e1995378a142960e$var$CollectionDocumentContext);\n if (doc) // The React types prior to 18 did not allow returning ReactNode from components\n // even though the actual implementation since React 16 did.\n // We must return ReactElement so that TS does not complain that <CollectionBuilder>\n // is not a valid JSX element with React 16 and 17 types.\n // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/20544\n return props.content;\n // Otherwise, render a hidden copy of the children so that we can build the collection before constructing the state.\n // This should always come before the real DOM content so we have built the collection by the time it renders during SSR.\n // This is fine. CollectionDocumentContext never changes after mounting.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n let { collection: collection, document: document } = $e1995378a142960e$var$useCollectionDocument(props.createCollection);\n return /*#__PURE__*/ (0, $95feo$react).createElement((0, $95feo$react).Fragment, null, /*#__PURE__*/ (0, $95feo$react).createElement((0, $f39a9eba43920ace$export$8dc98ba7eadeaa56), null, /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionDocumentContext.Provider, {\n value: document\n }, props.content)), /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionInner, {\n render: props.children,\n collection: collection\n }));\n}\nfunction $e1995378a142960e$var$CollectionInner({ collection: collection, render: render }) {\n return render(collection);\n}\n// React 16 and 17 don't support useSyncExternalStore natively, and the shim provided by React does not support getServerSnapshot.\n// This wrapper uses the shim, but additionally calls getServerSnapshot during SSR (according to SSRProvider).\nfunction $e1995378a142960e$var$useSyncExternalStoreFallback(subscribe, getSnapshot, getServerSnapshot) {\n let isSSR = (0, $95feo$useIsSSR)();\n let isSSRRef = (0, $95feo$useRef)(isSSR);\n // This is read immediately inside the wrapper, which also runs during render.\n // We just need a ref to avoid invalidating the callback itself, which\n // would cause React to re-run the callback more than necessary.\n // eslint-disable-next-line rulesdir/pure-render\n isSSRRef.current = isSSR;\n let getSnapshotWrapper = (0, $95feo$useCallback)(()=>{\n return isSSRRef.current ? getServerSnapshot() : getSnapshot();\n }, [\n getSnapshot,\n getServerSnapshot\n ]);\n return (0, $95feo$useSyncExternalStore)(subscribe, getSnapshotWrapper);\n}\nconst $e1995378a142960e$var$useSyncExternalStore = typeof (0, $95feo$react)['useSyncExternalStore'] === 'function' ? (0, $95feo$react)['useSyncExternalStore'] : $e1995378a142960e$var$useSyncExternalStoreFallback;\nfunction $e1995378a142960e$var$useCollectionDocument(createCollection) {\n // The document instance is mutable, and should never change between renders.\n // useSyncExternalStore is used to subscribe to updates, which vends immutable Collection objects.\n let [document] = (0, $95feo$useState)(()=>new (0, $681cc3c98f569e39$export$b34a105447964f9f)((createCollection === null || createCollection === void 0 ? void 0 : createCollection()) || new (0, $23b9f4fcf0fe224b$export$408d25a4e12db025)()));\n let subscribe = (0, $95feo$useCallback)((fn)=>document.subscribe(fn), [\n document\n ]);\n let getSnapshot = (0, $95feo$useCallback)(()=>{\n let collection = document.getCollection();\n if (document.isSSR) // After SSR is complete, reset the document to empty so it is ready for React to render the portal into.\n // We do this _after_ getting the collection above so that the collection still has content in it from SSR\n // during the current render, before React has finished the client render.\n document.resetAfterSSR();\n return collection;\n }, [\n document\n ]);\n let getServerSnapshot = (0, $95feo$useCallback)(()=>{\n document.isSSR = true;\n return document.getCollection();\n }, [\n document\n ]);\n let collection = $e1995378a142960e$var$useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n (0, $95feo$useLayoutEffect)(()=>{\n document.isMounted = true;\n return ()=>{\n // Mark unmounted so we can skip all of the collection updates caused by \n // React calling removeChild on every item in the collection.\n document.isMounted = false;\n };\n }, [\n document\n ]);\n return {\n collection: collection,\n document: document\n };\n}\nconst $e1995378a142960e$var$SSRContext = /*#__PURE__*/ (0, $95feo$createContext)(null);\nfunction $e1995378a142960e$var$useSSRCollectionNode(Type, props, ref, rendered, children, render) {\n // During SSR, portals are not supported, so the collection children will be wrapped in an SSRContext.\n // Since SSR occurs only once, we assume that the elements are rendered in order and never re-render.\n // Therefore we can create elements in our collection document during render so that they are in the\n // collection by the time we need to use the collection to render to the real DOM.\n // After hydration, we switch to client rendering using the portal.\n let itemRef = (0, $95feo$useCallback)((element)=>{\n element === null || element === void 0 ? void 0 : element.setProps(props, ref, rendered, render);\n }, [\n props,\n ref,\n rendered,\n render\n ]);\n let parentNode = (0, $95feo$useContext)($e1995378a142960e$var$SSRContext);\n if (parentNode) {\n // Guard against double rendering in strict mode.\n let element = parentNode.ownerDocument.nodesByProps.get(props);\n if (!element) {\n element = parentNode.ownerDocument.createElement(Type);\n element.setProps(props, ref, rendered, render);\n parentNode.appendChild(element);\n parentNode.ownerDocument.updateCollection();\n parentNode.ownerDocument.nodesByProps.set(props, element);\n }\n return children ? /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$SSRContext.Provider, {\n value: element\n }, children) : null;\n }\n // @ts-ignore\n return /*#__PURE__*/ (0, $95feo$react).createElement(Type, {\n ref: itemRef\n }, children);\n}\nfunction $e1995378a142960e$export$18af5c7a9e9b3664(type, render) {\n let Component = ({ node: node })=>render(node.props, node.props.ref, node);\n let Result = (0, $95feo$forwardRef)((props, ref)=>{\n let isShallow = (0, $95feo$useContext)($e1995378a142960e$var$ShallowRenderContext);\n if (!isShallow) {\n if (render.length >= 3) throw new Error(render.name + ' cannot be rendered outside a collection.');\n return render(props, ref);\n }\n return $e1995378a142960e$var$useSSRCollectionNode(type, props, ref, 'children' in props ? props.children : null, null, (node)=>/*#__PURE__*/ (0, $95feo$react).createElement(Component, {\n node: node\n }));\n });\n // @ts-ignore\n Result.displayName = render.name;\n return Result;\n}\nfunction $e1995378a142960e$export$e953bb1cd0f19726(type, render, useChildren = $e1995378a142960e$var$useCollectionChildren) {\n let Component = ({ node: node })=>render(node.props, node.props.ref, node);\n let Result = (0, $95feo$forwardRef)((props, ref)=>{\n let children = useChildren(props);\n var _useSSRCollectionNode;\n return (_useSSRCollectionNode = $e1995378a142960e$var$useSSRCollectionNode(type, props, ref, null, children, (node)=>/*#__PURE__*/ (0, $95feo$react).createElement(Component, {\n node: node\n }))) !== null && _useSSRCollectionNode !== void 0 ? _useSSRCollectionNode : /*#__PURE__*/ (0, $95feo$react).createElement((0, $95feo$react).Fragment, null);\n });\n // @ts-ignore\n Result.displayName = render.name;\n return Result;\n}\nfunction $e1995378a142960e$var$useCollectionChildren(options) {\n return (0, $e948873055cbafe4$export$727c8fc270210f13)({\n ...options,\n addIdAndValue: true\n });\n}\nconst $e1995378a142960e$var$CollectionContext = /*#__PURE__*/ (0, $95feo$createContext)(null);\nfunction $e1995378a142960e$export$fb8073518f34e6ec(props) {\n let ctx = (0, $95feo$useContext)($e1995378a142960e$var$CollectionContext);\n let dependencies = ((ctx === null || ctx === void 0 ? void 0 : ctx.dependencies) || []).concat(props.dependencies);\n let idScope = props.idScope || (ctx === null || ctx === void 0 ? void 0 : ctx.idScope);\n let children = $e1995378a142960e$var$useCollectionChildren({\n ...props,\n idScope: idScope,\n dependencies: dependencies\n });\n let doc = (0, $95feo$useContext)($e1995378a142960e$var$CollectionDocumentContext);\n if (doc) children = /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionRoot, null, children);\n // Propagate dependencies and idScope to child collections.\n ctx = (0, $95feo$useMemo)(()=>({\n dependencies: dependencies,\n idScope: idScope\n }), [\n idScope,\n ...dependencies\n ]);\n return /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionContext.Provider, {\n value: ctx\n }, children);\n}\nfunction $e1995378a142960e$var$CollectionRoot({ children: children }) {\n let doc = (0, $95feo$useContext)($e1995378a142960e$var$CollectionDocumentContext);\n let wrappedChildren = (0, $95feo$useMemo)(()=>/*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$CollectionDocumentContext.Provider, {\n value: null\n }, /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$ShallowRenderContext.Provider, {\n value: true\n }, children)), [\n children\n ]);\n // During SSR, we render the content directly, and append nodes to the document during render.\n // The collection children return null so that nothing is actually rendered into the HTML.\n return (0, $95feo$useIsSSR)() ? /*#__PURE__*/ (0, $95feo$react).createElement($e1995378a142960e$var$SSRContext.Provider, {\n value: doc\n }, wrappedChildren) : /*#__PURE__*/ (0, $95feo$createPortal)(wrappedChildren, doc);\n}\n\n\nexport {$e1995378a142960e$export$bf788dd355e3a401 as CollectionBuilder, $e1995378a142960e$export$18af5c7a9e9b3664 as createLeafComponent, $e1995378a142960e$export$e953bb1cd0f19726 as createBranchComponent, $e1995378a142960e$export$fb8073518f34e6ec as Collection};\n//# sourceMappingURL=CollectionBuilder.module.js.map\n","import {createBranchComponent as $18I52$createBranchComponent, useCachedChildren as $18I52$useCachedChildren} from \"@react-aria/collections\";\nimport $18I52$react, {createContext as $18I52$createContext, useContext as $18I52$useContext, useMemo as $18I52$useMemo} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $7135fc7d473fd974$export$d40e14dec8b060a8 = /*#__PURE__*/ (0, $18I52$createContext)(null);\nconst $7135fc7d473fd974$export$6e2c8f0811a474ce = /*#__PURE__*/ (0, $18I52$createBranchComponent)('section', (props, ref, section)=>{\n let { render: render } = (0, $18I52$useContext)($7135fc7d473fd974$export$d40e14dec8b060a8);\n return render(props, ref, section);\n});\nconst $7135fc7d473fd974$export$a164736487e3f0ae = {\n CollectionRoot ({ collection: collection, renderDropIndicator: renderDropIndicator }) {\n return $7135fc7d473fd974$var$useCollectionRender(collection, null, renderDropIndicator);\n },\n CollectionBranch ({ collection: collection, parent: parent, renderDropIndicator: renderDropIndicator }) {\n return $7135fc7d473fd974$var$useCollectionRender(collection, parent, renderDropIndicator);\n }\n};\nfunction $7135fc7d473fd974$var$useCollectionRender(collection, parent, renderDropIndicator) {\n return (0, $18I52$useCachedChildren)({\n items: parent ? collection.getChildren(parent.key) : collection,\n dependencies: [\n renderDropIndicator\n ],\n children (node) {\n var _collection_getItem;\n let rendered = node.render(node);\n if (!renderDropIndicator || node.type !== 'item') return rendered;\n let key = node.key;\n let keyAfter = collection.getKeyAfter(key);\n return /*#__PURE__*/ (0, $18I52$react).createElement((0, $18I52$react).Fragment, null, renderDropIndicator({\n type: 'item',\n key: key,\n dropPosition: 'before'\n }), rendered, (keyAfter == null || ((_collection_getItem = collection.getItem(keyAfter)) === null || _collection_getItem === void 0 ? void 0 : _collection_getItem.type) !== 'item') && renderDropIndicator({\n type: 'item',\n key: key,\n dropPosition: 'after'\n }));\n }\n });\n}\nconst $7135fc7d473fd974$export$4feb769f8ddf26c5 = /*#__PURE__*/ (0, $18I52$createContext)($7135fc7d473fd974$export$a164736487e3f0ae);\nfunction $7135fc7d473fd974$export$90e00781bc59d8f9(focusedKey) {\n return (0, $18I52$useMemo)(()=>focusedKey != null ? new Set([\n focusedKey\n ]) : null, [\n focusedKey\n ]);\n}\n\n\nexport {$7135fc7d473fd974$export$d40e14dec8b060a8 as SectionContext, $7135fc7d473fd974$export$6e2c8f0811a474ce as Section, $7135fc7d473fd974$export$a164736487e3f0ae as DefaultCollectionRenderer, $7135fc7d473fd974$export$4feb769f8ddf26c5 as CollectionRendererContext, $7135fc7d473fd974$export$90e00781bc59d8f9 as usePersistedKeys};\n//# sourceMappingURL=Collection.module.js.map\n","import {useObjectRef as $iETbY$useObjectRef, mergeRefs as $iETbY$mergeRefs, mergeProps as $iETbY$mergeProps, useLayoutEffect as $iETbY$useLayoutEffect} from \"@react-aria/utils\";\nimport $iETbY$react, {useMemo as $iETbY$useMemo, useContext as $iETbY$useContext, useState as $iETbY$useState, useRef as $iETbY$useRef, useCallback as $iETbY$useCallback} from \"react\";\nimport $iETbY$reactdom from \"react-dom\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $64fa3d84918910a7$export$c62b8e45d58ddad9 = Symbol('default');\nfunction $64fa3d84918910a7$export$2881499e37b75b9a({ values: values, children: children }) {\n for (let [Context, value] of values)// @ts-ignore\n children = /*#__PURE__*/ (0, $iETbY$react).createElement(Context.Provider, {\n value: value\n }, children);\n return children;\n}\nfunction $64fa3d84918910a7$export$4d86445c2cf5e3(props) {\n let { className: className, style: style, children: children, defaultClassName: defaultClassName, defaultChildren: defaultChildren, defaultStyle: defaultStyle, values: values } = props;\n return (0, $iETbY$useMemo)(()=>{\n let computedClassName;\n let computedStyle;\n let computedChildren;\n if (typeof className === 'function') computedClassName = className({\n ...values,\n defaultClassName: defaultClassName\n });\n else computedClassName = className;\n if (typeof style === 'function') computedStyle = style({\n ...values,\n defaultStyle: defaultStyle || {}\n });\n else computedStyle = style;\n if (typeof children === 'function') computedChildren = children({\n ...values,\n defaultChildren: defaultChildren\n });\n else if (children == null) computedChildren = defaultChildren;\n else computedChildren = children;\n return {\n className: computedClassName !== null && computedClassName !== void 0 ? computedClassName : defaultClassName,\n style: computedStyle || defaultStyle ? {\n ...defaultStyle,\n ...computedStyle\n } : undefined,\n children: computedChildren !== null && computedChildren !== void 0 ? computedChildren : defaultChildren,\n 'data-rac': ''\n };\n }, [\n className,\n style,\n children,\n defaultClassName,\n defaultChildren,\n defaultStyle,\n values\n ]);\n}\nfunction $64fa3d84918910a7$export$c245e6201fed2f75(// https://stackoverflow.com/questions/60898079/typescript-type-t-or-function-t-usage\nvalue, wrap) {\n return (renderProps)=>wrap(typeof value === 'function' ? value(renderProps) : value, renderProps);\n}\nfunction $64fa3d84918910a7$export$fabf2dc03a41866e(context, slot) {\n let ctx = (0, $iETbY$useContext)(context);\n if (slot === null) // An explicit `null` slot means don't use context.\n return null;\n if (ctx && typeof ctx === 'object' && 'slots' in ctx && ctx.slots) {\n let availableSlots = new Intl.ListFormat().format(Object.keys(ctx.slots).map((p)=>`\"${p}\"`));\n if (!slot && !ctx.slots[$64fa3d84918910a7$export$c62b8e45d58ddad9]) throw new Error(`A slot prop is required. Valid slot names are ${availableSlots}.`);\n let slotKey = slot || $64fa3d84918910a7$export$c62b8e45d58ddad9;\n if (!ctx.slots[slotKey]) // @ts-ignore\n throw new Error(`Invalid slot \"${slot}\". Valid slot names are ${availableSlots}.`);\n return ctx.slots[slotKey];\n }\n // @ts-ignore\n return ctx;\n}\nfunction $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, context) {\n let ctx = $64fa3d84918910a7$export$fabf2dc03a41866e(context, props.slot) || {};\n // @ts-ignore - TS says \"Type 'unique symbol' cannot be used as an index type.\" but not sure why.\n let { ref: contextRef, ...contextProps } = ctx;\n let mergedRef = (0, $iETbY$useObjectRef)((0, $iETbY$useMemo)(()=>(0, $iETbY$mergeRefs)(ref, contextRef), [\n ref,\n contextRef\n ]));\n let mergedProps = (0, $iETbY$mergeProps)(contextProps, props);\n // mergeProps does not merge `style`. Adding this there might be a breaking change.\n if ('style' in contextProps && contextProps.style && 'style' in props && props.style) {\n if (typeof contextProps.style === 'function' || typeof props.style === 'function') // @ts-ignore\n mergedProps.style = (renderProps)=>{\n let contextStyle = typeof contextProps.style === 'function' ? contextProps.style(renderProps) : contextProps.style;\n let defaultStyle = {\n ...renderProps.defaultStyle,\n ...contextStyle\n };\n let style = typeof props.style === 'function' ? props.style({\n ...renderProps,\n defaultStyle: defaultStyle\n }) : props.style;\n return {\n ...defaultStyle,\n ...style\n };\n };\n else // @ts-ignore\n mergedProps.style = {\n ...contextProps.style,\n ...props.style\n };\n }\n return [\n mergedProps,\n mergedRef\n ];\n}\nfunction $64fa3d84918910a7$export$9d4c57ee4c6ffdd8() {\n // Assume we do have the slot in the initial render.\n let [hasSlot, setHasSlot] = (0, $iETbY$useState)(true);\n let hasRun = (0, $iETbY$useRef)(false);\n // A callback ref which will run when the slotted element mounts.\n // This should happen before the useLayoutEffect below.\n let ref = (0, $iETbY$useCallback)((el)=>{\n hasRun.current = true;\n setHasSlot(!!el);\n }, []);\n // If the callback hasn't been called, then reset to false.\n (0, $iETbY$useLayoutEffect)(()=>{\n if (!hasRun.current) setHasSlot(false);\n }, []);\n return [\n ref,\n hasSlot\n ];\n}\nfunction $64fa3d84918910a7$export$6d3443f2c48bfc20(ref, isReady = true) {\n let [isEntering, setEntering] = (0, $iETbY$useState)(true);\n $64fa3d84918910a7$var$useAnimation(ref, isEntering && isReady, (0, $iETbY$useCallback)(()=>setEntering(false), []));\n return isEntering && isReady;\n}\nfunction $64fa3d84918910a7$export$45fda7c47f93fd48(ref, isOpen) {\n // State to trigger a re-render after animation is complete, which causes the element to be removed from the DOM.\n // Ref to track the state we're in, so we don't immediately reset isExiting to true after the animation.\n let [isExiting, setExiting] = (0, $iETbY$useState)(false);\n let [exitState, setExitState] = (0, $iETbY$useState)('idle');\n // If isOpen becomes false, set isExiting to true.\n if (!isOpen && ref.current && exitState === 'idle') {\n isExiting = true;\n setExiting(true);\n setExitState('exiting');\n }\n // If we exited, and the element has been removed, reset exit state to idle.\n if (!ref.current && exitState === 'exited') setExitState('idle');\n $64fa3d84918910a7$var$useAnimation(ref, isExiting, (0, $iETbY$useCallback)(()=>{\n setExitState('exited');\n setExiting(false);\n }, []));\n return isExiting;\n}\nfunction $64fa3d84918910a7$var$useAnimation(ref, isActive, onEnd) {\n let prevAnimation = (0, $iETbY$useRef)(null);\n if (isActive && ref.current) // This is ok because we only read it in the layout effect below, immediately after the commit phase.\n // We could move this to another effect that runs every render, but this would be unnecessarily slow.\n // We only need the computed style right before the animation becomes active.\n // eslint-disable-next-line rulesdir/pure-render\n prevAnimation.current = window.getComputedStyle(ref.current).animation;\n (0, $iETbY$useLayoutEffect)(()=>{\n if (isActive && ref.current) {\n // Make sure there's actually an animation, and it wasn't there before we triggered the update.\n let computedStyle = window.getComputedStyle(ref.current);\n if (computedStyle.animationName && computedStyle.animationName !== 'none' && computedStyle.animation !== prevAnimation.current) {\n let onAnimationEnd = (e)=>{\n if (e.target === ref.current) {\n element.removeEventListener('animationend', onAnimationEnd);\n (0, $iETbY$reactdom).flushSync(()=>{\n onEnd();\n });\n }\n };\n let element = ref.current;\n element.addEventListener('animationend', onAnimationEnd);\n return ()=>{\n element.removeEventListener('animationend', onAnimationEnd);\n };\n } else onEnd();\n }\n }, [\n ref,\n isActive,\n onEnd\n ]);\n}\nfunction $64fa3d84918910a7$export$ef03459518577ad4(props) {\n const prefix = /^(data-.*)$/;\n let filteredProps = {};\n for(const prop in props)if (!prefix.test(prop)) filteredProps[prop] = props[prop];\n return filteredProps;\n}\n\n\nexport {$64fa3d84918910a7$export$c62b8e45d58ddad9 as DEFAULT_SLOT, $64fa3d84918910a7$export$2881499e37b75b9a as Provider, $64fa3d84918910a7$export$4d86445c2cf5e3 as useRenderProps, $64fa3d84918910a7$export$c245e6201fed2f75 as composeRenderProps, $64fa3d84918910a7$export$fabf2dc03a41866e as useSlottedContext, $64fa3d84918910a7$export$29f1550f4b0d4415 as useContextProps, $64fa3d84918910a7$export$9d4c57ee4c6ffdd8 as useSlot, $64fa3d84918910a7$export$6d3443f2c48bfc20 as useEnterAnimation, $64fa3d84918910a7$export$45fda7c47f93fd48 as useExitAnimation, $64fa3d84918910a7$export$ef03459518577ad4 as removeDataAttributes};\n//# sourceMappingURL=utils.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3, useSlot as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8} from \"./utils.mjs\";\nimport {LabelContext as $01b77f81d0f07f68$export$75b6ee27786ba447} from \"./Label.mjs\";\nimport {useProgressBar as $hU2kz$useProgressBar} from \"react-aria\";\nimport {clamp as $hU2kz$clamp} from \"@react-stately/utils\";\nimport $hU2kz$react, {createContext as $hU2kz$createContext, forwardRef as $hU2kz$forwardRef} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nconst $0393f8ab869a0f1a$export$e9f3bf65a26ce129 = /*#__PURE__*/ (0, $hU2kz$createContext)(null);\nfunction $0393f8ab869a0f1a$var$ProgressBar(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $0393f8ab869a0f1a$export$e9f3bf65a26ce129);\n let { value: value = 0, minValue: minValue = 0, maxValue: maxValue = 100, isIndeterminate: isIndeterminate = false } = props;\n value = (0, $hU2kz$clamp)(value, minValue, maxValue);\n let [labelRef, label] = (0, $64fa3d84918910a7$export$9d4c57ee4c6ffdd8)();\n let { progressBarProps: progressBarProps, labelProps: labelProps } = (0, $hU2kz$useProgressBar)({\n ...props,\n label: label\n });\n // Calculate the width of the progress bar as a percentage\n let percentage = isIndeterminate ? undefined : (value - minValue) / (maxValue - minValue) * 100;\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-ProgressBar',\n values: {\n percentage: percentage,\n valueText: progressBarProps['aria-valuetext'],\n isIndeterminate: isIndeterminate\n }\n });\n return /*#__PURE__*/ (0, $hU2kz$react).createElement(\"div\", {\n ...progressBarProps,\n ...renderProps,\n ref: ref,\n slot: props.slot || undefined\n }, /*#__PURE__*/ (0, $hU2kz$react).createElement((0, $01b77f81d0f07f68$export$75b6ee27786ba447).Provider, {\n value: {\n ...labelProps,\n ref: labelRef,\n elementType: 'span'\n }\n }, renderProps.children));\n}\n/**\n * Progress bars show either determinate or indeterminate progress of an operation\n * over time.\n */ const $0393f8ab869a0f1a$export$c17561cb55d4db30 = /*#__PURE__*/ (0, $hU2kz$forwardRef)($0393f8ab869a0f1a$var$ProgressBar);\n\n\nexport {$0393f8ab869a0f1a$export$e9f3bf65a26ce129 as ProgressBarContext, $0393f8ab869a0f1a$export$c17561cb55d4db30 as ProgressBar};\n//# sourceMappingURL=ProgressBar.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /* Inspired by https://github.com/AlmeroSteyn/react-aria-live */ const $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY = 7000;\nlet $319e236875307eab$var$liveAnnouncer = null;\nfunction $319e236875307eab$export$a9b970dcc4ae71a9(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {\n if (!$319e236875307eab$var$liveAnnouncer) {\n $319e236875307eab$var$liveAnnouncer = new $319e236875307eab$var$LiveAnnouncer();\n // wait for the live announcer regions to be added to the dom, then announce\n // otherwise Safari won't announce the message if it's added too quickly\n // found most times less than 100ms were not consistent when announcing with Safari\n // IS_REACT_ACT_ENVIRONMENT is used by React 18. Previous versions checked for the `jest` global.\n // https://github.com/reactwg/react-18/discussions/102\n // if we're in a test environment, announce without waiting\n // @ts-ignore\n if (!(typeof IS_REACT_ACT_ENVIRONMENT === 'boolean' ? IS_REACT_ACT_ENVIRONMENT : typeof jest !== 'undefined')) setTimeout(()=>{\n if ($319e236875307eab$var$liveAnnouncer === null || $319e236875307eab$var$liveAnnouncer === void 0 ? void 0 : $319e236875307eab$var$liveAnnouncer.isAttached()) $319e236875307eab$var$liveAnnouncer === null || $319e236875307eab$var$liveAnnouncer === void 0 ? void 0 : $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);\n }, 100);\n else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);\n } else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);\n}\nfunction $319e236875307eab$export$d10ae4f68404609a(assertiveness) {\n if ($319e236875307eab$var$liveAnnouncer) $319e236875307eab$var$liveAnnouncer.clear(assertiveness);\n}\nfunction $319e236875307eab$export$d8686216b8b81b2f() {\n if ($319e236875307eab$var$liveAnnouncer) {\n $319e236875307eab$var$liveAnnouncer.destroy();\n $319e236875307eab$var$liveAnnouncer = null;\n }\n}\n// LiveAnnouncer is implemented using vanilla DOM, not React. That's because as of React 18\n// ReactDOM.render is deprecated, and the replacement, ReactDOM.createRoot is moved into a\n// subpath import `react-dom/client`. That makes it hard for us to support multiple React versions.\n// As a global API, we can't use portals without introducing a breaking API change. LiveAnnouncer\n// is simple enough to implement without React, so that's what we do here.\n// See this discussion for more details: https://github.com/reactwg/react-18/discussions/125#discussioncomment-2382638\nclass $319e236875307eab$var$LiveAnnouncer {\n isAttached() {\n var _this_node;\n return (_this_node = this.node) === null || _this_node === void 0 ? void 0 : _this_node.isConnected;\n }\n createLog(ariaLive) {\n let node = document.createElement('div');\n node.setAttribute('role', 'log');\n node.setAttribute('aria-live', ariaLive);\n node.setAttribute('aria-relevant', 'additions');\n return node;\n }\n destroy() {\n if (!this.node) return;\n document.body.removeChild(this.node);\n this.node = null;\n }\n announce(message, assertiveness = 'assertive', timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {\n var _this_assertiveLog, _this_politeLog;\n if (!this.node) return;\n let node = document.createElement('div');\n if (typeof message === 'object') {\n // To read an aria-labelledby, the element must have an appropriate role, such as img.\n node.setAttribute('role', 'img');\n node.setAttribute('aria-labelledby', message['aria-labelledby']);\n } else node.textContent = message;\n if (assertiveness === 'assertive') (_this_assertiveLog = this.assertiveLog) === null || _this_assertiveLog === void 0 ? void 0 : _this_assertiveLog.appendChild(node);\n else (_this_politeLog = this.politeLog) === null || _this_politeLog === void 0 ? void 0 : _this_politeLog.appendChild(node);\n if (message !== '') setTimeout(()=>{\n node.remove();\n }, timeout);\n }\n clear(assertiveness) {\n if (!this.node) return;\n if ((!assertiveness || assertiveness === 'assertive') && this.assertiveLog) this.assertiveLog.innerHTML = '';\n if ((!assertiveness || assertiveness === 'polite') && this.politeLog) this.politeLog.innerHTML = '';\n }\n constructor(){\n this.node = null;\n this.assertiveLog = null;\n this.politeLog = null;\n if (typeof document !== 'undefined') {\n this.node = document.createElement('div');\n this.node.dataset.liveAnnouncer = 'true';\n // copied from VisuallyHidden\n Object.assign(this.node.style, {\n border: 0,\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n width: '1px',\n whiteSpace: 'nowrap'\n });\n this.assertiveLog = this.createLog('assertive');\n this.node.appendChild(this.assertiveLog);\n this.politeLog = this.createLog('polite');\n this.node.appendChild(this.politeLog);\n document.body.prepend(this.node);\n }\n }\n}\n\n\nexport {$319e236875307eab$export$a9b970dcc4ae71a9 as announce, $319e236875307eab$export$d10ae4f68404609a as clearAnnouncer, $319e236875307eab$export$d8686216b8b81b2f as destroyAnnouncer};\n//# sourceMappingURL=LiveAnnouncer.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {ProgressBarContext as $0393f8ab869a0f1a$export$e9f3bf65a26ce129} from \"./ProgressBar.mjs\";\nimport {announce as $fM325$announce} from \"@react-aria/live-announcer\";\nimport {useButton as $fM325$useButton, useFocusRing as $fM325$useFocusRing, useHover as $fM325$useHover, useId as $fM325$useId, mergeProps as $fM325$mergeProps} from \"react-aria\";\nimport {createHideableComponent as $fM325$createHideableComponent} from \"@react-aria/collections\";\nimport {filterDOMProps as $fM325$filterDOMProps} from \"@react-aria/utils\";\nimport $fM325$react, {createContext as $fM325$createContext, useRef as $fM325$useRef, useEffect as $fM325$useEffect} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\nconst $d2b4bc8c273e7be6$var$additionalButtonHTMLAttributes = new Set([\n 'form',\n 'formAction',\n 'formEncType',\n 'formMethod',\n 'formNoValidate',\n 'formTarget',\n 'name',\n 'value'\n]);\nconst $d2b4bc8c273e7be6$export$24d547caef80ccd1 = /*#__PURE__*/ (0, $fM325$createContext)({});\nfunction $d2b4bc8c273e7be6$var$Button(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $d2b4bc8c273e7be6$export$24d547caef80ccd1);\n props = $d2b4bc8c273e7be6$var$disablePendingProps(props);\n let ctx = props;\n let { isPending: isPending } = ctx;\n let { buttonProps: buttonProps, isPressed: isPressed } = (0, $fM325$useButton)(props, ref);\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $fM325$useFocusRing)(props);\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $fM325$useHover)({\n ...props,\n isDisabled: props.isDisabled || isPending\n });\n let renderValues = {\n isHovered: isHovered,\n isPressed: (ctx.isPressed || isPressed) && !isPending,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: props.isDisabled || false,\n isPending: isPending !== null && isPending !== void 0 ? isPending : false\n };\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n values: renderValues,\n defaultClassName: 'react-aria-Button'\n });\n let buttonId = (0, $fM325$useId)(buttonProps.id);\n let progressId = (0, $fM325$useId)();\n let ariaLabelledby = buttonProps['aria-labelledby'];\n if (isPending) {\n // aria-labelledby wins over aria-label\n // https://www.w3.org/TR/accname-1.2/#computation-steps\n if (ariaLabelledby) ariaLabelledby = `${ariaLabelledby} ${progressId}`;\n else if (buttonProps['aria-label']) ariaLabelledby = `${buttonId} ${progressId}`;\n }\n let wasPending = (0, $fM325$useRef)(isPending);\n (0, $fM325$useEffect)(()=>{\n let message = {\n 'aria-labelledby': ariaLabelledby || buttonId\n };\n if (!wasPending.current && isFocused && isPending) (0, $fM325$announce)(message, 'assertive');\n else if (wasPending.current && isFocused && !isPending) (0, $fM325$announce)(message, 'assertive');\n wasPending.current = isPending;\n }, [\n isPending,\n isFocused,\n ariaLabelledby,\n buttonId\n ]);\n return /*#__PURE__*/ (0, $fM325$react).createElement(\"button\", {\n ...(0, $fM325$filterDOMProps)(props, {\n propNames: $d2b4bc8c273e7be6$var$additionalButtonHTMLAttributes\n }),\n ...(0, $fM325$mergeProps)(buttonProps, focusProps, hoverProps),\n ...renderProps,\n id: buttonId,\n ref: ref,\n \"aria-labelledby\": ariaLabelledby,\n slot: props.slot || undefined,\n \"aria-disabled\": isPending ? 'true' : buttonProps['aria-disabled'],\n \"data-disabled\": props.isDisabled || undefined,\n \"data-pressed\": renderValues.isPressed || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-pending\": isPending || undefined,\n \"data-focus-visible\": isFocusVisible || undefined\n }, /*#__PURE__*/ (0, $fM325$react).createElement((0, $0393f8ab869a0f1a$export$e9f3bf65a26ce129).Provider, {\n value: {\n id: progressId\n }\n }, renderProps.children));\n}\nfunction $d2b4bc8c273e7be6$var$disablePendingProps(props) {\n // Don't allow interaction while isPending is true\n if (props.isPending) {\n props.onPress = undefined;\n props.onPressStart = undefined;\n props.onPressEnd = undefined;\n props.onPressChange = undefined;\n props.onPressUp = undefined;\n props.onKeyDown = undefined;\n props.onKeyUp = undefined;\n props.onClick = undefined;\n props.href = undefined;\n }\n return props;\n}\n/**\n * A button allows a user to perform an action, with mouse, touch, and keyboard interactions.\n */ const $d2b4bc8c273e7be6$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $fM325$createHideableComponent)($d2b4bc8c273e7be6$var$Button);\n\n\nexport {$d2b4bc8c273e7be6$export$24d547caef80ccd1 as ButtonContext, $d2b4bc8c273e7be6$export$353f5b6fc5456de1 as Button};\n//# sourceMappingURL=Button.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport $1B3Dx$react, {createContext as $1B3Dx$createContext, forwardRef as $1B3Dx$forwardRef} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $514c0188e459b4c0$export$9afb8bc826b033ea = /*#__PURE__*/ (0, $1B3Dx$createContext)({});\nfunction $514c0188e459b4c0$var$Text(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $514c0188e459b4c0$export$9afb8bc826b033ea);\n let { elementType: ElementType = 'span', ...domProps } = props;\n // @ts-ignore\n return /*#__PURE__*/ (0, $1B3Dx$react).createElement(ElementType, {\n className: \"react-aria-Text\",\n ...domProps,\n ref: ref\n });\n}\nconst $514c0188e459b4c0$export$5f1af8db9871e1d6 = /*#__PURE__*/ (0, $1B3Dx$forwardRef)($514c0188e459b4c0$var$Text);\n\n\nexport {$514c0188e459b4c0$export$9afb8bc826b033ea as TextContext, $514c0188e459b4c0$export$5f1af8db9871e1d6 as Text};\n//# sourceMappingURL=Text.module.js.map\n","import $3aeG1$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $ae1eeba8b9eafd08$export$5165eccb35aaadb5 = (0, $3aeG1$react).createContext({\n register: ()=>{}\n});\n$ae1eeba8b9eafd08$export$5165eccb35aaadb5.displayName = 'PressResponderContext';\n\n\nexport {$ae1eeba8b9eafd08$export$5165eccb35aaadb5 as PressResponderContext};\n//# sourceMappingURL=context.module.js.map\n","import {PressResponderContext as $ae1eeba8b9eafd08$export$5165eccb35aaadb5} from \"./context.mjs\";\nimport {useObjectRef as $87RPk$useObjectRef, mergeProps as $87RPk$mergeProps, useSyncRef as $87RPk$useSyncRef} from \"@react-aria/utils\";\nimport $87RPk$react, {useRef as $87RPk$useRef, useContext as $87RPk$useContext, useEffect as $87RPk$useEffect, useMemo as $87RPk$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $f1ab8c75478c6f73$export$3351871ee4b288b8 = /*#__PURE__*/ (0, $87RPk$react).forwardRef(({ children: children, ...props }, ref)=>{\n let isRegistered = (0, $87RPk$useRef)(false);\n let prevContext = (0, $87RPk$useContext)((0, $ae1eeba8b9eafd08$export$5165eccb35aaadb5));\n ref = (0, $87RPk$useObjectRef)(ref || (prevContext === null || prevContext === void 0 ? void 0 : prevContext.ref));\n let context = (0, $87RPk$mergeProps)(prevContext || {}, {\n ...props,\n ref: ref,\n register () {\n isRegistered.current = true;\n if (prevContext) prevContext.register();\n }\n });\n (0, $87RPk$useSyncRef)(prevContext, ref);\n (0, $87RPk$useEffect)(()=>{\n if (!isRegistered.current) {\n console.warn(\"A PressResponder was rendered without a pressable child. Either call the usePress hook, or wrap your DOM node with <Pressable> component.\");\n isRegistered.current = true; // only warn once in strict mode.\n }\n }, []);\n return /*#__PURE__*/ (0, $87RPk$react).createElement((0, $ae1eeba8b9eafd08$export$5165eccb35aaadb5).Provider, {\n value: context\n }, children);\n});\nfunction $f1ab8c75478c6f73$export$cf75428e0b9ed1ea({ children: children }) {\n let context = (0, $87RPk$useMemo)(()=>({\n register: ()=>{}\n }), []);\n return /*#__PURE__*/ (0, $87RPk$react).createElement((0, $ae1eeba8b9eafd08$export$5165eccb35aaadb5).Provider, {\n value: context\n }, children);\n}\n\n\nexport {$f1ab8c75478c6f73$export$3351871ee4b288b8 as PressResponder, $f1ab8c75478c6f73$export$cf75428e0b9ed1ea as ClearPressResponder};\n//# sourceMappingURL=PressResponder.module.js.map\n","import {useState as $AWxnT$useState, useRef as $AWxnT$useRef, useEffect as $AWxnT$useEffect, useMemo as $AWxnT$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\nlet $6179b936705e76d3$var$hoverCount = 0;\nfunction $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents() {\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = true;\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(()=>{\n $6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\nfunction $6179b936705e76d3$var$handleGlobalPointerEvent(e) {\n if (e.pointerType === 'touch') $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents();\n}\nfunction $6179b936705e76d3$var$setupGlobalTouchEvents() {\n if (typeof document === 'undefined') return;\n if (typeof PointerEvent !== 'undefined') document.addEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.addEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n $6179b936705e76d3$var$hoverCount++;\n return ()=>{\n $6179b936705e76d3$var$hoverCount--;\n if ($6179b936705e76d3$var$hoverCount > 0) return;\n if (typeof PointerEvent !== 'undefined') document.removeEventListener('pointerup', $6179b936705e76d3$var$handleGlobalPointerEvent);\n else document.removeEventListener('touchend', $6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents);\n };\n}\nfunction $6179b936705e76d3$export$ae780daf29e6d456(props) {\n let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;\n let [isHovered, setHovered] = (0, $AWxnT$useState)(false);\n let state = (0, $AWxnT$useRef)({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null\n }).current;\n (0, $AWxnT$useEffect)($6179b936705e76d3$var$setupGlobalTouchEvents, []);\n let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (0, $AWxnT$useMemo)(()=>{\n let triggerHoverStart = (event, pointerType)=>{\n state.pointerType = pointerType;\n if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) return;\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n if (onHoverStart) onHoverStart({\n type: 'hoverstart',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(true);\n setHovered(true);\n };\n let triggerHoverEnd = (event, pointerType)=>{\n state.pointerType = '';\n state.target = null;\n if (pointerType === 'touch' || !state.isHovered) return;\n state.isHovered = false;\n let target = event.currentTarget;\n if (onHoverEnd) onHoverEnd({\n type: 'hoverend',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(false);\n setHovered(false);\n };\n let hoverProps = {};\n if (typeof PointerEvent !== 'undefined') {\n hoverProps.onPointerEnter = (e)=>{\n if ($6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n hoverProps.onPointerLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, e.pointerType);\n };\n } else {\n hoverProps.onTouchStart = ()=>{\n state.ignoreEmulatedMouseEvents = true;\n };\n hoverProps.onMouseEnter = (e)=>{\n if (!state.ignoreEmulatedMouseEvents && !$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');\n state.ignoreEmulatedMouseEvents = false;\n };\n hoverProps.onMouseLeave = (e)=>{\n if (!isDisabled && e.currentTarget.contains(e.target)) triggerHoverEnd(e, 'mouse');\n };\n }\n return {\n hoverProps: hoverProps,\n triggerHoverEnd: triggerHoverEnd\n };\n }, [\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled,\n state\n ]);\n (0, $AWxnT$useEffect)(()=>{\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) triggerHoverEnd({\n currentTarget: state.target\n }, state.pointerType);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled\n ]);\n return {\n hoverProps: hoverProps,\n isHovered: isHovered\n };\n}\n\n\nexport {$6179b936705e76d3$export$ae780daf29e6d456 as useHover};\n//# sourceMappingURL=useHover.module.js.map\n","import {useEffectEvent as $ispOf$useEffectEvent, getOwnerDocument as $ispOf$getOwnerDocument} from \"@react-aria/utils\";\nimport {useRef as $ispOf$useRef, useEffect as $ispOf$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\nfunction $e0b6e0b68ec7f50f$export$872b660ac5a1ff98(props) {\n let { ref: ref, onInteractOutside: onInteractOutside, isDisabled: isDisabled, onInteractOutsideStart: onInteractOutsideStart } = props;\n let stateRef = (0, $ispOf$useRef)({\n isPointerDown: false,\n ignoreEmulatedMouseEvents: false\n });\n let onPointerDown = (0, $ispOf$useEffectEvent)((e)=>{\n if (onInteractOutside && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) {\n if (onInteractOutsideStart) onInteractOutsideStart(e);\n stateRef.current.isPointerDown = true;\n }\n });\n let triggerInteractOutside = (0, $ispOf$useEffectEvent)((e)=>{\n if (onInteractOutside) onInteractOutside(e);\n });\n (0, $ispOf$useEffect)(()=>{\n let state = stateRef.current;\n if (isDisabled) return;\n const element = ref.current;\n const documentObject = (0, $ispOf$getOwnerDocument)(element);\n // Use pointer events if available. Otherwise, fall back to mouse and touch events.\n if (typeof PointerEvent !== 'undefined') {\n let onPointerUp = (e)=>{\n if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);\n state.isPointerDown = false;\n };\n // changing these to capture phase fixed combobox\n documentObject.addEventListener('pointerdown', onPointerDown, true);\n documentObject.addEventListener('pointerup', onPointerUp, true);\n return ()=>{\n documentObject.removeEventListener('pointerdown', onPointerDown, true);\n documentObject.removeEventListener('pointerup', onPointerUp, true);\n };\n } else {\n let onMouseUp = (e)=>{\n if (state.ignoreEmulatedMouseEvents) state.ignoreEmulatedMouseEvents = false;\n else if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);\n state.isPointerDown = false;\n };\n let onTouchEnd = (e)=>{\n state.ignoreEmulatedMouseEvents = true;\n if (state.isPointerDown && $e0b6e0b68ec7f50f$var$isValidEvent(e, ref)) triggerInteractOutside(e);\n state.isPointerDown = false;\n };\n documentObject.addEventListener('mousedown', onPointerDown, true);\n documentObject.addEventListener('mouseup', onMouseUp, true);\n documentObject.addEventListener('touchstart', onPointerDown, true);\n documentObject.addEventListener('touchend', onTouchEnd, true);\n return ()=>{\n documentObject.removeEventListener('mousedown', onPointerDown, true);\n documentObject.removeEventListener('mouseup', onMouseUp, true);\n documentObject.removeEventListener('touchstart', onPointerDown, true);\n documentObject.removeEventListener('touchend', onTouchEnd, true);\n };\n }\n }, [\n ref,\n isDisabled,\n onPointerDown,\n triggerInteractOutside\n ]);\n}\nfunction $e0b6e0b68ec7f50f$var$isValidEvent(event, ref) {\n if (event.button > 0) return false;\n if (event.target) {\n // if the event target is no longer in the document, ignore\n const ownerDocument = event.target.ownerDocument;\n if (!ownerDocument || !ownerDocument.documentElement.contains(event.target)) return false;\n // If the target is within a top layer element (e.g. toasts), ignore.\n if (event.target.closest('[data-react-aria-top-layer]')) return false;\n }\n return ref.current && !ref.current.contains(event.target);\n}\n\n\nexport {$e0b6e0b68ec7f50f$export$872b660ac5a1ff98 as useInteractOutside};\n//# sourceMappingURL=useInteractOutside.module.js.map\n","import {focusSafely as $6a99195332edec8b$export$80f3e147d781571c} from \"./focusSafely.mjs\";\nimport {useSyncRef as $h8xso$useSyncRef, useObjectRef as $h8xso$useObjectRef, mergeProps as $h8xso$mergeProps} from \"@react-aria/utils\";\nimport $h8xso$react, {useContext as $h8xso$useContext, useRef as $h8xso$useRef, useEffect as $h8xso$useEffect} from \"react\";\nimport {useFocus as $h8xso$useFocus, useKeyboard as $h8xso$useKeyboard} from \"@react-aria/interactions\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nlet $e6afbd83fe6ebbd2$var$FocusableContext = /*#__PURE__*/ (0, $h8xso$react).createContext(null);\nfunction $e6afbd83fe6ebbd2$var$useFocusableContext(ref) {\n let context = (0, $h8xso$useContext)($e6afbd83fe6ebbd2$var$FocusableContext) || {};\n (0, $h8xso$useSyncRef)(context, ref);\n // eslint-disable-next-line\n let { ref: _, ...otherProps } = context;\n return otherProps;\n}\n/**\n * Provides DOM props to the nearest focusable child.\n */ function $e6afbd83fe6ebbd2$var$FocusableProvider(props, ref) {\n let { children: children, ...otherProps } = props;\n let objRef = (0, $h8xso$useObjectRef)(ref);\n let context = {\n ...otherProps,\n ref: objRef\n };\n return /*#__PURE__*/ (0, $h8xso$react).createElement($e6afbd83fe6ebbd2$var$FocusableContext.Provider, {\n value: context\n }, children);\n}\nlet $e6afbd83fe6ebbd2$export$13f3202a3e5ddd5 = /*#__PURE__*/ (0, $h8xso$react).forwardRef($e6afbd83fe6ebbd2$var$FocusableProvider);\nfunction $e6afbd83fe6ebbd2$export$4c014de7c8940b4c(props, domRef) {\n let { focusProps: focusProps } = (0, $h8xso$useFocus)(props);\n let { keyboardProps: keyboardProps } = (0, $h8xso$useKeyboard)(props);\n let interactions = (0, $h8xso$mergeProps)(focusProps, keyboardProps);\n let domProps = $e6afbd83fe6ebbd2$var$useFocusableContext(domRef);\n let interactionProps = props.isDisabled ? {} : domProps;\n let autoFocusRef = (0, $h8xso$useRef)(props.autoFocus);\n (0, $h8xso$useEffect)(()=>{\n if (autoFocusRef.current && domRef.current) (0, $6a99195332edec8b$export$80f3e147d781571c)(domRef.current);\n autoFocusRef.current = false;\n }, [\n domRef\n ]);\n return {\n focusableProps: (0, $h8xso$mergeProps)({\n ...interactions,\n tabIndex: props.excludeFromTabOrder && !props.isDisabled ? -1 : undefined\n }, interactionProps)\n };\n}\n\n\nexport {$e6afbd83fe6ebbd2$export$13f3202a3e5ddd5 as FocusableProvider, $e6afbd83fe6ebbd2$export$4c014de7c8940b4c as useFocusable};\n//# sourceMappingURL=useFocusable.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {createLeafComponent as $i47tY$createLeafComponent} from \"@react-aria/collections\";\nimport $i47tY$react, {createContext as $i47tY$createContext} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $72a5793c14baf454$export$e0e4026c12a8bdbb = /*#__PURE__*/ (0, $i47tY$createContext)({});\nconst $72a5793c14baf454$export$8b251419efc915eb = /*#__PURE__*/ (0, $i47tY$createLeafComponent)('header', function Header(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $72a5793c14baf454$export$e0e4026c12a8bdbb);\n return /*#__PURE__*/ (0, $i47tY$react).createElement(\"header\", {\n className: \"react-aria-Header\",\n ...props,\n ref: ref\n }, props.children);\n});\n\n\nexport {$72a5793c14baf454$export$e0e4026c12a8bdbb as HeaderContext, $72a5793c14baf454$export$8b251419efc915eb as Header};\n//# sourceMappingURL=Header.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {useSeparator as $i9JCE$useSeparator} from \"react-aria\";\nimport {createLeafComponent as $i9JCE$createLeafComponent} from \"@react-aria/collections\";\nimport {filterDOMProps as $i9JCE$filterDOMProps} from \"@react-aria/utils\";\nimport $i9JCE$react, {createContext as $i9JCE$createContext} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nconst $431f98aba6844401$export$6615d83f6de245ce = /*#__PURE__*/ (0, $i9JCE$createContext)({});\nconst $431f98aba6844401$export$1ff3c3f08ae963c0 = /*#__PURE__*/ (0, $i9JCE$createLeafComponent)('separator', function Separator(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $431f98aba6844401$export$6615d83f6de245ce);\n let { elementType: elementType, orientation: orientation, style: style, className: className } = props;\n let Element = elementType || 'hr';\n if (Element === 'hr' && orientation === 'vertical') Element = 'div';\n let { separatorProps: separatorProps } = (0, $i9JCE$useSeparator)({\n elementType: elementType,\n orientation: orientation\n });\n return /*#__PURE__*/ (0, $i9JCE$react).createElement(Element, {\n ...(0, $i9JCE$filterDOMProps)(props),\n ...separatorProps,\n style: style,\n className: className !== null && className !== void 0 ? className : 'react-aria-Separator',\n ref: ref,\n slot: props.slot || undefined\n });\n});\n\n\nexport {$431f98aba6844401$export$6615d83f6de245ce as SeparatorContext, $431f98aba6844401$export$1ff3c3f08ae963c0 as Separator};\n//# sourceMappingURL=Separator.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport $8wt2Z$react, {createContext as $8wt2Z$createContext, forwardRef as $8wt2Z$forwardRef} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $44f671af83e7d9e0$export$2de4954e8ae13b9f = /*#__PURE__*/ (0, $8wt2Z$createContext)({\n placement: 'bottom'\n});\nfunction $44f671af83e7d9e0$var$OverlayArrow(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $44f671af83e7d9e0$export$2de4954e8ae13b9f);\n let placement = props.placement;\n let style = {\n position: 'absolute',\n [placement]: '100%',\n transform: placement === 'top' || placement === 'bottom' ? 'translateX(-50%)' : 'translateY(-50%)'\n };\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-OverlayArrow',\n values: {\n placement: placement\n }\n });\n // remove undefined values from renderProps.style object so that it can be\n // spread merged with the other style object\n if (renderProps.style) Object.keys(renderProps.style).forEach((key)=>renderProps.style[key] === undefined && delete renderProps.style[key]);\n return /*#__PURE__*/ (0, $8wt2Z$react).createElement(\"div\", {\n ...props,\n ...renderProps,\n style: {\n ...style,\n ...renderProps.style\n },\n ref: ref,\n \"data-placement\": placement\n });\n}\n/**\n * An OverlayArrow renders a custom arrow element relative to an overlay element\n * such as a popover or tooltip such that it aligns with a trigger element.\n */ const $44f671af83e7d9e0$export$746d02f47f4d381 = /*#__PURE__*/ (0, $8wt2Z$forwardRef)($44f671af83e7d9e0$var$OverlayArrow);\n\n\nexport {$44f671af83e7d9e0$export$2de4954e8ae13b9f as OverlayArrowContext, $44f671af83e7d9e0$export$746d02f47f4d381 as OverlayArrow};\n//# sourceMappingURL=OverlayArrow.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useEnterAnimation as $64fa3d84918910a7$export$6d3443f2c48bfc20, useExitAnimation as $64fa3d84918910a7$export$45fda7c47f93fd48, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {OverlayArrowContext as $44f671af83e7d9e0$export$2de4954e8ae13b9f} from \"./OverlayArrow.mjs\";\nimport {OverlayTriggerStateContext as $de32f1b87079253c$export$d2f961adcb0afbe} from \"./Dialog.mjs\";\nimport {usePopover as $ehFet$usePopover, Overlay as $ehFet$Overlay, DismissButton as $ehFet$DismissButton} from \"react-aria\";\nimport {useLayoutEffect as $ehFet$useLayoutEffect, mergeProps as $ehFet$mergeProps, filterDOMProps as $ehFet$filterDOMProps} from \"@react-aria/utils\";\nimport {useOverlayTriggerState as $ehFet$useOverlayTriggerState} from \"react-stately\";\nimport $ehFet$react, {createContext as $ehFet$createContext, useContext as $ehFet$useContext, forwardRef as $ehFet$forwardRef, useRef as $ehFet$useRef, useState as $ehFet$useState} from \"react\";\nimport {useIsHidden as $ehFet$useIsHidden} from \"@react-aria/collections\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\nconst $07b14b47974efb58$export$9b9a0cd73afb7ca4 = /*#__PURE__*/ (0, $ehFet$createContext)(null);\nfunction $07b14b47974efb58$var$Popover(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $07b14b47974efb58$export$9b9a0cd73afb7ca4);\n let contextState = (0, $ehFet$useContext)((0, $de32f1b87079253c$export$d2f961adcb0afbe));\n let localState = (0, $ehFet$useOverlayTriggerState)(props);\n let state = props.isOpen != null || props.defaultOpen != null || !contextState ? localState : contextState;\n let isExiting = (0, $64fa3d84918910a7$export$45fda7c47f93fd48)(ref, state.isOpen) || props.isExiting || false;\n let isHidden = (0, $ehFet$useIsHidden)();\n // If we are in a hidden tree, we still need to preserve our children.\n if (isHidden) {\n let children = props.children;\n if (typeof children === 'function') children = children({\n trigger: props.trigger || null,\n placement: 'bottom',\n isEntering: false,\n isExiting: false,\n defaultChildren: null\n });\n return /*#__PURE__*/ (0, $ehFet$react).createElement((0, $ehFet$react).Fragment, null, children);\n }\n if (state && !state.isOpen && !isExiting) return null;\n return /*#__PURE__*/ (0, $ehFet$react).createElement($07b14b47974efb58$var$PopoverInner, {\n ...props,\n triggerRef: props.triggerRef,\n state: state,\n popoverRef: ref,\n isExiting: isExiting\n });\n}\n/**\n * A popover is an overlay element positioned relative to a trigger.\n */ const $07b14b47974efb58$export$5b6b19405a83ff9d = /*#__PURE__*/ (0, $ehFet$forwardRef)($07b14b47974efb58$var$Popover);\nfunction $07b14b47974efb58$var$PopoverInner({ state: state, isExiting: isExiting, UNSTABLE_portalContainer: UNSTABLE_portalContainer, ...props }) {\n // Calculate the arrow size internally (and remove props.arrowSize from PopoverProps)\n // Referenced from: packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx\n let arrowRef = (0, $ehFet$useRef)(null);\n let [arrowWidth, setArrowWidth] = (0, $ehFet$useState)(0);\n (0, $ehFet$useLayoutEffect)(()=>{\n if (arrowRef.current && state.isOpen) setArrowWidth(arrowRef.current.getBoundingClientRect().width);\n }, [\n state.isOpen,\n arrowRef\n ]);\n var _props_offset;\n let { popoverProps: popoverProps, underlayProps: underlayProps, arrowProps: arrowProps, placement: placement } = (0, $ehFet$usePopover)({\n ...props,\n offset: (_props_offset = props.offset) !== null && _props_offset !== void 0 ? _props_offset : 8,\n arrowSize: arrowWidth\n }, state);\n let ref = props.popoverRef;\n let isEntering = (0, $64fa3d84918910a7$export$6d3443f2c48bfc20)(ref, !!placement) || props.isEntering || false;\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-Popover',\n values: {\n trigger: props.trigger || null,\n placement: placement,\n isEntering: isEntering,\n isExiting: isExiting\n }\n });\n let style = {\n ...popoverProps.style,\n ...renderProps.style\n };\n return /*#__PURE__*/ (0, $ehFet$react).createElement((0, $ehFet$Overlay), {\n isExiting: isExiting,\n portalContainer: UNSTABLE_portalContainer\n }, !props.isNonModal && state.isOpen && /*#__PURE__*/ (0, $ehFet$react).createElement(\"div\", {\n \"data-testid\": \"underlay\",\n ...underlayProps,\n style: {\n position: 'fixed',\n inset: 0\n }\n }), /*#__PURE__*/ (0, $ehFet$react).createElement(\"div\", {\n ...(0, $ehFet$mergeProps)((0, $ehFet$filterDOMProps)(props), popoverProps),\n ...renderProps,\n ref: ref,\n slot: props.slot || undefined,\n style: style,\n \"data-trigger\": props.trigger,\n \"data-placement\": placement,\n \"data-entering\": isEntering || undefined,\n \"data-exiting\": isExiting || undefined\n }, !props.isNonModal && /*#__PURE__*/ (0, $ehFet$react).createElement((0, $ehFet$DismissButton), {\n onDismiss: state.close\n }), /*#__PURE__*/ (0, $ehFet$react).createElement((0, $44f671af83e7d9e0$export$2de4954e8ae13b9f).Provider, {\n value: {\n ...arrowProps,\n placement: placement,\n ref: arrowRef\n }\n }, renderProps.children), /*#__PURE__*/ (0, $ehFet$react).createElement((0, $ehFet$DismissButton), {\n onDismiss: state.close\n })));\n}\n\n\nexport {$07b14b47974efb58$export$9b9a0cd73afb7ca4 as PopoverContext, $07b14b47974efb58$export$5b6b19405a83ff9d as Popover};\n//# sourceMappingURL=Popover.module.js.map\n","import {DEFAULT_SLOT as $64fa3d84918910a7$export$c62b8e45d58ddad9, Provider as $64fa3d84918910a7$export$2881499e37b75b9a, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {HeadingContext as $4e85f108e88277b8$export$d688439359537581} from \"./RSPContexts.mjs\";\nimport {PopoverContext as $07b14b47974efb58$export$9b9a0cd73afb7ca4} from \"./Popover.mjs\";\nimport {useOverlayTrigger as $6IYYA$useOverlayTrigger, useId as $6IYYA$useId, useDialog as $6IYYA$useDialog} from \"react-aria\";\nimport {filterDOMProps as $6IYYA$filterDOMProps} from \"@react-aria/utils\";\nimport {useOverlayTriggerState as $6IYYA$useOverlayTriggerState} from \"react-stately\";\nimport {PressResponder as $6IYYA$PressResponder} from \"@react-aria/interactions\";\nimport $6IYYA$react, {createContext as $6IYYA$createContext, useRef as $6IYYA$useRef, useContext as $6IYYA$useContext, forwardRef as $6IYYA$forwardRef} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\nconst $de32f1b87079253c$export$8b93a07348a7730c = /*#__PURE__*/ (0, $6IYYA$createContext)(null);\nconst $de32f1b87079253c$export$d2f961adcb0afbe = /*#__PURE__*/ (0, $6IYYA$createContext)(null);\nfunction $de32f1b87079253c$export$2e1e1122cf0cba88(props) {\n let state = (0, $6IYYA$useOverlayTriggerState)(props);\n let buttonRef = (0, $6IYYA$useRef)(null);\n let { triggerProps: triggerProps, overlayProps: overlayProps } = (0, $6IYYA$useOverlayTrigger)({\n type: 'dialog'\n }, state, buttonRef);\n // Label dialog by the trigger as a fallback if there is no title slot.\n // This is done in RAC instead of hooks because otherwise we cannot distinguish\n // between context and props. Normally aria-labelledby overrides the title\n // but when sent by context we want the title to win.\n triggerProps.id = (0, $6IYYA$useId)();\n overlayProps['aria-labelledby'] = triggerProps.id;\n return /*#__PURE__*/ (0, $6IYYA$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $de32f1b87079253c$export$d2f961adcb0afbe,\n state\n ],\n [\n $de32f1b87079253c$export$8b93a07348a7730c,\n overlayProps\n ],\n [\n (0, $07b14b47974efb58$export$9b9a0cd73afb7ca4),\n {\n trigger: 'DialogTrigger',\n triggerRef: buttonRef\n }\n ]\n ]\n }, /*#__PURE__*/ (0, $6IYYA$react).createElement((0, $6IYYA$PressResponder), {\n ...triggerProps,\n ref: buttonRef,\n isPressed: state.isOpen\n }, props.children));\n}\nfunction $de32f1b87079253c$var$Dialog(props, ref) {\n let originalAriaLabelledby = props['aria-labelledby'];\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $de32f1b87079253c$export$8b93a07348a7730c);\n let { dialogProps: dialogProps, titleProps: titleProps } = (0, $6IYYA$useDialog)({\n ...props,\n // Only pass aria-labelledby from props, not context.\n // Context is used as a fallback below.\n 'aria-labelledby': originalAriaLabelledby\n }, ref);\n let state = (0, $6IYYA$useContext)($de32f1b87079253c$export$d2f961adcb0afbe);\n let children = props.children;\n if (typeof children === 'function') children = children({\n close: (state === null || state === void 0 ? void 0 : state.close) || (()=>{})\n });\n if (!dialogProps['aria-label'] && !dialogProps['aria-labelledby']) {\n // If aria-labelledby exists on props, we know it came from context.\n // Use that as a fallback in case there is no title slot.\n if (props['aria-labelledby']) dialogProps['aria-labelledby'] = props['aria-labelledby'];\n else console.warn('If a Dialog does not contain a <Heading slot=\"title\">, it must have an aria-label or aria-labelledby attribute for accessibility.');\n }\n var _props_className;\n return /*#__PURE__*/ (0, $6IYYA$react).createElement(\"section\", {\n ...(0, $6IYYA$filterDOMProps)(props),\n ...dialogProps,\n ref: ref,\n slot: props.slot || undefined,\n style: props.style,\n className: (_props_className = props.className) !== null && _props_className !== void 0 ? _props_className : 'react-aria-Dialog'\n }, /*#__PURE__*/ (0, $6IYYA$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n (0, $4e85f108e88277b8$export$d688439359537581),\n {\n slots: {\n [(0, $64fa3d84918910a7$export$c62b8e45d58ddad9)]: {},\n title: {\n ...titleProps,\n level: 2\n }\n }\n }\n ]\n ]\n }, children));\n}\n/**\n * A dialog is an overlay shown above other content in an application.\n */ const $de32f1b87079253c$export$3ddf2d174ce01153 = /*#__PURE__*/ (0, $6IYYA$forwardRef)($de32f1b87079253c$var$Dialog);\n\n\nexport {$de32f1b87079253c$export$8b93a07348a7730c as DialogContext, $de32f1b87079253c$export$d2f961adcb0afbe as OverlayTriggerStateContext, $de32f1b87079253c$export$2e1e1122cf0cba88 as DialogTrigger, $de32f1b87079253c$export$3ddf2d174ce01153 as Dialog};\n//# sourceMappingURL=Dialog.module.js.map\n","import {useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport $3zqIJ$react, {createContext as $3zqIJ$createContext, forwardRef as $3zqIJ$forwardRef} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $63df2425e2108aa8$export$744d98a3b8a94e1c = /*#__PURE__*/ (0, $3zqIJ$createContext)({});\nfunction $63df2425e2108aa8$var$Keyboard(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $63df2425e2108aa8$export$744d98a3b8a94e1c);\n return /*#__PURE__*/ (0, $3zqIJ$react).createElement(\"kbd\", {\n dir: \"ltr\",\n ...props,\n ref: ref\n });\n}\nconst $63df2425e2108aa8$export$16e4d70cc375e707 = /*#__PURE__*/ (0, $3zqIJ$forwardRef)($63df2425e2108aa8$var$Keyboard);\n\n\nexport {$63df2425e2108aa8$export$744d98a3b8a94e1c as KeyboardContext, $63df2425e2108aa8$export$16e4d70cc375e707 as Keyboard};\n//# sourceMappingURL=Keyboard.module.js.map\n","import $gtysd$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $9fc4852771d079eb$var$Section(props) {\n return null;\n}\n$9fc4852771d079eb$var$Section.getCollectionNode = function* getCollectionNode(props) {\n let { children: children, title: title, items: items } = props;\n yield {\n type: 'section',\n props: props,\n hasChildNodes: true,\n rendered: title,\n 'aria-label': props['aria-label'],\n *childNodes () {\n if (typeof children === 'function') {\n if (!items) throw new Error('props.children was a function but props.items is missing');\n for (let item of items)yield {\n type: 'item',\n value: item,\n renderer: children\n };\n } else {\n let items = [];\n (0, $gtysd$react).Children.forEach(children, (child)=>{\n items.push({\n type: 'item',\n element: child\n });\n });\n yield* items;\n }\n }\n };\n};\n// We don't want getCollectionNode to show up in the type definition\nlet $9fc4852771d079eb$export$6e2c8f0811a474ce = $9fc4852771d079eb$var$Section;\n\n\nexport {$9fc4852771d079eb$export$6e2c8f0811a474ce as Section};\n//# sourceMappingURL=Section.module.js.map\n","import {CollectionRendererContext as $7135fc7d473fd974$export$4feb769f8ddf26c5, SectionContext as $7135fc7d473fd974$export$d40e14dec8b060a8, usePersistedKeys as $7135fc7d473fd974$export$90e00781bc59d8f9} from \"./Collection.mjs\";\nimport {Provider as $64fa3d84918910a7$export$2881499e37b75b9a, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3, useSlot as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, useSlottedContext as $64fa3d84918910a7$export$fabf2dc03a41866e} from \"./utils.mjs\";\nimport {HeaderContext as $72a5793c14baf454$export$e0e4026c12a8bdbb} from \"./Header.mjs\";\nimport {KeyboardContext as $63df2425e2108aa8$export$744d98a3b8a94e1c} from \"./Keyboard.mjs\";\nimport {OverlayTriggerStateContext as $de32f1b87079253c$export$d2f961adcb0afbe} from \"./Dialog.mjs\";\nimport {PopoverContext as $07b14b47974efb58$export$9b9a0cd73afb7ca4} from \"./Popover.mjs\";\nimport {SeparatorContext as $431f98aba6844401$export$6615d83f6de245ce} from \"./Separator.mjs\";\nimport {TextContext as $514c0188e459b4c0$export$9afb8bc826b033ea} from \"./Text.mjs\";\nimport {useMenuTrigger as $kM2ZM$useMenuTrigger, useMenu as $kM2ZM$useMenu, FocusScope as $kM2ZM$FocusScope, useMenuSection as $kM2ZM$useMenuSection, useMenuItem as $kM2ZM$useMenuItem, useFocusRing as $kM2ZM$useFocusRing, mergeProps as $kM2ZM$mergeProps} from \"react-aria\";\nimport {useMenuTriggerState as $kM2ZM$useMenuTriggerState, useTreeState as $kM2ZM$useTreeState} from \"react-stately\";\nimport {createBranchComponent as $kM2ZM$createBranchComponent, CollectionBuilder as $kM2ZM$CollectionBuilder, Collection as $kM2ZM$Collection, createLeafComponent as $kM2ZM$createLeafComponent} from \"@react-aria/collections\";\nimport {useResizeObserver as $kM2ZM$useResizeObserver, useObjectRef as $kM2ZM$useObjectRef, filterDOMProps as $kM2ZM$filterDOMProps} from \"@react-aria/utils\";\nimport {PressResponder as $kM2ZM$PressResponder, useInteractOutside as $kM2ZM$useInteractOutside, useHover as $kM2ZM$useHover} from \"@react-aria/interactions\";\nimport $kM2ZM$react, {createContext as $kM2ZM$createContext, useRef as $kM2ZM$useRef, useState as $kM2ZM$useState, useCallback as $kM2ZM$useCallback, useContext as $kM2ZM$useContext, useEffect as $kM2ZM$useEffect, forwardRef as $kM2ZM$forwardRef} from \"react\";\nimport {useSubmenuTriggerState as $kM2ZM$useSubmenuTriggerState} from \"@react-stately/menu\";\nimport {useSubmenuTrigger as $kM2ZM$useSubmenuTrigger} from \"@react-aria/menu\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst $3674c52c6b3c5bce$export$c7e742effb1c51e2 = /*#__PURE__*/ (0, $kM2ZM$createContext)(null);\nconst $3674c52c6b3c5bce$export$24aad8519b95b41b = /*#__PURE__*/ (0, $kM2ZM$createContext)(null);\nconst $3674c52c6b3c5bce$export$795aec4671cbae19 = /*#__PURE__*/ (0, $kM2ZM$createContext)(null);\nfunction $3674c52c6b3c5bce$export$27d2ad3c5815583e(props) {\n let state = (0, $kM2ZM$useMenuTriggerState)(props);\n let ref = (0, $kM2ZM$useRef)(null);\n let { menuTriggerProps: menuTriggerProps, menuProps: menuProps } = (0, $kM2ZM$useMenuTrigger)({\n ...props,\n type: 'menu'\n }, state, ref);\n // Allows menu width to match button\n let [buttonWidth, setButtonWidth] = (0, $kM2ZM$useState)(null);\n let onResize = (0, $kM2ZM$useCallback)(()=>{\n if (ref.current) setButtonWidth(ref.current.offsetWidth + 'px');\n }, [\n ref\n ]);\n (0, $kM2ZM$useResizeObserver)({\n ref: ref,\n onResize: onResize\n });\n let scrollRef = (0, $kM2ZM$useRef)(null);\n return /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $3674c52c6b3c5bce$export$c7e742effb1c51e2,\n {\n ...menuProps,\n ref: scrollRef\n }\n ],\n [\n (0, $de32f1b87079253c$export$d2f961adcb0afbe),\n state\n ],\n [\n $3674c52c6b3c5bce$export$795aec4671cbae19,\n state\n ],\n [\n (0, $07b14b47974efb58$export$9b9a0cd73afb7ca4),\n {\n trigger: 'MenuTrigger',\n triggerRef: ref,\n scrollRef: scrollRef,\n placement: 'bottom start',\n style: {\n '--trigger-width': buttonWidth\n }\n }\n ]\n ]\n }, /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $kM2ZM$PressResponder), {\n ...menuTriggerProps,\n ref: ref,\n isPressed: state.isOpen\n }, props.children));\n}\nconst $3674c52c6b3c5bce$var$SubmenuTriggerContext = /*#__PURE__*/ (0, $kM2ZM$createContext)(null);\nconst $3674c52c6b3c5bce$export$ecabc99eeffab7ca = /*#__PURE__*/ (0, $kM2ZM$createBranchComponent)('submenutrigger', (props, ref, item)=>{\n let { CollectionBranch: CollectionBranch } = (0, $kM2ZM$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));\n let state = (0, $kM2ZM$useContext)($3674c52c6b3c5bce$export$24aad8519b95b41b);\n let rootMenuTriggerState = (0, $kM2ZM$useContext)($3674c52c6b3c5bce$export$795aec4671cbae19);\n let submenuTriggerState = (0, $kM2ZM$useSubmenuTriggerState)({\n triggerKey: item.key\n }, rootMenuTriggerState);\n let submenuRef = (0, $kM2ZM$useRef)(null);\n let itemRef = (0, $kM2ZM$useObjectRef)(ref);\n let popoverContext = (0, $64fa3d84918910a7$export$fabf2dc03a41866e)((0, $07b14b47974efb58$export$9b9a0cd73afb7ca4));\n let { parentMenuRef: parentMenuRef } = (0, $kM2ZM$useContext)($3674c52c6b3c5bce$var$SubmenuTriggerContext);\n let { submenuTriggerProps: submenuTriggerProps, submenuProps: submenuProps, popoverProps: popoverProps } = (0, $kM2ZM$useSubmenuTrigger)({\n parentMenuRef: parentMenuRef,\n submenuRef: submenuRef,\n delay: props.delay\n }, submenuTriggerState, itemRef);\n return /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $3674c52c6b3c5bce$var$MenuItemContext,\n {\n ...submenuTriggerProps,\n onAction: undefined,\n ref: itemRef\n }\n ],\n [\n $3674c52c6b3c5bce$export$c7e742effb1c51e2,\n submenuProps\n ],\n [\n (0, $de32f1b87079253c$export$d2f961adcb0afbe),\n submenuTriggerState\n ],\n [\n (0, $07b14b47974efb58$export$9b9a0cd73afb7ca4),\n {\n ref: submenuRef,\n trigger: 'SubmenuTrigger',\n triggerRef: itemRef,\n placement: 'end top',\n UNSTABLE_portalContainer: popoverContext.UNSTABLE_portalContainer || undefined,\n ...popoverProps\n }\n ]\n ]\n }, /*#__PURE__*/ (0, $kM2ZM$react).createElement(CollectionBranch, {\n collection: state.collection,\n parent: item\n }), props.children[1]);\n}, (props)=>props.children[0]);\nfunction $3674c52c6b3c5bce$var$Menu(props, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $3674c52c6b3c5bce$export$c7e742effb1c51e2);\n // Delay rendering the actual menu until we have the collection so that auto focus works properly.\n return /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $kM2ZM$CollectionBuilder), {\n content: /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $kM2ZM$Collection), props)\n }, (collection)=>collection.size > 0 && /*#__PURE__*/ (0, $kM2ZM$react).createElement($3674c52c6b3c5bce$var$MenuInner, {\n props: props,\n collection: collection,\n menuRef: ref\n }));\n}\nfunction $3674c52c6b3c5bce$var$MenuInner({ props: props, collection: collection, menuRef: ref }) {\n let state = (0, $kM2ZM$useTreeState)({\n ...props,\n collection: collection,\n children: undefined\n });\n let [popoverContainer, setPopoverContainer] = (0, $kM2ZM$useState)(null);\n let { isVirtualized: isVirtualized, CollectionRoot: CollectionRoot } = (0, $kM2ZM$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));\n let { menuProps: menuProps } = (0, $kM2ZM$useMenu)({\n ...props,\n isVirtualized: isVirtualized\n }, state, ref);\n let rootMenuTriggerState = (0, $kM2ZM$useContext)($3674c52c6b3c5bce$export$795aec4671cbae19);\n let popoverContext = (0, $kM2ZM$useContext)((0, $07b14b47974efb58$export$9b9a0cd73afb7ca4));\n let isSubmenu = (popoverContext === null || popoverContext === void 0 ? void 0 : popoverContext.trigger) === 'SubmenuTrigger';\n (0, $kM2ZM$useInteractOutside)({\n ref: ref,\n onInteractOutside: (e)=>{\n if (rootMenuTriggerState && !(popoverContainer === null || popoverContainer === void 0 ? void 0 : popoverContainer.contains(e.target))) rootMenuTriggerState.close();\n },\n isDisabled: isSubmenu || (rootMenuTriggerState === null || rootMenuTriggerState === void 0 ? void 0 : rootMenuTriggerState.expandedKeysStack.length) === 0\n });\n let prevPopoverContainer = (0, $kM2ZM$useRef)(null);\n let [leftOffset, setLeftOffset] = (0, $kM2ZM$useState)({\n left: 0\n });\n (0, $kM2ZM$useEffect)(()=>{\n if (popoverContainer && prevPopoverContainer.current !== popoverContainer && leftOffset.left === 0) {\n prevPopoverContainer.current = popoverContainer;\n let { left: left } = popoverContainer.getBoundingClientRect();\n setLeftOffset({\n left: -1 * left\n });\n }\n }, [\n leftOffset,\n popoverContainer\n ]);\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n defaultClassName: 'react-aria-Menu',\n className: props.className,\n style: props.style,\n values: {}\n });\n return /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $kM2ZM$FocusScope), null, /*#__PURE__*/ (0, $kM2ZM$react).createElement(\"div\", {\n ...(0, $kM2ZM$filterDOMProps)(props),\n ...menuProps,\n ...renderProps,\n ref: ref,\n slot: props.slot || undefined,\n onScroll: props.onScroll\n }, /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $3674c52c6b3c5bce$export$24aad8519b95b41b,\n state\n ],\n [\n (0, $431f98aba6844401$export$6615d83f6de245ce),\n {\n elementType: 'div'\n }\n ],\n [\n (0, $07b14b47974efb58$export$9b9a0cd73afb7ca4),\n {\n UNSTABLE_portalContainer: popoverContainer || undefined\n }\n ],\n [\n (0, $7135fc7d473fd974$export$d40e14dec8b060a8),\n {\n render: $3674c52c6b3c5bce$var$MenuSection\n }\n ],\n [\n $3674c52c6b3c5bce$var$SubmenuTriggerContext,\n {\n parentMenuRef: ref\n }\n ],\n [\n $3674c52c6b3c5bce$var$MenuItemContext,\n null\n ]\n ]\n }, /*#__PURE__*/ (0, $kM2ZM$react).createElement(CollectionRoot, {\n collection: collection,\n persistedKeys: (0, $7135fc7d473fd974$export$90e00781bc59d8f9)(state.selectionManager.focusedKey),\n scrollRef: ref\n }))), /*#__PURE__*/ (0, $kM2ZM$react).createElement(\"div\", {\n ref: setPopoverContainer,\n style: {\n width: '100vw',\n position: 'absolute',\n top: 0,\n ...leftOffset\n }\n }));\n}\n/**\n * A menu displays a list of actions or options that a user can choose.\n */ const $3674c52c6b3c5bce$export$d9b273488cd8ce6f = /*#__PURE__*/ (0, $kM2ZM$forwardRef)($3674c52c6b3c5bce$var$Menu);\nfunction $3674c52c6b3c5bce$var$MenuSection(props, ref, section) {\n var _section_props, _section_props1;\n let state = (0, $kM2ZM$useContext)($3674c52c6b3c5bce$export$24aad8519b95b41b);\n let { CollectionBranch: CollectionBranch } = (0, $kM2ZM$useContext)((0, $7135fc7d473fd974$export$4feb769f8ddf26c5));\n let [headingRef, heading] = (0, $64fa3d84918910a7$export$9d4c57ee4c6ffdd8)();\n var _section_props_arialabel;\n let { headingProps: headingProps, groupProps: groupProps } = (0, $kM2ZM$useMenuSection)({\n heading: heading,\n 'aria-label': (_section_props_arialabel = section.props['aria-label']) !== null && _section_props_arialabel !== void 0 ? _section_props_arialabel : undefined\n });\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n defaultClassName: 'react-aria-Section',\n className: (_section_props = section.props) === null || _section_props === void 0 ? void 0 : _section_props.className,\n style: (_section_props1 = section.props) === null || _section_props1 === void 0 ? void 0 : _section_props1.style,\n values: {}\n });\n return /*#__PURE__*/ (0, $kM2ZM$react).createElement(\"section\", {\n ...(0, $kM2ZM$filterDOMProps)(props),\n ...groupProps,\n ...renderProps,\n ref: ref\n }, /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $72a5793c14baf454$export$e0e4026c12a8bdbb).Provider, {\n value: {\n ...headingProps,\n ref: headingRef\n }\n }, /*#__PURE__*/ (0, $kM2ZM$react).createElement(CollectionBranch, {\n collection: state.collection,\n parent: section\n })));\n}\nconst $3674c52c6b3c5bce$var$MenuItemContext = /*#__PURE__*/ (0, $kM2ZM$createContext)(null);\nconst $3674c52c6b3c5bce$export$2ce376c2cc3355c8 = /*#__PURE__*/ (0, $kM2ZM$createLeafComponent)('item', function MenuItem(props, forwardedRef, item) {\n var _useSlottedContext;\n [props, forwardedRef] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, forwardedRef, $3674c52c6b3c5bce$var$MenuItemContext);\n let id = (_useSlottedContext = (0, $64fa3d84918910a7$export$fabf2dc03a41866e)($3674c52c6b3c5bce$var$MenuItemContext)) === null || _useSlottedContext === void 0 ? void 0 : _useSlottedContext.id;\n let state = (0, $kM2ZM$useContext)($3674c52c6b3c5bce$export$24aad8519b95b41b);\n let ref = (0, $kM2ZM$useObjectRef)(forwardedRef);\n let { menuItemProps: menuItemProps, labelProps: labelProps, descriptionProps: descriptionProps, keyboardShortcutProps: keyboardShortcutProps, ...states } = (0, $kM2ZM$useMenuItem)({\n ...props,\n id: id,\n key: item.key\n }, state, ref);\n let { isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $kM2ZM$useFocusRing)();\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $kM2ZM$useHover)({\n isDisabled: states.isDisabled\n });\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n id: undefined,\n children: item.rendered,\n defaultClassName: 'react-aria-MenuItem',\n values: {\n ...states,\n isHovered: isHovered,\n isFocusVisible: isFocusVisible,\n selectionMode: state.selectionManager.selectionMode,\n selectionBehavior: state.selectionManager.selectionBehavior,\n hasSubmenu: !!props['aria-haspopup'],\n isOpen: props['aria-expanded'] === 'true'\n }\n });\n let ElementType = props.href ? 'a' : 'div';\n return /*#__PURE__*/ (0, $kM2ZM$react).createElement(ElementType, {\n ...(0, $kM2ZM$mergeProps)(menuItemProps, focusProps, hoverProps),\n ...renderProps,\n ref: ref,\n \"data-disabled\": states.isDisabled || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-focused\": states.isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-pressed\": states.isPressed || undefined,\n \"data-selected\": states.isSelected || undefined,\n \"data-selection-mode\": state.selectionManager.selectionMode === 'none' ? undefined : state.selectionManager.selectionMode,\n \"data-has-submenu\": !!props['aria-haspopup'] || undefined,\n \"data-open\": props['aria-expanded'] === 'true' || undefined\n }, /*#__PURE__*/ (0, $kM2ZM$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n (0, $514c0188e459b4c0$export$9afb8bc826b033ea),\n {\n slots: {\n label: labelProps,\n description: descriptionProps\n }\n }\n ],\n [\n (0, $63df2425e2108aa8$export$744d98a3b8a94e1c),\n keyboardShortcutProps\n ]\n ]\n }, renderProps.children));\n});\n\n\nexport {$3674c52c6b3c5bce$export$c7e742effb1c51e2 as MenuContext, $3674c52c6b3c5bce$export$24aad8519b95b41b as MenuStateContext, $3674c52c6b3c5bce$export$795aec4671cbae19 as RootMenuTriggerStateContext, $3674c52c6b3c5bce$export$27d2ad3c5815583e as MenuTrigger, $3674c52c6b3c5bce$export$ecabc99eeffab7ca as SubmenuTrigger, $3674c52c6b3c5bce$export$d9b273488cd8ce6f as Menu, $3674c52c6b3c5bce$export$2ce376c2cc3355c8 as MenuItem};\n//# sourceMappingURL=Menu.module.js.map\n","import $20k3Y$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $312ae3b56a94a86e$var$TableHeader(props) {\n return null;\n}\n$312ae3b56a94a86e$var$TableHeader.getCollectionNode = function* getCollectionNode(props, context) {\n let { children: children, columns: columns } = props;\n // Clear columns so they aren't double added in strict mode.\n context.columns = [];\n if (typeof children === 'function') {\n if (!columns) throw new Error('props.children was a function but props.columns is missing');\n for (let column of columns)yield {\n type: 'column',\n value: column,\n renderer: children\n };\n } else {\n let columns = [];\n (0, $20k3Y$react).Children.forEach(children, (column)=>{\n columns.push({\n type: 'column',\n element: column\n });\n });\n yield* columns;\n }\n};\n/**\n * A TableHeader is a container for the Column elements in a Table. Columns can be statically defined\n * as children, or generated dynamically using a function based on the data passed to the `columns` prop.\n */ // We don't want getCollectionNode to show up in the type definition\nlet $312ae3b56a94a86e$export$f850895b287ef28e = $312ae3b56a94a86e$var$TableHeader;\n\n\nexport {$312ae3b56a94a86e$export$f850895b287ef28e as TableHeader};\n//# sourceMappingURL=TableHeader.module.js.map\n","import $6tF2U$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $4ae5314bf50db1a3$var$TableBody(props) {\n return null;\n}\n$4ae5314bf50db1a3$var$TableBody.getCollectionNode = function* getCollectionNode(props) {\n let { children: children, items: items } = props;\n yield {\n type: 'body',\n hasChildNodes: true,\n props: props,\n *childNodes () {\n if (typeof children === 'function') {\n if (!items) throw new Error('props.children was a function but props.items is missing');\n for (let item of items)yield {\n type: 'item',\n value: item,\n renderer: children\n };\n } else {\n let items = [];\n (0, $6tF2U$react).Children.forEach(children, (item)=>{\n items.push({\n type: 'item',\n element: item\n });\n });\n yield* items;\n }\n }\n };\n};\n/**\n * A TableBody is a container for the Row elements of a Table. Rows can be statically defined\n * as children, or generated dynamically using a function based on the data passed to the `items` prop.\n */ // We don't want getCollectionNode to show up in the type definition\nlet $4ae5314bf50db1a3$export$76ccd210b9029917 = $4ae5314bf50db1a3$var$TableBody;\n\n\nexport {$4ae5314bf50db1a3$export$76ccd210b9029917 as TableBody};\n//# sourceMappingURL=TableBody.module.js.map\n","import $kIQ5E$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $1cd244557c2f97d5$var$Column(props) {\n return null;\n}\n$1cd244557c2f97d5$var$Column.getCollectionNode = function* getCollectionNode(props, context) {\n let { title: title, children: children, childColumns: childColumns } = props;\n let rendered = title || children;\n let textValue = props.textValue || (typeof rendered === 'string' ? rendered : '') || props['aria-label'];\n let fullNodes = yield {\n type: 'column',\n hasChildNodes: !!childColumns || title && (0, $kIQ5E$react).Children.count(children) > 0,\n rendered: rendered,\n textValue: textValue,\n props: props,\n *childNodes () {\n if (childColumns) for (let child of childColumns)yield {\n type: 'column',\n value: child\n };\n else if (title) {\n let childColumns = [];\n (0, $kIQ5E$react).Children.forEach(children, (child)=>{\n childColumns.push({\n type: 'column',\n element: child\n });\n });\n yield* childColumns;\n }\n },\n shouldInvalidate (newContext) {\n // This is a bit of a hack, but it works.\n // If this method is called, then there's a cached version of this node available.\n // But, we need to keep the list of columns in the new context up to date.\n updateContext(newContext);\n return false;\n }\n };\n let updateContext = (context)=>{\n // register leaf columns on the context so that <Row> can access them\n for (let node of fullNodes)if (!node.hasChildNodes) context.columns.push(node);\n };\n updateContext(context);\n};\n/**\n * A Column represents a field of each item within a Table. Columns may also contain nested\n * Column elements to represent column groups. Nested columns can be statically defined as\n * children, or dynamically generated using a function based on the `childColumns` prop.\n */ // We don't want getCollectionNode to show up in the type definition\nlet $1cd244557c2f97d5$export$816b5d811295e6bc = $1cd244557c2f97d5$var$Column;\n\n\nexport {$1cd244557c2f97d5$export$816b5d811295e6bc as Column};\n//# sourceMappingURL=Column.module.js.map\n","import $7GIZw$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $70d70eb16ea48428$var$Row(props) {\n return null;\n}\n$70d70eb16ea48428$var$Row.getCollectionNode = function* getCollectionNode(props, context) {\n let { children: children, textValue: textValue, UNSTABLE_childItems: UNSTABLE_childItems } = props;\n yield {\n type: 'item',\n props: props,\n textValue: textValue,\n 'aria-label': props['aria-label'],\n hasChildNodes: true,\n *childNodes () {\n // Process cells first\n if (context.showDragButtons) yield {\n type: 'cell',\n key: 'header-drag',\n props: {\n isDragButtonCell: true\n }\n };\n if (context.showSelectionCheckboxes && context.selectionMode !== 'none') yield {\n type: 'cell',\n key: 'header',\n props: {\n isSelectionCell: true\n }\n };\n if (typeof children === 'function') {\n for (let column of context.columns)yield {\n type: 'cell',\n element: children(column.key),\n key: column.key // this is combined with the row key by CollectionBuilder\n };\n if (UNSTABLE_childItems) for (let child of UNSTABLE_childItems)// Note: in order to reuse the render function of TableBody for our child rows, we just need to yield a type and a value here. CollectionBuilder will then look up\n // the parent renderer and use that to build the full node of this child row, using the value provided here to generate the cells\n yield {\n type: 'item',\n value: child\n };\n } else {\n let cells = [];\n let childRows = [];\n (0, $7GIZw$react).Children.forEach(children, (node)=>{\n if (node.type === $70d70eb16ea48428$var$Row) {\n if (cells.length < context.columns.length) throw new Error('All of a Row\\'s child Cells must be positioned before any child Rows.');\n childRows.push({\n type: 'item',\n element: node\n });\n } else cells.push({\n type: 'cell',\n element: node\n });\n });\n if (cells.length !== context.columns.length) throw new Error(`Cell count must match column count. Found ${cells.length} cells and ${context.columns.length} columns.`);\n yield* cells;\n yield* childRows;\n }\n },\n shouldInvalidate (newContext) {\n // Invalidate all rows if the columns changed.\n return newContext.columns.length !== context.columns.length || newContext.columns.some((c, i)=>c.key !== context.columns[i].key) || newContext.showSelectionCheckboxes !== context.showSelectionCheckboxes || newContext.showDragButtons !== context.showDragButtons || newContext.selectionMode !== context.selectionMode;\n }\n };\n};\n/**\n * A Row represents a single item in a Table and contains Cell elements for each column.\n * Cells can be statically defined as children, or generated dynamically using a function\n * based on the columns defined in the TableHeader.\n */ // We don't want getCollectionNode to show up in the type definition\nlet $70d70eb16ea48428$export$b59bdbef9ce70de2 = $70d70eb16ea48428$var$Row;\n\n\nexport {$70d70eb16ea48428$export$b59bdbef9ce70de2 as Row};\n//# sourceMappingURL=Row.module.js.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $941d1d9a6a28982a$var$Cell(props) {\n return null;\n}\n$941d1d9a6a28982a$var$Cell.getCollectionNode = function* getCollectionNode(props) {\n let { children: children } = props;\n let textValue = props.textValue || (typeof children === 'string' ? children : '') || props['aria-label'] || '';\n yield {\n type: 'cell',\n props: props,\n rendered: children,\n textValue: textValue,\n 'aria-label': props['aria-label'],\n hasChildNodes: false\n };\n};\n/**\n * A Cell represents the value of a single Column within a Table Row.\n */ // We don't want getCollectionNode to show up in the type definition\nlet $941d1d9a6a28982a$export$f6f0c3fe4ec306ea = $941d1d9a6a28982a$var$Cell;\n\n\nexport {$941d1d9a6a28982a$export$f6f0c3fe4ec306ea as Cell};\n//# sourceMappingURL=Cell.module.js.map\n","import {Provider as $64fa3d84918910a7$export$2881499e37b75b9a, useContextProps as $64fa3d84918910a7$export$29f1550f4b0d4415, useEnterAnimation as $64fa3d84918910a7$export$6d3443f2c48bfc20, useExitAnimation as $64fa3d84918910a7$export$45fda7c47f93fd48, useRenderProps as $64fa3d84918910a7$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {OverlayArrowContext as $44f671af83e7d9e0$export$2de4954e8ae13b9f} from \"./OverlayArrow.mjs\";\nimport {useTooltipTrigger as $cCslV$useTooltipTrigger, OverlayContainer as $cCslV$OverlayContainer, useOverlayPosition as $cCslV$useOverlayPosition, mergeProps as $cCslV$mergeProps, useTooltip as $cCslV$useTooltip} from \"react-aria\";\nimport {FocusableProvider as $cCslV$FocusableProvider} from \"@react-aria/focus\";\nimport {useTooltipTriggerState as $cCslV$useTooltipTriggerState} from \"react-stately\";\nimport $cCslV$react, {createContext as $cCslV$createContext, useRef as $cCslV$useRef, useContext as $cCslV$useContext, forwardRef as $cCslV$forwardRef, useState as $cCslV$useState} from \"react\";\nimport {useLayoutEffect as $cCslV$useLayoutEffect} from \"@react-aria/utils\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\nconst $4e3b923658d69c60$export$7a7623236eec67fa = /*#__PURE__*/ (0, $cCslV$createContext)(null);\nconst $4e3b923658d69c60$export$39ae08fa83328b12 = /*#__PURE__*/ (0, $cCslV$createContext)(null);\nfunction $4e3b923658d69c60$export$8c610744efcf8a1d(props) {\n let state = (0, $cCslV$useTooltipTriggerState)(props);\n let ref = (0, $cCslV$useRef)(null);\n let { triggerProps: triggerProps, tooltipProps: tooltipProps } = (0, $cCslV$useTooltipTrigger)(props, state, ref);\n return /*#__PURE__*/ (0, $cCslV$react).createElement((0, $64fa3d84918910a7$export$2881499e37b75b9a), {\n values: [\n [\n $4e3b923658d69c60$export$7a7623236eec67fa,\n state\n ],\n [\n $4e3b923658d69c60$export$39ae08fa83328b12,\n {\n ...tooltipProps,\n triggerRef: ref\n }\n ]\n ]\n }, /*#__PURE__*/ (0, $cCslV$react).createElement((0, $cCslV$FocusableProvider), {\n ...triggerProps,\n ref: ref\n }, props.children));\n}\nfunction $4e3b923658d69c60$var$Tooltip({ UNSTABLE_portalContainer: UNSTABLE_portalContainer, ...props }, ref) {\n [props, ref] = (0, $64fa3d84918910a7$export$29f1550f4b0d4415)(props, ref, $4e3b923658d69c60$export$39ae08fa83328b12);\n let contextState = (0, $cCslV$useContext)($4e3b923658d69c60$export$7a7623236eec67fa);\n let localState = (0, $cCslV$useTooltipTriggerState)(props);\n let state = props.isOpen != null || props.defaultOpen != null || !contextState ? localState : contextState;\n let isExiting = (0, $64fa3d84918910a7$export$45fda7c47f93fd48)(ref, state.isOpen) || props.isExiting || false;\n if (!state.isOpen && !isExiting) return null;\n return /*#__PURE__*/ (0, $cCslV$react).createElement((0, $cCslV$OverlayContainer), {\n portalContainer: UNSTABLE_portalContainer\n }, /*#__PURE__*/ (0, $cCslV$react).createElement($4e3b923658d69c60$var$TooltipInner, {\n ...props,\n tooltipRef: ref,\n isExiting: isExiting\n }));\n}\n/**\n * A tooltip displays a description of an element on hover or focus.\n */ const $4e3b923658d69c60$export$28c660c63b792dea = /*#__PURE__*/ (0, $cCslV$forwardRef)($4e3b923658d69c60$var$Tooltip);\nfunction $4e3b923658d69c60$var$TooltipInner(props) {\n let state = (0, $cCslV$useContext)($4e3b923658d69c60$export$7a7623236eec67fa);\n // Calculate the arrow size internally\n // Referenced from: packages/@react-spectrum/tooltip/src/TooltipTrigger.tsx\n let arrowRef = (0, $cCslV$useRef)(null);\n let [arrowWidth, setArrowWidth] = (0, $cCslV$useState)(0);\n (0, $cCslV$useLayoutEffect)(()=>{\n if (arrowRef.current && state.isOpen) setArrowWidth(arrowRef.current.getBoundingClientRect().width);\n }, [\n state.isOpen,\n arrowRef\n ]);\n let { overlayProps: overlayProps, arrowProps: arrowProps, placement: placement } = (0, $cCslV$useOverlayPosition)({\n placement: props.placement || 'top',\n targetRef: props.triggerRef,\n overlayRef: props.tooltipRef,\n offset: props.offset,\n crossOffset: props.crossOffset,\n isOpen: state.isOpen,\n arrowSize: arrowWidth,\n arrowBoundaryOffset: props.arrowBoundaryOffset,\n shouldFlip: props.shouldFlip\n });\n let isEntering = (0, $64fa3d84918910a7$export$6d3443f2c48bfc20)(props.tooltipRef, !!placement) || props.isEntering || false;\n let renderProps = (0, $64fa3d84918910a7$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-Tooltip',\n values: {\n placement: placement,\n isEntering: isEntering,\n isExiting: props.isExiting,\n state: state\n }\n });\n props = (0, $cCslV$mergeProps)(props, overlayProps);\n let { tooltipProps: tooltipProps } = (0, $cCslV$useTooltip)(props, state);\n return /*#__PURE__*/ (0, $cCslV$react).createElement(\"div\", {\n ...tooltipProps,\n ref: props.tooltipRef,\n ...renderProps,\n style: {\n ...overlayProps.style,\n ...renderProps.style\n },\n \"data-placement\": placement,\n \"data-entering\": isEntering || undefined,\n \"data-exiting\": props.isExiting || undefined\n }, /*#__PURE__*/ (0, $cCslV$react).createElement((0, $44f671af83e7d9e0$export$2de4954e8ae13b9f).Provider, {\n value: {\n ...arrowProps,\n placement: placement,\n ref: arrowRef\n }\n }, renderProps.children));\n}\n\n\nexport {$4e3b923658d69c60$export$7a7623236eec67fa as TooltipTriggerStateContext, $4e3b923658d69c60$export$39ae08fa83328b12 as TooltipContext, $4e3b923658d69c60$export$8c610744efcf8a1d as TooltipTrigger, $4e3b923658d69c60$export$28c660c63b792dea as Tooltip};\n//# sourceMappingURL=Tooltip.module.js.map\n","import { useState } from \"react\";\r\n\r\nimport { useEffect } from \"react\";\r\nimport { Breakpoint } from \"../constants\";\r\n\r\ntype BreakpointDirection = \"up\" | \"down\";\r\n\r\nexport function useBreakpoint(\r\n breakpoint: Breakpoint,\r\n direction: BreakpointDirection = \"down\"\r\n) {\r\n const query =\r\n direction === \"down\"\r\n ? `(max-width: ${breakpoint}px)`\r\n : `(min-width: ${breakpoint}px)`;\r\n\r\n const [matches, setMatches] = useState(() =>\r\n typeof window !== \"undefined\" ? window.matchMedia(query).matches : false\r\n );\r\n\r\n useEffect(() => {\r\n if (typeof window === \"undefined\") return;\r\n\r\n const mediaQuery = window.matchMedia(query);\r\n const handler = (event: MediaQueryListEvent) => {\r\n setMatches(event.matches);\r\n };\r\n\r\n mediaQuery.addEventListener(\"change\", handler);\r\n return () => mediaQuery.removeEventListener(\"change\", handler);\r\n }, [query]);\r\n\r\n return matches;\r\n}\r\n","\"use client\";\r\n\r\nimport { ReactNode, useEffect, useRef, useState } from \"react\";\r\n\r\nimport { Button, Menu, MenuItem, MenuTrigger } from \"react-aria-components\";\r\nimport { BREAKPOINTS } from \"../constants\";\r\nimport { useBreakpoint } from \"../hooks/useBreakpoint\";\r\nimport ActionMenu, { ActionMenuAction } from \"./ActionMenu\";\r\nimport { Popover } from \"./Popover\";\r\n\r\nimport { useTheme } from \"..\";\r\nimport \"./ResponsiveMenuTrigger.css\";\r\n\r\n/**\r\n * A component that displays either a popover menu or an action menu\r\n * depending on the screen size when the menu trigger is pressed.\r\n *\r\n * @param {ResponsiveMenuProps} props - The props for the ResponsiveMenuTrigger component.\r\n * @returns {JSX.Element} - The ResponsiveMenuTrigger component.\r\n */\r\n\r\ninterface TriggerProps {\r\n \"data-testid\"?: string;\r\n disabled?: boolean;\r\n ref?: React.RefObject<HTMLButtonElement>;\r\n onClick?: () => void;\r\n \"aria-label\": string;\r\n}\r\n\r\nexport interface ResponsiveMenuProps {\r\n /** The id of the menu */\r\n menuId?: string;\r\n\r\n /** Custom trigger component. If not provided, defaults to ellipsis icon */\r\n renderTrigger?: (triggerProps: TriggerProps, isOpen: boolean) => ReactNode;\r\n\r\n /** Size of the trigger icon */\r\n size?: number;\r\n\r\n /** Array of menu actions/items to display */\r\n actions: ActionMenuAction[];\r\n\r\n /** Whether the menu is disabled */\r\n disabled?: boolean;\r\n\r\n /** Callback when menu closes */\r\n onClose?: () => void;\r\n\r\n /** Test ID for the trigger component */\r\n testId?: string;\r\n\r\n /** Test ID for the menu */\r\n menuTestId?: string;\r\n}\r\n\r\nconst EllipsisIcon = ({ size }: { size: number }) => (\r\n <svg viewBox=\"0 0 24 24\" width={size} height={size}>\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M4 14c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm8 0c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm8 0c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z\"\r\n />\r\n </svg>\r\n);\r\n\r\nexport function ResponsiveMenuTrigger({\r\n renderTrigger,\r\n menuId,\r\n size = 24,\r\n actions,\r\n disabled,\r\n onClose,\r\n testId: triggerTestId,\r\n menuTestId,\r\n}: ResponsiveMenuProps) {\r\n const { className } = useTheme();\r\n const isMobile = useBreakpoint(BREAKPOINTS.SMALL);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const triggerRef = useRef<HTMLButtonElement>(null);\r\n\r\n const commonTriggerProps: TriggerProps = {\r\n disabled,\r\n \"data-testid\": triggerTestId,\r\n \"aria-label\": \"Menu\",\r\n };\r\n\r\n const defaultTrigger = (\r\n <Button\r\n {...commonTriggerProps}\r\n ref={triggerRef}\r\n onPress={() => setIsOpen((prev) => !prev)}\r\n isDisabled={disabled}\r\n className={`proton-ResponsiveMenuTrigger__button ${className}`}\r\n >\r\n <EllipsisIcon size={size} />\r\n </Button>\r\n );\r\n\r\n const TriggerComponent = renderTrigger\r\n ? renderTrigger(\r\n { ...commonTriggerProps, onClick: () => setIsOpen((prev) => !prev) },\r\n isOpen\r\n )\r\n : defaultTrigger;\r\n\r\n // Handle onClose callback\r\n useEffect(() => {\r\n return () => {\r\n if (isOpen) {\r\n onClose?.();\r\n }\r\n };\r\n }, [isOpen, onClose]);\r\n\r\n if (isMobile) {\r\n return (\r\n <>\r\n {TriggerComponent}\r\n\r\n {isOpen && (\r\n <ActionMenu\r\n id={menuId}\r\n actions={actions}\r\n isOpen={isOpen}\r\n onClose={() => {\r\n setIsOpen(false);\r\n }}\r\n showCancel\r\n data-testid={menuTestId}\r\n />\r\n )}\r\n </>\r\n );\r\n }\r\n\r\n return (\r\n <MenuTrigger>\r\n {TriggerComponent}\r\n\r\n {isOpen && (\r\n <Popover\r\n state={{\r\n isOpen,\r\n setOpen: setIsOpen,\r\n open: () => setIsOpen(true),\r\n close: () => setIsOpen(false),\r\n toggle: () => setIsOpen(!isOpen),\r\n }}\r\n triggerRef={triggerRef}\r\n arrow={false}\r\n >\r\n <Menu\r\n className=\"proton-ListBox proton-ResponsiveMenuTrigger__menu\"\r\n id={menuId}\r\n autoFocus\r\n data-testid={menuTestId}\r\n >\r\n {actions.map((action) => (\r\n <MenuItem\r\n key={action.key}\r\n href={action.to}\r\n target=\"_blank\"\r\n rel=\"noopener noreferrer\"\r\n onAction={() => {\r\n action.onAction?.(action.key);\r\n setTimeout(() => {\r\n setIsOpen(false);\r\n }, 200);\r\n }}\r\n className=\"proton-ListBox__item proton-ResponsiveMenuTrigger__menu-item\"\r\n >\r\n {action.label}\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n </Popover>\r\n )}\r\n </MenuTrigger>\r\n );\r\n}\r\n\r\nexport default ResponsiveMenuTrigger;\r\n","\"use client\";\r\n\r\nimport { useRef } from \"react\";\r\nimport {\r\n AriaListBoxOptions,\r\n FocusScope,\r\n useListBox,\r\n useOption,\r\n} from \"react-aria\";\r\nimport { useSelectState } from \"react-stately\";\r\nimport { csx } from \"../utils\";\r\n\r\nimport \"./ListBox.css\";\r\n\r\ninterface ListBoxProps extends AriaListBoxOptions<unknown> {\r\n /**\r\n * State management object from react-stately\r\n */\r\n state: ReturnType<typeof useSelectState>;\r\n}\r\n\r\n/**\r\n * A list box component that renders a list of options\r\n * @interface ListBoxProps\r\n */\r\nconst ListBox = (props: ListBoxProps) => {\r\n let localRef = useRef<HTMLUListElement>(null);\r\n let { state } = props;\r\n let { listBoxProps } = useListBox(props, state, localRef);\r\n\r\n return (\r\n <FocusScope contain restoreFocus autoFocus>\r\n <ul\r\n {...listBoxProps}\r\n ref={localRef}\r\n data-testid=\"listbox\"\r\n className=\"proton-ListBox\"\r\n >\r\n {[...state.collection].map((item) => {\r\n return <ListBoxItem key={item.key} item={item} state={state} />;\r\n })}\r\n </ul>\r\n </FocusScope>\r\n );\r\n};\r\n\r\nexport function ListBoxItem({ item, state }) {\r\n let ref = useRef<HTMLLIElement>(null);\r\n let { optionProps, isSelected, isFocused, isDisabled } = useOption(\r\n { key: item.key },\r\n state,\r\n ref\r\n );\r\n\r\n return (\r\n <li\r\n {...optionProps}\r\n className={csx(\r\n \"proton-ListBox__item\",\r\n isFocused && \"proton-ListBox__item--focused\",\r\n isSelected && \"proton-ListBox__item--selected\",\r\n isDisabled && \"proton-ListBox__item--disabled\"\r\n )}\r\n ref={ref}\r\n >\r\n {item.rendered}\r\n </li>\r\n );\r\n}\r\n\r\nexport default ListBox;\r\n","\"use client\";\r\n\r\nimport { forwardRef, ReactNode, RefObject, useEffect, useRef } from \"react\";\r\nimport { HiddenSelect, useButton, useSelect } from \"react-aria\";\r\nimport { Item, useSelectState } from \"react-stately\";\r\nimport type { CollectionChildren } from \"@react-types/shared\";\r\n\r\nimport { csx } from \"../../utils\";\r\nimport ListBox from \"../ListBox\";\r\nimport Popover from \"../Popover\";\r\n\r\nimport \"./Select.css\";\r\n\r\ninterface SelectButtonProps {\r\n disabled?: boolean;\r\n isOpen?: boolean;\r\n children?: ReactNode;\r\n}\r\n\r\nexport const SelectButton = forwardRef<HTMLButtonElement, SelectButtonProps>(\r\n (props, ref: RefObject<HTMLButtonElement>) => {\r\n let { buttonProps } = useButton(\r\n {\r\n ...props,\r\n isDisabled: props.disabled,\r\n },\r\n ref\r\n );\r\n\r\n return (\r\n <button\r\n {...buttonProps}\r\n ref={ref}\r\n className={csx(\r\n \"proton-Select__trigger\",\r\n props.disabled && \"proton-Select__trigger--disabled\",\r\n !props.isOpen && \"proton-Select__trigger--closed\",\r\n props.isOpen && \"proton-Select__trigger--opened\"\r\n )}\r\n >\r\n {props.children}\r\n </button>\r\n );\r\n }\r\n);\r\n\r\nexport interface SelectProps<T> {\r\n /** The name of the select field\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#name\r\n */\r\n name: string;\r\n\r\n /** Label to display above the select\r\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label#text\r\n */\r\n label?: string;\r\n\r\n /** Whether the select is disabled */\r\n isDisabled?: boolean;\r\n\r\n /** Array of keys that should be disabled\r\n * @example [\"Thing 1\", \"Thing 2\"]\r\n */\r\n disabledKeys?: (string | number)[];\r\n\r\n /** Currently selected key */\r\n selectedKey?: string | number;\r\n\r\n /** Callback fired when selection changes */\r\n onSelectionChange?: (key: string | number) => void;\r\n\r\n /** Callback fired when the menu opens */\r\n onOpen?: () => void;\r\n\r\n /** Callback fired when the menu closes */\r\n onClose?: () => void;\r\n\r\n /** Array of items to display\r\n * @example [{ name: \"thing 1\", label: \"Thing 1\" }, { name: \"thing 2\", label: \"Thing 2\" }]\r\n */\r\n items?: T[];\r\n\r\n /** Test ID for the select */\r\n \"data-testid\"?: string;\r\n\r\n /** Children elements or render function */\r\n children: CollectionChildren<T>;\r\n}\r\n\r\n/**\r\n * A dropdown select menu that opens a popover. Supports controlled and uncontrolled modes.\r\n * @interface SelectProps\r\n */\r\nexport function SelectMenu<T extends object>({\r\n label,\r\n name,\r\n isDisabled,\r\n disabledKeys,\r\n selectedKey,\r\n onSelectionChange,\r\n onOpen,\r\n onClose,\r\n items,\r\n \"data-testid\": testId,\r\n children,\r\n}: SelectProps<T>) {\r\n const selectProps = {\r\n label,\r\n isDisabled,\r\n disabledKeys,\r\n selectedKey,\r\n items,\r\n \"data-testid\": testId,\r\n children,\r\n onSelectionChange,\r\n onOpenChange: (isOpen: boolean) => {\r\n if (isOpen) {\r\n onOpen?.();\r\n } else {\r\n onClose?.();\r\n }\r\n },\r\n };\r\n const state = useSelectState(selectProps);\r\n const triggerRef = useRef<HTMLButtonElement>(null);\r\n const popoverRef = useRef<HTMLDivElement>(null);\r\n const { labelProps, triggerProps, valueProps, menuProps } = useSelect(\r\n { ...selectProps, label: label || name },\r\n state,\r\n triggerRef\r\n );\r\n\r\n useEffect(() => {\r\n if (\r\n state.isOpen &&\r\n popoverRef.current &&\r\n triggerRef.current &&\r\n !popoverRef.current.style.minWidth\r\n ) {\r\n // Adjust the popover width to be at least the width of the trigger\r\n popoverRef.current.style.minWidth = `${triggerRef.current.offsetWidth}px`;\r\n }\r\n });\r\n\r\n return (\r\n <div\r\n className=\"proton-Select\"\r\n aria-label={label || name}\r\n aria-disabled={isDisabled}\r\n >\r\n {label ? (\r\n <div\r\n {...labelProps}\r\n className=\"proton-Select__label\"\r\n data-testid=\"select-label\"\r\n >\r\n {label}\r\n </div>\r\n ) : (\r\n // If no label is provided, render an invisible label for a11y\r\n <div {...labelProps} />\r\n )}\r\n\r\n <HiddenSelect\r\n isDisabled={isDisabled}\r\n state={state}\r\n triggerRef={triggerRef}\r\n label={label || name}\r\n name={name}\r\n data-testid=\"hidden-select-container\"\r\n />\r\n\r\n <SelectButton\r\n {...triggerProps}\r\n isOpen={state.isOpen}\r\n ref={triggerRef}\r\n disabled={isDisabled}\r\n data-testid={testId}\r\n >\r\n <div {...valueProps} className=\"proton-Select__value\">\r\n {state.selectedItem\r\n ? state.selectedItem.rendered\r\n : \"Select an option\"}\r\n </div>\r\n <div\r\n className={csx(\r\n \"proton-Select__trigger_icon\",\r\n state.isOpen && \"proton-Select__trigger_icon--flipped\"\r\n )}\r\n aria-hidden=\"true\"\r\n >\r\n <svg id=\"caret-down\" viewBox=\"0 0 512 512\">\r\n <title>{state.isOpen ? \"caret down\" : \"caret up\"}</title>\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7L86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"\r\n />\r\n </svg>\r\n </div>\r\n </SelectButton>\r\n\r\n {state.isOpen && (\r\n <div className=\"proton-Select__popover\">\r\n <Popover\r\n state={state}\r\n triggerRef={triggerRef}\r\n popoverRef={popoverRef}\r\n placement=\"bottom start\"\r\n data-testid=\"select-popover\"\r\n >\r\n <ListBox {...menuProps} state={state} />\r\n </Popover>\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nconst Select = {\r\n Menu: SelectMenu,\r\n Option: Item,\r\n};\r\n\r\nexport default Select;\r\n","\"use client\";\r\n\r\nimport { useEffect, useRef } from \"react\";\r\nimport { HiddenSelect, useSelect } from \"react-aria\";\r\nimport { Item, useSelectState } from \"react-stately\";\r\n\r\nimport { csx } from \"../../../utils\";\r\nimport ListBox from \"../../ListBox\";\r\nimport Popover from \"../../Popover\";\r\n\r\nimport \"../Select.css\";\r\nimport ActionMenu from \"../../ActionMenu\";\r\nimport { BREAKPOINTS } from \"../../../constants\";\r\nimport { useBreakpoint } from \"../../../hooks/useBreakpoint\";\r\nimport { SelectButton, SelectProps } from \"../Select\";\r\n\r\n/**\r\n * A dropdown select menu that opens a Popover, or an ActionMenu on mobile.\r\n * Supports controlled and uncontrolled modes.\r\n * @interface SelectProps\r\n */\r\nexport function ResponsiveSelectMenu<T extends object>({\r\n label,\r\n name,\r\n isDisabled,\r\n disabledKeys,\r\n selectedKey,\r\n onSelectionChange,\r\n onOpen,\r\n onClose,\r\n items,\r\n \"data-testid\": testId,\r\n children,\r\n}: SelectProps<T>) {\r\n const selectProps = {\r\n label,\r\n isDisabled,\r\n disabledKeys,\r\n selectedKey,\r\n onSelectionChange,\r\n onOpenChange: (isOpen: boolean) => {\r\n if (isOpen) {\r\n onOpen?.();\r\n } else {\r\n onClose?.();\r\n }\r\n },\r\n items,\r\n \"data-testid\": testId,\r\n children,\r\n };\r\n const state = useSelectState(selectProps);\r\n const isMobile = useBreakpoint(BREAKPOINTS.MEDIUM);\r\n const triggerRef = useRef<HTMLButtonElement>(null);\r\n const popoverRef = useRef<HTMLDivElement>(null);\r\n const { labelProps, triggerProps, valueProps, menuProps } = useSelect(\r\n { ...selectProps, label: label || name },\r\n state,\r\n triggerRef\r\n );\r\n\r\n useEffect(() => {\r\n if (\r\n state.isOpen &&\r\n popoverRef.current &&\r\n triggerRef.current &&\r\n !popoverRef.current.style.minWidth\r\n ) {\r\n // Adjust the popover width to be at least the width of the trigger\r\n popoverRef.current.style.minWidth = `${triggerRef.current.offsetWidth}px`;\r\n }\r\n });\r\n\r\n return (\r\n <div\r\n className=\"proton-Select\"\r\n aria-label={label || name}\r\n aria-disabled={isDisabled}\r\n >\r\n {label ? (\r\n <div\r\n {...labelProps}\r\n className=\"proton-Select__label\"\r\n data-testid=\"select-label\"\r\n >\r\n {label}\r\n </div>\r\n ) : (\r\n // If no label is provided, render an invisible label for a11y\r\n <div {...labelProps} />\r\n )}\r\n\r\n <HiddenSelect\r\n isDisabled={isDisabled}\r\n state={state}\r\n triggerRef={triggerRef}\r\n label={label || name}\r\n name={name}\r\n data-testid=\"hidden-select-container\"\r\n />\r\n\r\n <SelectButton\r\n {...triggerProps}\r\n isOpen={state.isOpen}\r\n ref={triggerRef}\r\n disabled={isDisabled}\r\n data-testid={testId}\r\n >\r\n <div {...valueProps}>\r\n {state.selectedItem\r\n ? state.selectedItem.rendered\r\n : \"Select an option\"}\r\n </div>\r\n <div\r\n className={csx(\r\n \"proton-Select__trigger_icon\",\r\n state.isOpen && \"proton-Select__trigger_icon--flipped\"\r\n )}\r\n aria-hidden=\"true\"\r\n >\r\n <svg id=\"caret-down\" viewBox=\"0 0 512 512\">\r\n <title>{state.isOpen ? \"caret down\" : \"caret up\"}</title>\r\n <path\r\n fill=\"currentColor\"\r\n d=\"M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7L86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"\r\n />\r\n </svg>\r\n </div>\r\n </SelectButton>\r\n\r\n {state.isOpen && (\r\n <>\r\n {!isMobile ? (\r\n <div className=\"proton-Select__popover\">\r\n <Popover\r\n state={state}\r\n triggerRef={triggerRef}\r\n popoverRef={popoverRef}\r\n placement=\"bottom start\"\r\n data-testid=\"select-popover\"\r\n >\r\n <ListBox {...menuProps} state={state} />\r\n </Popover>\r\n </div>\r\n ) : (\r\n <ActionMenu isOpen={state.isOpen} onClose={() => state.close()}>\r\n <ListBox {...menuProps} state={state} />\r\n </ActionMenu>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nconst ResponsiveSelect = {\r\n Menu: ResponsiveSelectMenu,\r\n Option: Item,\r\n};\r\n\r\nexport default ResponsiveSelect;\r\n","\"use client\";\r\n\r\nimport { useRef } from \"react\";\r\nimport { useSwitch, VisuallyHidden } from \"react-aria\";\r\nimport { useToggleState } from \"react-stately\";\r\n\r\nimport { csx } from \"../utils\";\r\n\r\nimport \"./Switch.css\";\r\n\r\nexport interface SwitchProps {\r\n /**\r\n * Whether the Switch is in the 'on' state (uncontrolled).\r\n */\r\n defaultOn?: boolean;\r\n\r\n /**\r\n * Whether the Switch is in the 'on' state. Providing this prop causes the\r\n * component to become controlled.\r\n */\r\n isOn?: boolean;\r\n\r\n /**\r\n * Should the input be non-interactive?\r\n */\r\n isDisabled?: boolean;\r\n\r\n /**\r\n * Called when the Switch's on state changes.\r\n */\r\n onChange?: (isOn: boolean) => void;\r\n\r\n /**\r\n * The string used for the input label. Forwarded to `aria-label`.\r\n */\r\n label?: string;\r\n\r\n /**\r\n * The text or component to be rendered as the Switch's description.\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\nfunction Switch(props: SwitchProps) {\r\n let sanitizedProps = {\r\n ...props,\r\n isSelected: props.isOn,\r\n \"data-testid\": undefined,\r\n };\r\n\r\n let ref = useRef(null);\r\n\r\n let state = useToggleState(sanitizedProps);\r\n let { inputProps } = useSwitch(sanitizedProps, state, ref);\r\n\r\n return (\r\n <label\r\n className={csx(\r\n \"proton-Switch\",\r\n props.isDisabled && \"proton-Switch--disabled\",\r\n state.isSelected && \"proton-Switch--on\"\r\n )}\r\n data-on={state.isSelected || undefined}\r\n data-disabled={props.isDisabled || undefined}\r\n data-testid={props[\"data-testid\"] || undefined}\r\n aria-label={props.label || undefined}\r\n >\r\n <VisuallyHidden>\r\n <input {...inputProps} ref={ref} />\r\n </VisuallyHidden>\r\n {props.label && <div className=\"proton-Switch__label\">{props.label}</div>}\r\n <div className=\"proton-Switch__wrapper\">\r\n <div className=\"proton-Switch__toggle\">\r\n <div className=\"proton-Switch__slider\"></div>\r\n </div>\r\n {props.children && (\r\n <div className=\"proton-Switch__description\">{props.children}</div>\r\n )}\r\n </div>\r\n </label>\r\n );\r\n}\r\n\r\nexport default Switch;\r\n","\"use client\";\r\n\r\nimport { useRef } from \"react\";\r\nimport {\r\n mergeProps,\r\n useFocusRing,\r\n useTableCell,\r\n useTableColumnHeader,\r\n useTableHeaderRow,\r\n useTableRow,\r\n useTableRowGroup,\r\n} from \"react-aria\";\r\nimport { csx } from \"../utils\";\r\n\r\nexport function TableHeaderRow({ item, state, children }) {\r\n let ref = useRef();\r\n let { rowProps } = useTableHeaderRow({ node: item }, state, ref);\r\n\r\n return (\r\n <tr className={csx(\"proton-Table__headerRow\")} {...rowProps} ref={ref}>\r\n {children}\r\n </tr>\r\n );\r\n}\r\n\r\ntype ColumnHeaderProps = {\r\n column: any;\r\n state: any;\r\n};\r\n\r\nexport function TableColumnHeader({ column, state }: ColumnHeaderProps) {\r\n let ref = useRef();\r\n let { columnHeaderProps } = useTableColumnHeader(\r\n { node: column },\r\n state,\r\n ref\r\n );\r\n const { align = \"left\" } = column.props;\r\n let { isFocusVisible, focusProps } = useFocusRing();\r\n let arrowIcon = state.sortDescriptor?.direction === \"ascending\" ? \"▲\" : \"▼\";\r\n\r\n return (\r\n <th\r\n {...mergeProps(columnHeaderProps, focusProps)}\r\n colSpan={column.colspan}\r\n className={csx(\r\n \"proton-Table__header\",\r\n `proton-Table__header--${align}`,\r\n isFocusVisible ? \"proton-Table__header--focused\" : null\r\n )}\r\n ref={ref}\r\n >\r\n {column.rendered}\r\n {column.props.allowsSorting && (\r\n <span\r\n aria-hidden=\"true\"\r\n className={csx(\"proton-Table__headerSortIcon\")}\r\n style={{\r\n visibility:\r\n state.sortDescriptor?.column === column.key\r\n ? \"visible\"\r\n : \"hidden\",\r\n }}\r\n >\r\n {arrowIcon}\r\n </span>\r\n )}\r\n </th>\r\n );\r\n}\r\n\r\n/**\r\n * TableRowGroup groups the rows in the table header and table body\r\n */\r\n\r\ntype TableRowGroupProps = {\r\n type: \"thead\" | \"tbody\";\r\n children: React.ReactNode;\r\n};\r\n\r\nexport function TableRowGroup({ type: Element, children }: TableRowGroupProps) {\r\n let { rowGroupProps } = useTableRowGroup();\r\n return (\r\n <Element\r\n {...rowGroupProps}\r\n className={csx(\r\n \"proton-Table__rowGroup\",\r\n Element === \"thead\"\r\n ? \"proton-Table__rowGroup--header\"\r\n : \"proton-Table__rowGroup--body\"\r\n )}\r\n >\r\n {children}\r\n </Element>\r\n );\r\n}\r\n\r\nexport function TableRow({ item, children, state }) {\r\n let ref = useRef();\r\n let isSelected = state.selectionManager.isSelected(item.key);\r\n let { rowProps, isPressed } = useTableRow(\r\n {\r\n node: item,\r\n },\r\n state,\r\n ref\r\n );\r\n let { isFocusVisible, focusProps } = useFocusRing();\r\n\r\n return (\r\n <tr\r\n className={csx(\r\n \"proton-Table__row\",\r\n isSelected ? \"proton-Table__row--selected\" : null,\r\n isPressed ? \"proton-Table__row--pressed\" : null,\r\n isFocusVisible ? \"proton-Table__row--focused\" : null\r\n )}\r\n {...mergeProps(rowProps, focusProps)}\r\n ref={ref}\r\n >\r\n {children}\r\n </tr>\r\n );\r\n}\r\n\r\ntype CellProps = {\r\n cell: any;\r\n state: any;\r\n align?: \"left\" | \"center\" | \"right\";\r\n};\r\n\r\nexport function TableCell({ cell, state, ...rest }: CellProps) {\r\n let ref = useRef();\r\n let { gridCellProps } = useTableCell({ node: cell }, state, ref);\r\n let { isFocusVisible, focusProps } = useFocusRing();\r\n const { align } = cell.props;\r\n\r\n return (\r\n <td\r\n {...mergeProps(gridCellProps, focusProps)}\r\n className={csx(\r\n \"proton-Table__cell\",\r\n isFocusVisible ? \"proton-Table__cell--focused\" : null,\r\n `proton-Table__cell--${align}`\r\n )}\r\n ref={ref}\r\n >\r\n {cell.rendered}\r\n </td>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport { Cell, Column, ColumnProps } from \"@react-stately/table\";\r\nimport { useRef } from \"react\";\r\nimport { AriaTableProps, useTable } from \"react-aria\";\r\nimport { TableStateProps, useTableState } from \"react-stately\";\r\n\r\nimport { csx } from \"../utils\";\r\nimport {\r\n TableCell,\r\n TableColumnHeader,\r\n TableHeaderRow,\r\n TableRow,\r\n TableRowGroup,\r\n} from \"./TableComponents\";\r\n\r\nimport \"./Table.css\";\r\n\r\nexport { Row, Section, TableBody, TableHeader } from \"@react-stately/table\";\r\nexport { ProtonCell as Cell, ProtonColumn as Column };\r\n\r\n// Override TS for Column to support proton specific props.\r\nexport interface ProtonColumnProps<T> extends ColumnProps<T> {\r\n align?: \"left\" | \"center\" | \"right\";\r\n}\r\n\r\nconst ProtonColumn = Column as <T>(props: ProtonColumnProps<T>) => JSX.Element;\r\nconst ProtonCell = Cell as <T>(props: ProtonColumnProps<T>) => JSX.Element;\r\n\r\ntype TableProps = AriaTableProps & TableStateProps<object>;\r\n\r\nexport function Table(props: TableProps) {\r\n let state = useTableState({\r\n ...props,\r\n });\r\n\r\n let ref = useRef();\r\n let { collection } = state;\r\n let { gridProps } = useTable(\r\n { ...props, \"aria-label\": props[\"aria-label\"] || \"Table\" },\r\n state,\r\n ref\r\n );\r\n\r\n return (\r\n <table {...gridProps} ref={ref} className={csx(\"proton-Table\")}>\r\n <TableRowGroup type=\"thead\">\r\n {collection.headerRows.map((headerRow) => (\r\n <TableHeaderRow key={headerRow.key} item={headerRow} state={state}>\r\n {Array.from(collection.getChildren(headerRow.key)).map((column) => (\r\n <TableColumnHeader\r\n key={column.key}\r\n column={column}\r\n state={state}\r\n />\r\n ))}\r\n </TableHeaderRow>\r\n ))}\r\n </TableRowGroup>\r\n\r\n <TableRowGroup type=\"tbody\">\r\n {Array.from(collection.body.childNodes).map((row) => (\r\n <TableRow key={row.key} item={row} state={state}>\r\n {Array.from(collection.getChildren(row.key)).map((cell) => (\r\n <TableCell key={cell.key} cell={cell} state={state} />\r\n ))}\r\n </TableRow>\r\n ))}\r\n </TableRowGroup>\r\n </table>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport {\r\n Tooltip as AriaTooltip,\r\n TooltipProps as AriaTooltipProps,\r\n TooltipTrigger as AriaTooltipTrigger,\r\n Button,\r\n OverlayArrow,\r\n TooltipTriggerComponentProps,\r\n} from \"react-aria-components\";\r\n\r\nimport { useRef, useState } from \"react\";\r\nimport { useTheme } from \"./ThemeProvider\";\r\n\r\nimport \"./Dialog.css\";\r\nimport \"./Tooltip.css\";\r\nimport { csx } from \"../utils\";\r\n\r\nexport interface TooltipProps extends Omit<AriaTooltipProps, \"children\"> {\r\n children: React.ReactNode;\r\n arrow?: boolean;\r\n}\r\n\r\nexport function Tooltip({ children, arrow, ...props }: TooltipProps) {\r\n const { className, style } = useTheme();\r\n\r\n return (\r\n <AriaTooltip\r\n {...props}\r\n className={csx(\"proton__Tooltip\", \"proton-Dialog\", className)}\r\n style={style as React.CSSProperties}\r\n >\r\n {arrow && (\r\n <OverlayArrow className={csx(\"proton__TooltipArrow\", className)}>\r\n <svg width={8} height={8} viewBox=\"0 0 8 8\">\r\n <path d=\"M0 0 L4 4 L8 0\" />\r\n </svg>\r\n </OverlayArrow>\r\n )}\r\n {children}\r\n </AriaTooltip>\r\n );\r\n}\r\n\r\nexport interface TooltipTriggerProps\r\n extends TooltipProps,\r\n TooltipTriggerComponentProps {\r\n children: React.ReactNode;\r\n content: string | React.ReactNode;\r\n disableTriggerClick?: boolean;\r\n}\r\n\r\n/**\r\n * Proton's TooltipTrigger component deviates from the Aria TooltipTrigger in that on mobile,\r\n * the trigger also opens the tooltip on click as well as hover & focus. This is to improve\r\n * accessibility and usability on mobile.\r\n *\r\n * If you wish to disable the trigger click feature, you can set the `disableTriggerClick` prop.\r\n * This is useful when using an info only Tooltip that might wrap a clickable element.\r\n */\r\n\r\nexport function TooltipTrigger({\r\n children,\r\n // trigger props\r\n delay = 500,\r\n closeDelay = 500,\r\n isDisabled,\r\n defaultOpen,\r\n onOpenChange,\r\n disableTriggerClick,\r\n // tooltip props\r\n content,\r\n ...tooltipProps\r\n}: TooltipTriggerProps) {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const triggerClickRef = useRef<boolean>(false);\r\n const hasHovered = useRef<boolean>(false);\r\n\r\n return (\r\n <AriaTooltipTrigger\r\n delay={delay}\r\n closeDelay={closeDelay}\r\n isDisabled={isDisabled}\r\n isOpen={isOpen}\r\n defaultOpen={defaultOpen}\r\n onOpenChange={(openState) => {\r\n // When opened via hover, we want to disable the trigger click feature as it causes\r\n // the tooltip state to get out of sync with the trigger state.\r\n if (openState && !triggerClickRef.current) hasHovered.current = true;\r\n\r\n if (onOpenChange) onOpenChange(openState);\r\n\r\n // If the tooltip is clicked, it manually calls setIsOpen, so we don't want to call\r\n // it again here.\r\n if (!triggerClickRef.current) setIsOpen(openState);\r\n triggerClickRef.current = false;\r\n }}\r\n >\r\n <Button\r\n className=\"proton__TooltipTrigger\"\r\n aria-label=\"Show tooltip\"\r\n onPress={() => {\r\n if (disableTriggerClick) return;\r\n\r\n // Once hovered it's safe to assume the user isn't trying to use via a touch device,\r\n // so we can safely disable the trigger click feature.\r\n if (hasHovered.current) return;\r\n\r\n triggerClickRef.current = true;\r\n setIsOpen(!isOpen);\r\n }}\r\n >\r\n {children}\r\n </Button>\r\n <Tooltip {...tooltipProps}>{content}</Tooltip>\r\n </AriaTooltipTrigger>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport { ReactNode } from \"react\";\r\nimport \"./TextEmphasis.css\";\r\n\r\nimport { csx, handleInternalNavigation, isUrlExternal } from \"../utils\";\r\nimport { useTheme } from \"./ThemeProvider\";\r\nimport { TooltipTrigger, TooltipTriggerProps } from \"./Tooltip\";\r\nimport { COLORS, THEMES } from \"../constants\";\r\nimport { transparentize } from \"color2k\";\r\n\r\ninterface TextEmphasisProps extends React.HTMLAttributes<HTMLSpanElement> {\r\n /**\r\n * The URL that the text emphasis should link to. Turns the element into an `a` tag.\r\n */\r\n to?: string;\r\n /**\r\n * The content to display within the text emphasis.\r\n */\r\n children: ReactNode;\r\n /**\r\n * Props to pass to the tooltip trigger. When provided, the text emphasis will be wrapped in a tooltip trigger.\r\n */\r\n tooltipProps?: Omit<TooltipTriggerProps, \"children\">;\r\n /**\r\n * A test ID.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * A component that displays text with emphasis. Provide tooltipProps to wrap the text in a tooltip trigger.\r\n * @interface TextEmphasisProps\r\n */\r\nconst TextEmphasis = ({\r\n to,\r\n children,\r\n tooltipProps,\r\n \"data-testid\": testId,\r\n}: TextEmphasisProps) => {\r\n const { className: themeClassName, palette, theme } = useTheme();\r\n\r\n const content = tooltipProps ? (\r\n <TooltipTrigger delay={50} closeDelay={75} {...tooltipProps}>\r\n {children}\r\n </TooltipTrigger>\r\n ) : (\r\n children\r\n );\r\n\r\n const style = {\r\n \"--text-emphasis-highlight\":\r\n theme === THEMES.CUSTOM_DARK\r\n ? transparentize(palette.SECONDARY.SECONDARY_LIGHT, 0.3)\r\n : transparentize(COLORS.BRAND.PRIMARY, 0.5),\r\n } as React.CSSProperties;\r\n\r\n if (to) {\r\n const isExternal = isUrlExternal(to);\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n style={style}\r\n >\r\n <a\r\n data-testid={testId}\r\n href={to}\r\n target={isExternal ? \"_blank\" : undefined}\r\n rel={isExternal ? \"noopener noreferrer\" : undefined}\r\n onClick={\r\n !isExternal ? (e) => handleInternalNavigation(e, to) : undefined\r\n }\r\n >\r\n {content}\r\n </a>\r\n </span>\r\n );\r\n }\r\n\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n style={style}\r\n data-testid={testId}\r\n >\r\n {content}\r\n </span>\r\n );\r\n};\r\n\r\nexport default TextEmphasis;\r\n","import { csx } from \"../utils\";\r\n\r\ninterface WaveformBarProps {\r\n amplitude: number;\r\n isDisabled: boolean;\r\n isPlayed: boolean;\r\n isHovered: boolean;\r\n isVisible: boolean;\r\n hasAnimated: boolean;\r\n resolution: number;\r\n spacing: number;\r\n index: number;\r\n}\r\n\r\nexport function WaveformBar({\r\n amplitude,\r\n isDisabled,\r\n isPlayed,\r\n isHovered,\r\n isVisible,\r\n hasAnimated,\r\n resolution,\r\n spacing,\r\n index,\r\n}: WaveformBarProps) {\r\n const barHeight = isVisible ? `${Math.max(amplitude * 100, 4)}%` : \"0%\";\r\n\r\n return (\r\n <div\r\n className={csx(\"proton-Waveform__bar-wrapper\")}\r\n style={{\r\n width: `${resolution}px`,\r\n marginRight: `${spacing}px`,\r\n }}\r\n >\r\n <div\r\n className={csx(\r\n \"proton-Waveform__bar\",\r\n \"proton-Waveform__bar--upper\",\r\n isDisabled && \"proton-Waveform__bar--disabled\",\r\n isPlayed && \"proton-Waveform__bar--played\",\r\n isVisible && \"proton-Waveform__bar--visible\",\r\n hasAnimated && \"proton-Waveform__bar--animated\"\r\n )}\r\n style={\r\n {\r\n \"--target-height\": `calc(${barHeight} / 2)`,\r\n \"--index\": index,\r\n } as React.CSSProperties\r\n }\r\n />\r\n <div\r\n className={csx(\r\n \"proton-Waveform__bar\",\r\n \"proton-Waveform__bar--lower\",\r\n isDisabled && \"proton-Waveform__bar--disabled\",\r\n isPlayed && \"proton-Waveform__bar--played\",\r\n isVisible && \"proton-Waveform__bar--visible\",\r\n hasAnimated && \"proton-Waveform__bar--animated\"\r\n )}\r\n style={\r\n {\r\n \"--target-height\": `calc(${barHeight} / 2)`,\r\n \"--index\": index,\r\n } as React.CSSProperties\r\n }\r\n />\r\n {isHovered && !isDisabled && !isPlayed && (\r\n <div\r\n className=\"proton-Waveform__bar--hover\"\r\n style={\r\n {\r\n \"--hover-height\": barHeight,\r\n } as React.CSSProperties\r\n }\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n","\"use client\";\r\n\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { csx } from \"../utils\";\r\nimport { useTheme } from \"./ThemeProvider\";\r\nimport \"./Waveform.css\";\r\nimport { WaveformBar } from \"./WaveformBar\";\r\n\r\nexport interface WaveformProps {\r\n /**\r\n * Array of normalized amplitude values (0-1) representing the waveform.\r\n * If not provided, uses a sample sine wave.\r\n */\r\n data?: number[];\r\n\r\n /**\r\n * Total duration of the audio in seconds.\r\n */\r\n totalDuration: number;\r\n\r\n /**\r\n * Current playback position in seconds.\r\n */\r\n currentTime?: number;\r\n\r\n /**\r\n * Width in pixels of each waveform bar.\r\n */\r\n resolution?: number;\r\n\r\n /**\r\n * Start time to display from in seconds.\r\n */\r\n startDuration?: number;\r\n\r\n /**\r\n * End time to display until in seconds.\r\n */\r\n endDuration?: number;\r\n\r\n /**\r\n * Whether to show timestamp markers.\r\n */\r\n showTimestamps?: boolean;\r\n\r\n /**\r\n * Click handler that receives the clicked position (0-1) and event.\r\n */\r\n onClick?: (position: number, e: React.MouseEvent<HTMLDivElement>) => void;\r\n\r\n /**\r\n * Custom color for timestamp text backgrounds.\r\n * Will use theme color by default.\r\n */\r\n timestampColor?: string;\r\n\r\n /**\r\n * Test ID for testing purposes.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\nconst sampleWaveform = generateSampleWaveformData(100);\r\n\r\n/**\r\n * A waveform visualization component that displays audio data with interactive features.\r\n *\r\n * @component\r\n * @interface WaveformProps\r\n *\r\n * @returns {JSX.Element} A waveform visualization with optional timestamps and interactive features\r\n */\r\n\r\nexport default function Waveform({\r\n data: waveformData,\r\n resolution = 2,\r\n startDuration,\r\n endDuration,\r\n currentTime = 0,\r\n showTimestamps = false,\r\n totalDuration,\r\n onClick,\r\n timestampColor: timestampColorProp,\r\n \"data-testid\": testId,\r\n}: WaveformProps) {\r\n const { className, palette, theme } = useTheme();\r\n const containerRef = useRef<HTMLDivElement>(null);\r\n const [processedWaveform, setProcessedWaveform] = useState<number[]>([]);\r\n const [hoverPosition, setHoverPosition] = useState<number | null>(null);\r\n const [isVisible, setIsVisible] = useState(false);\r\n const [hasAnimated, setHasAnimated] = useState(false);\r\n\r\n const waveform = waveformData || sampleWaveform;\r\n\r\n const textBackgroundColor =\r\n timestampColorProp ||\r\n (theme === \"custom-dark\"\r\n ? palette.SECONDARY.SECONDARY_SUPER_LIGHT\r\n : undefined);\r\n\r\n const spacing = resolution;\r\n\r\n useEffect(() => {\r\n if (!containerRef.current) return;\r\n\r\n const processWaveform = (width: number) => {\r\n const numBars = Math.floor(width / (resolution + spacing));\r\n const processed = resampleData(waveform, numBars);\r\n setProcessedWaveform(processed);\r\n };\r\n\r\n const initialWidth = containerRef.current.clientWidth;\r\n processWaveform(initialWidth);\r\n\r\n const resizeObserver = new ResizeObserver((entries) => {\r\n if (entries && entries[0]) {\r\n processWaveform(entries[0].contentRect.width);\r\n }\r\n });\r\n\r\n resizeObserver.observe(containerRef.current);\r\n\r\n return () => resizeObserver.disconnect();\r\n }, [waveform, resolution, spacing]);\r\n\r\n useEffect(() => {\r\n const visibilityTimer = setTimeout(() => setIsVisible(true), 50);\r\n const animationTimer = setTimeout(() => setHasAnimated(true), 500);\r\n\r\n return () => {\r\n clearTimeout(visibilityTimer);\r\n clearTimeout(animationTimer);\r\n };\r\n }, []);\r\n\r\n const handleMouseMove = (e: React.MouseEvent<HTMLDivElement>) => {\r\n if (!containerRef.current) return;\r\n const rect = containerRef.current.getBoundingClientRect();\r\n const x = e.clientX - rect.left;\r\n const position = (x / rect.width) * totalDuration;\r\n setHoverPosition(position);\r\n };\r\n\r\n const handleMouseLeave = () => {\r\n setHoverPosition(null);\r\n };\r\n\r\n // Calculate the width of a single bar including spacing\r\n const barTotalWidth = resolution + spacing;\r\n\r\n // Find the nearest bar boundaries for start and end durations\r\n const getBarPosition = (time: number, direction: \"start\" | \"end\") => {\r\n const position = (time / totalDuration) * 100;\r\n const barIndex =\r\n direction === \"start\"\r\n ? Math.floor((position / 100) * processedWaveform.length)\r\n : Math.ceil((position / 100) * processedWaveform.length);\r\n\r\n return (\r\n ((barIndex * barTotalWidth) / containerRef.current?.clientWidth!) * 100\r\n );\r\n };\r\n\r\n const containerWidth = containerRef.current?.clientWidth;\r\n\r\n return (\r\n <div className={csx(\"proton-Waveform\", className)} data-testid={testId}>\r\n {showTimestamps && (\r\n <TimestampBlock\r\n direction=\"left\"\r\n seconds={currentTime}\r\n color={textBackgroundColor}\r\n />\r\n )}\r\n <div\r\n ref={containerRef}\r\n className=\"proton-Waveform__container\"\r\n onMouseMove={handleMouseMove}\r\n onMouseLeave={handleMouseLeave}\r\n onClick={(e) => {\r\n if (!containerRef.current) return;\r\n const rect = containerRef.current.getBoundingClientRect();\r\n const x = e.clientX - rect.left;\r\n const position = (x / rect.width) * totalDuration;\r\n onClick?.(position, e);\r\n }}\r\n >\r\n {startDuration !== undefined && endDuration !== undefined && (\r\n <div\r\n className=\"proton-Waveform__active-region\"\r\n style={{\r\n left: containerRef.current\r\n ? `calc(${getBarPosition(startDuration, \"start\")}%`\r\n : \"0%\",\r\n right: containerRef.current\r\n ? `calc(${100 - getBarPosition(endDuration, \"end\")}% - 2px)`\r\n : \"0%\",\r\n }}\r\n />\r\n )}\r\n {hoverPosition !== null && (\r\n <div\r\n className=\"proton-Waveform__hover-line\"\r\n style={{\r\n left: `${(hoverPosition / totalDuration) * 100}%`,\r\n }}\r\n />\r\n )}\r\n {processedWaveform.map((amplitude, index) => {\r\n const position = (index / processedWaveform.length) * totalDuration;\r\n const isDisabled =\r\n startDuration !== undefined &&\r\n endDuration !== undefined &&\r\n (position < startDuration || position > endDuration);\r\n const isPlayed = currentTime === 0 ? false : position <= currentTime;\r\n const isHovered = hoverPosition !== null && position <= hoverPosition;\r\n\r\n return (\r\n <WaveformBar\r\n key={index}\r\n amplitude={amplitude}\r\n isDisabled={isDisabled}\r\n isPlayed={isPlayed}\r\n isHovered={isHovered}\r\n isVisible={isVisible}\r\n hasAnimated={hasAnimated}\r\n resolution={resolution}\r\n spacing={spacing}\r\n index={index}\r\n />\r\n );\r\n })}\r\n </div>\r\n {!waveformData && (\r\n <div\r\n className=\"proton-Waveform__bar-unavailable\"\r\n style={{\r\n backgroundColor: textBackgroundColor,\r\n fontSize: containerWidth < 325 ? \"0.85rem\" : \"1rem\",\r\n }}\r\n >\r\n {containerWidth < 277 ? \"Unavailable\" : \"Waveform Unavailable\"}\r\n </div>\r\n )}\r\n {showTimestamps && (\r\n <TimestampBlock\r\n direction=\"right\"\r\n seconds={totalDuration}\r\n color={textBackgroundColor}\r\n />\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nfunction TimestampBlock({\r\n direction,\r\n color,\r\n seconds,\r\n}: {\r\n direction: \"left\" | \"right\";\r\n color?: string;\r\n seconds: number;\r\n}) {\r\n return (\r\n <div\r\n className={csx(\r\n \"proton-Waveform__timestamp\",\r\n `proton-Waveform__timestamp--${direction}`\r\n )}\r\n style={{ backgroundColor: color }}\r\n >\r\n {formatTimestamp(seconds)}\r\n </div>\r\n );\r\n}\r\n\r\n/** Formats seconds into MM:SS timestamp string\r\n * @param {number} seconds - Number of seconds to format\r\n * @returns {string} Formatted timestamp string in MM:SS format\r\n */\r\n\r\nfunction formatTimestamp(seconds: number) {\r\n const minutes = Math.floor(seconds / 60);\r\n const remainingSeconds = Math.floor(seconds % 60);\r\n return `${minutes}:${\r\n remainingSeconds < 10 ? \"0\" : \"\"\r\n }${remainingSeconds.toFixed(0)}`;\r\n}\r\n\r\n/** Takes an array of waveform data and rescales it to any length\r\n * @param {array} initialData - original waveform data\r\n * @param {number} finalArrayLength - How long do you want the returned array?\r\n * @param {number} height - Height of the waveform container\r\n */\r\n\r\nfunction resampleData(initialData: number[], finalArrayLength: number) {\r\n const initialArrayLength = initialData.length;\r\n // How many samples from the original data do we skip per new sample?\r\n const step = initialArrayLength / finalArrayLength;\r\n\r\n // Create new array with desired length\r\n const resampledData = new Array(finalArrayLength)\r\n .fill(0)\r\n .map((_, newIndex) => {\r\n // Calculate position in original array\r\n const position = newIndex * step;\r\n const leftIndex = Math.floor(position);\r\n const rightIndex = Math.min(leftIndex + 1, initialArrayLength - 1);\r\n\r\n // Calculate weights for interpolation\r\n const fraction = position - leftIndex;\r\n\r\n // Linear interpolation between adjacent samples\r\n const newVal =\r\n initialData[leftIndex] * (1 - fraction) +\r\n initialData[rightIndex] * fraction;\r\n\r\n return newVal;\r\n });\r\n\r\n return scaleData(resampledData);\r\n}\r\n\r\n/** Takes an array of waveform data and scales it based on the desired pixel height\r\n * @param {array} data – Array of waveform data\r\n * @param {number} height - Height of the waveform container\r\n */\r\nfunction scaleData(data: number[]) {\r\n const min = Math.min(...data);\r\n const max = Math.max(...data);\r\n\r\n return data.map((item) => {\r\n // Normalize to 0-1 range first\r\n const normalized = (item - min) / (max - min);\r\n // Then scale to desired height (using 0.1 as minimum to ensure visibility)\r\n return Math.max(normalized * 0.8 + 0.1, 0.1);\r\n });\r\n}\r\n\r\n/** Generates a sample sine wave waveform data array\r\n * @param {number} length - Length of the waveform data array\r\n * @returns {number[]} Array of normalized amplitude values (0-1) representing the waveform\r\n */\r\n\r\nfunction generateSampleWaveformData(length: number) {\r\n return Array.from({ length }, (_, i) => {\r\n const cycles = 6;\r\n // Create 3 complete cycles (6π total) starting at -π/2 (trough)\r\n const phase = (i / (length - 1)) * cycles * 2 * Math.PI - Math.PI / 2;\r\n return Math.sin(phase) * 0.5 + 0.5;\r\n });\r\n}\r\n"],"names":["f","require$$0","k","l","m","n","p","q","c","a","g","b","d","e","h","reactJsxRuntime_production_min","React","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","MAYBE_ITERATOR_SYMBOL","FAUX_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactSharedInternals","error","format","_len2","args","_key2","printWarning","level","ReactDebugCurrentFrame","stack","argsWithFormat","item","enableScopeAPI","enableCacheElement","enableTransitionTracing","enableLegacyHidden","enableDebugTracing","REACT_MODULE_REFERENCE","isValidElementType","type","getWrappedName","outerType","innerType","wrapperName","displayName","functionName","getContextName","getComponentNameFromType","context","provider","outerName","lazyComponent","payload","init","assign","disabledDepth","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","disabledLog","disableLogs","props","reenableLogs","ReactCurrentDispatcher","prefix","describeBuiltInComponentFrame","name","source","ownerFn","x","match","reentry","componentFrameCache","PossiblyWeakMap","describeNativeComponentFrame","fn","construct","frame","control","previousPrepareStackTrace","previousDispatcher","Fake","sample","sampleLines","controlLines","s","_frame","syntheticFrame","describeFunctionComponentFrame","shouldConstruct","Component","prototype","describeUnknownElementTypeFrameInDEV","hasOwnProperty","loggedTypeFailures","setCurrentlyValidatingElement","element","owner","checkPropTypes","typeSpecs","values","location","componentName","has","typeSpecName","error$1","err","ex","isArrayImpl","isArray","typeName","value","hasToStringTag","willCoercionThrow","testStringCoercion","checkKeyStringCoercion","ReactCurrentOwner","RESERVED_PROPS","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","hasValidRef","config","getter","hasValidKey","warnIfStringRefCannotBeAutoConverted","self","defineKeyPropWarningGetter","warnAboutAccessingKey","defineRefPropWarningGetter","warnAboutAccessingRef","ReactElement","key","ref","jsxDEV","maybeKey","propName","defaultProps","ReactCurrentOwner$1","ReactDebugCurrentFrame$1","setCurrentlyValidatingElement$1","propTypesMisspellWarningShown","isValidElement","object","getDeclarationErrorAddendum","getSourceInfoErrorAddendum","ownerHasKeyUseWarning","getCurrentComponentErrorInfo","parentType","info","parentName","validateExplicitKey","currentComponentErrorInfo","childOwner","validateChildKeys","node","i","child","iteratorFn","iterator","step","validatePropTypes","propTypes","_name","validateFragmentProps","fragment","keys","didWarnAboutKeySpread","jsxWithValidation","isStaticChildren","validType","sourceInfo","typeString","children","beforeExample","afterExample","jsxWithValidationStatic","jsxWithValidationDynamic","jsx","jsxs","reactJsxRuntime_development","jsxRuntimeModule","require$$1","useLockBodyScroll","isActive","useLayoutEffect","originalStyle","ThemedPortal","className","style","useTheme","domNode","ReactDOM","ActionMenu","id","isOpen","selectionMode","selectedKeys","disabledKeys","showCancel","actions","closeOnNavigation","onSelectionChange","onClose","testId","theme","isClosing","setIsClosing","useState","contentHeight","setContentHeight","contentRef","useRef","menuRef","prevLocation","hasActions","handleClose","state","useTreeState","action","createElement","Item","menuProps","useMenu","_b","_a","overlayProps","useOverlay","useEffect","onEsc","event","isScrollable","hasContent","csx","FocusScope","ActionMenuItem","Button","to","menuItemProps","useMenuItem","isExternal","isUrlExternal","anchorProps","handleInternalNavigation","ThemeContext","createContext","useContext","THEME_CLASSES","THEMES","ThemeProvider","palette","containerRef","themeClass","themeVariables","useMemo","generateThemeCssVariables","cssVariables","defaultBackground","shadowColor","transparentize","toRgba","COLORS.GRAYSCALE","BadgeVariants","Badge","variant","href","onPress","isDisabled","Element","buttonProps","useButton","bannerIcons","bannerColors","GRAYSCALE","SUCCESS","WARNING","DANGER","bannerVariants","BannerContext","Banner","rounded","icon","compact","BannerTitle","BannerContent","BannerIcon","iconContent","BannerAction","BannerActions","ButtonGroupContext","ButtonGroup","sanitizedProps","useRadioGroupState","radioGroupProps","useRadioGroup","inputProps","isSelected","useRadio","VisuallyHidden","Dialog","title","dialogProps","titleProps","useDialog","iconURL","Icon","iconStyle","IconWrapper","svgContent","setSvgContent","Fragment","Input","forwardRef","suffix","description","descriptionPosition","onChange","label","placeholder","autoFocus","autoComplete","forwardedRef","inputRef","labelProps","descriptionProps","errorMessageProps","useTextField","clipboardProps","useClipboard","$458b0a5536c1a7cf$export$40bfa8c7b0832715","defaultValue","stateValue","setStateValue","$3whtM$useState","isControlledRef","$3whtM$useRef","isControlled","$3whtM$useEffect","wasControlled","currentValue","setValue","$3whtM$useCallback","onChangeCaller","onChangeArgs","oldValue","functionArgs","interceptedValue","$0b2218c4e3fe7d7e$export$3f8be18b0f41eaf2","$58ylH$useControlledState","$0b2218c4e3fe7d7e$var$toString","val","SearchInput","isClearable","controlledValue","onClear","useSearchFieldState","clearButtonProps","useSearchField","handleTextClear","usePopoverTrigger","triggerRef","useOverlayTriggerState","triggerProps","useOverlayTrigger","Popover","arrow","offset","popoverRef","popoverProps","underlayProps","arrowProps","placement","usePopover","Overlay","DismissButton","$23b9f4fcf0fe224b$export$d68d59712b04d9d1","$23b9f4fcf0fe224b$export$408d25a4e12db025","keyMap","parent","_node_key","_this_keyMap_get","Constructor","collection","firstKey","lastKey","isSSR","$681cc3c98f569e39$export$410b0c854570d131","firstChild","lastChild","previousSibling","nextSibling","parentNode","_this_parentNode","newNode","referenceNode","ownerDocument","$681cc3c98f569e39$export$dc064fe9e59310fd","index","_this_previousSibling","_this_nextSibling","_this_firstChild","_this_lastChild","_this_previousSibling_node_key","_this_nextSibling_node_key","_this_firstChild_node_key","_this_lastChild_node_key","obj","rendered","render","textValue","$681cc3c98f569e39$export$b34a105447964f9f","$e948873055cbafe4$export$727c8fc270210f13","items","idScope","addIdAndValue","dependencies","cache","$luMFQ$useMemo","res","_rendered_props_id","_ref","$luMFQ$cloneElement","$b5e257d569688ac6$var$defaultContext","$b5e257d569688ac6$var$SSRContext","$670gB$react","$b5e257d569688ac6$var$IsSSRContext","$b5e257d569688ac6$var$canUseDOM","$b5e257d569688ac6$var$componentIds","$b5e257d569688ac6$var$useCounter","ctx","$670gB$useContext","$670gB$useRef","_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner","_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","currentOwner","prevComponentValue","$b5e257d569688ac6$var$useLegacySSRSafeId","defaultId","counter","$b5e257d569688ac6$var$useModernSSRSafeId","didSSR","$670gB$useState","$b5e257d569688ac6$export$535bd6ca7f90a273","$b5e257d569688ac6$var$getSnapshot","$b5e257d569688ac6$var$getServerSnapshot","$b5e257d569688ac6$var$subscribe","onStoreChange","getFirstChild","$f39a9eba43920ace$export$94b6d0abf7d33e8c","$8SdCi$createContext","$f39a9eba43920ace$var$hiddenFragment","$f39a9eba43920ace$export$8dc98ba7eadeaa56","isHidden","$8SdCi$useContext","$8SdCi$useIsSSR","$8SdCi$react","$8SdCi$createPortal","$f39a9eba43920ace$export$86427a43e3e48ebb","Wrapper","$8SdCi$forwardRef","$f0a04ccd8dbdd83b$export$e5c5a5f917a5871c","$HgANd$react","$8ae05eaa5c114e9c$export$7f54fc3180508a52","$lmaYr$useRef","$lmaYr$useCallback","$bdb11010cef70236$var$idsUpdaterMap","$bdb11010cef70236$export$cd8c9cb68f842629","idA","idB","setIdsA","setIdsB","$ff5963eb1fccf552$export$e08e3b67e392101e","callbacks","callback","$431fbd86ca7dc216$export$b204af158042fbac","el","_el_ownerDocument","r","t","clsx","$3ef42575df84b30b$export$9d1611c77c2fe928","result","$7jXr9$clsx","$5dc95899b306f630$export$c9058316764c140e","refs","$65484d02dcb7eb3e$var$DOMPropNames","$65484d02dcb7eb3e$var$labelablePropNames","$65484d02dcb7eb3e$var$linkPropNames","$65484d02dcb7eb3e$var$propRe","$65484d02dcb7eb3e$export$457c3d6518dd4c6f","opts","labelable","isLink","propNames","filteredProps","prop","$df56164dff5785e2$export$4338b53315abf666","objRef","$gbmns$useRef","$gbmns$useMemo","$9daab02d461809db$var$hasResizeObserver","$9daab02d461809db$export$683480f191c0e3ea","options","box","onResize","$Vsl8o$useEffect","resizeObserverInstance","entries","$e7801be82b4b2a53$export$4debdb1a3f0fa79e","u","useSyncExternalStoreShim_production_min","is","y","objectIs","useDebugValue","didWarnOld18Alpha","didWarnUncachedGetSnapshot","useSyncExternalStore","subscribe","getSnapshot","getServerSnapshot","cachedValue","_useState","inst","forceUpdate","checkIfSnapshotChanged","handleStoreChange","latestGetSnapshot","prevValue","nextValue","useSyncExternalStore$1","canUseDOM","isServerEnvironment","shim","useSyncExternalStore$2","useSyncExternalStoreShim_development","shimModule","$e1995378a142960e$var$ShallowRenderContext","$95feo$createContext","$e1995378a142960e$var$CollectionDocumentContext","$e1995378a142960e$export$bf788dd355e3a401","$95feo$useContext","document","$e1995378a142960e$var$useCollectionDocument","$95feo$react","$e1995378a142960e$var$CollectionInner","$e1995378a142960e$var$useSyncExternalStoreFallback","$95feo$useIsSSR","isSSRRef","$95feo$useRef","getSnapshotWrapper","$95feo$useCallback","$95feo$useSyncExternalStore","$e1995378a142960e$var$useSyncExternalStore","createCollection","$95feo$useState","$95feo$useLayoutEffect","$e1995378a142960e$var$SSRContext","$e1995378a142960e$var$useSSRCollectionNode","Type","itemRef","$e1995378a142960e$export$18af5c7a9e9b3664","Result","$95feo$forwardRef","$e1995378a142960e$var$useCollectionChildren","$e1995378a142960e$var$CollectionContext","$e1995378a142960e$export$fb8073518f34e6ec","$e1995378a142960e$var$CollectionRoot","$95feo$useMemo","doc","wrappedChildren","$95feo$createPortal","$7135fc7d473fd974$export$d40e14dec8b060a8","$18I52$createContext","$7135fc7d473fd974$export$a164736487e3f0ae","renderDropIndicator","$7135fc7d473fd974$var$useCollectionRender","$18I52$useCachedChildren","_collection_getItem","keyAfter","$18I52$react","$7135fc7d473fd974$export$4feb769f8ddf26c5","$7135fc7d473fd974$export$90e00781bc59d8f9","focusedKey","$18I52$useMemo","$64fa3d84918910a7$export$c62b8e45d58ddad9","$64fa3d84918910a7$export$2881499e37b75b9a","Context","$iETbY$react","$64fa3d84918910a7$export$4d86445c2cf5e3","defaultClassName","defaultChildren","defaultStyle","$iETbY$useMemo","computedClassName","computedStyle","computedChildren","$64fa3d84918910a7$export$fabf2dc03a41866e","slot","$iETbY$useContext","availableSlots","slotKey","$64fa3d84918910a7$export$29f1550f4b0d4415","contextRef","contextProps","mergedRef","$iETbY$useObjectRef","$iETbY$mergeRefs","mergedProps","$iETbY$mergeProps","renderProps","contextStyle","$64fa3d84918910a7$export$9d4c57ee4c6ffdd8","hasSlot","setHasSlot","$iETbY$useState","hasRun","$iETbY$useRef","$iETbY$useCallback","$iETbY$useLayoutEffect","$64fa3d84918910a7$export$6d3443f2c48bfc20","isReady","isEntering","setEntering","$64fa3d84918910a7$var$useAnimation","$64fa3d84918910a7$export$45fda7c47f93fd48","isExiting","setExiting","exitState","setExitState","onEnd","prevAnimation","onAnimationEnd","$iETbY$reactdom","$0393f8ab869a0f1a$export$e9f3bf65a26ce129","$hU2kz$createContext","$319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY","$319e236875307eab$var$liveAnnouncer","$319e236875307eab$export$a9b970dcc4ae71a9","message","assertiveness","timeout","$319e236875307eab$var$LiveAnnouncer","_this_node","ariaLive","_this_assertiveLog","_this_politeLog","$d2b4bc8c273e7be6$var$additionalButtonHTMLAttributes","$d2b4bc8c273e7be6$export$24d547caef80ccd1","$fM325$createContext","$d2b4bc8c273e7be6$var$Button","$d2b4bc8c273e7be6$var$disablePendingProps","isPending","isPressed","$fM325$useButton","focusProps","isFocused","isFocusVisible","$fM325$useFocusRing","hoverProps","isHovered","$fM325$useHover","renderValues","buttonId","$fM325$useId","progressId","ariaLabelledby","wasPending","$fM325$useRef","$fM325$useEffect","$fM325$announce","$fM325$react","$fM325$filterDOMProps","$fM325$mergeProps","$d2b4bc8c273e7be6$export$353f5b6fc5456de1","$fM325$createHideableComponent","$514c0188e459b4c0$export$9afb8bc826b033ea","$1B3Dx$createContext","$ae1eeba8b9eafd08$export$5165eccb35aaadb5","$3aeG1$react","$f1ab8c75478c6f73$export$3351871ee4b288b8","$87RPk$react","isRegistered","$87RPk$useRef","prevContext","$87RPk$useContext","$87RPk$useObjectRef","$87RPk$mergeProps","$87RPk$useSyncRef","$87RPk$useEffect","$6179b936705e76d3$var$globalIgnoreEmulatedMouseEvents","$6179b936705e76d3$var$hoverCount","$6179b936705e76d3$var$setGlobalIgnoreEmulatedMouseEvents","$6179b936705e76d3$var$handleGlobalPointerEvent","$6179b936705e76d3$var$setupGlobalTouchEvents","$6179b936705e76d3$export$ae780daf29e6d456","onHoverStart","onHoverChange","onHoverEnd","setHovered","$AWxnT$useState","$AWxnT$useRef","$AWxnT$useEffect","triggerHoverEnd","$AWxnT$useMemo","triggerHoverStart","pointerType","target","$e0b6e0b68ec7f50f$export$872b660ac5a1ff98","onInteractOutside","onInteractOutsideStart","stateRef","$ispOf$useRef","onPointerDown","$ispOf$useEffectEvent","$e0b6e0b68ec7f50f$var$isValidEvent","triggerInteractOutside","$ispOf$useEffect","documentObject","$ispOf$getOwnerDocument","onPointerUp","onMouseUp","onTouchEnd","$e6afbd83fe6ebbd2$var$FocusableContext","$h8xso$react","$e6afbd83fe6ebbd2$var$FocusableProvider","otherProps","$h8xso$useObjectRef","$e6afbd83fe6ebbd2$export$13f3202a3e5ddd5","$72a5793c14baf454$export$e0e4026c12a8bdbb","$i47tY$createContext","$431f98aba6844401$export$6615d83f6de245ce","$i9JCE$createContext","$44f671af83e7d9e0$export$2de4954e8ae13b9f","$8wt2Z$createContext","$44f671af83e7d9e0$var$OverlayArrow","$8wt2Z$react","$44f671af83e7d9e0$export$746d02f47f4d381","$8wt2Z$forwardRef","$07b14b47974efb58$export$9b9a0cd73afb7ca4","$ehFet$createContext","$de32f1b87079253c$export$d2f961adcb0afbe","$6IYYA$createContext","$63df2425e2108aa8$export$744d98a3b8a94e1c","$3zqIJ$createContext","$9fc4852771d079eb$var$Section","$gtysd$react","$9fc4852771d079eb$export$6e2c8f0811a474ce","$3674c52c6b3c5bce$export$c7e742effb1c51e2","$kM2ZM$createContext","$3674c52c6b3c5bce$export$24aad8519b95b41b","$3674c52c6b3c5bce$export$795aec4671cbae19","$3674c52c6b3c5bce$export$27d2ad3c5815583e","$kM2ZM$useMenuTriggerState","$kM2ZM$useRef","menuTriggerProps","$kM2ZM$useMenuTrigger","buttonWidth","setButtonWidth","$kM2ZM$useState","$kM2ZM$useCallback","$kM2ZM$useResizeObserver","scrollRef","$kM2ZM$react","$kM2ZM$PressResponder","$3674c52c6b3c5bce$var$SubmenuTriggerContext","$3674c52c6b3c5bce$var$Menu","$kM2ZM$CollectionBuilder","$kM2ZM$Collection","$3674c52c6b3c5bce$var$MenuInner","$kM2ZM$useTreeState","popoverContainer","setPopoverContainer","isVirtualized","CollectionRoot","$kM2ZM$useContext","$kM2ZM$useMenu","rootMenuTriggerState","popoverContext","isSubmenu","$kM2ZM$useInteractOutside","prevPopoverContainer","leftOffset","setLeftOffset","$kM2ZM$useEffect","left","$kM2ZM$FocusScope","$kM2ZM$filterDOMProps","$3674c52c6b3c5bce$var$MenuSection","$3674c52c6b3c5bce$var$MenuItemContext","$3674c52c6b3c5bce$export$d9b273488cd8ce6f","$kM2ZM$forwardRef","section","_section_props","_section_props1","CollectionBranch","headingRef","heading","_section_props_arialabel","headingProps","groupProps","$kM2ZM$useMenuSection","$3674c52c6b3c5bce$export$2ce376c2cc3355c8","$kM2ZM$createLeafComponent","_useSlottedContext","$kM2ZM$useObjectRef","keyboardShortcutProps","states","$kM2ZM$useMenuItem","$kM2ZM$useFocusRing","$kM2ZM$useHover","ElementType","$kM2ZM$mergeProps","$312ae3b56a94a86e$var$TableHeader","columns","column","$20k3Y$react","$312ae3b56a94a86e$export$f850895b287ef28e","$4ae5314bf50db1a3$var$TableBody","$6tF2U$react","$4ae5314bf50db1a3$export$76ccd210b9029917","$1cd244557c2f97d5$var$Column","childColumns","fullNodes","$kIQ5E$react","newContext","updateContext","$1cd244557c2f97d5$export$816b5d811295e6bc","$70d70eb16ea48428$var$Row","UNSTABLE_childItems","cells","childRows","$7GIZw$react","$70d70eb16ea48428$export$b59bdbef9ce70de2","$941d1d9a6a28982a$var$Cell","$941d1d9a6a28982a$export$f6f0c3fe4ec306ea","$4e3b923658d69c60$export$7a7623236eec67fa","$cCslV$createContext","$4e3b923658d69c60$export$39ae08fa83328b12","$4e3b923658d69c60$export$8c610744efcf8a1d","$cCslV$useTooltipTriggerState","$cCslV$useRef","tooltipProps","$cCslV$useTooltipTrigger","$cCslV$react","$cCslV$FocusableProvider","$4e3b923658d69c60$var$Tooltip","UNSTABLE_portalContainer","contextState","$cCslV$useContext","localState","$cCslV$OverlayContainer","$4e3b923658d69c60$var$TooltipInner","$4e3b923658d69c60$export$28c660c63b792dea","$cCslV$forwardRef","arrowRef","arrowWidth","setArrowWidth","$cCslV$useState","$cCslV$useLayoutEffect","$cCslV$useOverlayPosition","$cCslV$mergeProps","$cCslV$useTooltip","useBreakpoint","breakpoint","direction","query","matches","setMatches","mediaQuery","handler","EllipsisIcon","size","ResponsiveMenuTrigger","renderTrigger","menuId","disabled","triggerTestId","menuTestId","isMobile","BREAKPOINTS","setIsOpen","commonTriggerProps","defaultTrigger","prev","TriggerComponent","MenuTrigger","Menu","MenuItem","ListBox","localRef","listBoxProps","useListBox","ListBoxItem","optionProps","useOption","SelectButton","SelectMenu","selectedKey","onOpen","selectProps","useSelectState","valueProps","useSelect","HiddenSelect","Select","ResponsiveSelectMenu","ResponsiveSelect","Switch","useToggleState","useSwitch","TableHeaderRow","rowProps","useTableHeaderRow","TableColumnHeader","columnHeaderProps","useTableColumnHeader","align","useFocusRing","arrowIcon","mergeProps","TableRowGroup","rowGroupProps","useTableRowGroup","TableRow","useTableRow","TableCell","cell","rest","gridCellProps","useTableCell","ProtonColumn","Column","ProtonCell","Cell","Table","useTableState","gridProps","useTable","headerRow","row","Tooltip","AriaTooltip","OverlayArrow","TooltipTrigger","delay","closeDelay","defaultOpen","onOpenChange","disableTriggerClick","content","triggerClickRef","hasHovered","AriaTooltipTrigger","openState","TextEmphasis","themeClassName","COLORS.BRAND","WaveformBar","amplitude","isPlayed","isVisible","hasAnimated","resolution","spacing","barHeight","sampleWaveform","generateSampleWaveformData","Waveform","waveformData","startDuration","endDuration","currentTime","showTimestamps","totalDuration","onClick","timestampColorProp","processedWaveform","setProcessedWaveform","hoverPosition","setHoverPosition","setIsVisible","setHasAnimated","waveform","textBackgroundColor","processWaveform","width","numBars","processed","resampleData","initialWidth","resizeObserver","visibilityTimer","animationTimer","handleMouseMove","rect","position","handleMouseLeave","barTotalWidth","getBarPosition","time","containerWidth","TimestampBlock","color","seconds","formatTimestamp","minutes","remainingSeconds","initialData","finalArrayLength","initialArrayLength","resampledData","_","newIndex","leftIndex","rightIndex","fraction","scaleData","data","min","max","normalized","length","phase"],"mappings":"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","x_google_ignoreList":[0,1,2,15,16,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,64]}
|