diff --git a/dist/index.es.js.map b/dist/index.es.js.map index 733397c..fa2f368 100644 --- a/dist/index.es.js.map +++ b/dist/index.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index.es.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","../lib/atoms/card/Card.tsx","../lib/atoms/collapse/Collapse.tsx","../lib/atoms/icon/Icon.tsx","../lib/atoms/image/Image.tsx","../lib/atoms/link/Link.tsx","../lib/atoms/list/List.tsx","../lib/molecules/button/Button.tsx","../lib/molecules/footer/Footer.tsx","../lib/molecules/title/Title.tsx","../lib/molecules/gallery/Gallery.tsx","../lib/molecules/navbar/Navbar.tsx","../lib/molecules/slider/Slider.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 \"\"\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('')) {\n _frame = _frame.replace('', 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.
\n // or
). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n //
, 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 { CardProps } from './CardProps'\nimport './card.scss'\n\n/**\n * ! CARD ATOM COMPONENT\n * @name Card\n * @description Renders the Card with a Content & an optional Caption\n *\n * @param {CardProps} props\n * The Properties of the Card\n *\n * @param {React.ReactElement|undefined} props.content\n * The Content of the Card\n *\n * @param {React.ReactElement|string} [props.caption=\"\"]\n * The optional Caption of the Card\n * @default \"\"\n *\n * @return {React.ReactElement}\n * The rendered Card\n */\nexport const Card =\n ({ content, caption = \"\" }: CardProps):\n React.ReactElement => {\n\n return (\n
\n {content}\n {caption &&
{caption}
}\n
\n )\n}\n","import { CollapseProps } from './CollapseProps'\nimport \"./collapse.scss\";\n\n/**\n * ! COLLAPSE ATOM COMPONENT\n * @name Collapse\n * @description Renders the Collapse with a Summary & a Content\n *\n * @param {CollapseProps} props\n * The Properties of the Collapse\n *\n * @param {React.ReactElement|string} props.title\n * The Title of the Collapse\n *\n * @param {React.ReactElement|string} props.content\n * The Content of the Collapse\n *\n * @return {React.ReactElement}\n * The rendered Collapse\n */\nexport const Collapse =\n ({ title, content }: CollapseProps):\n React.ReactElement => {\n\n return (\n
\n {title}\n
{content}
\n
\n )\n}\n","import { IconProps } from './IconProps'\nimport './icon.scss'\n\n/**\n * ! ICON ATOM COMPONENT\n * @name Icon\n * @description Renders the Icon with a Name, an optional Category,\n * an optional Option, an optional Visibility & an optional Event\n * If the event is defined, the onClick & onKeyDown events will be triggered\n * @see {@link https://fontawesome.com/v5/search?o=r&m=free}\n *\n * @param {IconProps} props\n * The Properties of the Icon\n *\n * @param {string} props.name\n * The Name of the Icon\n *\n * @param {string} [props.cat=\"brands\"]\n * The Category of the Icon\n * @default \"brands\"\n *\n * @param {string} [props.option=\"2x\"]\n * The Option of the Icon\n * @default \"2x\"\n *\n * @param {boolean} [props.isHidden=true]\n * The Visibility of the Icon\n * @default true\n *\n * @param {(React.MouseEvent|React.KeyboardEvent)|undefined} [props.event=undefined]\n * The Event of the Icon\n * @default undefined\n *\n * @return {React.ReactElement}\n * The rendered Icon\n */\nexport const Icon =\n ({ name, cat = \"brands\", option = \"2x\", isHidden = true, event = undefined }: IconProps):\n React.ReactElement => {\n\n return (\n event(e as React.MouseEvent) } : {})}\n {...(event ? { 'onKeyDown': (e) => event(e as React.KeyboardEvent) } : {})}\n {...(event ? { 'tabIndex': 0 } : {})}\n >\n )\n}\n","import { ImageProps } from './ImageProps'\nimport './image.scss'\n\n/**\n * ! IMAGE ATOM COMPONENT\n * @description Renders the Image with an URL & an Alternative Text\n *\n * @param {ImageProps} props\n * The Properties of the Image\n *\n * @param {string} props.url\n * The URL of the Image\n *\n * @param {string} props.alt\n * The Alternative Text of the Image\n *\n * @param {string} [props.design=\"image\"]\n * The Design Class of the Image\n *\n * @return {React.ReactElement}\n * The rendered Image\n */\nexport const Image =\n ({ url, alt, design = 'image' }: ImageProps):\n React.ReactElement => {\n\n return (\n \n )\n}\n","import { LinkProps } from './LinkProps'\nimport './link.scss'\n\n/**\n * ! LINK ATOM COMPONENT\n * @name Link\n * @description Renders the Link with a Content, an URL,\n * an optional Design class, an optional Aria Label & an optional Title\n * If the URL starts with \"https\", it will be rendered as an external Link\n * with target=\"_blank\" & rel=\"noopener noreferrer\"\n *\n * @param {LinkProps} props\n * The Properties of the Link\n *\n * @param {React.ReactElement|string} props.content\n * The Content of the Link\n *\n * @param {string} props.url\n * The URL of the Link\n *\n * @param {string} [props.design=\"link\"]\n * The Design Class of the Link\n * @default \"link\"\n *\n * @param {string} [props.label=\"\"]\n * The Aria Label of the Link\n * @default \"\"\n *\n * @param {string} [props.title=\"\"]\n * The Title of the Link\n * @default \"\"\n *\n * @return {React.ReactElement}\n * The rendered Link\n */\nexport const Link =\n ({ content, url, design=\"link\", label=\"\", title=\"\" }: LinkProps):\n React.ReactElement => {\n\n const isExternal = url.startsWith('https')\n\n return (\n \n {content}\n \n )\n}\n","import { ListProps } from \"./ListProps\"\nimport \"./list.scss\"\n\n/**\n * ! LIST ATOM COMPONENT\n * @name List\n * @description Renders the List with an Items Array as an unordered list\n *\n * @param {ListProps} props\n * The Properties of the List\n * \n * @param {React.ReactElement[]|string[]} props.array\n * The Array of items to render in the List\n *\n * @return {React.ReactElement}\n * The rendered List\n */\nexport const List =\n ({ array }: ListProps):\n React.ReactElement => {\n\n return (\n
    \n {array.map((item, index) => \n
  • \n <>{item}\n
  • \n )}\n
\n )\n}\n","import { ButtonProps } from './ButtonProps'\nimport { IconProps } from '../../atoms/icon/IconProps'\nimport { LinkProps } from '../../atoms/link/LinkProps'\nimport { Icon } from '../../atoms/icon/Icon'\nimport { Link } from '../../atoms/link/Link'\nimport './button.scss'\n\n/**\n * ! BUTTON MOLECULE COMPONENT\n * @name Button\n * @description Renders the Button that displays a Link with an Icon & a Text\n *\n * @param {ButtonProps} props\n * The Properties of the Button\n *\n * @param {LinkProps} props.link\n * The Link of the Button\n *\n * @param {string} props.ico\n * The Icon of the Button\n *\n * @param {string} props.txt\n * The Text of the Button\n *\n * @returns {React.ReactElement}\n * The rendered Button\n */\nexport const Button =\n ({ link, ico, txt }:\n ButtonProps): React.ReactElement => {\n\n const { url, label }: LinkProps = link\n const { name, cat, option }: IconProps = ico\n\n return (\n \n \n {txt && {txt}}\n \n }\n />\n )\n}\n","import { FooterProps } from './FooterProps'\nimport { Button } from '../button/Button'\nimport { List } from '../../atoms/list/List'\nimport './footer.scss'\n\n/**\n * ! FOOTER MOLECULE COMPONENT\n * @name Footer\n * @description Renders the Footer with a Links Array as an unordered list\n *\n * @param {FooterProps} props\n * The Properties of the Footer\n *\n * @param {Array} props.links\n * The Links of the Footer\n *\n * @returns {React.ReactElement}\n * The rendered Footer\n */\nexport const Footer =\n ({ links }: FooterProps):\n React.ReactElement => {\n\n return (\n
\n \n \n )}\n />\n
\n )\n}\n","import React from 'react'\nimport { TitleProps } from \"./TitleProps\"\nimport { Icon } from '../../atoms/icon/Icon'\nimport \"./title.scss\"\n\n/**\n * ! TITLE MOLECULE COMPONENT\n * @name Title\n * @description Renders the Title with a Main Text,\n * an optional Level, an optional Subtitle & an optional Icon\n *\n * @param {TitleProps} props\n * The Properties of the Title\n *\n * @param {string} props.txt\n * The Text of the Title\n *\n * @param {number} [props.lvl=4]\n * The Level of the Title\n * @default 4\n *\n * @param {string} [props.sub=\"\"]\n * The Subtitle of the Title\n * @default \"\"\n *\n * @param {IconProps|undefined} [props.ico=undefined]\n * The Icon of the Title\n * @default undefined\n *\n * @returns {React.ReactElement}\n * The rendered Title\n */\nexport const Title =\n ({ txt, lvl = 4, sub = \"\", ico = undefined }: TitleProps):\n React.ReactElement => {\n\n lvl = Number(lvl)\n if (lvl < 1 || lvl > 3) lvl = 4\n const Heading = `h${lvl}`\n\n return (\n
\n {ico &&

{React.createElement(Icon, ico)}

}\n {React.createElement(Heading, {}, txt)}\n {sub &&

{sub}

}\n
\n )\n}\n","import { GalleryItemProps } from './GalleryItemProps'\nimport { GalleryProps } from './GalleryProps'\nimport { Card } from '../../atoms/card/Card'\nimport { Icon } from '../../atoms/icon/Icon'\nimport { Image } from '../../atoms/image/Image'\nimport { List } from '../../atoms/list/List'\nimport { Link } from '../../atoms/link/Link'\nimport { Title } from '../title/Title'\nimport './gallery.scss'\n\n/**\n * ! GALLERY MOLECULE COMPONENT\n * @name Gallery\n * @description Renders the Gallery that displays\n * a list of links based on the provided array data\n *\n * @param {GalleryProps} props\n * The Properties of the Gallery\n * \n * @param {Array} props.array\n * The Items Array of the Gallery\n * \n * @param {string} props.array.url\n * The URL of the Item\n * \n * @param {string} props.array.name\n * The Name of the Item\n * \n * @param {string} props.array.detail\n * The Detail of the Item\n * \n * @param {Object} props.array.caption\n * The Caption of the Item\n * \n * @param {string} props.array.caption.title\n * The Title of the Item\n * \n * @param {Array} props.array.caption.technos\n * The Technologies of the Item Caption\n * \n * @param {Object} props.array.image\n * The Image of the Item\n *\n * @param {string} props.array.image.url\n * The URL of the Item Image\n *\n * @param {string} props.array.image.alt\n * The Alternative Text of the Item Image\n *\n * @return {React.ReactElement}\n * The rendered Links\n */\nexport const Gallery =\n ({ array }: GalleryProps):\n React.ReactElement => {\n\n const renderItem =\n (item: GalleryItemProps, index: number):\n React.ReactElement => {\n\n const itemProps = {\n url: item.url,\n title: item.detail ? item.detail : undefined,\n design: 'link',\n content: (\n }\n content={item.image && {item.image.alt}}\n />\n )\n };\n\n if (item.name) {\n itemProps.content = <>{item.name}\n itemProps.design = 'btn'\n\n } else if (item.caption && item.caption.technos) {\n itemProps.content = (\n \n \n <List\n array={item.caption.technos.map((techno) => \n <Icon name={techno} option=\"lg\" isHidden={false} />\n )}\n />\n </>\n }\n content={<Image url={item.image?.url ?? ''} alt={item.image?.alt ?? ''} />}\n />\n );\n }\n\n return <Link key={index} {...itemProps} />;\n };\n\n return <List array={array.map(renderItem)} />;\n}\n","import { NavbarProps } from './NavbarProps'\nimport { Button } from '../button/Button'\nimport { List } from '../../atoms/list/List'\nimport './navbar.scss'\n\n/**\n * ! NAVBAR MOLECULE COMPONENT\n * @name Navbar\n * @description Renders the Navbar with a Brand, an Links Array as an unordered list & an Option\n * \n * @param {NavbarProps} props\n * The Properties of the Navbar\n *\n * @param {ButtonProps} props.brand\n * The Brand of the Navbar\n *\n * @param {Array<ButtonProps>} props.links\n * The Links of the Navbar\n *\n * @param {ButtonProps} props.contact\n * The Contact of the Navbar\n *\n * @returns {React.ReactElement<HTMLElement>}\n * The rendered Navbar\n */\nexport const Navbar =\n ({ brand, links, contact }: NavbarProps) :\n React.ReactElement<HTMLElement> => {\n\n return (\n <nav className=\"navbar\">\n <Button\n link={brand.link}\n ico={brand.ico}\n txt=\"\"\n />\n\n <List\n array={links.map((item) =>\n <Button\n link={item.link}\n ico={item.ico}\n txt={item.txt}\n />\n )}\n />\n\n <Button\n link={contact.link}\n ico={contact.ico}\n txt=\"\"\n />\n </nav>\n )\n}\n","import { useEffect, useState } from \"react\";\nimport { SliderProps } from \"./SliderProps\";\nimport { Icon } from \"../../atoms/icon/Icon\";\nimport \"./slider.scss\";\n\n/**\n * ! SLIDER MOLECULE COMPONENT\n * @name Slider\n * @description Renders the Slider that displays an Array of items &\n * allows the user to navigate through or to watch them in auto sequence\n *\n * @param {SliderProps} props\n * The Properties of the Slider\n * \n * @param {Array<React.ReactElement>} props.array\n * The Items Array of the Slider\n * \n * @param {number} props.timer\n * The Timer of the Slider\n * @default 5000\n *\n * @return {React.ReactElement<HTMLElement>}\n * The rendered Slider\n */\nexport const Slider =\n ({ array, timer = 5000 }: SliderProps) :\n React.ReactElement<HTMLElement> => {\n\n const LENGTH: number = array.length;\n\n const [i, setIndex]: [number, React.Dispatch<React.SetStateAction<number>>] = useState(0);\n const goNext: () => void = () => setIndex((i) => (i + 1) % LENGTH);\n const goPrevious: () => void = () => setIndex((i) => (i - 1 + LENGTH) % LENGTH);\n\n //! ********** AUTOPLAY **********\n\n let [isAuto, setAuto]: [boolean, React.Dispatch<React.SetStateAction<boolean>>] = useState(timer !== 0);\n const toggleAuto: () => void = () => setAuto((state) => !state);\n\n useEffect(() => {\n let interval: number;\n if (isAuto) interval = setInterval(() => goNext(), timer);\n\n return () => clearInterval(interval);\n }, [isAuto, LENGTH]);\n\n //! ********** KEYBOARD EVENTS **********\n\n const handleKeyDown: (event: KeyboardEvent) => void = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowLeft':\n goPrevious();\n break;\n case 'ArrowRight':\n goNext();\n break;\n case 'a':\n case 'A':\n case 'p':\n case 'P':\n toggleAuto();\n break;\n default:\n break;\n }\n }\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, []);\n\n //! ********** RENDER **********\n\n return (\n <figure\n className=\"slider\"\n role=\"region\"\n aria-label=\"slider\"\n >\n {array[i]}\n\n {LENGTH > 1 && (\n <nav>\n <Icon\n name=\"chevron-left\"\n cat=\"solid\"\n isHidden={false}\n event={goPrevious}\n />\n\n <Icon\n name=\"chevron-right\"\n cat=\"solid\"\n isHidden={false}\n event={goNext}\n />\n\n <Icon\n name={isAuto ? 'pause' : 'play'}\n cat=\"solid\"\n isHidden={false}\n event={toggleAuto}\n />\n </nav>\n )}\n\n <progress value={(i + 1) / LENGTH}></progress>\n </figure>\n )\n}\n"],"names":["f","require$$0","k","l","m","n","p","q","c","a","g","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","Card","content","caption","Collapse","title","Icon","cat","option","isHidden","event","Image","url","alt","design","Link","label","isExternal","List","array","index","Fragment","Button","link","ico","txt","Footer","links","Title","lvl","sub","Heading","Gallery","renderItem","itemProps","techno","_a","_b","Navbar","brand","contact","Slider","timer","LENGTH","setIndex","useState","goNext","goPrevious","isAuto","setAuto","toggleAuto","state","useEffect","interval","handleKeyDown"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file +{"version":3,"file":"index.es.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","../lib/atoms/card/Card.tsx","../lib/atoms/collapse/Collapse.tsx","../lib/atoms/icon/Icon.tsx","../lib/atoms/image/Image.tsx","../lib/atoms/link/Link.tsx","../lib/atoms/list/List.tsx","../lib/molecules/button/Button.tsx","../lib/molecules/footer/Footer.tsx","../lib/molecules/title/Title.tsx","../lib/molecules/gallery/Gallery.tsx","../lib/molecules/navbar/Navbar.tsx","../lib/molecules/slider/Slider.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 { CardProps } from './CardProps'\nimport './card.scss'\n\n/**\n * ! CARD ATOM COMPONENT\n * @name Card\n * @description Renders the Card with a Content & an optional Caption\n *\n * @param {CardProps} props\n * The Properties of the Card\n *\n * @param {React.ReactElement|undefined} props.content\n * The Content of the Card\n *\n * @param {React.ReactElement|string} [props.caption=\"\"]\n * The optional Caption of the Card\n * @default \"\"\n *\n * @return {React.ReactElement<HTMLElement>}\n * The rendered Card\n */\nexport const Card =\n ({ content, caption = \"\" }: CardProps):\n React.ReactElement<HTMLElement> => {\n\n return (\n <figure className=\"card\">\n {content}\n {caption && <figcaption>{caption}</figcaption>}\n </figure>\n )\n}\n","import { CollapseProps } from './CollapseProps'\nimport \"./collapse.scss\";\n\n/**\n * ! COLLAPSE ATOM COMPONENT\n * @name Collapse\n * @description Renders the Collapse with a Summary & a Content\n *\n * @param {CollapseProps} props\n * The Properties of the Collapse\n *\n * @param {React.ReactElement|string} props.title\n * The Title of the Collapse\n *\n * @param {React.ReactElement|string} props.content\n * The Content of the Collapse\n *\n * @return {React.ReactElement<HTMLDetailsElement>}\n * The rendered Collapse\n */\nexport const Collapse =\n ({ title, content }: CollapseProps):\n React.ReactElement<HTMLDetailsElement> => {\n\n return (\n <details className=\"collapse\">\n <summary>{title}</summary>\n <figure>{content}</figure>\n </details>\n )\n}\n","import { IconProps } from './IconProps'\n\n/**\n * ! ICON ATOM COMPONENT\n * @name Icon\n * @description Renders the Icon with a Name, an optional Category,\n * an optional Option, an optional Visibility & an optional Event\n * If the event is defined, the onClick & onKeyDown events will be triggered\n * @see {@link https://fontawesome.com/v5/search?o=r&m=free}\n *\n * @param {IconProps} props\n * The Properties of the Icon\n *\n * @param {string} props.name\n * The Name of the Icon\n *\n * @param {string} [props.cat=\"brands\"]\n * The Category of the Icon\n * @default \"brands\"\n *\n * @param {string} [props.option=\"2x\"]\n * The Option of the Icon\n * @default \"2x\"\n *\n * @param {boolean} [props.isHidden=true]\n * The Visibility of the Icon\n * @default true\n *\n * @param {(React.MouseEvent<HTMLElement>|React.KeyboardEvent<HTMLElement>)|undefined} [props.event=undefined]\n * The Event of the Icon\n * @default undefined\n *\n * @return {React.ReactElement<HTMLElement>}\n * The rendered Icon\n */\nexport const Icon =\n ({ name, cat = \"brands\", option = \"2x\", isHidden = true, event = undefined }: IconProps):\n React.ReactElement<HTMLElement> => {\n\n return (\n <i\n {...(event\n ? { 'className': `fa-${cat} fa-${name} fa-${option}` }\n : { 'className': `fa-${cat} fa-${name} fa-${option} fa-fw` }\n )}\n aria-hidden={isHidden}\n {...(event ? { 'onClick': (e) => event(e as React.MouseEvent<HTMLElement>) } : {})}\n {...(event ? { 'onKeyDown': (e) => event(e as React.KeyboardEvent<HTMLElement>) } : {})}\n {...(event ? { 'tabIndex': 0 } : {})}\n ></i>\n )\n}\n","import { ImageProps } from './ImageProps'\nimport './image.scss'\n\n/**\n * ! IMAGE ATOM COMPONENT\n * @description Renders the Image with an URL & an Alternative Text\n *\n * @param {ImageProps} props\n * The Properties of the Image\n *\n * @param {string} props.url\n * The URL of the Image\n *\n * @param {string} props.alt\n * The Alternative Text of the Image\n *\n * @param {string} [props.design=\"image\"]\n * The Design Class of the Image\n *\n * @return {React.ReactElement<HTMLImageElement>}\n * The rendered Image\n */\nexport const Image =\n ({ url, alt, design = 'image' }: ImageProps):\n React.ReactElement<HTMLImageElement> => {\n\n return (\n <img\n src={url}\n alt={alt}\n className={design}\n loading=\"lazy\"\n />\n )\n}\n","import { LinkProps } from './LinkProps'\nimport './link.scss'\n\n/**\n * ! LINK ATOM COMPONENT\n * @name Link\n * @description Renders the Link with a Content, an URL,\n * an optional Design class, an optional Aria Label & an optional Title\n * If the URL starts with \"https\", it will be rendered as an external Link\n * with target=\"_blank\" & rel=\"noopener noreferrer\"\n *\n * @param {LinkProps} props\n * The Properties of the Link\n *\n * @param {React.ReactElement|string} props.content\n * The Content of the Link\n *\n * @param {string} props.url\n * The URL of the Link\n *\n * @param {string} [props.design=\"link\"]\n * The Design Class of the Link\n * @default \"link\"\n *\n * @param {string} [props.label=\"\"]\n * The Aria Label of the Link\n * @default \"\"\n *\n * @param {string} [props.title=\"\"]\n * The Title of the Link\n * @default \"\"\n *\n * @return {React.ReactElement<HTMLLinkElement>}\n * The rendered Link\n */\nexport const Link =\n ({ content, url, design=\"link\", label=\"\", title=\"\" }: LinkProps):\n React.ReactElement<HTMLLinkElement> => {\n\n const isExternal = url.startsWith('https')\n\n return (\n <a\n href={url}\n className={`${design}`}\n {...(label ? { 'aria-label': label } : {})}\n {...(title ? { 'title': title } : {})}\n {...(isExternal ? { 'rel': 'noopener noreferrer' } : {})}\n {...(isExternal ? { 'target': '_blank' } : {})}\n >\n {content}\n </a>\n )\n}\n","import { ListProps } from \"./ListProps\"\nimport \"./list.scss\"\n\n/**\n * ! LIST ATOM COMPONENT\n * @name List\n * @description Renders the List with an Items Array as an unordered list\n *\n * @param {ListProps} props\n * The Properties of the List\n * \n * @param {React.ReactElement[]|string[]} props.array\n * The Array of items to render in the List\n *\n * @return {React.ReactElement<HTMLUListElement>}\n * The rendered List\n */\nexport const List =\n ({ array }: ListProps):\n React.ReactElement<HTMLUListElement> => {\n\n return (\n <ul className=\"list\">\n {array.map((item, index) => \n <li key={index}>\n <>{item}</>\n </li>\n )}\n </ul>\n )\n}\n","import { ButtonProps } from './ButtonProps'\nimport { IconProps } from '../../atoms/icon/IconProps'\nimport { LinkProps } from '../../atoms/link/LinkProps'\nimport { Icon } from '../../atoms/icon/Icon'\nimport { Link } from '../../atoms/link/Link'\nimport './button.scss'\n\n/**\n * ! BUTTON MOLECULE COMPONENT\n * @name Button\n * @description Renders the Button that displays a Link with an Icon & a Text\n *\n * @param {ButtonProps} props\n * The Properties of the Button\n *\n * @param {LinkProps} props.link\n * The Link of the Button\n *\n * @param {string} props.ico\n * The Icon of the Button\n *\n * @param {string} props.txt\n * The Text of the Button\n *\n * @returns {React.ReactElement<HTMLLinkElement>}\n * The rendered Button\n */\nexport const Button =\n ({ link, ico, txt }:\n ButtonProps): React.ReactElement<HTMLLinkElement> => {\n\n const { url, label }: LinkProps = link\n const { name, cat, option }: IconProps = ico\n\n return (\n <Link\n url={url}\n label={label}\n design=\"link button\"\n content={\n\n <>\n <Icon\n name={name}\n cat={cat}\n option={option}\n isHidden={false}\n event={undefined}\n />\n {txt && <b>{txt}</b>}\n </>\n }\n />\n )\n}\n","import { FooterProps } from './FooterProps'\nimport { Button } from '../button/Button'\nimport { List } from '../../atoms/list/List'\nimport './footer.scss'\n\n/**\n * ! FOOTER MOLECULE COMPONENT\n * @name Footer\n * @description Renders the Footer with a Links Array as an unordered list\n *\n * @param {FooterProps} props\n * The Properties of the Footer\n *\n * @param {Array<ButtonProps>} props.links\n * The Links of the Footer\n *\n * @returns {React.ReactElement<HTMLElement>}\n * The rendered Footer\n */\nexport const Footer =\n ({ links }: FooterProps):\n React.ReactElement<HTMLElement> => {\n\n return (\n <footer id=\"contact\">\n <List\n array={links.map((item) =>\n <Button\n link={item.link}\n ico={item.ico}\n txt=\"\"\n />\n )}\n />\n </footer>\n )\n}\n","import React from 'react'\nimport { TitleProps } from \"./TitleProps\"\nimport { Icon } from '../../atoms/icon/Icon'\nimport \"./title.scss\"\n\n/**\n * ! TITLE MOLECULE COMPONENT\n * @name Title\n * @description Renders the Title with a Main Text,\n * an optional Level, an optional Subtitle & an optional Icon\n *\n * @param {TitleProps} props\n * The Properties of the Title\n *\n * @param {string} props.txt\n * The Text of the Title\n *\n * @param {number} [props.lvl=4]\n * The Level of the Title\n * @default 4\n *\n * @param {string} [props.sub=\"\"]\n * The Subtitle of the Title\n * @default \"\"\n *\n * @param {IconProps|undefined} [props.ico=undefined]\n * The Icon of the Title\n * @default undefined\n *\n * @returns {React.ReactElement<HTMLHeadingElement>}\n * The rendered Title\n */\nexport const Title =\n ({ txt, lvl = 4, sub = \"\", ico = undefined }: TitleProps):\n React.ReactElement<HTMLHeadingElement> => {\n\n lvl = Number(lvl)\n if (lvl < 1 || lvl > 3) lvl = 4\n const Heading = `h${lvl}`\n\n return (\n <hgroup className=\"title\">\n {ico && <p>{React.createElement(Icon, ico)}</p>}\n {React.createElement(Heading, {}, txt)}\n {sub && <p>{sub}</p>}\n </hgroup>\n )\n}\n","import { GalleryItemProps } from './GalleryItemProps'\nimport { GalleryProps } from './GalleryProps'\nimport { Card } from '../../atoms/card/Card'\nimport { Icon } from '../../atoms/icon/Icon'\nimport { Image } from '../../atoms/image/Image'\nimport { List } from '../../atoms/list/List'\nimport { Link } from '../../atoms/link/Link'\nimport { Title } from '../title/Title'\nimport './gallery.scss'\n\n/**\n * ! GALLERY MOLECULE COMPONENT\n * @name Gallery\n * @description Renders the Gallery that displays\n * a list of links based on the provided array data\n *\n * @param {GalleryProps} props\n * The Properties of the Gallery\n * \n * @param {Array} props.array\n * The Items Array of the Gallery\n * \n * @param {string} props.array.url\n * The URL of the Item\n * \n * @param {string} props.array.name\n * The Name of the Item\n * \n * @param {string} props.array.detail\n * The Detail of the Item\n * \n * @param {Object} props.array.caption\n * The Caption of the Item\n * \n * @param {string} props.array.caption.title\n * The Title of the Item\n * \n * @param {Array} props.array.caption.technos\n * The Technologies of the Item Caption\n * \n * @param {Object} props.array.image\n * The Image of the Item\n *\n * @param {string} props.array.image.url\n * The URL of the Item Image\n *\n * @param {string} props.array.image.alt\n * The Alternative Text of the Item Image\n *\n * @return {React.ReactElement<HTMLUListElement>}\n * The rendered Links\n */\nexport const Gallery =\n ({ array }: GalleryProps):\n React.ReactElement<HTMLUListElement> => {\n\n const renderItem =\n (item: GalleryItemProps, index: number):\n React.ReactElement<HTMLLIElement> => {\n\n const itemProps = {\n url: item.url,\n title: item.detail ? item.detail : undefined,\n design: 'link',\n content: (\n <Card\n caption={item.caption && <Title txt={item.caption.title} />}\n content={item.image && <Image url={item.image.url} alt={item.image.alt} />}\n />\n )\n };\n\n if (item.name) {\n itemProps.content = <>{item.name}</>\n itemProps.design = 'btn'\n\n } else if (item.caption && item.caption.technos) {\n itemProps.content = (\n <Card\n caption={\n <>\n <Title txt={item.caption.title} />\n <List\n array={item.caption.technos.map((techno) => \n <Icon name={techno} option=\"lg\" isHidden={false} />\n )}\n />\n </>\n }\n content={<Image url={item.image?.url ?? ''} alt={item.image?.alt ?? ''} />}\n />\n );\n }\n\n return <Link key={index} {...itemProps} />;\n };\n\n return <List array={array.map(renderItem)} />;\n}\n","import { NavbarProps } from './NavbarProps'\nimport { Button } from '../button/Button'\nimport { List } from '../../atoms/list/List'\nimport './navbar.scss'\n\n/**\n * ! NAVBAR MOLECULE COMPONENT\n * @name Navbar\n * @description Renders the Navbar with a Brand, an Links Array as an unordered list & an Option\n * \n * @param {NavbarProps} props\n * The Properties of the Navbar\n *\n * @param {ButtonProps} props.brand\n * The Brand of the Navbar\n *\n * @param {Array<ButtonProps>} props.links\n * The Links of the Navbar\n *\n * @param {ButtonProps} props.contact\n * The Contact of the Navbar\n *\n * @returns {React.ReactElement<HTMLElement>}\n * The rendered Navbar\n */\nexport const Navbar =\n ({ brand, links, contact }: NavbarProps) :\n React.ReactElement<HTMLElement> => {\n\n return (\n <nav className=\"navbar\">\n <Button\n link={brand.link}\n ico={brand.ico}\n txt=\"\"\n />\n\n <List\n array={links.map((item) =>\n <Button\n link={item.link}\n ico={item.ico}\n txt={item.txt}\n />\n )}\n />\n\n <Button\n link={contact.link}\n ico={contact.ico}\n txt=\"\"\n />\n </nav>\n )\n}\n","import { useEffect, useState } from \"react\";\nimport { SliderProps } from \"./SliderProps\";\nimport { Icon } from \"../../atoms/icon/Icon\";\nimport \"./slider.scss\";\n\n/**\n * ! SLIDER MOLECULE COMPONENT\n * @name Slider\n * @description Renders the Slider that displays an Array of items &\n * allows the user to navigate through or to watch them in auto sequence\n *\n * @param {SliderProps} props\n * The Properties of the Slider\n * \n * @param {Array<React.ReactElement>} props.array\n * The Items Array of the Slider\n * \n * @param {number} props.timer\n * The Timer of the Slider\n * @default 5000\n *\n * @return {React.ReactElement<HTMLElement>}\n * The rendered Slider\n */\nexport const Slider =\n ({ array, timer = 5000 }: SliderProps) :\n React.ReactElement<HTMLElement> => {\n\n const LENGTH: number = array.length;\n\n const [i, setIndex]: [number, React.Dispatch<React.SetStateAction<number>>] = useState(0);\n const goNext: () => void = () => setIndex((i) => (i + 1) % LENGTH);\n const goPrevious: () => void = () => setIndex((i) => (i - 1 + LENGTH) % LENGTH);\n\n //! ********** AUTOPLAY **********\n\n let [isAuto, setAuto]: [boolean, React.Dispatch<React.SetStateAction<boolean>>] = useState(timer !== 0);\n const toggleAuto: () => void = () => setAuto((state) => !state);\n\n useEffect(() => {\n let interval: number;\n if (isAuto) interval = setInterval(() => goNext(), timer);\n\n return () => clearInterval(interval);\n }, [isAuto, LENGTH]);\n\n //! ********** KEYBOARD EVENTS **********\n\n const handleKeyDown: (event: KeyboardEvent) => void = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowLeft':\n goPrevious();\n break;\n case 'ArrowRight':\n goNext();\n break;\n case 'a':\n case 'A':\n case 'p':\n case 'P':\n toggleAuto();\n break;\n default:\n break;\n }\n }\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, []);\n\n //! ********** RENDER **********\n\n return (\n <figure\n className=\"slider\"\n role=\"region\"\n aria-label=\"slider\"\n >\n {array[i]}\n\n {LENGTH > 1 && (\n <nav>\n <Icon\n name=\"chevron-left\"\n cat=\"solid\"\n isHidden={false}\n event={goPrevious}\n />\n\n <Icon\n name=\"chevron-right\"\n cat=\"solid\"\n isHidden={false}\n event={goNext}\n />\n\n <Icon\n name={isAuto ? 'pause' : 'play'}\n cat=\"solid\"\n isHidden={false}\n event={toggleAuto}\n />\n </nav>\n )}\n\n <progress value={(i + 1) / LENGTH}></progress>\n </figure>\n )\n}\n"],"names":["f","require$$0","k","l","m","n","p","q","c","a","g","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","Card","content","caption","Collapse","title","Icon","cat","option","isHidden","event","Image","url","alt","design","Link","label","isExternal","List","array","index","Fragment","Button","link","ico","txt","Footer","links","Title","lvl","sub","Heading","Gallery","renderItem","itemProps","techno","_a","_b","Navbar","brand","contact","Slider","timer","LENGTH","setIndex","useState","goNext","goPrevious","isAuto","setAuto","toggleAuto","state","useEffect","interval","handleKeyDown"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/dist/index.umd.js.map b/dist/index.umd.js.map index fb8512d..a88324f 100644 --- a/dist/index.umd.js.map +++ b/dist/index.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"index.umd.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","../lib/atoms/card/Card.tsx","../lib/atoms/collapse/Collapse.tsx","../lib/atoms/icon/Icon.tsx","../lib/atoms/image/Image.tsx","../lib/atoms/link/Link.tsx","../lib/atoms/list/List.tsx","../lib/molecules/button/Button.tsx","../lib/molecules/footer/Footer.tsx","../lib/molecules/title/Title.tsx","../lib/molecules/gallery/Gallery.tsx","../lib/molecules/navbar/Navbar.tsx","../lib/molecules/slider/Slider.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 { CardProps } from './CardProps'\nimport './card.scss'\n\n/**\n * ! CARD ATOM COMPONENT\n * @name Card\n * @description Renders the Card with a Content & an optional Caption\n *\n * @param {CardProps} props\n * The Properties of the Card\n *\n * @param {React.ReactElement|undefined} props.content\n * The Content of the Card\n *\n * @param {React.ReactElement|string} [props.caption=\"\"]\n * The optional Caption of the Card\n * @default \"\"\n *\n * @return {React.ReactElement<HTMLElement>}\n * The rendered Card\n */\nexport const Card =\n ({ content, caption = \"\" }: CardProps):\n React.ReactElement<HTMLElement> => {\n\n return (\n <figure className=\"card\">\n {content}\n {caption && <figcaption>{caption}</figcaption>}\n </figure>\n )\n}\n","import { CollapseProps } from './CollapseProps'\nimport \"./collapse.scss\";\n\n/**\n * ! COLLAPSE ATOM COMPONENT\n * @name Collapse\n * @description Renders the Collapse with a Summary & a Content\n *\n * @param {CollapseProps} props\n * The Properties of the Collapse\n *\n * @param {React.ReactElement|string} props.title\n * The Title of the Collapse\n *\n * @param {React.ReactElement|string} props.content\n * The Content of the Collapse\n *\n * @return {React.ReactElement<HTMLDetailsElement>}\n * The rendered Collapse\n */\nexport const Collapse =\n ({ title, content }: CollapseProps):\n React.ReactElement<HTMLDetailsElement> => {\n\n return (\n <details className=\"collapse\">\n <summary>{title}</summary>\n <figure>{content}</figure>\n </details>\n )\n}\n","import { IconProps } from './IconProps'\nimport './icon.scss'\n\n/**\n * ! ICON ATOM COMPONENT\n * @name Icon\n * @description Renders the Icon with a Name, an optional Category,\n * an optional Option, an optional Visibility & an optional Event\n * If the event is defined, the onClick & onKeyDown events will be triggered\n * @see {@link https://fontawesome.com/v5/search?o=r&m=free}\n *\n * @param {IconProps} props\n * The Properties of the Icon\n *\n * @param {string} props.name\n * The Name of the Icon\n *\n * @param {string} [props.cat=\"brands\"]\n * The Category of the Icon\n * @default \"brands\"\n *\n * @param {string} [props.option=\"2x\"]\n * The Option of the Icon\n * @default \"2x\"\n *\n * @param {boolean} [props.isHidden=true]\n * The Visibility of the Icon\n * @default true\n *\n * @param {(React.MouseEvent<HTMLElement>|React.KeyboardEvent<HTMLElement>)|undefined} [props.event=undefined]\n * The Event of the Icon\n * @default undefined\n *\n * @return {React.ReactElement<HTMLElement>}\n * The rendered Icon\n */\nexport const Icon =\n ({ name, cat = \"brands\", option = \"2x\", isHidden = true, event = undefined }: IconProps):\n React.ReactElement<HTMLElement> => {\n\n return (\n <i\n {...(event\n ? { 'className': `fa-${cat} fa-${name} fa-${option}` }\n : { 'className': `fa-${cat} fa-${name} fa-${option} fa-fw` }\n )}\n aria-hidden={isHidden}\n {...(event ? { 'onClick': (e) => event(e as React.MouseEvent<HTMLElement>) } : {})}\n {...(event ? { 'onKeyDown': (e) => event(e as React.KeyboardEvent<HTMLElement>) } : {})}\n {...(event ? { 'tabIndex': 0 } : {})}\n ></i>\n )\n}\n","import { ImageProps } from './ImageProps'\nimport './image.scss'\n\n/**\n * ! IMAGE ATOM COMPONENT\n * @description Renders the Image with an URL & an Alternative Text\n *\n * @param {ImageProps} props\n * The Properties of the Image\n *\n * @param {string} props.url\n * The URL of the Image\n *\n * @param {string} props.alt\n * The Alternative Text of the Image\n *\n * @param {string} [props.design=\"image\"]\n * The Design Class of the Image\n *\n * @return {React.ReactElement<HTMLImageElement>}\n * The rendered Image\n */\nexport const Image =\n ({ url, alt, design = 'image' }: ImageProps):\n React.ReactElement<HTMLImageElement> => {\n\n return (\n <img\n src={url}\n alt={alt}\n className={design}\n loading=\"lazy\"\n />\n )\n}\n","import { LinkProps } from './LinkProps'\nimport './link.scss'\n\n/**\n * ! LINK ATOM COMPONENT\n * @name Link\n * @description Renders the Link with a Content, an URL,\n * an optional Design class, an optional Aria Label & an optional Title\n * If the URL starts with \"https\", it will be rendered as an external Link\n * with target=\"_blank\" & rel=\"noopener noreferrer\"\n *\n * @param {LinkProps} props\n * The Properties of the Link\n *\n * @param {React.ReactElement|string} props.content\n * The Content of the Link\n *\n * @param {string} props.url\n * The URL of the Link\n *\n * @param {string} [props.design=\"link\"]\n * The Design Class of the Link\n * @default \"link\"\n *\n * @param {string} [props.label=\"\"]\n * The Aria Label of the Link\n * @default \"\"\n *\n * @param {string} [props.title=\"\"]\n * The Title of the Link\n * @default \"\"\n *\n * @return {React.ReactElement<HTMLLinkElement>}\n * The rendered Link\n */\nexport const Link =\n ({ content, url, design=\"link\", label=\"\", title=\"\" }: LinkProps):\n React.ReactElement<HTMLLinkElement> => {\n\n const isExternal = url.startsWith('https')\n\n return (\n <a\n href={url}\n className={`${design}`}\n {...(label ? { 'aria-label': label } : {})}\n {...(title ? { 'title': title } : {})}\n {...(isExternal ? { 'rel': 'noopener noreferrer' } : {})}\n {...(isExternal ? { 'target': '_blank' } : {})}\n >\n {content}\n </a>\n )\n}\n","import { ListProps } from \"./ListProps\"\nimport \"./list.scss\"\n\n/**\n * ! LIST ATOM COMPONENT\n * @name List\n * @description Renders the List with an Items Array as an unordered list\n *\n * @param {ListProps} props\n * The Properties of the List\n * \n * @param {React.ReactElement[]|string[]} props.array\n * The Array of items to render in the List\n *\n * @return {React.ReactElement<HTMLUListElement>}\n * The rendered List\n */\nexport const List =\n ({ array }: ListProps):\n React.ReactElement<HTMLUListElement> => {\n\n return (\n <ul className=\"list\">\n {array.map((item, index) => \n <li key={index}>\n <>{item}</>\n </li>\n )}\n </ul>\n )\n}\n","import { ButtonProps } from './ButtonProps'\nimport { IconProps } from '../../atoms/icon/IconProps'\nimport { LinkProps } from '../../atoms/link/LinkProps'\nimport { Icon } from '../../atoms/icon/Icon'\nimport { Link } from '../../atoms/link/Link'\nimport './button.scss'\n\n/**\n * ! BUTTON MOLECULE COMPONENT\n * @name Button\n * @description Renders the Button that displays a Link with an Icon & a Text\n *\n * @param {ButtonProps} props\n * The Properties of the Button\n *\n * @param {LinkProps} props.link\n * The Link of the Button\n *\n * @param {string} props.ico\n * The Icon of the Button\n *\n * @param {string} props.txt\n * The Text of the Button\n *\n * @returns {React.ReactElement<HTMLLinkElement>}\n * The rendered Button\n */\nexport const Button =\n ({ link, ico, txt }:\n ButtonProps): React.ReactElement<HTMLLinkElement> => {\n\n const { url, label }: LinkProps = link\n const { name, cat, option }: IconProps = ico\n\n return (\n <Link\n url={url}\n label={label}\n design=\"link button\"\n content={\n\n <>\n <Icon\n name={name}\n cat={cat}\n option={option}\n isHidden={false}\n event={undefined}\n />\n {txt && <b>{txt}</b>}\n </>\n }\n />\n )\n}\n","import { FooterProps } from './FooterProps'\nimport { Button } from '../button/Button'\nimport { List } from '../../atoms/list/List'\nimport './footer.scss'\n\n/**\n * ! FOOTER MOLECULE COMPONENT\n * @name Footer\n * @description Renders the Footer with a Links Array as an unordered list\n *\n * @param {FooterProps} props\n * The Properties of the Footer\n *\n * @param {Array<ButtonProps>} props.links\n * The Links of the Footer\n *\n * @returns {React.ReactElement<HTMLElement>}\n * The rendered Footer\n */\nexport const Footer =\n ({ links }: FooterProps):\n React.ReactElement<HTMLElement> => {\n\n return (\n <footer id=\"contact\">\n <List\n array={links.map((item) =>\n <Button\n link={item.link}\n ico={item.ico}\n txt=\"\"\n />\n )}\n />\n </footer>\n )\n}\n","import React from 'react'\nimport { TitleProps } from \"./TitleProps\"\nimport { Icon } from '../../atoms/icon/Icon'\nimport \"./title.scss\"\n\n/**\n * ! TITLE MOLECULE COMPONENT\n * @name Title\n * @description Renders the Title with a Main Text,\n * an optional Level, an optional Subtitle & an optional Icon\n *\n * @param {TitleProps} props\n * The Properties of the Title\n *\n * @param {string} props.txt\n * The Text of the Title\n *\n * @param {number} [props.lvl=4]\n * The Level of the Title\n * @default 4\n *\n * @param {string} [props.sub=\"\"]\n * The Subtitle of the Title\n * @default \"\"\n *\n * @param {IconProps|undefined} [props.ico=undefined]\n * The Icon of the Title\n * @default undefined\n *\n * @returns {React.ReactElement<HTMLHeadingElement>}\n * The rendered Title\n */\nexport const Title =\n ({ txt, lvl = 4, sub = \"\", ico = undefined }: TitleProps):\n React.ReactElement<HTMLHeadingElement> => {\n\n lvl = Number(lvl)\n if (lvl < 1 || lvl > 3) lvl = 4\n const Heading = `h${lvl}`\n\n return (\n <hgroup className=\"title\">\n {ico && <p>{React.createElement(Icon, ico)}</p>}\n {React.createElement(Heading, {}, txt)}\n {sub && <p>{sub}</p>}\n </hgroup>\n )\n}\n","import { GalleryItemProps } from './GalleryItemProps'\nimport { GalleryProps } from './GalleryProps'\nimport { Card } from '../../atoms/card/Card'\nimport { Icon } from '../../atoms/icon/Icon'\nimport { Image } from '../../atoms/image/Image'\nimport { List } from '../../atoms/list/List'\nimport { Link } from '../../atoms/link/Link'\nimport { Title } from '../title/Title'\nimport './gallery.scss'\n\n/**\n * ! GALLERY MOLECULE COMPONENT\n * @name Gallery\n * @description Renders the Gallery that displays\n * a list of links based on the provided array data\n *\n * @param {GalleryProps} props\n * The Properties of the Gallery\n * \n * @param {Array} props.array\n * The Items Array of the Gallery\n * \n * @param {string} props.array.url\n * The URL of the Item\n * \n * @param {string} props.array.name\n * The Name of the Item\n * \n * @param {string} props.array.detail\n * The Detail of the Item\n * \n * @param {Object} props.array.caption\n * The Caption of the Item\n * \n * @param {string} props.array.caption.title\n * The Title of the Item\n * \n * @param {Array} props.array.caption.technos\n * The Technologies of the Item Caption\n * \n * @param {Object} props.array.image\n * The Image of the Item\n *\n * @param {string} props.array.image.url\n * The URL of the Item Image\n *\n * @param {string} props.array.image.alt\n * The Alternative Text of the Item Image\n *\n * @return {React.ReactElement<HTMLUListElement>}\n * The rendered Links\n */\nexport const Gallery =\n ({ array }: GalleryProps):\n React.ReactElement<HTMLUListElement> => {\n\n const renderItem =\n (item: GalleryItemProps, index: number):\n React.ReactElement<HTMLLIElement> => {\n\n const itemProps = {\n url: item.url,\n title: item.detail ? item.detail : undefined,\n design: 'link',\n content: (\n <Card\n caption={item.caption && <Title txt={item.caption.title} />}\n content={item.image && <Image url={item.image.url} alt={item.image.alt} />}\n />\n )\n };\n\n if (item.name) {\n itemProps.content = <>{item.name}</>\n itemProps.design = 'btn'\n\n } else if (item.caption && item.caption.technos) {\n itemProps.content = (\n <Card\n caption={\n <>\n <Title txt={item.caption.title} />\n <List\n array={item.caption.technos.map((techno) => \n <Icon name={techno} option=\"lg\" isHidden={false} />\n )}\n />\n </>\n }\n content={<Image url={item.image?.url ?? ''} alt={item.image?.alt ?? ''} />}\n />\n );\n }\n\n return <Link key={index} {...itemProps} />;\n };\n\n return <List array={array.map(renderItem)} />;\n}\n","import { NavbarProps } from './NavbarProps'\nimport { Button } from '../button/Button'\nimport { List } from '../../atoms/list/List'\nimport './navbar.scss'\n\n/**\n * ! NAVBAR MOLECULE COMPONENT\n * @name Navbar\n * @description Renders the Navbar with a Brand, an Links Array as an unordered list & an Option\n * \n * @param {NavbarProps} props\n * The Properties of the Navbar\n *\n * @param {ButtonProps} props.brand\n * The Brand of the Navbar\n *\n * @param {Array<ButtonProps>} props.links\n * The Links of the Navbar\n *\n * @param {ButtonProps} props.contact\n * The Contact of the Navbar\n *\n * @returns {React.ReactElement<HTMLElement>}\n * The rendered Navbar\n */\nexport const Navbar =\n ({ brand, links, contact }: NavbarProps) :\n React.ReactElement<HTMLElement> => {\n\n return (\n <nav className=\"navbar\">\n <Button\n link={brand.link}\n ico={brand.ico}\n txt=\"\"\n />\n\n <List\n array={links.map((item) =>\n <Button\n link={item.link}\n ico={item.ico}\n txt={item.txt}\n />\n )}\n />\n\n <Button\n link={contact.link}\n ico={contact.ico}\n txt=\"\"\n />\n </nav>\n )\n}\n","import { useEffect, useState } from \"react\";\nimport { SliderProps } from \"./SliderProps\";\nimport { Icon } from \"../../atoms/icon/Icon\";\nimport \"./slider.scss\";\n\n/**\n * ! SLIDER MOLECULE COMPONENT\n * @name Slider\n * @description Renders the Slider that displays an Array of items &\n * allows the user to navigate through or to watch them in auto sequence\n *\n * @param {SliderProps} props\n * The Properties of the Slider\n * \n * @param {Array<React.ReactElement>} props.array\n * The Items Array of the Slider\n * \n * @param {number} props.timer\n * The Timer of the Slider\n * @default 5000\n *\n * @return {React.ReactElement<HTMLElement>}\n * The rendered Slider\n */\nexport const Slider =\n ({ array, timer = 5000 }: SliderProps) :\n React.ReactElement<HTMLElement> => {\n\n const LENGTH: number = array.length;\n\n const [i, setIndex]: [number, React.Dispatch<React.SetStateAction<number>>] = useState(0);\n const goNext: () => void = () => setIndex((i) => (i + 1) % LENGTH);\n const goPrevious: () => void = () => setIndex((i) => (i - 1 + LENGTH) % LENGTH);\n\n //! ********** AUTOPLAY **********\n\n let [isAuto, setAuto]: [boolean, React.Dispatch<React.SetStateAction<boolean>>] = useState(timer !== 0);\n const toggleAuto: () => void = () => setAuto((state) => !state);\n\n useEffect(() => {\n let interval: number;\n if (isAuto) interval = setInterval(() => goNext(), timer);\n\n return () => clearInterval(interval);\n }, [isAuto, LENGTH]);\n\n //! ********** KEYBOARD EVENTS **********\n\n const handleKeyDown: (event: KeyboardEvent) => void = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowLeft':\n goPrevious();\n break;\n case 'ArrowRight':\n goNext();\n break;\n case 'a':\n case 'A':\n case 'p':\n case 'P':\n toggleAuto();\n break;\n default:\n break;\n }\n }\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, []);\n\n //! ********** RENDER **********\n\n return (\n <figure\n className=\"slider\"\n role=\"region\"\n aria-label=\"slider\"\n >\n {array[i]}\n\n {LENGTH > 1 && (\n <nav>\n <Icon\n name=\"chevron-left\"\n cat=\"solid\"\n isHidden={false}\n event={goPrevious}\n />\n\n <Icon\n name=\"chevron-right\"\n cat=\"solid\"\n isHidden={false}\n event={goNext}\n />\n\n <Icon\n name={isAuto ? 'pause' : 'play'}\n cat=\"solid\"\n isHidden={false}\n event={toggleAuto}\n />\n </nav>\n )}\n\n <progress value={(i + 1) / LENGTH}></progress>\n </figure>\n )\n}\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","Card","content","caption","Collapse","title","Icon","cat","option","isHidden","event","Image","url","alt","design","Link","label","isExternal","List","array","index","Fragment","Button","link","ico","txt","Footer","links","Title","lvl","sub","Heading","Gallery","renderItem","itemProps","techno","_a","_b","Navbar","brand","contact","Slider","timer","LENGTH","setIndex","useState","goNext","goPrevious","isAuto","setAuto","toggleAuto","state","useEffect","interval","handleKeyDown"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file +{"version":3,"file":"index.umd.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","../lib/atoms/card/Card.tsx","../lib/atoms/collapse/Collapse.tsx","../lib/atoms/icon/Icon.tsx","../lib/atoms/image/Image.tsx","../lib/atoms/link/Link.tsx","../lib/atoms/list/List.tsx","../lib/molecules/button/Button.tsx","../lib/molecules/footer/Footer.tsx","../lib/molecules/title/Title.tsx","../lib/molecules/gallery/Gallery.tsx","../lib/molecules/navbar/Navbar.tsx","../lib/molecules/slider/Slider.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 { CardProps } from './CardProps'\nimport './card.scss'\n\n/**\n * ! CARD ATOM COMPONENT\n * @name Card\n * @description Renders the Card with a Content & an optional Caption\n *\n * @param {CardProps} props\n * The Properties of the Card\n *\n * @param {React.ReactElement|undefined} props.content\n * The Content of the Card\n *\n * @param {React.ReactElement|string} [props.caption=\"\"]\n * The optional Caption of the Card\n * @default \"\"\n *\n * @return {React.ReactElement<HTMLElement>}\n * The rendered Card\n */\nexport const Card =\n ({ content, caption = \"\" }: CardProps):\n React.ReactElement<HTMLElement> => {\n\n return (\n <figure className=\"card\">\n {content}\n {caption && <figcaption>{caption}</figcaption>}\n </figure>\n )\n}\n","import { CollapseProps } from './CollapseProps'\nimport \"./collapse.scss\";\n\n/**\n * ! COLLAPSE ATOM COMPONENT\n * @name Collapse\n * @description Renders the Collapse with a Summary & a Content\n *\n * @param {CollapseProps} props\n * The Properties of the Collapse\n *\n * @param {React.ReactElement|string} props.title\n * The Title of the Collapse\n *\n * @param {React.ReactElement|string} props.content\n * The Content of the Collapse\n *\n * @return {React.ReactElement<HTMLDetailsElement>}\n * The rendered Collapse\n */\nexport const Collapse =\n ({ title, content }: CollapseProps):\n React.ReactElement<HTMLDetailsElement> => {\n\n return (\n <details className=\"collapse\">\n <summary>{title}</summary>\n <figure>{content}</figure>\n </details>\n )\n}\n","import { IconProps } from './IconProps'\n\n/**\n * ! ICON ATOM COMPONENT\n * @name Icon\n * @description Renders the Icon with a Name, an optional Category,\n * an optional Option, an optional Visibility & an optional Event\n * If the event is defined, the onClick & onKeyDown events will be triggered\n * @see {@link https://fontawesome.com/v5/search?o=r&m=free}\n *\n * @param {IconProps} props\n * The Properties of the Icon\n *\n * @param {string} props.name\n * The Name of the Icon\n *\n * @param {string} [props.cat=\"brands\"]\n * The Category of the Icon\n * @default \"brands\"\n *\n * @param {string} [props.option=\"2x\"]\n * The Option of the Icon\n * @default \"2x\"\n *\n * @param {boolean} [props.isHidden=true]\n * The Visibility of the Icon\n * @default true\n *\n * @param {(React.MouseEvent<HTMLElement>|React.KeyboardEvent<HTMLElement>)|undefined} [props.event=undefined]\n * The Event of the Icon\n * @default undefined\n *\n * @return {React.ReactElement<HTMLElement>}\n * The rendered Icon\n */\nexport const Icon =\n ({ name, cat = \"brands\", option = \"2x\", isHidden = true, event = undefined }: IconProps):\n React.ReactElement<HTMLElement> => {\n\n return (\n <i\n {...(event\n ? { 'className': `fa-${cat} fa-${name} fa-${option}` }\n : { 'className': `fa-${cat} fa-${name} fa-${option} fa-fw` }\n )}\n aria-hidden={isHidden}\n {...(event ? { 'onClick': (e) => event(e as React.MouseEvent<HTMLElement>) } : {})}\n {...(event ? { 'onKeyDown': (e) => event(e as React.KeyboardEvent<HTMLElement>) } : {})}\n {...(event ? { 'tabIndex': 0 } : {})}\n ></i>\n )\n}\n","import { ImageProps } from './ImageProps'\nimport './image.scss'\n\n/**\n * ! IMAGE ATOM COMPONENT\n * @description Renders the Image with an URL & an Alternative Text\n *\n * @param {ImageProps} props\n * The Properties of the Image\n *\n * @param {string} props.url\n * The URL of the Image\n *\n * @param {string} props.alt\n * The Alternative Text of the Image\n *\n * @param {string} [props.design=\"image\"]\n * The Design Class of the Image\n *\n * @return {React.ReactElement<HTMLImageElement>}\n * The rendered Image\n */\nexport const Image =\n ({ url, alt, design = 'image' }: ImageProps):\n React.ReactElement<HTMLImageElement> => {\n\n return (\n <img\n src={url}\n alt={alt}\n className={design}\n loading=\"lazy\"\n />\n )\n}\n","import { LinkProps } from './LinkProps'\nimport './link.scss'\n\n/**\n * ! LINK ATOM COMPONENT\n * @name Link\n * @description Renders the Link with a Content, an URL,\n * an optional Design class, an optional Aria Label & an optional Title\n * If the URL starts with \"https\", it will be rendered as an external Link\n * with target=\"_blank\" & rel=\"noopener noreferrer\"\n *\n * @param {LinkProps} props\n * The Properties of the Link\n *\n * @param {React.ReactElement|string} props.content\n * The Content of the Link\n *\n * @param {string} props.url\n * The URL of the Link\n *\n * @param {string} [props.design=\"link\"]\n * The Design Class of the Link\n * @default \"link\"\n *\n * @param {string} [props.label=\"\"]\n * The Aria Label of the Link\n * @default \"\"\n *\n * @param {string} [props.title=\"\"]\n * The Title of the Link\n * @default \"\"\n *\n * @return {React.ReactElement<HTMLLinkElement>}\n * The rendered Link\n */\nexport const Link =\n ({ content, url, design=\"link\", label=\"\", title=\"\" }: LinkProps):\n React.ReactElement<HTMLLinkElement> => {\n\n const isExternal = url.startsWith('https')\n\n return (\n <a\n href={url}\n className={`${design}`}\n {...(label ? { 'aria-label': label } : {})}\n {...(title ? { 'title': title } : {})}\n {...(isExternal ? { 'rel': 'noopener noreferrer' } : {})}\n {...(isExternal ? { 'target': '_blank' } : {})}\n >\n {content}\n </a>\n )\n}\n","import { ListProps } from \"./ListProps\"\nimport \"./list.scss\"\n\n/**\n * ! LIST ATOM COMPONENT\n * @name List\n * @description Renders the List with an Items Array as an unordered list\n *\n * @param {ListProps} props\n * The Properties of the List\n * \n * @param {React.ReactElement[]|string[]} props.array\n * The Array of items to render in the List\n *\n * @return {React.ReactElement<HTMLUListElement>}\n * The rendered List\n */\nexport const List =\n ({ array }: ListProps):\n React.ReactElement<HTMLUListElement> => {\n\n return (\n <ul className=\"list\">\n {array.map((item, index) => \n <li key={index}>\n <>{item}</>\n </li>\n )}\n </ul>\n )\n}\n","import { ButtonProps } from './ButtonProps'\nimport { IconProps } from '../../atoms/icon/IconProps'\nimport { LinkProps } from '../../atoms/link/LinkProps'\nimport { Icon } from '../../atoms/icon/Icon'\nimport { Link } from '../../atoms/link/Link'\nimport './button.scss'\n\n/**\n * ! BUTTON MOLECULE COMPONENT\n * @name Button\n * @description Renders the Button that displays a Link with an Icon & a Text\n *\n * @param {ButtonProps} props\n * The Properties of the Button\n *\n * @param {LinkProps} props.link\n * The Link of the Button\n *\n * @param {string} props.ico\n * The Icon of the Button\n *\n * @param {string} props.txt\n * The Text of the Button\n *\n * @returns {React.ReactElement<HTMLLinkElement>}\n * The rendered Button\n */\nexport const Button =\n ({ link, ico, txt }:\n ButtonProps): React.ReactElement<HTMLLinkElement> => {\n\n const { url, label }: LinkProps = link\n const { name, cat, option }: IconProps = ico\n\n return (\n <Link\n url={url}\n label={label}\n design=\"link button\"\n content={\n\n <>\n <Icon\n name={name}\n cat={cat}\n option={option}\n isHidden={false}\n event={undefined}\n />\n {txt && <b>{txt}</b>}\n </>\n }\n />\n )\n}\n","import { FooterProps } from './FooterProps'\nimport { Button } from '../button/Button'\nimport { List } from '../../atoms/list/List'\nimport './footer.scss'\n\n/**\n * ! FOOTER MOLECULE COMPONENT\n * @name Footer\n * @description Renders the Footer with a Links Array as an unordered list\n *\n * @param {FooterProps} props\n * The Properties of the Footer\n *\n * @param {Array<ButtonProps>} props.links\n * The Links of the Footer\n *\n * @returns {React.ReactElement<HTMLElement>}\n * The rendered Footer\n */\nexport const Footer =\n ({ links }: FooterProps):\n React.ReactElement<HTMLElement> => {\n\n return (\n <footer id=\"contact\">\n <List\n array={links.map((item) =>\n <Button\n link={item.link}\n ico={item.ico}\n txt=\"\"\n />\n )}\n />\n </footer>\n )\n}\n","import React from 'react'\nimport { TitleProps } from \"./TitleProps\"\nimport { Icon } from '../../atoms/icon/Icon'\nimport \"./title.scss\"\n\n/**\n * ! TITLE MOLECULE COMPONENT\n * @name Title\n * @description Renders the Title with a Main Text,\n * an optional Level, an optional Subtitle & an optional Icon\n *\n * @param {TitleProps} props\n * The Properties of the Title\n *\n * @param {string} props.txt\n * The Text of the Title\n *\n * @param {number} [props.lvl=4]\n * The Level of the Title\n * @default 4\n *\n * @param {string} [props.sub=\"\"]\n * The Subtitle of the Title\n * @default \"\"\n *\n * @param {IconProps|undefined} [props.ico=undefined]\n * The Icon of the Title\n * @default undefined\n *\n * @returns {React.ReactElement<HTMLHeadingElement>}\n * The rendered Title\n */\nexport const Title =\n ({ txt, lvl = 4, sub = \"\", ico = undefined }: TitleProps):\n React.ReactElement<HTMLHeadingElement> => {\n\n lvl = Number(lvl)\n if (lvl < 1 || lvl > 3) lvl = 4\n const Heading = `h${lvl}`\n\n return (\n <hgroup className=\"title\">\n {ico && <p>{React.createElement(Icon, ico)}</p>}\n {React.createElement(Heading, {}, txt)}\n {sub && <p>{sub}</p>}\n </hgroup>\n )\n}\n","import { GalleryItemProps } from './GalleryItemProps'\nimport { GalleryProps } from './GalleryProps'\nimport { Card } from '../../atoms/card/Card'\nimport { Icon } from '../../atoms/icon/Icon'\nimport { Image } from '../../atoms/image/Image'\nimport { List } from '../../atoms/list/List'\nimport { Link } from '../../atoms/link/Link'\nimport { Title } from '../title/Title'\nimport './gallery.scss'\n\n/**\n * ! GALLERY MOLECULE COMPONENT\n * @name Gallery\n * @description Renders the Gallery that displays\n * a list of links based on the provided array data\n *\n * @param {GalleryProps} props\n * The Properties of the Gallery\n * \n * @param {Array} props.array\n * The Items Array of the Gallery\n * \n * @param {string} props.array.url\n * The URL of the Item\n * \n * @param {string} props.array.name\n * The Name of the Item\n * \n * @param {string} props.array.detail\n * The Detail of the Item\n * \n * @param {Object} props.array.caption\n * The Caption of the Item\n * \n * @param {string} props.array.caption.title\n * The Title of the Item\n * \n * @param {Array} props.array.caption.technos\n * The Technologies of the Item Caption\n * \n * @param {Object} props.array.image\n * The Image of the Item\n *\n * @param {string} props.array.image.url\n * The URL of the Item Image\n *\n * @param {string} props.array.image.alt\n * The Alternative Text of the Item Image\n *\n * @return {React.ReactElement<HTMLUListElement>}\n * The rendered Links\n */\nexport const Gallery =\n ({ array }: GalleryProps):\n React.ReactElement<HTMLUListElement> => {\n\n const renderItem =\n (item: GalleryItemProps, index: number):\n React.ReactElement<HTMLLIElement> => {\n\n const itemProps = {\n url: item.url,\n title: item.detail ? item.detail : undefined,\n design: 'link',\n content: (\n <Card\n caption={item.caption && <Title txt={item.caption.title} />}\n content={item.image && <Image url={item.image.url} alt={item.image.alt} />}\n />\n )\n };\n\n if (item.name) {\n itemProps.content = <>{item.name}</>\n itemProps.design = 'btn'\n\n } else if (item.caption && item.caption.technos) {\n itemProps.content = (\n <Card\n caption={\n <>\n <Title txt={item.caption.title} />\n <List\n array={item.caption.technos.map((techno) => \n <Icon name={techno} option=\"lg\" isHidden={false} />\n )}\n />\n </>\n }\n content={<Image url={item.image?.url ?? ''} alt={item.image?.alt ?? ''} />}\n />\n );\n }\n\n return <Link key={index} {...itemProps} />;\n };\n\n return <List array={array.map(renderItem)} />;\n}\n","import { NavbarProps } from './NavbarProps'\nimport { Button } from '../button/Button'\nimport { List } from '../../atoms/list/List'\nimport './navbar.scss'\n\n/**\n * ! NAVBAR MOLECULE COMPONENT\n * @name Navbar\n * @description Renders the Navbar with a Brand, an Links Array as an unordered list & an Option\n * \n * @param {NavbarProps} props\n * The Properties of the Navbar\n *\n * @param {ButtonProps} props.brand\n * The Brand of the Navbar\n *\n * @param {Array<ButtonProps>} props.links\n * The Links of the Navbar\n *\n * @param {ButtonProps} props.contact\n * The Contact of the Navbar\n *\n * @returns {React.ReactElement<HTMLElement>}\n * The rendered Navbar\n */\nexport const Navbar =\n ({ brand, links, contact }: NavbarProps) :\n React.ReactElement<HTMLElement> => {\n\n return (\n <nav className=\"navbar\">\n <Button\n link={brand.link}\n ico={brand.ico}\n txt=\"\"\n />\n\n <List\n array={links.map((item) =>\n <Button\n link={item.link}\n ico={item.ico}\n txt={item.txt}\n />\n )}\n />\n\n <Button\n link={contact.link}\n ico={contact.ico}\n txt=\"\"\n />\n </nav>\n )\n}\n","import { useEffect, useState } from \"react\";\nimport { SliderProps } from \"./SliderProps\";\nimport { Icon } from \"../../atoms/icon/Icon\";\nimport \"./slider.scss\";\n\n/**\n * ! SLIDER MOLECULE COMPONENT\n * @name Slider\n * @description Renders the Slider that displays an Array of items &\n * allows the user to navigate through or to watch them in auto sequence\n *\n * @param {SliderProps} props\n * The Properties of the Slider\n * \n * @param {Array<React.ReactElement>} props.array\n * The Items Array of the Slider\n * \n * @param {number} props.timer\n * The Timer of the Slider\n * @default 5000\n *\n * @return {React.ReactElement<HTMLElement>}\n * The rendered Slider\n */\nexport const Slider =\n ({ array, timer = 5000 }: SliderProps) :\n React.ReactElement<HTMLElement> => {\n\n const LENGTH: number = array.length;\n\n const [i, setIndex]: [number, React.Dispatch<React.SetStateAction<number>>] = useState(0);\n const goNext: () => void = () => setIndex((i) => (i + 1) % LENGTH);\n const goPrevious: () => void = () => setIndex((i) => (i - 1 + LENGTH) % LENGTH);\n\n //! ********** AUTOPLAY **********\n\n let [isAuto, setAuto]: [boolean, React.Dispatch<React.SetStateAction<boolean>>] = useState(timer !== 0);\n const toggleAuto: () => void = () => setAuto((state) => !state);\n\n useEffect(() => {\n let interval: number;\n if (isAuto) interval = setInterval(() => goNext(), timer);\n\n return () => clearInterval(interval);\n }, [isAuto, LENGTH]);\n\n //! ********** KEYBOARD EVENTS **********\n\n const handleKeyDown: (event: KeyboardEvent) => void = (event: KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowLeft':\n goPrevious();\n break;\n case 'ArrowRight':\n goNext();\n break;\n case 'a':\n case 'A':\n case 'p':\n case 'P':\n toggleAuto();\n break;\n default:\n break;\n }\n }\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, []);\n\n //! ********** RENDER **********\n\n return (\n <figure\n className=\"slider\"\n role=\"region\"\n aria-label=\"slider\"\n >\n {array[i]}\n\n {LENGTH > 1 && (\n <nav>\n <Icon\n name=\"chevron-left\"\n cat=\"solid\"\n isHidden={false}\n event={goPrevious}\n />\n\n <Icon\n name=\"chevron-right\"\n cat=\"solid\"\n isHidden={false}\n event={goNext}\n />\n\n <Icon\n name={isAuto ? 'pause' : 'play'}\n cat=\"solid\"\n isHidden={false}\n event={toggleAuto}\n />\n </nav>\n )}\n\n <progress value={(i + 1) / LENGTH}></progress>\n </figure>\n )\n}\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","Card","content","caption","Collapse","title","Icon","cat","option","isHidden","event","Image","url","alt","design","Link","label","isExternal","List","array","index","Fragment","Button","link","ico","txt","Footer","links","Title","lvl","sub","Heading","Gallery","renderItem","itemProps","techno","_a","_b","Navbar","brand","contact","Slider","timer","LENGTH","setIndex","useState","goNext","goPrevious","isAuto","setAuto","toggleAuto","state","useEffect","interval","handleKeyDown"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/dist/style.css b/dist/style.css index 5dff084..2a3fbac 100644 --- a/dist/style.css +++ b/dist/style.css @@ -1 +1 @@ -@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}.card{box-sizing:border-box;margin:0;border:solid 2px hsl(0,0%,99%);border-radius:10px;width:100%}.card:hover,.card:focus{transform:scale(1.02);transition:all .5s}.card *{margin:0}.card>*:first-child{border-radius:10px 10px 0 0}.card figcaption{display:flex;flex-flow:column;place-content:space-evenly;place-items:center;box-sizing:border-box;margin-top:-5px;border-radius:0 0 10px 10px;padding:5px 10px;height:120px;background-color:#333;color:#fcfcfc}.card figcaption>*{margin:0}.card:hover figcaption,.card:focus figcaption{color:#9f9}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}.collapse>figure{margin:20px}.collapse[open] summary,.collapse summary:hover,.collapse summary:focus{background-color:#fcfcfc;color:#333}.collapse summary{margin:auto;border-radius:5px;padding:10px;width:150px;list-style:none;background-color:#9f9;color:#030303;cursor:pointer}.collapse summary :first-child{margin:0;padding:1px}@media (min-width: 22.5rem){.collapse summary{border-radius:10px;width:160px}}@media (min-width: 36rem){.collapse summary{border-radius:15px;width:170px}}@media (min-width: 48rem){.collapse summary{border-radius:20px;width:190px}}@media (min-width: 64rem){.collapse summary{border-radius:25px;width:210px}}@media (min-width: 85.375rem){.collapse summary{border-radius:30px;width:230px}}@media (min-width: 96rem){.collapse summary{border-radius:35px;width:250px}}@media (min-width: 120rem){.collapse summary{border-radius:40px;width:270px}}[open] .fa-css3,*:hover>*>.fa-css3,*:focus>*>*>.fa-css3{color:#1572b6}[open] .fa-database,*:hover>*>.fa-database,*:focus>*>*>.fa-database{color:#00758f}[open] .fa-html5,*:hover>*>.fa-html5,*:focus>*>*>.fa-html5{color:#e44d26}[open] .fa-square-js,*:hover>*>.fa-square-js,*:focus>*>*>.fa-square-js{color:#f0db4f}[open] .fa-vuejs,*:hover>*>.fa-vuejs,*:focus>*>*>.fa-vuejs{color:#42b883}[open] .fa-node-js,*:hover>*>.fa-node-js,*:focus>*>*>.fa-node-js{color:#3c873a}[open] .fa-php,*:hover>*>.fa-php,*:focus>*>*>.fa-php{color:#777bb4}[open] .fa-python,*:hover>*>.fa-python,*:focus>*>*>.fa-python{color:#3776ab}[open] .fa-react,*:hover>*>.fa-react,*:focus>*>*>.fa-react{color:#61dbfb}[open] .fa-sass,*:hover>*>.fa-sass,*:focus>*>*>.fa-sass{color:#cd6799}[open] .fa-sitemap,*:hover>*>.fa-sitemap,*:focus>*>*>.fa-sitemap{color:#3498db}[open] .fa-square-git,*:hover>*>.fa-square-git,*:focus>*>*>.fa-square-git{color:#f1502f}[open] .fa-dev,*:hover>*>.fa-dev,*:focus>*>*>.fa-dev{color:#000}.image{max-width:100%;height:auto;object-fit:contain}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}.link,.btn{display:flex;place-content:center;place-items:center;gap:5px;width:100%;height:100%;font-family:UbuntuMono,Courier,monospace;text-decoration:none;color:#030303}.btn{box-sizing:border-box;border:solid 2px hsl(270,100%,80%);border-radius:10px;padding:2.5px 5px;background-color:#333;color:#fcfcfc}.btn:hover,.btn:focus{border-radius:5px;background-color:#c9f;color:#333;transform:scale(1.05);transition:all .5s}@media (min-width: 22.5rem){.link,.btn{gap:7.5px}.btn{padding:3.75px 7.5px}}@media (min-width: 36rem){.link,.btn{gap:10px}.btn{padding:5px 10px}}@media (min-width: 48rem){.link,.btn{gap:12.5px}.btn{padding:6.25px 12.5px}}@media (min-width: 64rem){.link,.btn{gap:15px}.btn{padding:7.5px 15px}}@media (min-width: 85.375rem){.link,.btn{gap:17.5px}.btn{padding:8.75px 17.5px}}@media (min-width: 96rem){.link,.btn{gap:20px}.btn{padding:10px 20px}}@media (min-width: 120rem){.link,.btn{gap:22.5px}.btn{padding:11.25px 22.5px}}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}.list{display:flex;flex-flow:wrap;gap:5px;place-content:center;place-items:center;margin:0;padding:0;list-style:none}@media (min-width: 22.5rem){.list{gap:7.5px}}@media (min-width: 36rem){.list{gap:10px}}@media (min-width: 48rem){.list{gap:12.5px}}@media (min-width: 64rem){.list{gap:15px}}@media (min-width: 85.375rem){.list{gap:17.5px}}@media (min-width: 96rem){.list{gap:20px}}@media (min-width: 120rem){.list{gap:22.5px}}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}.button{width:fit-content}.button:hover,.button:focus{color:#333;transform:scale(.9);transition:all .5s}.button b{display:none}.button .fa-github:hover,.button .fa-github:focus{color:#010409}.button .fa-linkedin-in:hover,.button .fa-linkedin-in:focus{color:#0077b5}.button .fa-medium:hover,.button .fa-medium:focus{color:#00ab6c}.button .fa-npm:hover,.button .fa-npm:focus{color:#ea2039}.button .fa-paper-plane:hover,.button .fa-paper-plane:focus{color:#8a2be2}@media (min-width: 48rem){.button b{display:block;text-transform:uppercase}}@media (min-width: 85.375rem){.button b{text-transform:capitalize}}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}[id=contact]{display:flex;place-content:center;padding:20px 0;width:100%;background-color:#333}[id=contact] li{display:flex;place-content:center;place-items:center;border:solid 2px hsl(0,0%,80%);border-radius:50%;width:30px;height:30px;font-size:1.2rem;background-color:#fcfcfc}[id=contact] li i{color:#333}@media (min-width: 22.5rem){[id=contact] li{width:35px;height:35px;font-size:1.44rem}}@media (min-width: 36rem){[id=contact] li{width:40px;height:40px;font-size:1.68rem}}@media (min-width: 48rem){[id=contact] li{width:45px;height:45px;font-size:1.92rem}}@media (min-width: 64rem){[id=contact] li{width:50px;height:50px;font-size:2.16rem}}@media (min-width: 85.375rem){[id=contact] li{width:55px;height:55px;font-size:2.4rem}}@media (min-width: 96rem){[id=contact] li{width:60px;height:60px;font-size:2.64rem}}@media (min-width: 120rem){[id=contact] li{width:65px;height:65px;font-size:2.88rem}}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}.title{display:flex;flex-flow:column;gap:5px;margin:0 0 20px;font-family:Trocchi,Times,serif;text-align:center}.title h1,.title h2,.title h3,.title h4,.title p{margin:0}.title h1+p,.title h2+p,.title h3+p,.title h4+p{color:#ccc}.title h1{font-size:1.92rem}.title h1+p{font-size:1.344rem}.title h2{font-size:1.68rem}.title h2+p{font-size:1.176rem}.title h3{font-size:1.44rem}.title h3+p{font-size:1.008rem}.title h4{font-size:1.2rem}.title h4+p{font-size:.84rem}@media (min-width: 22.5rem){.title{gap:5.5px;margin:0 0 24px}.title h1{font-size:2.112rem}.title h1+p{font-size:1.4784rem}.title h2{font-size:1.848rem}.title h2+p{font-size:1.2936rem}.title h3{font-size:1.584rem}.title h3+p{font-size:1.1088rem}.title h4{font-size:1.32rem}.title h4+p{font-size:.924rem}}@media (min-width: 36rem){.title{gap:6px;margin:0 0 28px}.title h1{font-size:2.304rem}.title h1+p{font-size:1.6128rem}.title h2{font-size:2.016rem}.title h2+p{font-size:1.4112rem}.title h3{font-size:1.728rem}.title h3+p{font-size:1.2096rem}.title h4{font-size:1.44rem}.title h4+p{font-size:1.008rem}}@media (min-width: 48rem){.title{gap:6.5px;margin:0 0 32px}.title h1{font-size:2.496rem}.title h1+p{font-size:1.7472rem}.title h2{font-size:2.184rem}.title h2+p{font-size:1.5288rem}.title h3{font-size:1.872rem}.title h3+p{font-size:1.3104rem}.title h4{font-size:1.56rem}.title h4+p{font-size:1.092rem}}@media (min-width: 64rem){.title{gap:7px;margin:0 0 36px}.title h1{font-size:2.688rem}.title h1+p{font-size:1.8816rem}.title h2{font-size:2.352rem}.title h2+p{font-size:1.6464rem}.title h3{font-size:2.016rem}.title h3+p{font-size:1.4112rem}.title h4{font-size:1.68rem}.title h4+p{font-size:1.176rem}}@media (min-width: 85.375rem){.title{gap:7.5px;margin:0 0 40px}.title h1{font-size:2.88rem}.title h1+p{font-size:2.016rem}.title h2{font-size:2.52rem}.title h2+p{font-size:1.764rem}.title h3{font-size:2.16rem}.title h3+p{font-size:1.512rem}.title h4{font-size:1.8rem}.title h4+p{font-size:1.26rem}}@media (min-width: 96rem){.title{gap:8px;margin:0 0 44px}.title h1{font-size:3.072rem}.title h1+p{font-size:2.1504rem}.title h2{font-size:2.688rem}.title h2+p{font-size:1.8816rem}.title h3{font-size:2.304rem}.title h3+p{font-size:1.6128rem}.title h4{font-size:1.92rem}.title h4+p{font-size:1.344rem}}@media (min-width: 120rem){.title{gap:8.5px;margin:0 0 48px}.title h1{font-size:3.264rem}.title h1+p{font-size:2.2848rem}.title h2{font-size:2.856rem}.title h2+p{font-size:1.9992rem}.title h3{font-size:2.448rem}.title h3+p{font-size:1.7136rem}.title h4{font-size:2.04rem}.title h4+p{font-size:1.428rem}}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}@media (min-width: 22.5rem){.collapse figure>.list>li{width:calc((100% + -0px)*1)}}@media (min-width: 36rem){.collapse figure>.list>li{width:calc((100% - 15px)/2)}}@media (min-width: 48rem){.collapse figure>.list>li{width:calc((100% - 20px)/2)}}@media (min-width: 64rem){.collapse figure>.list>li{width:calc((100% - 50px) / 3)}}@media (min-width: 85.375rem){.collapse figure>.list>li{width:calc((100% - 60px) / 3)}}@media (min-width: 96rem){.collapse figure>.list>li{width:calc((100% - 105px)/4)}}@media (min-width: 120rem){.collapse figure>.list>li{width:calc((100% - 120px)/4)}}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}.navbar{display:flex;place-content:space-between;place-items:center;position:fixed;z-index:1000;top:0;box-sizing:border-box;padding:2px 5px;width:100%;font-size:.7rem;background-color:#c9f;color:#030303}.navbar ul{flex-flow:nowrap}@media (min-width: 22.5rem){.navbar{padding:3px 10px;font-size:.8rem}}@media (min-width: 36rem){.navbar{padding:4px 15px;font-size:.9rem}}@media (min-width: 48rem){.navbar{padding:5px 0;font-size:1rem}}@media (min-width: 64rem){.navbar{padding:6px 0;font-size:1.1rem}}@media (min-width: 85.375rem){.navbar{padding:7px 0;font-size:1.2rem}}@media (min-width: 96rem){.navbar{padding:8px 0;font-size:1.3rem}}@media (min-width: 120rem){.navbar{padding:9px 0;font-size:1.4rem}}@media (min-width: 48rem){.navbar{place-content:space-around}}@media (min-width: 85.375rem){.navbar{place-content:space-evenly}}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}@keyframes grow-min{0%{transform:scale(.7)}}@keyframes grow-max{0%{transform:scale(0)}}@keyframes slide-top{0%{transform:translateY(100%)}}@keyframes slide-right{0%{transform:translate(-100%)}}@keyframes turn-x{0%{transform:rotateX(360deg)}}@keyframes turn-y{0%{transform:rotateY(360deg)}}@keyframes turn-z{0%{transform:rotate(360deg)}}@keyframes turn-xy{0%{transform:rotate3d(1,1,0,360deg)}}@keyframes turn-xz{0%{transform:rotate3d(1,0,1,360deg)}}@keyframes turn-yz{0%{transform:rotate3d(0,1,1,360deg)}}@keyframes turn-3d{0%{transform:rotate3d(1,1,1,360deg)}}body{margin:0;font-family:Geologica,Helvetica,sans-serif;font-size:1rem;background-color:#030303;color:#fcfcfc}.slider{position:relative;margin:0;padding:0 20px 32px}.slider+*{display:flex;flex-flow:column;place-content:center;place-items:center}.slider nav i{position:absolute;color:#fcfcfc;cursor:pointer}.slider nav i:hover,.slider nav i:focus{color:#c9f}.slider nav [class*=left]{left:0}.slider nav [class*=right]{right:0}.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 36px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 8px);bottom:0}.slider nav i{font-size:1.5rem}@media (min-width: 22.5rem){.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 43px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 11px);bottom:-2px}.slider nav i{font-size:2.25rem}}@media (min-width: 36rem){.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 50px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 15px);bottom:-13px}.slider nav i{font-size:3rem}}@media (min-width: 48rem){.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 56px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 19px);bottom:-25px}.slider nav i{font-size:3.75rem}}@media (min-width: 64rem){.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 63px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 22px);bottom:-37px}.slider nav i{font-size:4.5rem}}@media (min-width: 85.375rem){.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 70px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 26px);bottom:-48px}.slider nav i{font-size:5.25rem}}@media (min-width: 96rem){.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 77px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 30px);bottom:-61px}.slider nav i{font-size:6rem}}@media (min-width: 120rem){.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 84px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 34px);bottom:-74px}.slider nav i{font-size:6.75rem}} +@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}.card{box-sizing:border-box;margin:0;border:solid 2px hsl(0,0%,99%);border-radius:10px;width:100%}.card:hover,.card:focus{transform:scale(1.02);transition:all .5s}.card *{margin:0}.card>*:first-child{border-radius:10px 10px 0 0}.card figcaption{display:flex;flex-flow:column;place-content:space-evenly;place-items:center;box-sizing:border-box;margin-top:-5px;border-radius:0 0 10px 10px;padding:5px 10px;height:120px;background-color:#333;color:#fcfcfc}.card figcaption>*{margin:0}.card:hover figcaption,.card:focus figcaption{color:#9f9}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}.collapse>figure{margin:20px}.collapse[open] summary,.collapse summary:hover,.collapse summary:focus{background-color:#fcfcfc;color:#333}.collapse summary{margin:auto;border-radius:5px;padding:10px;width:150px;list-style:none;background-color:#9f9;color:#030303;cursor:pointer}.collapse summary :first-child{margin:0;padding:1px}@media (min-width: 22.5rem){.collapse summary{border-radius:10px;width:160px}}@media (min-width: 36rem){.collapse summary{border-radius:15px;width:170px}}@media (min-width: 48rem){.collapse summary{border-radius:20px;width:190px}}@media (min-width: 64rem){.collapse summary{border-radius:25px;width:210px}}@media (min-width: 85.375rem){.collapse summary{border-radius:30px;width:230px}}@media (min-width: 96rem){.collapse summary{border-radius:35px;width:250px}}@media (min-width: 120rem){.collapse summary{border-radius:40px;width:270px}}.image{max-width:100%;height:auto;object-fit:contain}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}.link,.btn{display:flex;place-content:center;place-items:center;gap:5px;width:100%;height:100%;font-family:UbuntuMono,Courier,monospace;text-decoration:none;color:#030303}.btn{box-sizing:border-box;border:solid 2px hsl(270,100%,80%);border-radius:10px;padding:2.5px 5px;background-color:#333;color:#fcfcfc}.btn:hover,.btn:focus{border-radius:5px;background-color:#c9f;color:#333;transform:scale(1.05);transition:all .5s}@media (min-width: 22.5rem){.link,.btn{gap:7.5px}.btn{padding:3.75px 7.5px}}@media (min-width: 36rem){.link,.btn{gap:10px}.btn{padding:5px 10px}}@media (min-width: 48rem){.link,.btn{gap:12.5px}.btn{padding:6.25px 12.5px}}@media (min-width: 64rem){.link,.btn{gap:15px}.btn{padding:7.5px 15px}}@media (min-width: 85.375rem){.link,.btn{gap:17.5px}.btn{padding:8.75px 17.5px}}@media (min-width: 96rem){.link,.btn{gap:20px}.btn{padding:10px 20px}}@media (min-width: 120rem){.link,.btn{gap:22.5px}.btn{padding:11.25px 22.5px}}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}.list{display:flex;flex-flow:wrap;gap:5px;place-content:center;place-items:center;margin:0;padding:0;list-style:none}@media (min-width: 22.5rem){.list{gap:7.5px}}@media (min-width: 36rem){.list{gap:10px}}@media (min-width: 48rem){.list{gap:12.5px}}@media (min-width: 64rem){.list{gap:15px}}@media (min-width: 85.375rem){.list{gap:17.5px}}@media (min-width: 96rem){.list{gap:20px}}@media (min-width: 120rem){.list{gap:22.5px}}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}.button{width:fit-content}.button:hover,.button:focus{color:#333;transform:scale(.9);transition:all .5s}.button b{display:none}.button .fa-linkedin-in:hover,.button .fa-linkedin-in:focus{color:#0077b5}.button .fa-medium:hover,.button .fa-medium:focus{color:#00ab6c}.button .fa-npm:hover,.button .fa-npm:focus{color:#ea2039}.button .fa-paper-plane:hover,.button .fa-paper-plane:focus{color:#8a2be2}@media (min-width: 48rem){.button b{display:block;text-transform:uppercase}}@media (min-width: 85.375rem){.button b{text-transform:capitalize}}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}[id=contact]{display:flex;place-content:center;padding:20px 0;width:100%;background-color:#333}[id=contact] li{display:flex;place-content:center;place-items:center;border:solid 2px hsl(0,0%,80%);border-radius:50%;width:30px;height:30px;font-size:1.2rem;background-color:#fcfcfc}[id=contact] li i{color:#333}@media (min-width: 22.5rem){[id=contact] li{width:35px;height:35px;font-size:1.44rem}}@media (min-width: 36rem){[id=contact] li{width:40px;height:40px;font-size:1.68rem}}@media (min-width: 48rem){[id=contact] li{width:45px;height:45px;font-size:1.92rem}}@media (min-width: 64rem){[id=contact] li{width:50px;height:50px;font-size:2.16rem}}@media (min-width: 85.375rem){[id=contact] li{width:55px;height:55px;font-size:2.4rem}}@media (min-width: 96rem){[id=contact] li{width:60px;height:60px;font-size:2.64rem}}@media (min-width: 120rem){[id=contact] li{width:65px;height:65px;font-size:2.88rem}}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}.title{display:flex;flex-flow:column;gap:5px;margin:0 0 20px;font-family:Trocchi,Times,serif;text-align:center}.title h1,.title h2,.title h3,.title h4,.title p{margin:0}.title h1+p,.title h2+p,.title h3+p,.title h4+p{color:#ccc}.title h1{font-size:1.92rem}.title h1+p{font-size:1.344rem}.title h2{font-size:1.68rem}.title h2+p{font-size:1.176rem}.title h3{font-size:1.44rem}.title h3+p{font-size:1.008rem}.title h4{font-size:1.2rem}.title h4+p{font-size:.84rem}@media (min-width: 22.5rem){.title{gap:5.5px;margin:0 0 24px}.title h1{font-size:2.112rem}.title h1+p{font-size:1.4784rem}.title h2{font-size:1.848rem}.title h2+p{font-size:1.2936rem}.title h3{font-size:1.584rem}.title h3+p{font-size:1.1088rem}.title h4{font-size:1.32rem}.title h4+p{font-size:.924rem}}@media (min-width: 36rem){.title{gap:6px;margin:0 0 28px}.title h1{font-size:2.304rem}.title h1+p{font-size:1.6128rem}.title h2{font-size:2.016rem}.title h2+p{font-size:1.4112rem}.title h3{font-size:1.728rem}.title h3+p{font-size:1.2096rem}.title h4{font-size:1.44rem}.title h4+p{font-size:1.008rem}}@media (min-width: 48rem){.title{gap:6.5px;margin:0 0 32px}.title h1{font-size:2.496rem}.title h1+p{font-size:1.7472rem}.title h2{font-size:2.184rem}.title h2+p{font-size:1.5288rem}.title h3{font-size:1.872rem}.title h3+p{font-size:1.3104rem}.title h4{font-size:1.56rem}.title h4+p{font-size:1.092rem}}@media (min-width: 64rem){.title{gap:7px;margin:0 0 36px}.title h1{font-size:2.688rem}.title h1+p{font-size:1.8816rem}.title h2{font-size:2.352rem}.title h2+p{font-size:1.6464rem}.title h3{font-size:2.016rem}.title h3+p{font-size:1.4112rem}.title h4{font-size:1.68rem}.title h4+p{font-size:1.176rem}}@media (min-width: 85.375rem){.title{gap:7.5px;margin:0 0 40px}.title h1{font-size:2.88rem}.title h1+p{font-size:2.016rem}.title h2{font-size:2.52rem}.title h2+p{font-size:1.764rem}.title h3{font-size:2.16rem}.title h3+p{font-size:1.512rem}.title h4{font-size:1.8rem}.title h4+p{font-size:1.26rem}}@media (min-width: 96rem){.title{gap:8px;margin:0 0 44px}.title h1{font-size:3.072rem}.title h1+p{font-size:2.1504rem}.title h2{font-size:2.688rem}.title h2+p{font-size:1.8816rem}.title h3{font-size:2.304rem}.title h3+p{font-size:1.6128rem}.title h4{font-size:1.92rem}.title h4+p{font-size:1.344rem}}@media (min-width: 120rem){.title{gap:8.5px;margin:0 0 48px}.title h1{font-size:3.264rem}.title h1+p{font-size:2.2848rem}.title h2{font-size:2.856rem}.title h2+p{font-size:1.9992rem}.title h3{font-size:2.448rem}.title h3+p{font-size:1.7136rem}.title h4{font-size:2.04rem}.title h4+p{font-size:1.428rem}}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}@media (min-width: 22.5rem){.collapse figure>.list>li{width:calc((100% + -0px)*1)}}@media (min-width: 36rem){.collapse figure>.list>li{width:calc((100% - 15px)/2)}}@media (min-width: 48rem){.collapse figure>.list>li{width:calc((100% - 20px)/2)}}@media (min-width: 64rem){.collapse figure>.list>li{width:calc((100% - 50px) / 3)}}@media (min-width: 85.375rem){.collapse figure>.list>li{width:calc((100% - 60px) / 3)}}@media (min-width: 96rem){.collapse figure>.list>li{width:calc((100% - 105px)/4)}}@media (min-width: 120rem){.collapse figure>.list>li{width:calc((100% - 120px)/4)}}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}.navbar{display:flex;place-content:space-between;place-items:center;position:fixed;z-index:1000;top:0;box-sizing:border-box;padding:2px 5px;width:100%;font-size:.7rem;background-color:#c9f;color:#030303}.navbar ul{flex-flow:nowrap}@media (min-width: 22.5rem){.navbar{padding:3px 10px;font-size:.8rem}}@media (min-width: 36rem){.navbar{padding:4px 15px;font-size:.9rem}}@media (min-width: 48rem){.navbar{padding:5px 0;font-size:1rem}}@media (min-width: 64rem){.navbar{padding:6px 0;font-size:1.1rem}}@media (min-width: 85.375rem){.navbar{padding:7px 0;font-size:1.2rem}}@media (min-width: 96rem){.navbar{padding:8px 0;font-size:1.3rem}}@media (min-width: 120rem){.navbar{padding:9px 0;font-size:1.4rem}}@media (min-width: 48rem){.navbar{place-content:space-around}}@media (min-width: 85.375rem){.navbar{place-content:space-evenly}}@font-face{font-family:Geologica;font-style:normal;font-weight:400;font-display:swap;src:local("Geologica-Regular"),url(/fonts/Geologica-Regular.woff2) format("woff2")}@font-face{font-family:Trocchi;font-style:normal;font-weight:400;font-display:swap;src:local("Trocchi-Regular"),url(/fonts/Trocchi-Regular.woff2) format("woff2")}@font-face{font-family:UbuntuMono;font-style:normal;font-weight:400;font-display:swap;src:local("UbuntuMono-Regular"),url(/fonts/UbuntuMono-Regular.woff2) format("woff2")}@keyframes grow-min{0%{transform:scale(.7)}}@keyframes grow-max{0%{transform:scale(0)}}@keyframes slide-top{0%{transform:translateY(100%)}}@keyframes slide-right{0%{transform:translate(-100%)}}@keyframes turn-x{0%{transform:rotateX(360deg)}}@keyframes turn-y{0%{transform:rotateY(360deg)}}@keyframes turn-z{0%{transform:rotate(360deg)}}@keyframes turn-xy{0%{transform:rotate3d(1,1,0,360deg)}}@keyframes turn-xz{0%{transform:rotate3d(1,0,1,360deg)}}@keyframes turn-yz{0%{transform:rotate3d(0,1,1,360deg)}}@keyframes turn-3d{0%{transform:rotate3d(1,1,1,360deg)}}body{margin:0;font-family:Geologica,Helvetica,sans-serif;font-size:1rem;background-color:#030303;color:#fcfcfc}.slider{position:relative;margin:0;padding:0 20px 32px}.slider+*{display:flex;flex-flow:column;place-content:center;place-items:center}.slider nav i{position:absolute;color:#fcfcfc;cursor:pointer}.slider nav i:hover,.slider nav i:focus{color:#c9f}.slider nav [class*=left]{left:0}.slider nav [class*=right]{right:0}.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 36px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 8px);bottom:0}.slider nav i{font-size:1.5rem}@media (min-width: 22.5rem){.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 43px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 11px);bottom:-2px}.slider nav i{font-size:2.25rem}}@media (min-width: 36rem){.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 50px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 15px);bottom:-13px}.slider nav i{font-size:3rem}}@media (min-width: 48rem){.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 56px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 19px);bottom:-25px}.slider nav i{font-size:3.75rem}}@media (min-width: 64rem){.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 63px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 22px);bottom:-37px}.slider nav i{font-size:4.5rem}}@media (min-width: 85.375rem){.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 70px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 26px);bottom:-48px}.slider nav i{font-size:5.25rem}}@media (min-width: 96rem){.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 77px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 30px);bottom:-61px}.slider nav i{font-size:6rem}}@media (min-width: 120rem){.slider nav [class*=left],.slider nav [class*=right]{top:calc(50% - 84px)}.slider nav [class*=play],.slider nav [class*=pause]{left:calc(50% - 34px);bottom:-74px}.slider nav i{font-size:6.75rem}} diff --git a/lib/atoms/icon/Icon.tsx b/lib/atoms/icon/Icon.tsx index a31a45f..a3e8d78 100644 --- a/lib/atoms/icon/Icon.tsx +++ b/lib/atoms/icon/Icon.tsx @@ -1,5 +1,4 @@ import { IconProps } from './IconProps' -import './icon.scss' /** * ! ICON ATOM COMPONENT diff --git a/lib/atoms/icon/_icon-mix.scss b/lib/atoms/icon/_icon-mix.scss deleted file mode 100644 index 8f191c5..0000000 --- a/lib/atoms/icon/_icon-mix.scss +++ /dev/null @@ -1,9 +0,0 @@ -//! ********** ICON MIXIN ********** - -@mixin icon($name, $color) { - [open] .fa-#{$name}, - *:hover > * > .fa-#{$name}, - *:focus > * > * > .fa-#{$name} { - color: $color; - } -} diff --git a/lib/atoms/icon/_icon-var.scss b/lib/atoms/icon/_icon-var.scss deleted file mode 100644 index 065fac9..0000000 --- a/lib/atoms/icon/_icon-var.scss +++ /dev/null @@ -1,17 +0,0 @@ -//! ********** ICON VARIABLES ********** - -$icons: ( - "css3": #1572B6, - "database": #00758F, - "html5": #E44D26, - "square-js": #F0DB4F, - "vuejs": #42B883, - "node-js": #3C873A, - "php": #777BB4, - "python": #3776AB, - "react": #61DBFB, - "sass": #CD6799, - "sitemap": #3498DB, - "square-git": #F1502F, - "dev": #000 -) !default; diff --git a/lib/atoms/icon/icon.scss b/lib/atoms/icon/icon.scss deleted file mode 100644 index 99d9145..0000000 --- a/lib/atoms/icon/icon.scss +++ /dev/null @@ -1,8 +0,0 @@ -@import './icon-var'; -@import './icon-mix'; - -//! ********** ICON ********** - -@each $name, $color in $icons { - @include icon($name, $color); -} diff --git a/lib/molecules/button/_button-var.scss b/lib/molecules/button/_button-var.scss index 3413145..6f1b504 100644 --- a/lib/molecules/button/_button-var.scss +++ b/lib/molecules/button/_button-var.scss @@ -1,7 +1,6 @@ //! ********** BUTTON VARIABLES ********** $buttons: ( - "github": #010409, "linkedin-in": #0077B5, "medium": #00AB6C, "npm": #EA2039, diff --git a/package-lock.json b/package-lock.json index c53c9ca..40d2b2e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "reactoms", - "version": "0.4.4", + "version": "0.4.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "reactoms", - "version": "0.4.4", + "version": "0.4.5", "license": "Apache-2.0", "dependencies": { "@fortawesome/fontawesome-free": "^6.3.0", diff --git a/package.json b/package.json index 6c7aace..604e0d1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "reactoms", - "version": "0.4.4", + "version": "0.4.5", "description": "A React Components Library made with TypeScript, Sass, Vite & Atomic Design : Card, Collapse, Icon, Image, Link, List for Atoms & Button, Footer, Gallery, Navbar, Slider, Title for Molecules", "type": "module", "keywords":[