blob: 3c9b34094a7b2f5dacfe47141876af3c766e1f3d [file] [log] [blame]
{"version":3,"sources":["webpack:///./node_modules/lodash/matchesProperty.js","webpack:///./node_modules/lodash/fp/propEq.js","webpack:///./node_modules/antd/node_modules/rc-util/es/Dom/addEventListener.js","webpack:///./node_modules/rc-util/es/ref.js","webpack:///./node_modules/gatsby-theme-docz/node_modules/@mdx-js/react/dist/esm.js","webpack:///./node_modules/gatsby-theme-docz/src/hooks/useDbQuery.js","webpack:///./node_modules/gatsby-theme-docz/src/wrapper.js","webpack:///./node_modules/antd/es/_util/throttleByAnimationFrame.js","webpack:///./node_modules/antd/es/affix/utils.js","webpack:///./node_modules/antd/es/affix/index.js","webpack:///./node_modules/antd/es/_util/getScroll.js","webpack:///./node_modules/antd/es/_util/easings.js","webpack:///./node_modules/antd/es/_util/scrollTo.js","webpack:///./node_modules/antd/es/anchor/context.js","webpack:///./node_modules/antd/es/anchor/Anchor.js","webpack:///./node_modules/antd/es/anchor/AnchorLink.js","webpack:///./node_modules/antd/es/anchor/index.js","webpack:///./src/components/AnchorNavigator.tsx","webpack:///./src/components/next.tsx","webpack:///./src/gatsby-theme-docz/index.tsx","webpack:///./node_modules/gatsby-theme-docz/src/base/Seo.js","webpack:///./node_modules/gatsby-theme-docz/src/base/Layout.js","webpack:///./node_modules/lodash/fp/matchesProperty.js","webpack:///./node_modules/rc-resize-observer/es/index.js","webpack:///./node_modules/rc-util/es/Dom/findDOMNode.js"],"names":["baseClone","baseMatchesProperty","module","exports","path","srcValue","addEventListenerWrap","target","eventType","cb","option","callback","unstable_batchedUpdates","e","addEventListener","remove","removeEventListener","_typeof","obj","Symbol","iterator","constructor","prototype","fillRef","ref","node","current","composeRef","_len","arguments","length","refs","Array","_key","forEach","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","type","render","_defineProperty","key","Object","value","enumerable","configurable","writable","_extends","i","source","ownKeys","object","keys","symbols","_objectSpread2","_objectWithoutProperties","sourceKeys","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","MDXContext","React","withMDXComponents","Component","allComponents","useMDXComponents","props","components","contextComponents","isFunction","MDXProvider","DEFAULTS","inlineCode","wrapper","_ref","children","MDXCreateElement","propComponents","mdxType","originalType","parentName","etc","concat","createElement","args","argsLength","createElementArgArray","newProps","hasOwnProperty","useDbQuery","data","useStaticQuery","JSON","console","Wrapper","throttleByAnimationFrameDecorator","descriptor","fn","definingProperty","get","this","boundFn","requestId","later","apply","throttled","cancel","throttleByAnimationFrame","bind","defineProperty","getTargetRect","window","getBoundingClientRect","top","bottom","innerHeight","getFixedTop","placeholderReact","targetRect","offsetTop","undefined","getFixedBottom","offsetBottom","TRIGGER_EVENTS","observerEntities","addObserveTarget","affix","entity","find","item","affixList","push","eventHandlers","eventName","targetAffix","lazyUpdatePosition","removeObserveTarget","observerEntity","oriObserverEntity","hasAffix","some","filter","handler","AffixStatus","__decorate","decorators","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","getDefaultTarget","_React$Component","Affix","_super","_this","state","status","None","lastAffix","prevTarget","getOffsetTop","getOffsetBottom","savePlaceholderNode","placeholderNode","saveFixedNode","fixedNode","measure","_this$state","onChange","targetFunc","getTargetFunc","Prepare","targetNode","newState","fixedTop","fixedBottom","affixStyle","position","width","height","placeholderStyle","setState","prepareMeasure","getPrefixCls","context","_this$state2","_this$props","prefixCls","className","onResize","updatePosition","style","getTargetContainer","_this2","timeout","setTimeout","prevProps","newTarget","clearTimeout","contextType","isWindow","getScroll","method","result","Document","documentElement","ownerDocument","easeInOutCubic","t","b","cc","scrollTo","y","options","_options$getContainer","getContainer","_options$duration","duration","container","scrollTop","startTime","Date","now","frameFunc","time","nextScrollTop","pageXOffset","HTMLDocument","name","getDefaultContainer","element","getClientRects","rect","clientTop","sharpMatcherRegx","Anchor","activeLink","links","registerLink","link","includes","unregisterLink","index","indexOf","splice","handleScrollTo","targetOffset","setCurrentActiveLink","sharpLinkMatch","exec","targetElement","document","getElementById","animating","saveInkNode","inkNode","handleScroll","_this$props2","bounds","currentActiveLink","getCurrentAnchor","updateInk","linkNode","getElementsByClassName","clientHeight","_this$context","direction","_this$props3","customizePrefixCls","_this$props3$classNam","showInkInFixed","inkClass","visible","wrapperClass","anchorClass","fixed","wrapperStyle","maxHeight","anchorContent","Provider","onClick","scrollContainer","scrollEvent","currentContainer","linkSections","toString","maxSection","reduce","prev","curr","defaultProps","AnchorLink","handleClick","href","title","renderAnchorLink","active","wrapperClassName","titleClassName","_ref2","prevHref","Link","anchorNavStyle","css","mq","HeaderNav","menus","useMenus","headings","getActiveMenuItem","map","slug","nextButtons","getPreviousAndNextUrls","prevUrl","nextUrl","docLayout","theme","config","useConfig","AnchorNavigator","SEO","description","lang","meta","keywords","initialTitle","db","metaDescription","titleTemplate","htmlAttributes","content","property","Route","entry","isTransclusion","useComponents","NotFound","Layout","doc","ctx","isIndex","eqIndex","filepath","findEntry","entries","includesTransclusion","currentEntry","func","convert","placeholder","ReactResizeObserver","resizeObserver","childNode","currentElement","offsetHeight","offsetWidth","_target$getBoundingCl","fixedWidth","Math","floor","fixedHeight","size","Promise","resolve","then","setChildNode","onComponentUpdated","destroyObserver","disabled","HTMLElement","findDOMNode","observe","disconnect","childNodes","toArray","warning","displayName"],"mappings":"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","file":"a20f7f245f36e70f69840915039b8443be31e2e3-16143f597378037bb2e6.js","sourcesContent":["var baseClone = require('./_baseClone'),\n baseMatchesProperty = require('./_baseMatchesProperty');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1;\n\n/**\n * Creates a function that performs a partial deep comparison between the\n * value at `path` of a given object to `srcValue`, returning `true` if the\n * object value is equivalent, else `false`.\n *\n * **Note:** Partial comparisons will match empty array and empty object\n * `srcValue` values against any array or object value, respectively. See\n * `_.isEqual` for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n * @example\n *\n * var objects = [\n * { 'a': 1, 'b': 2, 'c': 3 },\n * { 'a': 4, 'b': 5, 'c': 6 }\n * ];\n *\n * _.find(objects, _.matchesProperty('a', 4));\n * // => { 'a': 4, 'b': 5, 'c': 6 }\n */\nfunction matchesProperty(path, srcValue) {\n return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));\n}\n\nmodule.exports = matchesProperty;\n","module.exports = require('./matchesProperty');\n","import ReactDOM from 'react-dom';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = ReactDOM.unstable_batchedUpdates ? function run(e) {\n ReactDOM.unstable_batchedUpdates(cb, e);\n } : cb;\n\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n\n return {\n remove: function remove() {\n if (target.removeEventListener) {\n target.removeEventListener(eventType, callback);\n }\n }\n };\n}","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nimport { isMemo } from 'react-is';\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\n\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type; // Function component node\n\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n } // Class component\n\n\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n\n return true;\n}\n/* eslint-enable */","import React from 'react';\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\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\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar isFunction = function isFunction(obj) {\n return typeof obj === 'function';\n};\n\nvar MDXContext = /*#__PURE__*/React.createContext({});\nvar withMDXComponents = function withMDXComponents(Component) {\n return function (props) {\n var allComponents = useMDXComponents(props.components);\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n components: allComponents\n }));\n };\n};\nvar useMDXComponents = function useMDXComponents(components) {\n var contextComponents = React.useContext(MDXContext);\n var allComponents = contextComponents;\n\n if (components) {\n allComponents = isFunction(components) ? components(contextComponents) : _objectSpread2(_objectSpread2({}, contextComponents), components);\n }\n\n return allComponents;\n};\nvar MDXProvider = function MDXProvider(props) {\n var allComponents = useMDXComponents(props.components);\n return /*#__PURE__*/React.createElement(MDXContext.Provider, {\n value: allComponents\n }, props.children);\n};\n\nvar TYPE_PROP_NAME = 'mdxType';\nvar DEFAULTS = {\n inlineCode: 'code',\n wrapper: function wrapper(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, {}, children);\n }\n};\nvar MDXCreateElement = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var propComponents = props.components,\n mdxType = props.mdxType,\n originalType = props.originalType,\n parentName = props.parentName,\n etc = _objectWithoutProperties(props, [\"components\", \"mdxType\", \"originalType\", \"parentName\"]);\n\n var components = useMDXComponents(propComponents);\n var type = mdxType;\n var Component = components[\"\".concat(parentName, \".\").concat(type)] || components[type] || DEFAULTS[type] || originalType;\n\n if (propComponents) {\n return /*#__PURE__*/React.createElement(Component, _objectSpread2(_objectSpread2({\n ref: ref\n }, etc), {}, {\n components: propComponents\n }));\n }\n\n return /*#__PURE__*/React.createElement(Component, _objectSpread2({\n ref: ref\n }, etc));\n});\nMDXCreateElement.displayName = 'MDXCreateElement';\nfunction createElement (type, props) {\n var args = arguments;\n var mdxType = props && props.mdxType;\n\n if (typeof type === 'string' || mdxType) {\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = MDXCreateElement;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.originalType = type;\n newProps[TYPE_PROP_NAME] = typeof type === 'string' ? type : mdxType;\n createElementArgArray[1] = newProps;\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n }\n\n return React.createElement.apply(null, createElementArgArray);\n }\n\n return React.createElement.apply(null, args);\n}\n\nexport { MDXContext, MDXProvider, createElement as mdx, useMDXComponents, withMDXComponents };\n","import { useStaticQuery, graphql } from 'gatsby'\n\nexport const useDbQuery = () => {\n try {\n const data = useStaticQuery(graphql`\n query {\n doczDb {\n id\n db\n }\n }\n `)\n\n return JSON.parse(data.doczDb.db)\n } catch (err) {\n console.error(err)\n console.error('Error when parsing docz database')\n return {}\n }\n}\n","import * as React from 'react'\n\nconst Wrapper = ({ children }) => <React.Fragment>{children}</React.Fragment>\nexport default Wrapper\n","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport raf from 'raf';\nexport function throttleByAnimationFrame(fn) {\n var requestId;\n\n var later = function later(args) {\n return function () {\n requestId = null;\n fn.apply(void 0, _toConsumableArray(args));\n };\n };\n\n var throttled = function throttled() {\n if (requestId == null) {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n requestId = raf(later(args));\n }\n };\n\n throttled.cancel = function () {\n return raf.cancel(requestId);\n };\n\n return throttled;\n}\nexport function throttleByAnimationFrameDecorator() {\n return function throttle(target, key, descriptor) {\n var fn = descriptor.value;\n var definingProperty = false;\n return {\n configurable: true,\n get: function get() {\n // In IE11 calling Object.defineProperty has a side-effect of evaluating the\n // getter for the property which is being replaced. This causes infinite\n // recursion and an \"Out of stack space\" error.\n // eslint-disable-next-line no-prototype-builtins\n if (definingProperty || this === target.prototype || this.hasOwnProperty(key)) {\n /* istanbul ignore next */\n return fn;\n }\n\n var boundFn = throttleByAnimationFrame(fn.bind(this));\n definingProperty = true;\n Object.defineProperty(this, key, {\n value: boundFn,\n configurable: true,\n writable: true\n });\n definingProperty = false;\n return boundFn;\n }\n };\n };\n}","import addEventListener from \"rc-util/es/Dom/addEventListener\";\nexport function getTargetRect(target) {\n return target !== window ? target.getBoundingClientRect() : {\n top: 0,\n bottom: window.innerHeight\n };\n}\nexport function getFixedTop(placeholderReact, targetRect, offsetTop) {\n if (offsetTop !== undefined && targetRect.top > placeholderReact.top - offsetTop) {\n return offsetTop + targetRect.top;\n }\n\n return undefined;\n}\nexport function getFixedBottom(placeholderReact, targetRect, offsetBottom) {\n if (offsetBottom !== undefined && targetRect.bottom < placeholderReact.bottom + offsetBottom) {\n var targetBottomOffset = window.innerHeight - targetRect.bottom;\n return offsetBottom + targetBottomOffset;\n }\n\n return undefined;\n} // ======================== Observer ========================\n\nvar TRIGGER_EVENTS = ['resize', 'scroll', 'touchstart', 'touchmove', 'touchend', 'pageshow', 'load'];\nvar observerEntities = [];\nexport function getObserverEntities() {\n // Only used in test env. Can be removed if refactor.\n return observerEntities;\n}\nexport function addObserveTarget(target, affix) {\n if (!target) return;\n var entity = observerEntities.find(function (item) {\n return item.target === target;\n });\n\n if (entity) {\n entity.affixList.push(affix);\n } else {\n entity = {\n target: target,\n affixList: [affix],\n eventHandlers: {}\n };\n observerEntities.push(entity); // Add listener\n\n TRIGGER_EVENTS.forEach(function (eventName) {\n entity.eventHandlers[eventName] = addEventListener(target, eventName, function () {\n entity.affixList.forEach(function (targetAffix) {\n targetAffix.lazyUpdatePosition();\n });\n });\n });\n }\n}\nexport function removeObserveTarget(affix) {\n var observerEntity = observerEntities.find(function (oriObserverEntity) {\n var hasAffix = oriObserverEntity.affixList.some(function (item) {\n return item === affix;\n });\n\n if (hasAffix) {\n oriObserverEntity.affixList = oriObserverEntity.affixList.filter(function (item) {\n return item !== affix;\n });\n }\n\n return hasAffix;\n });\n\n if (observerEntity && observerEntity.affixList.length === 0) {\n observerEntities = observerEntities.filter(function (item) {\n return item !== observerEntity;\n }); // Remove listener\n\n TRIGGER_EVENTS.forEach(function (eventName) {\n var handler = observerEntity.eventHandlers[eventName];\n\n if (handler && handler.remove) {\n handler.remove();\n }\n });\n }\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\n\nvar __decorate = this && this.__decorate || function (decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if ((typeof Reflect === \"undefined\" ? \"undefined\" : _typeof(Reflect)) === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {\n if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n }\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport ResizeObserver from 'rc-resize-observer';\nimport { ConfigContext } from '../config-provider';\nimport { throttleByAnimationFrameDecorator } from '../_util/throttleByAnimationFrame';\nimport { addObserveTarget, removeObserveTarget, getTargetRect, getFixedTop, getFixedBottom } from './utils';\n\nfunction getDefaultTarget() {\n return typeof window !== 'undefined' ? window : null;\n}\n\nvar AffixStatus;\n\n(function (AffixStatus) {\n AffixStatus[AffixStatus[\"None\"] = 0] = \"None\";\n AffixStatus[AffixStatus[\"Prepare\"] = 1] = \"Prepare\";\n})(AffixStatus || (AffixStatus = {}));\n\nvar Affix = /*#__PURE__*/function (_React$Component) {\n _inherits(Affix, _React$Component);\n\n var _super = _createSuper(Affix);\n\n function Affix() {\n var _this;\n\n _classCallCheck(this, Affix);\n\n _this = _super.apply(this, arguments);\n _this.state = {\n status: AffixStatus.None,\n lastAffix: false,\n prevTarget: null\n };\n\n _this.getOffsetTop = function () {\n var offsetBottom = _this.props.offsetBottom;\n var offsetTop = _this.props.offsetTop;\n\n if (offsetBottom === undefined && offsetTop === undefined) {\n offsetTop = 0;\n }\n\n return offsetTop;\n };\n\n _this.getOffsetBottom = function () {\n return _this.props.offsetBottom;\n };\n\n _this.savePlaceholderNode = function (node) {\n _this.placeholderNode = node;\n };\n\n _this.saveFixedNode = function (node) {\n _this.fixedNode = node;\n }; // =================== Measure ===================\n\n\n _this.measure = function () {\n var _this$state = _this.state,\n status = _this$state.status,\n lastAffix = _this$state.lastAffix;\n var onChange = _this.props.onChange;\n\n var targetFunc = _this.getTargetFunc();\n\n if (status !== AffixStatus.Prepare || !_this.fixedNode || !_this.placeholderNode || !targetFunc) {\n return;\n }\n\n var offsetTop = _this.getOffsetTop();\n\n var offsetBottom = _this.getOffsetBottom();\n\n var targetNode = targetFunc();\n\n if (!targetNode) {\n return;\n }\n\n var newState = {\n status: AffixStatus.None\n };\n var targetRect = getTargetRect(targetNode);\n var placeholderReact = getTargetRect(_this.placeholderNode);\n var fixedTop = getFixedTop(placeholderReact, targetRect, offsetTop);\n var fixedBottom = getFixedBottom(placeholderReact, targetRect, offsetBottom);\n\n if (fixedTop !== undefined) {\n newState.affixStyle = {\n position: 'fixed',\n top: fixedTop,\n width: placeholderReact.width,\n height: placeholderReact.height\n };\n newState.placeholderStyle = {\n width: placeholderReact.width,\n height: placeholderReact.height\n };\n } else if (fixedBottom !== undefined) {\n newState.affixStyle = {\n position: 'fixed',\n bottom: fixedBottom,\n width: placeholderReact.width,\n height: placeholderReact.height\n };\n newState.placeholderStyle = {\n width: placeholderReact.width,\n height: placeholderReact.height\n };\n }\n\n newState.lastAffix = !!newState.affixStyle;\n\n if (onChange && lastAffix !== newState.lastAffix) {\n onChange(newState.lastAffix);\n }\n\n _this.setState(newState);\n }; // @ts-ignore TS6133\n\n\n _this.prepareMeasure = function () {\n // event param is used before. Keep compatible ts define here.\n _this.setState({\n status: AffixStatus.Prepare,\n affixStyle: undefined,\n placeholderStyle: undefined\n }); // Test if `updatePosition` called\n\n\n if (process.env.NODE_ENV === 'test') {\n var onTestUpdatePosition = _this.props.onTestUpdatePosition;\n\n if (onTestUpdatePosition) {\n onTestUpdatePosition();\n }\n }\n }; // =================== Render ===================\n\n\n _this.render = function () {\n var getPrefixCls = _this.context.getPrefixCls;\n var _this$state2 = _this.state,\n affixStyle = _this$state2.affixStyle,\n placeholderStyle = _this$state2.placeholderStyle;\n var _this$props = _this.props,\n prefixCls = _this$props.prefixCls,\n children = _this$props.children;\n var className = classNames(_defineProperty({}, getPrefixCls('affix', prefixCls), affixStyle));\n var props = omit(_this.props, ['prefixCls', 'offsetTop', 'offsetBottom', 'target', 'onChange']); // Omit this since `onTestUpdatePosition` only works on test.\n\n if (process.env.NODE_ENV === 'test') {\n props = omit(props, ['onTestUpdatePosition']);\n }\n\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: function onResize() {\n _this.updatePosition();\n }\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, props, {\n ref: _this.savePlaceholderNode\n }), affixStyle && /*#__PURE__*/React.createElement(\"div\", {\n style: placeholderStyle,\n \"aria-hidden\": \"true\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n ref: _this.saveFixedNode,\n style: affixStyle\n }, /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: function onResize() {\n _this.updatePosition();\n }\n }, children))));\n };\n\n return _this;\n }\n\n _createClass(Affix, [{\n key: \"getTargetFunc\",\n value: function getTargetFunc() {\n var getTargetContainer = this.context.getTargetContainer;\n var target = this.props.target;\n\n if (target !== undefined) {\n return target;\n }\n\n return getTargetContainer || getDefaultTarget;\n } // Event handler\n\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n var targetFunc = this.getTargetFunc();\n\n if (targetFunc) {\n // [Legacy] Wait for parent component ref has its value.\n // We should use target as directly element instead of function which makes element check hard.\n this.timeout = setTimeout(function () {\n addObserveTarget(targetFunc(), _this2); // Mock Event object.\n\n _this2.updatePosition();\n });\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var prevTarget = this.state.prevTarget;\n var targetFunc = this.getTargetFunc();\n var newTarget = null;\n\n if (targetFunc) {\n newTarget = targetFunc() || null;\n }\n\n if (prevTarget !== newTarget) {\n removeObserveTarget(this);\n\n if (newTarget) {\n addObserveTarget(newTarget, this); // Mock Event object.\n\n this.updatePosition();\n } // eslint-disable-next-line react/no-did-update-set-state\n\n\n this.setState({\n prevTarget: newTarget\n });\n }\n\n if (prevProps.offsetTop !== this.props.offsetTop || prevProps.offsetBottom !== this.props.offsetBottom) {\n this.updatePosition();\n }\n\n this.measure();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.timeout);\n removeObserveTarget(this);\n this.updatePosition.cancel(); // https://github.com/ant-design/ant-design/issues/22683\n\n this.lazyUpdatePosition.cancel();\n } // Handle realign logic\n\n }, {\n key: \"updatePosition\",\n value: function updatePosition() {\n this.prepareMeasure();\n }\n }, {\n key: \"lazyUpdatePosition\",\n value: function lazyUpdatePosition() {\n var targetFunc = this.getTargetFunc();\n var affixStyle = this.state.affixStyle; // Check position change before measure to make Safari smooth\n\n if (targetFunc && affixStyle) {\n var offsetTop = this.getOffsetTop();\n var offsetBottom = this.getOffsetBottom();\n var targetNode = targetFunc();\n\n if (targetNode && this.placeholderNode) {\n var targetRect = getTargetRect(targetNode);\n var placeholderReact = getTargetRect(this.placeholderNode);\n var fixedTop = getFixedTop(placeholderReact, targetRect, offsetTop);\n var fixedBottom = getFixedBottom(placeholderReact, targetRect, offsetBottom);\n\n if (fixedTop !== undefined && affixStyle.top === fixedTop || fixedBottom !== undefined && affixStyle.bottom === fixedBottom) {\n return;\n }\n }\n } // Directly call prepare measure since it's already throttled.\n\n\n this.prepareMeasure();\n }\n }]);\n\n return Affix;\n}(React.Component);\n\nAffix.contextType = ConfigContext;\n\n__decorate([throttleByAnimationFrameDecorator()], Affix.prototype, \"updatePosition\", null);\n\n__decorate([throttleByAnimationFrameDecorator()], Affix.prototype, \"lazyUpdatePosition\", null);\n\nexport default Affix;","export function isWindow(obj) {\n return obj !== null && obj !== undefined && obj === obj.window;\n}\nexport default function getScroll(target, top) {\n if (typeof window === 'undefined') {\n return 0;\n }\n\n var method = top ? 'scrollTop' : 'scrollLeft';\n var result = 0;\n\n if (isWindow(target)) {\n result = target[top ? 'pageYOffset' : 'pageXOffset'];\n } else if (target instanceof Document) {\n result = target.documentElement[method];\n } else if (target) {\n result = target[method];\n }\n\n if (target && !isWindow(target) && typeof result !== 'number') {\n result = (target.ownerDocument || target).documentElement[method];\n }\n\n return result;\n}","// eslint-disable-next-line import/prefer-default-export\nexport function easeInOutCubic(t, b, c, d) {\n var cc = c - b;\n t /= d / 2;\n\n if (t < 1) {\n return cc / 2 * t * t * t + b;\n } // eslint-disable-next-line no-return-assign\n\n\n return cc / 2 * ((t -= 2) * t * t + 2) + b;\n}","import raf from 'raf';\nimport getScroll, { isWindow } from './getScroll';\nimport { easeInOutCubic } from './easings';\nexport default function scrollTo(y) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$getContainer = options.getContainer,\n getContainer = _options$getContainer === void 0 ? function () {\n return window;\n } : _options$getContainer,\n callback = options.callback,\n _options$duration = options.duration,\n duration = _options$duration === void 0 ? 450 : _options$duration;\n var container = getContainer();\n var scrollTop = getScroll(container, true);\n var startTime = Date.now();\n\n var frameFunc = function frameFunc() {\n var timestamp = Date.now();\n var time = timestamp - startTime;\n var nextScrollTop = easeInOutCubic(time > duration ? duration : time, scrollTop, y, duration);\n\n if (isWindow(container)) {\n container.scrollTo(window.pageXOffset, nextScrollTop);\n } else if (container instanceof HTMLDocument || container.constructor.name === 'HTMLDocument') {\n container.documentElement.scrollTop = nextScrollTop;\n } else {\n container.scrollTop = nextScrollTop;\n }\n\n if (time < duration) {\n raf(frameFunc);\n } else if (typeof callback === 'function') {\n callback();\n }\n };\n\n raf(frameFunc);\n}","import * as React from 'react';\nvar AnchorContext = /*#__PURE__*/React.createContext(null);\nexport default AnchorContext;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport Affix from '../affix';\nimport { ConfigContext } from '../config-provider';\nimport scrollTo from '../_util/scrollTo';\nimport getScroll from '../_util/getScroll';\nimport AnchorContext from './context';\n\nfunction getDefaultContainer() {\n return window;\n}\n\nfunction getOffsetTop(element, container) {\n if (!element.getClientRects().length) {\n return 0;\n }\n\n var rect = element.getBoundingClientRect();\n\n if (rect.width || rect.height) {\n if (container === window) {\n container = element.ownerDocument.documentElement;\n return rect.top - container.clientTop;\n }\n\n return rect.top - container.getBoundingClientRect().top;\n }\n\n return rect.top;\n}\n\nvar sharpMatcherRegx = /#(\\S+)$/;\n\nvar Anchor = /*#__PURE__*/function (_React$Component) {\n _inherits(Anchor, _React$Component);\n\n var _super = _createSuper(Anchor);\n\n function Anchor() {\n var _this;\n\n _classCallCheck(this, Anchor);\n\n _this = _super.apply(this, arguments);\n _this.state = {\n activeLink: null\n };\n _this.links = []; // Context\n\n _this.registerLink = function (link) {\n if (!_this.links.includes(link)) {\n _this.links.push(link);\n }\n };\n\n _this.unregisterLink = function (link) {\n var index = _this.links.indexOf(link);\n\n if (index !== -1) {\n _this.links.splice(index, 1);\n }\n };\n\n _this.getContainer = function () {\n var getTargetContainer = _this.context.getTargetContainer;\n var getContainer = _this.props.getContainer;\n var getFunc = getContainer || getTargetContainer || getDefaultContainer;\n return getFunc();\n };\n\n _this.handleScrollTo = function (link) {\n var _this$props = _this.props,\n offsetTop = _this$props.offsetTop,\n targetOffset = _this$props.targetOffset;\n\n _this.setCurrentActiveLink(link);\n\n var container = _this.getContainer();\n\n var scrollTop = getScroll(container, true);\n var sharpLinkMatch = sharpMatcherRegx.exec(link);\n\n if (!sharpLinkMatch) {\n return;\n }\n\n var targetElement = document.getElementById(sharpLinkMatch[1]);\n\n if (!targetElement) {\n return;\n }\n\n var eleOffsetTop = getOffsetTop(targetElement, container);\n var y = scrollTop + eleOffsetTop;\n y -= targetOffset !== undefined ? targetOffset : offsetTop || 0;\n _this.animating = true;\n scrollTo(y, {\n callback: function callback() {\n _this.animating = false;\n },\n getContainer: _this.getContainer\n });\n };\n\n _this.saveInkNode = function (node) {\n _this.inkNode = node;\n };\n\n _this.setCurrentActiveLink = function (link) {\n var activeLink = _this.state.activeLink;\n var onChange = _this.props.onChange;\n\n if (activeLink !== link) {\n _this.setState({\n activeLink: link\n });\n\n if (onChange) {\n onChange(link);\n }\n }\n };\n\n _this.handleScroll = function () {\n if (_this.animating) {\n return;\n }\n\n var _this$props2 = _this.props,\n offsetTop = _this$props2.offsetTop,\n bounds = _this$props2.bounds,\n targetOffset = _this$props2.targetOffset;\n\n var currentActiveLink = _this.getCurrentAnchor(targetOffset !== undefined ? targetOffset : offsetTop || 0, bounds);\n\n _this.setCurrentActiveLink(currentActiveLink);\n };\n\n _this.updateInk = function () {\n var _assertThisInitialize = _assertThisInitialized(_this),\n prefixCls = _assertThisInitialize.prefixCls;\n\n var anchorNode = ReactDOM.findDOMNode(_assertThisInitialized(_this));\n var linkNode = anchorNode.getElementsByClassName(\"\".concat(prefixCls, \"-link-title-active\"))[0];\n\n if (linkNode) {\n _this.inkNode.style.top = \"\".concat(linkNode.offsetTop + linkNode.clientHeight / 2 - 4.5, \"px\");\n }\n };\n\n _this.render = function () {\n var _this$context = _this.context,\n getPrefixCls = _this$context.getPrefixCls,\n direction = _this$context.direction;\n var _this$props3 = _this.props,\n customizePrefixCls = _this$props3.prefixCls,\n _this$props3$classNam = _this$props3.className,\n className = _this$props3$classNam === void 0 ? '' : _this$props3$classNam,\n style = _this$props3.style,\n offsetTop = _this$props3.offsetTop,\n affix = _this$props3.affix,\n showInkInFixed = _this$props3.showInkInFixed,\n children = _this$props3.children;\n var activeLink = _this.state.activeLink;\n var prefixCls = getPrefixCls('anchor', customizePrefixCls); // To support old version react.\n // Have to add prefixCls on the instance.\n // https://github.com/facebook/react/issues/12397\n\n _this.prefixCls = prefixCls;\n var inkClass = classNames(\"\".concat(prefixCls, \"-ink-ball\"), {\n visible: activeLink\n });\n var wrapperClass = classNames(\"\".concat(prefixCls, \"-wrapper\"), _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), className);\n var anchorClass = classNames(prefixCls, {\n fixed: !affix && !showInkInFixed\n });\n\n var wrapperStyle = _extends({\n maxHeight: offsetTop ? \"calc(100vh - \".concat(offsetTop, \"px)\") : '100vh'\n }, style);\n\n var anchorContent = /*#__PURE__*/React.createElement(\"div\", {\n className: wrapperClass,\n style: wrapperStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: anchorClass\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-ink\")\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: inkClass,\n ref: _this.saveInkNode\n })), children));\n return /*#__PURE__*/React.createElement(AnchorContext.Provider, {\n value: {\n registerLink: _this.registerLink,\n unregisterLink: _this.unregisterLink,\n activeLink: _this.state.activeLink,\n scrollTo: _this.handleScrollTo,\n onClick: _this.props.onClick\n }\n }, !affix ? anchorContent : /*#__PURE__*/React.createElement(Affix, {\n offsetTop: offsetTop,\n target: _this.getContainer\n }, anchorContent));\n };\n\n return _this;\n }\n\n _createClass(Anchor, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.scrollContainer = this.getContainer();\n this.scrollEvent = addEventListener(this.scrollContainer, 'scroll', this.handleScroll);\n this.handleScroll();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (this.scrollEvent) {\n var currentContainer = this.getContainer();\n\n if (this.scrollContainer !== currentContainer) {\n this.scrollContainer = currentContainer;\n this.scrollEvent.remove();\n this.scrollEvent = addEventListener(this.scrollContainer, 'scroll', this.handleScroll);\n this.handleScroll();\n }\n }\n\n this.updateInk();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.scrollEvent) {\n this.scrollEvent.remove();\n }\n }\n }, {\n key: \"getCurrentAnchor\",\n value: function getCurrentAnchor() {\n var offsetTop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var bounds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;\n var getCurrentAnchor = this.props.getCurrentAnchor;\n\n if (typeof getCurrentAnchor === 'function') {\n return getCurrentAnchor();\n }\n\n var linkSections = [];\n var container = this.getContainer();\n this.links.forEach(function (link) {\n var sharpLinkMatch = sharpMatcherRegx.exec(link.toString());\n\n if (!sharpLinkMatch) {\n return;\n }\n\n var target = document.getElementById(sharpLinkMatch[1]);\n\n if (target) {\n var top = getOffsetTop(target, container);\n\n if (top < offsetTop + bounds) {\n linkSections.push({\n link: link,\n top: top\n });\n }\n }\n });\n\n if (linkSections.length) {\n var maxSection = linkSections.reduce(function (prev, curr) {\n return curr.top > prev.top ? curr : prev;\n });\n return maxSection.link;\n }\n\n return '';\n }\n }]);\n\n return Anchor;\n}(React.Component);\n\nexport { Anchor as default };\nAnchor.defaultProps = {\n affix: true,\n showInkInFixed: false\n};\nAnchor.contextType = ConfigContext;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/createSuper\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { ConfigConsumer } from '../config-provider';\nimport AnchorContext from './context';\n\nvar AnchorLink = /*#__PURE__*/function (_React$Component) {\n _inherits(AnchorLink, _React$Component);\n\n var _super = _createSuper(AnchorLink);\n\n function AnchorLink() {\n var _this;\n\n _classCallCheck(this, AnchorLink);\n\n _this = _super.apply(this, arguments);\n\n _this.handleClick = function (e) {\n var _this$context = _this.context,\n scrollTo = _this$context.scrollTo,\n onClick = _this$context.onClick;\n var _this$props = _this.props,\n href = _this$props.href,\n title = _this$props.title;\n\n if (onClick) {\n onClick(e, {\n title: title,\n href: href\n });\n }\n\n scrollTo(href);\n };\n\n _this.renderAnchorLink = function (_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var _this$props2 = _this.props,\n customizePrefixCls = _this$props2.prefixCls,\n href = _this$props2.href,\n title = _this$props2.title,\n children = _this$props2.children,\n className = _this$props2.className,\n target = _this$props2.target;\n var prefixCls = getPrefixCls('anchor', customizePrefixCls);\n var active = _this.context.activeLink === href;\n var wrapperClassName = classNames(\"\".concat(prefixCls, \"-link\"), _defineProperty({}, \"\".concat(prefixCls, \"-link-active\"), active), className);\n var titleClassName = classNames(\"\".concat(prefixCls, \"-link-title\"), _defineProperty({}, \"\".concat(prefixCls, \"-link-title-active\"), active));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: wrapperClassName\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: titleClassName,\n href: href,\n title: typeof title === 'string' ? title : '',\n target: target,\n onClick: _this.handleClick\n }, title), children);\n };\n\n return _this;\n }\n\n _createClass(AnchorLink, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.context.registerLink(this.props.href);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(_ref2) {\n var prevHref = _ref2.href;\n var href = this.props.href;\n\n if (prevHref !== href) {\n this.context.unregisterLink(prevHref);\n this.context.registerLink(href);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.context.unregisterLink(this.props.href);\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, this.renderAnchorLink);\n }\n }]);\n\n return AnchorLink;\n}(React.Component);\n\nAnchorLink.defaultProps = {\n href: '#'\n};\nAnchorLink.contextType = AnchorContext;\nexport default AnchorLink;","import Anchor from './Anchor';\nimport AnchorLink from './AnchorLink';\nAnchor.Link = AnchorLink;\nexport default Anchor;","/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nimport React from 'react';\nimport { Anchor } from 'antd';\nimport { useMenus } from 'docz';\nimport { css } from '@emotion/core';\nimport { getActiveMenuItem, mq } from '../utils';\n\nconst { Link } = Anchor;\nconst anchorNavStyle = css`\n\n ${[mq[3]]} {\n display: none;\n }\n position: fixed;\n top: 64px;\n right: 0;\n width: 250px;\n padding: 16px;\n height: 605px;\n overflow: auto;\n ul {\n font-size: 12px;\n li {\n height: 25px;\n line-height: 25px;\n word-wrap: break-word;\n }\n }\n`;\n\nconst HeaderNav = () => {\n const menus = useMenus();\n const { headings } = getActiveMenuItem(menus);\n return (\n <div css={anchorNavStyle}>\n <Anchor>\n {headings.map((e) => (\n <Link key={e.slug} href={`#${e.slug}`} title={e.value} />\n ))}\n </Anchor>\n </div>\n );\n};\n\nexport default HeaderNav;\n","/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nimport React from 'react';\nimport { useMenus } from 'docz';\nimport { getPreviousAndNextUrls } from '../utils';\n\nconst nextButtons = () => {\n const menus = useMenus();\n const [prevUrl, nextUrl] = getPreviousAndNextUrls(menus);\n return (\n <>\n {prevUrl && (\n <a href={prevUrl} className=\"ant-btn\">\n Prev\n </a>\n )}\n {nextUrl && (\n <a href={nextUrl} className=\"ant-btn\">\n Next\n </a>\n )}\n </>\n );\n};\n\nexport default nextButtons;\n","/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nimport React from 'react';\nimport { theme, useConfig } from 'docz';\nimport { ThemeProvider } from 'theme-ui';\nimport { css } from '@emotion/core';\nimport SEO from '../components/seo';\nimport Layout from '../components/layout';\nimport AnchorNavigator from '../components/AnchorNavigator';\nimport NextLinks from '../components/next';\n\nimport 'antd/dist/antd.css';\n\ninterface Props {\n children: React.ReactNode;\n}\n\nconst docLayout = css`\n display: flex;\n flex-direction: row;\n .docSearch-content {\n word-wrap: break-all;\n width: 100%;\n }\n\n // Hacks to disable Swagger UI's \"try it out\" interactive mode\n .try-out, .auth-wrapper, .information-container {\n display: none;\n }\n`;\n\nconst Theme = ({ children }: Props) => {\n const config = useConfig();\n return (\n <ThemeProvider theme={config}>\n <Layout>\n <SEO title=\"Documentation\" />\n <div css={docLayout}>\n <div className=\"docSearch-content\">\n {children}\n </div>\n <AnchorNavigator />\n </div>\n <div>\n <NextLinks />\n </div>\n </Layout>\n </ThemeProvider>\n );\n};\n\n// @ts-ignore\nexport default theme()(Theme);\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Helmet } from 'react-helmet-async'\n\nimport { useDbQuery } from '../hooks/useDbQuery'\n\nconst SEO = ({ description, lang, meta, keywords, title: initialTitle }) => {\n const db = useDbQuery()\n const title = initialTitle || db.config.title\n const metaDescription = description || db.config.description\n\n return (\n <Helmet\n title={title}\n titleTemplate={`%s | ${db.config.title}`}\n htmlAttributes={{ lang }}\n meta={[\n {\n name: `description`,\n content: metaDescription,\n },\n {\n property: `og:title`,\n content: title,\n },\n {\n property: `og:description`,\n content: metaDescription,\n },\n {\n property: `og:type`,\n content: `website`,\n },\n {\n name: `twitter:card`,\n content: `summary`,\n },\n {\n name: `twitter:title`,\n content: title,\n },\n {\n name: `twitter:description`,\n content: metaDescription,\n },\n ]\n .concat(\n keywords.length > 0\n ? {\n name: `keywords`,\n content: keywords.join(`, `),\n }\n : []\n )\n .concat(meta)}\n />\n )\n}\n\nSEO.defaultProps = {\n lang: `en`,\n meta: [],\n keywords: [],\n}\n\nSEO.propTypes = {\n description: PropTypes.string,\n lang: PropTypes.string,\n meta: PropTypes.array,\n keywords: PropTypes.arrayOf(PropTypes.string),\n title: PropTypes.string.isRequired,\n}\n\nexport default SEO\n","import React, { Fragment } from 'react'\nimport PropTypes from 'prop-types'\nimport { useComponents } from 'docz'\nimport { propEq, get } from 'lodash/fp'\nimport { MDXProvider } from '@mdx-js/react'\n\nimport { useDbQuery } from '../hooks/useDbQuery'\nimport Wrapper from '../wrapper'\nimport Theme from '../index'\nimport SEO from './Seo'\n\nconst Route = ({ children, entry, isTransclusion, ...defaultProps }) => {\n const components = useComponents()\n const NotFound = components.notFound\n const Layout = components.layout\n const props = { ...defaultProps, doc: entry }\n if (!entry && !isTransclusion) return <NotFound />\n return isTransclusion ? (\n children\n ) : (\n <MDXProvider components={components}>\n <Wrapper>\n <Layout {...props}>{children}</Layout>\n </Wrapper>\n </MDXProvider>\n )\n}\n\nconst findEntry = (db, ctx) => {\n const isIndex = ctx && ctx.frontmatter && ctx.frontmatter.route === '/'\n const eqIndex = propEq('value.route', '/')\n if (ctx && !ctx.entry && isIndex) return db.entries.find(eqIndex)\n const filepath = get('entry.filepath', ctx)\n return db.entries.find(propEq('value.filepath', filepath))\n}\n\nconst includesTransclusion = (db, props) => {\n const { entries } = db\n const filepath = get('_frontmatter.__filemeta.filename', props)\n return (\n !props.pageContext &&\n entries.includes(entries.find(propEq('value.filepath', filepath)))\n )\n}\n\nconst Layout = ({ children, ...defaultProps }) => {\n const { pageContext: ctx } = defaultProps\n const db = useDbQuery()\n const entry = findEntry(db, ctx)\n const isTransclusion = includesTransclusion(db, defaultProps)\n return (\n <Fragment>\n {entry && <SEO title={entry.value.name} />}\n <Theme db={db} currentEntry={entry}>\n <Route {...defaultProps} entry={entry} isTransclusion={isTransclusion}>\n {children}\n </Route>\n </Theme>\n </Fragment>\n )\n}\n\nLayout.propTypes = {\n color: PropTypes.string,\n children: PropTypes.node.isRequired,\n}\n\nexport default Layout\n","var convert = require('./convert'),\n func = convert('matchesProperty', require('../matchesProperty'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport toArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport ResizeObserver from 'resize-observer-polyfill';\nvar INTERNAL_PREFIX_KEY = 'rc-observer-key'; // Still need to be compatible with React 15, we use class component here\n\nvar ReactResizeObserver = /*#__PURE__*/function (_React$Component) {\n _inherits(ReactResizeObserver, _React$Component);\n\n var _super = _createSuper(ReactResizeObserver);\n\n function ReactResizeObserver() {\n var _this;\n\n _classCallCheck(this, ReactResizeObserver);\n\n _this = _super.apply(this, arguments);\n _this.resizeObserver = null;\n _this.childNode = null;\n _this.currentElement = null;\n _this.state = {\n width: 0,\n height: 0,\n offsetHeight: 0,\n offsetWidth: 0\n };\n\n _this.onResize = function (entries) {\n var onResize = _this.props.onResize;\n var target = entries[0].target;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n\n var offsetWidth = target.offsetWidth,\n offsetHeight = target.offsetHeight;\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n\n if (_this.state.width !== fixedWidth || _this.state.height !== fixedHeight || _this.state.offsetWidth !== offsetWidth || _this.state.offsetHeight !== offsetHeight) {\n var size = {\n width: fixedWidth,\n height: fixedHeight,\n offsetWidth: offsetWidth,\n offsetHeight: offsetHeight\n };\n\n _this.setState(size);\n\n if (onResize) {\n // defer the callback but not defer to next frame\n Promise.resolve().then(function () {\n onResize(_objectSpread(_objectSpread({}, size), {}, {\n offsetWidth: offsetWidth,\n offsetHeight: offsetHeight\n }));\n });\n }\n }\n };\n\n _this.setChildNode = function (node) {\n _this.childNode = node;\n };\n\n return _this;\n }\n\n _createClass(ReactResizeObserver, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.onComponentUpdated();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.onComponentUpdated();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.destroyObserver();\n }\n }, {\n key: \"onComponentUpdated\",\n value: function onComponentUpdated() {\n var disabled = this.props.disabled; // Unregister if disabled\n\n if (disabled) {\n this.destroyObserver();\n return;\n } // Unregister if element changed\n\n\n var element = findDOMNode(this.childNode || this);\n var elementChanged = element !== this.currentElement;\n\n if (elementChanged) {\n this.destroyObserver();\n this.currentElement = element;\n }\n\n if (!this.resizeObserver && element) {\n this.resizeObserver = new ResizeObserver(this.onResize);\n this.resizeObserver.observe(element);\n }\n }\n }, {\n key: \"destroyObserver\",\n value: function destroyObserver() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n var childNodes = toArray(children);\n\n if (childNodes.length > 1) {\n warning(false, 'Find more than one child node with `children` in ResizeObserver. Will only observe first one.');\n } else if (childNodes.length === 0) {\n warning(false, '`children` of ResizeObserver is empty. Nothing is in observe.');\n return null;\n }\n\n var childNode = childNodes[0];\n\n if (React.isValidElement(childNode) && supportRef(childNode)) {\n var ref = childNode.ref;\n childNodes[0] = React.cloneElement(childNode, {\n ref: composeRef(ref, this.setChildNode)\n });\n }\n\n return childNodes.length === 1 ? childNodes[0] : childNodes.map(function (node, index) {\n if (!React.isValidElement(node) || 'key' in node && node.key !== null) {\n return node;\n }\n\n return React.cloneElement(node, {\n key: \"\".concat(INTERNAL_PREFIX_KEY, \"-\").concat(index)\n });\n });\n }\n }]);\n\n return ReactResizeObserver;\n}(React.Component);\n\nReactResizeObserver.displayName = 'ResizeObserver';\nexport default ReactResizeObserver;","import ReactDOM from 'react-dom';\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\n\nexport default function findDOMNode(node) {\n if (node instanceof HTMLElement) {\n return node;\n }\n\n return ReactDOM.findDOMNode(node);\n}"],"sourceRoot":""}