@entur/tab 0.5.5-beta.0 → 0.5.5-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"tab.esm.js","sources":["../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/prop-types/node_modules/react-is/index.js","../../../node_modules/object-assign/index.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../../../node_modules/@reach/utils/use-force-update/dist/reach-utils-use-force-update.esm.js","../../../node_modules/@reach/utils/can-use-dom/dist/reach-utils-can-use-dom.esm.js","../../../node_modules/@reach/utils/use-isomorphic-layout-effect/dist/reach-utils-use-isomorphic-layout-effect.esm.js","../../../node_modules/@reach/utils/use-previous/dist/reach-utils-use-previous.esm.js","../../../node_modules/@reach/utils/context/dist/reach-utils-context.esm.js","../../../node_modules/@reach/utils/noop/dist/reach-utils-noop.esm.js","../../../node_modules/@reach/descendants/dist/reach-descendants.esm.js","../../../node_modules/@reach/utils/owner-document/dist/reach-utils-owner-document.esm.js","../../../node_modules/@reach/utils/computed-styles/dist/reach-utils-computed-styles.esm.js","../../../node_modules/@reach/utils/clone-valid-element/dist/reach-utils-clone-valid-element.esm.js","../../../node_modules/@reach/utils/use-controlled-state/dist/reach-utils-use-controlled-state.esm.js","../../../node_modules/@reach/utils/type-check/dist/reach-utils-type-check.esm.js","../../../node_modules/@reach/utils/make-id/dist/reach-utils-make-id.esm.js","../../../node_modules/@reach/utils/dev-utils/dist/reach-utils-dev-utils.esm.js","../../../node_modules/@reach/utils/compose-refs/dist/reach-utils-compose-refs.esm.js","../../../node_modules/@reach/utils/use-update-effect/dist/reach-utils-use-update-effect.esm.js","../../../node_modules/@reach/utils/compose-event-handlers/dist/reach-utils-compose-event-handlers.esm.js","../../../node_modules/@reach/auto-id/dist/reach-auto-id.esm.js","../../../node_modules/@reach/tabs/dist/reach-tabs.esm.js","../../../node_modules/classnames/index.js","../src/Tab.tsx","../src/Tabs.tsx","../src/TabPanel.tsx","../src/TabPanels.tsx","../src/TabList.tsx","../src/index.tsx"],"sourcesContent":["/** @license React v16.13.1\n * react-is.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\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.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\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // 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 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 var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import { useState, useCallback } from 'react';\n\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\n\nfunction useForceUpdate() {\n var _useState = useState(Object.create(null)),\n dispatch = _useState[1];\n\n return useCallback(function () {\n dispatch(Object.create(null));\n }, []);\n}\n\nexport { useForceUpdate };\n","function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\n\nexport { canUseDOM };\n","import { useLayoutEffect, useEffect } from 'react';\nimport { canUseDOM } from '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * React currently throws a warning when using useLayoutEffect on the server. To\n * get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\n\nvar useIsomorphicLayoutEffect = /*#__PURE__*/canUseDOM() ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","import { useRef, useEffect } from 'react';\n\n/**\n * Returns the previous value of a reference after a component update.\n *\n * @param value\n */\n\nfunction usePrevious(value) {\n var ref = useRef(null);\n useEffect(function () {\n ref.current = value;\n }, [value]);\n return ref.current;\n}\n\nexport { usePrevious };\n","import { createContext } from 'react';\n\nfunction createNamedContext(name, defaultValue) {\n var Ctx = /*#__PURE__*/createContext(defaultValue);\n\n if (process.env.NODE_ENV !== \"production\") {\n Ctx.displayName = name;\n }\n\n return Ctx;\n}\n\nexport { createNamedContext };\n","function noop() {}\n\nexport { noop };\n","import { useContext, useState, useCallback, createElement, useMemo } from 'react';\nimport { useForceUpdate } from '@reach/utils/use-force-update';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { usePrevious } from '@reach/utils/use-previous';\nimport { createNamedContext } from '@reach/utils/context';\nimport { noop } from '@reach/utils/noop';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nvar _excluded = [\"element\", \"index\"];\n\nfunction createDescendantContext(name, initialValue) {\n if (initialValue === void 0) {\n initialValue = {};\n }\n\n var descendants = [];\n return createNamedContext(name, _extends({\n descendants: descendants,\n registerDescendant: noop,\n unregisterDescendant: noop\n }, initialValue));\n}\n/**\n * This hook registers our descendant by passing it into an array. We can then\n * search that array by to find its index when registering it in the component.\n * We use this for focus management, keyboard navigation, and typeahead\n * functionality for some components.\n *\n * The hook accepts the element node and (optionally) a key. The key is useful\n * if multiple descendants have identical text values and we need to\n * differentiate siblings for some reason.\n *\n * Our main goals with this are:\n * 1) maximum composability,\n * 2) minimal API friction\n * 3) SSR compatibility*\n * 4) concurrent safe\n * 5) index always up-to-date with the tree despite changes\n * 6) works with memoization of any component in the tree (hopefully)\n *\n * * As for SSR, the good news is that we don't actually need the index on the\n * server for most use-cases, as we are only using it to determine the order of\n * composed descendants for keyboard navigation. However, in the few cases where\n * this is not the case, we can require an explicit index from the app.\n */\n\n\nfunction useDescendant(descendant, context, indexProp) {\n var forceUpdate = useForceUpdate();\n\n var _React$useContext = useContext(context),\n registerDescendant = _React$useContext.registerDescendant,\n unregisterDescendant = _React$useContext.unregisterDescendant,\n descendants = _React$useContext.descendants; // This will initially return -1 because we haven't registered the descendant\n // on the first render. After we register, this will then return the correct\n // index on the following render and we will re-register descendants\n // so that everything is up-to-date before the user interacts with a\n // collection.\n\n\n var index = indexProp != null ? indexProp : descendants.findIndex(function (item) {\n return item.element === descendant.element;\n });\n var previousDescendants = usePrevious(descendants); // We also need to re-register descendants any time ANY of the other\n // descendants have changed. My brain was melting when I wrote this and it\n // feels a little off, but checking in render and using the result in the\n // effect's dependency array works well enough.\n\n var someDescendantsHaveChanged = descendants.some(function (descendant, index) {\n var _previousDescendants$;\n\n return descendant.element !== (previousDescendants == null ? void 0 : (_previousDescendants$ = previousDescendants[index]) == null ? void 0 : _previousDescendants$.element);\n }); // Prevent any flashing\n\n useIsomorphicLayoutEffect(function () {\n if (!descendant.element) forceUpdate();\n registerDescendant(_extends({}, descendant, {\n index: index\n }));\n return function () {\n return unregisterDescendant(descendant.element);\n }; // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [forceUpdate, index, registerDescendant, someDescendantsHaveChanged, unregisterDescendant].concat(Object.values(descendant)));\n return index;\n}\n\nfunction useDescendantsInit() {\n return useState([]);\n}\n\nfunction useDescendants(ctx) {\n return useContext(ctx).descendants;\n}\n\nfunction DescendantProvider(_ref) {\n var Ctx = _ref.context,\n children = _ref.children,\n items = _ref.items,\n set = _ref.set;\n var registerDescendant = useCallback(function (_ref2) {\n var element = _ref2.element,\n explicitIndex = _ref2.index,\n rest = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n if (!element) {\n return;\n }\n\n set(function (items) {\n var newItems;\n\n if (explicitIndex != null) {\n newItems = [].concat(items, [_extends({}, rest, {\n element: element,\n index: explicitIndex\n })]);\n } else if (items.length === 0) {\n // If there are no items, register at index 0 and bail.\n newItems = [].concat(items, [_extends({}, rest, {\n element: element,\n index: 0\n })]);\n } else if (items.find(function (item) {\n return item.element === element;\n })) {\n // If the element is already registered, just use the same array\n newItems = items;\n } else {\n // When registering a descendant, we need to make sure we insert in\n // into the array in the same order that it appears in the DOM. So as\n // new descendants are added or maybe some are removed, we always know\n // that the array is up-to-date and correct.\n //\n // So here we look at our registered descendants and see if the new\n // element we are adding appears earlier than an existing descendant's\n // DOM node via `node.compareDocumentPosition`. If it does, we insert\n // the new element at this index. Because `registerDescendant` will be\n // called in an effect every time the descendants state value changes,\n // we should be sure that this index is accurate when descendent\n // elements come or go from our component.\n var index = items.findIndex(function (item) {\n if (!item.element || !element) {\n return false;\n } // Does this element's DOM node appear before another item in the\n // array in our DOM tree? If so, return true to grab the index at\n // this point in the array so we know where to insert the new\n // element.\n\n\n return Boolean(item.element.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_PRECEDING);\n });\n\n var newItem = _extends({}, rest, {\n element: element,\n index: index\n }); // If an index is not found we will push the element to the end.\n\n\n if (index === -1) {\n newItems = [].concat(items, [newItem]);\n } else {\n newItems = [].concat(items.slice(0, index), [newItem], items.slice(index));\n }\n }\n\n return newItems.map(function (item, index) {\n return _extends({}, item, {\n index: index\n });\n });\n });\n }, // set is a state setter initialized by the useDescendantsInit hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n var unregisterDescendant = useCallback(function (element) {\n if (!element) {\n return;\n }\n\n set(function (items) {\n return items.filter(function (item) {\n return element !== item.element;\n });\n });\n }, // set is a state setter initialized by the useDescendantsInit hook.\n // We can safely ignore the lint warning here because it will not change\n // between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n return /*#__PURE__*/createElement(Ctx.Provider, {\n value: useMemo(function () {\n return {\n descendants: items,\n registerDescendant: registerDescendant,\n unregisterDescendant: unregisterDescendant\n };\n }, [items, registerDescendant, unregisterDescendant])\n }, children);\n}\n/**\n * Testing this as an abstraction for compound components that use keyboard\n * navigation. Hoping this will help us prevent bugs and mismatched behavior\n * across various components, but it may also prove to be too messy of an\n * abstraction in the end.\n *\n * Currently used in:\n * - Tabs\n * - Accordion\n *\n * @param context\n * @param options\n */\n\n\nfunction useDescendantKeyDown(context, options) {\n var _React$useContext2 = useContext(context),\n descendants = _React$useContext2.descendants;\n\n var callback = options.callback,\n currentIndex = options.currentIndex,\n filter = options.filter,\n _options$key = options.key,\n key = _options$key === void 0 ? \"index\" : _options$key,\n _options$orientation = options.orientation,\n orientation = _options$orientation === void 0 ? \"vertical\" : _options$orientation,\n _options$rotate = options.rotate,\n rotate = _options$rotate === void 0 ? true : _options$rotate,\n _options$rtl = options.rtl,\n rtl = _options$rtl === void 0 ? false : _options$rtl;\n return function handleKeyDown(event) {\n if (![\"ArrowDown\", \"ArrowUp\", \"ArrowLeft\", \"ArrowRight\", \"PageUp\", \"PageDown\", \"Home\", \"End\"].includes(event.key)) {\n return;\n }\n\n var index = currentIndex != null ? currentIndex : -1; // If we use a filter function, we need to re-index our descendants array\n // so that filtered descendent elements aren't selected.\n\n var selectableDescendants = filter ? descendants.filter(filter) : descendants; // Current index should map to the updated array vs. the original\n // descendants array.\n\n if (filter) {\n index = selectableDescendants.findIndex(function (descendant) {\n return descendant.index === currentIndex;\n });\n } // We need some options for any of this to work!\n\n\n if (!selectableDescendants.length) {\n return;\n }\n\n function getNextOption() {\n var atBottom = index === selectableDescendants.length - 1;\n return atBottom ? rotate ? getFirstOption() : selectableDescendants[index] : selectableDescendants[(index + 1) % selectableDescendants.length];\n }\n\n function getPreviousOption() {\n var atTop = index === 0;\n return atTop ? rotate ? getLastOption() : selectableDescendants[index] : selectableDescendants[(index - 1 + selectableDescendants.length) % selectableDescendants.length];\n }\n\n function getFirstOption() {\n return selectableDescendants[0];\n }\n\n function getLastOption() {\n return selectableDescendants[selectableDescendants.length - 1];\n }\n\n switch (event.key) {\n case \"ArrowDown\":\n if (orientation === \"vertical\" || orientation === \"both\") {\n event.preventDefault();\n var next = getNextOption();\n callback(key === \"option\" ? next : next[key]);\n }\n\n break;\n\n case \"ArrowUp\":\n if (orientation === \"vertical\" || orientation === \"both\") {\n event.preventDefault();\n var prev = getPreviousOption();\n callback(key === \"option\" ? prev : prev[key]);\n }\n\n break;\n\n case \"ArrowLeft\":\n if (orientation === \"horizontal\" || orientation === \"both\") {\n event.preventDefault();\n var nextOrPrev = (rtl ? getNextOption : getPreviousOption)();\n callback(key === \"option\" ? nextOrPrev : nextOrPrev[key]);\n }\n\n break;\n\n case \"ArrowRight\":\n if (orientation === \"horizontal\" || orientation === \"both\") {\n event.preventDefault();\n var prevOrNext = (rtl ? getPreviousOption : getNextOption)();\n callback(key === \"option\" ? prevOrNext : prevOrNext[key]);\n }\n\n break;\n\n case \"PageUp\":\n event.preventDefault();\n var prevOrFirst = (event.ctrlKey ? getPreviousOption : getFirstOption)();\n callback(key === \"option\" ? prevOrFirst : prevOrFirst[key]);\n break;\n\n case \"Home\":\n event.preventDefault();\n var first = getFirstOption();\n callback(key === \"option\" ? first : first[key]);\n break;\n\n case \"PageDown\":\n event.preventDefault();\n var nextOrLast = (event.ctrlKey ? getNextOption : getLastOption)();\n callback(key === \"option\" ? nextOrLast : nextOrLast[key]);\n break;\n\n case \"End\":\n event.preventDefault();\n var last = getLastOption();\n callback(key === \"option\" ? last : last[key]);\n break;\n }\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\nexport { DescendantProvider, createDescendantContext, useDescendant, useDescendantKeyDown, useDescendants, useDescendantsInit };\n","import { canUseDOM } from '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * Get an element's owner document. Useful when components are used in iframes\n * or other environments like dev tools.\n *\n * @param element\n */\n\nfunction getOwnerDocument(element) {\n return canUseDOM() ? element ? element.ownerDocument : document : null;\n}\n/**\n * TODO: Remove in 1.0\n */\n\nfunction getOwnerWindow(element) {\n var ownerDocument = getOwnerDocument(element);\n return ownerDocument ? ownerDocument.defaultView || window : null;\n}\n\nexport { getOwnerDocument, getOwnerWindow };\n","import { getOwnerWindow } from '../../owner-document/dist/reach-utils-owner-document.esm.js';\nimport '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n\n/**\n * Get computed style properties of a DOM element.\n *\n * @param element\n * @param styleProp\n */\n\nfunction getComputedStyles(element) {\n var ownerWindow = getOwnerWindow(element);\n\n if (ownerWindow) {\n return ownerWindow.getComputedStyle(element, null);\n }\n\n return null;\n}\n/**\n * Get a computed style value by property.\n *\n * @param element\n * @param styleProp\n */\n\nfunction getComputedStyle(element, styleProp) {\n var _getComputedStyles;\n\n return ((_getComputedStyles = getComputedStyles(element)) == null ? void 0 : _getComputedStyles.getPropertyValue(styleProp)) || null;\n}\n\nexport { getComputedStyle, getComputedStyles };\n","import { isValidElement, cloneElement } from 'react';\n\n/**\n * Type-safe clone element\n *\n * @param element\n * @param props\n * @param children\n */\nfunction cloneValidElement(element, props) {\n for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n children[_key - 2] = arguments[_key];\n }\n\n return /*#__PURE__*/isValidElement(element) ? cloneElement.apply(void 0, [element, props].concat(children)) : element;\n}\n\nexport { cloneValidElement };\n","import { useRef, useState, useCallback } from 'react';\n\n/**\n * Check if a component is controlled or uncontrolled and return the correct\n * state value and setter accordingly. If the component state is controlled by\n * the app, the setter is a noop.\n *\n * @param controlledValue\n * @param defaultValue\n */\nfunction useControlledState(controlledValue, defaultValue) {\n var controlledRef = useRef(controlledValue != null);\n\n var _useState = useState(defaultValue),\n valueState = _useState[0],\n setValue = _useState[1];\n\n var set = useCallback(function (n) {\n if (!controlledRef.current) {\n setValue(n);\n }\n }, []);\n return [controlledRef.current ? controlledValue : valueState, set];\n}\n\nexport { useControlledState };\n","/**\n * Checks whether or not a value is a boolean.\n *\n * @param value\n */\nfunction isBoolean(value) {\n return typeof value === \"boolean\";\n}\n/**\n * Checks whether or not a value is a function.\n *\n * @param value\n */\n\nfunction isFunction(value) {\n // eslint-disable-next-line eqeqeq\n return !!(value && {}.toString.call(value) == \"[object Function]\");\n}\n/**\n * Checks whether or not a value is a number.\n *\n * @param value\n */\n\nfunction isNumber(value) {\n return typeof value === \"number\" && !isNaN(value);\n}\n/**\n * Checks whether or not a value is a string.\n *\n * @param value\n */\n\nfunction isString(value) {\n return typeof value === \"string\";\n}\n\nexport { isBoolean, isFunction, isNumber, isString };\n","/**\n * Joins strings to format IDs for compound components.\n *\n * @param args\n */\nfunction makeId() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return args.filter(function (val) {\n return val != null;\n }).join(\"--\");\n}\n\nexport { makeId };\n","import { useRef, useEffect } from 'react';\n\n/* eslint-disable react-hooks/rules-of-hooks */\nvar checkedPkgs = {};\n/**\n * Just a lil state logger\n *\n * @param state\n * @param DEBUG\n */\n\nfunction useStateLogger(state, DEBUG) {\n if (DEBUG === void 0) {\n DEBUG = false;\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n var debugRef = useRef(DEBUG);\n useEffect(function () {\n debugRef.current = DEBUG;\n }, [DEBUG]);\n useEffect(function () {\n if (debugRef.current) {\n console.group(\"State Updated\");\n console.log(\"%c\" + state, \"font-weight: normal; font-size: 120%; font-style: italic;\");\n console.groupEnd();\n }\n }, [state]);\n }\n}\n/**\n * When in dev mode, checks that styles for a given `@reach` package are loaded.\n *\n * @param packageName Name of the package to check.\n * @example checkStyles(\"dialog\") will check for styles for @reach/dialog\n */\n\nfunction checkStyles(packageName) {\n if (process.env.NODE_ENV !== \"production\") {\n // In CJS files, process.env.NODE_ENV is stripped from our build, but we\n // need it to prevent style checks from clogging up user logs while testing.\n // This is a workaround until we can tweak the build a bit to accommodate.\n var _ref = typeof process !== \"undefined\" ? process.env : {\n NODE_ENV: \"development\"\n },\n environment = _ref.NODE_ENV; // only check once per package\n\n\n if (checkedPkgs[packageName]) return;\n checkedPkgs[packageName] = true;\n\n if (environment === \"development\" && parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--reach-\" + packageName), 10) !== 1) {\n console.warn(\"@reach/\" + packageName + \" styles not found. If you are using a bundler like webpack or parcel include this in the entry file of your app before any of your own styles:\\n \\n import \\\"@reach/\" + packageName + \"/styles.css\\\";\\n \\n Otherwise you'll need to include them some other way:\\n \\n <link rel=\\\"stylesheet\\\" type=\\\"text/css\\\" href=\\\"node_modules/@reach/\" + packageName + \"/styles.css\\\" />\\n \\n For more information visit https://ui.reach.tech/styling.\\n \");\n }\n }\n}\n/**\n * When in dev mode, checks that styles for a given `@reach` package are loaded.\n *\n * @param packageName Name of the package to check.\n * @example useCheckStyles(\"dialog\") will check for styles for @reach/dialog\n */\n\nfunction useCheckStyles(packageName) {\n if (process.env.NODE_ENV !== \"production\") {\n var name = useRef(packageName);\n useEffect(function () {\n return void (name.current = packageName);\n }, [packageName]);\n useEffect(function () {\n return checkStyles(name.current);\n }, []);\n }\n}\n/**\n * Logs a warning in dev mode when a component switches from controlled to\n * uncontrolled, or vice versa\n *\n * A single prop should typically be used to determine whether or not a\n * component is controlled or not.\n *\n * @param controlledValue\n * @param controlledPropName\n * @param componentName\n */\n\nfunction useControlledSwitchWarning(controlledValue, controlledPropName, componentName) {\n if (process.env.NODE_ENV !== \"production\") {\n var controlledRef = useRef(controlledValue != null);\n var nameCache = useRef({\n componentName: componentName,\n controlledPropName: controlledPropName\n });\n useEffect(function () {\n nameCache.current = {\n componentName: componentName,\n controlledPropName: controlledPropName\n };\n }, [componentName, controlledPropName]);\n useEffect(function () {\n var wasControlled = controlledRef.current;\n var _nameCache$current = nameCache.current,\n componentName = _nameCache$current.componentName,\n controlledPropName = _nameCache$current.controlledPropName;\n var isControlled = controlledValue != null;\n\n if (wasControlled !== isControlled) {\n console.error(\"A component is changing an \" + (wasControlled ? \"\" : \"un\") + \"controlled `\" + controlledPropName + \"` state of \" + componentName + \" to be \" + (wasControlled ? \"un\" : \"\") + \"controlled. This is likely caused by the value changing from undefined to a defined value, which should not happen. Decide between using a controlled or uncontrolled \" + componentName + \" element for the lifetime of the component.\\n More info: https://fb.me/react-controlled-components\");\n }\n }, [controlledValue]);\n }\n}\n\nexport { checkStyles, useCheckStyles, useControlledSwitchWarning, useStateLogger };\n","import { useCallback } from 'react';\nimport { isFunction } from '../../type-check/dist/reach-utils-type-check.esm.js';\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n\n/**\n * Passes or assigns an arbitrary value to a ref function or object.\n *\n * @param ref\n * @param value\n */\nfunction assignRef(ref, value) {\n if (ref == null) return;\n\n if (isFunction(ref)) {\n ref(value);\n } else {\n try {\n ref.current = value;\n } catch (error) {\n throw new Error(\"Cannot assign value \\\"\" + value + \"\\\" to ref \\\"\" + ref + \"\\\"\");\n }\n }\n}\n/**\n * Passes or assigns a value to multiple refs (typically a DOM node). Useful for\n * dealing with components that need an explicit ref for DOM calculations but\n * also forwards refs assigned by an app.\n *\n * @param refs Refs to fork\n */\n\nfunction useComposedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useCallback(function (node) {\n for (var _iterator = _createForOfIteratorHelperLoose(refs), _step; !(_step = _iterator()).done;) {\n var ref = _step.value;\n assignRef(ref, node);\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, refs);\n}\n\nexport { assignRef, useComposedRefs };\n","import { useRef, useEffect } from 'react';\n\n/**\n * Call an effect after a component update, skipping the initial mount.\n *\n * @param effect Effect to call\n * @param deps Effect dependency list\n */\nfunction useUpdateEffect(effect, deps) {\n var mounted = useRef(false);\n useEffect(function () {\n if (mounted.current) {\n effect();\n } else {\n mounted.current = true;\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, deps);\n}\n\nexport { useUpdateEffect };\n","/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\nfunction composeEventHandlers(theirHandler, ourHandler) {\n return function (event) {\n theirHandler && theirHandler(event);\n\n if (!event.defaultPrevented) {\n return ourHandler(event);\n }\n };\n}\n\nexport { composeEventHandlers };\n","import { useState, useEffect } from 'react';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\n\n/*\n * Welcome to @reach/auto-id!\n\n * Let's see if we can make sense of why this hook exists and its\n * implementation.\n *\n * Some background:\n * 1. Accessibiliy APIs rely heavily on element IDs\n * 2. Requiring developers to put IDs on every element in Reach UI is both\n * cumbersome and error-prone\n * 3. With a component model, we can generate IDs for them!\n *\n * Solution 1: Generate random IDs.\n *\n * This works great as long as you don't server render your app. When React (in\n * the client) tries to reuse the markup from the server, the IDs won't match\n * and React will then recreate the entire DOM tree.\n *\n * Solution 2: Increment an integer\n *\n * This sounds great. Since we're rendering the exact same tree on the server\n * and client, we can increment a counter and get a deterministic result between\n * client and server. Also, JS integers can go up to nine-quadrillion. I'm\n * pretty sure the tab will be closed before an app never needs\n * 10 quadrillion IDs!\n *\n * Problem solved, right?\n *\n * Ah, but there's a catch! React's concurrent rendering makes this approach\n * non-deterministic. While the client and server will end up with the same\n * elements in the end, depending on suspense boundaries (and possibly some user\n * input during the initial render) the incrementing integers won't always match\n * up.\n *\n * Solution 3: Don't use IDs at all on the server; patch after first render.\n *\n * What we've done here is solution 2 with some tricks. With this approach, the\n * ID returned is an empty string on the first render. This way the server and\n * client have the same markup no matter how wild the concurrent rendering may\n * have gotten.\n *\n * After the render, we patch up the components with an incremented ID. This\n * causes a double render on any components with `useId`. Shouldn't be a problem\n * since the components using this hook should be small, and we're only updating\n * the ID attribute on the DOM, nothing big is happening.\n *\n * It doesn't have to be an incremented number, though--we could do generate\n * random strings instead, but incrementing a number is probably the cheapest\n * thing we can do.\n *\n * Additionally, we only do this patchup on the very first client render ever.\n * Any calls to `useId` that happen dynamically in the client will be\n * populated immediately with a value. So, we only get the double render after\n * server hydration and never again, SO BACK OFF ALRIGHT?\n */\nvar serverHandoffComplete = false;\nvar id = 0;\n\nvar genId = function genId() {\n return ++id;\n};\n/**\n * useId\n *\n * Autogenerate IDs to facilitate WAI-ARIA and server rendering.\n *\n * Note: The returned ID will initially be `null` and will update after a\n * component mounts. Users may need to supply their own ID if they need\n * consistent values for SSR.\n *\n * @see Docs https://reach.tech/auto-id\n */\n\n\nfunction useId(idFromProps) {\n /*\n * If this instance isn't part of the initial render, we don't have to do the\n * double render/patch-up dance. We can just generate the ID and return it.\n */\n var initialId = idFromProps || (serverHandoffComplete ? genId() : null);\n\n var _React$useState = useState(initialId),\n id = _React$useState[0],\n setId = _React$useState[1];\n\n useIsomorphicLayoutEffect(function () {\n if (id === null) {\n /*\n * Patch the ID after render. We do this in `useLayoutEffect` to avoid any\n * rendering flicker, though it'll make the first render slower (unlikely\n * to matter, but you're welcome to measure your app and let us know if\n * it's a problem).\n */\n setId(genId());\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, []);\n useEffect(function () {\n if (serverHandoffComplete === false) {\n /*\n * Flag all future uses of `useId` to skip the update dance. This is in\n * `useEffect` because it goes after `useLayoutEffect`, ensuring we don't\n * accidentally bail out of the patch-up dance prematurely.\n */\n serverHandoffComplete = true;\n }\n }, []);\n return id != null ? String(id) : undefined;\n}\n\nexport { useId };\n","import { forwardRef, useRef, useState, useMemo, createElement, useContext, useEffect, Children, memo } from 'react';\nimport PropTypes from 'prop-types';\nimport { createDescendantContext, useDescendantsInit, DescendantProvider, useDescendants, useDescendantKeyDown, useDescendant } from '@reach/descendants';\nimport { getComputedStyle } from '@reach/utils/computed-styles';\nimport { cloneValidElement } from '@reach/utils/clone-valid-element';\nimport { useControlledState } from '@reach/utils/use-controlled-state';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { createNamedContext } from '@reach/utils/context';\nimport { isFunction, isNumber, isBoolean } from '@reach/utils/type-check';\nimport { makeId } from '@reach/utils/make-id';\nimport { noop } from '@reach/utils/noop';\nimport { useControlledSwitchWarning, useCheckStyles } from '@reach/utils/dev-utils';\nimport { useComposedRefs } from '@reach/utils/compose-refs';\nimport { useUpdateEffect } from '@reach/utils/use-update-effect';\nimport { composeEventHandlers } from '@reach/utils/compose-event-handlers';\nimport { useId } from '@reach/auto-id';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _excluded = [\"as\", \"children\", \"defaultIndex\", \"orientation\", \"index\", \"keyboardActivation\", \"onChange\", \"readOnly\"],\n _excluded2 = [\"children\", \"as\", \"onKeyDown\"],\n _excluded3 = [\"isSelected\", \"children\", \"as\", \"index\", \"disabled\", \"onBlur\", \"onFocus\"],\n _excluded4 = [\"children\", \"as\"],\n _excluded5 = [\"children\", \"aria-label\", \"as\"];\nvar TabsDescendantsContext = /*#__PURE__*/createDescendantContext(\"TabsDescendantsContext\");\nvar TabPanelDescendantsContext = /*#__PURE__*/createDescendantContext(\"TabPanelDescendantsContext\");\nvar TabsContext = /*#__PURE__*/createNamedContext(\"TabsContext\", {});\nvar TabsKeyboardActivation;\n\n(function (TabsKeyboardActivation) {\n TabsKeyboardActivation[\"Auto\"] = \"auto\";\n TabsKeyboardActivation[\"Manual\"] = \"manual\";\n})(TabsKeyboardActivation || (TabsKeyboardActivation = {}));\n\nvar TabsOrientation; ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Tabs\n *\n * The parent component of the tab interface.\n *\n * @see Docs https://reach.tech/tabs#tabs\n */\n\n(function (TabsOrientation) {\n TabsOrientation[\"Horizontal\"] = \"horizontal\";\n TabsOrientation[\"Vertical\"] = \"vertical\";\n})(TabsOrientation || (TabsOrientation = {}));\n\nvar Tabs = /*#__PURE__*/forwardRef(function Tabs(_ref, ref) {\n var _props$id;\n\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"div\" : _ref$as,\n children = _ref.children,\n defaultIndex = _ref.defaultIndex,\n _ref$orientation = _ref.orientation,\n orientation = _ref$orientation === void 0 ? TabsOrientation.Horizontal : _ref$orientation,\n _ref$index = _ref.index,\n controlledIndex = _ref$index === void 0 ? undefined : _ref$index,\n _ref$keyboardActivati = _ref.keyboardActivation,\n keyboardActivation = _ref$keyboardActivati === void 0 ? TabsKeyboardActivation.Auto : _ref$keyboardActivati,\n onChange = _ref.onChange,\n _ref$readOnly = _ref.readOnly,\n readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n var isControlled = useRef(controlledIndex != null);\n useControlledSwitchWarning(controlledIndex, \"index\", \"Tabs\");\n\n var _id = useId(props.id);\n\n var id = (_props$id = props.id) != null ? _props$id : makeId(\"tabs\", _id); // We only manage focus if the user caused the update vs. a new controlled\n // index coming in.\n\n var userInteractedRef = useRef(false);\n var selectedPanelRef = useRef(null);\n var isRTL = useRef(false);\n\n var _useControlledState = useControlledState(controlledIndex, defaultIndex != null ? defaultIndex : 0),\n selectedIndex = _useControlledState[0],\n setSelectedIndex = _useControlledState[1];\n\n var _React$useState = useState(-1),\n focusedIndex = _React$useState[0],\n setFocusedIndex = _React$useState[1];\n\n var _useDescendantsInit = useDescendantsInit(),\n tabs = _useDescendantsInit[0],\n setTabs = _useDescendantsInit[1];\n\n var context = useMemo(function () {\n return {\n focusedIndex: focusedIndex,\n id: id,\n isControlled: isControlled.current,\n isRTL: isRTL,\n keyboardActivation: keyboardActivation,\n onFocusPanel: function onFocusPanel() {\n if (selectedPanelRef.current && isFunction(selectedPanelRef.current.focus)) {\n selectedPanelRef.current.focus();\n }\n },\n onSelectTab: readOnly ? noop : function (index) {\n userInteractedRef.current = true;\n onChange && onChange(index);\n setSelectedIndex(index);\n },\n onSelectTabWithKeyboard: readOnly ? noop : function (index) {\n userInteractedRef.current = true;\n\n switch (keyboardActivation) {\n case TabsKeyboardActivation.Manual:\n var tabElement = tabs[index] && tabs[index].element;\n\n if (tabElement && isFunction(tabElement.focus)) {\n tabElement.focus();\n }\n\n return;\n\n case TabsKeyboardActivation.Auto:\n default:\n onChange && onChange(index);\n setSelectedIndex(index);\n return;\n }\n },\n orientation: orientation,\n selectedIndex: selectedIndex,\n selectedPanelRef: selectedPanelRef,\n setFocusedIndex: setFocusedIndex,\n setSelectedIndex: setSelectedIndex,\n userInteractedRef: userInteractedRef\n };\n }, [focusedIndex, id, keyboardActivation, onChange, orientation, readOnly, selectedIndex, setSelectedIndex, tabs]);\n useCheckStyles(\"tabs\");\n return /*#__PURE__*/createElement(DescendantProvider, {\n context: TabsDescendantsContext,\n items: tabs,\n set: setTabs\n }, /*#__PURE__*/createElement(TabsContext.Provider, {\n value: context\n }, /*#__PURE__*/createElement(Comp, _extends({}, props, {\n ref: ref,\n \"data-reach-tabs\": \"\",\n \"data-orientation\": orientation,\n id: props.id\n }), isFunction(children) ? children({\n focusedIndex: focusedIndex,\n id: id,\n selectedIndex: selectedIndex\n }) : children)));\n});\n/**\n * @see Docs https://reach.tech/tabs#tabs-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n Tabs.displayName = \"Tabs\";\n Tabs.propTypes = {\n children: /*#__PURE__*/PropTypes.oneOfType([PropTypes.func, PropTypes.node]).isRequired,\n onChange: PropTypes.func,\n orientation: /*#__PURE__*/PropTypes.oneOf( /*#__PURE__*/Object.values(TabsOrientation)),\n index: function index(props, name, compName, location, propName) {\n var val = props[name];\n\n if (props.index > -1 && props.onChange == null && props.readOnly !== true) {\n return new Error(\"You provided a value prop to `\" + compName + \"` without an `onChange` handler. This will render a read-only tabs element. If the tabs should be mutable use `defaultIndex`. Otherwise, set `onChange`.\");\n } else if (val != null && !isNumber(val)) {\n return new Error(\"Invalid prop `\" + propName + \"` supplied to `\" + compName + \"`. Expected `number`, received `\" + (Array.isArray(val) ? \"array\" : typeof val) + \"`.\");\n }\n\n return null;\n },\n defaultIndex: PropTypes.number\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * TabList\n *\n * The parent component of the tabs.\n *\n * @see Docs https://reach.tech/tabs#tablist\n */\n\n\nvar TabListImpl = /*#__PURE__*/forwardRef(function TabList(_ref2, forwardedRef) {\n var children = _ref2.children,\n _ref2$as = _ref2.as,\n Comp = _ref2$as === void 0 ? \"div\" : _ref2$as,\n onKeyDown = _ref2.onKeyDown,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded2);\n\n var _React$useContext = useContext(TabsContext),\n focusedIndex = _React$useContext.focusedIndex,\n isControlled = _React$useContext.isControlled,\n isRTL = _React$useContext.isRTL,\n keyboardActivation = _React$useContext.keyboardActivation,\n onSelectTabWithKeyboard = _React$useContext.onSelectTabWithKeyboard,\n orientation = _React$useContext.orientation,\n selectedIndex = _React$useContext.selectedIndex,\n setSelectedIndex = _React$useContext.setSelectedIndex;\n\n var tabs = useDescendants(TabsDescendantsContext);\n var ownRef = useRef(null);\n var ref = useComposedRefs(forwardedRef, ownRef);\n useEffect(function () {\n if (ownRef.current && (ownRef.current.ownerDocument && ownRef.current.ownerDocument.dir === \"rtl\" || getComputedStyle(ownRef.current, \"direction\") === \"rtl\")) {\n isRTL.current = true;\n }\n }, [isRTL]);\n var handleKeyDown = composeEventHandlers(onKeyDown, useDescendantKeyDown(TabsDescendantsContext, {\n currentIndex: keyboardActivation === TabsKeyboardActivation.Manual ? focusedIndex : selectedIndex,\n orientation: orientation,\n rotate: true,\n callback: onSelectTabWithKeyboard,\n filter: function filter(tab) {\n return !tab.disabled;\n },\n rtl: isRTL.current\n }));\n useIsomorphicLayoutEffect(function () {\n var _tabs$selectedIndex;\n\n // In the event an uncontrolled component's selected index is disabled,\n // (this should only happen if the first tab is disabled and no default\n // index is set), we need to override the selection to the next selectable\n // index value.\n if (!isControlled && boolOrBoolString((_tabs$selectedIndex = tabs[selectedIndex]) == null ? void 0 : _tabs$selectedIndex.disabled)) {\n var next = tabs.find(function (tab) {\n return !tab.disabled;\n });\n\n if (next) {\n setSelectedIndex(next.index);\n }\n }\n }, [tabs, isControlled, selectedIndex, setSelectedIndex]);\n return /*#__PURE__*/createElement(Comp // The element that serves as the container for the set of tabs has role\n // `tablist`\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tabpanel\n , _extends({\n role: \"tablist\" // If the `tablist` element is vertically oriented, it has the property\n // `aria-orientation` set to `\"vertical\"`. The default value of\n // `aria-orientation` for a tablist element is `\"horizontal\"`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tabpanel\n ,\n \"aria-orientation\": orientation\n }, props, {\n \"data-reach-tab-list\": \"\",\n ref: ref,\n onKeyDown: handleKeyDown\n }), Children.map(children, function (child, index) {\n // TODO: Remove in 1.0\n return cloneValidElement(child, {\n isSelected: index === selectedIndex\n });\n }));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n TabListImpl.displayName = \"TabList\";\n TabListImpl.propTypes = {\n as: PropTypes.any,\n children: PropTypes.node\n };\n}\n\nvar TabList = /*#__PURE__*/memo(TabListImpl);\n/**\n * @see Docs https://reach.tech/tabs#tablist-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n TabList.displayName = \"TabList\";\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Tab\n *\n * The interactive element that changes the selected panel.\n *\n * @see Docs https://reach.tech/tabs#tab\n */\n\n\nvar Tab = /*#__PURE__*/forwardRef(function Tab(_ref3, forwardedRef) {\n _ref3.isSelected;\n var children = _ref3.children,\n _ref3$as = _ref3.as,\n Comp = _ref3$as === void 0 ? \"button\" : _ref3$as,\n indexProp = _ref3.index,\n disabled = _ref3.disabled,\n onBlur = _ref3.onBlur,\n onFocus = _ref3.onFocus,\n props = _objectWithoutPropertiesLoose(_ref3, _excluded3);\n\n var _React$useContext2 = useContext(TabsContext),\n tabsId = _React$useContext2.id,\n onSelectTab = _React$useContext2.onSelectTab,\n orientation = _React$useContext2.orientation,\n selectedIndex = _React$useContext2.selectedIndex,\n userInteractedRef = _React$useContext2.userInteractedRef,\n setFocusedIndex = _React$useContext2.setFocusedIndex;\n\n var ownRef = useRef(null);\n var ref = useComposedRefs(forwardedRef, ownRef);\n var index = useDescendant({\n element: ownRef.current,\n disabled: !!disabled\n }, TabsDescendantsContext, indexProp);\n var htmlType = Comp === \"button\" && props.type == null ? \"button\" : props.type;\n var isSelected = index === selectedIndex;\n\n function onSelect() {\n onSelectTab(index);\n }\n\n useUpdateEffect(function () {\n if (isSelected && ownRef.current && userInteractedRef.current) {\n userInteractedRef.current = false;\n\n if (isFunction(ownRef.current.focus)) {\n ownRef.current.focus();\n }\n }\n }, [isSelected, userInteractedRef]);\n return /*#__PURE__*/createElement(Comp // Each element with role `tab` has the property `aria-controls` referring\n // to its associated `tabpanel` element.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tabpanel\n , _extends({\n \"aria-controls\": makeId(tabsId, \"panel\", index),\n \"aria-disabled\": disabled // The active tab element has the state `aria-selected` set to `true` and\n // all other tab elements have it set to `false`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tabpanel\n ,\n \"aria-selected\": isSelected // Each element that serves as a tab has role `tab` and is contained\n // within the element with role `tablist`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tabpanel\n ,\n role: \"tab\",\n tabIndex: isSelected ? 0 : -1\n }, props, {\n ref: ref,\n \"data-reach-tab\": \"\",\n \"data-orientation\": orientation,\n \"data-selected\": isSelected ? \"\" : undefined,\n disabled: disabled,\n id: makeId(tabsId, \"tab\", index),\n onClick: onSelect,\n onFocus: composeEventHandlers(onFocus, function () {\n setFocusedIndex(index);\n }),\n onBlur: composeEventHandlers(onBlur, function () {\n setFocusedIndex(-1);\n }),\n type: htmlType\n }), children);\n});\n/**\n * @see Docs https://reach.tech/tabs#tab-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n Tab.displayName = \"Tab\";\n Tab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * TabPanels\n *\n * The parent component of the panels.\n *\n * @see Docs https://reach.tech/tabs#tabpanels\n */\n\n\nvar TabPanelsImpl = /*#__PURE__*/forwardRef(function TabPanels(_ref4, forwardedRef) {\n var children = _ref4.children,\n _ref4$as = _ref4.as,\n Comp = _ref4$as === void 0 ? \"div\" : _ref4$as,\n props = _objectWithoutPropertiesLoose(_ref4, _excluded4);\n\n var ownRef = useRef();\n var ref = useComposedRefs(ownRef, forwardedRef);\n\n var _useDescendantsInit2 = useDescendantsInit(),\n tabPanels = _useDescendantsInit2[0],\n setTabPanels = _useDescendantsInit2[1];\n\n return /*#__PURE__*/createElement(DescendantProvider, {\n context: TabPanelDescendantsContext,\n items: tabPanels,\n set: setTabPanels\n }, /*#__PURE__*/createElement(Comp, _extends({}, props, {\n ref: ref,\n \"data-reach-tab-panels\": \"\"\n }), children));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n TabPanelsImpl.displayName = \"TabPanels\";\n TabPanelsImpl.propTypes = {\n as: PropTypes.any,\n children: PropTypes.node\n };\n}\n\nvar TabPanels = /*#__PURE__*/memo(TabPanelsImpl);\n/**\n * @see Docs https://reach.tech/tabs#tabpanels-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n TabPanels.displayName = \"TabPanels\";\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * TabPanel\n *\n * The panel that displays when it's corresponding tab is active.\n *\n * @see Docs https://reach.tech/tabs#tabpanel\n */\n\n\nvar TabPanel = /*#__PURE__*/forwardRef(function TabPanel(_ref5, forwardedRef) {\n var children = _ref5.children;\n _ref5[\"aria-label\"];\n var _ref5$as = _ref5.as,\n Comp = _ref5$as === void 0 ? \"div\" : _ref5$as,\n props = _objectWithoutPropertiesLoose(_ref5, _excluded5);\n\n var _React$useContext3 = useContext(TabsContext),\n selectedPanelRef = _React$useContext3.selectedPanelRef,\n selectedIndex = _React$useContext3.selectedIndex,\n tabsId = _React$useContext3.id;\n\n var ownRef = useRef(null);\n var index = useDescendant({\n element: ownRef.current\n }, TabPanelDescendantsContext);\n var id = makeId(tabsId, \"panel\", index); // Because useDescendant will always return -1 on the first render,\n // `isSelected` will briefly be false for all tabs. We set a tab panel's\n // hidden attribute based `isSelected` being false, meaning that all tabs\n // are initially hidden. This makes it impossible for consumers to do\n // certain things, like focus an element inside the active tab panel when\n // the page loads. So what we can do is track that a panel is \"ready\" to be\n // hidden once effects are run (descendants work their magic in\n // useLayoutEffect, so we can set our ref in useEffecct to run later). We\n // can use a ref instead of state because we're always geting a re-render\n // anyway thanks to descendants. This is a little more coupled to the\n // implementation details of descendants than I'd like, but we'll add a test\n // to (hopefully) catch any regressions.\n\n var isSelected = index === selectedIndex;\n var readyToHide = useRef(false);\n var hidden = readyToHide.current ? !isSelected : false;\n useEffect(function () {\n readyToHide.current = true;\n }, []);\n var ref = useComposedRefs(forwardedRef, ownRef, isSelected ? selectedPanelRef : null);\n return /*#__PURE__*/createElement(Comp // Each element with role `tabpanel` has the property `aria-labelledby`\n // referring to its associated tab element.\n , _extends({\n \"aria-labelledby\": makeId(tabsId, \"tab\", index),\n hidden: hidden // Each element that contains the content panel for a tab has role\n // `tabpanel`.\n // https://www.w3.org/TR/wai-aria-practices-1.2/#tabpanel\n ,\n role: \"tabpanel\",\n tabIndex: isSelected ? 0 : -1\n }, props, {\n ref: ref,\n \"data-reach-tab-panel\": \"\",\n id: id\n }), children);\n});\n/**\n * @see Docs https://reach.tech/tabs#tabpanel-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n TabPanel.displayName = \"TabPanel\";\n TabPanel.propTypes = {\n as: PropTypes.any,\n children: PropTypes.node\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hook that exposes data for a given `Tabs` component to its descendants.\n *\n * @see Docs https://reach.tech/tabs#usetabscontext\n */\n\n\nfunction useTabsContext() {\n var _React$useContext4 = useContext(TabsContext),\n focusedIndex = _React$useContext4.focusedIndex,\n id = _React$useContext4.id,\n selectedIndex = _React$useContext4.selectedIndex;\n\n return useMemo(function () {\n return {\n focusedIndex: focusedIndex,\n id: id,\n selectedIndex: selectedIndex\n };\n }, [focusedIndex, id, selectedIndex]);\n} ////////////////////////////////////////////////////////////////////////////////\n\nfunction boolOrBoolString(value) {\n return value === \"true\" ? true : isBoolean(value) ? value : false;\n}\n\nexport { Tab, TabList, TabPanel, TabPanels, Tabs, TabsKeyboardActivation, TabsOrientation, useTabsContext };\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React from 'react';\nimport { Tab as ReachTab } from '@reach/tabs';\nimport classNames from 'classnames';\n\nexport type TabProps = {\n /** Overskriften til taben */\n children: React.ReactNode;\n /** Om taben er disabled eller ikke */\n disabled?: boolean;\n /** HTML-elementet eller React-komponenten som lager komponenten */\n as?: keyof JSX.IntrinsicElements | any;\n removeActiveLine?: boolean;\n [key: string]: any;\n};\n\nexport const Tab: React.FC<TabProps> = ({\n className,\n removeActiveLine = false,\n ...rest\n}) => {\n return (\n <ReachTab\n className={classNames(\n 'eds-tab',\n { 'eds-tab--remove-active-line': removeActiveLine },\n className,\n )}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport { Tabs as ReachTabs } from '@reach/tabs';\nimport classNames from 'classnames';\n\nexport type TabsProps = {\n /** Overskriften til taben */\n children: React.ReactNode;\n /** Kalles når taben endres */\n onChange?: (index: number) => void;\n /** Hvilken tab som skal være åpen by default */\n defaultIndex?: number;\n /** Den åpne indexen */\n index?: number;\n /** HTML-elementet eller React-komponenten som lager komponenten */\n as?: keyof JSX.IntrinsicElements | any;\n\n [key: string]: any;\n};\n\nexport const Tabs: React.FC<TabsProps> = ({ className, ...rest }) => {\n return <ReachTabs className={classNames('eds-tabs', className)} {...rest} />;\n};\n","import React from 'react';\nimport { TabPanel as ReachTabPanel } from '@reach/tabs';\nimport classNames from 'classnames';\n\nexport type TabPanelProps = {\n /** Overskriften til taben */\n children: React.ReactNode;\n /** HTML-elementet eller React-komponenten som lager komponenten */\n as?: keyof JSX.IntrinsicElements | any;\n [key: string]: any;\n};\n\nexport const TabPanel: React.FC<TabPanelProps> = ({ className, ...rest }) => {\n return (\n <ReachTabPanel\n className={classNames('eds-tab-panel', className)}\n {...rest}\n tabIndex={undefined}\n />\n );\n};\n","import React from 'react';\nimport { TabPanels as ReachTabPanels } from '@reach/tabs';\nimport classNames from 'classnames';\n\nexport type TabPanelsProps = {\n /** Tab-panelene */\n children: React.ReactNode;\n /** HTML-elementet eller React-komponenten som lager komponenten */\n as?: keyof JSX.IntrinsicElements | any;\n [key: string]: any;\n};\n\nexport const TabPanels: React.FC<TabPanelsProps> = ({ className, ...rest }) => {\n return (\n <ReachTabPanels\n className={classNames('eds-tab-panels', className)}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport { TabList as ReachTabList } from '@reach/tabs';\nimport classNames from 'classnames';\n\nexport type TabListProps = {\n /** Tab-komponenter */\n children: React.ReactNode;\n /** HTML-elementet eller React-komponenten som lager komponenten */\n as?: keyof JSX.IntrinsicElements | any;\n width?: 'fluid';\n [key: string]: any;\n};\n\nexport const TabList: React.FC<TabListProps> = ({\n className,\n width,\n ...rest\n}) => {\n return (\n <ReachTabList\n className={classNames('eds-tab-list', className, {\n 'eds-tab-list--width-fluid': width === 'fluid',\n })}\n {...rest}\n />\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('tab');\n\nexport * from './Tab';\nexport * from './Tabs';\nexport * from './TabPanel';\nexport * from './TabPanels';\nexport * from './TabList';\n"],"names":["reactIsModule","require$$0","require$$1","has","require$$2","require$$3","require$$4","isValidElement","i","checker","propTypesModule","_objectWithoutPropertiesLoose","_extends","_excluded","descendant","index","items","componentName","controlledPropName","genId","id","TabsKeyboardActivation","TabsOrientation","Tabs","TabList","Tab","TabPanels","TabPanel","classNames","ReachTab","ReachTabs","ReachTabPanel","ReachTabPanels","ReachTabList"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]}
1
+ {"version":3,"file":"tab.esm.js","sources":["../src/Tab.tsx","../src/Tabs.tsx","../src/TabPanel.tsx","../src/TabPanels.tsx","../src/TabList.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Tab as ReachTab } from '@reach/tabs';\nimport classNames from 'classnames';\n\nexport type TabProps = {\n /** Overskriften til taben */\n children: React.ReactNode;\n /** Om taben er disabled eller ikke */\n disabled?: boolean;\n /** HTML-elementet eller React-komponenten som lager komponenten */\n as?: keyof JSX.IntrinsicElements | any;\n removeActiveLine?: boolean;\n [key: string]: any;\n};\n\nexport const Tab: React.FC<TabProps> = ({\n className,\n removeActiveLine = false,\n ...rest\n}) => {\n return (\n <ReachTab\n className={classNames(\n 'eds-tab',\n { 'eds-tab--remove-active-line': removeActiveLine },\n className,\n )}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport { Tabs as ReachTabs } from '@reach/tabs';\nimport classNames from 'classnames';\n\nexport type TabsProps = {\n /** Overskriften til taben */\n children: React.ReactNode;\n /** Kalles når taben endres */\n onChange?: (index: number) => void;\n /** Hvilken tab som skal være åpen by default */\n defaultIndex?: number;\n /** Den åpne indexen */\n index?: number;\n /** HTML-elementet eller React-komponenten som lager komponenten */\n as?: keyof JSX.IntrinsicElements | any;\n\n [key: string]: any;\n};\n\nexport const Tabs: React.FC<TabsProps> = ({ className, ...rest }) => {\n return <ReachTabs className={classNames('eds-tabs', className)} {...rest} />;\n};\n","import React from 'react';\nimport { TabPanel as ReachTabPanel } from '@reach/tabs';\nimport classNames from 'classnames';\n\nexport type TabPanelProps = {\n /** Overskriften til taben */\n children: React.ReactNode;\n /** HTML-elementet eller React-komponenten som lager komponenten */\n as?: keyof JSX.IntrinsicElements | any;\n [key: string]: any;\n};\n\nexport const TabPanel: React.FC<TabPanelProps> = ({ className, ...rest }) => {\n return (\n <ReachTabPanel\n className={classNames('eds-tab-panel', className)}\n {...rest}\n tabIndex={undefined}\n />\n );\n};\n","import React from 'react';\nimport { TabPanels as ReachTabPanels } from '@reach/tabs';\nimport classNames from 'classnames';\n\nexport type TabPanelsProps = {\n /** Tab-panelene */\n children: React.ReactNode;\n /** HTML-elementet eller React-komponenten som lager komponenten */\n as?: keyof JSX.IntrinsicElements | any;\n [key: string]: any;\n};\n\nexport const TabPanels: React.FC<TabPanelsProps> = ({ className, ...rest }) => {\n return (\n <ReachTabPanels\n className={classNames('eds-tab-panels', className)}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport { TabList as ReachTabList } from '@reach/tabs';\nimport classNames from 'classnames';\n\nexport type TabListProps = {\n /** Tab-komponenter */\n children: React.ReactNode;\n /** HTML-elementet eller React-komponenten som lager komponenten */\n as?: keyof JSX.IntrinsicElements | any;\n width?: 'fluid';\n [key: string]: any;\n};\n\nexport const TabList: React.FC<TabListProps> = ({\n className,\n width,\n ...rest\n}) => {\n return (\n <ReachTabList\n className={classNames('eds-tab-list', className, {\n 'eds-tab-list--width-fluid': width === 'fluid',\n })}\n {...rest}\n />\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('tab');\n\nexport * from './Tab';\nexport * from './Tabs';\nexport * from './TabPanel';\nexport * from './TabPanels';\nexport * from './TabList';\n"],"names":["ReachTab","ReachTabs","ReachTabPanel","ReachTabPanels","ReachTabList"],"mappings":";;;;AAeO,MAAM,MAA0B,CAAC;AAAA,EACtC;AAAA,EACA,mBAAmB;AAAA,EACnB,GAAG;AACL,MAAM;AACJ,SACE;AAAA,IAACA;AAAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA,EAAE,+BAA+B,iBAAA;AAAA,QACjC;AAAA,MAAA;AAAA,MAED,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;ACXO,MAAM,OAA4B,CAAC,EAAE,WAAW,GAAG,WAAW;AACnE,SAAO,oBAACC,UAAU,WAAW,WAAW,YAAY,SAAS,GAAI,GAAG,MAAM;AAC5E;ACTO,MAAM,WAAoC,CAAC,EAAE,WAAW,GAAG,WAAW;AAC3E,SACE;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAW,WAAW,iBAAiB,SAAS;AAAA,MAC/C,GAAG;AAAA,MACJ,UAAU;AAAA,IAAA;AAAA,EAAA;AAGhB;ACRO,MAAM,YAAsC,CAAC,EAAE,WAAW,GAAG,WAAW;AAC7E,SACE;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAW,WAAW,kBAAkB,SAAS;AAAA,MAChD,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;ACNO,MAAM,UAAkC,CAAC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACE;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAW,WAAW,gBAAgB,WAAW;AAAA,QAC/C,6BAA6B,UAAU;AAAA,MAAA,CACxC;AAAA,MACA,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;ACvBA,uBAAuB,KAAK;"}
package/package.json CHANGED
@@ -1,18 +1,10 @@
1
1
  {
2
2
  "name": "@entur/tab",
3
- "version": "0.5.5-beta.0",
3
+ "version": "0.5.5-beta.3",
4
4
  "license": "EUPL-1.2",
5
5
  "main": "dist/tab.cjs.js",
6
6
  "module": "dist/tab.esm.js",
7
7
  "types": "dist/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/index.d.ts",
11
- "import": "./dist/tab.esm.js",
12
- "require": "./dist/tab.cjs.js"
13
- },
14
- "./dist/*": "./dist/*"
15
- },
16
8
  "files": [
17
9
  "dist"
18
10
  ],
@@ -35,8 +27,8 @@
35
27
  "react-dom": ">=16.8.0"
36
28
  },
37
29
  "dependencies": {
38
- "@entur/tokens": "^3.19.2-beta.0",
39
- "@entur/utils": "^0.12.4-beta.0",
30
+ "@entur/tokens": "^3.19.2-beta.3",
31
+ "@entur/utils": "^0.12.4-beta.3",
40
32
  "@reach/tabs": "^0.15.3",
41
33
  "classnames": "^2.5.1"
42
34
  },
@@ -53,5 +45,5 @@
53
45
  "vite": "^7.1.3",
54
46
  "vite-plugin-dts": "^4.5.4"
55
47
  },
56
- "gitHead": "414181fa2084722438238256a9aa32e304896b9d"
48
+ "gitHead": "d384333f43186922c0d258caa8ee9edebe3aec04"
57
49
  }