{"version":3,"file":"static/js/1195.7203b3e7.chunk.js","mappings":"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","sources":["../../../node_modules/@babel/standalone|sync","components/Markdown/Code.tsx","webpack://website/./src/components/Footer/index.module.less?bf54","components/Footer/index.tsx","webpack://website/./src/components/Markdown/index.module.less?43b5","webpack://website/../../packages/markdown-navbar/esm/index.module.css?338e","../../../packages/markdown-navbar/src/index.tsx","components/Markdown/index.tsx","pages/quick-start/index.tsx"],"sourcesContent":["function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 61532;\nmodule.exports = webpackEmptyContext;","import React from 'react';\nimport CodePreview, { CodePreviewProps } from '@uiw/react-code-preview';\n\nexport interface CodeProps extends CodePreviewProps {\n code: string;\n codePen: boolean;\n dependencies: any;\n}\n\nexport default function Code({ dependencies, codePen, ...other }: CodeProps) {\n const props: CodePreviewProps = { ...other };\n if (codePen) {\n props.codeSandboxOption = {\n files: {\n 'sandbox.config.json': {\n content: `{\n \"template\": \"node\",\n \"container\": {\n \"startScript\": \"start\",\n \"node\": \"14\"\n }\n }`,\n },\n 'public/index.html': {\n content: `
`,\n },\n 'src/index.js': {\n content: props.code!.replace(\n '_mount_',\n 'document.getElementById(\"container\")',\n ),\n },\n '.kktrc.js': {\n content: `import webpack from \"webpack\";\\nimport lessModules from \"@kkt/less-modules\";\\nexport default (conf, env, options) => {\\nconf = lessModules(conf, env, options);\\nreturn conf;\\n};`,\n },\n 'package.json': {\n content: {\n name: 'react-baidu-map-demo',\n description: `百度地图 React 组件 - demo`,\n dependencies: {\n react: 'latest',\n 'react-dom': 'latest',\n '@uiw/react-baidu-map': 'latest',\n },\n devDependencies: {\n '@kkt/less-modules': '7.1.1',\n kkt: '7.1.5',\n typescript: '4.3.5',\n },\n license: 'MIT',\n scripts: {\n start: 'kkt start',\n build: 'kkt build',\n test: 'kkt test --env=jsdom',\n },\n browserslist: [\n '>0.2%',\n 'not dead',\n 'not ie <= 11',\n 'not op_mini all',\n ],\n },\n },\n },\n };\n }\n return (\n \n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"footer\":\"index_footer__Fp4ea\"};","import styles from './index.module.less';\n\ntype FooterProps = {\n editorUrl?: string;\n};\n\nconst Footer = (props: FooterProps) => {\n const { editorUrl } = props || {};\n return (\n
\n {editorUrl && (\n \n 编辑当前页面\n \n )}\n \n 提交 Bug\n \n \n GitHub\n \n \n kkt\n \n \n uiwjs\n \n
\n );\n};\n\nexport default Footer;\n","// extracted by mini-css-extract-plugin\nexport default {\"markdown\":\"index_markdown__hcQCp\"};","// extracted by mini-css-extract-plugin\nexport default {\"navbox\":\"esm_navbox__Zvl4q\",\"active\":\"esm_active__jkS6S\"};","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport styles from './index.module.css';\nimport { throttle } from 'lodash-es';\n\ninterface NavBarProps {\n // markdown文件\n markdown: string;\n // markdown页面距离顶部边距\n headingTopOffset?: number;\n // 路由加载形式 哈希或者 h5\n routerType: 'hash' | 'bower';\n}\n\ninterface NavDataItem {\n index: number;\n level: number;\n text: string;\n listNo: number;\n}\n\ninterface matchStackItem {\n arr: number[];\n level: number;\n}\n\ninterface ListItem {\n dataId: string;\n offsetTop: number;\n listNo: number;\n}\n\nconst trimArrZero = (arr: any) => {\n let start, end;\n for (start = 0; start < arr.length; start++) {\n if (arr[start]) {\n break;\n }\n }\n for (end = arr.length - 1; end >= 0; end--) {\n if (arr[end]) {\n break;\n }\n }\n return arr.slice(start, end + 1);\n};\n\nconst NavBar: React.FC = (props) => {\n const { markdown, headingTopOffset = 100, routerType = 'bower' } = props;\n\n const [currentListNo, setCurrentListNo] = useState(0);\n\n const timer = useRef(null);\n\n const navData = useMemo(() => {\n const contentWithoutCode = markdown\n .replace(/^[^#]+\\n/g, '')\n .replace(/(?:[^\\n#]+)#+\\s([^#\\n]+)\\n*/g, '') // 匹配行内出现 # 号的情况\n .replace(/^#\\s[^#\\n]*\\n+/, '')\n .replace(/```[^`\\n]*\\n+[^```]+```\\n+/g, '')\n .replace(/`([^`\\n]+)`/g, '$1')\n .replace(/\\*\\*?([^*\\n]+)\\*\\*?/g, '$1')\n .replace(/__?([^_\\n]+)__?/g, '$1')\n .trim();\n const pattOfTitle = /#+\\s([^#\\n]+)\\n*/g;\n const matchResult = contentWithoutCode.match(pattOfTitle);\n\n if (!matchResult) {\n return [];\n }\n\n const data: Array = matchResult.map((r: string, i) => ({\n index: i,\n level: r.match(/^#+/g)![0].length,\n text: r.replace(pattOfTitle, '$1'),\n listNo: 0,\n }));\n // level最大\n let maxLevel = 0;\n data.forEach((t) => {\n if (t.level > maxLevel) {\n maxLevel = t.level;\n }\n });\n\n let matchStack: Array = [];\n\n for (let i = 0; i < data.length; i++) {\n const t = data[i];\n const { level } = t;\n while (\n matchStack.length &&\n matchStack[matchStack.length - 1].level > level\n ) {\n matchStack.pop();\n }\n if (matchStack.length === 0) {\n const arr = new Array(maxLevel).fill(0);\n arr[level - 1] += 1;\n matchStack.push({\n level,\n arr,\n });\n t.listNo = trimArrZero(arr).join('.');\n continue;\n }\n const { arr } = matchStack[matchStack.length - 1];\n const newArr = arr.slice();\n newArr[level - 1] += 1;\n matchStack.push({\n level,\n arr: newArr,\n });\n t.listNo = trimArrZero(newArr).join('.');\n }\n return data;\n }, [markdown]);\n\n const refreshNav = () => {\n if (timer.current) {\n clearTimeout(timer.current);\n }\n timer.current = setTimeout(() => {\n initNav();\n\n document.addEventListener('scroll', winScroll, false);\n }, 500);\n };\n\n useEffect(() => {\n if (navData) {\n refreshNav();\n }\n }, [navData]);\n\n const getHeadingList = useCallback(() => {\n const list: Array = [];\n if (navData) {\n navData.forEach((nav) => {\n const headings = [...document.querySelectorAll(`h${nav.level}`)];\n const curHeading = headings.find(\n (head) => (head as HTMLElement).innerText.trim() === nav.text.trim(),\n );\n if (curHeading) {\n list.push({\n dataId: nav.text,\n offsetTop: (curHeading as HTMLElement).offsetTop,\n listNo: nav.listNo,\n });\n }\n });\n }\n return list;\n }, [navData]);\n\n const safeScrollTo = (\n element: any,\n top: number,\n left = 0,\n // smooth: boolean,\n ) => {\n if (!element) return;\n if (typeof element.scrollTo === 'function') {\n const scrollConfig = {\n top,\n left,\n };\n element.scrollTo(scrollConfig);\n } else {\n if (element === window) {\n document.documentElement.scrollTop = top;\n document.documentElement.scrollLeft = left;\n } else {\n element.scrollTop = top;\n element.scrollLeft = left;\n }\n }\n };\n\n const scrollToTarget = (dataId: string) => {\n const target = document.querySelector(`#${dataId}`) as HTMLElement;\n if (target && typeof target.offsetTop === 'number') {\n safeScrollTo(window, target.offsetTop - headingTopOffset, 0);\n }\n };\n\n const updateHash = (dataId: string) => {\n let navHref = window.location.href;\n let href = '';\n if (routerType === 'bower') {\n href = `${window.location.pathname}${window.location.search}#${dataId}`;\n } else {\n if (navHref.includes('?title=')) {\n const idx = navHref.indexOf('?title=');\n const pureHash = navHref.slice(0, idx);\n href = `${pureHash}?title=${dataId}`;\n } else {\n href = `${navHref}?title=${dataId}`;\n }\n }\n window.history.replaceState({}, '', href);\n };\n\n const winScroll = throttle(() => {\n const scrollTop =\n window.pageYOffset ||\n document.documentElement.scrollTop ||\n document.body.scrollTop ||\n 0;\n const newHeadingList = getHeadingList().map((h) => ({\n ...h,\n distanceToTop: Math.abs(scrollTop + headingTopOffset - h.offsetTop),\n }));\n\n const distanceList = newHeadingList.map((h) => h.distanceToTop);\n\n const minDistance = Math.min(...distanceList);\n const curHeading = newHeadingList.find(\n (h) => h.distanceToTop === minDistance,\n );\n if (!curHeading) return;\n\n updateHash(curHeading.dataId.toLowerCase().replace(' ', '-'));\n setCurrentListNo(curHeading.listNo);\n }, 200);\n\n const initNav = () => {\n if (window.location.hash) {\n if (routerType === 'bower') {\n scrollToTarget(window.location.hash.replace('#', ''));\n } else {\n const idx = window.location.href.indexOf('?title=');\n if (idx > -1) {\n const title = window.location.href.slice(idx + 7);\n scrollToTarget(title);\n }\n }\n }\n };\n\n return (\n
\n {navData &&\n navData.map((nav, idx) => (\n {\n const currentHash = nav.text.toLowerCase().replace(' ', '-');\n scrollToTarget(currentHash);\n updateHash(currentHash);\n setCurrentListNo(nav.listNo);\n }}\n >\n {nav.listNo} {nav.text}\n
\n ))}\n \n );\n};\n\nexport default NavBar;\n","import { Component } from 'react';\nimport MarkdownPreview from '@uiw/react-markdown-preview';\nimport { Row, Col } from 'uiw';\nimport Code from './Code';\nimport Footer from '../Footer';\nimport styles from './index.module.less';\nimport NavBar from '@uiw-admin/markdown-navbar';\n\ninterface MarkdownProps {}\ninterface MarkdownState {\n mdStr: string;\n}\n\nconst getCodeStr = (data: any[] = [], code: string = '') => {\n data.forEach((node) => {\n if (node.type === 'text') {\n code += node.value;\n } else if (node.children && Array.isArray(node.children)) {\n code += getCodeStr(node.children);\n }\n });\n return code;\n};\n\n/**\n * 代码注释参数\n *\n * ```md\n * \n * ```\n * 参数用英文逗号隔开\n *\n * - `bgWhite` 设置代码预览背景白色,否则为格子背景。\n * - `noCode` 不显示代码编辑器。\n * - `noPreview` 不显示代码预览效果。\n * - `noScroll` 预览区域不显示滚动条。\n * - `codePen` 显示 Codepen 按钮,要特别注意 `包导入的问题`,实例中的 `import` 主要用于 Codepen 使用。\n */\nexport interface OptionsMarkdown {\n bgWhite?: boolean;\n noCode?: boolean;\n noPreview?: boolean;\n noScroll?: boolean;\n codePen?: boolean;\n}\n\nexport default class Markdown extends Component {\n constructor(props: MarkdownProps) {\n super(props);\n this.state = {\n mdStr: '',\n };\n }\n editorUrl?: string;\n getMdStr?: any;\n dependencies?: any;\n componentDidMount() {\n if (this.getMdStr) {\n this.getMdStr().then((str: any) => {\n this.setState({\n mdStr: str.default || str,\n });\n });\n }\n }\n render() {\n return (\n <>\n \n \n {\n const {\n noPreview,\n noScroll,\n bgWhite,\n noCode,\n codePen,\n codeSandboxOption,\n } = props as any;\n if (inline) {\n return ;\n }\n const config = {\n noPreview,\n noScroll,\n bgWhite,\n noCode,\n codePen,\n codeSandboxOption,\n } as any;\n if (\n Object.keys(config).filter(\n (name) => config[name] !== undefined,\n ).length === 0\n ) {\n return ;\n }\n return (\n \n );\n },\n }}\n />\n \n \n \n \n \n