"use strict"; const React = require("react"); function getDefaultExportFromCjs(x) { return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x; } var jsxRuntime = { exports: {} }; var reactJsxRuntime_production_min = {}; /* object-assign (c) Sindre Sorhus @license MIT */ var objectAssign; var hasRequiredObjectAssign; function requireObjectAssign() { if (hasRequiredObjectAssign) return objectAssign; hasRequiredObjectAssign = 1; var getOwnPropertySymbols = Object.getOwnPropertySymbols; var hasOwnProperty = Object.prototype.hasOwnProperty; var propIsEnumerable = Object.prototype.propertyIsEnumerable; function toObject(val) { if (val === null || val === void 0) { throw new TypeError("Object.assign cannot be called with null or undefined"); } return Object(val); } function shouldUseNative() { try { if (!Object.assign) { return false; } var test1 = new String("abc"); test1[5] = "de"; if (Object.getOwnPropertyNames(test1)[0] === "5") { return false; } var test2 = {}; for (var i = 0; i < 10; i++) { test2["_" + String.fromCharCode(i)] = i; } var order2 = Object.getOwnPropertyNames(test2).map(function(n) { return test2[n]; }); if (order2.join("") !== "0123456789") { return false; } var test3 = {}; "abcdefghijklmnopqrst".split("").forEach(function(letter) { test3[letter] = letter; }); if (Object.keys(Object.assign({}, test3)).join("") !== "abcdefghijklmnopqrst") { return false; } return true; } catch (err) { return false; } } objectAssign = shouldUseNative() ? Object.assign : function(target, source) { var from; var to = toObject(target); var symbols; for (var s = 1; s < arguments.length; s++) { from = Object(arguments[s]); for (var key in from) { if (hasOwnProperty.call(from, key)) { to[key] = from[key]; } } if (getOwnPropertySymbols) { symbols = getOwnPropertySymbols(from); for (var i = 0; i < symbols.length; i++) { if (propIsEnumerable.call(from, symbols[i])) { to[symbols[i]] = from[symbols[i]]; } } } } return to; }; return objectAssign; } /** @license React v17.0.2 * react-jsx-runtime.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var hasRequiredReactJsxRuntime_production_min; function requireReactJsxRuntime_production_min() { if (hasRequiredReactJsxRuntime_production_min) return reactJsxRuntime_production_min; hasRequiredReactJsxRuntime_production_min = 1; requireObjectAssign(); var f = React, g = 60103; reactJsxRuntime_production_min.Fragment = 60107; if ("function" === typeof Symbol && Symbol.for) { var h = Symbol.for; g = h("react.element"); reactJsxRuntime_production_min.Fragment = h("react.fragment"); } var m = f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, n = Object.prototype.hasOwnProperty, p = { key: true, ref: true, __self: true, __source: true }; function q(c, a, k) { var b, d = {}, e = null, l = null; void 0 !== k && (e = "" + k); void 0 !== a.key && (e = "" + a.key); void 0 !== a.ref && (l = a.ref); for (b in a) n.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: g, type: c, key: e, ref: l, props: d, _owner: m.current }; } reactJsxRuntime_production_min.jsx = q; reactJsxRuntime_production_min.jsxs = q; return reactJsxRuntime_production_min; } var reactJsxRuntime_development = {}; /** @license React v17.0.2 * react-jsx-runtime.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var hasRequiredReactJsxRuntime_development; function requireReactJsxRuntime_development() { if (hasRequiredReactJsxRuntime_development) return reactJsxRuntime_development; hasRequiredReactJsxRuntime_development = 1; (function(exports2) { if (process.env.NODE_ENV !== "production") { (function() { var React$1 = React; var _assign = requireObjectAssign(); var REACT_ELEMENT_TYPE = 60103; var REACT_PORTAL_TYPE = 60106; exports2.Fragment = 60107; var REACT_STRICT_MODE_TYPE = 60108; var REACT_PROFILER_TYPE = 60114; var REACT_PROVIDER_TYPE = 60109; var REACT_CONTEXT_TYPE = 60110; var REACT_FORWARD_REF_TYPE = 60112; var REACT_SUSPENSE_TYPE = 60113; var REACT_SUSPENSE_LIST_TYPE = 60120; var REACT_MEMO_TYPE = 60115; var REACT_LAZY_TYPE = 60116; var REACT_BLOCK_TYPE = 60121; var REACT_SERVER_BLOCK_TYPE = 60122; var REACT_FUNDAMENTAL_TYPE = 60117; var REACT_DEBUG_TRACING_MODE_TYPE = 60129; var REACT_LEGACY_HIDDEN_TYPE = 60131; if (typeof Symbol === "function" && Symbol.for) { var symbolFor = Symbol.for; REACT_ELEMENT_TYPE = symbolFor("react.element"); REACT_PORTAL_TYPE = symbolFor("react.portal"); exports2.Fragment = symbolFor("react.fragment"); REACT_STRICT_MODE_TYPE = symbolFor("react.strict_mode"); REACT_PROFILER_TYPE = symbolFor("react.profiler"); REACT_PROVIDER_TYPE = symbolFor("react.provider"); REACT_CONTEXT_TYPE = symbolFor("react.context"); REACT_FORWARD_REF_TYPE = symbolFor("react.forward_ref"); REACT_SUSPENSE_TYPE = symbolFor("react.suspense"); REACT_SUSPENSE_LIST_TYPE = symbolFor("react.suspense_list"); REACT_MEMO_TYPE = symbolFor("react.memo"); REACT_LAZY_TYPE = symbolFor("react.lazy"); REACT_BLOCK_TYPE = symbolFor("react.block"); REACT_SERVER_BLOCK_TYPE = symbolFor("react.server.block"); REACT_FUNDAMENTAL_TYPE = symbolFor("react.fundamental"); symbolFor("react.scope"); symbolFor("react.opaque.id"); REACT_DEBUG_TRACING_MODE_TYPE = symbolFor("react.debug_trace_mode"); symbolFor("react.offscreen"); REACT_LEGACY_HIDDEN_TYPE = symbolFor("react.legacy_hidden"); } var MAYBE_ITERATOR_SYMBOL = typeof Symbol === "function" && Symbol.iterator; var FAUX_ITERATOR_SYMBOL = "@@iterator"; function getIteratorFn(maybeIterable) { if (maybeIterable === null || typeof maybeIterable !== "object") { return null; } var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; if (typeof maybeIterator === "function") { return maybeIterator; } return null; } var ReactSharedInternals = React$1.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; function error(format2) { { for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args[_key2 - 1] = arguments[_key2]; } printWarning("error", format2, args); } } function printWarning(level, format2, args) { { var ReactDebugCurrentFrame2 = ReactSharedInternals.ReactDebugCurrentFrame; var stack = ReactDebugCurrentFrame2.getStackAddendum(); if (stack !== "") { format2 += "%s"; args = args.concat([stack]); } var argsWithFormat = args.map(function(item) { return "" + item; }); argsWithFormat.unshift("Warning: " + format2); Function.prototype.apply.call(console[level], console, argsWithFormat); } } var enableScopeAPI = false; function isValidElementType(type) { if (typeof type === "string" || typeof type === "function") { return true; } if (type === exports2.Fragment || type === REACT_PROFILER_TYPE || type === REACT_DEBUG_TRACING_MODE_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_LEGACY_HIDDEN_TYPE || enableScopeAPI) { return true; } if (typeof type === "object" && type !== null) { 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 || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_BLOCK_TYPE || type[0] === REACT_SERVER_BLOCK_TYPE) { return true; } } return false; } function getWrappedName(outerType, innerType, wrapperName) { var functionName = innerType.displayName || innerType.name || ""; return outerType.displayName || (functionName !== "" ? wrapperName + "(" + functionName + ")" : wrapperName); } function getContextName(type) { return type.displayName || "Context"; } function getComponentName(type) { if (type == null) { return null; } { if (typeof type.tag === "number") { error("Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue."); } } if (typeof type === "function") { return type.displayName || type.name || null; } if (typeof type === "string") { return type; } switch (type) { case exports2.Fragment: return "Fragment"; case REACT_PORTAL_TYPE: return "Portal"; case REACT_PROFILER_TYPE: return "Profiler"; case REACT_STRICT_MODE_TYPE: return "StrictMode"; case REACT_SUSPENSE_TYPE: return "Suspense"; case REACT_SUSPENSE_LIST_TYPE: return "SuspenseList"; } if (typeof type === "object") { switch (type.$$typeof) { case REACT_CONTEXT_TYPE: var context = type; return getContextName(context) + ".Consumer"; case REACT_PROVIDER_TYPE: var provider = type; return getContextName(provider._context) + ".Provider"; case REACT_FORWARD_REF_TYPE: return getWrappedName(type, type.render, "ForwardRef"); case REACT_MEMO_TYPE: return getComponentName(type.type); case REACT_BLOCK_TYPE: return getComponentName(type._render); case REACT_LAZY_TYPE: { var lazyComponent = type; var payload = lazyComponent._payload; var init = lazyComponent._init; try { return getComponentName(init(payload)); } catch (x) { return null; } } } } return null; } var disabledDepth = 0; var prevLog; var prevInfo; var prevWarn; var prevError; var prevGroup; var prevGroupCollapsed; var prevGroupEnd; function disabledLog() { } disabledLog.__reactDisabledLog = true; function disableLogs() { { if (disabledDepth === 0) { prevLog = console.log; prevInfo = console.info; prevWarn = console.warn; prevError = console.error; prevGroup = console.group; prevGroupCollapsed = console.groupCollapsed; prevGroupEnd = console.groupEnd; var props = { configurable: true, enumerable: true, value: disabledLog, writable: true }; Object.defineProperties(console, { info: props, log: props, warn: props, error: props, group: props, groupCollapsed: props, groupEnd: props }); } disabledDepth++; } } function reenableLogs() { { disabledDepth--; if (disabledDepth === 0) { var props = { configurable: true, enumerable: true, writable: true }; Object.defineProperties(console, { log: _assign({}, props, { value: prevLog }), info: _assign({}, props, { value: prevInfo }), warn: _assign({}, props, { value: prevWarn }), error: _assign({}, props, { value: prevError }), group: _assign({}, props, { value: prevGroup }), groupCollapsed: _assign({}, props, { value: prevGroupCollapsed }), groupEnd: _assign({}, props, { value: prevGroupEnd }) }); } if (disabledDepth < 0) { error("disabledDepth fell below zero. This is a bug in React. Please file an issue."); } } } var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; var prefix; function describeBuiltInComponentFrame(name, source, ownerFn) { { if (prefix === void 0) { try { throw Error(); } catch (x) { var match = x.stack.trim().match(/\n( *(at )?)/); prefix = match && match[1] || ""; } } return "\n" + prefix + name; } } var reentry = false; var componentFrameCache; { var PossiblyWeakMap = typeof WeakMap === "function" ? WeakMap : Map; componentFrameCache = new PossiblyWeakMap(); } function describeNativeComponentFrame(fn, construct) { if (!fn || reentry) { return ""; } { var frame = componentFrameCache.get(fn); if (frame !== void 0) { return frame; } } var control; reentry = true; var previousPrepareStackTrace = Error.prepareStackTrace; Error.prepareStackTrace = void 0; var previousDispatcher; { previousDispatcher = ReactCurrentDispatcher.current; ReactCurrentDispatcher.current = null; disableLogs(); } try { if (construct) { var Fake = function() { throw Error(); }; Object.defineProperty(Fake.prototype, "props", { set: function() { throw Error(); } }); if (typeof Reflect === "object" && Reflect.construct) { try { Reflect.construct(Fake, []); } catch (x) { control = x; } Reflect.construct(fn, [], Fake); } else { try { Fake.call(); } catch (x) { control = x; } fn.call(Fake.prototype); } } else { try { throw Error(); } catch (x) { control = x; } fn(); } } catch (sample) { if (sample && control && typeof sample.stack === "string") { var sampleLines = sample.stack.split("\n"); var controlLines = control.stack.split("\n"); var s = sampleLines.length - 1; var c = controlLines.length - 1; while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) { c--; } for (; s >= 1 && c >= 0; s--, c--) { if (sampleLines[s] !== controlLines[c]) { if (s !== 1 || c !== 1) { do { s--; c--; if (c < 0 || sampleLines[s] !== controlLines[c]) { var _frame = "\n" + sampleLines[s].replace(" at new ", " at "); { if (typeof fn === "function") { componentFrameCache.set(fn, _frame); } } return _frame; } } while (s >= 1 && c >= 0); } break; } } } } finally { reentry = false; { ReactCurrentDispatcher.current = previousDispatcher; reenableLogs(); } Error.prepareStackTrace = previousPrepareStackTrace; } var name = fn ? fn.displayName || fn.name : ""; var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ""; { if (typeof fn === "function") { componentFrameCache.set(fn, syntheticFrame); } } return syntheticFrame; } function describeFunctionComponentFrame(fn, source, ownerFn) { { return describeNativeComponentFrame(fn, false); } } function shouldConstruct(Component) { var prototype = Component.prototype; return !!(prototype && prototype.isReactComponent); } function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) { if (type == null) { return ""; } if (typeof type === "function") { { return describeNativeComponentFrame(type, shouldConstruct(type)); } } if (typeof type === "string") { return describeBuiltInComponentFrame(type); } switch (type) { case REACT_SUSPENSE_TYPE: return describeBuiltInComponentFrame("Suspense"); case REACT_SUSPENSE_LIST_TYPE: return describeBuiltInComponentFrame("SuspenseList"); } if (typeof type === "object") { switch (type.$$typeof) { case REACT_FORWARD_REF_TYPE: return describeFunctionComponentFrame(type.render); case REACT_MEMO_TYPE: return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn); case REACT_BLOCK_TYPE: return describeFunctionComponentFrame(type._render); case REACT_LAZY_TYPE: { var lazyComponent = type; var payload = lazyComponent._payload; var init = lazyComponent._init; try { return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); } catch (x) { } } } } return ""; } var loggedTypeFailures = {}; var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; function setCurrentlyValidatingElement(element) { { if (element) { var owner = element._owner; var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); ReactDebugCurrentFrame.setExtraStackFrame(stack); } else { ReactDebugCurrentFrame.setExtraStackFrame(null); } } } function checkPropTypes(typeSpecs, values, location, componentName, element) { { var has = Function.call.bind(Object.prototype.hasOwnProperty); for (var typeSpecName in typeSpecs) { if (has(typeSpecs, typeSpecName)) { var error$1 = void 0; try { if (typeof typeSpecs[typeSpecName] !== "function") { 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`."); err.name = "Invariant Violation"; throw err; } error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); } catch (ex) { error$1 = ex; } if (error$1 && !(error$1 instanceof Error)) { setCurrentlyValidatingElement(element); 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); setCurrentlyValidatingElement(null); } if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) { loggedTypeFailures[error$1.message] = true; setCurrentlyValidatingElement(element); error("Failed %s type: %s", location, error$1.message); setCurrentlyValidatingElement(null); } } } } } var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner; var hasOwnProperty = Object.prototype.hasOwnProperty; var RESERVED_PROPS = { key: true, ref: true, __self: true, __source: true }; var specialPropKeyWarningShown; var specialPropRefWarningShown; var didWarnAboutStringRefs; { didWarnAboutStringRefs = {}; } function hasValidRef(config) { { if (hasOwnProperty.call(config, "ref")) { var getter = Object.getOwnPropertyDescriptor(config, "ref").get; if (getter && getter.isReactWarning) { return false; } } } return config.ref !== void 0; } function hasValidKey(config) { { if (hasOwnProperty.call(config, "key")) { var getter = Object.getOwnPropertyDescriptor(config, "key").get; if (getter && getter.isReactWarning) { return false; } } } return config.key !== void 0; } function warnIfStringRefCannotBeAutoConverted(config, self) { { if (typeof config.ref === "string" && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) { var componentName = getComponentName(ReactCurrentOwner.current.type); if (!didWarnAboutStringRefs[componentName]) { 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', getComponentName(ReactCurrentOwner.current.type), config.ref); didWarnAboutStringRefs[componentName] = true; } } } } function defineKeyPropWarningGetter(props, displayName) { { var warnAboutAccessingKey = function() { if (!specialPropKeyWarningShown) { specialPropKeyWarningShown = true; 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); } }; warnAboutAccessingKey.isReactWarning = true; Object.defineProperty(props, "key", { get: warnAboutAccessingKey, configurable: true }); } } function defineRefPropWarningGetter(props, displayName) { { var warnAboutAccessingRef = function() { if (!specialPropRefWarningShown) { specialPropRefWarningShown = true; 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); } }; warnAboutAccessingRef.isReactWarning = true; Object.defineProperty(props, "ref", { get: warnAboutAccessingRef, configurable: true }); } } var ReactElement = function(type, key, ref, self, source, owner, props) { var element = { // This tag allows us to uniquely identify this as a React Element $$typeof: REACT_ELEMENT_TYPE, // Built-in properties that belong on the element type, key, ref, props, // Record the component responsible for creating this element. _owner: owner }; { element._store = {}; Object.defineProperty(element._store, "validated", { configurable: false, enumerable: false, writable: true, value: false }); Object.defineProperty(element, "_self", { configurable: false, enumerable: false, writable: false, value: self }); Object.defineProperty(element, "_source", { configurable: false, enumerable: false, writable: false, value: source }); if (Object.freeze) { Object.freeze(element.props); Object.freeze(element); } } return element; }; function jsxDEV(type, config, maybeKey, source, self) { { var propName; var props = {}; var key = null; var ref = null; if (maybeKey !== void 0) { key = "" + maybeKey; } if (hasValidKey(config)) { key = "" + config.key; } if (hasValidRef(config)) { ref = config.ref; warnIfStringRefCannotBeAutoConverted(config, self); } for (propName in config) { if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { props[propName] = config[propName]; } } if (type && type.defaultProps) { var defaultProps = type.defaultProps; for (propName in defaultProps) { if (props[propName] === void 0) { props[propName] = defaultProps[propName]; } } } if (key || ref) { var displayName = typeof type === "function" ? type.displayName || type.name || "Unknown" : type; if (key) { defineKeyPropWarningGetter(props, displayName); } if (ref) { defineRefPropWarningGetter(props, displayName); } } return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); } } var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner; var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame; function setCurrentlyValidatingElement$1(element) { { if (element) { var owner = element._owner; var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); ReactDebugCurrentFrame$1.setExtraStackFrame(stack); } else { ReactDebugCurrentFrame$1.setExtraStackFrame(null); } } } var propTypesMisspellWarningShown; { propTypesMisspellWarningShown = false; } function isValidElement(object) { { return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } } function getDeclarationErrorAddendum() { { if (ReactCurrentOwner$1.current) { var name = getComponentName(ReactCurrentOwner$1.current.type); if (name) { return "\n\nCheck the render method of `" + name + "`."; } } return ""; } } function getSourceInfoErrorAddendum(source) { { if (source !== void 0) { var fileName = source.fileName.replace(/^.*[\\\/]/, ""); var lineNumber = source.lineNumber; return "\n\nCheck your code at " + fileName + ":" + lineNumber + "."; } return ""; } } var ownerHasKeyUseWarning = {}; function getCurrentComponentErrorInfo(parentType) { { var info = getDeclarationErrorAddendum(); if (!info) { var parentName = typeof parentType === "string" ? parentType : parentType.displayName || parentType.name; if (parentName) { info = "\n\nCheck the top-level render call using <" + parentName + ">."; } } return info; } } function validateExplicitKey(element, parentType) { { if (!element._store || element._store.validated || element.key != null) { return; } element._store.validated = true; var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { return; } ownerHasKeyUseWarning[currentComponentErrorInfo] = true; var childOwner = ""; if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) { childOwner = " It was passed a child from " + getComponentName(element._owner.type) + "."; } setCurrentlyValidatingElement$1(element); 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); setCurrentlyValidatingElement$1(null); } } function validateChildKeys(node, parentType) { { if (typeof node !== "object") { return; } if (Array.isArray(node)) { for (var i = 0; i < node.length; i++) { var child = node[i]; if (isValidElement(child)) { validateExplicitKey(child, parentType); } } } else if (isValidElement(node)) { if (node._store) { node._store.validated = true; } } else if (node) { var iteratorFn = getIteratorFn(node); if (typeof iteratorFn === "function") { if (iteratorFn !== node.entries) { var iterator = iteratorFn.call(node); var step; while (!(step = iterator.next()).done) { if (isValidElement(step.value)) { validateExplicitKey(step.value, parentType); } } } } } } } function validatePropTypes(element) { { var type = element.type; if (type === null || type === void 0 || typeof type === "string") { return; } var propTypes; if (typeof type === "function") { propTypes = type.propTypes; } else if (typeof type === "object" && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here. // Inner props are checked in the reconciler. type.$$typeof === REACT_MEMO_TYPE)) { propTypes = type.propTypes; } else { return; } if (propTypes) { var name = getComponentName(type); checkPropTypes(propTypes, element.props, "prop", name, element); } else if (type.PropTypes !== void 0 && !propTypesMisspellWarningShown) { propTypesMisspellWarningShown = true; var _name = getComponentName(type); error("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", _name || "Unknown"); } if (typeof type.getDefaultProps === "function" && !type.getDefaultProps.isReactClassApproved) { error("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead."); } } } function validateFragmentProps(fragment) { { var keys = Object.keys(fragment.props); for (var i = 0; i < keys.length; i++) { var key = keys[i]; if (key !== "children" && key !== "key") { setCurrentlyValidatingElement$1(fragment); error("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", key); setCurrentlyValidatingElement$1(null); break; } } if (fragment.ref !== null) { setCurrentlyValidatingElement$1(fragment); error("Invalid attribute `ref` supplied to `React.Fragment`."); setCurrentlyValidatingElement$1(null); } } } function jsxWithValidation(type, props, key, isStaticChildren, source, self) { { var validType = isValidElementType(type); if (!validType) { var info = ""; if (type === void 0 || typeof type === "object" && type !== null && Object.keys(type).length === 0) { 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."; } var sourceInfo = getSourceInfoErrorAddendum(source); if (sourceInfo) { info += sourceInfo; } else { info += getDeclarationErrorAddendum(); } var typeString; if (type === null) { typeString = "null"; } else if (Array.isArray(type)) { typeString = "array"; } else if (type !== void 0 && type.$$typeof === REACT_ELEMENT_TYPE) { typeString = "<" + (getComponentName(type.type) || "Unknown") + " />"; info = " Did you accidentally export a JSX literal instead of a component?"; } else { typeString = typeof type; } 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); } var element = jsxDEV(type, props, key, source, self); if (element == null) { return element; } if (validType) { var children = props.children; if (children !== void 0) { if (isStaticChildren) { if (Array.isArray(children)) { for (var i = 0; i < children.length; i++) { validateChildKeys(children[i], type); } if (Object.freeze) { Object.freeze(children); } } else { 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."); } } else { validateChildKeys(children, type); } } } if (type === exports2.Fragment) { validateFragmentProps(element); } else { validatePropTypes(element); } return element; } } function jsxWithValidationStatic(type, props, key) { { return jsxWithValidation(type, props, key, true); } } function jsxWithValidationDynamic(type, props, key) { { return jsxWithValidation(type, props, key, false); } } var jsx = jsxWithValidationDynamic; var jsxs = jsxWithValidationStatic; exports2.jsx = jsx; exports2.jsxs = jsxs; })(); } })(reactJsxRuntime_development); return reactJsxRuntime_development; } if (process.env.NODE_ENV === "production") { jsxRuntime.exports = requireReactJsxRuntime_production_min(); } else { jsxRuntime.exports = requireReactJsxRuntime_development(); } var jsxRuntimeExports = jsxRuntime.exports; const index = ""; const defaultValue = { source: null, darkMode: false, defaultExpand: false, rootLabel: "", keyCount: 200, maxTitleSize: 100, copyable: true, expandable: true, stringEllipse: true }; const ConfigContext = React.createContext(defaultValue); const ConfigProvider = ({ children, ...props }) => { return /* @__PURE__ */ jsxRuntimeExports.jsx(ConfigContext.Provider, { value: { ...defaultValue, ...props }, children }); }; const useConfigInfo = () => { const data = React.useContext(ConfigContext); return data; }; const clsx = (...args) => { const result = /* @__PURE__ */ new Set(); args.forEach((i) => { if (!i) return; if (typeof i === "string") { result.add(i); } else if (i instanceof Array) { result.add(clsx(...i)); } else if (i instanceof Object) { Object.entries(i).forEach(([name, valid]) => { if (valid) { result.add(name); } }); } }); return [...result].join(" "); }; function cutOffStringLiteral(targetLiteral) { if (typeof targetLiteral !== "string") return ""; const targetLength = targetLiteral.length; if (targetLength < 100) return targetLiteral; return [targetLiteral.slice(0, 49), "...", targetLiteral.slice(-48)].join(""); } function shortTitle(data, max = 100) { const { constructor } = Object.getPrototypeOf(data); if ([Object, Array].indexOf(constructor) === -1) return null; let hasEllipsis = false; const title = ["prefix", "content", hasEllipsis, "suffix"]; if (constructor === Array) { let content = ""; for (let i = 0; i < data.length; i++) { let curVal = data[i]; if (typeof curVal === "string") { curVal = cutOffStringLiteral(curVal); } const curStr = JSON.stringify(curVal); const result = `${content}${curStr}, `; if (result.length > max) { hasEllipsis = true; break; } content = result; } title[0] = "["; title[1] = content; title[3] = "]"; } else { let content = ""; for (const key in data) { let curVal = data[key]; if (typeof curVal === "string") { curVal = cutOffStringLiteral(curVal); } const curStr = `"${key}": ${JSON.stringify(curVal)}`; const result = `${content}${curStr}, `; if (result.length > max) { hasEllipsis = true; break; } content = result; } title[0] = "{"; title[1] = content; title[3] = "}"; } if (hasEllipsis) { title[2] = "..."; } else { title[1] = title[1].slice(0, -2); title[2] = ""; } return title.join(""); } function useSwitchWithDelay(defaultValue2, delay = 1500) { const [currentValue, setCurrentValue] = React.useState(() => defaultValue2); const timer = React.useRef(null); React.useEffect( () => () => { if (timer.current) { clearTimeout(timer.current); } timer.current = null; }, [] ); const onSwitchValue = React.useCallback( (newValue) => { if (currentValue !== defaultValue2) return; setCurrentValue(newValue); timer.current = window.setTimeout(() => { setCurrentValue(defaultValue2); }, delay); }, [currentValue, defaultValue2, delay] ); return [currentValue, onSwitchValue]; } function toStringTag(data) { return Object.prototype.toString.call(data); } function isBoolean(data) { return typeof data === "boolean"; } function isNumber(data) { return typeof data === "number"; } function isString(data) { return typeof data === "string"; } function isArray(data) { return Array.isArray(data); } function isObject(data) { return typeof data === "object" && data !== null && toStringTag(data) === "[object Object]"; } function isListOrMap(data) { return isArray(data) || isObject(data); } const ArrowRight = (props) => /* @__PURE__ */ jsxRuntimeExports.jsx("span", { title: "Expand", children: /* @__PURE__ */ jsxRuntimeExports.jsx( "svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { d: "M 0 0 l 16 12 L 0 24 z", fill: "currentColor" }) } ) }); const TextCopy = (props) => /* @__PURE__ */ jsxRuntimeExports.jsx("span", { title: "Copy", children: /* @__PURE__ */ jsxRuntimeExports.jsx( "svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ jsxRuntimeExports.jsx( "path", { fill: "none", stroke: "currentColor", strokeWidth: "2", d: "M9 15h8h-8Zm0-4h10H9Zm0-4h4h-4Zm7-6v6h6M6 5H2v18h16v-4m4 0H6V1h11l5 5v13Z" } ) } ) }); const CheckMark = (props) => /* @__PURE__ */ jsxRuntimeExports.jsx("span", { title: "Checked", children: /* @__PURE__ */ jsxRuntimeExports.jsx( "svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 512 512", ...props, children: /* @__PURE__ */ jsxRuntimeExports.jsx( "path", { fill: "currentColor", d: "m173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69L432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z" } ) } ) }); const CrossMark = (props) => /* @__PURE__ */ jsxRuntimeExports.jsx("span", { title: "Fail", children: /* @__PURE__ */ jsxRuntimeExports.jsx( "svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 32 32", ...props, children: /* @__PURE__ */ jsxRuntimeExports.jsx( "path", { fill: "currentColor", d: "M24.879 2.879A3 3 0 1 1 29.12 7.12l-8.79 8.79a.125.125 0 0 0 0 .177l8.79 8.79a3 3 0 1 1-4.242 4.243l-8.79-8.79a.125.125 0 0 0-.177 0l-8.79 8.79a3 3 0 1 1-4.243-4.242l8.79-8.79a.125.125 0 0 0 0-.177l-8.79-8.79A3 3 0 0 1 7.12 2.878l8.79 8.79a.125.125 0 0 0 .177 0l8.79-8.79Z" } ) } ) }); const LazyLoadMore = React.memo(({ list, render }) => { const { keyCount } = useConfigInfo(); const sliceSize = React.useMemo(() => { if (keyCount === "all") return list.length; if (keyCount && Number.isInteger(keyCount) && keyCount > 0) return keyCount; return 200; }, [keyCount, list.length]); const [panelExpanded, setPanelExpanded] = React.useState(false); const [expandAll, setExpandAll] = React.useState(false); const dataSlice = React.useMemo(() => { return { current: expandAll ? list : list.slice(0, sliceSize), rest: expandAll ? [] : list.slice(sliceSize) }; }, [expandAll, list, sliceSize]); const { current, rest } = dataSlice; return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [ current.map((k) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: render(k) }, k)), rest.length > 0 ? !panelExpanded ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "rjv-load-more", children: [ "(", /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { onClick: () => setPanelExpanded(true), children: [ rest.length, " more" ] }), " ... or ", /* @__PURE__ */ jsxRuntimeExports.jsx( "span", { onClick: () => { setExpandAll(true); setPanelExpanded(true); }, children: "ALL!" } ), ")" ] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(LazyLoadMore, { list: rest, render }) : null ] }); }); var toggleSelection = function() { var selection = document.getSelection(); if (!selection.rangeCount) { return function() { }; } var active = document.activeElement; var ranges = []; for (var i = 0; i < selection.rangeCount; i++) { ranges.push(selection.getRangeAt(i)); } switch (active.tagName.toUpperCase()) { case "INPUT": case "TEXTAREA": active.blur(); break; default: active = null; break; } selection.removeAllRanges(); return function() { selection.type === "Caret" && selection.removeAllRanges(); if (!selection.rangeCount) { ranges.forEach(function(range) { selection.addRange(range); }); } active && active.focus(); }; }; var deselectCurrent = toggleSelection; var clipboardToIE11Formatting = { "text/plain": "Text", "text/html": "Url", "default": "Text" }; var defaultMessage = "Copy to clipboard: #{key}, Enter"; function format(message) { var copyKey = (/mac os x/i.test(navigator.userAgent) ? "⌘" : "Ctrl") + "+C"; return message.replace(/#{\s*key\s*}/g, copyKey); } function copy(text, options) { var debug, message, reselectPrevious, range, selection, mark, success = false; if (!options) { options = {}; } debug = options.debug || false; try { reselectPrevious = deselectCurrent(); range = document.createRange(); selection = document.getSelection(); mark = document.createElement("span"); mark.textContent = text; mark.ariaHidden = "true"; mark.style.all = "unset"; mark.style.position = "fixed"; mark.style.top = 0; mark.style.clip = "rect(0, 0, 0, 0)"; mark.style.whiteSpace = "pre"; mark.style.webkitUserSelect = "text"; mark.style.MozUserSelect = "text"; mark.style.msUserSelect = "text"; mark.style.userSelect = "text"; mark.addEventListener("copy", function(e) { e.stopPropagation(); if (options.format) { e.preventDefault(); if (typeof e.clipboardData === "undefined") { debug && console.warn("unable to use e.clipboardData"); debug && console.warn("trying IE specific stuff"); window.clipboardData.clearData(); var format2 = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting["default"]; window.clipboardData.setData(format2, text); } else { e.clipboardData.clearData(); e.clipboardData.setData(options.format, text); } } if (options.onCopy) { e.preventDefault(); options.onCopy(e.clipboardData); } }); document.body.appendChild(mark); range.selectNodeContents(mark); selection.addRange(range); var successful = document.execCommand("copy"); if (!successful) { throw new Error("copy command was unsuccessful"); } success = true; } catch (err) { debug && console.error("unable to copy using execCommand: ", err); debug && console.warn("trying IE specific stuff"); try { window.clipboardData.setData(options.format || "text", text); options.onCopy && options.onCopy(window.clipboardData); success = true; } catch (err2) { debug && console.error("unable to copy using clipboardData: ", err2); debug && console.error("falling back to prompt"); message = format("message" in options ? options.message : defaultMessage); window.prompt(message, text); } } finally { if (selection) { if (typeof selection.removeRange == "function") { selection.removeRange(range); } else { selection.removeAllRanges(); } } if (mark) { document.body.removeChild(mark); } reselectPrevious(); } return success; } var copyToClipboard = copy; const copy$1 = /* @__PURE__ */ getDefaultExportFromCjs(copyToClipboard); const Copyable = ({ data }) => { const [state, switchState] = useSwitchWithDelay(0); const onCopy = React.useCallback( (e) => { e.stopPropagation(); if (state !== 0) return; const copyResult = copy$1(`${data}`); if (copyResult) { switchState(1); } else { switchState(-1); } }, [data, state, switchState] ); const icon = React.useMemo(() => { let Icon = TextCopy; let color = "#333"; switch (state) { case 1: Icon = CheckMark; color = "#52c41a"; break; case -1: Icon = CrossMark; color = "#ff4d4f"; break; } return /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, { width: 14, height: 14, color }); }, [state]); return /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "rjv-copyable", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "rjv-copyable-icon", onClick: onCopy, children: icon }) }); }; const PrimitiveContent = ({ content }) => { const { stringEllipse } = useConfigInfo(); const computedContent = React.useMemo(() => { if (typeof content !== "string") return content; if (stringEllipse) return cutOffStringLiteral(content); return content; }, [content, stringEllipse]); return React.createElement(React.Fragment, null, computedContent); }; const computePrimitiveDataClassname = (data) => { if (data === null) return "null"; const type = typeof data; const primitiveType = ["number", "boolean"]; if (primitiveType.indexOf(type) > -1) { return type; } if (isString(data)) { try { const dataMaybeObject = JSON.parse(data); return isListOrMap(dataMaybeObject) ? "" : "string"; } catch (e) { return "string"; } } return ""; }; const JsonNode = ({ source, depth = 1, label = "" }) => { const { defaultExpand, maxTitleSize, copyable, expandable } = useConfigInfo(); const [expanded, setExpanded] = React.useState(() => { if (!expandable) return false; if (isBoolean(defaultExpand)) { return defaultExpand; } if (isNumber(defaultExpand)) { return defaultExpand >= depth; } return false; }); let data; try { data = JSON.parse(JSON.stringify(source)); } catch (e) { label = "Error"; data = "The source value must be serializable."; } const labelContent = React.useMemo(() => { if (label) { return /* @__PURE__ */ jsxRuntimeExports.jsxs("code", { className: "rjv-node__property-key", children: [ label, ": " ] }); } return null; }, [label]); const primitiveClassname = computePrimitiveDataClassname(data); if (primitiveClassname) { return /* @__PURE__ */ jsxRuntimeExports.jsxs("code", { className: "rjv-primitive", children: [ labelContent && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { style: { opacity: 0 }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowRight, { width: 10, height: 10 }) }), labelContent ] }), /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: clsx("rjv-primitive-type", primitiveClassname), children: /* @__PURE__ */ jsxRuntimeExports.jsx(PrimitiveContent, { content: `${data}` }) }), copyable && /* @__PURE__ */ jsxRuntimeExports.jsx(Copyable, { data: JSON.stringify(data, null, 2) }) ] }); } if (isString(data)) { data = JSON.parse(data); } if (isListOrMap(data)) { const title = shortTitle(data, maxTitleSize); return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "rjv-ref", children: [ /* @__PURE__ */ jsxRuntimeExports.jsxs( "div", { className: "rjv-ref-title", onClick: () => { if (expandable) { setExpanded(!expanded); } }, "data-depth": depth - 1, children: [ expandable && /* @__PURE__ */ jsxRuntimeExports.jsx( ArrowRight, { width: 10, height: 10, className: clsx("rjv-ref-arrow", { spread: expanded }) } ), labelContent, (!label || !expanded) && /* @__PURE__ */ jsxRuntimeExports.jsx("code", { className: "rjv-node__property-value", children: title }), copyable && /* @__PURE__ */ jsxRuntimeExports.jsx(Copyable, { data: JSON.stringify(data, null, 2) }) ] } ), expanded && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rjv-ref-property", children: /* @__PURE__ */ jsxRuntimeExports.jsx( LazyLoadMore, { list: Object.keys(data), render: (key) => /* @__PURE__ */ jsxRuntimeExports.jsx( JsonNode, { label: key, source: data[key], depth: depth + 1 } ) } ) }) ] }); } return null; }; const InitJsonNode = () => { const { source, darkMode, rootLabel } = useConfigInfo(); return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { "data-dark-mode": darkMode, className: "rjv", children: /* @__PURE__ */ jsxRuntimeExports.jsx(JsonNode, { label: rootLabel, source }) }); }; const ReactJsonView = React.memo((props) => { return /* @__PURE__ */ jsxRuntimeExports.jsx(ConfigProvider, { ...props, children: /* @__PURE__ */ jsxRuntimeExports.jsx(InitJsonNode, {}) }); }); module.exports = ReactJsonView;